|
dmlite
0.6
|
CatalogInterface can only be instantiated through this class. More...
#include <dmlite.h>
Public Member Functions | |
| PluginManager () throw () | |
| Constructor. More... | |
| ~PluginManager () | |
| Destructor. More... | |
| void | loadPlugin (const std::string &lib, const std::string &id) |
| void | configure (const std::string &key, const std::string &value) |
| void | loadConfiguration (const std::string &file) |
| std::string | getConfiguration (const std::string &key) |
| void | registerAuthnFactory (AuthnFactory *factory) |
| void | registerINodeFactory (INodeFactory *factory) |
| void | registerCatalogFactory (CatalogFactory *factory) |
| void | registerPoolManagerFactory (PoolManagerFactory *factory) |
| void | registerIODriverFactory (IODriverFactory *factory) |
| void | registerPoolDriverFactory (PoolDriverFactory *factory) |
| void | registerConfigureFactory (BaseFactory *factory) |
| AuthnFactory * | getAuthnFactory () |
| Get the AuthnFactory implementation on top of the plugin stack. More... | |
| INodeFactory * | getINodeFactory () |
| CatalogFactory * | getCatalogFactory () |
| Get the CatalogFactory implementation on top of the plugin stack. More... | |
| PoolManagerFactory * | getPoolManagerFactory () |
| Get the PoolFactory implementation on top of the plugin stack. More... | |
| PoolDriverFactory * | getPoolDriverFactory (const std::string &pooltype) |
| Get the appropiate pool driver factory for the pool. More... | |
| IODriverFactory * | getIODriverFactory () |
| Get the IOFactory implementation on top of the plugin stack. More... | |
Private Member Functions | |
| PluginManager (const PluginManager &) | |
| Can not be copied. More... | |
Private Attributes | |
| std::map< std::string, std::string > | confValues_ |
| Configuration key/value. More... | |
| std::list< AuthnFactory * > | authn_plugins_ |
| Internal list of loaded plug-ins. More... | |
| std::list< INodeFactory * > | inode_plugins_ |
| std::list< CatalogFactory * > | catalog_plugins_ |
| std::list< PoolManagerFactory * > | pool_plugins_ |
| std::list< IODriverFactory * > | io_plugins_ |
| std::list< PoolDriverFactory * > | pool_driver_plugins_ |
| std::list< BaseFactory * > | configure_factory_ |
| std::list< void * > | dlHandles_ |
| Keep pointers returned by dlopen at hand to free on destruction. More... | |
CatalogInterface can only be instantiated through this class.
| dmlite::PluginManager::PluginManager | ( | ) | ||
| throw | ( | |||
| ) | ||||
Constructor.
| dmlite::PluginManager::~PluginManager | ( | ) |
Destructor.
|
private |
Can not be copied.
| void dmlite::PluginManager::configure | ( | const std::string & | key, |
| const std::string & | value | ||
| ) |
Set a configuration parameter. It will be passed to the loaded plugins.
| key | The configuration parameter. |
| value | The value for the configuration parameter. |
| AuthnFactory* dmlite::PluginManager::getAuthnFactory | ( | ) |
Get the AuthnFactory implementation on top of the plugin stack.
| CatalogFactory* dmlite::PluginManager::getCatalogFactory | ( | ) |
Get the CatalogFactory implementation on top of the plugin stack.
| std::string dmlite::PluginManager::getConfiguration | ( | const std::string & | key | ) |
Return an entry from the loaded configuration.
| key | The configuration parameter. |
| INodeFactory* dmlite::PluginManager::getINodeFactory | ( | ) |
| IODriverFactory* dmlite::PluginManager::getIODriverFactory | ( | ) |
Get the IOFactory implementation on top of the plugin stack.
| PoolDriverFactory* dmlite::PluginManager::getPoolDriverFactory | ( | const std::string & | pooltype | ) |
Get the appropiate pool driver factory for the pool.
| PoolManagerFactory* dmlite::PluginManager::getPoolManagerFactory | ( | ) |
Get the PoolFactory implementation on top of the plugin stack.
| void dmlite::PluginManager::loadConfiguration | ( | const std::string & | file | ) |
Load a configuration file, with plugins and parameters.
| file | The configuration file. |
| void dmlite::PluginManager::loadPlugin | ( | const std::string & | lib, |
| const std::string & | id | ||
| ) |
Load a plugin. Previously instantiated interfaces won't be affected.
| lib | The .so file. Usually, (path)/plugin_name.so. |
| id | The plugin ID. Usually, plugin_name. |
| void dmlite::PluginManager::registerAuthnFactory | ( | AuthnFactory * | factory | ) |
Register a Authn factory. To be used by concrete implementations
| factory | The UserDbGroup concrete factory. |
| void dmlite::PluginManager::registerCatalogFactory | ( | CatalogFactory * | factory | ) |
Register a catalog factory. To be used by concrete implementations (i.e. Plugins)
| factory | The catalog concrete factory. |
| void dmlite::PluginManager::registerConfigureFactory | ( | BaseFactory * | factory | ) |
Register a bare BaseFactory. Only the configure method will be called.
| factory | The BaseFactory. |
| void dmlite::PluginManager::registerINodeFactory | ( | INodeFactory * | factory | ) |
| void dmlite::PluginManager::registerIODriverFactory | ( | IODriverFactory * | factory | ) |
Register a IODriver factory.
| factory | The IO concrete factory. |
| void dmlite::PluginManager::registerPoolDriverFactory | ( | PoolDriverFactory * | factory | ) |
Register a PoolDriver factory.
| factory | The PoolDriver factory. |
| void dmlite::PluginManager::registerPoolManagerFactory | ( | PoolManagerFactory * | factory | ) |
Register a pool factory.
| factory | The pool concrete factory. |
|
private |
Internal list of loaded plug-ins.
|
private |
|
private |
|
private |
Configuration key/value.
|
private |
Keep pointers returned by dlopen at hand to free on destruction.
|
private |
|
private |
|
private |
|
private |
1.8.15