| Index: components/proximity_auth/bluetooth_low_energy_connection_finder.h
|
| diff --git a/components/proximity_auth/bluetooth_low_energy_connection_finder.h b/components/proximity_auth/bluetooth_low_energy_connection_finder.h
|
| deleted file mode 100644
|
| index 134aeb222f370a35639e5f09f6138629f2254d64..0000000000000000000000000000000000000000
|
| --- a/components/proximity_auth/bluetooth_low_energy_connection_finder.h
|
| +++ /dev/null
|
| @@ -1,148 +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.
|
| -
|
| -#ifndef COMPONENTS_PROXIMITY_AUTH_BLUETOOTH_LOW_ENERGY_CONNECTION_FINDER_H
|
| -#define COMPONENTS_PROXIMITY_AUTH_BLUETOOTH_LOW_ENERGY_CONNECTION_FINDER_H
|
| -
|
| -#include <memory>
|
| -#include <set>
|
| -#include <string>
|
| -
|
| -#include "base/callback.h"
|
| -#include "base/macros.h"
|
| -#include "base/memory/ref_counted.h"
|
| -#include "base/memory/weak_ptr.h"
|
| -#include "components/cryptauth/background_eid_generator.h"
|
| -#include "components/cryptauth/bluetooth_throttler.h"
|
| -#include "components/cryptauth/connection.h"
|
| -#include "components/cryptauth/connection_finder.h"
|
| -#include "components/cryptauth/connection_observer.h"
|
| -#include "components/cryptauth/remote_beacon_seed_fetcher.h"
|
| -#include "components/cryptauth/remote_device.h"
|
| -#include "device/bluetooth/bluetooth_adapter.h"
|
| -#include "device/bluetooth/bluetooth_device.h"
|
| -#include "device/bluetooth/bluetooth_discovery_session.h"
|
| -#include "device/bluetooth/bluetooth_gatt_connection.h"
|
| -
|
| -namespace proximity_auth {
|
| -
|
| -// This cryptauth::ConnectionFinder implementation is specialized in finding a
|
| -// Bluetooth Low Energy remote device. We look for remote devices advertising
|
| -// the expected EID for the current or nearby time intervals.
|
| -class BluetoothLowEnergyConnectionFinder
|
| - : public cryptauth::ConnectionFinder,
|
| - public cryptauth::ConnectionObserver,
|
| - public device::BluetoothAdapter::Observer {
|
| - public:
|
| - // Finds (and connects) to a Bluetooth low energy device, based on the EID
|
| - // advertised by the remote device.
|
| - //
|
| - // |remote_device|: The BLE remote device.
|
| - // |beacon_seeds|: The BeaconSeeds for the |remote_device.
|
| - // |bluetooth_throttler|: The reconnection throttler.
|
| - BluetoothLowEnergyConnectionFinder(
|
| - const cryptauth::RemoteDevice remote_device,
|
| - const std::vector<cryptauth::BeaconSeed>& beacon_seeds,
|
| - cryptauth::BluetoothThrottler* bluetooth_throttler);
|
| -
|
| - ~BluetoothLowEnergyConnectionFinder() override;
|
| -
|
| - // Finds a connection to the remote device.
|
| - void Find(const cryptauth::ConnectionFinder::ConnectionCallback&
|
| - connection_callback) override;
|
| -
|
| - // cryptauth::ConnectionObserver:
|
| - void OnConnectionStatusChanged(
|
| - cryptauth::Connection* connection,
|
| - cryptauth::Connection::Status old_status,
|
| - cryptauth::Connection::Status new_status) override;
|
| -
|
| - // device::BluetoothAdapter::Observer:
|
| - void AdapterPoweredChanged(device::BluetoothAdapter* adapter,
|
| - bool powered) override;
|
| - void DeviceAdded(device::BluetoothAdapter* adapter,
|
| - device::BluetoothDevice* device) override;
|
| - void DeviceChanged(device::BluetoothAdapter* adapter,
|
| - device::BluetoothDevice* device) override;
|
| -
|
| - protected:
|
| - BluetoothLowEnergyConnectionFinder(
|
| - const cryptauth::RemoteDevice remote_device,
|
| - const std::vector<cryptauth::BeaconSeed>& beacon_seeds,
|
| - std::unique_ptr<cryptauth::BackgroundEidGenerator> eid_generator,
|
| - cryptauth::BluetoothThrottler* bluetooth_throttler);
|
| -
|
| - // Creates a proximity_auth::Connection with the device given by
|
| - // |device_address|. Exposed for testing.
|
| - virtual std::unique_ptr<cryptauth::Connection> CreateConnection(
|
| - const std::string& device_address);
|
| -
|
| - private:
|
| - // Callback to be called when the Bluetooth adapter is initialized.
|
| - void OnAdapterInitialized(scoped_refptr<device::BluetoothAdapter> adapter);
|
| -
|
| - // Checks if |remote_device| contains |remote_service_uuid| and creates a
|
| - // connection in that case.
|
| - void HandleDeviceUpdated(device::BluetoothDevice* remote_device);
|
| -
|
| - // Callback called when a new discovery session is started.
|
| - void OnDiscoverySessionStarted(
|
| - std::unique_ptr<device::BluetoothDiscoverySession> discovery_session);
|
| -
|
| - // Callback called when there is an error starting a new discovery session.
|
| - void OnStartDiscoverySessionError();
|
| -
|
| - // Starts a discovery session for |adapter_|.
|
| - void StartDiscoverySession();
|
| -
|
| - // Stops the discovery session given by |discovery_session_|.
|
| - void StopDiscoverySession();
|
| -
|
| - // Checks if |device| is the right device: (i) has the adversement data or
|
| - // (ii) is paired and is the same as |remote_device|.
|
| - bool IsRightDevice(device::BluetoothDevice* device);
|
| -
|
| - // Restarts the discovery session after creating |connection_| fails.
|
| - void RestartDiscoverySessionAsync();
|
| -
|
| - // Used to invoke |connection_callback_| asynchronously, decoupling the
|
| - // callback invocation from the ConnectionObserver callstack.
|
| - void InvokeCallbackAsync();
|
| -
|
| - // The remote BLE device being searched. It maybe empty, in this case the
|
| - // remote device should advertise |remote_service_uuid_| and
|
| - // |advertised_name_|.
|
| - cryptauth::RemoteDevice remote_device_;
|
| -
|
| - // The BeaconSeeds of the |remote_device|.
|
| - std::vector<cryptauth::BeaconSeed> beacon_seeds_;
|
| -
|
| - // Generates the expected EIDs that may be advertised by |remote_device_|. If
|
| - // an EID matches, we know its a device we should connect to.
|
| - std::unique_ptr<cryptauth::BackgroundEidGenerator> eid_generator_;
|
| -
|
| - // Throttles repeated connection attempts to the same device. This is a
|
| - // workaround for crbug.com/508919. Not owned, must outlive this instance.
|
| - cryptauth::BluetoothThrottler* bluetooth_throttler_;
|
| -
|
| - // The Bluetooth adapter over which the Bluetooth connection will be made.
|
| - scoped_refptr<device::BluetoothAdapter> adapter_;
|
| -
|
| - // The discovery session associated to this object.
|
| - std::unique_ptr<device::BluetoothDiscoverySession> discovery_session_;
|
| -
|
| - // The connection with |remote_device|.
|
| - std::unique_ptr<cryptauth::Connection> connection_;
|
| -
|
| - // Callback called when the connection is established.
|
| - cryptauth::ConnectionFinder::ConnectionCallback connection_callback_;
|
| -
|
| - base::WeakPtrFactory<BluetoothLowEnergyConnectionFinder> weak_ptr_factory_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(BluetoothLowEnergyConnectionFinder);
|
| -};
|
| -
|
| -} // namespace proximity_auth
|
| -
|
| -#endif // COMPONENTS_PROXIMITY_AUTH_BLUETOOTH_LOW_ENERGY_CONNECTION_FINDER_H
|
|
|