Initial commit for Plugins

Commits squashed, code style and naming changes by Adam Honse <calcprogrammer1@gmail.com>
This commit is contained in:
silas 2020-12-07 19:14:54 -06:00 committed by Adam Honse
parent 5f5d50ffd8
commit 93231c3225
14 changed files with 344 additions and 24 deletions

View file

@ -15,19 +15,31 @@
using json = nlohmann::json;
class SettingsManager
class SettingsManagerInterface
{
public:
virtual json GetSettings(std::string settings_key) = 0;
virtual void SetSettings(std::string settings_key, json new_settings) = 0;
virtual void LoadSettings(std::string filename) = 0;
virtual void SaveSettings() = 0;
protected:
virtual ~SettingsManagerInterface() {};
};
class SettingsManager: public SettingsManagerInterface
{
public:
SettingsManager();
~SettingsManager();
json GetSettings(std::string settings_key);
void SetSettings(std::string settings_key, json new_settings);
json GetSettings(std::string settings_key) override;
void SetSettings(std::string settings_key, json new_settings) override;
void LoadSettings(std::string filename);
void SaveSettings();
void LoadSettings(std::string filename) override;
void SaveSettings() override;
private:
json settings_data;
json settings_prototype;