LoRa_APRS_iGate/src/ConfigurationManagement/configuration.h

32 wiersze
738 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
2022-03-19 23:37:29 +00:00
#include <logger.h>
2021-01-01 22:23:27 +00:00
class Configuration;
class ConfigurationManagement {
2021-01-01 22:23:27 +00:00
public:
2022-03-19 23:37:29 +00:00
explicit ConfigurationManagement(logging::Logger &logger, String FilePath);
virtual ~ConfigurationManagement();
2021-01-01 22:23:27 +00:00
2022-03-19 23:37:29 +00:00
void readConfiguration(logging::Logger &logger, Configuration &conf);
void writeConfiguration(logging::Logger &logger, Configuration &conf);
2021-01-01 22:23:27 +00:00
private:
2021-05-18 22:44:37 +00:00
virtual void readProjectConfiguration(DynamicJsonDocument &data, Configuration &conf) = 0;
virtual void writeProjectConfiguration(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