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

Annotation of /smsdaemon/ConfigFile.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 201 - (hide 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 torben 146 #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 torben 201 #include <vector>
37 torben 146 #include "Value.h"
38    
39     class ConfigFile
40     {
41 torben 201 std::multimap<std::string,Value> content_;
42     typedef std::multimap<std::string,Value>::const_iterator content_iterator;
43 torben 146
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 torben 201 std::vector<Value> GetValues(std::string const& section, std::string const& entry) const;
51 torben 146
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