xrootd
Loading...
Searching...
No Matches
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
XrdCl::Env Class Reference

#include <XrdClEnv.hh>

Inheritance diagram for XrdCl::Env:
Inheritance graph
[legend]
Collaboration diagram for XrdCl::Env:
Collaboration graph
[legend]

Public Member Functions

virtual ~Env ()
 Destructor.
 
bool GetString (const std::string &key, std::string &value)
 
bool PutString (const std::string &key, const std::string &value)
 
bool GetInt (const std::string &key, int &value)
 
bool PutInt (const std::string &key, int value)
 
bool ImportInt (const std::string &key, const std::string &shellKey)
 
bool ImportString (const std::string &key, const std::string &shellKey)
 
bool GetDefaultIntValue (const std::string &key, int &value)
 
bool GetDefaultStringValue (const std::string &key, std::string &value)
 
void WriteLock ()
 
void UnLock ()
 
void ReInitializeLock ()
 
void RecreateLock ()
 

Private Types

typedef std::map< std::string, std::pair< std::string, bool > > StringMap
 
typedef std::map< std::string, std::pair< int, bool > > IntMap
 

Private Member Functions

std::string UnifyKey (std::string key)
 
std::string GetEnv (const std::string &key)
 

Private Attributes

XrdSysRWLock pLock
 
StringMap pStringMap
 
IntMap pIntMap
 

Detailed Description

A simple key value store intended to hold global configuration. It is able to import the settings from the shell environment, the variables imported this way supersede these provided from the C++ code.

Member Typedef Documentation

◆ IntMap

typedef std::map<std::string, std::pair<int, bool> > XrdCl::Env::IntMap
private

◆ StringMap

typedef std::map<std::string, std::pair<std::string, bool> > XrdCl::Env::StringMap
private

Constructor & Destructor Documentation

◆ ~Env()

virtual XrdCl::Env::~Env ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ GetDefaultIntValue()

bool XrdCl::Env::GetDefaultIntValue ( const std::string &  key,
int &  value 
)

Get default integer value for the given key

Parameters
key: the key
value: output parameter, default value corresponding to the key
Returns
: true if a default integer value for the given key exists, false otherwise

◆ GetDefaultStringValue()

bool XrdCl::Env::GetDefaultStringValue ( const std::string &  key,
std::string &  value 
)

Get default string value for the given key

Parameters
key: the key
value: output parameter, default value corresponding to the key
Returns
: true if a default string value for the given key exists, false otherwise

◆ GetEnv()

std::string XrdCl::Env::GetEnv ( const std::string &  key)
private

◆ GetInt()

bool XrdCl::Env::GetInt ( const std::string &  key,
int &  value 
)

Get an int associated to the given key

Returns
true if the value was found, false otherwise

Referenced by XrdCl::ZipListHandler::ZipListHandler().

◆ GetString()

bool XrdCl::Env::GetString ( const std::string &  key,
std::string &  value 
)

Get a string associated to the given key

Returns
true if the value was found, false otherwise

◆ ImportInt()

bool XrdCl::Env::ImportInt ( const std::string &  key,
const std::string &  shellKey 
)

Import an int from the shell environment. Any imported setting takes precedence over the one set by other means.

Returns
true if the setting exists in the shell, false otherwise

◆ ImportString()

bool XrdCl::Env::ImportString ( const std::string &  key,
const std::string &  shellKey 
)

Import a string from the shell environment. Any imported setting takes precedence over the one set by ther means.

Returns
true if the setting exists in the shell, false otherwise

◆ PutInt()

bool XrdCl::Env::PutInt ( const std::string &  key,
int  value 
)

Associate an int with the given key

Returns
false if there is already a shell-imported setting for this key, true otherwise

◆ PutString()

bool XrdCl::Env::PutString ( const std::string &  key,
const std::string &  value 
)

Associate a string with the given key

Returns
false if there is already a shell-imported setting for this key, true otherwise

◆ RecreateLock()

void XrdCl::Env::RecreateLock ( )
inline

References pLock.

◆ ReInitializeLock()

void XrdCl::Env::ReInitializeLock ( )
inline

◆ UnifyKey()

std::string XrdCl::Env::UnifyKey ( std::string  key)
inlineprivate

◆ UnLock()

void XrdCl::Env::UnLock ( )
inline

References pLock, and XrdSysRWLock::UnLock().

◆ WriteLock()

void XrdCl::Env::WriteLock ( )
inline

References pLock, and XrdSysRWLock::WriteLock().

Member Data Documentation

◆ pIntMap

IntMap XrdCl::Env::pIntMap
private

◆ pLock

XrdSysRWLock XrdCl::Env::pLock
private

◆ pStringMap

StringMap XrdCl::Env::pStringMap
private

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