Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of BLE_API by
Revision 816:2b4f0ef8c06e, committed 2015-09-29
- Comitter:
- rgrover1
- Date:
- Tue Sep 29 09:49:22 2015 +0100
- Parent:
- 815:907530c64cd5
- Child:
- 817:7a23f308cfe1
- Commit message:
- Synchronized with git rev 4c2aac54
Author: Rohit Grover
Merge branch 'master' into develop
Changed in this revision
| ble/Gap.h | Show annotated file Show diff for this revision Revisions of this file |
| ble/GattCallbackParamTypes.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/ble/Gap.h Tue Sep 29 09:49:22 2015 +0100
+++ b/ble/Gap.h Tue Sep 29 09:49:22 2015 +0100
@@ -301,9 +301,11 @@
}
/**
- * Update connection parameters while in the peripheral role.
- * @details In the peripheral role, this will send the corresponding L2CAP request to the connected peer and wait for
- * the central to perform the procedure.
+ * Update connection parameters.
+ * In the central role this will initiate a Link Layer connection parameter update procedure,
+ * otherwise in the peripheral role, this will send the corresponding L2CAP request and wait for
+ * the central to perform the procedure.
+ *
* @param[in] handle
* Connection Handle
* @param[in] params
@@ -901,6 +903,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 +972,7 @@
disconnectionCallback(NULL),
radioNotificationCallback(),
onAdvertisementReport(),
+ connectionCallChain(),
disconnectionCallChain() {
_advPayload.clear();
_scanResponse.clear();
@@ -979,6 +992,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 +1040,7 @@
DisconnectionEventCallback_t disconnectionCallback;
RadioNotificationEventCallback_t radioNotificationCallback;
AdvertisementReportCallback_t onAdvertisementReport;
+ CallChain connectionCallChain;
CallChain disconnectionCallChain;
private:
--- a/ble/GattCallbackParamTypes.h Tue Sep 29 09:49:22 2015 +0100
+++ b/ble/GattCallbackParamTypes.h Tue Sep 29 09:49:22 2015 +0100
@@ -65,8 +65,9 @@
uint16_t offset; /**< Offset for the write operation. */
uint16_t len; /**< Length of the incoming data. */
const uint8_t *data; /**< Incoming data, variable length. */
- GattAuthCallbackReply_t authorizationReply; /* This is the out parameter which needs to be set to true by the callback if the
- * request is to proceed; false otherwise. */
+ GattAuthCallbackReply_t authorizationReply; /* This is the out parameter which needs to be set to
+ * AUTH_CALLBACK_REPLY_SUCCESS by the callback if the
+ * request is to proceed. */
};
struct GattReadAuthCallbackParams {
@@ -75,8 +76,9 @@
uint16_t offset; /**< Offset for the read operation. */
uint16_t len; /**< Optional: new length of the outgoing data. */
uint8_t *data; /**< Optional: new outgoing data. Leave at NULL if data is unchanged. */
- GattAuthCallbackReply_t authorizationReply; /* This is the out parameter which needs to be set to true by the callback if the
- * request is to proceed; false otherwise. */
+ GattAuthCallbackReply_t authorizationReply; /* This is the out parameter which needs to be set to
+ * AUTH_CALLBACK_REPLY_SUCCESS by the callback if the
+ * request is to proceed. */
};
/* For encapsulating handle-value update events (notifications or indications) generated at the remote server. */
