/[projects]/smsdaemon/ConfigFile.h
ViewVC logotype

Contents of /smsdaemon/ConfigFile.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 205 - (show annotations) (download)
Fri Dec 19 22:29:25 2008 UTC (15 years, 5 months ago) by torben
File MIME type: text/plain
File size: 1439 byte(s)
Enable selection and configuration of loaded plugins to be specified in the configuration file

1 #ifndef __CONFIG_FILE_H__
2 #define __CONFIG_FILE_H__
3
4 /* Usage
5 * ConfigFile cf("config.txt");
6 *
7 * std::string foo;
8 * std::string water;
9 * double four;
10 *
11 * foo = cf.Value("section_1","foo" );
12 * water = cf.Value("section_2","water");
13 * four = cf.Value("section_2","four" );
14 *
15 * std::cout << foo << std::endl;
16 * std::cout << water << std::endl;
17 * std::cout << four << std::endl;
18 *
19 * From a config file like this:
20 *
21 * [section_1]
22 * foo = bar
23 * water= h2o
24 *
25 * [section_2]
26 * foo = foo
27 * water= wet
28 * four = 4.2
29 */
30
31
32
33
34 #include <string>
35 #include <map>
36 #include <vector>
37 #include "Value.h"
38
39 class ConfigFile
40 {
41 std::multimap<std::string,Value> content_;
42 typedef std::multimap<std::string,Value>::const_iterator content_iterator;
43
44 public:
45 ConfigFile();
46 ConfigFile(std::string const& configFile);
47 bool Open(std::string const& configFile);
48
49 std::string DumpConfig() const;
50
51 Value const& GetValue(std::string const& section, std::string const& entry) const;
52 std::vector<Value> GetValues(std::string const& section, std::string const& entry) const;
53
54 Value const& GetValue(std::string const& section, std::string const& entry, double value);
55 Value const& GetValue(std::string const& section, std::string const& entry, std::string const& value);
56 };
57
58 namespace ConfigHelper
59 {
60 std::map<std::string, std::string> ParseArguments(const std::string& args);
61 int StringToInt(const std::string& input);
62 }
63
64 #endif

  ViewVC Help
Powered by ViewVC 1.1.20