Merge pull request #378 from gmag11/resetConfigCallback

Add a callback when reset settings is triggered, changed to development branch
This commit is contained in:
Shawn A
2018-10-05 09:21:36 -05:00
committed by GitHub
2 changed files with 14 additions and 1 deletions
+9
View File
@@ -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<void()> 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
+5 -1
View File
@@ -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<void(WiFiManager*)> 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<void()> func );
//called when settings before have been changed and connection was successful
@@ -462,7 +464,8 @@ class WiFiManager
template <typename Generic>
void DEBUG_WM(Generic text);
template <typename Generic>
template <typename Generic>
void DEBUG_WM(wm_debuglevel_t level,Generic text);
template <typename Generic, typename Genericb>
void DEBUG_WM(Generic text,Genericb textb);
@@ -473,6 +476,7 @@ class WiFiManager
std::function<void(WiFiManager*)> _apcallback;
std::function<void()> _savecallback;
std::function<void()> _presavecallback;
void (*_resetcallback)(void) = NULL; // @todo change to std func
template <class T>
auto optionalIPFromString(T *obj, const char *s) -> decltype( obj->fromString(s) ) {