settings.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #ifndef Settings_h
  2. #define Settings_h
  3. #include "SPIFFS.h"
  4. #include <FS.h>
  5. #include <ArduinoJson.h>
  6. #define FORMAT_SPIFFS_IF_FAILED true
  7. #include "Display.h"
  8. extern Display display_obj;
  9. class Settings {
  10. private:
  11. String json_settings_string;
  12. void printJsonSettings(String json_string);
  13. bool createDefaultSettings(fs::FS &fs);
  14. public:
  15. bool begin();
  16. template <typename T>
  17. T loadSetting(String name);
  18. template <typename T>
  19. T saveSetting(String key, bool value);
  20. bool toggleSetting(String key);
  21. String getSettingType(String key);
  22. String setting_index_to_name(int i);
  23. int getNumberSettings();
  24. //template<>
  25. //int loadSetting<int>(String key);
  26. //template<>
  27. //String loadSetting<String>(String key);
  28. //template<>
  29. //bool loadSetting<bool>(String key);
  30. //template<>
  31. //uint8_t loadSetting<uint8_t>(String key);
  32. String getSettingsString();
  33. void main(uint32_t currentTime);
  34. };
  35. #endif