10 #define SETTING(name) Settings::get(#name, name);
14 #define SETTING_WITH_DEFAULT(name, default) if (!Settings::get(#name, name)) name = default;
21 #define SETTING_OR_ERROR(name) if (!Settings::get(#name, name)) {
22 ERROR("Mandatory setting '%s' missing.\n", #name);
26 #define MANDATORY(name) if (!Settings::isSet(#name)) {
27 ERROR("Mandatory setting '%s' missing.\n", #name);
35 static bool set(
const String &name,
const String &value =
"");
38 static bool set(
const String &name,
const T &value =
"") {
39 return set(name, String(value));
42 static bool unset(
const String &name);
43 static bool get(
const String &name, String &value);
44 static bool get(
const String &name,
float &value);
45 static bool get(
const String &name,
int &value);
46 static bool get(
const String &name,
long &value);
48 static int getInt(
const String &name,
const long dflt = -1);
49 static long getLong(
const String &name,
const long dflt = -1);
50 static float getFloat(
const String &name,
const float dflt = -1);
51 static bool validName(
const String &name);
54 static bool save(
const String filename);
55 static bool load(
const String filename);
57 static bool rm(
const String filename);
60 static bool isSet(
const String &name);
63 static std::map<String, String> store;