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.

122 lines
2.6 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 <UploadFirmwareService.h>
  22. #include <RestartService.h>
  23. #include <SecuritySettingsService.h>
  24. #include <SystemStatus.h>
  25. #include <WiFiScanner.h>
  26. #include <WiFiSettingsService.h>
  27. #include <WiFiStatus.h>
  28. #include <ESPFS.h>
  29. #ifdef PROGMEM_WWW
  30. #include <WWWData.h>
  31. #endif
  32. class ESP8266React {
  33. public:
  34. ESP8266React(AsyncWebServer* server);
  35. void begin();
  36. void loop();
  37. FS* getFS() {
  38. return &ESPFS;
  39. }
  40. SecurityManager* getSecurityManager() {
  41. return &_securitySettingsService;
  42. }
  43. #if FT_ENABLED(FT_SECURITY)
  44. StatefulService<SecuritySettings>* getSecuritySettingsService() {
  45. return &_securitySettingsService;
  46. }
  47. #endif
  48. StatefulService<WiFiSettings>* getWiFiSettingsService() {
  49. return &_wifiSettingsService;
  50. }
  51. StatefulService<APSettings>* getAPSettingsService() {
  52. return &_apSettingsService;
  53. }
  54. #if FT_ENABLED(FT_NTP)
  55. StatefulService<NTPSettings>* getNTPSettingsService() {
  56. return &_ntpSettingsService;
  57. }
  58. #endif
  59. #if FT_ENABLED(FT_OTA)
  60. StatefulService<OTASettings>* getOTASettingsService() {
  61. return &_otaSettingsService;
  62. }
  63. #endif
  64. #if FT_ENABLED(FT_MQTT)
  65. StatefulService<MqttSettings>* getMqttSettingsService() {
  66. return &_mqttSettingsService;
  67. }
  68. AsyncMqttClient* getMqttClient() {
  69. return _mqttSettingsService.getMqttClient();
  70. }
  71. #endif
  72. void factoryReset() {
  73. _factoryResetService.factoryReset();
  74. }
  75. private:
  76. FeaturesService _featureService;
  77. SecuritySettingsService _securitySettingsService;
  78. WiFiSettingsService _wifiSettingsService;
  79. WiFiScanner _wifiScanner;
  80. WiFiStatus _wifiStatus;
  81. APSettingsService _apSettingsService;
  82. APStatus _apStatus;
  83. #if FT_ENABLED(FT_NTP)
  84. NTPSettingsService _ntpSettingsService;
  85. NTPStatus _ntpStatus;
  86. #endif
  87. #if FT_ENABLED(FT_OTA)
  88. OTASettingsService _otaSettingsService;
  89. #endif
  90. #if FT_ENABLED(FT_UPLOAD_FIRMWARE)
  91. UploadFirmwareService _uploadFirmwareService;
  92. #endif
  93. #if FT_ENABLED(FT_MQTT)
  94. MqttSettingsService _mqttSettingsService;
  95. MqttStatus _mqttStatus;
  96. #endif
  97. #if FT_ENABLED(FT_SECURITY)
  98. AuthenticationService _authenticationService;
  99. #endif
  100. RestartService _restartService;
  101. FactoryResetService _factoryResetService;
  102. SystemStatus _systemStatus;
  103. };
  104. #endif