From f2a4553fa9d64cc39d138531d0a8d662af733ef8 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Wed, 3 May 2023 15:13:14 -0400 Subject: Connection details are saved locally --- tracker_config.cpp | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 tracker_config.cpp (limited to 'tracker_config.cpp') diff --git a/tracker_config.cpp b/tracker_config.cpp new file mode 100644 index 0000000..96bb60a --- /dev/null +++ b/tracker_config.cpp @@ -0,0 +1,33 @@ +#include "tracker_config.h" + +#include +#include + +constexpr const char* CONFIG_FILE_NAME = "config.yaml"; + +void TrackerConfig::Load() { + try { + YAML::Node file = YAML::LoadFile(CONFIG_FILE_NAME); + + ap_server = file["ap_server"].as(); + ap_player = file["ap_player"].as(); + ap_password = file["ap_password"].as(); + } catch (const std::exception&) { + // It's fine if the file can't be loaded. + } +} + +void TrackerConfig::Save() { + YAML::Node output; + output["ap_server"] = ap_server; + output["ap_player"] = ap_player; + output["ap_password"] = ap_password; + + std::ofstream filewriter(CONFIG_FILE_NAME); + filewriter << output; +} + +TrackerConfig& GetTrackerConfig() { + static TrackerConfig* instance = new TrackerConfig(); + return *instance; +} -- cgit 1.4.1