dmlite  0.6
Public Member Functions | Private Member Functions | Private Attributes | List of all members
dmlite::StackInstance Class Reference

#include <dmlite.h>

Collaboration diagram for dmlite::StackInstance:
Collaboration graph
[legend]

Public Member Functions

 StackInstance (PluginManager *pm)
 Constructor. More...
 
 ~StackInstance ()
 Destructor. More...
 
void set (const std::string &key, const boost::any &value)
 
boost::any get (const std::string &key) const
 
void erase (const std::string &key)
 
void eraseAll (void) throw ()
 Erase all the values set previously. More...
 
bool contains (const std::string &key) throw ()
 
PluginManagergetPluginManager ()
 Get the plugin manager. More...
 
void setSecurityCredentials (const SecurityCredentials &cred)
 Set the security credentials. More...
 
void setSecurityContext (const SecurityContext &ctx)
 Set the security context. More...
 
const SecurityContextgetSecurityContext (void) const
 Return the security context. More...
 
AuthngetAuthn ()
 Get the UsersDb interface. More...
 
INodegetINode ()
 Get the INode. More...
 
CataloggetCatalog ()
 Get the catalog. More...
 
bool isTherePoolManager () throw ()
 
PoolManagergetPoolManager ()
 Get the PoolManager. More...
 
PoolDrivergetPoolDriver (const std::string &poolType)
 Get a pool driver. More...
 
IODrivergetIODriver ()
 Get the IO driver. More...
 

Private Member Functions

void setSecurityContextImpl_ (void)
 

Private Attributes

PluginManagerpluginManager_
 
Authnauthn_
 
INodeinode_
 
Catalogcatalog_
 
PoolManagerpoolManager_
 
IODriverioDriver_
 
SecurityContextsecCtx_
 
std::map< std::string,
PoolDriver * > 
poolDrivers_
 
std::map< std::string, boost::any > stackMsg_
 

Detailed Description

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)

Note
Assume a StackInstance (and every instantiated interface under it) is NOT thread-safe. This means, a StackInstance must be used by only one thread at the same time.

Constructor & Destructor Documentation

dmlite::StackInstance::StackInstance ( PluginManager pm)

Constructor.

dmlite::StackInstance::~StackInstance ( )

Destructor.

Member Function Documentation

bool dmlite::StackInstance::contains ( const std::string &  key)
throw (
)

Checks if the stack instance contains a value associated with the given key.

void dmlite::StackInstance::erase ( const std::string &  key)

Erase a key,value pair from.

Parameters
keyThe key of the pair to be erased.
void dmlite::StackInstance::eraseAll ( void  )
throw (
)

Erase all the values set previously.

boost::any dmlite::StackInstance::get ( const std::string &  key) const

Get a value associated to a key. This can be used to pass advanced parameters to and from the plugins.

Parameters
keyThe key parameter.
Authn* dmlite::StackInstance::getAuthn ( )

Get the UsersDb interface.

Catalog* dmlite::StackInstance::getCatalog ( )

Get the catalog.

INode* dmlite::StackInstance::getINode ( )

Get the INode.

IODriver* dmlite::StackInstance::getIODriver ( )

Get the IO driver.

PluginManager* dmlite::StackInstance::getPluginManager ( )

Get the plugin manager.

PoolDriver* dmlite::StackInstance::getPoolDriver ( const std::string &  poolType)

Get a pool driver.

PoolManager* dmlite::StackInstance::getPoolManager ( )

Get the PoolManager.

const SecurityContext* dmlite::StackInstance::getSecurityContext ( void  ) const

Return the security context.

bool dmlite::StackInstance::isTherePoolManager ( )
throw (
)
void dmlite::StackInstance::set ( const std::string &  key,
const boost::any &  value 
)

Set a key-value pair associated with this context. This can be used to pass advanced parameters to and from the plugins.

Parameters
keyThe key.
valueThe value.
void dmlite::StackInstance::setSecurityContext ( const SecurityContext ctx)

Set the security context.

void dmlite::StackInstance::setSecurityContextImpl_ ( void  )
private
void dmlite::StackInstance::setSecurityCredentials ( const SecurityCredentials cred)

Set the security credentials.

Member Data Documentation

Authn* dmlite::StackInstance::authn_
private
Catalog* dmlite::StackInstance::catalog_
private
INode* dmlite::StackInstance::inode_
private
IODriver* dmlite::StackInstance::ioDriver_
private
PluginManager* dmlite::StackInstance::pluginManager_
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

The documentation for this class was generated from the following file: