11 #ifndef INCLUDED_GR_PREFS_H
12 #define INCLUDED_GR_PREFS_H
21 typedef std::map<std::string, std::map<std::string, std::string>>
config_map_t;
22 typedef std::map<std::string, std::map<std::string, std::string>>::iterator
37 static prefs* singleton();
68 void add_config_file(
const std::string& configfile);
73 std::string to_string();
86 virtual bool has_section(
const std::string& section);
91 virtual bool has_option(
const std::string& section,
const std::string& option);
97 virtual const std::string get_string(
const std::string& section,
98 const std::string& option,
99 const std::string& default_val);
105 virtual void set_string(
const std::string& section,
106 const std::string& option,
107 const std::string& val);
114 get_bool(
const std::string& section,
const std::string& option,
bool default_val);
120 set_bool(
const std::string& section,
const std::string& option,
bool val);
127 get_long(
const std::string& section,
const std::string& option,
long default_val);
133 set_long(
const std::string& section,
const std::string& option,
long val);
140 get_double(
const std::string& section,
const std::string& option,
double default_val);
146 set_double(
const std::string& section,
const std::string& option,
double val);
149 virtual std::vector<std::string> _sys_prefs_filenames();
150 virtual void _read_files(
const std::vector<std::string>& filenames);
151 virtual char* option_to_env(std::string section, std::string option);