Skip to content

Commit 9084b03

Browse files
committed
Add characteristic callbacks onStatus overload with conn info.
Adds a new overloaded callback to NimBLECharacteristicCallbacks for the notification/indication onStatus method that provides a NimBLEConnInfo reference.
1 parent e66b0b9 commit 9084b03

File tree

3 files changed

+15
-1
lines changed

3 files changed

+15
-1
lines changed

src/NimBLECharacteristic.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -398,6 +398,18 @@ void NimBLECharacteristicCallbacks::onStatus(NimBLECharacteristic* pCharacterist
398398
NIMBLE_LOGD("NimBLECharacteristicCallbacks", "onStatus: default");
399399
} // onStatus
400400

401+
/**
402+
* @brief Callback function to support a Notify/Indicate Status report.
403+
* @param [in] pCharacteristic The characteristic that is the source of the event.
404+
* @param [in] connInfo A reference to a NimBLEConnInfo instance containing the peer info.
405+
* @param [in] code Status return code from the NimBLE stack.
406+
* @details The status code for success is 0 for notifications and BLE_HS_EDONE for indications,
407+
* any other value is an error.
408+
*/
409+
void NimBLECharacteristicCallbacks::onStatus(NimBLECharacteristic* pCharacteristic, NimBLEConnInfo& connInfo, int code) {
410+
NIMBLE_LOGD("NimBLECharacteristicCallbacks", "onStatus: default");
411+
} // onStatus
412+
401413
/**
402414
* @brief Callback function called when a client changes subscription status.
403415
* @param [in] pCharacteristic The characteristic that is the source of the event.

src/NimBLECharacteristic.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,8 @@ class NimBLECharacteristicCallbacks {
298298
virtual ~NimBLECharacteristicCallbacks() {}
299299
virtual void onRead(NimBLECharacteristic* pCharacteristic, NimBLEConnInfo& connInfo);
300300
virtual void onWrite(NimBLECharacteristic* pCharacteristic, NimBLEConnInfo& connInfo);
301-
virtual void onStatus(NimBLECharacteristic* pCharacteristic, int code);
301+
virtual void onStatus(NimBLECharacteristic* pCharacteristic, int code); // deprecated
302+
virtual void onStatus(NimBLECharacteristic* pCharacteristic, NimBLEConnInfo& connInfo, int code);
302303
virtual void onSubscribe(NimBLECharacteristic* pCharacteristic, NimBLEConnInfo& connInfo, uint16_t subValue);
303304
};
304305

src/NimBLEServer.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -490,6 +490,7 @@ int NimBLEServer::handleGapEvent(ble_gap_event* event, void* arg) {
490490
}
491491

492492
pChar->m_pCallbacks->onStatus(pChar, event->notify_tx.status);
493+
pChar->m_pCallbacks->onStatus(pChar, peerInfo, event->notify_tx.status);
493494
break;
494495
} // BLE_GAP_EVENT_NOTIFY_TX
495496

0 commit comments

Comments
 (0)