summaryrefslogtreecommitdiffstats
path: root/src/Common/ConfigManager.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Common/ConfigManager.h')
-rw-r--r--src/Common/ConfigManager.h12
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> &section, 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();
+ }
};
}