Image Component Library (ICL)
|
Utility class for plugin registration. More...
#include <PluginRegister.h>
Classes | |
struct | Plugin |
internally used instance type: More... | |
Public Types | |
typedef std::map< std::string, std::string > | Data |
data used for instance creation | |
typedef utils::Function< T *, const Data & > | CreateFunction |
creator function for instances | |
Public Member Functions | |
void | add (const std::string &name, CreateFunction create, const std::string &description, const std::string &creationSyntax) |
adds a new plugin | |
T * | createInstance (const std::string &name, const Data &data) throw (utils::ICLException) |
creates an instance (or throws | |
std::string | getRegisteredInstanceDescription () |
returns a string representation of all registered types | |
const std::map< std::string, Plugin > & | getRegisteredPlugins () const |
returns a all registered plugins | |
Static Public Member Functions | |
static PluginRegister< T > & | instance () |
returns the static instance for the specific type | |
Private Member Functions | |
PluginRegister () | |
private constructor (use singelton creator function instance()) | |
Private Attributes | |
std::map< std::string, Plugin > | plugins |
internal plugin list |
Utility class for plugin registration.
typedef utils::Function<T*,const Data&> icl::utils::PluginRegister< T >::CreateFunction |
creator function for instances
typedef std::map<std::string,std::string> icl::utils::PluginRegister< T >::Data |
data used for instance creation
icl::utils::PluginRegister< T >::PluginRegister | ( | ) | [inline, private] |
private constructor (use singelton creator function instance())
void icl::utils::PluginRegister< T >::add | ( | const std::string & | name, |
CreateFunction | create, | ||
const std::string & | description, | ||
const std::string & | creationSyntax | ||
) | [inline] |
adds a new plugin
T* icl::utils::PluginRegister< T >::createInstance | ( | const std::string & | name, |
const Data & | data | ||
) | throw (utils::ICLException) [inline] |
creates an instance (or throws
std::string icl::utils::PluginRegister< T >::getRegisteredInstanceDescription | ( | ) | [inline] |
returns a string representation of all registered types
const std::map<std::string,Plugin>& icl::utils::PluginRegister< T >::getRegisteredPlugins | ( | ) | const [inline] |
returns a all registered plugins
static PluginRegister<T>& icl::utils::PluginRegister< T >::instance | ( | ) | [inline, static] |
returns the static instance for the specific type
std::map<std::string,Plugin> icl::utils::PluginRegister< T >::plugins [private] |
internal plugin list