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

Annotation of /smsdaemon/ConfigFile.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 205 - (hide 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 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 torben 202 std::string DumpConfig() const;
50    
51 torben 146 Value const& GetValue(std::string const& section, std::string const& entry) const;
52 torben 201 std::vector<Value> GetValues(std::string const& section, std::string const& entry) const;
53 torben 146
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 torben 205 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 torben 146 #endif

  ViewVC Help
Powered by ViewVC 1.1.20