#pragma once #ifndef Settings_h #define Settings_h #include "configs.h" #include "SPIFFS.h" #include #include #define FORMAT_SPIFFS_IF_FAILED true #ifdef HAS_SCREEN #include "Display.h" extern Display display_obj; #endif class Settings { private: String json_settings_string; public: bool begin(); template T loadSetting(String name); template T saveSetting(String key, bool value); template T saveSetting(String key, String value); bool toggleSetting(String key); String getSettingType(String key); String setting_index_to_name(int i); int getNumberSettings(); //template<> //int loadSetting(String key); //template<> //String loadSetting(String key); //template<> //bool loadSetting(String key); //template<> //uint8_t loadSetting(String key); String getSettingsString(); bool createDefaultSettings(fs::FS &fs, bool spec = false, uint8_t index = 0, String typeStr = "bool", String name = ""); void printJsonSettings(String json_string); void main(uint32_t currentTime); }; #endif