Go to the documentation of this file.
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) ;
237 std::map<std::
string, boost::any> stackMsg_;
239 void setSecurityContextImpl_(
void);
253 #define PLUGIN_ID_HEADER dmlite::API_VERSION
257 #endif // DMLITE_CPP_DMLITE_H
void registerIODriverFactory(IODriverFactory *factory)
boost::any get(const std::string &key) const
Logger::bitmask stackinstancelogmask
unsigned ApiVersion
Used to make sure API is consistent.
Definition: dmlite.h:245
Plug-ins must implement a concrete factory to be instantiated.
Definition: io.h:153
Exceptions used by the API.
Base class for factories.
Definition: base.h:48
void setSecurityContext(const SecurityContext &ctx)
Set the security context.
INode * getINode()
Get the INode.
CatalogFactory * getCatalogFactory()
Get the CatalogFactory implementation on top of the plugin stack.
void registerINodeFactory(INodeFactory *factory)
void registerPoolManagerFactory(PoolManagerFactory *factory)
void configure(const std::string &key, const std::string &value)
void loadPlugin(const std::string &lib, const std::string &id)
void loadConfiguration(const std::string &file)
Catalog * getCatalog()
Get the catalog.
Authn * getAuthn()
Get the UsersDb interface.
Logger::component stackinstancelogname
PoolDriverFactory * getPoolDriverFactory(const std::string &pooltype)
Get the appropiate pool driver factory for the pool.
bool contains(const std::string &key)
Security credentials. To be filled by the front-end.
Definition: authn.h:22
void setSecurityCredentials(const SecurityCredentials &cred)
Set the security credentials.
std::list< AuthnFactory * > authn_plugins_
Internal list of loaded plug-ins.
Definition: dmlite.h:135
void registerConfigureFactory(BaseFactory *factory)
PoolDriver factory.
Definition: pooldriver.h:124
std::list< PoolDriverFactory * > pool_driver_plugins_
Definition: dmlite.h:140
Interface for Catalog (Namespaces).
Definition: catalog.h:30
PoolManagerFactory * getPoolManagerFactory()
Get the PoolFactory implementation on top of the plugin stack.
void registerAuthnFactory(AuthnFactory *factory)
Security context. To be created by the Authn.
Definition: authn.h:69
const SecurityContext * getSecurityContext(void) const
Return the security context.
void erase(const std::string &key)
Plug-ins must implement a concrete factory to be instantiated.
Definition: poolmanager.h:108
PluginManager()
Constructor.
std::list< void * > dlHandles_
Keep pointers returned by dlopen at hand to free on destruction.
Definition: dmlite.h:144
AuthnFactory.
Definition: authn.h:182
std::list< IODriverFactory * > io_plugins_
Definition: dmlite.h:139
Plug-ins must implement a concrete factory to be instantiated.
Definition: catalog.h:237
const unsigned API_VERSION
API Version.
Definition: dmlite.h:20
std::list< BaseFactory * > configure_factory_
Definition: dmlite.h:141
std::list< PoolManagerFactory * > pool_plugins_
Definition: dmlite.h:138
CatalogInterface can only be instantiated through this class.
Definition: dmlite.h:42
INodeFactory.
Definition: inode.h:285
IODriverFactory * getIODriverFactory()
Get the IOFactory implementation on top of the plugin stack.
std::string getConfiguration(const std::string &key)
Interface for a pool driver.
Definition: pooldriver.h:99
std::list< CatalogFactory * > catalog_plugins_
Definition: dmlite.h:137
Joint between plugins and plugin-manager.
Definition: dmlite.h:243
void registerPoolDriverFactory(PoolDriverFactory *factory)
PluginManager * getPluginManager()
Get the plugin manager.
AuthnFactory * getAuthnFactory()
Get the AuthnFactory implementation on top of the plugin stack.
bool isTherePoolManager()
void eraseAll(void)
Erase all the values set previously.
void registerCatalogFactory(CatalogFactory *factory)
INodeFactory * getINodeFactory()
~StackInstance()
Destructor.
std::list< INodeFactory * > inode_plugins_
Definition: dmlite.h:136
Interface for pool types.
Definition: poolmanager.h:40
Namespace for the dmlite C++ API.
Definition: authn.h:15
StackInstance(PluginManager *pm)
Constructor.
void set(const std::string &key, const boost::any &value)
IO Driver.
Definition: io.h:111
std::map< std::string, std::string > confValues_
Configuration key/value.
Definition: dmlite.h:132