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 |