adds setPreSaveParamsCallback

//called when saving params before anything else happens
    void          setPreSaveParamsCallback( std::function<void()> func );
This commit is contained in:
tablatronix
2022-06-17 14:07:11 -05:00
parent b5671834e4
commit 317c026952
2 changed files with 20 additions and 8 deletions
+13 -5
View File
@@ -1773,11 +1773,10 @@ void WiFiManager::handleWifiSave() {
#endif
}
// @todo use new callback for before paramsaves
if (!_paramsInWifi && _presavecallback != NULL) {
if (_presavecallback != NULL) {
_presavecallback(); // @CALLBACK
}
if(_paramsInWifi) doParamSave();
String page;
@@ -1827,8 +1826,8 @@ void WiFiManager::handleParamSave() {
void WiFiManager::doParamSave(){
// @todo use new callback for before paramsaves, is this really needed?
if ( _presavecallback != NULL) {
_presavecallback(); // @CALLBACK
if ( _presaveparamscallback != NULL) {
_presaveparamscallback(); // @CALLBACK
}
//parameters
@@ -2713,6 +2712,15 @@ void WiFiManager::setSaveParamsCallback( std::function<void()> func ) {
_saveparamscallback = func;
}
/**
* setPreSaveParamsCallback, set a pre save params callback on params save prior to anything else
* @access public
* @param {[type]} void (*func)(void)
*/
void WiFiManager::setPreSaveParamsCallback( std::function<void()> func ) {
_presaveparamscallback = func;
}
/**
* setPreSaveConfigCallback, set a callback to fire before saving wifi or params
* @access public
+7 -3
View File
@@ -244,12 +244,15 @@ class WiFiManager
//called when wifi settings have been changed and connection was successful ( or setBreakAfterConfig(true) )
void setSaveConfigCallback( std::function<void()> func );
//called when saving either params-in-wifi or params page
void setSaveParamsCallback( std::function<void()> func );
//called when saving params-in-wifi or params before anything else happens (eg wifi)
void setPreSaveConfigCallback( std::function<void()> func );
//called when saving params before anything else happens
void setPreSaveParamsCallback( std::function<void()> func );
//called when saving either params-in-wifi or params page
void setSaveParamsCallback( std::function<void()> func );
//called just before doing OTA update
void setPreOtaUpdateCallback( std::function<void()> func );
@@ -729,6 +732,7 @@ class WiFiManager
std::function<void()> _webservercallback;
std::function<void()> _savewificallback;
std::function<void()> _presavecallback;
std::function<void()> _presaveparamscallback;
std::function<void()> _saveparamscallback;
std::function<void()> _resetcallback;
std::function<void()> _preotaupdatecallback;