17 #ifndef CITEMCONFIGURATION_H 18 #define CITEMCONFIGURATION_H 29 typedef bool (*typeChecker)(std::string name, std::string value,
void* arg);
70 typedef std::pair<typeChecker, void*> TypeCheckInfo;
71 typedef std::vector<std::pair<std::string, std::string> > ConfigurationArray;
85 typedef std::pair<limit, limit> Limits;
86 typedef std::set<std::string> isEnumParameter;
94 TypeCheckInfo s_checker;
108 typedef std::pair<flimit, flimit> FloatingLimits;
113 typedef std::pair<std::string, TypeCheckInfo> ConfigData;
114 typedef std::map<std::string, ConfigData> Configuration;
115 typedef Configuration::iterator ConfigIterator;
120 Configuration m_parameters;
136 std::string
cget(std::string name) ;
137 ConfigurationArray
cget();
152 void addParameter(std::string name, typeChecker checker,
void* arg,
153 std::string defaultValue = std::string(
""));
159 bool isValid(std::string name, std::string value);
160 void configure(std::string name, std::string value);
165 static bool isInteger(std::string name, std::string value,
void* arg);
166 static bool isBool( std::string name, std::string value,
void* arg);
167 static bool isEnum( std::string name, std::string value,
void* arg);
168 static bool isFloat( std::string name, std::string value,
void* arg);
169 static bool isList( std::string name, std::string value,
void* arg);
170 static bool isBoolList(std::string name,std::string value,
void* arg);
171 static bool isIntList(std::string name, std::string value,
void* arg);
172 static bool isStringList(std::string name, std::string value,
void* arg);
177 static void addTrueValues(std::set<std::string>& values);
178 static void addFalseValues(std::set<std::string>& values);
179 ConfigIterator findOrThrow(std::string name);
virtual ~CItemConfiguration()
Definition: CItemConfiguration.cpp:64
static bool isList(std::string name, std::string value, void *arg)
Definition: CItemConfiguration.cpp:619
int getIntegerParameter(std::string name)
Definition: CItemConfiguration.cpp:193
ConfigurationArray cget()
Definition: CItemConfiguration.cpp:157
bool isValid(std::string name, std::string value)
Definition: CItemConfiguration.cpp:359
int operator==(const CItemConfiguration &rhs) const
Definition: CItemConfiguration.cpp:96
static bool isStringList(std::string name, std::string value, void *arg)
Definition: CItemConfiguration.cpp:755
std::vector< int > getIntegerList(std::string name)
Definition: CItemConfiguration.cpp:287
Definition: CItemConfiguration.h:92
static bool isBoolList(std::string name, std::string value, void *arg)
Definition: CItemConfiguration.cpp:680
static bool isInteger(std::string name, std::string value, void *arg)
Definition: CItemConfiguration.cpp:439
static bool isBool(std::string name, std::string value, void *arg)
Definition: CItemConfiguration.cpp:489
double getFloatParameter(std::string name)
Definition: CItemConfiguration.cpp:263
CItemConfiguration & operator=(const CItemConfiguration &rhs)
Definition: CItemConfiguration.cpp:83
void addParameter(std::string name, typeChecker checker, void *arg, std::string defaultValue=std::string(""))
Definition: CItemConfiguration.cpp:337
static bool isIntList(std::string name, std::string value, void *arg)
Definition: CItemConfiguration.cpp:719
static bool isEnum(std::string name, std::string value, void *arg)
Definition: CItemConfiguration.cpp:585
Definition: CItemConfiguration.h:98
Definition: CItemConfiguration.h:87
void clearConfiguration()
Definition: CItemConfiguration.cpp:413
int operator!=(const CItemConfiguration &rhs) const
Definition: CItemConfiguration.cpp:105
bool getBoolParameter(std::string name)
Definition: CItemConfiguration.cpp:241
Definition: CItemConfiguration.h:75
void configure(std::string name, std::string value)
Definition: CItemConfiguration.cpp:387
Definition: CItemConfiguration.h:65
unsigned int getUnsignedParameter(std::string name)
Definition: CItemConfiguration.cpp:213
static bool isFloat(std::string name, std::string value, void *arg)
Definition: CItemConfiguration.cpp:529
std::string getName() const
Definition: CItemConfiguration.cpp:119