| Index: device/bluetooth/bluetooth_task_manager_win.h
|
| diff --git a/device/bluetooth/bluetooth_task_manager_win.h b/device/bluetooth/bluetooth_task_manager_win.h
|
| index cf31f8474c7e5448d19867726f905d9ff2ef9f99..1cd3f54b978ab4a4777476b5a90c96d0369d13bd 100644
|
| --- a/device/bluetooth/bluetooth_task_manager_win.h
|
| +++ b/device/bluetooth/bluetooth_task_manager_win.h
|
| @@ -50,9 +50,10 @@ class DEVICE_BLUETOOTH_EXPORT BluetoothTaskManagerWin
|
| bool powered;
|
| };
|
|
|
| - struct DEVICE_BLUETOOTH_EXPORT ServiceRecordState {
|
| + class DEVICE_BLUETOOTH_EXPORT ServiceRecordState {
|
| + public:
|
| ServiceRecordState();
|
| - ~ServiceRecordState();
|
| + virtual ~ServiceRecordState();
|
| // Properties common to Bluetooth Classic and LE devices.
|
| std::string name;
|
| // Properties specific to Bluetooth Classic devices.
|
| @@ -65,9 +66,16 @@ class DEVICE_BLUETOOTH_EXPORT BluetoothTaskManagerWin
|
| // service must use service device path instead of resident device device
|
| // path.
|
| base::FilePath path;
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(ServiceRecordState);
|
| };
|
|
|
| - struct DEVICE_BLUETOOTH_EXPORT DeviceState {
|
| + using ServiceRecordStateList =
|
| + std::vector<std::unique_ptr<ServiceRecordState>>;
|
| +
|
| + class DEVICE_BLUETOOTH_EXPORT DeviceState {
|
| + public:
|
| DeviceState();
|
| ~DeviceState();
|
|
|
| @@ -79,11 +87,14 @@ class DEVICE_BLUETOOTH_EXPORT BluetoothTaskManagerWin
|
| bool visible;
|
| bool connected;
|
| bool authenticated;
|
| - ScopedVector<ServiceRecordState> service_record_states;
|
| + ServiceRecordStateList service_record_states;
|
| // Properties specific to Bluetooth Classic devices.
|
| uint32_t bluetooth_class;
|
| // Properties specific to Bluetooth LE devices.
|
| base::FilePath path;
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(DeviceState);
|
| };
|
|
|
| class DEVICE_BLUETOOTH_EXPORT Observer {
|
| @@ -100,7 +111,8 @@ class DEVICE_BLUETOOTH_EXPORT BluetoothTaskManagerWin
|
| // the associated state can change over time. For example, during a
|
| // discovery session, the "friendly" name may initially be "unknown" before
|
| // the actual name is retrieved in subsequent poll events.
|
| - virtual void DevicesPolled(const ScopedVector<DeviceState>& devices) {}
|
| + virtual void DevicesPolled(
|
| + const std::vector<std::unique_ptr<DeviceState>>& devices) {}
|
| };
|
|
|
| explicit BluetoothTaskManagerWin(
|
| @@ -125,19 +137,17 @@ class DEVICE_BLUETOOTH_EXPORT BluetoothTaskManagerWin
|
| void PostStopDiscoveryTask();
|
|
|
| // Callbacks of asynchronous operations of GATT service.
|
| - typedef base::Callback<void(HRESULT)> HResultCallback;
|
| - typedef base::Callback<
|
| - void(std::unique_ptr<BTH_LE_GATT_CHARACTERISTIC>, uint16_t, HRESULT)>
|
| - GetGattIncludedCharacteristicsCallback;
|
| - typedef base::Callback<
|
| - void(std::unique_ptr<BTH_LE_GATT_DESCRIPTOR>, uint16_t, HRESULT)>
|
| - GetGattIncludedDescriptorsCallback;
|
| - typedef base::Callback<void(std::unique_ptr<BTH_LE_GATT_CHARACTERISTIC_VALUE>,
|
| - HRESULT)>
|
| - ReadGattCharacteristicValueCallback;
|
| - typedef base::Callback<void(std::unique_ptr<std::vector<uint8_t>>)>
|
| - GattCharacteristicValueChangedCallback;
|
| - typedef base::Callback<void(PVOID, HRESULT)> GattEventRegistrationCallback;
|
| + using HResultCallback = base::Callback<void(HRESULT)>;
|
| + using GetGattIncludedCharacteristicsCallback = base::Callback<
|
| + void(std::unique_ptr<BTH_LE_GATT_CHARACTERISTIC>, uint16_t, HRESULT)>;
|
| + using GetGattIncludedDescriptorsCallback = base::Callback<
|
| + void(std::unique_ptr<BTH_LE_GATT_DESCRIPTOR>, uint16_t, HRESULT)>;
|
| + using ReadGattCharacteristicValueCallback =
|
| + base::Callback<void(std::unique_ptr<BTH_LE_GATT_CHARACTERISTIC_VALUE>,
|
| + HRESULT)>;
|
| + using GattCharacteristicValueChangedCallback =
|
| + base::Callback<void(std::unique_ptr<std::vector<uint8_t>>)>;
|
| + using GattEventRegistrationCallback = base::Callback<void(PVOID, HRESULT)>;
|
|
|
| // Get all included characteristics of a given service. The service is
|
| // uniquely identified by its |uuid| and |attribute_handle| with service
|
| @@ -206,7 +216,8 @@ class DEVICE_BLUETOOTH_EXPORT BluetoothTaskManagerWin
|
| void OnAdapterStateChanged(const AdapterState* state);
|
| void OnDiscoveryStarted(bool success);
|
| void OnDiscoveryStopped();
|
| - void OnDevicesPolled(const ScopedVector<DeviceState>* devices);
|
| + void OnDevicesPolled(
|
| + const std::vector<std::unique_ptr<DeviceState>>& devices);
|
|
|
| // Called on BluetoothTaskRunner.
|
| void StartPolling();
|
| @@ -238,19 +249,21 @@ class DEVICE_BLUETOOTH_EXPORT BluetoothTaskManagerWin
|
| // exposed by those devices.
|
| bool SearchDevices(int timeout_multiplier,
|
| bool search_cached_devices_only,
|
| - ScopedVector<DeviceState>* device_list);
|
| + std::vector<std::unique_ptr<DeviceState>>* device_list);
|
|
|
| // Sends a device search API call to the adapter to look for Bluetooth Classic
|
| // devices.
|
| - bool SearchClassicDevices(int timeout_multiplier,
|
| - bool search_cached_devices_only,
|
| - ScopedVector<DeviceState>* device_list);
|
| + bool SearchClassicDevices(
|
| + int timeout_multiplier,
|
| + bool search_cached_devices_only,
|
| + std::vector<std::unique_ptr<DeviceState>>* device_list);
|
|
|
| // Enumerate Bluetooth Low Energy devices.
|
| - bool SearchLowEnergyDevices(ScopedVector<DeviceState>* device_list);
|
| + bool SearchLowEnergyDevices(
|
| + std::vector<std::unique_ptr<DeviceState>>* device_list);
|
|
|
| // Discover services for the devices in |device_list|.
|
| - bool DiscoverServices(ScopedVector<DeviceState>* device_list,
|
| + bool DiscoverServices(std::vector<std::unique_ptr<DeviceState>>* device_list,
|
| bool search_cached_services_only);
|
|
|
| // Discover Bluetooth Classic services for the given |device_address|.
|
| @@ -258,7 +271,7 @@ class DEVICE_BLUETOOTH_EXPORT BluetoothTaskManagerWin
|
| const std::string& device_address,
|
| const GUID& protocol_uuid,
|
| bool search_cached_services_only,
|
| - ScopedVector<ServiceRecordState>* service_record_states);
|
| + std::vector<std::unique_ptr<ServiceRecordState>>* service_record_states);
|
|
|
| // Discover Bluetooth Classic services for the given |device_address|.
|
| // Returns a Win32 error code.
|
| @@ -266,18 +279,18 @@ class DEVICE_BLUETOOTH_EXPORT BluetoothTaskManagerWin
|
| const std::string& device_address,
|
| const GUID& protocol_uuid,
|
| bool search_cached_services_only,
|
| - ScopedVector<ServiceRecordState>* service_record_states);
|
| + std::vector<std::unique_ptr<ServiceRecordState>>* service_record_states);
|
|
|
| // Discover Bluetooth Low Energy services for the given |device_path|.
|
| bool DiscoverLowEnergyDeviceServices(
|
| const base::FilePath& device_path,
|
| - ScopedVector<ServiceRecordState>* service_record_states);
|
| + std::vector<std::unique_ptr<ServiceRecordState>>* service_record_states);
|
|
|
| // Search for device paths of the GATT services in |*service_record_states|
|
| // from |device_address|.
|
| bool SearchForGattServiceDevicePaths(
|
| const std::string device_address,
|
| - ScopedVector<ServiceRecordState>* service_record_states);
|
| + std::vector<std::unique_ptr<ServiceRecordState>>* service_record_states);
|
|
|
| // GATT service related functions.
|
| void GetGattIncludedCharacteristics(
|
|
|