| Index: components/proximity_auth/ble/bluetooth_low_energy_characteristics_finder.cc
|
| diff --git a/components/proximity_auth/ble/bluetooth_low_energy_characteristics_finder.cc b/components/proximity_auth/ble/bluetooth_low_energy_characteristics_finder.cc
|
| deleted file mode 100644
|
| index fdfd2862b6b9a99b62e3dfd6635dd95ba27fc03a..0000000000000000000000000000000000000000
|
| --- a/components/proximity_auth/ble/bluetooth_low_energy_characteristics_finder.cc
|
| +++ /dev/null
|
| @@ -1,143 +0,0 @@
|
| -// Copyright 2015 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "components/proximity_auth/ble/bluetooth_low_energy_characteristics_finder.h"
|
| -
|
| -#include "components/proximity_auth/logging/logging.h"
|
| -#include "device/bluetooth/bluetooth_adapter.h"
|
| -#include "device/bluetooth/bluetooth_device.h"
|
| -#include "device/bluetooth/bluetooth_remote_gatt_characteristic.h"
|
| -#include "device/bluetooth/bluetooth_uuid.h"
|
| -
|
| -using device::BluetoothAdapter;
|
| -using device::BluetoothDevice;
|
| -using device::BluetoothRemoteGattCharacteristic;
|
| -using device::BluetoothRemoteGattService;
|
| -using device::BluetoothUUID;
|
| -
|
| -namespace proximity_auth {
|
| -
|
| -BluetoothLowEnergyCharacteristicsFinder::
|
| - BluetoothLowEnergyCharacteristicsFinder(
|
| - scoped_refptr<BluetoothAdapter> adapter,
|
| - BluetoothDevice* device,
|
| - const RemoteAttribute& remote_service,
|
| - const RemoteAttribute& to_peripheral_char,
|
| - const RemoteAttribute& from_peripheral_char,
|
| - const SuccessCallback& success_callback,
|
| - const ErrorCallback& error_callback)
|
| - : adapter_(adapter),
|
| - remote_service_(remote_service),
|
| - to_peripheral_char_(to_peripheral_char),
|
| - from_peripheral_char_(from_peripheral_char),
|
| - success_callback_(success_callback),
|
| - error_callback_(error_callback) {
|
| - if (!adapter_) {
|
| - error_callback_.Run(to_peripheral_char_, from_peripheral_char_);
|
| - ResetCallbacks();
|
| - return;
|
| - }
|
| -
|
| - adapter_->AddObserver(this);
|
| - ScanRemoteCharacteristics(device, remote_service_.uuid);
|
| -
|
| - // TODO(sacomoto): implement a timeout for characteristic discovery.
|
| -}
|
| -
|
| -BluetoothLowEnergyCharacteristicsFinder::
|
| - BluetoothLowEnergyCharacteristicsFinder() {
|
| -}
|
| -
|
| -BluetoothLowEnergyCharacteristicsFinder::
|
| - ~BluetoothLowEnergyCharacteristicsFinder() {
|
| - ResetCallbacks();
|
| - if (adapter_) {
|
| - adapter_->RemoveObserver(this);
|
| - adapter_ = NULL;
|
| - }
|
| -}
|
| -
|
| -void BluetoothLowEnergyCharacteristicsFinder::GattCharacteristicAdded(
|
| - BluetoothAdapter* adapter,
|
| - BluetoothRemoteGattCharacteristic* characteristic) {
|
| - PA_LOG(INFO) << "New char found: "
|
| - << characteristic->GetUUID().canonical_value();
|
| - HandleCharacteristicUpdate(characteristic);
|
| -}
|
| -
|
| -void BluetoothLowEnergyCharacteristicsFinder::GattDiscoveryCompleteForService(
|
| - BluetoothAdapter* adapter,
|
| - BluetoothRemoteGattService* service) {
|
| - if (service && service->GetUUID() == remote_service_.uuid) {
|
| - PA_LOG(INFO) << "All characteristics discovered for "
|
| - << remote_service_.uuid.canonical_value();
|
| -
|
| - if (to_peripheral_char_.id.empty() || from_peripheral_char_.id.empty()) {
|
| - if (!error_callback_.is_null()) {
|
| - error_callback_.Run(to_peripheral_char_, from_peripheral_char_);
|
| - ResetCallbacks();
|
| - }
|
| - }
|
| - }
|
| -}
|
| -
|
| -void BluetoothLowEnergyCharacteristicsFinder::ScanRemoteCharacteristics(
|
| - BluetoothDevice* device,
|
| - const BluetoothUUID& service_uuid) {
|
| - PA_LOG(INFO) << "Scanning remote characteristics.";
|
| - if (device) {
|
| - std::vector<BluetoothRemoteGattService*> services =
|
| - device->GetGattServices();
|
| - PA_LOG(INFO) << device->GetAddress() << " has " << services.size()
|
| - << " services.";
|
| - for (const auto* service : services) {
|
| - if (service->GetUUID() == service_uuid) {
|
| - // Right service found, now scaning its characteristics.
|
| - std::vector<device::BluetoothRemoteGattCharacteristic*>
|
| - characteristics = service->GetCharacteristics();
|
| - PA_LOG(INFO) << "Service " << service_uuid.canonical_value() << " has "
|
| - << characteristics.size() << " characteristics.";
|
| - for (auto* characteristic : characteristics) {
|
| - HandleCharacteristicUpdate(characteristic);
|
| - }
|
| - break;
|
| - }
|
| - }
|
| - }
|
| -}
|
| -
|
| -void BluetoothLowEnergyCharacteristicsFinder::HandleCharacteristicUpdate(
|
| - BluetoothRemoteGattCharacteristic* characteristic) {
|
| - UpdateCharacteristicsStatus(characteristic);
|
| -
|
| - if (!to_peripheral_char_.id.empty() && !from_peripheral_char_.id.empty() &&
|
| - !success_callback_.is_null()) {
|
| - PA_LOG(INFO) << "Found write and read characteristics on remote device.";
|
| - success_callback_.Run(remote_service_, to_peripheral_char_,
|
| - from_peripheral_char_);
|
| - ResetCallbacks();
|
| - }
|
| -}
|
| -
|
| -void BluetoothLowEnergyCharacteristicsFinder::UpdateCharacteristicsStatus(
|
| - BluetoothRemoteGattCharacteristic* characteristic) {
|
| - if (characteristic &&
|
| - characteristic->GetService()->GetUUID() == remote_service_.uuid) {
|
| - BluetoothUUID uuid = characteristic->GetUUID();
|
| - if (to_peripheral_char_.uuid == uuid)
|
| - to_peripheral_char_.id = characteristic->GetIdentifier();
|
| - if (from_peripheral_char_.uuid == uuid)
|
| - from_peripheral_char_.id = characteristic->GetIdentifier();
|
| -
|
| - BluetoothRemoteGattService* service = characteristic->GetService();
|
| - remote_service_.id = service->GetIdentifier();
|
| - }
|
| -}
|
| -
|
| -void BluetoothLowEnergyCharacteristicsFinder::ResetCallbacks() {
|
| - success_callback_.Reset();
|
| - error_callback_.Reset();
|
| -}
|
| -
|
| -} // namespace proximity_auth
|
|
|