uEspConfigLib
https://github.com/Naguissa/uEspConfigLib
uEspConfigLib.h
Go to the documentation of this file.
1
21#pragma once
22
23#include <Arduino.h>
24#ifdef ARDUINO_ARCH_ESP32
25 #include <WiFi.h>
26 #include <WiFiAP.h>
27 #include "WebServer.h"
28#else
29 #include "ESP8266WebServer.h"
30#endif
32#ifdef ARDUINO_ARCH_ESP32
33 #include "WebServer.h"
34 #define uEspConfigLib_WebServer WebServer
35#else
36 #include "ESP8266WebServer.h"
37 #define uEspConfigLib_WebServer ESP8266WebServer
38#endif
39
40
42 uEspConfigLibList() : next(0), name(0), description(0), defaultValue(0), value(0) {};
44 char * name;
45 char * description;
46 char * defaultValue;
47 char * value;
48};
49
50#define uEspConfigLib_free(field) if (field != 0) { free(field); field = 0; }
51#define uEspConfigLib_WebServer_sendContent(data) if (*data != 0) { server->sendContent(data); }
52
54 public:
61
62 // Regular usage functions
70 void addOption(const char *, const char *, const char *);
71
79 bool set(const char *, const char *);
80
87 char * getPointer(const char *);
88
95 bool clear(const char *);
96
97 // Web server functions
106 void handleConfigRequestHtml(uEspConfigLib_WebServer *, const char * = "/uConfigLib/saveConfig");
107
138 void handleConfigRequestJson(uEspConfigLib_WebServer *);
139
154 void handleSaveConfig(uEspConfigLib_WebServer *);
155
156
157 // FS functions
158
164 bool loadConfigFile();
165
171 bool saveConfigFile();
172
173 private:
174 uEspConfigLib(); // 1 arg needed
175 void _copyName(uEspConfigLibList *, const char *);
176 void _copyDefault(uEspConfigLibList *, const char *);
177 void _copyValue(uEspConfigLibList *, const char *);
178 void _copyValue(uEspConfigLibList *, const String);
179 void _copyDescription(uEspConfigLibList *, const char *);
180 void _parseConfigLine(String);
181 uEspConfigLibList *list;
183
184};
185
The deffinitive ESP32 and ESP8266 configuration Arduino library, uEspConfigLib - FileSystem interface...
Definition: uEspConfigLibFSInterface.h:50
The deffinitive ESP32 and ESP8266 configuration Arduino library, uEspConfigLib.
Definition: uEspConfigLib.h:53
char * getPointer(const char *)
Gets a char pointer to the current value of a configuration option.
Definition: uEspConfigLib.cpp:138
void handleConfigRequestJson(uEspConfigLib_WebServer *)
Handles a configuration JSON request.
Definition: uEspConfigLib.cpp:242
void handleSaveConfig(uEspConfigLib_WebServer *)
Handles a save configuration request.
Definition: uEspConfigLib.cpp:294
void handleConfigRequestHtml(uEspConfigLib_WebServer *, const char *="/uConfigLib/saveConfig")
Handles a configuration HTML form request.
Definition: uEspConfigLib.cpp:172
bool set(const char *, const char *)
Changes a configuration option current value.
Definition: uEspConfigLib.cpp:118
bool loadConfigFile()
Loads config file from FileSystem and processes it.
Definition: uEspConfigLib.cpp:346
bool clear(const char *)
Changes a configuration option to its default value.
Definition: uEspConfigLib.cpp:153
void addOption(const char *, const char *, const char *)
Defines a configuration option.
Definition: uEspConfigLib.cpp:80
bool saveConfigFile()
Recreates and overwrites config file to FileSystem with current configurations.
Definition: uEspConfigLib.cpp:365
Definition: uEspConfigLib.h:41