Skip to content

Commit 37758d3

Browse files
committed
Add function to get the hardware network interface type used for connection
1 parent 9cb7f99 commit 37758d3

7 files changed

+21
-7
lines changed

src/Arduino_ConnectionHandler.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,9 @@
2525
CONSTRUCTOR/DESTRUCTOR
2626
******************************************************************************/
2727

28-
ConnectionHandler::ConnectionHandler(bool const keep_alive)
28+
ConnectionHandler::ConnectionHandler(bool const keep_alive, NetworkAdapter interface)
2929
: _keep_alive{keep_alive}
30+
, _interface{interface}
3031
, _lastConnectionTickTime{millis()}
3132
, _current_net_connection_state{NetworkConnectionState::INIT}
3233
{

src/Arduino_ConnectionHandler.h

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,14 @@ enum class NetworkConnectionEvent {
141141
ERROR
142142
};
143143

144+
enum class NetworkAdapter {
145+
WIFI,
146+
ETHERNET,
147+
NB,
148+
GSM,
149+
LORA
150+
};
151+
144152
typedef void (*OnNetworkEventCallback)();
145153

146154
/******************************************************************************
@@ -165,7 +173,7 @@ static unsigned int const CHECK_INTERVAL_TABLE[] =
165173
class ConnectionHandler {
166174
public:
167175

168-
ConnectionHandler(bool const keep_alive);
176+
ConnectionHandler(bool const keep_alive, NetworkAdapter interface);
169177

170178

171179
NetworkConnectionState check();
@@ -186,6 +194,10 @@ class ConnectionHandler {
186194
return _current_net_connection_state;
187195
}
188196

197+
NetworkAdapter getInterface() {
198+
return _interface;
199+
}
200+
189201
void connect();
190202
void disconnect();
191203

@@ -197,6 +209,7 @@ class ConnectionHandler {
197209
protected:
198210

199211
bool _keep_alive;
212+
NetworkAdapter _interface;
200213

201214
virtual NetworkConnectionState update_handleInit () = 0;
202215
virtual NetworkConnectionState update_handleConnecting () = 0;

src/Arduino_EthernetConnectionHandler.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
******************************************************************************/
2626

2727
EthernetConnectionHandler::EthernetConnectionHandler(bool const keep_alive)
28-
: ConnectionHandler{keep_alive}
28+
: ConnectionHandler{keep_alive, NetworkAdapter::ETHERNET}
2929
{
3030

3131
}

src/Arduino_GSMConnectionHandler.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ __attribute__((weak)) void mkr_gsm_feed_watchdog()
4747
******************************************************************************/
4848

4949
GSMConnectionHandler::GSMConnectionHandler(const char * pin, const char * apn, const char * login, const char * pass, bool const keep_alive)
50-
: ConnectionHandler{keep_alive}
50+
: ConnectionHandler{keep_alive, NetworkAdapter::GSM}
5151
, _pin(pin)
5252
, _apn(apn)
5353
, _login(login)

src/Arduino_LoRaConnectionHandler.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ typedef enum
4444
CTOR/DTOR
4545
******************************************************************************/
4646
LoRaConnectionHandler::LoRaConnectionHandler(char const * appeui, char const * appkey, _lora_band const band, char const * channelMask, _lora_class const device_class)
47-
: ConnectionHandler{false}
47+
: ConnectionHandler{false, NetworkAdapter::LORA}
4848
, _appeui(appeui)
4949
, _appkey(appkey)
5050
, _band(band)

src/Arduino_NBConnectionHandler.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ NBConnectionHandler::NBConnectionHandler(char const * pin, char const * apn, boo
5757
}
5858

5959
NBConnectionHandler::NBConnectionHandler(char const * pin, char const * apn, char const * login, char const * pass, bool const keep_alive)
60-
: ConnectionHandler{keep_alive}
60+
: ConnectionHandler{keep_alive, NetworkAdapter::NB}
6161
, _pin(pin)
6262
, _apn(apn)
6363
, _login(login)

src/Arduino_WiFiConnectionHandler.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
******************************************************************************/
2929

3030
WiFiConnectionHandler::WiFiConnectionHandler(char const * ssid, char const * pass, bool const keep_alive)
31-
: ConnectionHandler{keep_alive}
31+
: ConnectionHandler{keep_alive, NetworkAdapter::WIFI}
3232
, _ssid{ssid}
3333
, _pass{pass}
3434
{

0 commit comments

Comments
 (0)