High level Bluetooth Low Energy API and radio abstraction layer
Fork of BLE_API by
Revision 800:3bf180b7a3a5, committed 2015-09-29
- Comitter:
- rgrover1
- Date:
- Tue Sep 29 09:47:50 2015 +0100
- Parent:
- 799:73c7fc4d5385
- Child:
- 801:6fa829aa0346
- Commit message:
- Synchronized with git rev 6f960cbe
Author: Marcus Chang
Gap.h - Added onConnection callback chain simarly to the currently present onDisconnection callback chain.
Changed in this revision
ble/Gap.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/ble/Gap.h Tue Sep 29 09:47:50 2015 +0100 +++ b/ble/Gap.h Tue Sep 29 09:47:50 2015 +0100 @@ -901,6 +901,16 @@ void onDisconnection(DisconnectionEventCallback_t callback) {disconnectionCallback = callback;} /** + * Append to a chain of callbacks to be invoked upon connection; these + * callbacks receive no context and are therefore different from the + * connectionCallback callback. + * @param callback + * function pointer to be invoked upon connection; receives no context. + */ + template<typename T> + void addToConnectionCallChain(T *tptr, void (T::*mptr)(void)) {connectionCallChain.add(tptr, mptr);} + + /** * Append to a chain of callbacks to be invoked upon disconnection; these * callbacks receive no context and are therefore different from the * disconnectionCallback callback. @@ -960,6 +970,7 @@ disconnectionCallback(NULL), radioNotificationCallback(), onAdvertisementReport(), + connectionCallChain(), disconnectionCallChain() { _advPayload.clear(); _scanResponse.clear(); @@ -979,6 +990,7 @@ ConnectionCallbackParams_t callbackParams(handle, role, peerAddrType, peerAddr, ownAddrType, ownAddr, connectionParams); connectionCallback(&callbackParams); } + connectionCallChain.call(); } void processDisconnectionEvent(Handle_t handle, DisconnectionReason_t reason) { @@ -1026,6 +1038,7 @@ DisconnectionEventCallback_t disconnectionCallback; RadioNotificationEventCallback_t radioNotificationCallback; AdvertisementReportCallback_t onAdvertisementReport; + CallChain connectionCallChain; CallChain disconnectionCallChain; private: