Fork of the excellent esp8266-react - https://github.com/rjwats/esp8266-react
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

113 lines
2.5 KiB

  1. #ifndef ESP8266React_h
  2. #define ESP8266React_h
  3. #include <Arduino.h>
  4. #ifdef ESP32
  5. #include <AsyncTCP.h>
  6. #include <WiFi.h>
  7. #elif defined(ESP8266)
  8. #include <ESP8266WiFi.h>
  9. #include <ESPAsyncTCP.h>
  10. #endif
  11. #include <FeaturesService.h>
  12. #include <APSettingsService.h>
  13. #include <APStatus.h>
  14. #include <AuthenticationService.h>
  15. #include <FactoryResetService.h>
  16. #include <MqttSettingsService.h>
  17. #include <MqttStatus.h>
  18. #include <NTPSettingsService.h>
  19. #include <NTPStatus.h>
  20. #include <OTASettingsService.h>
  21. #include <RestartService.h>
  22. #include <SecuritySettingsService.h>
  23. #include <SystemStatus.h>
  24. #include <WiFiScanner.h>
  25. #include <WiFiSettingsService.h>
  26. #include <WiFiStatus.h>
  27. #ifdef PROGMEM_WWW
  28. #include <WWWData.h>
  29. #endif
  30. class ESP8266React {
  31. public:
  32. ESP8266React(AsyncWebServer* server, FS* fs);
  33. void begin();
  34. void loop();
  35. SecurityManager* getSecurityManager() {
  36. return &_securitySettingsService;
  37. }
  38. #if FT_ENABLED(FT_SECURITY)
  39. StatefulService<SecuritySettings>* getSecuritySettingsService() {
  40. return &_securitySettingsService;
  41. }
  42. #endif
  43. StatefulService<WiFiSettings>* getWiFiSettingsService() {
  44. return &_wifiSettingsService;
  45. }
  46. StatefulService<APSettings>* getAPSettingsService() {
  47. return &_apSettingsService;
  48. }
  49. #if FT_ENABLED(FT_NTP)
  50. StatefulService<NTPSettings>* getNTPSettingsService() {
  51. return &_ntpSettingsService;
  52. }
  53. #endif
  54. #if FT_ENABLED(FT_OTA)
  55. StatefulService<OTASettings>* getOTASettingsService() {
  56. return &_otaSettingsService;
  57. }
  58. #endif
  59. #if FT_ENABLED(FT_MQTT)
  60. StatefulService<MqttSettings>* getMqttSettingsService() {
  61. return &_mqttSettingsService;
  62. }
  63. AsyncMqttClient* getMqttClient() {
  64. return _mqttSettingsService.getMqttClient();
  65. }
  66. #endif
  67. void factoryReset() {
  68. _factoryResetService.factoryReset();
  69. }
  70. private:
  71. FeaturesService _featureService;
  72. SecuritySettingsService _securitySettingsService;
  73. WiFiSettingsService _wifiSettingsService;
  74. WiFiScanner _wifiScanner;
  75. WiFiStatus _wifiStatus;
  76. APSettingsService _apSettingsService;
  77. APStatus _apStatus;
  78. #if FT_ENABLED(FT_NTP)
  79. NTPSettingsService _ntpSettingsService;
  80. NTPStatus _ntpStatus;
  81. #endif
  82. #if FT_ENABLED(FT_OTA)
  83. OTASettingsService _otaSettingsService;
  84. #endif
  85. #if FT_ENABLED(FT_MQTT)
  86. MqttSettingsService _mqttSettingsService;
  87. MqttStatus _mqttStatus;
  88. #endif
  89. #if FT_ENABLED(FT_SECURITY)
  90. AuthenticationService _authenticationService;
  91. #endif
  92. RestartService _restartService;
  93. FactoryResetService _factoryResetService;
  94. SystemStatus _systemStatus;
  95. };
  96. #endif