9 #ifndef anna_core_util_Configuration_hpp 10 #define anna_core_util_Configuration_hpp 47 void load(
const char* configFile) noexcept(
false);
60 void setDefaultValue(
const char* sectionName,
const char* variableName,
const char* defaultValue)
74 const char*
getValue(
const char* sectionName,
const char* variableName,
const bool strict =
false)
const 87 int getIntegerValue(
const char* sectionName,
const char* variableName,
const bool strict =
false)
const 98 bool exists(
const char* sectionName,
const char* variableName)
const ;
108 class VariableEx :
public Variable {
110 typedef std::vector <VariableEx*> Vector;
112 VariableEx(
const char* variableName) :
114 a_defaultValue(NULL) {}
116 void setDefaultValue(
const char* defaultValue) { a_defaultValue = defaultValue; }
118 const char* getDefaultValue()
const {
return a_defaultValue; }
121 const char* a_defaultValue;
124 std::map <std::string, VariableEx::Vector*> a_sections;
128 void initialize() noexcept(
false) {;}
132 bool processSection(
const int nline,
char* buffer, std::string& currentSection);
133 void processVariable(
const int nline,
char* buffer,
const std::string& currentSection) noexcept(
false);
134 VariableEx* createVariable(
const std::string& section,
const char* variableName) ;
135 VariableEx* find(
const std::string& section,
const char* variableName) ;
136 const VariableEx* find(
const std::string& section,
const char* variableName)
const 138 return const_cast <
Configuration*>(
this)->find(section, variableName);
141 static char* strip(
char* buffer);
Definition: Variable.hpp:34
static const char * defaultSection
Definition: Configuration.hpp:29
void setDefaultValue(const char *sectionName, const char *variableName, const char *defaultValue) noexcept(false)
void load(const char *configFile) noexcept(false)
static const char * getClassName()
Definition: Configuration.hpp:105
Configuration()
Definition: Configuration.hpp:34
const char * getValue(const char *sectionName, const char *variableName, const bool strict=false) const noexcept(false)
bool exists(const char *sectionName, const char *variableName) const
int getIntegerValue(const char *sectionName, const char *variableName, const bool strict=false) const noexcept(false)
Definition: Configuration.hpp:27
Definition: Variable.hpp:25
~Configuration()
Definition: Configuration.hpp:39