Added an EddystoneURLConfigService in addition to UriBeaconConfigService. Updated README and converted comments that used UriBeacon to EddystoneURL in the EddystoneService.h

Dependents:   mbed_EddystoneURL_Beacon_ssci mbed_EddystoneURL_Beacon_ssci mbed_EddystoneURL_Beacon_ssci

Fork of BLE_API by Bluetooth Low Energy

Committer:
roywant
Date:
Wed Aug 19 04:27:52 2015 +0000
Revision:
797:13164356b568
Parent:
789:e33a8b853eb8
Updated EddystoneURLConfigService.h : 1) lockedState now is a member of params.lockedState ; zeros are not the unlock value (and a valid key), this now passes the Validator, 2) After disconnect the timeADV is disabled, and ADV params recreated.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rgrover1 716:11b41f651697 1 /* mbed Microcontroller Library
rgrover1 716:11b41f651697 2 * Copyright (c) 2006-2013 ARM Limited
rgrover1 716:11b41f651697 3 *
rgrover1 716:11b41f651697 4 * Licensed under the Apache License, Version 2.0 (the "License");
rgrover1 716:11b41f651697 5 * you may not use this file except in compliance with the License.
rgrover1 716:11b41f651697 6 * You may obtain a copy of the License at
rgrover1 716:11b41f651697 7 *
rgrover1 716:11b41f651697 8 * http://www.apache.org/licenses/LICENSE-2.0
rgrover1 716:11b41f651697 9 *
rgrover1 716:11b41f651697 10 * Unless required by applicable law or agreed to in writing, software
rgrover1 716:11b41f651697 11 * distributed under the License is distributed on an "AS IS" BASIS,
rgrover1 716:11b41f651697 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
rgrover1 716:11b41f651697 13 * See the License for the specific language governing permissions and
rgrover1 716:11b41f651697 14 * limitations under the License.
rgrover1 716:11b41f651697 15 */
rgrover1 716:11b41f651697 16
rgrover1 716:11b41f651697 17 #ifndef __GATT_CALLBACK_PARAM_TYPES_H__
rgrover1 716:11b41f651697 18 #define __GATT_CALLBACK_PARAM_TYPES_H__
rgrover1 716:11b41f651697 19
rgrover1 716:11b41f651697 20 struct GattWriteCallbackParams {
rgrover1 716:11b41f651697 21 enum WriteOp_t {
rgrover1 716:11b41f651697 22 OP_INVALID = 0x00, /**< Invalid Operation. */
rgrover1 716:11b41f651697 23 OP_WRITE_REQ = 0x01, /**< Write Request. */
rgrover1 716:11b41f651697 24 OP_WRITE_CMD = 0x02, /**< Write Command. */
rgrover1 716:11b41f651697 25 OP_SIGN_WRITE_CMD = 0x03, /**< Signed Write Command. */
rgrover1 716:11b41f651697 26 OP_PREP_WRITE_REQ = 0x04, /**< Prepare Write Request. */
rgrover1 716:11b41f651697 27 OP_EXEC_WRITE_REQ_CANCEL = 0x05, /**< Execute Write Request: Cancel all prepared writes. */
rgrover1 716:11b41f651697 28 OP_EXEC_WRITE_REQ_NOW = 0x06, /**< Execute Write Request: Immediately execute all prepared writes. */
rgrover1 716:11b41f651697 29 };
rgrover1 716:11b41f651697 30
rgrover1 788:89433790768b 31 Gap::Handle_t connHandle;
rgrover1 716:11b41f651697 32 GattAttribute::Handle_t handle;
rgrover1 716:11b41f651697 33 WriteOp_t writeOp; /**< Type of write operation, */
rgrover1 716:11b41f651697 34 uint16_t offset; /**< Offset for the write operation. */
rgrover1 716:11b41f651697 35 uint16_t len;
rgrover1 716:11b41f651697 36 const uint8_t *data; /* @note: data might not persist beyond the callback; make a local copy if needed. */
rgrover1 716:11b41f651697 37 };
rgrover1 716:11b41f651697 38
rgrover1 716:11b41f651697 39 struct GattReadCallbackParams {
rgrover1 788:89433790768b 40 Gap::Handle_t connHandle;
rgrover1 716:11b41f651697 41 GattAttribute::Handle_t handle;
rgrover1 716:11b41f651697 42 uint16_t offset; /**< Offset for the read operation. */
rgrover1 716:11b41f651697 43 uint16_t len;
rgrover1 716:11b41f651697 44 const uint8_t *data; /* @note: data might not persist beyond the callback; make a local copy if needed. */
rgrover1 716:11b41f651697 45 };
rgrover1 716:11b41f651697 46
rgrover1 716:11b41f651697 47 enum GattAuthCallbackReply_t {
rgrover1 789:e33a8b853eb8 48 AUTH_CALLBACK_REPLY_SUCCESS = 0x00, /**< Success. */
rgrover1 789:e33a8b853eb8 49 AUTH_CALLBACK_REPLY_ATTERR_INVALID_HANDLE = 0x0101, /**< ATT Error: Invalid Attribute Handle. */
rgrover1 789:e33a8b853eb8 50 AUTH_CALLBACK_REPLY_ATTERR_READ_NOT_PERMITTED = 0x0102, /**< ATT Error: Read not permitted. */
rgrover1 789:e33a8b853eb8 51 AUTH_CALLBACK_REPLY_ATTERR_WRITE_NOT_PERMITTED = 0x0103, /**< ATT Error: Write not permitted. */
rgrover1 789:e33a8b853eb8 52 AUTH_CALLBACK_REPLY_ATTERR_INSUF_AUTHENTICATION = 0x0105, /**< ATT Error: Authenticated link required. */
rgrover1 789:e33a8b853eb8 53 AUTH_CALLBACK_REPLY_ATTERR_INVALID_OFFSET = 0x0107, /**< ATT Error: Offset specified was past the end of the attribute. */
rgrover1 789:e33a8b853eb8 54 AUTH_CALLBACK_REPLY_ATTERR_INSUF_AUTHORIZATION = 0x0108, /**< ATT Error: Used in ATT as Insufficient Authorisation. */
rgrover1 789:e33a8b853eb8 55 AUTH_CALLBACK_REPLY_ATTERR_PREPARE_QUEUE_FULL = 0x0109, /**< ATT Error: Used in ATT as Prepare Queue Full. */
rgrover1 789:e33a8b853eb8 56 AUTH_CALLBACK_REPLY_ATTERR_ATTRIBUTE_NOT_FOUND = 0x010A, /**< ATT Error: Used in ATT as Attribute not found. */
rgrover1 789:e33a8b853eb8 57 AUTH_CALLBACK_REPLY_ATTERR_ATTRIBUTE_NOT_LONG = 0x010B, /**< ATT Error: Attribute cannot be read or written using read/write blob requests. */
rgrover1 716:11b41f651697 58 AUTH_CALLBACK_REPLY_ATTERR_INVALID_ATT_VAL_LENGTH = 0x010D, /**< ATT Error: Invalid value size. */
rgrover1 789:e33a8b853eb8 59 AUTH_CALLBACK_REPLY_ATTERR_INSUF_RESOURCES = 0x0111, /**< ATT Error: Encrypted link required. */
rgrover1 716:11b41f651697 60 };
rgrover1 716:11b41f651697 61
rgrover1 716:11b41f651697 62 struct GattWriteAuthCallbackParams {
rgrover1 788:89433790768b 63 Gap::Handle_t connHandle;
rgrover1 716:11b41f651697 64 GattAttribute::Handle_t handle;
rgrover1 716:11b41f651697 65 uint16_t offset; /**< Offset for the write operation. */
rgrover1 716:11b41f651697 66 uint16_t len; /**< Length of the incoming data. */
rgrover1 716:11b41f651697 67 const uint8_t *data; /**< Incoming data, variable length. */
rgrover1 716:11b41f651697 68 GattAuthCallbackReply_t authorizationReply; /* This is the out parameter which needs to be set to true by the callback if the
rgrover1 716:11b41f651697 69 * request is to proceed; false otherwise. */
rgrover1 716:11b41f651697 70 };
rgrover1 716:11b41f651697 71
rgrover1 716:11b41f651697 72 struct GattReadAuthCallbackParams {
rgrover1 788:89433790768b 73 Gap::Handle_t connHandle;
rgrover1 716:11b41f651697 74 GattAttribute::Handle_t handle;
rgrover1 716:11b41f651697 75 uint16_t offset; /**< Offset for the read operation. */
rgrover1 716:11b41f651697 76 uint16_t len; /**< Optional: new length of the outgoing data. */
rgrover1 716:11b41f651697 77 uint8_t *data; /**< Optional: new outgoing data. Leave at NULL if data is unchanged. */
rgrover1 716:11b41f651697 78 GattAuthCallbackReply_t authorizationReply; /* This is the out parameter which needs to be set to true by the callback if the
rgrover1 716:11b41f651697 79 * request is to proceed; false otherwise. */
rgrover1 716:11b41f651697 80 };
rgrover1 716:11b41f651697 81
rgrover1 737:79d95f9b93be 82 /* For encapsulating handle-value update events (notifications or indications) generated at the remote server. */
rgrover1 737:79d95f9b93be 83 struct GattHVXCallbackParams {
rgrover1 788:89433790768b 84 Gap::Handle_t connHandle;
rgrover1 737:79d95f9b93be 85 GattAttribute::Handle_t handle; /**< Attribute Handle to which the HVx operation applies. */
rgrover1 737:79d95f9b93be 86 HVXType_t type; /**< Indication or Notification, see @ref HVXType_t. */
rgrover1 737:79d95f9b93be 87 uint16_t len; /**< Attribute data length. */
rgrover1 737:79d95f9b93be 88 const uint8_t *data; /**< Attribute data, variable length. */
rgrover1 737:79d95f9b93be 89 };
rgrover1 737:79d95f9b93be 90
rgrover1 716:11b41f651697 91 #endif /*__GATT_CALLBACK_PARAM_TYPES_H__*/