bigcode-starcoder2-15b / settings_manager.h
Dikhan1's picture
Upload 24 files
96a5049 verified
raw
history blame
808 Bytes
#pragma once
#include "Arduino.h"
#include "structures.h"
#include "SD.h"
#include "ArduinoJson.h"
class SettingsManager {
private:
SystemSettings settings;
static const char* NAMESPACE;
static const char* SETTINGS_KEY;
uint32_t version;
void setDefaults();
bool validateSettings();
public:
SettingsManager();
void begin();
bool load();
bool save();
void reset();
SystemSettings& getSettings() { return settings; }
void setSettings(const SystemSettings& newSettings);
String exportToJson();
bool importFromJson(const String& json);
bool saveToSD(const char* filename);
bool loadFromSD(const char* filename);
uint32_t getVersion() const { return version; }
bool isCompatibleVersion(uint32_t version) const;
};