#ifndef SETTINGS_H_ #define SETTINGS_H_ #include #include #include #include class CSettings { public: typedef std::map map_settings_t; typedef std::set set_strings_t; typedef std::pair pair_string_string_t; typedef std::set set_pair_strings_t; typedef std::map map_analyzer_reporters_t; typedef std::map 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; set_pair_strings_t m_setReporters; 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_pair_strings_t ParseListWithArgs(const std::string& pList); set_strings_t ParseKey(const std::string& pKey); 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& GetAnalyzerReporters(); const map_analyzer_actions_t& GetAnalyzerActions(); const unsigned int& GetMaxCrashReportsSize(); const set_pair_strings_t& GetReporters(); const std::string& GetDatabase(); }; #endif