The basic template of all plugin handlers. More...
#include <mia/core/handler.hh>
Public Types | |
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 | |
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 | |
void | add_plugin_internal (PInterface plugin) |
void | initialise (const CPluginSearchpath &searchpath) |
TPluginHandler< I >::Interface * | plugin (const char *plugin) const |
Constructors | |
TPluginHandler () | |
Initializes the plugin handler based on the build-in search path. More... | |
The basic template of all plugin handlers.
The template TPluginHandler provides the base interface to all plug-in handlers.
I | the plugin interface derived from |
Definition at line 56 of file handler.hh.
typedef CPluginMap::const_iterator TPluginHandler< I >::const_iterator |
the iterator to walk over the available plug-ins
Definition at line 67 of file handler.hh.
typedef std::map<std::string, PInterface> TPluginHandler< I >::CPluginMap |
a map containing the names and the available plug-ins
Definition at line 64 of file handler.hh.
typedef I TPluginHandler< I >::Interface |
typedef for the plug-in interface provided by the class
Definition at line 59 of file handler.hh.
typedef std::shared_ptr<I> TPluginHandler< I >::PInterface |
Definition at line 61 of file handler.hh.
|
virtual |
The destructor frees the modules and plug-ins
|
protected |
Initializes the plugin handler based on the build-in search path.
bool TPluginHandler< I >::add_plugin | ( | PInterface | plugin | ) |
Add a given plug-in to the handler.
plugin |
|
protected |
Add a given plug-in to the handler. The pointer must not be freed in client code.
plugin |
const_iterator TPluginHandler< I >::begin | ( | ) | const |
const_iterator TPluginHandler< I >::end | ( | ) | const |
const std::string TPluginHandler< I >::get_plugin_names | ( | ) | const |
Referenced by create_plugin< Handler, ProductChained, true >::apply().
const std::set<std::string> TPluginHandler< I >::get_set | ( | ) | const |
|
protected |
|
protected |
find a plugin by name. If the plug-in is not available, the method throws an invalid_argument exception.
plugin | name of the plugin |
Referenced by TFactoryPluginHandler< I >::produce_unique().
size_t TPluginHandler< I >::size | ( | ) | const |