|
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 |
1.8.1.2