No changes

Fork of nRF51822 by Nordic Semiconductor

Committer:
rgrover1
Date:
Wed Dec 02 12:35:27 2015 +0000
Revision:
514:a3b6d669c210
Parent:
513:9abdc3021d8c
Child:
517:23d16e238129
Synchronized with git rev 4b3a1c85
Author: Andres Amaya Garcia
Allow GattAttributes to have fixed length

Previously the concepts of initLength and lenth were clearly separated.
However, this was at the cost of registering all characteristics in the
SoftDevice as having variable length. Clearly, this is not the desired
behaviour. Therefore, an additional field '_hasVariableLen' is added to the
GattAttribute to address the problem. Also, the GattAttribute and
GattCharacteristic constructors have been modified to take a boolean that
sets '_hasVariableLen'.

**NOTE:** Changes to this module will cause projects to fail the build stage
if changes to the BLE_API are not published first.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Rohit Grover 22:c6ee8136847e 1 /* mbed Microcontroller Library
Rohit Grover 22:c6ee8136847e 2 * Copyright (c) 2006-2013 ARM Limited
Rohit Grover 22:c6ee8136847e 3 *
Rohit Grover 22:c6ee8136847e 4 * Licensed under the Apache License, Version 2.0 (the "License");
Rohit Grover 22:c6ee8136847e 5 * you may not use this file except in compliance with the License.
Rohit Grover 22:c6ee8136847e 6 * You may obtain a copy of the License at
Rohit Grover 22:c6ee8136847e 7 *
Rohit Grover 22:c6ee8136847e 8 * http://www.apache.org/licenses/LICENSE-2.0
Rohit Grover 22:c6ee8136847e 9 *
Rohit Grover 22:c6ee8136847e 10 * Unless required by applicable law or agreed to in writing, software
Rohit Grover 22:c6ee8136847e 11 * distributed under the License is distributed on an "AS IS" BASIS,
Rohit Grover 22:c6ee8136847e 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Rohit Grover 22:c6ee8136847e 13 * See the License for the specific language governing permissions and
Rohit Grover 22:c6ee8136847e 14 * limitations under the License.
Rohit Grover 22:c6ee8136847e 15 */
Rohit Grover 22:c6ee8136847e 16
Rohit Grover 22:c6ee8136847e 17 #ifndef _CUSTOM_HELPER_H_
Rohit Grover 22:c6ee8136847e 18 #define _CUSTOM_HELPER_H_
Rohit Grover 22:c6ee8136847e 19
rgrover1 129:7cf48219e771 20 #include "common/common.h"
rgrover1 129:7cf48219e771 21 #include "ble.h"
rgrover1 371:8f7d2137727a 22 #include "ble/UUID.h"
rgrover1 371:8f7d2137727a 23 #include "ble/GattCharacteristic.h"
rgrover1 129:7cf48219e771 24
Rohit Grover 22:c6ee8136847e 25 #ifdef __cplusplus
Rohit Grover 22:c6ee8136847e 26 extern "C" {
Rohit Grover 22:c6ee8136847e 27 #endif
Rohit Grover 22:c6ee8136847e 28
Rohit Grover 22:c6ee8136847e 29 uint8_t custom_add_uuid_base(uint8_t const *const p_uuid_base);
Rohit Grover 22:c6ee8136847e 30 error_t custom_decode_uuid(uint8_t const *const p_uuid_base,
Rohit Grover 22:c6ee8136847e 31 ble_uuid_t *p_uuid);
Rohit Grover 22:c6ee8136847e 32 ble_uuid_t custom_convert_to_nordic_uuid(const UUID &uuid);
Rohit Grover 22:c6ee8136847e 33
Rohit Grover 22:c6ee8136847e 34 error_t custom_add_in_characteristic(uint16_t service_handle,
Rohit Grover 22:c6ee8136847e 35 ble_uuid_t *p_uuid,
Rohit Grover 22:c6ee8136847e 36 uint8_t properties,
rgrover1 371:8f7d2137727a 37 SecurityManager::SecurityMode_t requiredSecurity,
Rohit Grover 22:c6ee8136847e 38 uint8_t *p_data,
rgrover1 513:9abdc3021d8c 39 uint16_t length,
Rohit Grover 22:c6ee8136847e 40 uint16_t max_length,
rgrover1 514:a3b6d669c210 41 bool has_variable_len,
rgrover1 119:3ba3e377b972 42 const uint8_t *userDescriptionDescriptorValuePtr,
rgrover1 119:3ba3e377b972 43 uint16_t userDescriptionDescriptorValueLen,
rgrover1 83:71302acf1804 44 bool readAuthorization,
rgrover1 82:6c51cbe4bc12 45 bool writeAuthorization,
Rohit Grover 22:c6ee8136847e 46 ble_gatts_char_handles_t *p_char_handle);
Rohit Grover 22:c6ee8136847e 47
carlescufi 54:e2294c844c83 48 error_t custom_add_in_descriptor(uint16_t char_handle,
carlescufi 54:e2294c844c83 49 ble_uuid_t *p_uuid,
carlescufi 54:e2294c844c83 50 uint8_t *p_data,
rgrover1 513:9abdc3021d8c 51 uint16_t length,
carlescufi 54:e2294c844c83 52 uint16_t max_length,
rgrover1 514:a3b6d669c210 53 bool has_variable_len,
carlescufi 54:e2294c844c83 54 uint16_t *p_desc_handle);
carlescufi 54:e2294c844c83 55
Rohit Grover 22:c6ee8136847e 56 #ifdef __cplusplus
Rohit Grover 22:c6ee8136847e 57 }
Rohit Grover 22:c6ee8136847e 58 #endif
Rohit Grover 22:c6ee8136847e 59
rgrover1 82:6c51cbe4bc12 60 #endif // ifndef _CUSTOM_HELPER_H_