X_NUCLEO_IDB05A1
Dependencies: mbed-os-example-ble-Advertising
source/BlueNRGDiscoveredCharacteristic.cpp@259:323f588e5f57, 2016-09-15 (annotated)
- Committer:
- Vincent Coubard
- Date:
- Thu Sep 15 10:51:21 2016 +0100
- Branch:
- 70f819844d61400a7b6772dcc911a63fc73af09e
- Revision:
- 259:323f588e5f57
- Parent:
- 229:9981f62cdb1a
Sync with 70f819844d61400a7b6772dcc911a63fc73af09e
2016-07-08 12:18:26+01:00: Vincent Coubard
Fix ServiceInstantiation_test_xx
Fix the last handle set for characteristics
Fix discovery order.
From a user perspective, the service tree is traversed in deep.
The previous behavior was:
for service in services:
service_callback(callback)
for characteristic in characteristics:
characteristic_callback(characteristic)
The new behavior is:
for service in services:
service_callback(callback)
for characteristic in service.characteristics:
characteristic_callback(characteristic)
Reserve the valid count of attribute records when declaring a service.
Report error when it is not possible to add a service.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Andrea Palmieri |
229:9981f62cdb1a | 1 | /* mbed Microcontroller Library |
Andrea Palmieri |
229:9981f62cdb1a | 2 | * Copyright (c) 2006-2013 ARM Limited |
Andrea Palmieri |
229:9981f62cdb1a | 3 | * |
Andrea Palmieri |
229:9981f62cdb1a | 4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
Andrea Palmieri |
229:9981f62cdb1a | 5 | * you may not use this file except in compliance with the License. |
Andrea Palmieri |
229:9981f62cdb1a | 6 | * You may obtain a copy of the License at |
Andrea Palmieri |
229:9981f62cdb1a | 7 | * |
Andrea Palmieri |
229:9981f62cdb1a | 8 | * http://www.apache.org/licenses/LICENSE-2.0 |
Andrea Palmieri |
229:9981f62cdb1a | 9 | * |
Andrea Palmieri |
229:9981f62cdb1a | 10 | * Unless required by applicable law or agreed to in writing, software |
Andrea Palmieri |
229:9981f62cdb1a | 11 | * distributed under the License is distributed on an "AS IS" BASIS, |
Andrea Palmieri |
229:9981f62cdb1a | 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
Andrea Palmieri |
229:9981f62cdb1a | 13 | * See the License for the specific language governing permissions and |
Andrea Palmieri |
229:9981f62cdb1a | 14 | * limitations under the License. |
Andrea Palmieri |
229:9981f62cdb1a | 15 | */ |
Andrea Palmieri |
229:9981f62cdb1a | 16 | |
Andrea Palmieri |
229:9981f62cdb1a | 17 | #include "BlueNRGDiscoveredCharacteristic.h" |
Andrea Palmieri |
229:9981f62cdb1a | 18 | #include "BlueNRGGattClient.h" |
Andrea Palmieri |
229:9981f62cdb1a | 19 | |
Andrea Palmieri |
229:9981f62cdb1a | 20 | void BlueNRGDiscoveredCharacteristic::setup(BlueNRGGattClient *gattcIn, |
Andrea Palmieri |
229:9981f62cdb1a | 21 | Gap::Handle_t connectionHandleIn, |
Andrea Palmieri |
229:9981f62cdb1a | 22 | DiscoveredCharacteristic::Properties_t propsIn, |
Andrea Palmieri |
229:9981f62cdb1a | 23 | GattAttribute::Handle_t declHandleIn, |
Andrea Palmieri |
229:9981f62cdb1a | 24 | GattAttribute::Handle_t valueHandleIn, |
Andrea Palmieri |
229:9981f62cdb1a | 25 | GattAttribute::Handle_t lastHandleIn) |
Andrea Palmieri |
229:9981f62cdb1a | 26 | { |
Andrea Palmieri |
229:9981f62cdb1a | 27 | gattc = gattcIn; |
Andrea Palmieri |
229:9981f62cdb1a | 28 | connHandle = connectionHandleIn; |
Andrea Palmieri |
229:9981f62cdb1a | 29 | declHandle = declHandleIn; |
Andrea Palmieri |
229:9981f62cdb1a | 30 | valueHandle = valueHandleIn; |
Andrea Palmieri |
229:9981f62cdb1a | 31 | lastHandle = lastHandleIn; |
Andrea Palmieri |
229:9981f62cdb1a | 32 | |
Andrea Palmieri |
229:9981f62cdb1a | 33 | props._broadcast = propsIn.broadcast(); |
Andrea Palmieri |
229:9981f62cdb1a | 34 | props._read = propsIn.read(); |
Andrea Palmieri |
229:9981f62cdb1a | 35 | props._writeWoResp = propsIn.writeWoResp(); |
Andrea Palmieri |
229:9981f62cdb1a | 36 | props._write = propsIn.write(); |
Andrea Palmieri |
229:9981f62cdb1a | 37 | props._notify = propsIn.notify(); |
Andrea Palmieri |
229:9981f62cdb1a | 38 | props._indicate = propsIn.indicate(); |
Andrea Palmieri |
229:9981f62cdb1a | 39 | props._authSignedWrite = propsIn.authSignedWrite(); |
Andrea Palmieri |
229:9981f62cdb1a | 40 | } |
Andrea Palmieri |
229:9981f62cdb1a | 41 | |
Andrea Palmieri |
229:9981f62cdb1a | 42 | void BlueNRGDiscoveredCharacteristic::setup(BlueNRGGattClient *gattcIn, |
Andrea Palmieri |
229:9981f62cdb1a | 43 | Gap::Handle_t connectionHandleIn, |
Andrea Palmieri |
229:9981f62cdb1a | 44 | UUID uuidIn, |
Andrea Palmieri |
229:9981f62cdb1a | 45 | DiscoveredCharacteristic::Properties_t propsIn, |
Andrea Palmieri |
229:9981f62cdb1a | 46 | GattAttribute::Handle_t declHandleIn, |
Andrea Palmieri |
229:9981f62cdb1a | 47 | GattAttribute::Handle_t valueHandleIn, |
Andrea Palmieri |
229:9981f62cdb1a | 48 | GattAttribute::Handle_t lastHandleIn) |
Andrea Palmieri |
229:9981f62cdb1a | 49 | { |
Andrea Palmieri |
229:9981f62cdb1a | 50 | gattc = gattcIn; |
Andrea Palmieri |
229:9981f62cdb1a | 51 | connHandle = connectionHandleIn; |
Andrea Palmieri |
229:9981f62cdb1a | 52 | uuid = uuidIn; |
Andrea Palmieri |
229:9981f62cdb1a | 53 | declHandle = declHandleIn; |
Andrea Palmieri |
229:9981f62cdb1a | 54 | valueHandle = valueHandleIn; |
Andrea Palmieri |
229:9981f62cdb1a | 55 | lastHandle = lastHandleIn; |
Andrea Palmieri |
229:9981f62cdb1a | 56 | |
Andrea Palmieri |
229:9981f62cdb1a | 57 | props._broadcast = propsIn.broadcast(); |
Andrea Palmieri |
229:9981f62cdb1a | 58 | props._read = propsIn.read(); |
Andrea Palmieri |
229:9981f62cdb1a | 59 | props._writeWoResp = propsIn.writeWoResp(); |
Andrea Palmieri |
229:9981f62cdb1a | 60 | props._write = propsIn.write(); |
Andrea Palmieri |
229:9981f62cdb1a | 61 | props._notify = propsIn.notify(); |
Andrea Palmieri |
229:9981f62cdb1a | 62 | props._indicate = propsIn.indicate(); |
Andrea Palmieri |
229:9981f62cdb1a | 63 | props._authSignedWrite = propsIn.authSignedWrite(); |
Andrea Palmieri |
229:9981f62cdb1a | 64 | } |
Vincent Coubard |
259:323f588e5f57 | 65 | |
Vincent Coubard |
259:323f588e5f57 | 66 | void BlueNRGDiscoveredCharacteristic::setLastHandle(GattAttribute::Handle_t lastHandleIn) { |
Vincent Coubard |
259:323f588e5f57 | 67 | lastHandle = lastHandleIn; |
Vincent Coubard |
259:323f588e5f57 | 68 | } |