High level Bluetooth Low Energy API and radio abstraction layer

Dependencies:   nRF51822

Dependents:   LinkNode_LIS3DH

Fork of BLE_API by Bluetooth Low Energy

Files at this revision

API Documentation at this revision

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: