28#include <ArduinoJson.h>
30namespace grmcdorman::device
58 explicit ConfigFile(
const char *explicit_path): path(explicit_path)
81 void save(
const std::vector<Device *> &devices);
91 bool load(
const std::vector<Device *> &devices);
98 void save(DynamicJsonDocument &json);
108 std::optional<DynamicJsonDocument>
load();
This class provides simple JSON configuration file save/load.
Definition: ConfigFile.h:40
ConfigFile(const char *explicit_path)
Construct a new Config File object.
Definition: ConfigFile.h:58
std::optional< DynamicJsonDocument > load()
Load the JSON settings from the file system.
Definition: ConfigFile.cpp:98
ConfigFile()
Construct a new Config File object.
Definition: ConfigFile.h:48
const char * get_path() const
Get the path.
Definition: ConfigFile.h:67
void save(const std::vector< Device * > &devices)
Save all device settings.
Definition: ConfigFile.cpp:31