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.
Dependents: microbit-dal microbit-dal microbit-ble-open microbit-dal ... more
Fork of BLE_API by
Diff: public/GattServer.h
- Revision:
- 299:c1e4400af825
- Parent:
- 298:8785a8af8106
- Child:
- 300:d9a39f759a6a
--- a/public/GattServer.h Mon Mar 02 11:50:47 2015 +0000
+++ b/public/GattServer.h Mon Mar 02 11:50:48 2015 +0000
@@ -34,7 +34,6 @@
characteristicCount(0),
onDataSent(),
onDataWritten(),
- onDataRead(),
onUpdatesEnabled(NULL),
onUpdatesDisabled(NULL),
onConfirmationReceived(NULL) {
@@ -44,10 +43,10 @@
friend class BLEDevice;
private:
/* These functions must be defined in the sub-class */
- virtual ble_error_t addService(GattService &) = 0;
- virtual ble_error_t readValue(GattAttribute::Handle_t handle, uint8_t buffer[], uint16_t *const lengthP) = 0;
- virtual ble_error_t updateValue(GattAttribute::Handle_t, uint8_t[], uint16_t, bool localOnly = false) = 0;
- virtual ble_error_t initializeGATTDatabase(void) = 0;
+ virtual ble_error_t addService(GattService &) = 0;
+ virtual ble_error_t readValue(uint16_t handle, uint8_t buffer[], uint16_t *const lengthP) = 0;
+ virtual ble_error_t updateValue(uint16_t, uint8_t[], uint16_t, bool localOnly = false) = 0;
+ virtual ble_error_t initializeGATTDatabase(void) = 0;
// ToDo: For updateValue, check the CCCD to see if the value we are
// updating has the notify or indicate bits sent, and if BOTH are set
@@ -64,31 +63,6 @@
void setOnDataWritten(T *objPtr, void (T::*memberPtr)(const GattCharacteristicWriteCBParams *context)) {
onDataWritten.add(objPtr, memberPtr);
}
-
- /**
- * A virtual function to allow underlying stacks to indicate if they support
- * onDataRead(). It should be overridden to return true as applicable.
- */
- virtual bool isOnDataReadAvaialble() const {
- return false;
- }
- ble_error_t setOnDataRead(void (*callback)(const GattCharacteristicReadCBParams *eventDataP)) {
- if (!isOnDataReadAvaialble()) {
- return BLE_ERROR_NOT_IMPLEMENTED;
- }
-
- onDataRead.add(callback);
- return BLE_ERROR_NONE;
- }
- template <typename T>
- ble_error_t setOnDataRead(T *objPtr, void (T::*memberPtr)(const GattCharacteristicReadCBParams *context)) {
- if (!isOnDataReadAvaialble()) {
- return BLE_ERROR_NOT_IMPLEMENTED;
- }
-
- onDataRead.add(objPtr, memberPtr);
- return BLE_ERROR_NONE;
- }
void setOnUpdatesEnabled(EventCallback_t callback) {onUpdatesEnabled = callback;}
void setOnUpdatesDisabled(EventCallback_t callback) {onUpdatesDisabled = callback;}
void setOnConfirmationReceived(EventCallback_t callback) {onConfirmationReceived = callback;}
@@ -100,12 +74,6 @@
}
}
- void handleDataReadEvent(const GattCharacteristicReadCBParams *params) {
- if (onDataRead.hasCallbacksAttached()) {
- onDataRead.call(params);
- }
- }
-
void handleEvent(GattServerEvents::gattEvent_e type, uint16_t charHandle) {
switch (type) {
case GattServerEvents::GATT_EVENT_UPDATES_ENABLED:
@@ -141,7 +109,6 @@
private:
CallChainOfFunctionPointersWithContext<unsigned> onDataSent;
CallChainOfFunctionPointersWithContext<const GattCharacteristicWriteCBParams *> onDataWritten;
- CallChainOfFunctionPointersWithContext<const GattCharacteristicReadCBParams *> onDataRead;
EventCallback_t onUpdatesEnabled;
EventCallback_t onUpdatesDisabled;
EventCallback_t onConfirmationReceived;
