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

Contents of /smsdaemon/ConfigFile.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 201 - (show annotations) (download)
Thu Dec 18 23:19:08 2008 UTC (15 years, 5 months ago) by torben
File MIME type: text/plain
File size: 1256 byte(s)
Make configfile work with duplicate keys

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 Value const& GetValue(std::string const& section, std::string const& entry) const;
50 std::vector<Value> GetValues(std::string const& section, std::string const& entry) const;
51
52 Value const& GetValue(std::string const& section, std::string const& entry, double value);
53 Value const& GetValue(std::string const& section, std::string const& entry, std::string const& value);
54 };
55
56 #endif

  ViewVC Help
Powered by ViewVC 1.1.20