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

Side by Side Diff: device/bluetooth/dbus/fake_bluetooth_device_client.cc

Issue 1347193004: Refactor DBusThreadManager to split away BT clients. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 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) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 #include "chromeos/dbus/fake_bluetooth_device_client.h" 5 #include "device/bluetooth/dbus/fake_bluetooth_device_client.h"
6 6
7 #include <fcntl.h> 7 #include <fcntl.h>
8 #include <sys/socket.h> 8 #include <sys/socket.h>
9 #include <sys/types.h> 9 #include <sys/types.h>
10 #include <unistd.h> 10 #include <unistd.h>
11 11
12 #include <algorithm> 12 #include <algorithm>
13 #include <string> 13 #include <string>
14 #include <utility> 14 #include <utility>
15 15
16 #include "base/location.h" 16 #include "base/location.h"
17 #include "base/logging.h" 17 #include "base/logging.h"
18 #include "base/memory/scoped_ptr.h" 18 #include "base/memory/scoped_ptr.h"
19 #include "base/rand_util.h" 19 #include "base/rand_util.h"
20 #include "base/single_thread_task_runner.h" 20 #include "base/single_thread_task_runner.h"
21 #include "base/stl_util.h" 21 #include "base/stl_util.h"
22 #include "base/thread_task_runner_handle.h" 22 #include "base/thread_task_runner_handle.h"
23 #include "base/threading/worker_pool.h" 23 #include "base/threading/worker_pool.h"
24 #include "base/time/time.h" 24 #include "base/time/time.h"
25 #include "chromeos/dbus/dbus_thread_manager.h"
26 #include "chromeos/dbus/fake_bluetooth_adapter_client.h"
27 #include "chromeos/dbus/fake_bluetooth_agent_manager_client.h"
28 #include "chromeos/dbus/fake_bluetooth_agent_service_provider.h"
29 #include "chromeos/dbus/fake_bluetooth_gatt_service_client.h"
30 #include "chromeos/dbus/fake_bluetooth_input_client.h"
31 #include "chromeos/dbus/fake_bluetooth_profile_manager_client.h"
32 #include "chromeos/dbus/fake_bluetooth_profile_service_provider.h"
33 #include "dbus/file_descriptor.h" 25 #include "dbus/file_descriptor.h"
26 #include "device/bluetooth/dbus/bluez_dbus_manager.h"
27 #include "device/bluetooth/dbus/fake_bluetooth_adapter_client.h"
28 #include "device/bluetooth/dbus/fake_bluetooth_agent_manager_client.h"
29 #include "device/bluetooth/dbus/fake_bluetooth_agent_service_provider.h"
30 #include "device/bluetooth/dbus/fake_bluetooth_gatt_service_client.h"
31 #include "device/bluetooth/dbus/fake_bluetooth_input_client.h"
32 #include "device/bluetooth/dbus/fake_bluetooth_profile_manager_client.h"
33 #include "device/bluetooth/dbus/fake_bluetooth_profile_service_provider.h"
34 #include "third_party/cros_system_api/dbus/service_constants.h" 34 #include "third_party/cros_system_api/dbus/service_constants.h"
35 35
36 namespace { 36 namespace {
37 37
38 // Default interval between simulated events. 38 // Default interval between simulated events.
39 const int kSimulationIntervalMs = 750; 39 const int kSimulationIntervalMs = 750;
40 40
41 // Minimum and maximum bounds for randomly generated RSSI values. 41 // Minimum and maximum bounds for randomly generated RSSI values.
42 const int kMinRSSI = -90; 42 const int kMinRSSI = -90;
43 const int kMaxRSSI = -30; 43 const int kMaxRSSI = -30;
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 close(fd); 87 close(fd);
88 } 88 }
89 89
90 void SimpleErrorCallback(const std::string& error_name, 90 void SimpleErrorCallback(const std::string& error_name,
91 const std::string& error_message) { 91 const std::string& error_message) {
92 VLOG(1) << "Bluetooth Error: " << error_name << ": " << error_message; 92 VLOG(1) << "Bluetooth Error: " << error_name << ": " << error_message;
93 } 93 }
94 94
95 } // namespace 95 } // namespace
96 96
97 namespace chromeos { 97 namespace bluez {
98 98
99 const char FakeBluetoothDeviceClient::kTestPinCode[] = "123456"; 99 const char FakeBluetoothDeviceClient::kTestPinCode[] = "123456";
100 const int FakeBluetoothDeviceClient::kTestPassKey = 123456; 100 const int FakeBluetoothDeviceClient::kTestPassKey = 123456;
101 101
102 const char FakeBluetoothDeviceClient::kPairingMethodNone[] = "None"; 102 const char FakeBluetoothDeviceClient::kPairingMethodNone[] = "None";
103 const char FakeBluetoothDeviceClient::kPairingMethodPinCode[] = "PIN Code"; 103 const char FakeBluetoothDeviceClient::kPairingMethodPinCode[] = "PIN Code";
104 const char FakeBluetoothDeviceClient::kPairingMethodPassKey[] = "PassKey"; 104 const char FakeBluetoothDeviceClient::kPairingMethodPassKey[] = "PassKey";
105 105
106 const char FakeBluetoothDeviceClient::kPairingActionConfirmation[] = 106 const char FakeBluetoothDeviceClient::kPairingActionConfirmation[] =
107 "Confirmation"; 107 "Confirmation";
108 const char FakeBluetoothDeviceClient::kPairingActionDisplay[] = "Display"; 108 const char FakeBluetoothDeviceClient::kPairingActionDisplay[] = "Display";
109 const char FakeBluetoothDeviceClient::kPairingActionFail[] = "Fail"; 109 const char FakeBluetoothDeviceClient::kPairingActionFail[] = "Fail";
110 const char FakeBluetoothDeviceClient::kPairingActionRequest[] = "Request"; 110 const char FakeBluetoothDeviceClient::kPairingActionRequest[] = "Request";
111 111
112 const char FakeBluetoothDeviceClient::kPairedDevicePath[] = 112 const char FakeBluetoothDeviceClient::kPairedDevicePath[] = "/fake/hci0/dev0";
113 "/fake/hci0/dev0";
114 const char FakeBluetoothDeviceClient::kPairedDeviceAddress[] = 113 const char FakeBluetoothDeviceClient::kPairedDeviceAddress[] =
115 "00:11:22:33:44:55"; 114 "00:11:22:33:44:55";
116 const char FakeBluetoothDeviceClient::kPairedDeviceName[] = 115 const char FakeBluetoothDeviceClient::kPairedDeviceName[] = "Fake Device";
117 "Fake Device";
118 const uint32 FakeBluetoothDeviceClient::kPairedDeviceClass = 0x000104; 116 const uint32 FakeBluetoothDeviceClient::kPairedDeviceClass = 0x000104;
119 117
120 const char FakeBluetoothDeviceClient::kLegacyAutopairPath[] = 118 const char FakeBluetoothDeviceClient::kLegacyAutopairPath[] = "/fake/hci0/dev1";
121 "/fake/hci0/dev1";
122 const char FakeBluetoothDeviceClient::kLegacyAutopairAddress[] = 119 const char FakeBluetoothDeviceClient::kLegacyAutopairAddress[] =
123 "28:CF:DA:00:00:00"; 120 "28:CF:DA:00:00:00";
124 const char FakeBluetoothDeviceClient::kLegacyAutopairName[] = 121 const char FakeBluetoothDeviceClient::kLegacyAutopairName[] =
125 "Bluetooth 2.0 Mouse"; 122 "Bluetooth 2.0 Mouse";
126 const uint32 FakeBluetoothDeviceClient::kLegacyAutopairClass = 0x002580; 123 const uint32 FakeBluetoothDeviceClient::kLegacyAutopairClass = 0x002580;
127 124
128 const char FakeBluetoothDeviceClient::kDisplayPinCodePath[] = 125 const char FakeBluetoothDeviceClient::kDisplayPinCodePath[] = "/fake/hci0/dev2";
129 "/fake/hci0/dev2";
130 const char FakeBluetoothDeviceClient::kDisplayPinCodeAddress[] = 126 const char FakeBluetoothDeviceClient::kDisplayPinCodeAddress[] =
131 "28:37:37:00:00:00"; 127 "28:37:37:00:00:00";
132 const char FakeBluetoothDeviceClient::kDisplayPinCodeName[] = 128 const char FakeBluetoothDeviceClient::kDisplayPinCodeName[] =
133 "Bluetooth 2.0 Keyboard"; 129 "Bluetooth 2.0 Keyboard";
134 const uint32 FakeBluetoothDeviceClient::kDisplayPinCodeClass = 0x002540; 130 const uint32 FakeBluetoothDeviceClient::kDisplayPinCodeClass = 0x002540;
135 131
136 const char FakeBluetoothDeviceClient::kVanishingDevicePath[] = 132 const char FakeBluetoothDeviceClient::kVanishingDevicePath[] =
137 "/fake/hci0/dev3"; 133 "/fake/hci0/dev3";
138 const char FakeBluetoothDeviceClient::kVanishingDeviceAddress[] = 134 const char FakeBluetoothDeviceClient::kVanishingDeviceAddress[] =
139 "01:02:03:04:05:06"; 135 "01:02:03:04:05:06";
140 const char FakeBluetoothDeviceClient::kVanishingDeviceName[] = 136 const char FakeBluetoothDeviceClient::kVanishingDeviceName[] =
141 "Vanishing Device"; 137 "Vanishing Device";
142 const uint32 FakeBluetoothDeviceClient::kVanishingDeviceClass = 0x000104; 138 const uint32 FakeBluetoothDeviceClient::kVanishingDeviceClass = 0x000104;
143 139
144 const char FakeBluetoothDeviceClient::kConnectUnpairablePath[] = 140 const char FakeBluetoothDeviceClient::kConnectUnpairablePath[] =
145 "/fake/hci0/dev4"; 141 "/fake/hci0/dev4";
146 const char FakeBluetoothDeviceClient::kConnectUnpairableAddress[] = 142 const char FakeBluetoothDeviceClient::kConnectUnpairableAddress[] =
147 "7C:ED:8D:00:00:00"; 143 "7C:ED:8D:00:00:00";
148 const char FakeBluetoothDeviceClient::kConnectUnpairableName[] = 144 const char FakeBluetoothDeviceClient::kConnectUnpairableName[] =
149 "Unpairable Device"; 145 "Unpairable Device";
150 const uint32 FakeBluetoothDeviceClient::kConnectUnpairableClass = 0x002580; 146 const uint32 FakeBluetoothDeviceClient::kConnectUnpairableClass = 0x002580;
151 147
152 const char FakeBluetoothDeviceClient::kDisplayPasskeyPath[] = 148 const char FakeBluetoothDeviceClient::kDisplayPasskeyPath[] = "/fake/hci0/dev5";
153 "/fake/hci0/dev5";
154 const char FakeBluetoothDeviceClient::kDisplayPasskeyAddress[] = 149 const char FakeBluetoothDeviceClient::kDisplayPasskeyAddress[] =
155 "00:0F:F6:00:00:00"; 150 "00:0F:F6:00:00:00";
156 const char FakeBluetoothDeviceClient::kDisplayPasskeyName[] = 151 const char FakeBluetoothDeviceClient::kDisplayPasskeyName[] =
157 "Bluetooth 2.1+ Keyboard"; 152 "Bluetooth 2.1+ Keyboard";
158 const uint32 FakeBluetoothDeviceClient::kDisplayPasskeyClass = 0x002540; 153 const uint32 FakeBluetoothDeviceClient::kDisplayPasskeyClass = 0x002540;
159 154
160 const char FakeBluetoothDeviceClient::kRequestPinCodePath[] = 155 const char FakeBluetoothDeviceClient::kRequestPinCodePath[] = "/fake/hci0/dev6";
161 "/fake/hci0/dev6";
162 const char FakeBluetoothDeviceClient::kRequestPinCodeAddress[] = 156 const char FakeBluetoothDeviceClient::kRequestPinCodeAddress[] =
163 "00:24:BE:00:00:00"; 157 "00:24:BE:00:00:00";
164 const char FakeBluetoothDeviceClient::kRequestPinCodeName[] = 158 const char FakeBluetoothDeviceClient::kRequestPinCodeName[] = "PIN Device";
165 "PIN Device";
166 const uint32 FakeBluetoothDeviceClient::kRequestPinCodeClass = 0x240408; 159 const uint32 FakeBluetoothDeviceClient::kRequestPinCodeClass = 0x240408;
167 160
168 const char FakeBluetoothDeviceClient::kConfirmPasskeyPath[] = 161 const char FakeBluetoothDeviceClient::kConfirmPasskeyPath[] = "/fake/hci0/dev7";
169 "/fake/hci0/dev7";
170 const char FakeBluetoothDeviceClient::kConfirmPasskeyAddress[] = 162 const char FakeBluetoothDeviceClient::kConfirmPasskeyAddress[] =
171 "20:7D:74:00:00:00"; 163 "20:7D:74:00:00:00";
172 const char FakeBluetoothDeviceClient::kConfirmPasskeyName[] = 164 const char FakeBluetoothDeviceClient::kConfirmPasskeyName[] = "Phone";
173 "Phone";
174 const uint32 FakeBluetoothDeviceClient::kConfirmPasskeyClass = 0x7a020c; 165 const uint32 FakeBluetoothDeviceClient::kConfirmPasskeyClass = 0x7a020c;
175 166
176 const char FakeBluetoothDeviceClient::kRequestPasskeyPath[] = 167 const char FakeBluetoothDeviceClient::kRequestPasskeyPath[] = "/fake/hci0/dev8";
177 "/fake/hci0/dev8";
178 const char FakeBluetoothDeviceClient::kRequestPasskeyAddress[] = 168 const char FakeBluetoothDeviceClient::kRequestPasskeyAddress[] =
179 "20:7D:74:00:00:01"; 169 "20:7D:74:00:00:01";
180 const char FakeBluetoothDeviceClient::kRequestPasskeyName[] = 170 const char FakeBluetoothDeviceClient::kRequestPasskeyName[] = "Passkey Device";
181 "Passkey Device";
182 const uint32 FakeBluetoothDeviceClient::kRequestPasskeyClass = 0x7a020c; 171 const uint32 FakeBluetoothDeviceClient::kRequestPasskeyClass = 0x7a020c;
183 172
184 const char FakeBluetoothDeviceClient::kUnconnectableDevicePath[] = 173 const char FakeBluetoothDeviceClient::kUnconnectableDevicePath[] =
185 "/fake/hci0/dev9"; 174 "/fake/hci0/dev9";
186 const char FakeBluetoothDeviceClient::kUnconnectableDeviceAddress[] = 175 const char FakeBluetoothDeviceClient::kUnconnectableDeviceAddress[] =
187 "20:7D:74:00:00:02"; 176 "20:7D:74:00:00:02";
188 const char FakeBluetoothDeviceClient::kUnconnectableDeviceName[] = 177 const char FakeBluetoothDeviceClient::kUnconnectableDeviceName[] =
189 "Unconnectable Device"; 178 "Unconnectable Device";
190 const uint32 FakeBluetoothDeviceClient::kUnconnectableDeviceClass = 0x7a020c; 179 const uint32 FakeBluetoothDeviceClient::kUnconnectableDeviceClass = 0x7a020c;
191 180
192 const char FakeBluetoothDeviceClient::kUnpairableDevicePath[] = 181 const char FakeBluetoothDeviceClient::kUnpairableDevicePath[] =
193 "/fake/hci0/devA"; 182 "/fake/hci0/devA";
194 const char FakeBluetoothDeviceClient::kUnpairableDeviceAddress[] = 183 const char FakeBluetoothDeviceClient::kUnpairableDeviceAddress[] =
195 "20:7D:74:00:00:03"; 184 "20:7D:74:00:00:03";
196 const char FakeBluetoothDeviceClient::kUnpairableDeviceName[] = 185 const char FakeBluetoothDeviceClient::kUnpairableDeviceName[] =
197 "Unpairable Device"; 186 "Unpairable Device";
198 const uint32 FakeBluetoothDeviceClient::kUnpairableDeviceClass = 0x002540; 187 const uint32 FakeBluetoothDeviceClient::kUnpairableDeviceClass = 0x002540;
199 188
200 const char FakeBluetoothDeviceClient::kJustWorksPath[] = 189 const char FakeBluetoothDeviceClient::kJustWorksPath[] = "/fake/hci0/devB";
201 "/fake/hci0/devB"; 190 const char FakeBluetoothDeviceClient::kJustWorksAddress[] = "00:0C:8A:00:00:00";
202 const char FakeBluetoothDeviceClient::kJustWorksAddress[] = 191 const char FakeBluetoothDeviceClient::kJustWorksName[] = "Just-Works Device";
203 "00:0C:8A:00:00:00";
204 const char FakeBluetoothDeviceClient::kJustWorksName[] =
205 "Just-Works Device";
206 const uint32 FakeBluetoothDeviceClient::kJustWorksClass = 0x240428; 192 const uint32 FakeBluetoothDeviceClient::kJustWorksClass = 0x240428;
207 193
208 const char FakeBluetoothDeviceClient::kLowEnergyPath[] = 194 const char FakeBluetoothDeviceClient::kLowEnergyPath[] = "/fake/hci0/devC";
209 "/fake/hci0/devC"; 195 const char FakeBluetoothDeviceClient::kLowEnergyAddress[] = "00:1A:11:00:15:30";
210 const char FakeBluetoothDeviceClient::kLowEnergyAddress[] =
211 "00:1A:11:00:15:30";
212 const char FakeBluetoothDeviceClient::kLowEnergyName[] = 196 const char FakeBluetoothDeviceClient::kLowEnergyName[] =
213 "Bluetooth 4.0 Heart Rate Monitor"; 197 "Bluetooth 4.0 Heart Rate Monitor";
214 const uint32 FakeBluetoothDeviceClient::kLowEnergyClass = 198 const uint32 FakeBluetoothDeviceClient::kLowEnergyClass =
215 0x000918; // Major class "Health", Minor class "Heart/Pulse Rate Monitor." 199 0x000918; // Major class "Health", Minor class "Heart/Pulse Rate Monitor."
216 200
217 const char FakeBluetoothDeviceClient::kPairedUnconnectableDevicePath[] = 201 const char FakeBluetoothDeviceClient::kPairedUnconnectableDevicePath[] =
218 "/fake/hci0/devD"; 202 "/fake/hci0/devD";
219 const char FakeBluetoothDeviceClient::kPairedUnconnectableDeviceAddress[] = 203 const char FakeBluetoothDeviceClient::kPairedUnconnectableDeviceAddress[] =
220 "20:7D:74:00:00:04"; 204 "20:7D:74:00:00:04";
221 const char FakeBluetoothDeviceClient::kPairedUnconnectableDeviceName[] = 205 const char FakeBluetoothDeviceClient::kPairedUnconnectableDeviceName[] =
222 "Paired Unconnectable Device"; 206 "Paired Unconnectable Device";
223 const uint32 FakeBluetoothDeviceClient::kPairedUnconnectableDeviceClass = 207 const uint32 FakeBluetoothDeviceClient::kPairedUnconnectableDeviceClass =
224 0x000104; 208 0x000104;
225 209
226 FakeBluetoothDeviceClient::Properties::Properties( 210 FakeBluetoothDeviceClient::Properties::Properties(
227 const PropertyChangedCallback& callback) 211 const PropertyChangedCallback& callback)
228 : BluetoothDeviceClient::Properties( 212 : BluetoothDeviceClient::Properties(
229 NULL, 213 NULL,
230 bluetooth_device::kBluetoothDeviceInterface, 214 bluetooth_device::kBluetoothDeviceInterface,
231 callback) { 215 callback) {}
232 }
233 216
234 FakeBluetoothDeviceClient::Properties::~Properties() { 217 FakeBluetoothDeviceClient::Properties::~Properties() {}
235 }
236 218
237 void FakeBluetoothDeviceClient::Properties::Get( 219 void FakeBluetoothDeviceClient::Properties::Get(
238 dbus::PropertyBase* property, 220 dbus::PropertyBase* property,
239 dbus::PropertySet::GetCallback callback) { 221 dbus::PropertySet::GetCallback callback) {
240 VLOG(1) << "Get " << property->name(); 222 VLOG(1) << "Get " << property->name();
241 callback.Run(false); 223 callback.Run(false);
242 } 224 }
243 225
244 void FakeBluetoothDeviceClient::Properties::GetAll() { 226 void FakeBluetoothDeviceClient::Properties::GetAll() {
245 VLOG(1) << "GetAll"; 227 VLOG(1) << "GetAll";
246 } 228 }
247 229
248 void FakeBluetoothDeviceClient::Properties::Set( 230 void FakeBluetoothDeviceClient::Properties::Set(
249 dbus::PropertyBase *property, 231 dbus::PropertyBase* property,
250 dbus::PropertySet::SetCallback callback) { 232 dbus::PropertySet::SetCallback callback) {
251 VLOG(1) << "Set " << property->name(); 233 VLOG(1) << "Set " << property->name();
252 if (property->name() == trusted.name()) { 234 if (property->name() == trusted.name()) {
253 callback.Run(true); 235 callback.Run(true);
254 property->ReplaceValueWithSetValue(); 236 property->ReplaceValueWithSetValue();
255 } else { 237 } else {
256 callback.Run(false); 238 callback.Run(false);
257 } 239 }
258 } 240 }
259 241
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 295
314 properties->uuids.ReplaceValue(uuids); 296 properties->uuids.ReplaceValue(uuids);
315 297
316 properties->modalias.ReplaceValue("usb:v05ACp030Dd0306"); 298 properties->modalias.ReplaceValue("usb:v05ACp030Dd0306");
317 299
318 properties_map_.insert(dbus::ObjectPath(kPairedUnconnectableDevicePath), 300 properties_map_.insert(dbus::ObjectPath(kPairedUnconnectableDevicePath),
319 properties.Pass()); 301 properties.Pass());
320 device_list_.push_back(dbus::ObjectPath(kPairedUnconnectableDevicePath)); 302 device_list_.push_back(dbus::ObjectPath(kPairedUnconnectableDevicePath));
321 } 303 }
322 304
323 FakeBluetoothDeviceClient::~FakeBluetoothDeviceClient() { 305 FakeBluetoothDeviceClient::~FakeBluetoothDeviceClient() {}
324 }
325 306
326 void FakeBluetoothDeviceClient::Init(dbus::Bus* bus) { 307 void FakeBluetoothDeviceClient::Init(dbus::Bus* bus) {}
327 }
328 308
329 void FakeBluetoothDeviceClient::AddObserver(Observer* observer) { 309 void FakeBluetoothDeviceClient::AddObserver(Observer* observer) {
330 observers_.AddObserver(observer); 310 observers_.AddObserver(observer);
331 } 311 }
332 312
333 void FakeBluetoothDeviceClient::RemoveObserver(Observer* observer) { 313 void FakeBluetoothDeviceClient::RemoveObserver(Observer* observer) {
334 observers_.RemoveObserver(observer); 314 observers_.RemoveObserver(observer);
335 } 315 }
336 316
337 std::vector<dbus::ObjectPath> FakeBluetoothDeviceClient::GetDevicesForAdapter( 317 std::vector<dbus::ObjectPath> FakeBluetoothDeviceClient::GetDevicesForAdapter(
338 const dbus::ObjectPath& adapter_path) { 318 const dbus::ObjectPath& adapter_path) {
339 if (adapter_path == 319 if (adapter_path ==
340 dbus::ObjectPath(FakeBluetoothAdapterClient::kAdapterPath)) 320 dbus::ObjectPath(FakeBluetoothAdapterClient::kAdapterPath))
341 return device_list_; 321 return device_list_;
342 else 322 else
343 return std::vector<dbus::ObjectPath>(); 323 return std::vector<dbus::ObjectPath>();
344 } 324 }
345 325
346 FakeBluetoothDeviceClient::Properties* 326 FakeBluetoothDeviceClient::Properties* FakeBluetoothDeviceClient::GetProperties(
347 FakeBluetoothDeviceClient::GetProperties(const dbus::ObjectPath& object_path) { 327 const dbus::ObjectPath& object_path) {
348 PropertiesMap::const_iterator iter = properties_map_.find(object_path); 328 PropertiesMap::const_iterator iter = properties_map_.find(object_path);
349 if (iter != properties_map_.end()) 329 if (iter != properties_map_.end())
350 return iter->second; 330 return iter->second;
351 return NULL; 331 return NULL;
352 } 332 }
353 333
354 FakeBluetoothDeviceClient::SimulatedPairingOptions* 334 FakeBluetoothDeviceClient::SimulatedPairingOptions*
355 FakeBluetoothDeviceClient::GetPairingOptions( 335 FakeBluetoothDeviceClient::GetPairingOptions(
356 const dbus::ObjectPath& object_path) { 336 const dbus::ObjectPath& object_path) {
357 PairingOptionsMap::const_iterator iter = 337 PairingOptionsMap::const_iterator iter =
358 pairing_options_map_.find(object_path); 338 pairing_options_map_.find(object_path);
359 if (iter != pairing_options_map_.end()) 339 if (iter != pairing_options_map_.end())
360 return iter->second; 340 return iter->second;
361 return iter != pairing_options_map_.end() ? iter->second : nullptr; 341 return iter != pairing_options_map_.end() ? iter->second : nullptr;
362 } 342 }
363 343
364 void FakeBluetoothDeviceClient::Connect( 344 void FakeBluetoothDeviceClient::Connect(const dbus::ObjectPath& object_path,
365 const dbus::ObjectPath& object_path, 345 const base::Closure& callback,
366 const base::Closure& callback, 346 const ErrorCallback& error_callback) {
367 const ErrorCallback& error_callback) {
368 VLOG(1) << "Connect: " << object_path.value(); 347 VLOG(1) << "Connect: " << object_path.value();
369 Properties* properties = GetProperties(object_path); 348 Properties* properties = GetProperties(object_path);
370 349
371 if (properties->connected.value() == true) { 350 if (properties->connected.value() == true) {
372 // Already connected. 351 // Already connected.
373 callback.Run(); 352 callback.Run();
374 return; 353 return;
375 } 354 }
376 355
377 if (properties->paired.value() != true && 356 if (properties->paired.value() != true &&
(...skipping 13 matching lines...) Expand all
391 } 370 }
392 371
393 // The device can be connected. 372 // The device can be connected.
394 properties->connected.ReplaceValue(true); 373 properties->connected.ReplaceValue(true);
395 callback.Run(); 374 callback.Run();
396 375
397 // Expose GATT services if connected to LE device. 376 // Expose GATT services if connected to LE device.
398 if (object_path == dbus::ObjectPath(kLowEnergyPath)) { 377 if (object_path == dbus::ObjectPath(kLowEnergyPath)) {
399 FakeBluetoothGattServiceClient* gatt_service_client = 378 FakeBluetoothGattServiceClient* gatt_service_client =
400 static_cast<FakeBluetoothGattServiceClient*>( 379 static_cast<FakeBluetoothGattServiceClient*>(
401 DBusThreadManager::Get()->GetBluetoothGattServiceClient()); 380 bluez::BluezDBusManager::Get()->GetBluetoothGattServiceClient());
402 gatt_service_client->ExposeHeartRateService( 381 gatt_service_client->ExposeHeartRateService(
403 dbus::ObjectPath(kLowEnergyPath)); 382 dbus::ObjectPath(kLowEnergyPath));
404 } 383 }
405 384
406 AddInputDeviceIfNeeded(object_path, properties); 385 AddInputDeviceIfNeeded(object_path, properties);
407 } 386 }
408 387
409 void FakeBluetoothDeviceClient::Disconnect( 388 void FakeBluetoothDeviceClient::Disconnect(
410 const dbus::ObjectPath& object_path, 389 const dbus::ObjectPath& object_path,
411 const base::Closure& callback, 390 const base::Closure& callback,
412 const ErrorCallback& error_callback) { 391 const ErrorCallback& error_callback) {
413 VLOG(1) << "Disconnect: " << object_path.value(); 392 VLOG(1) << "Disconnect: " << object_path.value();
414 Properties* properties = GetProperties(object_path); 393 Properties* properties = GetProperties(object_path);
415 394
416 if (!properties->connected.value()) { 395 if (!properties->connected.value()) {
417 error_callback.Run("org.bluez.Error.NotConnected", "Not Connected"); 396 error_callback.Run("org.bluez.Error.NotConnected", "Not Connected");
418 return; 397 return;
419 } 398 }
420 399
421 // Hide the Heart Rate Service if disconnected from LE device. 400 // Hide the Heart Rate Service if disconnected from LE device.
422 if (object_path == dbus::ObjectPath(kLowEnergyPath)) { 401 if (object_path == dbus::ObjectPath(kLowEnergyPath)) {
423 FakeBluetoothGattServiceClient* gatt_service_client = 402 FakeBluetoothGattServiceClient* gatt_service_client =
424 static_cast<FakeBluetoothGattServiceClient*>( 403 static_cast<FakeBluetoothGattServiceClient*>(
425 DBusThreadManager::Get()->GetBluetoothGattServiceClient()); 404 bluez::BluezDBusManager::Get()->GetBluetoothGattServiceClient());
426 gatt_service_client->HideHeartRateService(); 405 gatt_service_client->HideHeartRateService();
427 } 406 }
428 407
429 callback.Run(); 408 callback.Run();
430 properties->connected.ReplaceValue(false); 409 properties->connected.ReplaceValue(false);
431 } 410 }
432 411
433 void FakeBluetoothDeviceClient::ConnectProfile( 412 void FakeBluetoothDeviceClient::ConnectProfile(
434 const dbus::ObjectPath& object_path, 413 const dbus::ObjectPath& object_path,
435 const std::string& uuid, 414 const std::string& uuid,
436 const base::Closure& callback, 415 const base::Closure& callback,
437 const ErrorCallback& error_callback) { 416 const ErrorCallback& error_callback) {
438 VLOG(1) << "ConnectProfile: " << object_path.value() << " " << uuid; 417 VLOG(1) << "ConnectProfile: " << object_path.value() << " " << uuid;
439 418
440 FakeBluetoothProfileManagerClient* fake_bluetooth_profile_manager_client = 419 FakeBluetoothProfileManagerClient* fake_bluetooth_profile_manager_client =
441 static_cast<FakeBluetoothProfileManagerClient*>( 420 static_cast<FakeBluetoothProfileManagerClient*>(
442 DBusThreadManager::Get()->GetBluetoothProfileManagerClient()); 421 bluez::BluezDBusManager::Get()->GetBluetoothProfileManagerClient());
443 FakeBluetoothProfileServiceProvider* profile_service_provider = 422 FakeBluetoothProfileServiceProvider* profile_service_provider =
444 fake_bluetooth_profile_manager_client->GetProfileServiceProvider(uuid); 423 fake_bluetooth_profile_manager_client->GetProfileServiceProvider(uuid);
445 if (profile_service_provider == NULL) { 424 if (profile_service_provider == NULL) {
446 error_callback.Run(kNoResponseError, "Missing profile"); 425 error_callback.Run(kNoResponseError, "Missing profile");
447 return; 426 return;
448 } 427 }
449 428
450 if (object_path == dbus::ObjectPath(kPairedUnconnectableDevicePath)) { 429 if (object_path == dbus::ObjectPath(kPairedUnconnectableDevicePath)) {
451 error_callback.Run(bluetooth_device::kErrorFailed, "unconnectable"); 430 error_callback.Run(bluetooth_device::kErrorFailed, "unconnectable");
452 return; 431 return;
(...skipping 18 matching lines...) Expand all
471 error_callback.Run(kNoResponseError, "failed to get socket flags"); 450 error_callback.Run(kNoResponseError, "failed to get socket flags");
472 return; 451 return;
473 } 452 }
474 453
475 args |= O_NONBLOCK; 454 args |= O_NONBLOCK;
476 if (fcntl(fds[1], F_SETFL, args) < 0) { 455 if (fcntl(fds[1], F_SETFL, args) < 0) {
477 error_callback.Run(kNoResponseError, "failed to set socket non-blocking"); 456 error_callback.Run(kNoResponseError, "failed to set socket non-blocking");
478 return; 457 return;
479 } 458 }
480 459
481 base::WorkerPool::GetTaskRunner(false)->PostTask( 460 base::WorkerPool::GetTaskRunner(false)
482 FROM_HERE, 461 ->PostTask(FROM_HERE, base::Bind(&SimulatedProfileSocket, fds[0]));
483 base::Bind(&SimulatedProfileSocket,
484 fds[0]));
485 462
486 scoped_ptr<dbus::FileDescriptor> fd(new dbus::FileDescriptor(fds[1])); 463 scoped_ptr<dbus::FileDescriptor> fd(new dbus::FileDescriptor(fds[1]));
487 464
488 // Post the new connection to the service provider. 465 // Post the new connection to the service provider.
489 BluetoothProfileServiceProvider::Delegate::Options options; 466 BluetoothProfileServiceProvider::Delegate::Options options;
490 467
491 profile_service_provider->NewConnection( 468 profile_service_provider->NewConnection(
492 object_path, 469 object_path, fd.Pass(), options,
493 fd.Pass(),
494 options,
495 base::Bind(&FakeBluetoothDeviceClient::ConnectionCallback, 470 base::Bind(&FakeBluetoothDeviceClient::ConnectionCallback,
496 base::Unretained(this), 471 base::Unretained(this), object_path, callback,
497 object_path,
498 callback,
499 error_callback)); 472 error_callback));
500 } 473 }
501 474
502 void FakeBluetoothDeviceClient::DisconnectProfile( 475 void FakeBluetoothDeviceClient::DisconnectProfile(
503 const dbus::ObjectPath& object_path, 476 const dbus::ObjectPath& object_path,
504 const std::string& uuid, 477 const std::string& uuid,
505 const base::Closure& callback, 478 const base::Closure& callback,
506 const ErrorCallback& error_callback) { 479 const ErrorCallback& error_callback) {
507 VLOG(1) << "DisconnectProfile: " << object_path.value() << " " << uuid; 480 VLOG(1) << "DisconnectProfile: " << object_path.value() << " " << uuid;
508 481
509 FakeBluetoothProfileManagerClient* fake_bluetooth_profile_manager_client = 482 FakeBluetoothProfileManagerClient* fake_bluetooth_profile_manager_client =
510 static_cast<FakeBluetoothProfileManagerClient*>( 483 static_cast<FakeBluetoothProfileManagerClient*>(
511 DBusThreadManager::Get()->GetBluetoothProfileManagerClient()); 484 bluez::BluezDBusManager::Get()->GetBluetoothProfileManagerClient());
512 FakeBluetoothProfileServiceProvider* profile_service_provider = 485 FakeBluetoothProfileServiceProvider* profile_service_provider =
513 fake_bluetooth_profile_manager_client->GetProfileServiceProvider(uuid); 486 fake_bluetooth_profile_manager_client->GetProfileServiceProvider(uuid);
514 if (profile_service_provider == NULL) { 487 if (profile_service_provider == NULL) {
515 error_callback.Run(kNoResponseError, "Missing profile"); 488 error_callback.Run(kNoResponseError, "Missing profile");
516 return; 489 return;
517 } 490 }
518 491
519 profile_service_provider->RequestDisconnection( 492 profile_service_provider->RequestDisconnection(
520 object_path, 493 object_path, base::Bind(&FakeBluetoothDeviceClient::DisconnectionCallback,
521 base::Bind(&FakeBluetoothDeviceClient::DisconnectionCallback, 494 base::Unretained(this), object_path, callback,
522 base::Unretained(this), 495 error_callback));
523 object_path,
524 callback,
525 error_callback));
526 } 496 }
527 497
528 void FakeBluetoothDeviceClient::Pair( 498 void FakeBluetoothDeviceClient::Pair(const dbus::ObjectPath& object_path,
529 const dbus::ObjectPath& object_path, 499 const base::Closure& callback,
530 const base::Closure& callback, 500 const ErrorCallback& error_callback) {
531 const ErrorCallback& error_callback) {
532 VLOG(1) << "Pair: " << object_path.value(); 501 VLOG(1) << "Pair: " << object_path.value();
533 Properties* properties = GetProperties(object_path); 502 Properties* properties = GetProperties(object_path);
534 503
535 if (properties->paired.value() == true) { 504 if (properties->paired.value() == true) {
536 // Already paired. 505 // Already paired.
537 callback.Run(); 506 callback.Run();
538 return; 507 return;
539 } 508 }
540 509
541 SimulatePairing(object_path, false, callback, error_callback); 510 SimulatePairing(object_path, false, callback, error_callback);
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
603 incoming_pairing_simulation_step_ = 0; 572 incoming_pairing_simulation_step_ = 0;
604 } 573 }
605 574
606 void FakeBluetoothDeviceClient::SetSimulationIntervalMs(int interval_ms) { 575 void FakeBluetoothDeviceClient::SetSimulationIntervalMs(int interval_ms) {
607 simulation_interval_ms_ = interval_ms; 576 simulation_interval_ms_ = interval_ms;
608 } 577 }
609 578
610 void FakeBluetoothDeviceClient::CreateDevice( 579 void FakeBluetoothDeviceClient::CreateDevice(
611 const dbus::ObjectPath& adapter_path, 580 const dbus::ObjectPath& adapter_path,
612 const dbus::ObjectPath& device_path) { 581 const dbus::ObjectPath& device_path) {
613 if (std::find(device_list_.begin(), 582 if (std::find(device_list_.begin(), device_list_.end(), device_path) !=
614 device_list_.end(), device_path) != device_list_.end()) 583 device_list_.end())
615 return; 584 return;
616 585
617 scoped_ptr<Properties> properties( 586 scoped_ptr<Properties> properties(
618 new Properties(base::Bind(&FakeBluetoothDeviceClient::OnPropertyChanged, 587 new Properties(base::Bind(&FakeBluetoothDeviceClient::OnPropertyChanged,
619 base::Unretained(this), device_path))); 588 base::Unretained(this), device_path)));
620 properties->adapter.ReplaceValue(adapter_path); 589 properties->adapter.ReplaceValue(adapter_path);
621 590
622 if (device_path == dbus::ObjectPath(kLegacyAutopairPath)) { 591 if (device_path == dbus::ObjectPath(kLegacyAutopairPath)) {
623 properties->address.ReplaceValue(kLegacyAutopairAddress); 592 properties->address.ReplaceValue(kLegacyAutopairAddress);
624 properties->bluetooth_class.ReplaceValue(kLegacyAutopairClass); 593 properties->bluetooth_class.ReplaceValue(kLegacyAutopairClass);
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
706 properties->bluetooth_class.ReplaceValue(kLowEnergyClass); 675 properties->bluetooth_class.ReplaceValue(kLowEnergyClass);
707 properties->name.ReplaceValue("Heart Rate Monitor"); 676 properties->name.ReplaceValue("Heart Rate Monitor");
708 properties->alias.ReplaceValue(kLowEnergyName); 677 properties->alias.ReplaceValue(kLowEnergyName);
709 678
710 std::vector<std::string> uuids; 679 std::vector<std::string> uuids;
711 uuids.push_back(FakeBluetoothGattServiceClient::kHeartRateServiceUUID); 680 uuids.push_back(FakeBluetoothGattServiceClient::kHeartRateServiceUUID);
712 properties->uuids.ReplaceValue(uuids); 681 properties->uuids.ReplaceValue(uuids);
713 682
714 } else { 683 } else {
715 NOTREACHED(); 684 NOTREACHED();
716
717 } 685 }
718 686
719 properties_map_.insert(device_path, properties.Pass()); 687 properties_map_.insert(device_path, properties.Pass());
720 device_list_.push_back(device_path); 688 device_list_.push_back(device_path);
721 FOR_EACH_OBSERVER(BluetoothDeviceClient::Observer, observers_, 689 FOR_EACH_OBSERVER(BluetoothDeviceClient::Observer, observers_,
722 DeviceAdded(device_path)); 690 DeviceAdded(device_path));
723 } 691 }
724 692
725 void FakeBluetoothDeviceClient::CreateDeviceWithProperties( 693 void FakeBluetoothDeviceClient::CreateDeviceWithProperties(
726 const dbus::ObjectPath& adapter_path, 694 const dbus::ObjectPath& adapter_path,
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after
987 Properties* properties = iter->second; 955 Properties* properties = iter->second;
988 956
989 VLOG(1) << "removing device: " << properties->alias.value(); 957 VLOG(1) << "removing device: " << properties->alias.value();
990 device_list_.erase(listiter); 958 device_list_.erase(listiter);
991 959
992 // Remove the Input interface if it exists. This should be called before the 960 // Remove the Input interface if it exists. This should be called before the
993 // BluetoothDeviceClient::Observer::DeviceRemoved because it deletes the 961 // BluetoothDeviceClient::Observer::DeviceRemoved because it deletes the
994 // BluetoothDeviceChromeOS object, including the device_path referenced here. 962 // BluetoothDeviceChromeOS object, including the device_path referenced here.
995 FakeBluetoothInputClient* fake_bluetooth_input_client = 963 FakeBluetoothInputClient* fake_bluetooth_input_client =
996 static_cast<FakeBluetoothInputClient*>( 964 static_cast<FakeBluetoothInputClient*>(
997 DBusThreadManager::Get()->GetBluetoothInputClient()); 965 bluez::BluezDBusManager::Get()->GetBluetoothInputClient());
998 fake_bluetooth_input_client->RemoveInputDevice(device_path); 966 fake_bluetooth_input_client->RemoveInputDevice(device_path);
999 967
1000 if (device_path == dbus::ObjectPath(kLowEnergyPath)) { 968 if (device_path == dbus::ObjectPath(kLowEnergyPath)) {
1001 FakeBluetoothGattServiceClient* gatt_service_client = 969 FakeBluetoothGattServiceClient* gatt_service_client =
1002 static_cast<FakeBluetoothGattServiceClient*>( 970 static_cast<FakeBluetoothGattServiceClient*>(
1003 DBusThreadManager::Get()->GetBluetoothGattServiceClient()); 971 bluez::BluezDBusManager::Get()->GetBluetoothGattServiceClient());
1004 gatt_service_client->HideHeartRateService(); 972 gatt_service_client->HideHeartRateService();
1005 } 973 }
1006 974
1007 FOR_EACH_OBSERVER(BluetoothDeviceClient::Observer, observers_, 975 FOR_EACH_OBSERVER(BluetoothDeviceClient::Observer, observers_,
1008 DeviceRemoved(device_path)); 976 DeviceRemoved(device_path));
1009 977
1010 properties_map_.erase(iter); 978 properties_map_.erase(iter);
1011 PairingOptionsMap::const_iterator options_iter = 979 PairingOptionsMap::const_iterator options_iter =
1012 pairing_options_map_.find(device_path); 980 pairing_options_map_.find(device_path);
1013 981
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
1076 1044
1077 } else if (discovery_simulation_step_ == 13) { 1045 } else if (discovery_simulation_step_ == 13) {
1078 UpdateDeviceRSSI(dbus::ObjectPath(kLowEnergyPath), 1046 UpdateDeviceRSSI(dbus::ObjectPath(kLowEnergyPath),
1079 base::RandInt(kMinRSSI, kMaxRSSI)); 1047 base::RandInt(kMinRSSI, kMaxRSSI));
1080 RemoveDevice(dbus::ObjectPath(FakeBluetoothAdapterClient::kAdapterPath), 1048 RemoveDevice(dbus::ObjectPath(FakeBluetoothAdapterClient::kAdapterPath),
1081 dbus::ObjectPath(kVanishingDevicePath)); 1049 dbus::ObjectPath(kVanishingDevicePath));
1082 } else if (discovery_simulation_step_ == 14) { 1050 } else if (discovery_simulation_step_ == 14) {
1083 UpdateDeviceRSSI(dbus::ObjectPath(kLowEnergyPath), 1051 UpdateDeviceRSSI(dbus::ObjectPath(kLowEnergyPath),
1084 base::RandInt(kMinRSSI, kMaxRSSI)); 1052 base::RandInt(kMinRSSI, kMaxRSSI));
1085 return; 1053 return;
1086
1087 } 1054 }
1088 1055
1089 ++discovery_simulation_step_; 1056 ++discovery_simulation_step_;
1090 base::ThreadTaskRunnerHandle::Get()->PostDelayedTask( 1057 base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
1091 FROM_HERE, 1058 FROM_HERE,
1092 base::Bind(&FakeBluetoothDeviceClient::DiscoverySimulationTimer, 1059 base::Bind(&FakeBluetoothDeviceClient::DiscoverySimulationTimer,
1093 base::Unretained(this)), 1060 base::Unretained(this)),
1094 base::TimeDelta::FromMilliseconds(simulation_interval_ms_)); 1061 base::TimeDelta::FromMilliseconds(simulation_interval_ms_));
1095 } 1062 }
1096 1063
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
1158 1125
1159 void FakeBluetoothDeviceClient::SimulatePairing( 1126 void FakeBluetoothDeviceClient::SimulatePairing(
1160 const dbus::ObjectPath& object_path, 1127 const dbus::ObjectPath& object_path,
1161 bool incoming_request, 1128 bool incoming_request,
1162 const base::Closure& callback, 1129 const base::Closure& callback,
1163 const ErrorCallback& error_callback) { 1130 const ErrorCallback& error_callback) {
1164 pairing_cancelled_ = false; 1131 pairing_cancelled_ = false;
1165 1132
1166 FakeBluetoothAgentManagerClient* fake_bluetooth_agent_manager_client = 1133 FakeBluetoothAgentManagerClient* fake_bluetooth_agent_manager_client =
1167 static_cast<FakeBluetoothAgentManagerClient*>( 1134 static_cast<FakeBluetoothAgentManagerClient*>(
1168 DBusThreadManager::Get()->GetBluetoothAgentManagerClient()); 1135 bluez::BluezDBusManager::Get()->GetBluetoothAgentManagerClient());
1169 FakeBluetoothAgentServiceProvider* agent_service_provider = 1136 FakeBluetoothAgentServiceProvider* agent_service_provider =
1170 fake_bluetooth_agent_manager_client->GetAgentServiceProvider(); 1137 fake_bluetooth_agent_manager_client->GetAgentServiceProvider();
1171 CHECK(agent_service_provider != NULL); 1138 CHECK(agent_service_provider != NULL);
1172 1139
1173 // Grab the device's pairing properties. 1140 // Grab the device's pairing properties.
1174 PairingOptionsMap::const_iterator iter = 1141 PairingOptionsMap::const_iterator iter =
1175 pairing_options_map_.find(object_path); 1142 pairing_options_map_.find(object_path);
1176 1143
1177 // If the device with path |object_path| has simulated pairing properties 1144 // If the device with path |object_path| has simulated pairing properties
1178 // defined, then pair it based on its |pairing_method|. 1145 // defined, then pair it based on its |pairing_method|.
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after
1409 error_callback.Run(bluetooth_device::kErrorFailed, "Failed"); 1376 error_callback.Run(bluetooth_device::kErrorFailed, "Failed");
1410 } 1377 }
1411 1378
1412 void FakeBluetoothDeviceClient::AddInputDeviceIfNeeded( 1379 void FakeBluetoothDeviceClient::AddInputDeviceIfNeeded(
1413 const dbus::ObjectPath& object_path, 1380 const dbus::ObjectPath& object_path,
1414 Properties* properties) { 1381 Properties* properties) {
1415 // If the paired device is a HID device based on it's bluetooth class, 1382 // If the paired device is a HID device based on it's bluetooth class,
1416 // simulate the Input interface. 1383 // simulate the Input interface.
1417 FakeBluetoothInputClient* fake_bluetooth_input_client = 1384 FakeBluetoothInputClient* fake_bluetooth_input_client =
1418 static_cast<FakeBluetoothInputClient*>( 1385 static_cast<FakeBluetoothInputClient*>(
1419 DBusThreadManager::Get()->GetBluetoothInputClient()); 1386 bluez::BluezDBusManager::Get()->GetBluetoothInputClient());
1420 1387
1421 if ((properties->bluetooth_class.value() & 0x001f03) == 0x000500) 1388 if ((properties->bluetooth_class.value() & 0x001f03) == 0x000500)
1422 fake_bluetooth_input_client->AddInputDevice(object_path); 1389 fake_bluetooth_input_client->AddInputDevice(object_path);
1423 } 1390 }
1424 1391
1425 void FakeBluetoothDeviceClient::UpdateDeviceRSSI( 1392 void FakeBluetoothDeviceClient::UpdateDeviceRSSI(
1426 const dbus::ObjectPath& object_path, 1393 const dbus::ObjectPath& object_path,
1427 int16 rssi) { 1394 int16 rssi) {
1428 PropertiesMap::const_iterator iter = properties_map_.find(object_path); 1395 PropertiesMap::const_iterator iter = properties_map_.find(object_path);
1429 if (iter == properties_map_.end()) { 1396 if (iter == properties_map_.end()) {
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
1579 1546
1580 void FakeBluetoothDeviceClient::SimulateKeypress( 1547 void FakeBluetoothDeviceClient::SimulateKeypress(
1581 uint16 entered, 1548 uint16 entered,
1582 const dbus::ObjectPath& object_path, 1549 const dbus::ObjectPath& object_path,
1583 const base::Closure& callback, 1550 const base::Closure& callback,
1584 const ErrorCallback& error_callback) { 1551 const ErrorCallback& error_callback) {
1585 VLOG(1) << "SimulateKeypress " << entered << ": " << object_path.value(); 1552 VLOG(1) << "SimulateKeypress " << entered << ": " << object_path.value();
1586 1553
1587 FakeBluetoothAgentManagerClient* fake_bluetooth_agent_manager_client = 1554 FakeBluetoothAgentManagerClient* fake_bluetooth_agent_manager_client =
1588 static_cast<FakeBluetoothAgentManagerClient*>( 1555 static_cast<FakeBluetoothAgentManagerClient*>(
1589 DBusThreadManager::Get()->GetBluetoothAgentManagerClient()); 1556 bluez::BluezDBusManager::Get()->GetBluetoothAgentManagerClient());
1590 FakeBluetoothAgentServiceProvider* agent_service_provider = 1557 FakeBluetoothAgentServiceProvider* agent_service_provider =
1591 fake_bluetooth_agent_manager_client->GetAgentServiceProvider(); 1558 fake_bluetooth_agent_manager_client->GetAgentServiceProvider();
1592 1559
1593 // The agent service provider object could have been destroyed after the 1560 // The agent service provider object could have been destroyed after the
1594 // pairing is canceled. 1561 // pairing is canceled.
1595 if (!agent_service_provider) 1562 if (!agent_service_provider)
1596 return; 1563 return;
1597 1564
1598 agent_service_provider->DisplayPasskey(object_path, kTestPassKey, entered); 1565 agent_service_provider->DisplayPasskey(object_path, kTestPassKey, entered);
1599 1566
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
1642 if (status == BluetoothProfileServiceProvider::Delegate::SUCCESS) { 1609 if (status == BluetoothProfileServiceProvider::Delegate::SUCCESS) {
1643 // TODO(keybuk): tear down this side of the connection 1610 // TODO(keybuk): tear down this side of the connection
1644 callback.Run(); 1611 callback.Run();
1645 } else if (status == BluetoothProfileServiceProvider::Delegate::CANCELLED) { 1612 } else if (status == BluetoothProfileServiceProvider::Delegate::CANCELLED) {
1646 error_callback.Run(bluetooth_device::kErrorFailed, "Canceled"); 1613 error_callback.Run(bluetooth_device::kErrorFailed, "Canceled");
1647 } else if (status == BluetoothProfileServiceProvider::Delegate::REJECTED) { 1614 } else if (status == BluetoothProfileServiceProvider::Delegate::REJECTED) {
1648 error_callback.Run(bluetooth_device::kErrorFailed, "Rejected"); 1615 error_callback.Run(bluetooth_device::kErrorFailed, "Rejected");
1649 } 1616 }
1650 } 1617 }
1651 1618
1652 } // namespace chromeos 1619 } // namespace bluez
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698