From 92f4541abc06be67ca5b9fe1b4e389e67c2fa29a Mon Sep 17 00:00:00 2001 From: Rocketct Date: Tue, 4 Jul 2023 16:52:46 +0200 Subject: [PATCH 1/4] added comparison operator to wifiClient class --- libraries/WiFiS3/src/WiFiClient.cpp | 7 +++++++ libraries/WiFiS3/src/WiFiClient.h | 6 +++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/libraries/WiFiS3/src/WiFiClient.cpp b/libraries/WiFiS3/src/WiFiClient.cpp index 5a08e7606..5fab11969 100644 --- a/libraries/WiFiS3/src/WiFiClient.cpp +++ b/libraries/WiFiS3/src/WiFiClient.cpp @@ -226,6 +226,13 @@ uint8_t WiFiClient::connected() { return rv; } +/* -------------------------------------------------------------------------- */ +bool WiFiClient::operator==(const WiFiClient& whs) +{ + /* -------------------------------------------------------------------------- */ + return _sock == whs._sock; +} + /* -------------------------------------------------------------------------- */ IPAddress WiFiClient::remoteIP() { /* -------------------------------------------------------------------------- */ diff --git a/libraries/WiFiS3/src/WiFiClient.h b/libraries/WiFiS3/src/WiFiClient.h index 487ebc686..3c8571990 100644 --- a/libraries/WiFiS3/src/WiFiClient.h +++ b/libraries/WiFiS3/src/WiFiClient.h @@ -54,7 +54,11 @@ class WiFiClient : public Client { virtual operator bool() { return _sock != -1; } - + virtual bool operator==(const WiFiClient&); + virtual bool operator!=(const WiFiClient& whs) + { + return !this->operator==(whs); + }; virtual IPAddress remoteIP(); virtual uint16_t remotePort(); From 60a2ced17780c820fc9fa666dd812d29c5109dbb Mon Sep 17 00:00:00 2001 From: Rocketct Date: Tue, 4 Jul 2023 17:13:29 +0200 Subject: [PATCH 2/4] added comparison operator to wifiSSLClient class --- libraries/WiFiS3/src/WiFiSSLClient.cpp | 4 ++++ libraries/WiFiS3/src/WiFiSSLClient.h | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/libraries/WiFiS3/src/WiFiSSLClient.cpp b/libraries/WiFiS3/src/WiFiSSLClient.cpp index a19d262eb..a00954697 100644 --- a/libraries/WiFiS3/src/WiFiSSLClient.cpp +++ b/libraries/WiFiS3/src/WiFiSSLClient.cpp @@ -219,6 +219,10 @@ uint8_t WiFiSSLClient::connected() { } return rv; } +bool WiFiSSLClient::operator==(const WiFiSSLClient& whs) +{ + return _sock == whs._sock; +} /* -------------------------------------------------------------------------- */ IPAddress WiFiSSLClient::remoteIP() { diff --git a/libraries/WiFiS3/src/WiFiSSLClient.h b/libraries/WiFiS3/src/WiFiSSLClient.h index 3bea776f0..45046f604 100644 --- a/libraries/WiFiS3/src/WiFiSSLClient.h +++ b/libraries/WiFiS3/src/WiFiSSLClient.h @@ -46,7 +46,11 @@ class WiFiSSLClient : public WiFiClient { virtual operator bool() { return _sock != -1; } - + virtual bool operator==(const WiFiSSLClient&); + virtual bool operator!=(const WiFiSSLClient& whs) + { + return !this->operator==(whs); + }; virtual IPAddress remoteIP(); virtual uint16_t remotePort(); From eb15ce14878cf908b48d11a2bb1d28da99744f18 Mon Sep 17 00:00:00 2001 From: Rocketct Date: Tue, 4 Jul 2023 17:13:56 +0200 Subject: [PATCH 3/4] added comparison operator to wifiServer class --- libraries/WiFiS3/src/WiFiServer.cpp | 5 +++++ libraries/WiFiS3/src/WiFiServer.h | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/libraries/WiFiS3/src/WiFiServer.cpp b/libraries/WiFiS3/src/WiFiServer.cpp index 1c048f156..c2cbc9abc 100644 --- a/libraries/WiFiS3/src/WiFiServer.cpp +++ b/libraries/WiFiS3/src/WiFiServer.cpp @@ -82,4 +82,9 @@ void WiFiServer::end() { modem.write(string(PROMPT(_SERVEREND)),res, "%s%d\r\n" , CMD_WRITE(_SERVEREND), _sock); _sock = -1; } +} + +bool WiFiServer::operator==(const WiFiServer& whs) +{ + return _sock == whs._sock; } \ No newline at end of file diff --git a/libraries/WiFiS3/src/WiFiServer.h b/libraries/WiFiS3/src/WiFiServer.h index 6a1f0e312..44c5ee1ba 100644 --- a/libraries/WiFiS3/src/WiFiServer.h +++ b/libraries/WiFiS3/src/WiFiServer.h @@ -42,7 +42,11 @@ class WiFiServer : public Server { virtual size_t write(uint8_t); virtual size_t write(const uint8_t *buf, size_t size); void end(); - + virtual bool operator==(const WiFiServer&); + virtual bool operator!=(const WiFiServer& whs) + { + return !this->operator==(whs); + }; using Print::write; From 67dfe8b1514a73bd1eadb4a34fe2a75ac2fd9291 Mon Sep 17 00:00:00 2001 From: Rocketct Date: Tue, 4 Jul 2023 17:14:23 +0200 Subject: [PATCH 4/4] added comparison operator to WiFiUdp class --- libraries/WiFiS3/src/WiFiUdp.cpp | 7 ++++++- libraries/WiFiS3/src/WiFiUdp.h | 5 +++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/libraries/WiFiS3/src/WiFiUdp.cpp b/libraries/WiFiS3/src/WiFiUdp.cpp index 18f99ea02..7bc2cc216 100644 --- a/libraries/WiFiS3/src/WiFiUdp.cpp +++ b/libraries/WiFiS3/src/WiFiUdp.cpp @@ -249,7 +249,12 @@ void WiFiUDP::flush() { modem.write(string(PROMPT(_UDPFLUSH)),res, "%s%d\r\n" , CMD_WRITE(_UDPFLUSH), _sock); } } - + +bool WiFiUDP::operator==(const WiFiUDP& whs) +{ + return _sock == whs._sock; +} + /* -------------------------------------------------------------------------- */ IPAddress WiFiUDP::remoteIP() { /* -------------------------------------------------------------------------- */ diff --git a/libraries/WiFiS3/src/WiFiUdp.h b/libraries/WiFiS3/src/WiFiUdp.h index 9f5a3e6a0..905c8526e 100644 --- a/libraries/WiFiS3/src/WiFiUdp.h +++ b/libraries/WiFiS3/src/WiFiUdp.h @@ -82,6 +82,11 @@ class WiFiUDP : public UDP { // 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 + virtual bool operator==(const WiFiUDP&); + virtual bool operator!=(const WiFiUDP& whs) + { + return !this->operator==(whs); + }; // Return the IP address of the host who sent the current incoming packet virtual IPAddress remoteIP();