dmlite
0.4
|
CatalogInterface can only be instantiated through this class. More...
#include <dmlite.h>
Public Member Functions | |
PluginManager () throw () | |
Constructor. | |
~PluginManager () | |
Destructor. | |
void | loadPlugin (const std::string &lib, const std::string &id) throw (DmException) |
void | configure (const std::string &key, const std::string &value) throw (DmException) |
void | loadConfiguration (const std::string &file) throw (DmException) |
void | registerAuthnFactory (AuthnFactory *factory) throw (DmException) |
void | registerINodeFactory (INodeFactory *factory) throw (DmException) |
void | registerCatalogFactory (CatalogFactory *factory) throw (DmException) |
void | registerPoolManagerFactory (PoolManagerFactory *factory) throw (DmException) |
void | registerIOFactory (IOFactory *factory) throw (DmException) |
void | registerPoolDriverFactory (PoolDriverFactory *factory) throw (DmException) |
AuthnFactory * | getAuthnFactory () throw (DmException) |
Get the AuthnFactory implementation on top of the plugin stack. | |
INodeFactory * | getINodeFactory () throw (DmException) |
CatalogFactory * | getCatalogFactory () throw (DmException) |
Get the CatalogFactory implementation on top of the plugin stack. | |
PoolManagerFactory * | getPoolManagerFactory () throw (DmException) |
Get the PoolFactory implementation on top of the plugin stack. | |
PoolDriverFactory * | getPoolDriverFactory (const std::string &pooltype) throw (DmException) |
Get the appropiate pool driver factory for the pool. | |
IOFactory * | getIOFactory () throw (DmException) |
Get the IOFactory implementation on top of the plugin stack. |
Private Member Functions | |
PluginManager (const PluginManager &) | |
Can not be copied. |
Private Attributes | |
std::list< AuthnFactory * > | authn_plugins_ |
Internal list of loaded plug-ins. | |
std::list< INodeFactory * > | inode_plugins_ |
std::list< CatalogFactory * > | catalog_plugins_ |
std::list< PoolManagerFactory * > | pool_plugins_ |
std::list< IOFactory * > | io_plugins_ |
std::list< PoolDriverFactory * > | pool_driver_plugins_ |
std::list< void * > | dlHandles_ |
Keep pointers returned by dlopen at hand to free on destruction. |
CatalogInterface can only be instantiated through this class.
PluginManager::PluginManager | ( | ) | throw () |
Constructor.
PluginManager::~PluginManager | ( | ) |
Destructor.
|
private |
Can not be copied.
void PluginManager::configure | ( | const std::string & | key, |
const std::string & | value | ||
) | throw (DmException) |
Set a configuration parameter. It will be passed to the loaded plugins.
key | The configuration parameter. |
value | The value for the configuration parameter. |
AuthnFactory * PluginManager::getAuthnFactory | ( | ) | throw (DmException) |
Get the AuthnFactory implementation on top of the plugin stack.
CatalogFactory * PluginManager::getCatalogFactory | ( | ) | throw (DmException) |
Get the CatalogFactory implementation on top of the plugin stack.
INodeFactory * PluginManager::getINodeFactory | ( | ) | throw (DmException) |
IOFactory * PluginManager::getIOFactory | ( | ) | throw (DmException) |
Get the IOFactory implementation on top of the plugin stack.
PoolDriverFactory * PluginManager::getPoolDriverFactory | ( | const std::string & | pooltype | ) | throw (DmException) |
Get the appropiate pool driver factory for the pool.
PoolManagerFactory * PluginManager::getPoolManagerFactory | ( | ) | throw (DmException) |
Get the PoolFactory implementation on top of the plugin stack.
void PluginManager::loadConfiguration | ( | const std::string & | file | ) | throw (DmException) |
Load a configuration file, with plugins and parameters.
file | The configuration file. |
void PluginManager::loadPlugin | ( | const std::string & | lib, |
const std::string & | id | ||
) | throw (DmException) |
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 PluginManager::registerAuthnFactory | ( | AuthnFactory * | factory | ) | throw (DmException) |
Register a Authn factory. To be used by concrete implementations
factory | The UserDbGroup concrete factory. |
void PluginManager::registerCatalogFactory | ( | CatalogFactory * | factory | ) | throw (DmException) |
Register a catalog factory. To be used by concrete implementations (i.e. Plugins)
factory | The catalog concrete factory. |
void PluginManager::registerINodeFactory | ( | INodeFactory * | factory | ) | throw (DmException) |
void PluginManager::registerIOFactory | ( | IOFactory * | factory | ) | throw (DmException) |
Register a IO factory.
factory | The IO concrete factory. |
void PluginManager::registerPoolDriverFactory | ( | PoolDriverFactory * | factory | ) | throw (DmException) |
Register a PoolDriver factory.
factory | The PoolDriver factory. |
void PluginManager::registerPoolManagerFactory | ( | PoolManagerFactory * | factory | ) | throw (DmException) |
Register a pool factory.
factory | The pool concrete factory. |
|
private |
Internal list of loaded plug-ins.
|
private |
|
private |
Keep pointers returned by dlopen at hand to free on destruction.
|
private |
|
private |
|
private |
|
private |