summaryrefslogtreecommitdiffstats
path: root/src/Daemon/Settings.h
diff options
context:
space:
mode:
authorZdenek Prikryl <zdeny@dhcp-lab-218.englab.brq.redhat.com>2009-04-02 13:58:54 +0200
committerZdenek Prikryl <zdeny@dhcp-lab-218.englab.brq.redhat.com>2009-04-02 13:58:54 +0200
commit8e42e0af34641cb0e7d20ec6c2dfcadae4811436 (patch)
tree85a1299ac62ca132f5a1aebf40470ec7860afe94 /src/Daemon/Settings.h
parentf2658049fa50cb8b9898691263d7147217e78218 (diff)
downloadabrt-8e42e0af34641cb0e7d20ec6c2dfcadae4811436.tar.gz
abrt-8e42e0af34641cb0e7d20ec6c2dfcadae4811436.tar.xz
abrt-8e42e0af34641cb0e7d20ec6c2dfcadae4811436.zip
added settings
Diffstat (limited to 'src/Daemon/Settings.h')
-rw-r--r--src/Daemon/Settings.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/Daemon/Settings.h b/src/Daemon/Settings.h
new file mode 100644
index 00000000..7abff7ba
--- /dev/null
+++ b/src/Daemon/Settings.h
@@ -0,0 +1,52 @@
+#ifndef SETTINGS_H_
+#define SETTINGS_H_
+
+#include <string>
+#include <map>
+#include <set>
+#include <vector>
+
+class CSettings
+{
+ public:
+ typedef std::map<std::string, std::string> map_settings_t;
+ typedef std::set<std::string> set_strings_t;
+ typedef std::pair<std::string, std::string> pair_string_string_t;
+ typedef std::map<std::string, set_strings_t> map_analyzer_reporters_t;
+ typedef std::set<pair_string_string_t> set_actions_t;
+ typedef std::map<std::string, set_actions_t> map_analyzer_actions_t;
+
+ private:
+ map_settings_t m_mapSettingsCommon;
+ map_settings_t m_mapSettingsReporters;
+ map_settings_t m_mapSettingsActions;
+
+ set_strings_t m_setOpenGPGPublicKeys;
+ set_strings_t m_setBlackList;
+ set_strings_t m_setEnabledPlugins;
+ std::string m_sDatabase;
+ bool m_bOpenGPGCheck;
+ unsigned int m_nMaxCrashReportsSize;
+ map_analyzer_reporters_t m_mapAnalyzerReporters;
+ map_analyzer_actions_t m_mapAnalyzerActions;
+
+ void ParseCommon();
+ void ParseReporters();
+ void ParseActions();
+ set_strings_t ParseList(const std::string& pList);
+ set_strings_t ParseActionKey(const std::string& pKey);
+ set_actions_t ParseActionValue(const std::string& pValue);
+
+ public:
+ void LoadSettings(const std::string& pPath);
+ const set_strings_t& GetBlackList();
+ const set_strings_t& GetEnabledPlugins();
+ const set_strings_t& GetOpenGPGPublicKeys();
+ const bool& GetOpenGPGCheck();
+ const map_analyzer_reporters_t& GetReporters();
+ const map_analyzer_actions_t& GetActions();
+ const unsigned int& GetMaxCrashReportsSize();
+ const std::string& GetDatabase();
+};
+
+#endif