15#if !defined(__COMMON_CONF_INI_H__)
16#define __COMMON_CONF_INI_H__
22#include "common/lang/map.h"
23#include "common/lang/set.h"
24#include "common/lang/string.h"
49 int load(
const string &ini_file);
55 const map<string, string> &
get(
const string §ion = DEFAULT_SECTION);
62 string get(
const string &key,
const string &default_value,
const string §ion = DEFAULT_SECTION);
69 int put(
const string &key,
const string &value,
const string §ion = DEFAULT_SECTION);
76 static const string DEFAULT_SECTION;
79 static const int MAX_CFG_LINE_LEN = 1024;
82 static const char CFG_DELIMIT_TAG =
',';
85 static const char CFG_COMMENT_TAG =
'#';
88 static const char CFG_CONTINUE_TAG =
'\\';
91 static const char CFG_SESSION_START_TAG =
'[';
92 static const char CFG_SESSION_END_TAG =
']';
111 int insert_entry(map<string, string> *session_map,
const string &line);
113 typedef map<string, map<string, string>> SessionsMap;
116 static const map<string, string> empty_map_;
118 set<string> file_names_;
119 SessionsMap sections_;
125Ini *&get_properties();
const map< string, string > & get(const string §ion=DEFAULT_SECTION)
Definition: ini.cpp:63
int load(const string &ini_file)
Definition: ini.cpp:117
map< string, string > * switch_session(const string &session_name)
Definition: ini.cpp:45
int put(const string &key, const string &value, const string §ion=DEFAULT_SECTION)
Definition: ini.cpp:85
Ini()
Definition: ini.cpp:33
void to_string(string &output_str)
Definition: ini.cpp:194
void insert_session(const string &session_name)
Definition: ini.cpp:37
int insert_entry(map< string, string > *session_map, const string &line)
Definition: ini.cpp:94