Elements  6.2
A C++ base framework for the Euclid Software.
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Private Member Functions | Private Attributes | List of all members

Python dictionary-like Environment interface. More...

#include <Environment.h>

Collaboration diagram for Elements::Environment:
Collaboration graph
[legend]

Classes

class  Variable
 proxy class to overload the assignment More...
 

Public Types

enum  ShellType { sh, csh }
 

Public Member Functions

 Environment (bool keep_same=true)
 default constructor More...
 
virtual ~Environment ()
 
Variable operator[] (const std::string &)
 
const Variable operator[] (const std::string &index) const
 
Environmentrestore ()
 
Environmentset (const std::string &, const std::string &)
 
EnvironmentunSet (const std::string &)
 
Environmentappend (const std::string &, const std::string &)
 
Environmentprepend (const std::string &, const std::string &)
 
std::string get (const std::string &index, const std::string &default_value="") const
 
void commit ()
 
std::string generateScript (ShellType) const
 

Static Public Member Functions

static bool hasKey (const std::string &)
 

Static Private Member Functions

static void checkOutOfRange (const std::string &)
 check that the variable is in the environment More...
 

Private Attributes

std::map< std::string, std::stringm_old_values
 old value for changed variables More...
 
bool m_keep_same
 
std::vector< std::stringm_added_variables
 variable added to the environment More...
 

Detailed Description

Python dictionary-like Environment interface.

Definition at line 44 of file Environment.h.

Member Enumeration Documentation

◆ ShellType

Enumerator
sh 
csh 

Definition at line 64 of file Environment.h.

Constructor & Destructor Documentation

◆ Environment()

Elements::Environment::Environment ( bool  keep_same = true)
explicit

default constructor

Definition at line 159 of file Environment.cpp.

◆ ~Environment()

Elements::Environment::~Environment ( )
virtual

Definition at line 175 of file Environment.cpp.

References restore().

Here is the call graph for this function:

Member Function Documentation

◆ append()

Environment & Elements::Environment::append ( const std::string index,
const std::string value 
)

Definition at line 222 of file Environment.cpp.

References get(), and set().

Referenced by Elements::Environment::Variable::operator+=().

Here is the call graph for this function:

◆ commit()

void Elements::Environment::commit ( )

Definition at line 255 of file Environment.cpp.

References m_added_variables, and m_old_values.

◆ generateScript()

string Elements::Environment::generateScript ( Environment::ShellType  type) const

Definition at line 261 of file Environment.cpp.

References get(), hasKey(), m_added_variables, and m_old_values.

Here is the call graph for this function:

◆ get()

string Elements::Environment::get ( const std::string index,
const std::string default_value = "" 
) const

Definition at line 240 of file Environment.cpp.

References Elements::System::getEnv(), and hasKey().

Referenced by append(), Elements::Services::DataSync::environmentVariable(), generateScript(), and prepend().

Here is the call graph for this function:

◆ hasKey()

bool Elements::Environment::hasKey ( const std::string index)
static

Definition at line 250 of file Environment.cpp.

References Elements::System::isEnvSet().

Referenced by checkOutOfRange(), generateScript(), get(), Elements::Kernel::pathSearchInEnvVariable(), set(), and Elements::TempPath::~TempPath().

Here is the call graph for this function:

◆ operator[]() [1/2]

Environment::Variable Elements::Environment::operator[] ( const std::string index)

Definition at line 179 of file Environment.cpp.

◆ operator[]() [2/2]

const Environment::Variable Elements::Environment::operator[] ( const std::string index) const

Definition at line 183 of file Environment.cpp.

◆ prepend()

Environment & Elements::Environment::prepend ( const std::string index,
const std::string value 
)

Definition at line 231 of file Environment.cpp.

References get(), and set().

Here is the call graph for this function:

◆ restore()

Environment & Elements::Environment::restore ( )

Definition at line 161 of file Environment.cpp.

References m_added_variables, m_old_values, Elements::System::setEnv(), and Elements::System::unSetEnv().

Referenced by ~Environment().

Here is the call graph for this function:

◆ set()

Environment & Elements::Environment::set ( const std::string index,
const std::string value 
)

◆ unSet()

Environment & Elements::Environment::unSet ( const std::string index)

Member Data Documentation

◆ m_added_variables

std::vector<std::string> Elements::Environment::m_added_variables
private

variable added to the environment

Definition at line 81 of file Environment.h.

Referenced by commit(), generateScript(), restore(), set(), and unSet().

◆ m_keep_same

bool Elements::Environment::m_keep_same
private

Definition at line 78 of file Environment.h.

Referenced by set().

◆ m_old_values

std::map<std::string, std::string> Elements::Environment::m_old_values
private

old value for changed variables

Definition at line 76 of file Environment.h.

Referenced by commit(), generateScript(), restore(), set(), and unSet().


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