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,15 @@ 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(NIMBLE_VERSION_MAJOR) && NIMBLE_VERSION_MAJOR < 2
277+ void onDisconnect (NimBLEServer* pServer, ble_gap_conn_desc* desc) override
278+ # else // NIMBLE_VERSION_MAJOR < 2
279+ void onDisconnect (NimBLEServer* pServer, NimBLEConnInfo& connInfo, int reason) override
280+ # endif // NIMBLE_VERSION_MAJOR < 2
281+ #else // BLESERIAL_USE_NIMBLE
265282 void onDisconnect (BLEServer* pServer) override
283+ #endif // BLESERIAL_USE_NIMBLE
266284 {
267285 auto * pAdvertising = pServer->getAdvertising ();
268286 if (pAdvertising == nullptr ) {
@@ -280,7 +298,15 @@ class BLESerialCharacteristicCallbacks : public BLECharacteristicCallbacks {
280298 public:
281299 explicit BLESerialCharacteristicCallbacks (BLESerial<T>* bleSerial) : bleSerial(bleSerial) {}
282300
301+ #if defined(BLESERIAL_USE_NIMBLE) && BLESERIAL_USE_NIMBLE
302+ # if defined(NIMBLE_VERSION_MAJOR) && NIMBLE_VERSION_MAJOR < 2
303+ void onWrite (NimBLECharacteristic* pCharacteristic, ble_gap_conn_desc* desc) override
304+ # else // NIMBLE_VERSION_MAJOR < 2
305+ void onWrite (NimBLECharacteristic* pCharacteristic, NimBLEConnInfo& connInfo) override
306+ # endif // NIMBLE_VERSION_MAJOR < 2
307+ #else // BLESERIAL_USE_NIMBLE
283308 void onWrite (BLECharacteristic* pCharacteristic) override
309+ #endif // BLESERIAL_USE_NIMBLE
284310 {
285311 if (pCharacteristic != bleSerial->m_pRxCharacteristic ) {
286312 return ;
0 commit comments