diff --git a/libraries/ESP8266SSDP/ESP8266SSDP.cpp b/libraries/ESP8266SSDP/ESP8266SSDP.cpp index a634415377..4c0968135c 100644 --- a/libraries/ESP8266SSDP/ESP8266SSDP.cpp +++ b/libraries/ESP8266SSDP/ESP8266SSDP.cpp @@ -118,7 +118,6 @@ static const char* _ssdp_schema_template = "\r\n" "\r\n"; - struct SSDPTimer { ETSTimer timer; }; @@ -238,7 +237,7 @@ void SSDPClass::_send(ssdp_method_t method){ _server->send(&remoteAddr, remotePort); } -void SSDPClass::schema(WiFiClient client){ +void SSDPClass::schema(WiFiClient & client) const{ uint32_t ip = WiFi.localIP(); client.printf(_ssdp_schema_template, IP2STR(&ip), _port, @@ -255,6 +254,22 @@ void SSDPClass::schema(WiFiClient client){ ); } +void SSDPClass::schema(Print & print) const{ + uint32_t ip = WiFi.localIP(); + print.printf(_ssdp_schema_template, + IP2STR(&ip), _port, + _deviceType, + _friendlyName, + _presentationURL, + _serialNumber, + _modelName, + _modelNumber, + _modelURL, + _manufacturer, + _manufacturerURL, + _uuid + ); +} void SSDPClass::_update(){ if(!_pending && _server->next()) { ssdp_method_t method = NONE; diff --git a/libraries/ESP8266SSDP/ESP8266SSDP.h b/libraries/ESP8266SSDP/ESP8266SSDP.h index 74d8bbacf4..4a11798556 100644 --- a/libraries/ESP8266SSDP/ESP8266SSDP.h +++ b/libraries/ESP8266SSDP/ESP8266SSDP.h @@ -63,7 +63,8 @@ class SSDPClass{ bool begin(); - void schema(WiFiClient client); + void schema(WiFiClient & client) const; + void schema(Print & print) const; void setDeviceType(const String& deviceType) { setDeviceType(deviceType.c_str()); } void setDeviceType(const char *deviceType);