Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(371)

Side by Side Diff: device/bluetooth/bluetooth_device_win.h

Issue 180163009: chrome.bluetooth API improvements. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address code review feedback, simplify threading model. Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef DEVICE_BLUETOOTH_BLUETOOTH_DEVICE_WIN_H_ 5 #ifndef DEVICE_BLUETOOTH_BLUETOOTH_DEVICE_WIN_H_
6 #define DEVICE_BLUETOOTH_BLUETOOTH_DEVICE_WIN_H_ 6 #define DEVICE_BLUETOOTH_BLUETOOTH_DEVICE_WIN_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
11 #include "base/basictypes.h" 11 #include "base/basictypes.h"
12 #include "device/bluetooth/bluetooth_device.h" 12 #include "device/bluetooth/bluetooth_device.h"
13 #include "device/bluetooth/bluetooth_task_manager_win.h" 13 #include "device/bluetooth/bluetooth_task_manager_win.h"
14 14
15 namespace device { 15 namespace device {
16 16
17 class BluetoothAdapterWin; 17 class BluetoothAdapterWin;
18 class BluetoothServiceRecord; 18 class BluetoothServiceRecord;
19 class BluetoothSocketThreadWin;
19 20
20 class BluetoothDeviceWin : public BluetoothDevice { 21 class BluetoothDeviceWin : public BluetoothDevice {
21 public: 22 public:
22 explicit BluetoothDeviceWin( 23 explicit BluetoothDeviceWin(
23 const BluetoothTaskManagerWin::DeviceState& state); 24 const BluetoothTaskManagerWin::DeviceState& state,
25 scoped_refptr<base::SequencedTaskRunner> ui_task_runner,
26 scoped_refptr<BluetoothSocketThreadWin> socket_thread,
27 net::NetLog* net_log,
28 const net::NetLog::Source& net_log_source);
24 virtual ~BluetoothDeviceWin(); 29 virtual ~BluetoothDeviceWin();
25 30
26 // BluetoothDevice override 31 // BluetoothDevice override
27 virtual uint32 GetBluetoothClass() const OVERRIDE; 32 virtual uint32 GetBluetoothClass() const OVERRIDE;
28 virtual std::string GetAddress() const OVERRIDE; 33 virtual std::string GetAddress() const OVERRIDE;
29 virtual VendorIDSource GetVendorIDSource() const OVERRIDE; 34 virtual VendorIDSource GetVendorIDSource() const OVERRIDE;
30 virtual uint16 GetVendorID() const OVERRIDE; 35 virtual uint16 GetVendorID() const OVERRIDE;
31 virtual uint16 GetProductID() const OVERRIDE; 36 virtual uint16 GetProductID() const OVERRIDE;
32 virtual uint16 GetDeviceID() const OVERRIDE; 37 virtual uint16 GetDeviceID() const OVERRIDE;
33 virtual bool IsPaired() const OVERRIDE; 38 virtual bool IsPaired() const OVERRIDE;
(...skipping 22 matching lines...) Expand all
56 virtual void Disconnect( 61 virtual void Disconnect(
57 const base::Closure& callback, 62 const base::Closure& callback,
58 const ErrorCallback& error_callback) OVERRIDE; 63 const ErrorCallback& error_callback) OVERRIDE;
59 virtual void Forget(const ErrorCallback& error_callback) OVERRIDE; 64 virtual void Forget(const ErrorCallback& error_callback) OVERRIDE;
60 virtual void ConnectToService( 65 virtual void ConnectToService(
61 const std::string& service_uuid, 66 const std::string& service_uuid,
62 const SocketCallback& callback) OVERRIDE; 67 const SocketCallback& callback) OVERRIDE;
63 virtual void ConnectToProfile( 68 virtual void ConnectToProfile(
64 device::BluetoothProfile* profile, 69 device::BluetoothProfile* profile,
65 const base::Closure& callback, 70 const base::Closure& callback,
66 const ErrorCallback& error_callback) OVERRIDE; 71 const ConnectToProfileErrorCallback& error_callback) OVERRIDE;
67 virtual void SetOutOfBandPairingData( 72 virtual void SetOutOfBandPairingData(
68 const BluetoothOutOfBandPairingData& data, 73 const BluetoothOutOfBandPairingData& data,
69 const base::Closure& callback, 74 const base::Closure& callback,
70 const ErrorCallback& error_callback) OVERRIDE; 75 const ErrorCallback& error_callback) OVERRIDE;
71 virtual void ClearOutOfBandPairingData( 76 virtual void ClearOutOfBandPairingData(
72 const base::Closure& callback, 77 const base::Closure& callback,
73 const ErrorCallback& error_callback) OVERRIDE; 78 const ErrorCallback& error_callback) OVERRIDE;
74 79
75 const BluetoothServiceRecord* GetServiceRecord(const std::string& uuid) const; 80 const BluetoothServiceRecord* GetServiceRecord(const std::string& uuid) const;
76 81
77 protected: 82 protected:
78 // BluetoothDevice override 83 // BluetoothDevice override
79 virtual std::string GetDeviceName() const OVERRIDE; 84 virtual std::string GetDeviceName() const OVERRIDE;
80 85
81 private: 86 private:
82 friend class BluetoothAdapterWin; 87 friend class BluetoothAdapterWin;
83 88
84 // Used by BluetoothAdapterWin to update the visible state during 89 // Used by BluetoothAdapterWin to update the visible state during
85 // discovery. 90 // discovery.
86 void SetVisible(bool visible); 91 void SetVisible(bool visible);
87 92
93 scoped_refptr<base::SequencedTaskRunner> ui_task_runner_;
94 scoped_refptr<BluetoothSocketThreadWin> socket_thread_;
95 net::NetLog* net_log_;
96 net::NetLog::Source net_log_source_;
97
88 // The Bluetooth class of the device, a bitmask that may be decoded using 98 // The Bluetooth class of the device, a bitmask that may be decoded using
89 // https://www.bluetooth.org/Technical/AssignedNumbers/baseband.htm 99 // https://www.bluetooth.org/Technical/AssignedNumbers/baseband.htm
90 uint32 bluetooth_class_; 100 uint32 bluetooth_class_;
91 101
92 // The name of the device, as supplied by the remote device. 102 // The name of the device, as supplied by the remote device.
93 std::string name_; 103 std::string name_;
94 104
95 // The Bluetooth address of the device. 105 // The Bluetooth address of the device.
96 std::string address_; 106 std::string address_;
97 107
98 // Tracked device state, updated by the adapter managing the lifecycle of 108 // Tracked device state, updated by the adapter managing the lifecycle of
99 // the device. 109 // the device.
100 bool paired_; 110 bool paired_;
101 bool connected_; 111 bool connected_;
102 112
103 // Used to send change notifications when a device disappears during 113 // Used to send change notifications when a device disappears during
104 // discovery. 114 // discovery.
105 bool visible_; 115 bool visible_;
106 116
107 // The services (identified by UUIDs) that this device provides. 117 // The services (identified by UUIDs) that this device provides.
108 ServiceList service_uuids_; 118 ServiceList service_uuids_;
109 ServiceRecordList service_record_list_; 119 ServiceRecordList service_record_list_;
110 120
111 DISALLOW_COPY_AND_ASSIGN(BluetoothDeviceWin); 121 DISALLOW_COPY_AND_ASSIGN(BluetoothDeviceWin);
112 }; 122 };
113 123
114 } // namespace device 124 } // namespace device
115 125
116 #endif // DEVICE_BLUETOOTH_BLUETOOTH_DEVICE_WIN_H_ 126 #endif // DEVICE_BLUETOOTH_BLUETOOTH_DEVICE_WIN_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698