SimpCfg: Allow default values wrt set string and set bool
This commit is contained in:
parent
951fbc3396
commit
9940bd8ed7
1 changed files with 18 additions and 4 deletions
|
@ -18,10 +18,12 @@
|
||||||
#ifdef TEST_LOGIC
|
#ifdef TEST_LOGIC
|
||||||
#define LDBUG_LN(FMT, ...) printf(FMT"\n", __VA_ARGS__)
|
#define LDBUG_LN(FMT, ...) printf(FMT"\n", __VA_ARGS__)
|
||||||
#define LERRR_LN(FMT, ...) printf(FMT"\n", __VA_ARGS__)
|
#define LERRR_LN(FMT, ...) printf(FMT"\n", __VA_ARGS__)
|
||||||
|
#define LWARN_LN(FMT, ...) printf(FMT"\n", __VA_ARGS__)
|
||||||
#else
|
#else
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
#define LDBUG_LN LOGLN
|
#define LDBUG_LN LOGLN
|
||||||
#define LERRR_LN LOG_TEELN
|
#define LERRR_LN LOG_TEELN
|
||||||
|
#define LWARN_LN LOG_TEELN
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
@ -49,15 +51,23 @@ public:
|
||||||
LDBUG_LN("DBUG:SC:%s:%s:%s:%d", __func__, group.c_str(), key.c_str(), value);
|
LDBUG_LN("DBUG:SC:%s:%s:%s:%d", __func__, group.c_str(), key.c_str(), value);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string get_string(const std::string &group, const std::string &key) {
|
std::string get_string(const std::string &group, const std::string &key, const std::string &defaultValue) {
|
||||||
auto gm = mapStrings[group];
|
auto gm = mapStrings[group];
|
||||||
|
if (gm.find(key) == gm.end()) {
|
||||||
|
LWARN_LN("DBUG:SC:%s:%s:%s:%s[default]", __func__, group.c_str(), key.c_str(), defaultValue.c_str());
|
||||||
|
return defaultValue;
|
||||||
|
}
|
||||||
auto value = gm[key];
|
auto value = gm[key];
|
||||||
LDBUG_LN("DBUG:SC:%s:%s:%s:%s", __func__, group.c_str(), key.c_str(), value.c_str());
|
LDBUG_LN("DBUG:SC:%s:%s:%s:%s", __func__, group.c_str(), key.c_str(), value.c_str());
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool get_bool(const std::string &group, const std::string &key) {
|
bool get_bool(const std::string &group, const std::string &key, bool defaultValue) {
|
||||||
auto gm = mapBools[group];
|
auto gm = mapBools[group];
|
||||||
|
if (gm.find(key) == gm.end()) {
|
||||||
|
LWARN_LN("DBUG:SC:%s:%s:%s:%d[default]", __func__, group.c_str(), key.c_str(), defaultValue);
|
||||||
|
return defaultValue;
|
||||||
|
}
|
||||||
auto value = gm[key];
|
auto value = gm[key];
|
||||||
LDBUG_LN("DBUG:SC:%s:%s:%s:%d", __func__, group.c_str(), key.c_str(), value);
|
LDBUG_LN("DBUG:SC:%s:%s:%s:%d", __func__, group.c_str(), key.c_str(), value);
|
||||||
return value;
|
return value;
|
||||||
|
@ -124,8 +134,12 @@ int main(int argc, char **argv) {
|
||||||
std::string fname {argv[1]};
|
std::string fname {argv[1]};
|
||||||
SimpCfg sc;
|
SimpCfg sc;
|
||||||
sc.load(fname);
|
sc.load(fname);
|
||||||
sc.get_bool("testme", "key101b");
|
sc.get_bool("testme", "key101b", false);
|
||||||
sc.get_string("testme", "key101s");
|
sc.get_string("testme", "key101s", "Not found");
|
||||||
|
sc.set_bool("testme", "key201b", true);
|
||||||
|
sc.set_string("testme", "key201s", "hello world");
|
||||||
|
sc.get_bool("testme", "key201b", false);
|
||||||
|
sc.get_string("testme", "key201s", "Not found");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue