abc
Fork of BLE_API by
public/GattCharacteristicCallbackParams.h@300:d9a39f759a6a, 2015-03-02 (annotated)
- Committer:
- rgrover1
- Date:
- Mon Mar 02 11:50:48 2015 +0000
- Revision:
- 300:d9a39f759a6a
- Parent:
- 299:c1e4400af825
- Child:
- 325:501ad8b8bbe5
Synchronized with git rev 91b4b8f8
Author: Rohit Grover
initialize the min/max length values correctly in the constructor for URIDataChar.
Previously, the minLength value was always set to URI_DATA_MAX, whereas maxLen got initialized by the values stored persistently. Except for the case of default initialization, the value of maxLength would always be less than then minLength; causing improper behaviour from the underlying stack while setting up characterisitics.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
rgrover1 | 264:eea11cfb6753 | 1 | /* mbed Microcontroller Library |
rgrover1 | 264:eea11cfb6753 | 2 | * Copyright (c) 2006-2013 ARM Limited |
rgrover1 | 264:eea11cfb6753 | 3 | * |
rgrover1 | 264:eea11cfb6753 | 4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
rgrover1 | 264:eea11cfb6753 | 5 | * you may not use this file except in compliance with the License. |
rgrover1 | 264:eea11cfb6753 | 6 | * You may obtain a copy of the License at |
rgrover1 | 264:eea11cfb6753 | 7 | * |
rgrover1 | 264:eea11cfb6753 | 8 | * http://www.apache.org/licenses/LICENSE-2.0 |
rgrover1 | 264:eea11cfb6753 | 9 | * |
rgrover1 | 264:eea11cfb6753 | 10 | * Unless required by applicable law or agreed to in writing, software |
rgrover1 | 264:eea11cfb6753 | 11 | * distributed under the License is distributed on an "AS IS" BASIS, |
rgrover1 | 264:eea11cfb6753 | 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
rgrover1 | 264:eea11cfb6753 | 13 | * See the License for the specific language governing permissions and |
rgrover1 | 264:eea11cfb6753 | 14 | * limitations under the License. |
rgrover1 | 264:eea11cfb6753 | 15 | */ |
rgrover1 | 264:eea11cfb6753 | 16 | |
rgrover1 | 264:eea11cfb6753 | 17 | #ifndef __GATT_CHARACTERISTIC_CALLBACK_PARAMS_H__ |
rgrover1 | 264:eea11cfb6753 | 18 | #define __GATT_CHARACTERISTIC_CALLBACK_PARAMS_H__ |
rgrover1 | 264:eea11cfb6753 | 19 | |
rgrover1 | 264:eea11cfb6753 | 20 | struct GattCharacteristicWriteCBParams { |
rgrover1 | 264:eea11cfb6753 | 21 | GattAttribute::Handle_t charHandle; |
rgrover1 | 264:eea11cfb6753 | 22 | enum Type { |
rgrover1 | 264:eea11cfb6753 | 23 | GATTS_CHAR_OP_INVALID = 0x00, /**< Invalid Operation. */ |
rgrover1 | 264:eea11cfb6753 | 24 | GATTS_CHAR_OP_WRITE_REQ = 0x01, /**< Write Request. */ |
rgrover1 | 264:eea11cfb6753 | 25 | GATTS_CHAR_OP_WRITE_CMD = 0x02, /**< Write Command. */ |
rgrover1 | 264:eea11cfb6753 | 26 | GATTS_CHAR_OP_SIGN_WRITE_CMD = 0x03, /**< Signed Write Command. */ |
rgrover1 | 264:eea11cfb6753 | 27 | GATTS_CHAR_OP_PREP_WRITE_REQ = 0x04, /**< Prepare Write Request. */ |
rgrover1 | 264:eea11cfb6753 | 28 | GATTS_CHAR_OP_EXEC_WRITE_REQ_CANCEL = 0x05, /**< Execute Write Request: Cancel all prepared writes. */ |
rgrover1 | 264:eea11cfb6753 | 29 | GATTS_CHAR_OP_EXEC_WRITE_REQ_NOW = 0x06, /**< Execute Write Request: Immediately execute all prepared writes. */ |
rgrover1 | 264:eea11cfb6753 | 30 | } op; /**< Type of write operation, */ |
rgrover1 | 264:eea11cfb6753 | 31 | uint16_t offset; /**< Offset for the write operation. */ |
rgrover1 | 264:eea11cfb6753 | 32 | uint16_t len; /**< Length of the incoming data. */ |
rgrover1 | 264:eea11cfb6753 | 33 | const uint8_t *data; /**< Incoming data, variable length. */ |
rgrover1 | 264:eea11cfb6753 | 34 | }; |
rgrover1 | 264:eea11cfb6753 | 35 | |
rgrover1 | 300:d9a39f759a6a | 36 | struct GattCharacteristicReadCBParams { |
rgrover1 | 300:d9a39f759a6a | 37 | GattAttribute::Handle_t charHandle; |
rgrover1 | 300:d9a39f759a6a | 38 | enum Type { |
rgrover1 | 300:d9a39f759a6a | 39 | GATTS_CHAR_OP_INVALID = 0x00, /**< Invalid Operation. */ |
rgrover1 | 300:d9a39f759a6a | 40 | GATTS_CHAR_OP_READ_REQ = 0x0A, /**< Read Request. */ |
rgrover1 | 300:d9a39f759a6a | 41 | } op; /**< Type of write operation, */ |
rgrover1 | 300:d9a39f759a6a | 42 | uint16_t offset; /**< Offset for the read operation. */ |
rgrover1 | 300:d9a39f759a6a | 43 | uint16_t *len; /**< Length of the outgoing data. */ |
rgrover1 | 300:d9a39f759a6a | 44 | uint8_t *data; /**< Outgoing data, variable length. */ |
rgrover1 | 300:d9a39f759a6a | 45 | }; |
rgrover1 | 300:d9a39f759a6a | 46 | |
rgrover1 | 264:eea11cfb6753 | 47 | struct GattCharacteristicWriteAuthCBParams { |
rgrover1 | 264:eea11cfb6753 | 48 | GattAttribute::Handle_t charHandle; |
rgrover1 | 264:eea11cfb6753 | 49 | uint16_t offset; /**< Offset for the write operation. */ |
rgrover1 | 264:eea11cfb6753 | 50 | uint16_t len; /**< Length of the incoming data. */ |
rgrover1 | 264:eea11cfb6753 | 51 | const uint8_t *data; /**< Incoming data, variable length. */ |
rgrover1 | 264:eea11cfb6753 | 52 | bool authorizationReply; /* This is the out parameter which needs to be set to true by the callback if the |
rgrover1 | 264:eea11cfb6753 | 53 | * request is to proceed; false otherwise. */ |
rgrover1 | 264:eea11cfb6753 | 54 | }; |
rgrover1 | 264:eea11cfb6753 | 55 | |
rgrover1 | 264:eea11cfb6753 | 56 | struct GattCharacteristicReadAuthCBParams { |
rgrover1 | 264:eea11cfb6753 | 57 | GattAttribute::Handle_t charHandle; |
rgrover1 | 265:a0504765a357 | 58 | uint16_t offset; /**< Offset for the read operation. */ |
rgrover1 | 265:a0504765a357 | 59 | uint16_t len; /**< Optional: new length of the outgoing data. */ |
rgrover1 | 265:a0504765a357 | 60 | uint8_t *data; /**< Optional: new outgoing data. Leave at NULL if data is unchanged. */ |
rgrover1 | 264:eea11cfb6753 | 61 | bool authorizationReply; /* This is the out parameter which needs to be set to true by the callback if the |
rgrover1 | 264:eea11cfb6753 | 62 | * request is to proceed; false otherwise. */ |
rgrover1 | 264:eea11cfb6753 | 63 | }; |
rgrover1 | 264:eea11cfb6753 | 64 | |
rgrover1 | 264:eea11cfb6753 | 65 | #endif /*__GATT_CHARACTERISTIC_CALLBACK_PARAMS_H__*/ |