diff options
author | ouwou <26526779+ouwou@users.noreply.github.com> | 2020-12-17 01:40:02 -0500 |
---|---|---|
committer | ouwou <26526779+ouwou@users.noreply.github.com> | 2020-12-17 01:40:02 -0500 |
commit | 58d0424dfc47e99c9c21396819a2234df158b4d0 (patch) | |
tree | 19c0b48efcfa0b04b1a31a59477c35f7f4724155 /settings.hpp | |
parent | 315a4a8df80b922bbb8132c625803443c031dfd3 (diff) | |
download | abaddon-portaudio-58d0424dfc47e99c9c21396819a2234df158b4d0.tar.gz abaddon-portaudio-58d0424dfc47e99c9c21396819a2234df158b4d0.zip |
abstract away settings some more
Diffstat (limited to 'settings.hpp')
-rw-r--r-- | settings.hpp | 27 |
1 files changed, 19 insertions, 8 deletions
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<typename T> void SetSetting(std::string section, std::string key, T value) { - if constexpr (std::is_same<T, std::string>::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>(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; |