4 #ifndef DMLITE_CPP_DMLITE_H
5 #define DMLITE_CPP_DMLITE_H
10 #include <boost/any.hpp>
173 void set(
const std::string& key,
const boost::any& value)
throw (
DmException);
178 boost::any
get(
const std::string& key)
const throw (
DmException);
189 bool contains(
const std::string& key)
throw ();
252 #define PLUGIN_ID_HEADER dmlite::API_VERSION
256 #endif // DMLITE_CPP_DMLITE_H
Authn * authn_
Definition: dmlite.h:227
Logger::bitmask stackinstancelogmask
void registerINodeFactory(INodeFactory *factory)
void eraseAll(void)
Erase all the values set previously.
Plug-ins must implement a concrete factory to be instantiated.
Definition: poolmanager.h:76
Plug-ins must implement a concrete factory to be instantiated.
Definition: catalog.h:216
std::list< IODriverFactory * > io_plugins_
Definition: dmlite.h:139
Catalog * catalog_
Definition: dmlite.h:229
const unsigned API_VERSION
API Version.
Definition: dmlite.h:20
const SecurityContext * getSecurityContext(void) const
Return the security context.
void setSecurityContext(const SecurityContext &ctx)
Set the security context.
Security context. To be created by the Authn.
Definition: authn.h:64
CatalogFactory * getCatalogFactory()
Get the CatalogFactory implementation on top of the plugin stack.
INode * inode_
Definition: dmlite.h:228
Header generated by CMake with the build configuration used.
PoolManagerFactory * getPoolManagerFactory()
Get the PoolFactory implementation on top of the plugin stack.
Base exception class.
Definition: exceptions.h:17
void registerAuthnFactory(AuthnFactory *factory)
PluginManager * getPluginManager()
Get the plugin manager.
void registerConfigureFactory(BaseFactory *factory)
PoolManager * getPoolManager()
Get the PoolManager.
~PluginManager()
Destructor.
CatalogInterface can only be instantiated through this class.
Definition: dmlite.h:42
Interface for pool types.
Definition: poolmanager.h:33
Interface for Catalog (Namespaces).
Definition: catalog.h:29
PluginManager * pluginManager_
Definition: dmlite.h:225
StackInstance(PluginManager *pm)
Constructor.
void set(const std::string &key, const boost::any &value)
std::list< AuthnFactory * > authn_plugins_
Internal list of loaded plug-ins.
Definition: dmlite.h:135
void setSecurityCredentials(const SecurityCredentials &cred)
Set the security credentials.
PoolDriver * getPoolDriver(const std::string &poolType)
Get a pool driver.
void configure(const std::string &key, const std::string &value)
unsigned long long bitmask
typedef for a bitmask (long long)
Definition: logger.h:38
IODriver * ioDriver_
Definition: dmlite.h:231
AuthnFactory.
Definition: authn.h:177
bool isTherePoolManager()
void loadPlugin(const std::string &lib, const std::string &id)
INodeFactory.
Definition: inode.h:282
IODriverFactory * getIODriverFactory()
Get the IOFactory implementation on top of the plugin stack.
void loadConfiguration(const std::string &file)
Exceptions used by the API.
unsigned const ApiVersion
Used to make sure API is consistent.
Definition: dmlite.h:245
std::map< std::string, PoolDriver * > poolDrivers_
Definition: dmlite.h:235
Plug-ins must implement a concrete factory to be instantiated.
Definition: io.h:153
std::string component
typedef for a component name (std:string)
Definition: logger.h:40
Authn * getAuthn()
Get the UsersDb interface.
std::list< void * > dlHandles_
Keep pointers returned by dlopen at hand to free on destruction.
Definition: dmlite.h:144
PoolDriverFactory * getPoolDriverFactory(const std::string &pooltype)
Get the appropiate pool driver factory for the pool.
Base class for factories.
Definition: base.h:48
PoolDriver factory.
Definition: pooldriver.h:117
INode * getINode()
Get the INode.
SecurityContext * secCtx_
Definition: dmlite.h:233
void registerPoolDriverFactory(PoolDriverFactory *factory)
INodeFactory * getINodeFactory()
std::list< INodeFactory * > inode_plugins_
Definition: dmlite.h:136
Catalog * getCatalog()
Get the catalog.
std::list< PoolDriverFactory * > pool_driver_plugins_
Definition: dmlite.h:140
PoolManager * poolManager_
Definition: dmlite.h:230
std::list< BaseFactory * > configure_factory_
Definition: dmlite.h:141
std::string getConfiguration(const std::string &key)
Joint between plugins and plugin-manager.
Definition: dmlite.h:243
void registerCatalogFactory(CatalogFactory *factory)
PluginManager()
Constructor.
std::list< CatalogFactory * > catalog_plugins_
Definition: dmlite.h:137
void(* registerPlugin)(PluginManager *pm)
Let the plug-in register itself and its concrete factories.
Definition: dmlite.h:247
std::map< std::string, std::string > confValues_
Configuration key/value.
Definition: dmlite.h:132
Security credentials. To be filled by the front-end.
Definition: authn.h:22
AuthnFactory * getAuthnFactory()
Get the AuthnFactory implementation on top of the plugin stack.
IO Driver.
Definition: io.h:111
Interface for a pool driver.
Definition: pooldriver.h:92
Logger::component stackinstancelogname
std::list< PoolManagerFactory * > pool_plugins_
Definition: dmlite.h:138
IODriver * getIODriver()
Get the IO driver.
void setSecurityContextImpl_(void)
~StackInstance()
Destructor.
void erase(const std::string &key)
void registerIODriverFactory(IODriverFactory *factory)
bool contains(const std::string &key)
std::map< std::string, boost::any > stackMsg_
Definition: dmlite.h:237
void registerPoolManagerFactory(PoolManagerFactory *factory)