From 049a9eaa5bd8b4613fbd38ac7c00cb621c00e131 Mon Sep 17 00:00:00 2001 From: liebman Date: Sat, 19 Jan 2019 15:34:21 -0800 Subject: [PATCH] decorate as override virtual methods in WiFiUDP (#5637) make WiFiUDP destructor virtual add empty virtual destructor to Udp --- cores/esp8266/Udp.h | 1 + libraries/ESP8266WiFi/src/WiFiUdp.h | 34 ++++++++++++++--------------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/cores/esp8266/Udp.h b/cores/esp8266/Udp.h index 8223c098a..ba2d5e371 100644 --- a/cores/esp8266/Udp.h +++ b/cores/esp8266/Udp.h @@ -41,6 +41,7 @@ class UDP: public Stream { public: + virtual ~UDP() {}; virtual uint8_t begin(uint16_t) =0; // initialize, start listening on specified port. Returns 1 if successful, 0 if there are no sockets available to use virtual void stop() =0; // Finish with the UDP socket diff --git a/libraries/ESP8266WiFi/src/WiFiUdp.h b/libraries/ESP8266WiFi/src/WiFiUdp.h index b336a4748..fb205513c 100644 --- a/libraries/ESP8266WiFi/src/WiFiUdp.h +++ b/libraries/ESP8266WiFi/src/WiFiUdp.h @@ -37,15 +37,15 @@ public: WiFiUDP(); // Constructor WiFiUDP(const WiFiUDP& other); WiFiUDP& operator=(const WiFiUDP& rhs); - ~WiFiUDP(); + virtual ~WiFiUDP(); operator bool() const { return _ctx != 0; } // initialize, start listening on specified port. // Returns 1 if successful, 0 if there are no sockets available to use - virtual uint8_t begin(uint16_t port); + uint8_t begin(uint16_t port) override; // Finish with the UDP connetion - virtual void stop(); + void stop() override; // join a multicast group and listen on the given port uint8_t beginMulticast(IPAddress interfaceAddr, IPAddress multicast, uint16_t port); @@ -53,10 +53,10 @@ public: // Start building up a packet to send to the remote host specific in ip and port // Returns 1 if successful, 0 if there was a problem with the supplied IP address or port - virtual int beginPacket(IPAddress ip, uint16_t port); + int beginPacket(IPAddress ip, uint16_t port) override; // Start building up a packet to send to the remote host specific in host and port // Returns 1 if successful, 0 if there was a problem resolving the hostname or port - virtual int beginPacket(const char *host, uint16_t port); + int beginPacket(const char *host, uint16_t port) override; // Start building up a packet to send to the multicast address // multicastAddress - muticast address to send to // interfaceAddress - the local IP address of the interface that should be used @@ -69,35 +69,35 @@ public: int ttl = 1); // Finish off this packet and send it // Returns 1 if the packet was sent successfully, 0 if there was an error - virtual int endPacket(); + int endPacket() override; // Write a single byte into the packet - virtual size_t write(uint8_t); + size_t write(uint8_t) override; // Write size bytes from buffer into the packet - virtual size_t write(const uint8_t *buffer, size_t size); + size_t write(const uint8_t *buffer, size_t size) override; using Print::write; // Start processing the next available incoming packet // Returns the size of the packet in bytes, or 0 if no packets are available - virtual int parsePacket(); + int parsePacket() override; // Number of bytes remaining in the current packet - virtual int available(); + int available() override; // Read a single byte from the current packet - virtual int read(); + int read() override; // Read up to len bytes from the current packet and place them into buffer // Returns the number of bytes read, or 0 if none are available - virtual int read(unsigned char* buffer, size_t len); + int read(unsigned char* buffer, size_t len) override; // Read up to len characters from the current packet and place them into buffer // Returns the number of characters read, or 0 if none are available - virtual int read(char* buffer, size_t len) { return read((unsigned char*)buffer, len); }; + int read(char* buffer, size_t len) override { return read((unsigned char*)buffer, len); }; // Return the next byte from the current packet without moving on to the next byte - virtual int peek(); - virtual void flush(); // Finish reading the current packet + int peek() override; + void flush() override; // Finish reading the current packet // Return the IP address of the host who sent the current incoming packet - virtual IPAddress remoteIP() const; + IPAddress remoteIP() const override; // Return the port of the host who sent the current incoming packet - virtual uint16_t remotePort() const; + uint16_t remotePort() const override; // Return the destination address for incoming packets, // useful to distinguish multicast and ordinary packets IPAddress destinationIP() const;