the Base class for all plugn handlers that deal with factory plugins. More...
#include <mia/core/factory.hh>
Public Types | |
typedef I::Product | Product |
The type of the the object this plug in hander produces. More... | |
typedef I::SharedProduct | ProductPtr |
The shared pointer type of the the object this plug in hander produces. More... | |
typedef I::UniqueProduct | UniqueProduct |
The unique pointer type of the the object this plug in hander produces. More... | |
Public Types inherited from TPluginHandler< I > | |
typedef CPluginMap::const_iterator | const_iterator |
the iterator to walk over the available plug-ins More... | |
typedef std::map< std::string, PInterface > | CPluginMap |
a map containing the names and the available plug-ins More... | |
typedef I | Interface |
typedef for the plug-in interface provided by the class More... | |
typedef std::shared_ptr< I > | PInterface |
Public Member Functions | |
ProductPtr | produce (const std::string &plugindescr) const |
ProductPtr | produce (const char *plugindescr) const |
UniqueProduct | produce_unique (const std::string &plugindescr) const |
UniqueProduct | produce_unique (const char *plugindescr) const |
void | set_caching (bool enable) const |
Public Member Functions inherited from TPluginHandler< I > | |
bool | add_plugin (PInterface plugin) |
const_iterator | begin () const |
const_iterator | end () const |
const std::string | get_plugin_names () const |
const std::set< std::string > | get_set () const |
size_t | size () const |
virtual | ~TPluginHandler () |
Public Member Functions inherited from CPluginHandlerBase | |
void | add_dependend_handlers (HandlerHelpMap &handler_map) const |
CPluginHandlerBase (const char *data_descr, const char *type_descr) | |
CPluginHandlerBase (const CPluginHandlerBase &other)=delete | |
const std::string & | get_descriptor () const |
std::string | get_handler_type_string () const |
void | get_string_help_description_xml (std::ostream &os, CXMLElement &root) const |
void | get_xml_help (CXMLElement &root) const |
CPluginHandlerBase & | operator= (const CPluginHandlerBase &other)=delete |
void | print_help (std::ostream &os) const |
void | print_short_help (std::ostream &os) const |
bool | validate_parameter_string (const std::string &s) const |
virtual | ~CPluginHandlerBase () |
Protected Member Functions | |
Constructors | |
TFactoryPluginHandler () | |
Initializes the plugin handler. More... | |
Protected Member Functions inherited from TPluginHandler< I > | |
void | add_plugin_internal (PInterface plugin) |
void | initialise (const CPluginSearchpath &searchpath) |
TPluginHandler< I >::Interface * | plugin (const char *plugin) const |
TPluginHandler () | |
Initializes the plugin handler based on the build-in search path. More... | |
Friends | |
template<typename Handler , typename Chained , bool chainable> | |
struct | create_plugin |
the Base class for all plugn handlers that deal with factory plugins.
Base class for all plugin handlers that are derived from TFactory.
Definition at line 93 of file factory.hh.
typedef I::Product TFactoryPluginHandler< I >::Product |
The type of the the object this plug in hander produces.
Definition at line 105 of file factory.hh.
typedef I::SharedProduct TFactoryPluginHandler< I >::ProductPtr |
The shared pointer type of the the object this plug in hander produces.
Definition at line 108 of file factory.hh.
typedef I::UniqueProduct TFactoryPluginHandler< I >::UniqueProduct |
The unique pointer type of the the object this plug in hander produces.
Definition at line 111 of file factory.hh.
|
protected |
Initializes the plugin handler.
Definition at line 203 of file factory.hh.
References TFactoryPluginHandler< I >::set_caching().
TFactoryPluginHandler< I >::ProductPtr TFactoryPluginHandler< I >::produce | ( | const std::string & | plugindescr | ) | const |
Create an object according to the given description. If creation fails, the function will throw an invalid_argument exception
plugindescr | the description of the plug-in |
Definition at line 218 of file factory.hh.
References cvdebug().
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 122 of file factory.hh.
TFactoryPluginHandler< I >::UniqueProduct TFactoryPluginHandler< I >::produce_unique | ( | const std::string & | plugindescr | ) | const |
Create an object according to the given description. If creation fails, the function will throw an invalid_argument exception
plugindescr | the description of the plug-in |
Definition at line 231 of file factory.hh.
References cvdebug(), CPluginHandlerBase::get_descriptor(), and TPluginHandler< I >::plugin().
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 136 of file factory.hh.
void TFactoryPluginHandler< I >::set_caching | ( | bool | enable | ) | const |
Sets whether the created shared pointer products should be cached. Unique products will never be cached.
enable |
Definition at line 210 of file factory.hh.
References cvdebug(), and CPluginHandlerBase::get_descriptor().
Referenced by TFactoryPluginHandler< I >::TFactoryPluginHandler().
|
friend |
Definition at line 160 of file factory.hh.