#include <dmlite.h>
Public Member Functions | |
StackInstance (PluginManager *pm) throw (DmException) | |
Constructor. | |
~StackInstance () | |
Destructor. | |
void | set (const std::string &key, const boost::any &value) throw (DmException) |
boost::any | get (const std::string &key) const throw (DmException) |
void | erase (const std::string &key) throw (DmException) |
PluginManager * | getPluginManager () throw (DmException) |
Get the plugin manager. | |
void | setSecurityCredentials (const SecurityCredentials &cred) throw (DmException) |
Set the security credentials. | |
void | setSecurityContext (const SecurityContext &ctx) throw (DmException) |
Set the security context. | |
const SecurityContext * | getSecurityContext (void) const throw () |
Return the security context. | |
Authn * | getAuthn () throw (DmException) |
Get the UsersDb interface. | |
INode * | getINode () throw (DmException) |
Get the INode. | |
Catalog * | getCatalog () throw (DmException) |
Get the catalog. | |
bool | isTherePoolManager () throw () |
PoolManager * | getPoolManager () throw (DmException) |
Get the PoolManager. | |
PoolDriver * | getPoolDriver (const std::string &poolType) throw (DmException) |
Get a pool driver. | |
IODriver * | getIODriver () throw (DmException) |
Get the IO driver. | |
Private Attributes | |
PluginManager * | pluginManager_ |
Authn * | authn_ |
INode * | inode_ |
Catalog * | catalog_ |
PoolManager * | poolManager_ |
IODriver * | ioDriver_ |
SecurityContext * | secCtx_ |
std::map< std::string, PoolDriver * > | poolDrivers_ |
std::map< std::string, boost::any > | stackMsg_ |
We need to have something that allows one plugin stack to access another plugin stack, so this represents a instantiation of each plugin stack. It also keeps common state: user credentials, security context, and run-time parameters (see set)
StackInstance::StackInstance | ( | PluginManager * | pm | ) | throw (DmException) |
Constructor.
StackInstance::~StackInstance | ( | ) |
Destructor.
void StackInstance::erase | ( | const std::string & | key | ) | throw (DmException) |
Erase a key,value pair from.
key | The key of the pair to be erased. |
boost::any StackInstance::get | ( | const std::string & | key | ) | const throw (DmException) |
Get a value associated to a key. This can be used to pass advanced parameters to and from the plugins.
key | The key parameter. |
Authn * StackInstance::getAuthn | ( | ) | throw (DmException) |
Get the UsersDb interface.
Catalog * StackInstance::getCatalog | ( | ) | throw (DmException) |
Get the catalog.
INode * StackInstance::getINode | ( | ) | throw (DmException) |
Get the INode.
IODriver * StackInstance::getIODriver | ( | ) | throw (DmException) |
Get the IO driver.
PluginManager * StackInstance::getPluginManager | ( | ) | throw (DmException) |
Get the plugin manager.
PoolDriver * StackInstance::getPoolDriver | ( | const std::string & | poolType | ) | throw (DmException) |
Get a pool driver.
PoolManager * StackInstance::getPoolManager | ( | ) | throw (DmException) |
Get the PoolManager.
const SecurityContext * StackInstance::getSecurityContext | ( | void | ) | const throw () |
Return the security context.
bool StackInstance::isTherePoolManager | ( | ) | throw () |
void StackInstance::set | ( | const std::string & | key, | |
const boost::any & | value | |||
) | throw (DmException) |
Set a key-value pair associated with this context. This can be used to pass advanced parameters to and from the plugins.
key | The key. | |
value | The value. |
void StackInstance::setSecurityContext | ( | const SecurityContext & | ctx | ) | throw (DmException) |
Set the security context.
void StackInstance::setSecurityCredentials | ( | const SecurityCredentials & | cred | ) | throw (DmException) |
Set the security credentials.
Authn* dmlite::StackInstance::authn_ [private] |
Catalog* dmlite::StackInstance::catalog_ [private] |
INode* dmlite::StackInstance::inode_ [private] |
IODriver* dmlite::StackInstance::ioDriver_ [private] |
std::map<std::string, PoolDriver*> dmlite::StackInstance::poolDrivers_ [private] |
PoolManager* dmlite::StackInstance::poolManager_ [private] |
SecurityContext* dmlite::StackInstance::secCtx_ [private] |
std::map<std::string, boost::any> dmlite::StackInstance::stackMsg_ [private] |