|
22 | 22 | INCLUDES |
23 | 23 | ******************************************************************************/ |
24 | 24 |
|
25 | | -#include <Client.h> |
26 | | -#include <Udp.h> |
27 | | - |
28 | 25 | #include <Arduino_DebugUtils.h> |
29 | 26 |
|
30 | 27 | /****************************************************************************** |
@@ -57,30 +54,27 @@ class ConnectionHandler { |
57 | 54 | virtual void init() = 0; |
58 | 55 | virtual void check() = 0; |
59 | 56 | virtual void update() = 0; |
60 | | - virtual unsigned long getTime() = 0; |
61 | | - virtual Client &getClient(); |
62 | | - virtual UDP &getUDP(); |
63 | 57 |
|
64 | 58 | virtual NetworkConnectionState getStatus() { |
65 | 59 | return netConnectionState; |
66 | 60 | } |
67 | 61 | virtual void connect(); |
68 | 62 | virtual void disconnect(); |
69 | | - virtual void addCallback(NetworkConnectionEvent const event, OnNetworkEventCallback callback); |
70 | | - virtual void addConnectCallback(OnNetworkEventCallback callback); |
71 | | - virtual void addDisconnectCallback(OnNetworkEventCallback callback); |
72 | | - virtual void addErrorCallback(OnNetworkEventCallback callback); |
73 | | - |
74 | | - private: |
75 | | - OnNetworkEventCallback _on_connect_event_callback, |
76 | | - _on_disconnect_event_callback, |
77 | | - _on_error_event_callback; |
| 63 | + void addCallback(NetworkConnectionEvent const event, OnNetworkEventCallback callback); |
| 64 | + void addConnectCallback(OnNetworkEventCallback callback); |
| 65 | + void addDisconnectCallback(OnNetworkEventCallback callback); |
| 66 | + void addErrorCallback(OnNetworkEventCallback callback); |
78 | 67 |
|
79 | 68 | protected: |
| 69 | + OnNetworkEventCallback _on_connect_event_callback = NULL, |
| 70 | + _on_disconnect_event_callback = NULL, |
| 71 | + _on_error_event_callback = NULL; |
80 | 72 |
|
81 | 73 | unsigned long lastValidTimestamp = 0; /* UNUSED */ |
82 | 74 | NetworkConnectionState netConnectionState = NetworkConnectionState::DISCONNECTED; |
83 | 75 |
|
| 76 | + static void execNetworkEventCallback(OnNetworkEventCallback & callback, void * callback_arg); |
| 77 | + |
84 | 78 | }; |
85 | 79 |
|
86 | 80 | #ifdef ARDUINO_SAMD_MKR1000 |
@@ -121,6 +115,11 @@ class ConnectionHandler { |
121 | 115 | #define NETWORK_CONNECTED NB_NetworkStatus_t::GPRS_READY |
122 | 116 | #endif |
123 | 117 |
|
| 118 | +#if defined(ARDUINO_SAMD_MKRWAN1300) || defined(ARDUINO_SAMD_MKRWAN1310) |
| 119 | + #include <MKRWAN.h> |
| 120 | + #define BOARD_HAS_LORA |
| 121 | +#endif |
| 122 | + |
124 | 123 | #if defined(ARDUINO_ESP8266_ESP12) \ |
125 | 124 | || defined(ESP8266) \ |
126 | 125 | || defined(ESP8266_ESP01) \ |
@@ -163,12 +162,13 @@ class ConnectionHandler { |
163 | 162 | #define WIFI_FIRMWARE_VERSION_REQUIRED WIFI_FIRMWARE_REQUIRED |
164 | 163 | #endif |
165 | 164 |
|
166 | | -#ifdef BOARD_HAS_WIFI |
167 | | - #include "Arduino_WiFiConnectionHandler.h" |
168 | | -#elif defined(BOARD_HAS_GSM) |
169 | | - #include "Arduino_GSMConnectionHandler.h" |
170 | | -#elif defined(BOARD_HAS_NB) |
171 | | - #include "Arduino_NBConnectionHandler.h" |
| 165 | + |
| 166 | +#if defined(BOARD_HAS_WIFI) || defined(BOARD_HAS_GSM) || defined(BOARD_HAS_NB) |
| 167 | + #include "Arduino_TcpIpConnectionHandler.h" |
| 168 | +#endif |
| 169 | + |
| 170 | +#if defined(ARDUINO_SAMD_MKRWAN1300) || defined(ARDUINO_SAMD_MKRWAN1310) |
| 171 | + #include "Arduino_LPWANConnectionHandler.h" |
172 | 172 | #endif |
173 | 173 |
|
174 | 174 | #endif /* CONNECTION_HANDLER_H_ */ |
0 commit comments