diff --git a/WiFiManager.cpp b/WiFiManager.cpp index a5ad368..03d5050 100644 --- a/WiFiManager.cpp +++ b/WiFiManager.cpp @@ -1887,6 +1887,9 @@ void WiFiManager::resetSettings() { DEBUG_WM(F("SETTINGS ERASED")); WiFi_enableSTA(true,true); // must be sta to disconnect erase + if (_resetcallback != NULL) + _resetcallback(); + #ifdef ESP32 WiFi.disconnect(true,true); #else @@ -2020,6 +2023,12 @@ void WiFiManager::setSaveConfigCallback( std::function func ) { _savecallback = func; } +//start up reset config callback +void WiFiManager::setConfigResetCallback(void(*func)(void)) { + _resetcallback = func; +} + +//sets a custom element to add to head, like a new style tag /** * setPreSaveConfigCallback, set a pre save config callback after closing configportal * @todo only calls if configportal stopped diff --git a/WiFiManager.h b/WiFiManager.h index 93b405b..97d3103 100644 --- a/WiFiManager.h +++ b/WiFiManager.h @@ -196,6 +196,8 @@ class WiFiManager void setSTAStaticIPConfig(IPAddress ip, IPAddress gw, IPAddress sn, IPAddress dns); //called when AP mode and config portal is started void setAPCallback( std::function func ); + //called when settings reset have been triggered + void setConfigResetCallback(void(*func)(void)); //called when settings have been changed and connection was successful void setSaveConfigCallback( std::function func ); //called when settings before have been changed and connection was successful @@ -462,7 +464,8 @@ class WiFiManager template void DEBUG_WM(Generic text); - template + + template void DEBUG_WM(wm_debuglevel_t level,Generic text); template void DEBUG_WM(Generic text,Genericb textb); @@ -473,6 +476,7 @@ class WiFiManager std::function _apcallback; std::function _savecallback; std::function _presavecallback; + void (*_resetcallback)(void) = NULL; // @todo change to std func template auto optionalIPFromString(T *obj, const char *s) -> decltype( obj->fromString(s) ) {