#include #include #include #include #include #include class APService : public StatefulService { public: APService(); ~APService(); void begin(); void loop(); void recoveryMode(); esp_err_t getStatus(PsychicRequest *request); void status(JsonObject &root); APNetworkStatus getAPNetworkStatus(); StatefulHttpEndpoint endpoint; private: PsychicHttpServer *_server; FSPersistence _persistence; DNSServer *_dnsServer; volatile unsigned long _lastManaged; volatile boolean _reconfigureAp; volatile boolean _recoveryMode = false; void reconfigureAP(); void manageAP(); void startAP(); void stopAP(); void handleDNS(); };