From baa11b0b70305be156374cc546d9e40513aecae6 Mon Sep 17 00:00:00 2001 From: Piotr Kosko Date: Fri, 17 Jul 2015 07:33:55 +0200 Subject: [PATCH] [BluetoothLE] BluetoothLEServiceData for BluetoothLEAdvertiseData changed [Feature] Changed according to widl change: http://168.219.209.56/gerrit/#/c/63467/ [Verification] TCT result didn't change Change-Id: Ib0b74ce8ade8a1370053cf4312c4dec5e403c54f Signed-off-by: Piotr Kosko --- src/bluetooth/bluetooth_le_adapter.cc | 35 +++++++++++---------------- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/src/bluetooth/bluetooth_le_adapter.cc b/src/bluetooth/bluetooth_le_adapter.cc index b0a18217..8c10cdb6 100755 --- a/src/bluetooth/bluetooth_le_adapter.cc +++ b/src/bluetooth/bluetooth_le_adapter.cc @@ -197,7 +197,7 @@ class BluetoothLEAdvertiseData : public ParsedDataHolder { return include_tx_power_level_; } - const std::vector& service_data() const { + const BluetoothLEServiceData& service_data() const { return service_data_; } @@ -306,15 +306,9 @@ class BluetoothLEAdvertiseData : public ParsedDataHolder { BluetoothLEAdvertiseData* out) { LoggerD("Entered"); const auto& service_data = obj.get("serviceData"); - if (service_data.is()) { - for (const auto& i : service_data.get()) { - BluetoothLEServiceData data; - if (BluetoothLEServiceData::Construct(i, &data)) { - out->service_data_.push_back(std::move(data)); - } else { - return false; - } - } + BluetoothLEServiceData data; + if (BluetoothLEServiceData::Construct(service_data, &data)) { + out->service_data_ = std::move(data); } else if (!service_data.is()) { return false; } @@ -341,7 +335,7 @@ class BluetoothLEAdvertiseData : public ParsedDataHolder { std::vector solicitation_uuids_; int appearance_; bool include_tx_power_level_; - std::vector service_data_; + BluetoothLEServiceData service_data_; BluetoothLEManufacturerData manufacturer_data_; }; @@ -573,16 +567,15 @@ void BluetoothLEAdapter::StartAdvertise(const picojson::value& data, picojson::o return; } - for (const auto& i : advertise_data.service_data()) { - ret = bt_adapter_le_add_advertising_service_data(advertiser, packet_type, - i.uuid().c_str(), - i.data().c_str(), - i.data().length()); - if (BT_ERROR_NONE != ret) { - LoggerE("bt_adapter_le_add_advertising_service_data() failed with: %d", ret); - ReportError(util::GetBluetoothError(ret, "Failed to create advertiser"), &out); - return; - } + const auto& service_data = advertise_data.service_data(); + ret = bt_adapter_le_add_advertising_service_data(advertiser, packet_type, + service_data.uuid().c_str(), + service_data.data().c_str(), + service_data.data().length()); + if (BT_ERROR_NONE != ret) { + LoggerE("bt_adapter_le_add_advertising_service_data() failed with: %d", ret); + ReportError(util::GetBluetoothError(ret, "Failed to create advertiser"), &out); + return; } const auto& manufacturer_data = advertise_data.manufacturer_data(); -- 2.34.1