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.