My fork of X_NUCLEO_IDB0XA1

Fork of X_NUCLEO_IDB0XA1 by ST

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?

UserRevisionLine numberNew 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 #ifndef __BLUENRG_DISCOVERED_CHARACTERISTIC_H__
Andrea Palmieri 229:9981f62cdb1a 18 #define __BLUENRG_DISCOVERED_CHARACTERISTIC_H__
Andrea Palmieri 229:9981f62cdb1a 19
Andrea Palmieri 229:9981f62cdb1a 20 #include "ble/DiscoveredCharacteristic.h"
Andrea Palmieri 229:9981f62cdb1a 21
Andrea Palmieri 229:9981f62cdb1a 22 class BlueNRGGattClient; /* forward declaration */
Andrea Palmieri 229:9981f62cdb1a 23
Andrea Palmieri 229:9981f62cdb1a 24 class BlueNRGDiscoveredCharacteristic : public DiscoveredCharacteristic {
Andrea Palmieri 229:9981f62cdb1a 25 public:
Andrea Palmieri 229:9981f62cdb1a 26
Andrea Palmieri 229:9981f62cdb1a 27 void setup(BlueNRGGattClient *gattcIn,
Andrea Palmieri 229:9981f62cdb1a 28 Gap::Handle_t connectionHandleIn,
Andrea Palmieri 229:9981f62cdb1a 29 DiscoveredCharacteristic::Properties_t propsIn,
Andrea Palmieri 229:9981f62cdb1a 30 GattAttribute::Handle_t declHandleIn,
Andrea Palmieri 229:9981f62cdb1a 31 GattAttribute::Handle_t valueHandleIn,
Andrea Palmieri 229:9981f62cdb1a 32 GattAttribute::Handle_t lastHandleIn);
Vincent Coubard 259:323f588e5f57 33
Andrea Palmieri 229:9981f62cdb1a 34 void setup(BlueNRGGattClient *gattcIn,
Andrea Palmieri 229:9981f62cdb1a 35 Gap::Handle_t connectionHandleIn,
Andrea Palmieri 229:9981f62cdb1a 36 UUID uuidIn,
Andrea Palmieri 229:9981f62cdb1a 37 DiscoveredCharacteristic::Properties_t propsIn,
Andrea Palmieri 229:9981f62cdb1a 38 GattAttribute::Handle_t declHandleIn,
Andrea Palmieri 229:9981f62cdb1a 39 GattAttribute::Handle_t valueHandleIn,
Andrea Palmieri 229:9981f62cdb1a 40 GattAttribute::Handle_t lastHandleIn);
Vincent Coubard 259:323f588e5f57 41
Vincent Coubard 259:323f588e5f57 42
Vincent Coubard 259:323f588e5f57 43 void setLastHandle(GattAttribute::Handle_t lastHandleIn);
Andrea Palmieri 229:9981f62cdb1a 44 };
Andrea Palmieri 229:9981f62cdb1a 45
Vincent Coubard 259:323f588e5f57 46 #endif /* __BLUENRG_DISCOVERED_CHARACTERISTIC_H__ */