1919# include < BLEDevice.h>
2020#endif // BLESERIAL_USE_NIMBLE
2121
22+ #if !defined(BLESERIAL_NIMBLE_VERSION_MAJOR) && defined(BLESERIAL_USE_NIMBLE) && BLESERIAL_USE_NIMBLE
23+ # if __has_include(<NimBLEAdvertisementData.h>)
24+ # define BLESERIAL_NIMBLE_VERSION_MAJOR 2
25+ // # warning "Using NimBLE version 2"
26+ # else // __has_include(<NimBLEAdvertisementData.h>)
27+ # define BLESERIAL_NIMBLE_VERSION_MAJOR 1
28+ // # warning "Using NimBLE version 1"
29+ # endif // __has_include(<NimBLEAdvertisementData.h>)
30+ #endif // BLESERIAL_USE_NIMBLE
31+
2232#ifndef BLESERIAL_USE_STL
2333# define BLESERIAL_USE_STL true
2434#endif // BLESERIAL_USE_STL
@@ -262,7 +272,17 @@ class BLESerialServerCallbacks : public BLEServerCallbacks {
262272 public:
263273 explicit BLESerialServerCallbacks (BLESerial<T>* bleSerial) : bleSerial(bleSerial) {}
264274
275+ #if defined(BLESERIAL_USE_NIMBLE) && BLESERIAL_USE_NIMBLE
276+ # if defined(BLESERIAL_NIMBLE_VERSION_MAJOR) && BLESERIAL_NIMBLE_VERSION_MAJOR >= 2
277+ // # warning "Using NimBLE version 2 for BLESerialServerCallbacks"
278+ void onDisconnect (NimBLEServer* pServer, NimBLEConnInfo& connInfo, int reason) override
279+ # else // BLESERIAL_NIMBLE_VERSION_MAJOR >= 2
280+ // # warning "Using NimBLE version 1 for BLESerialServerCallbacks"
281+ void onDisconnect (NimBLEServer* pServer, ble_gap_conn_desc* desc) override
282+ # endif // BLESERIAL_NIMBLE_VERSION_MAJOR >= 2
283+ #else // BLESERIAL_USE_NIMBLE
265284 void onDisconnect (BLEServer* pServer) override
285+ #endif // BLESERIAL_USE_NIMBLE
266286 {
267287 auto * pAdvertising = pServer->getAdvertising ();
268288 if (pAdvertising == nullptr ) {
@@ -280,7 +300,17 @@ class BLESerialCharacteristicCallbacks : public BLECharacteristicCallbacks {
280300 public:
281301 explicit BLESerialCharacteristicCallbacks (BLESerial<T>* bleSerial) : bleSerial(bleSerial) {}
282302
303+ #if defined(BLESERIAL_USE_NIMBLE) && BLESERIAL_USE_NIMBLE
304+ # if defined(BLESERIAL_NIMBLE_VERSION_MAJOR) && BLESERIAL_NIMBLE_VERSION_MAJOR >= 2
305+ // # warning "Using NimBLE version 2 for BLESerialCharacteristicCallbacks"
306+ void onWrite (NimBLECharacteristic* pCharacteristic, NimBLEConnInfo& connInfo) override
307+ # else // BLESERIAL_NIMBLE_VERSION_MAJOR >= 2
308+ // # warning "Using NimBLE version 1 for BLESerialCharacteristicCallbacks"
309+ void onWrite (NimBLECharacteristic* pCharacteristic, ble_gap_conn_desc* desc) override
310+ # endif // BLESERIAL_NIMBLE_VERSION_MAJOR >= 2
311+ #else // BLESERIAL_USE_NIMBLE
283312 void onWrite (BLECharacteristic* pCharacteristic) override
313+ #endif // BLESERIAL_USE_NIMBLE
284314 {
285315 if (pCharacteristic != bleSerial->m_pRxCharacteristic ) {
286316 return ;
0 commit comments