diff options
Diffstat (limited to 'src/Common/ConfigManager.h')
-rw-r--r-- | src/Common/ConfigManager.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/Common/ConfigManager.h b/src/Common/ConfigManager.h index 5c94614..91126ca 100644 --- a/src/Common/ConfigManager.h +++ b/src/Common/ConfigManager.h @@ -22,16 +22,24 @@ #include <string> #include <vector> +#include <memory> namespace Mad { namespace Common { class ConfigManager { + private: + static std::auto_ptr<ConfigManager> configManager; + protected: ConfigManager() { initBackends(); } + static void setConfigManager(ConfigManager *configManager0) { + configManager = std::auto_ptr<ConfigManager>(configManager0); + } + virtual bool parseLine(const std::vector<std::string> §ion, const std::string &key, const std::string &value = std::string()) = 0; bool loadFile(const std::string &filename); @@ -40,6 +48,10 @@ class ConfigManager { public: virtual ~ConfigManager() {} + + static ConfigManager *getConfigManager() { + return configManager.get(); + } }; } |