LoRa_APRS_iGate/lib/ConfigurationManagement/configuration.h

30 wiersze
775 B
C
Czysty Zwykły widok Historia

2021-01-01 22:23:27 +00:00
#ifndef CONFIGURATION_H_
#define CONFIGURATION_H_
#include <list>
#include <memory>
2021-01-01 22:23:27 +00:00
#include <Arduino.h>
2021-01-09 12:36:49 +00:00
#ifndef CPPCHECK
2021-01-01 22:23:27 +00:00
#include <ArduinoJson.h>
2021-01-09 12:36:49 +00:00
#endif
2021-01-01 22:23:27 +00:00
class Configuration;
class ConfigurationManagement {
2021-01-01 22:23:27 +00:00
public:
explicit ConfigurationManagement(String FilePath);
virtual ~ConfigurationManagement();
2021-01-01 22:23:27 +00:00
std::shared_ptr<Configuration> readConfiguration();
void writeConfiguration(std::shared_ptr<Configuration> conf);
2021-01-01 22:23:27 +00:00
private:
virtual std::shared_ptr<Configuration> readProjectConfiguration(DynamicJsonDocument &data) = 0;
virtual void writeProjectConfiguration(std::shared_ptr<Configuration> conf, DynamicJsonDocument &data) = 0;
2021-01-01 22:23:27 +00:00
const String mFilePath;
2021-01-01 22:23:27 +00:00
};
#endif