Files
WordClockESP/lib/framework/ESP8266React.h
T

122 lines
2.6 KiB
C++
Raw Normal View History

2019-07-14 22:13:26 +01:00
#ifndef ESP8266React_h
#define ESP8266React_h
#include <Arduino.h>
2019-12-24 11:19:19 +00:00
#ifdef ESP32
#include <AsyncTCP.h>
2019-12-29 17:54:12 +00:00
#include <WiFi.h>
2019-12-24 11:19:19 +00:00
#elif defined(ESP8266)
#include <ESP8266WiFi.h>
#include <ESPAsyncTCP.h>
2019-07-14 22:13:26 +01:00
#endif
#include <FeaturesService.h>
2019-07-14 22:13:26 +01:00
#include <APSettingsService.h>
#include <APStatus.h>
#include <AuthenticationService.h>
2020-05-20 00:32:49 +01:00
#include <FactoryResetService.h>
#include <MqttSettingsService.h>
#include <MqttStatus.h>
#include <NTPSettingsService.h>
#include <NTPStatus.h>
#include <OTASettingsService.h>
2020-06-29 00:25:58 +01:00
#include <UploadFirmwareService.h>
2019-12-01 08:28:40 +00:00
#include <RestartService.h>
#include <SecuritySettingsService.h>
#include <SystemStatus.h>
#include <WiFiScanner.h>
#include <WiFiSettingsService.h>
#include <WiFiStatus.h>
2020-07-19 19:32:08 +01:00
#include <ESPFS.h>
2019-07-14 22:13:26 +01:00
2019-12-29 17:54:12 +00:00
#ifdef PROGMEM_WWW
#include <WWWData.h>
#endif
2019-07-14 22:13:26 +01:00
class ESP8266React {
public:
2020-07-19 19:32:08 +01:00
ESP8266React(AsyncWebServer* server);
2019-07-14 22:13:26 +01:00
void begin();
void loop();
2019-07-14 22:13:26 +01:00
2020-07-19 19:32:08 +01:00
FS* getFS() {
return &ESPFS;
}
SecurityManager* getSecurityManager() {
return &_securitySettingsService;
}
2019-07-14 22:13:26 +01:00
#if FT_ENABLED(FT_SECURITY)
StatefulService<SecuritySettings>* getSecuritySettingsService() {
2020-02-01 08:44:26 +00:00
return &_securitySettingsService;
}
#endif
2020-02-01 08:44:26 +00:00
StatefulService<WiFiSettings>* getWiFiSettingsService() {
2020-02-01 08:44:26 +00:00
return &_wifiSettingsService;
}
StatefulService<APSettings>* getAPSettingsService() {
2020-02-01 08:44:26 +00:00
return &_apSettingsService;
}
#if FT_ENABLED(FT_NTP)
StatefulService<NTPSettings>* getNTPSettingsService() {
2020-02-01 08:44:26 +00:00
return &_ntpSettingsService;
}
#endif
2020-02-01 08:44:26 +00:00
#if FT_ENABLED(FT_OTA)
StatefulService<OTASettings>* getOTASettingsService() {
2020-02-01 08:44:26 +00:00
return &_otaSettingsService;
}
#endif
2020-02-01 08:44:26 +00:00
#if FT_ENABLED(FT_MQTT)
StatefulService<MqttSettings>* getMqttSettingsService() {
return &_mqttSettingsService;
}
AsyncMqttClient* getMqttClient() {
return _mqttSettingsService.getMqttClient();
}
#endif
2020-05-20 00:32:49 +01:00
void factoryReset() {
_factoryResetService.factoryReset();
}
private:
FeaturesService _featureService;
SecuritySettingsService _securitySettingsService;
WiFiSettingsService _wifiSettingsService;
WiFiScanner _wifiScanner;
WiFiStatus _wifiStatus;
APSettingsService _apSettingsService;
APStatus _apStatus;
#if FT_ENABLED(FT_NTP)
NTPSettingsService _ntpSettingsService;
NTPStatus _ntpStatus;
#endif
#if FT_ENABLED(FT_OTA)
OTASettingsService _otaSettingsService;
#endif
2020-06-29 00:25:58 +01:00
#if FT_ENABLED(FT_UPLOAD_FIRMWARE)
UploadFirmwareService _uploadFirmwareService;
#endif
#if FT_ENABLED(FT_MQTT)
MqttSettingsService _mqttSettingsService;
MqttStatus _mqttStatus;
#endif
#if FT_ENABLED(FT_SECURITY)
AuthenticationService _authenticationService;
#endif
RestartService _restartService;
FactoryResetService _factoryResetService;
SystemStatus _systemStatus;
2019-07-14 22:13:26 +01:00
};
#endif