BLE
Fork of BLE_API by
Diff: public/DiscoveredCharacteristic.h
- Revision:
- 489:bdba688a550f
- Parent:
- 487:bcb77e15d152
- Child:
- 493:7e0bd56f4957
--- a/public/DiscoveredCharacteristic.h Fri Jun 19 15:52:01 2015 +0100 +++ b/public/DiscoveredCharacteristic.h Fri Jun 19 15:52:02 2015 +0100 @@ -72,7 +72,15 @@ * BLE_STACK_BUSY if some client procedure already in progress, or * BLE_ERROR_OPERATION_NOT_PERMITTED due to the characteristic's properties. */ - virtual ble_error_t read(uint16_t offset = 0) const = 0; + ble_error_t read(uint16_t offset = 0) const { + printf("DiscoveredCharacteristic::read\r\n"); + if (!props.read()) { + return BLE_ERROR_OPERATION_NOT_PERMITTED; + } + + return BLE_ERROR_NONE; + // return (ble.getGattClient())->read(connHandle, valueHandle, offset); + } /** * Perform a write without response procedure. @@ -94,7 +102,14 @@ * BLE_ERROR_NO_MEM if there are no available buffers left to process the request, or * BLE_ERROR_OPERATION_NOT_PERMITTED due to the characteristic's properties. */ - virtual ble_error_t writeWoResponse(uint16_t length, const uint8_t *value) const = 0; + ble_error_t writeWoResponse(uint16_t length, const uint8_t *value) const { + if (!props.writeWoResp()) { + return BLE_ERROR_OPERATION_NOT_PERMITTED; + } + + return BLE_ERROR_NONE; + // return (ble.getGattClient())->write(BLE_GATT_OP_WRITE_CMD, connHandle, length, value); + } void setupLongUUID(UUID::LongUUIDBytes_t longUUID) { uuid.setupLong(longUUID);