From 8ec88e0b4ade49c145f954e4ccf2dfa55dad9e9d Mon Sep 17 00:00:00 2001 From: Alexander Entinger Date: Wed, 4 Mar 2020 08:21:16 +0100 Subject: [PATCH 1/5] Remove deprecated function 'update()' - only 'check()' remains --- examples/ConnectionHandlerDemo/ConnectionHandlerDemo.ino | 2 +- src/Arduino_ConnectionHandler.h | 1 - src/Arduino_GSMConnectionHandler.cpp | 2 +- src/Arduino_GSMConnectionHandler.h | 5 +---- src/Arduino_LPWANConnectionHandler.h | 3 +-- src/Arduino_LoRaConnectionHandler.cpp | 2 +- src/Arduino_LoRaConnectionHandler.h | 5 +---- src/Arduino_NBConnectionHandler.cpp | 2 +- src/Arduino_NBConnectionHandler.h | 5 +---- src/Arduino_TcpIpConnectionHandler.h | 1 - src/Arduino_WiFiConnectionHandler.cpp | 2 +- src/Arduino_WiFiConnectionHandler.h | 5 +---- 12 files changed, 10 insertions(+), 25 deletions(-) diff --git a/examples/ConnectionHandlerDemo/ConnectionHandlerDemo.ino b/examples/ConnectionHandlerDemo/ConnectionHandlerDemo.ino index 0077db20..a2522834 100644 --- a/examples/ConnectionHandlerDemo/ConnectionHandlerDemo.ino +++ b/examples/ConnectionHandlerDemo/ConnectionHandlerDemo.ino @@ -51,7 +51,7 @@ void loop() { * object. */ - conMan.update(); + conMan.check(); } void onNetworkConnect(void *_arg) { diff --git a/src/Arduino_ConnectionHandler.h b/src/Arduino_ConnectionHandler.h index 854f3841..44bb1199 100644 --- a/src/Arduino_ConnectionHandler.h +++ b/src/Arduino_ConnectionHandler.h @@ -138,7 +138,6 @@ class ConnectionHandler { public: virtual void init() = 0; virtual void check() = 0; - virtual void update() __attribute__((deprecated)) = 0; /* use 'check()' instead */ #if defined(BOARD_HAS_WIFI) || defined(BOARD_HAS_GSM) || defined(BOARD_HAS_NB) virtual unsigned long getTime() = 0; diff --git a/src/Arduino_GSMConnectionHandler.cpp b/src/Arduino_GSMConnectionHandler.cpp index d514a38b..d199b356 100644 --- a/src/Arduino_GSMConnectionHandler.cpp +++ b/src/Arduino_GSMConnectionHandler.cpp @@ -71,7 +71,7 @@ unsigned long GSMConnectionHandler::getTime() { return gsmAccess.getTime(); } -void GSMConnectionHandler::update() { +void GSMConnectionHandler::check() { unsigned long const now = millis(); int gsmAccessAlive; if (now - lastConnectionTickTime > connectionTickTimeInterval) { diff --git a/src/Arduino_GSMConnectionHandler.h b/src/Arduino_GSMConnectionHandler.h index 98adedc2..fb9c46ac 100644 --- a/src/Arduino_GSMConnectionHandler.h +++ b/src/Arduino_GSMConnectionHandler.h @@ -37,10 +37,7 @@ class GSMConnectionHandler : public TcpIpConnectionHandler { virtual void init(); virtual unsigned long getTime(); - virtual void check() { - update(); - } - virtual void update() __attribute__((deprecated)); /* use 'check()' instead */ + virtual void check(); virtual Client &getClient() { return networkClient; }; diff --git a/src/Arduino_LPWANConnectionHandler.h b/src/Arduino_LPWANConnectionHandler.h index 879e96d2..ae60314f 100644 --- a/src/Arduino_LPWANConnectionHandler.h +++ b/src/Arduino_LPWANConnectionHandler.h @@ -32,8 +32,7 @@ class LPWANConnectionHandler : public ConnectionHandler { public: virtual void init() = 0; - virtual void check() = 0; - virtual void update() __attribute__((deprecated)) = 0; /* use 'check()' instead */ + virtual void check(); virtual unsigned long getTime() = 0; virtual int write(const uint8_t *buf, size_t size) = 0; diff --git a/src/Arduino_LoRaConnectionHandler.cpp b/src/Arduino_LoRaConnectionHandler.cpp index e5dbf579..a6716de4 100644 --- a/src/Arduino_LoRaConnectionHandler.cpp +++ b/src/Arduino_LoRaConnectionHandler.cpp @@ -104,7 +104,7 @@ bool LoRaConnectionHandler::available() { return modem.available(); } -void LoRaConnectionHandler::update() { +void LoRaConnectionHandler::check() { unsigned long const now = millis(); int networkStatus = 0; diff --git a/src/Arduino_LoRaConnectionHandler.h b/src/Arduino_LoRaConnectionHandler.h index 7cc2a5cb..b0d3d317 100644 --- a/src/Arduino_LoRaConnectionHandler.h +++ b/src/Arduino_LoRaConnectionHandler.h @@ -46,10 +46,7 @@ class LoRaConnectionHandler : public LPWANConnectionHandler { void init(); unsigned long getTime(); - void check() { - update(); - } - void update() __attribute__((deprecated)); /* use 'check()' instead */ + void check(); int write(const uint8_t *buf, size_t size); int read(); diff --git a/src/Arduino_NBConnectionHandler.cpp b/src/Arduino_NBConnectionHandler.cpp index 75da631b..0b272e37 100644 --- a/src/Arduino_NBConnectionHandler.cpp +++ b/src/Arduino_NBConnectionHandler.cpp @@ -78,7 +78,7 @@ unsigned long NBConnectionHandler::getTime() { return nbAccess.getTime(); } -void NBConnectionHandler::update() { +void NBConnectionHandler::check() { unsigned long const now = millis(); int nbAccessAlive; if (now - lastConnectionTickTime > connectionTickTimeInterval) { diff --git a/src/Arduino_NBConnectionHandler.h b/src/Arduino_NBConnectionHandler.h index 680fb583..7210871d 100644 --- a/src/Arduino_NBConnectionHandler.h +++ b/src/Arduino_NBConnectionHandler.h @@ -38,10 +38,7 @@ class NBConnectionHandler : public TcpIpConnectionHandler { virtual void init(); virtual unsigned long getTime(); - virtual void check() { - update(); - } - virtual void update() __attribute__((deprecated)); /* use 'update()' instead */ + virtual void check(); virtual Client &getClient() { return networkClient; }; diff --git a/src/Arduino_TcpIpConnectionHandler.h b/src/Arduino_TcpIpConnectionHandler.h index 387940d3..d9437512 100644 --- a/src/Arduino_TcpIpConnectionHandler.h +++ b/src/Arduino_TcpIpConnectionHandler.h @@ -36,7 +36,6 @@ class TcpIpConnectionHandler : public ConnectionHandler { public: virtual void init() = 0; virtual void check() = 0; - virtual void update() __attribute__((deprecated)) = 0; /* use 'update()' instead */ virtual unsigned long getTime() = 0; virtual Client &getClient() = 0; virtual UDP &getUDP() = 0; diff --git a/src/Arduino_WiFiConnectionHandler.cpp b/src/Arduino_WiFiConnectionHandler.cpp index f7b948c4..bef36168 100644 --- a/src/Arduino_WiFiConnectionHandler.cpp +++ b/src/Arduino_WiFiConnectionHandler.cpp @@ -50,7 +50,7 @@ unsigned long WiFiConnectionHandler::getTime() { #endif } -void WiFiConnectionHandler::update() { +void WiFiConnectionHandler::check() { unsigned long const now = millis(); if((now - lastConnectionTickTime) > connectionTickTimeInterval) diff --git a/src/Arduino_WiFiConnectionHandler.h b/src/Arduino_WiFiConnectionHandler.h index 7201253f..f9a2a039 100644 --- a/src/Arduino_WiFiConnectionHandler.h +++ b/src/Arduino_WiFiConnectionHandler.h @@ -36,10 +36,7 @@ class WiFiConnectionHandler : public TcpIpConnectionHandler { virtual void init(); virtual unsigned long getTime(); - virtual void check() { - update(); - } - virtual void update() __attribute__((deprecated)); /* use 'update()' instead */ + virtual void check(); virtual Client &getClient() { return wifiClient; }; From 93a7b3c01b24154b93b78943cd68f0814f16a9c2 Mon Sep 17 00:00:00 2001 From: Alexander Entinger Date: Wed, 4 Mar 2020 08:33:59 +0100 Subject: [PATCH 2/5] Function 'check()' directly returns the NetworkConnectionState which eliminates the need to query the member variable NetConnectionStatus via 'getStatus()' --- src/Arduino_ConnectionHandler.h | 2 +- src/Arduino_GSMConnectionHandler.cpp | 12 +++++++----- src/Arduino_GSMConnectionHandler.h | 2 +- src/Arduino_LPWANConnectionHandler.h | 2 +- src/Arduino_LoRaConnectionHandler.cpp | 4 +++- src/Arduino_LoRaConnectionHandler.h | 2 +- src/Arduino_NBConnectionHandler.cpp | 12 +++++++----- src/Arduino_NBConnectionHandler.h | 2 +- src/Arduino_TcpIpConnectionHandler.h | 2 +- src/Arduino_WiFiConnectionHandler.cpp | 4 +++- src/Arduino_WiFiConnectionHandler.h | 2 +- 11 files changed, 27 insertions(+), 19 deletions(-) diff --git a/src/Arduino_ConnectionHandler.h b/src/Arduino_ConnectionHandler.h index 44bb1199..1ecc9449 100644 --- a/src/Arduino_ConnectionHandler.h +++ b/src/Arduino_ConnectionHandler.h @@ -137,7 +137,7 @@ typedef void (*OnNetworkEventCallback)(void * /* arg */); class ConnectionHandler { public: virtual void init() = 0; - virtual void check() = 0; + virtual NetworkConnectionState check() = 0; #if defined(BOARD_HAS_WIFI) || defined(BOARD_HAS_GSM) || defined(BOARD_HAS_NB) virtual unsigned long getTime() = 0; diff --git a/src/Arduino_GSMConnectionHandler.cpp b/src/Arduino_GSMConnectionHandler.cpp index d199b356..ceb14933 100644 --- a/src/Arduino_GSMConnectionHandler.cpp +++ b/src/Arduino_GSMConnectionHandler.cpp @@ -71,7 +71,7 @@ unsigned long GSMConnectionHandler::getTime() { return gsmAccess.getTime(); } -void GSMConnectionHandler::check() { +NetworkConnectionState GSMConnectionHandler::check() { unsigned long const now = millis(); int gsmAccessAlive; if (now - lastConnectionTickTime > connectionTickTimeInterval) { @@ -89,7 +89,7 @@ void GSMConnectionHandler::check() { if (networkStatus == GSM3_NetworkStatus_t::ERROR) { // NO FURTHER ACTION WILL FOLLOW THIS changeConnectionState(NetworkConnectionState::ERROR); - return; + return netConnectionState; } Debug.print(DBG_INFO, "Sending PING to outer space..."); int pingResult; @@ -98,11 +98,11 @@ void GSMConnectionHandler::check() { if (pingResult < 0) { Debug.print(DBG_ERROR, "PING failed"); Debug.print(DBG_INFO, "Retrying in \"%d\" milliseconds", connectionTickTimeInterval); - return; + return netConnectionState; } else { Debug.print(DBG_INFO, "Connected to GPRS Network"); changeConnectionState(NetworkConnectionState::CONNECTED); - return; + return netConnectionState; } } break; @@ -111,7 +111,7 @@ void GSMConnectionHandler::check() { Debug.print(DBG_VERBOSE, "GPRS.isAccessAlive(): %d", gsmAccessAlive); if (gsmAccessAlive != 1) { changeConnectionState(NetworkConnectionState::DISCONNECTED); - return; + return netConnectionState; } Debug.print(DBG_VERBOSE, "Connected to Cellular Network"); } @@ -130,6 +130,8 @@ void GSMConnectionHandler::check() { } lastConnectionTickTime = now; } + + return netConnectionState; } /****************************************************************************** diff --git a/src/Arduino_GSMConnectionHandler.h b/src/Arduino_GSMConnectionHandler.h index fb9c46ac..a29283d8 100644 --- a/src/Arduino_GSMConnectionHandler.h +++ b/src/Arduino_GSMConnectionHandler.h @@ -37,7 +37,7 @@ class GSMConnectionHandler : public TcpIpConnectionHandler { virtual void init(); virtual unsigned long getTime(); - virtual void check(); + virtual NetworkConnectionState check(); virtual Client &getClient() { return networkClient; }; diff --git a/src/Arduino_LPWANConnectionHandler.h b/src/Arduino_LPWANConnectionHandler.h index ae60314f..34c038be 100644 --- a/src/Arduino_LPWANConnectionHandler.h +++ b/src/Arduino_LPWANConnectionHandler.h @@ -32,7 +32,7 @@ class LPWANConnectionHandler : public ConnectionHandler { public: virtual void init() = 0; - virtual void check(); + virtual NetworkConnectionState check(); virtual unsigned long getTime() = 0; virtual int write(const uint8_t *buf, size_t size) = 0; diff --git a/src/Arduino_LoRaConnectionHandler.cpp b/src/Arduino_LoRaConnectionHandler.cpp index a6716de4..4919ce04 100644 --- a/src/Arduino_LoRaConnectionHandler.cpp +++ b/src/Arduino_LoRaConnectionHandler.cpp @@ -104,7 +104,7 @@ bool LoRaConnectionHandler::available() { return modem.available(); } -void LoRaConnectionHandler::check() { +NetworkConnectionState LoRaConnectionHandler::check() { unsigned long const now = millis(); int networkStatus = 0; @@ -121,6 +121,8 @@ void LoRaConnectionHandler::check() { case NetworkConnectionState::CLOSED: break; } } + + return netConnectionState; } /****************************************************************************** diff --git a/src/Arduino_LoRaConnectionHandler.h b/src/Arduino_LoRaConnectionHandler.h index b0d3d317..bf3eaf43 100644 --- a/src/Arduino_LoRaConnectionHandler.h +++ b/src/Arduino_LoRaConnectionHandler.h @@ -46,7 +46,7 @@ class LoRaConnectionHandler : public LPWANConnectionHandler { void init(); unsigned long getTime(); - void check(); + NetworkConnectionState check(); int write(const uint8_t *buf, size_t size); int read(); diff --git a/src/Arduino_NBConnectionHandler.cpp b/src/Arduino_NBConnectionHandler.cpp index 0b272e37..7e493617 100644 --- a/src/Arduino_NBConnectionHandler.cpp +++ b/src/Arduino_NBConnectionHandler.cpp @@ -78,7 +78,7 @@ unsigned long NBConnectionHandler::getTime() { return nbAccess.getTime(); } -void NBConnectionHandler::check() { +NetworkConnectionState NBConnectionHandler::check() { unsigned long const now = millis(); int nbAccessAlive; if (now - lastConnectionTickTime > connectionTickTimeInterval) { @@ -96,7 +96,7 @@ void NBConnectionHandler::check() { if (networkStatus == NB_NetworkStatus_t::ERROR) { // NO FURTHER ACTION WILL FOLLOW THIS changeConnectionState(NetworkConnectionState::ERROR); - return; + return netConnectionState; } Debug.print(DBG_INFO, "Sending PING to outer space..."); int pingResult; @@ -106,11 +106,11 @@ void NBConnectionHandler::check() { if (pingResult < 0) { Debug.print(DBG_ERROR, "PING failed"); Debug.print(DBG_INFO, "Retrying in \"%d\" milliseconds", connectionTickTimeInterval); - return; + return netConnectionState; } else { Debug.print(DBG_INFO, "Connected to GPRS Network"); changeConnectionState(NetworkConnectionState::CONNECTED); - return; + return netConnectionState; } } break; @@ -119,7 +119,7 @@ void NBConnectionHandler::check() { Debug.print(DBG_VERBOSE, "GPRS.isAccessAlive(): %d", nbAccessAlive); if (nbAccessAlive != 1) { changeConnectionState(NetworkConnectionState::DISCONNECTED); - return; + return netConnectionState; } Debug.print(DBG_VERBOSE, "Connected to Cellular Network"); } @@ -138,6 +138,8 @@ void NBConnectionHandler::check() { } lastConnectionTickTime = now; } + + return netConnectionState; } /****************************************************************************** diff --git a/src/Arduino_NBConnectionHandler.h b/src/Arduino_NBConnectionHandler.h index 7210871d..0ff67402 100644 --- a/src/Arduino_NBConnectionHandler.h +++ b/src/Arduino_NBConnectionHandler.h @@ -38,7 +38,7 @@ class NBConnectionHandler : public TcpIpConnectionHandler { virtual void init(); virtual unsigned long getTime(); - virtual void check(); + virtual NetworkConnectionState check(); virtual Client &getClient() { return networkClient; }; diff --git a/src/Arduino_TcpIpConnectionHandler.h b/src/Arduino_TcpIpConnectionHandler.h index d9437512..89bf3bf1 100644 --- a/src/Arduino_TcpIpConnectionHandler.h +++ b/src/Arduino_TcpIpConnectionHandler.h @@ -35,7 +35,7 @@ class TcpIpConnectionHandler : public ConnectionHandler { public: virtual void init() = 0; - virtual void check() = 0; + virtual NetworkConnectionState check() = 0; virtual unsigned long getTime() = 0; virtual Client &getClient() = 0; virtual UDP &getUDP() = 0; diff --git a/src/Arduino_WiFiConnectionHandler.cpp b/src/Arduino_WiFiConnectionHandler.cpp index bef36168..7b5a5efe 100644 --- a/src/Arduino_WiFiConnectionHandler.cpp +++ b/src/Arduino_WiFiConnectionHandler.cpp @@ -50,7 +50,7 @@ unsigned long WiFiConnectionHandler::getTime() { #endif } -void WiFiConnectionHandler::check() { +NetworkConnectionState WiFiConnectionHandler::check() { unsigned long const now = millis(); if((now - lastConnectionTickTime) > connectionTickTimeInterval) @@ -68,6 +68,8 @@ void WiFiConnectionHandler::check() { case NetworkConnectionState::CLOSED: break; } } + + return netConnectionState; } /****************************************************************************** diff --git a/src/Arduino_WiFiConnectionHandler.h b/src/Arduino_WiFiConnectionHandler.h index f9a2a039..b3bee2f0 100644 --- a/src/Arduino_WiFiConnectionHandler.h +++ b/src/Arduino_WiFiConnectionHandler.h @@ -36,7 +36,7 @@ class WiFiConnectionHandler : public TcpIpConnectionHandler { virtual void init(); virtual unsigned long getTime(); - virtual void check(); + virtual NetworkConnectionState check(); virtual Client &getClient() { return wifiClient; }; From e6545fee37b9c4abf719bc01d5dfe756343a80fa Mon Sep 17 00:00:00 2001 From: Alexander Entinger Date: Wed, 4 Mar 2020 08:38:24 +0100 Subject: [PATCH 3/5] Mark 'getStatus()' as deprecated since the network status can be directly obtained from the check function and will be removed in a future version --- src/Arduino_ConnectionHandler.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Arduino_ConnectionHandler.h b/src/Arduino_ConnectionHandler.h index 1ecc9449..1e8dae34 100644 --- a/src/Arduino_ConnectionHandler.h +++ b/src/Arduino_ConnectionHandler.h @@ -145,7 +145,7 @@ class ConnectionHandler { virtual UDP &getUDP() = 0; #endif - virtual NetworkConnectionState getStatus() { + virtual NetworkConnectionState getStatus() __attribute__((deprecated)) { return netConnectionState; } virtual void connect(); From fa7446d48f567244c023db993f022234ae9fbe02 Mon Sep 17 00:00:00 2001 From: Alexander Entinger Date: Wed, 4 Mar 2020 08:49:12 +0100 Subject: [PATCH 4/5] Removing not required classes TcpIpConnectionHandler ans LPWANConnectionHandler --- src/Arduino_ConnectionHandler.h | 24 ++++++++---- src/Arduino_GSMConnectionHandler.h | 4 +- src/Arduino_LPWANConnectionHandler.h | 52 -------------------------- src/Arduino_LoRaConnectionHandler.h | 20 +++++----- src/Arduino_NBConnectionHandler.h | 2 +- src/Arduino_TcpIpConnectionHandler.h | 56 ---------------------------- src/Arduino_WiFiConnectionHandler.h | 4 +- 7 files changed, 31 insertions(+), 131 deletions(-) delete mode 100644 src/Arduino_LPWANConnectionHandler.h delete mode 100644 src/Arduino_TcpIpConnectionHandler.h diff --git a/src/Arduino_ConnectionHandler.h b/src/Arduino_ConnectionHandler.h index 1e8dae34..55d2ae1a 100644 --- a/src/Arduino_ConnectionHandler.h +++ b/src/Arduino_ConnectionHandler.h @@ -145,11 +145,17 @@ class ConnectionHandler { virtual UDP &getUDP() = 0; #endif + #if defined(BOARD_HAS_LORA) + virtual int write(const uint8_t *buf, size_t size) = 0; + virtual int read() = 0; + virtual bool available() = 0; + #endif + virtual NetworkConnectionState getStatus() __attribute__((deprecated)) { return netConnectionState; } - virtual void connect(); - virtual void disconnect(); + virtual void connect() = 0; + virtual void disconnect() = 0; void addCallback(NetworkConnectionEvent const event, OnNetworkEventCallback callback); void addConnectCallback(OnNetworkEventCallback callback); void addDisconnectCallback(OnNetworkEventCallback callback); @@ -167,12 +173,14 @@ class ConnectionHandler { }; -#if defined(BOARD_HAS_WIFI) || defined(BOARD_HAS_GSM) || defined(BOARD_HAS_NB) - #include "Arduino_TcpIpConnectionHandler.h" -#endif - -#if defined(ARDUINO_SAMD_MKRWAN1300) || defined(ARDUINO_SAMD_MKRWAN1310) - #include "Arduino_LPWANConnectionHandler.h" +#if defined(BOARD_HAS_WIFI) + #include "Arduino_WiFiConnectionHandler.h" +#elif defined(BOARD_HAS_GSM) + #include "Arduino_GSMConnectionHandler.h" +#elif defined(BOARD_HAS_NB) + #include "Arduino_NBConnectionHandler.h" +#elif defined(BOARD_HAS_LORA) + #include "Arduino_LoRaConnectionHandler.h" #endif #endif /* CONNECTION_HANDLER_H_ */ diff --git a/src/Arduino_GSMConnectionHandler.h b/src/Arduino_GSMConnectionHandler.h index a29283d8..9357e9e5 100644 --- a/src/Arduino_GSMConnectionHandler.h +++ b/src/Arduino_GSMConnectionHandler.h @@ -22,7 +22,7 @@ INCLUDE ******************************************************************************/ -#include "Arduino_TcpIpConnectionHandler.h" +#include "Arduino_ConnectionHandler.h" #ifdef BOARD_HAS_GSM /* Only compile if this is a board with GSM */ @@ -31,7 +31,7 @@ CLASS DECLARATION ******************************************************************************/ -class GSMConnectionHandler : public TcpIpConnectionHandler { +class GSMConnectionHandler : public ConnectionHandler { public: GSMConnectionHandler(const char *pin, const char *apn, const char *login, const char *pass, const bool keepAlive = true); diff --git a/src/Arduino_LPWANConnectionHandler.h b/src/Arduino_LPWANConnectionHandler.h deleted file mode 100644 index 34c038be..00000000 --- a/src/Arduino_LPWANConnectionHandler.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - This file is part of ArduinoIoTCloud. - - Copyright 2019 ARDUINO SA (http://www.arduino.cc/) - - This software is released under the GNU General Public License version 3, - which covers the main part of arduino-cli. - The terms of this license can be found at: - https://www.gnu.org/licenses/gpl-3.0.en.html - - You can be released from the requirements of the above licenses by purchasing - a commercial license. Buying such a license is mandatory if you want to modify or - otherwise use the software for commercial activities involving the Arduino - software without disclosing the source code of your own applications. To purchase - a commercial license, send an email to license@arduino.cc. -*/ - -#ifndef ARDUINO_LPWAN_CONNECTION_HANDLER_H_ -#define ARDUINO_LPWAN_CONNECTION_HANDLER_H_ - -/****************************************************************************** - INCLUDES - ******************************************************************************/ - -#include -#include - -/****************************************************************************** - CLASS DECLARATION - ******************************************************************************/ - -class LPWANConnectionHandler : public ConnectionHandler { - public: - virtual void init() = 0; - virtual NetworkConnectionState check(); - virtual unsigned long getTime() = 0; - - virtual int write(const uint8_t *buf, size_t size) = 0; - virtual int read() = 0; - virtual bool available() = 0; - - virtual void connect() = 0; - virtual void disconnect() = 0; - -}; - -#if defined(ARDUINO_SAMD_MKRWAN1300) || defined(ARDUINO_SAMD_MKRWAN1310) - #include "Arduino_LoRaConnectionHandler.h" -#endif - - -#endif /* LPWAN_CONNECTION_HANDLER_H_ */ diff --git a/src/Arduino_LoRaConnectionHandler.h b/src/Arduino_LoRaConnectionHandler.h index bf3eaf43..53a7b423 100644 --- a/src/Arduino_LoRaConnectionHandler.h +++ b/src/Arduino_LoRaConnectionHandler.h @@ -22,7 +22,7 @@ INCLUDE ******************************************************************************/ -#include "Arduino_LPWANConnectionHandler.h" +#include "Arduino_ConnectionHandler.h" typedef enum { LORA_ERROR_ACK_NOT_RECEIVED = -1, @@ -40,20 +40,20 @@ typedef enum { CLASS DECLARATION ******************************************************************************/ -class LoRaConnectionHandler : public LPWANConnectionHandler { +class LoRaConnectionHandler : public ConnectionHandler { public: LoRaConnectionHandler(const char *_appeui, const char *_appkey, _lora_band = _lora_band::EU868, _lora_class = _lora_class::CLASS_A); - void init(); - unsigned long getTime(); - NetworkConnectionState check(); + virtual void init(); + virtual unsigned long getTime(); + virtual NetworkConnectionState check(); - int write(const uint8_t *buf, size_t size); - int read(); - bool available(); + virtual int write(const uint8_t *buf, size_t size); + virtual int read(); + virtual bool available(); - void disconnect(); - void connect(); + virtual void disconnect(); + virtual void connect(); private: diff --git a/src/Arduino_NBConnectionHandler.h b/src/Arduino_NBConnectionHandler.h index 0ff67402..0811898f 100644 --- a/src/Arduino_NBConnectionHandler.h +++ b/src/Arduino_NBConnectionHandler.h @@ -30,7 +30,7 @@ CLASS DECLARATION ******************************************************************************/ -class NBConnectionHandler : public TcpIpConnectionHandler { +class NBConnectionHandler : public ConnectionHandler { public: NBConnectionHandler(const char *pin, const bool keepAlive = true); NBConnectionHandler(const char *pin, const char *apn, const bool keepAlive = true); diff --git a/src/Arduino_TcpIpConnectionHandler.h b/src/Arduino_TcpIpConnectionHandler.h deleted file mode 100644 index 89bf3bf1..00000000 --- a/src/Arduino_TcpIpConnectionHandler.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - This file is part of ArduinoIoTCloud. - - Copyright 2019 ARDUINO SA (http://www.arduino.cc/) - - This software is released under the GNU General Public License version 3, - which covers the main part of arduino-cli. - The terms of this license can be found at: - https://www.gnu.org/licenses/gpl-3.0.en.html - - You can be released from the requirements of the above licenses by purchasing - a commercial license. Buying such a license is mandatory if you want to modify or - otherwise use the software for commercial activities involving the Arduino - software without disclosing the source code of your own applications. To purchase - a commercial license, send an email to license@arduino.cc. -*/ - -#ifndef ARDUINO_TCPIP_CONNECTION_HANDLER_H_ -#define ARDUINO_TCPIP_CONNECTION_HANDLER_H_ - -/****************************************************************************** - INCLUDES - ******************************************************************************/ - -#include -#include - -#include -#include - -/****************************************************************************** - CLASS DECLARATION - ******************************************************************************/ - -class TcpIpConnectionHandler : public ConnectionHandler { - public: - virtual void init() = 0; - virtual NetworkConnectionState check() = 0; - virtual unsigned long getTime() = 0; - virtual Client &getClient() = 0; - virtual UDP &getUDP() = 0; - - virtual void connect() = 0; - virtual void disconnect() = 0; - -}; - -#if defined(BOARD_HAS_WIFI) - #include "Arduino_WiFiConnectionHandler.h" -#elif defined(BOARD_HAS_GSM) - #include "Arduino_GSMConnectionHandler.h" -#elif defined(BOARD_HAS_NB) - #include "Arduino_NBConnectionHandler.h" -#endif - -#endif /* TCPIP_CONNECTION_HANDLER_H_ */ diff --git a/src/Arduino_WiFiConnectionHandler.h b/src/Arduino_WiFiConnectionHandler.h index b3bee2f0..f36171f7 100644 --- a/src/Arduino_WiFiConnectionHandler.h +++ b/src/Arduino_WiFiConnectionHandler.h @@ -22,7 +22,7 @@ INCLUDE ******************************************************************************/ -#include "Arduino_TcpIpConnectionHandler.h" +#include "Arduino_ConnectionHandler.h" #ifdef BOARD_HAS_WIFI /* Only compile if the board has WiFi */ @@ -30,7 +30,7 @@ CLASS DECLARATION ******************************************************************************/ -class WiFiConnectionHandler : public TcpIpConnectionHandler { +class WiFiConnectionHandler : public ConnectionHandler { public: WiFiConnectionHandler(const char *_ssid, const char *_pass, bool _keepAlive = true); From f3ebad316e071e75e89c9cd31624b46f4e80da0c Mon Sep 17 00:00:00 2001 From: Alexander Entinger Date: Wed, 4 Mar 2020 09:20:59 +0100 Subject: [PATCH 5/5] Adding typedef's so to not break compilability with ArduinoIoTCloud --- src/Arduino_GSMConnectionHandler.h | 2 ++ src/Arduino_LoRaConnectionHandler.h | 2 ++ src/Arduino_NBConnectionHandler.h | 2 ++ src/Arduino_WiFiConnectionHandler.h | 2 ++ 4 files changed, 8 insertions(+) diff --git a/src/Arduino_GSMConnectionHandler.h b/src/Arduino_GSMConnectionHandler.h index 9357e9e5..f4c18ad1 100644 --- a/src/Arduino_GSMConnectionHandler.h +++ b/src/Arduino_GSMConnectionHandler.h @@ -74,6 +74,8 @@ class GSMConnectionHandler : public ConnectionHandler { }; +typedef GSMConnectionHandler TcpIpConnectionHandler; + #endif /* #ifdef BOARD_HAS_GSM */ #endif /* #ifndef GSM_CONNECTION_MANAGER_H_ */ diff --git a/src/Arduino_LoRaConnectionHandler.h b/src/Arduino_LoRaConnectionHandler.h index 53a7b423..ed885172 100644 --- a/src/Arduino_LoRaConnectionHandler.h +++ b/src/Arduino_LoRaConnectionHandler.h @@ -86,4 +86,6 @@ class LoRaConnectionHandler : public ConnectionHandler { }; +typedef LoRaConnectionHandler LPWANConnectionHandler; + #endif /* ARDUINO_LORA_CONNECTION_HANDLER_H_ */ diff --git a/src/Arduino_NBConnectionHandler.h b/src/Arduino_NBConnectionHandler.h index 0811898f..dfd1dae0 100644 --- a/src/Arduino_NBConnectionHandler.h +++ b/src/Arduino_NBConnectionHandler.h @@ -75,6 +75,8 @@ class NBConnectionHandler : public ConnectionHandler { }; +typedef NBConnectionHandler TcpIpConnectionHandler; + #endif /* #ifdef BOARD_HAS_NB */ #endif /* #ifndef NB_CONNECTION_MANAGER_H_ */ diff --git a/src/Arduino_WiFiConnectionHandler.h b/src/Arduino_WiFiConnectionHandler.h index f36171f7..08b40132 100644 --- a/src/Arduino_WiFiConnectionHandler.h +++ b/src/Arduino_WiFiConnectionHandler.h @@ -73,6 +73,8 @@ class WiFiConnectionHandler : public ConnectionHandler { }; +typedef WiFiConnectionHandler TcpIpConnectionHandler; + #endif /* #ifdef BOARD_HAS_WIFI */ #endif /* ARDUINO_WIFI_CONNECTION_HANDLER_H_ */