From 58d0424dfc47e99c9c21396819a2234df158b4d0 Mon Sep 17 00:00:00 2001 From: ouwou <26526779+ouwou@users.noreply.github.com> Date: Thu, 17 Dec 2020 01:40:02 -0500 Subject: abstract away settings some more --- settings.hpp | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) (limited to 'settings.hpp') diff --git a/settings.hpp b/settings.hpp index cb2e824..c2a292d 100644 --- a/settings.hpp +++ b/settings.hpp @@ -8,21 +8,32 @@ public: SettingsManager(std::string filename); void Close(); - std::string GetSettingString(const std::string §ion, const std::string &key, std::string fallback = "") const; - int GetSettingInt(const std::string §ion, const std::string &key, int fallback) const; - bool GetSettingBool(const std::string §ion, const std::string &key, bool fallback) const; + bool GetUseMemoryDB() const; + std::string GetUserAgent() const; + std::string GetDiscordToken() const; + bool GetShowMemberListDiscriminators() const; + bool GetShowEmojis() const; + std::string GetLinkColor() const; + int GetCacheHTTPConcurrency() const; + + bool IsValid() const; template void SetSetting(std::string section, std::string key, T value) { - if constexpr (std::is_same::value) - m_ini.SetValue(section.c_str(), key.c_str(), value.c_str()); - else - m_ini.SetValue(section.c_str(), key.c_str(), std::to_string(value).c_str()); + m_ini.SetValue(section.c_str(), key.c_str(), std::to_string(value).c_str()); + m_ini.SaveFile(m_filename.c_str()); + } + template<> + void SetSetting(std::string section, std::string key, std::string value) { + m_ini.SetValue(section.c_str(), key.c_str(), value.c_str()); m_ini.SaveFile(m_filename.c_str()); } - bool IsValid() const; +private: + std::string GetSettingString(const std::string §ion, const std::string &key, std::string fallback = "") const; + int GetSettingInt(const std::string §ion, const std::string &key, int fallback) const; + bool GetSettingBool(const std::string §ion, const std::string &key, bool fallback) const; private: bool m_ok; -- cgit v1.2.3