4 #ifndef DMLITE_CPP_DMLITE_H 5 #define DMLITE_CPP_DMLITE_H 7 #include "dmlite/common/config.h" 10 #include <boost/any.hpp> 54 const std::string&
id) ;
60 const std::string& value) ;
173 void set(
const std::string& key,
const boost::any& value) ;
178 boost::any
get(
const std::string& key)
const ;
182 void erase(
const std::string& key) ;
189 bool contains(
const std::string& key)
throw ();
254 #define PLUGIN_ID_HEADER dmlite::API_VERSION 258 #endif // DMLITE_CPP_DMLITE_H Authn * authn_
Definition: dmlite.h:227
Logger::bitmask stackinstancelogmask
Security context. To be created by the Authn.
Definition: authn.h:73
void registerINodeFactory(INodeFactory *factory)
void eraseAll(void)
Erase all the values set previously.
Joint between plugins and plugin-manager.
Definition: dmlite.h:243
Plug-ins must implement a concrete factory to be instantiated.
Definition: poolmanager.h:109
Plug-ins must implement a concrete factory to be instantiated.
Definition: catalog.h:237
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
void setSecurityContext(const SecurityContext &ctx)
Set the security context.
CatalogFactory * getCatalogFactory()
Get the CatalogFactory implementation on top of the plugin stack.
INode * inode_
Definition: dmlite.h:228
PoolManagerFactory * getPoolManagerFactory()
Get the PoolFactory implementation on top of the plugin stack.
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
Security credentials. To be filled by the front-end.
Definition: authn.h:23
unsigned ApiVersion
Used to make sure API is consistent.
Definition: dmlite.h:246
Interface for pool types.
Definition: poolmanager.h:41
Interface for Catalog (Namespaces).
Definition: catalog.h:30
PluginManager * pluginManager_
Definition: dmlite.h:225
StackInstance(PluginManager *pm)
Constructor.
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:79
IODriver * ioDriver_
Definition: dmlite.h:231
AuthnFactory.
Definition: authn.h:217
bool isTherePoolManager()
void loadPlugin(const std::string &lib, const std::string &id)
INodeFactory.
Definition: inode.h:292
IODriverFactory * getIODriverFactory()
Get the IOFactory implementation on top of the plugin stack.
void loadConfiguration(const std::string &file)
Exceptions used by the API.
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:81
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.
void(* registerPlugin)(PluginManager *pm)
Let the plug-in register itself and its concrete factories.
Definition: dmlite.h:248
Base class for factories.
Definition: base.h:48
PoolDriver factory.
Definition: pooldriver.h:126
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)
const SecurityContext * getSecurityContext(void) const
Return the security context.
void registerCatalogFactory(CatalogFactory *factory)
PluginManager()
Constructor.
std::list< CatalogFactory * > catalog_plugins_
Definition: dmlite.h:137
std::map< std::string, std::string > confValues_
Configuration key/value.
Definition: dmlite.h:132
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:101
Logger::component stackinstancelogname
std::list< PoolManagerFactory * > pool_plugins_
Definition: dmlite.h:138
IODriver * getIODriver()
Get the IO driver.
void setSecurityContextImpl_(void)
Namespace for the dmlite C++ API.
Definition: authn.h:16
~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)