Allow chaining of methods for more concise code (#809)

This commit is contained in:
0xPIT
2017-11-06 14:25:11 +01:00
committed by Me No Dev
parent 21026e2373
commit 7890e1192b
3 changed files with 56 additions and 43 deletions

View File

@ -31,39 +31,45 @@ ArduinoOTAClass::~ArduinoOTAClass(){
_udp_ota.stop();
}
void ArduinoOTAClass::onStart(THandlerFunction fn) {
ArduinoOTAClass& ArduinoOTAClass::onStart(THandlerFunction fn) {
_start_callback = fn;
return *this;
}
void ArduinoOTAClass::onEnd(THandlerFunction fn) {
ArduinoOTAClass& ArduinoOTAClass::onEnd(THandlerFunction fn) {
_end_callback = fn;
return *this;
}
void ArduinoOTAClass::onProgress(THandlerFunction_Progress fn) {
ArduinoOTAClass& ArduinoOTAClass::onProgress(THandlerFunction_Progress fn) {
_progress_callback = fn;
return *this;
}
void ArduinoOTAClass::onError(THandlerFunction_Error fn) {
ArduinoOTAClass& ArduinoOTAClass::onError(THandlerFunction_Error fn) {
_error_callback = fn;
return *this;
}
void ArduinoOTAClass::setPort(uint16_t port) {
ArduinoOTAClass& ArduinoOTAClass::setPort(uint16_t port) {
if (!_initialized && !_port && port) {
_port = port;
}
return *this;
}
void ArduinoOTAClass::setHostname(const char * hostname) {
ArduinoOTAClass& ArduinoOTAClass::setHostname(const char * hostname) {
if (!_initialized && !_hostname.length() && hostname) {
_hostname = hostname;
}
return *this;
}
String ArduinoOTAClass::getHostname() {
return _hostname;
}
void ArduinoOTAClass::setPassword(const char * password) {
ArduinoOTAClass& ArduinoOTAClass::setPassword(const char * password) {
if (!_initialized && !_password.length() && password) {
MD5Builder passmd5;
passmd5.begin();
@ -71,20 +77,24 @@ void ArduinoOTAClass::setPassword(const char * password) {
passmd5.calculate();
_password = passmd5.toString();
}
return *this;
}
void ArduinoOTAClass::setPasswordHash(const char * password) {
ArduinoOTAClass& ArduinoOTAClass::setPasswordHash(const char * password) {
if (!_initialized && !_password.length() && password) {
_password = password;
}
return *this;
}
void ArduinoOTAClass::setRebootOnSuccess(bool reboot){
ArduinoOTAClass& ArduinoOTAClass::setRebootOnSuccess(bool reboot){
_rebootOnSuccess = reboot;
return *this;
}
void ArduinoOTAClass::setMdnsEnabled(bool enabled){
ArduinoOTAClass& ArduinoOTAClass::setMdnsEnabled(bool enabled){
_mdnsEnabled = enabled;
return *this;
}
void ArduinoOTAClass::begin() {