From 075c689a1c00d3eb18eb175aa736db9868ec0786 Mon Sep 17 00:00:00 2001 From: pennam Date: Mon, 3 Jun 2024 16:15:11 +0200 Subject: [PATCH] CellularConnectionHandler: Generate runtime error if getUDP() is called __attribute__((error)) not working on virtual functions --- src/Arduino_CellularConnectionHandler.cpp | 6 ++++++ src/Arduino_CellularConnectionHandler.h | 3 +-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/Arduino_CellularConnectionHandler.cpp b/src/Arduino_CellularConnectionHandler.cpp index 372bdd2..7e543b0 100644 --- a/src/Arduino_CellularConnectionHandler.cpp +++ b/src/Arduino_CellularConnectionHandler.cpp @@ -40,6 +40,12 @@ unsigned long CellularConnectionHandler::getTime() return _cellular.getCellularTime().getUNIXTimestamp(); } +UDP & CellularConnectionHandler::getUDP() +{ + Debug.print(DBG_ERROR, F("CellularConnectionHandler has no UDP support")); + while(1) {}; +} + /****************************************************************************** PROTECTED MEMBER FUNCTIONS ******************************************************************************/ diff --git a/src/Arduino_CellularConnectionHandler.h b/src/Arduino_CellularConnectionHandler.h index 6270d18..0c4d5f8 100644 --- a/src/Arduino_CellularConnectionHandler.h +++ b/src/Arduino_CellularConnectionHandler.h @@ -18,7 +18,6 @@ #include "Arduino_ConnectionHandler.h" - #ifdef BOARD_HAS_CELLULAR /* Only compile if the board has Cellular */ /****************************************************************************** @@ -34,7 +33,7 @@ class CellularConnectionHandler : public ConnectionHandler virtual unsigned long getTime() override; virtual Client & getClient() override { return _gsm_client; }; - virtual UDP & getUDP() override { } __attribute__((error("CellularConnectionHandler has no UDP support"))); + virtual UDP & getUDP() override; protected: