From 1a3f05f0f4f5caf92e245dec9fe16255dd6970ba Mon Sep 17 00:00:00 2001 From: n0m1s Date: Sat, 11 Jan 2020 18:14:28 +0100 Subject: [PATCH] clock settings --- clock_settings.cpp | 40 ++++++++++++++++++++++++++++++++++++++++ clock_settings.h | 10 +++++++++- settings.cpp | 2 ++ settings.h | 1 + 4 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 clock_settings.cpp diff --git a/clock_settings.cpp b/clock_settings.cpp new file mode 100644 index 0000000..4b1f46b --- /dev/null +++ b/clock_settings.cpp @@ -0,0 +1,40 @@ +#include "clock_settings.h" +#include "string_helper.h" + +#include +#include + +ClockSettings::ClockSettings() +{ +} + +ClockSettings::~ClockSettings() +{ +} + +void ClockSettings::add_info(char const* key, char const* val) +{ + if(string_equals(key, "server")) + { + if(m_server != nullptr) + delete[] m_server; + + m_server = val; + } + else if(string_equals(key, "val")) + { + long const v = atoi(val); + delete[] val; + + if(v < 1) + m_cooldown = 1; + else if(v > UINT_MAX) + m_cooldown = UINT_MAX; + else + m_cooldown = (unsigned int) v; + } + else + delete[] val; + + delete[] key; +} diff --git a/clock_settings.h b/clock_settings.h index 9080a32..4b5c44d 100644 --- a/clock_settings.h +++ b/clock_settings.h @@ -3,7 +3,15 @@ class ClockSettings { - //TODO + public: + ClockSettings(); + ~ClockSettings(); + + void add_info(char const* key, char const* val); + + protected: + char const* m_server; + unsigned int m_cooldown; }; #endif //CLOCK_SETTINGS_H diff --git a/settings.cpp b/settings.cpp index 42e133b..c02a433 100644 --- a/settings.cpp +++ b/settings.cpp @@ -34,6 +34,8 @@ void Settings::add_line(char const* section, char const* key, char const* val) wifi.add_info(network_name, key, val); } + else if(string_equals(section, "clock")) + clock.add_info(key, val); else { delete[] key; diff --git a/settings.h b/settings.h index a4206b8..b4f7d80 100644 --- a/settings.h +++ b/settings.h @@ -19,6 +19,7 @@ class Settings static Settings const* load(char const* settings_filename); WifiSettings wifi; + ClockSettings clock; }; #endif //SETTINGS_H