00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef MDWPROPERTIESMANAGER_H
00021 #define MDWPROPERTIESMANAGER_H
00022
00023 #include <map>
00024 #include <string>
00025
00026 namespace mdw
00027 {
00028
00032 class PropertiesManager
00033 {
00034 public:
00035 static void initialise (const std::string &file);
00036 static PropertiesManager &getInstance();
00037
00038 bool getBooleanProperty (const std::string &name);
00039 bool getBooleanProperty (const std::string &name, bool defaultValue);
00040
00041 int getIntProperty (const std::string &name);
00042 int getIntProperty (const std::string &name, int defaultValue);
00043
00044 std::string getStringProperty (const std::string &name);
00045 std::string getStringProperty (const std::string &name, const std::string &defaultValue);
00046
00047 private:
00048 static PropertiesManager * _instance;
00049 void init (const std::string &file);
00050 void readFile (const std::string &file);
00051 std::string parse (const std::string &value);
00052
00053 PropertiesManager();
00054
00055 ~PropertiesManager();
00056
00057 std::map<std::string, std::string> _stringValues;
00058 };
00059
00060 }
00061
00062 #endif