| OLD | NEW | 
|---|
| 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 "device/bluetooth/dbus/fake_bluetooth_adapter_client.h" | 5 #include "device/bluetooth/dbus/fake_bluetooth_adapter_client.h" | 
| 6 | 6 | 
|  | 7 #include <map> | 
|  | 8 #include <utility> | 
|  | 9 | 
|  | 10 #include "base/bind_helpers.h" | 
|  | 11 #include "base/callback_forward.h" | 
| 7 #include "base/location.h" | 12 #include "base/location.h" | 
| 8 #include "base/logging.h" | 13 #include "base/logging.h" | 
| 9 #include "base/single_thread_task_runner.h" | 14 #include "base/single_thread_task_runner.h" | 
| 10 #include "base/threading/thread_task_runner_handle.h" | 15 #include "base/threading/thread_task_runner_handle.h" | 
| 11 #include "base/time/time.h" | 16 #include "base/time/time.h" | 
|  | 17 #include "dbus/bus.h" | 
|  | 18 #include "device/bluetooth/bluez/bluetooth_service_record_bluez.h" | 
| 12 #include "device/bluetooth/dbus/bluez_dbus_manager.h" | 19 #include "device/bluetooth/dbus/bluez_dbus_manager.h" | 
| 13 #include "device/bluetooth/dbus/fake_bluetooth_device_client.h" | 20 #include "device/bluetooth/dbus/fake_bluetooth_device_client.h" | 
| 14 #include "third_party/cros_system_api/dbus/service_constants.h" | 21 #include "third_party/cros_system_api/dbus/service_constants.h" | 
| 15 | 22 | 
| 16 namespace bluez { | 23 namespace bluez { | 
| 17 | 24 | 
| 18 namespace { | 25 namespace { | 
| 19 | 26 | 
| 20 // Default interval for delayed tasks. | 27 // Default interval for delayed tasks. | 
| 21 const int kSimulationIntervalMs = 750; | 28 const int kSimulationIntervalMs = 750; | 
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 64   } else { | 71   } else { | 
| 65     callback.Run(false); | 72     callback.Run(false); | 
| 66   } | 73   } | 
| 67 } | 74 } | 
| 68 | 75 | 
| 69 FakeBluetoothAdapterClient::FakeBluetoothAdapterClient() | 76 FakeBluetoothAdapterClient::FakeBluetoothAdapterClient() | 
| 70     : visible_(true), | 77     : visible_(true), | 
| 71       second_visible_(false), | 78       second_visible_(false), | 
| 72       discovering_count_(0), | 79       discovering_count_(0), | 
| 73       set_discovery_filter_should_fail_(false), | 80       set_discovery_filter_should_fail_(false), | 
| 74       simulation_interval_ms_(kSimulationIntervalMs) { | 81       simulation_interval_ms_(kSimulationIntervalMs), | 
|  | 82       last_handle_(0) { | 
| 75   properties_.reset(new Properties(base::Bind( | 83   properties_.reset(new Properties(base::Bind( | 
| 76       &FakeBluetoothAdapterClient::OnPropertyChanged, base::Unretained(this)))); | 84       &FakeBluetoothAdapterClient::OnPropertyChanged, base::Unretained(this)))); | 
| 77 | 85 | 
| 78   properties_->address.ReplaceValue(kAdapterAddress); | 86   properties_->address.ReplaceValue(kAdapterAddress); | 
| 79   properties_->name.ReplaceValue("Fake Adapter (Name)"); | 87   properties_->name.ReplaceValue("Fake Adapter (Name)"); | 
| 80   properties_->alias.ReplaceValue(kAdapterName); | 88   properties_->alias.ReplaceValue(kAdapterName); | 
| 81   properties_->pairable.ReplaceValue(true); | 89   properties_->pairable.ReplaceValue(true); | 
| 82 | 90 | 
| 83   second_properties_.reset(new Properties(base::Bind( | 91   second_properties_.reset(new Properties(base::Bind( | 
| 84       &FakeBluetoothAdapterClient::OnPropertyChanged, base::Unretained(this)))); | 92       &FakeBluetoothAdapterClient::OnPropertyChanged, base::Unretained(this)))); | 
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 219     PostDelayedTask(base::Bind(error_callback, kNoResponseError, "")); | 227     PostDelayedTask(base::Bind(error_callback, kNoResponseError, "")); | 
| 220     set_discovery_filter_should_fail_ = false; | 228     set_discovery_filter_should_fail_ = false; | 
| 221     return; | 229     return; | 
| 222   } | 230   } | 
| 223 | 231 | 
| 224   discovery_filter_.reset(new DiscoveryFilter()); | 232   discovery_filter_.reset(new DiscoveryFilter()); | 
| 225   discovery_filter_->CopyFrom(discovery_filter); | 233   discovery_filter_->CopyFrom(discovery_filter); | 
| 226   PostDelayedTask(callback); | 234   PostDelayedTask(callback); | 
| 227 } | 235 } | 
| 228 | 236 | 
|  | 237 void FakeBluetoothAdapterClient::CreateServiceRecord( | 
|  | 238     const dbus::ObjectPath& object_path, | 
|  | 239     const bluez::BluetoothServiceRecordBlueZ& record, | 
|  | 240     const ServiceRecordCallback& callback, | 
|  | 241     const ErrorCallback& error_callback) { | 
|  | 242   ++last_handle_; | 
|  | 243   records_.insert( | 
|  | 244       std::pair<uint32_t, BluetoothServiceRecordBlueZ>(last_handle_, record)); | 
|  | 245   callback.Run(last_handle_); | 
|  | 246 } | 
|  | 247 | 
|  | 248 void FakeBluetoothAdapterClient::RemoveServiceRecord( | 
|  | 249     const dbus::ObjectPath& object_path, | 
|  | 250     uint32_t handle, | 
|  | 251     const base::Closure& callback, | 
|  | 252     const ErrorCallback& error_callback) { | 
|  | 253   auto it = records_.find(handle); | 
|  | 254   if (it == records_.end()) { | 
|  | 255     error_callback.Run(bluetooth_adapter::kErrorDoesNotExist, | 
|  | 256                        "Service record does not exist."); | 
|  | 257     return; | 
|  | 258   } | 
|  | 259   records_.erase(it); | 
|  | 260   callback.Run(); | 
|  | 261 } | 
|  | 262 | 
| 229 void FakeBluetoothAdapterClient::SetSimulationIntervalMs(int interval_ms) { | 263 void FakeBluetoothAdapterClient::SetSimulationIntervalMs(int interval_ms) { | 
| 230   simulation_interval_ms_ = interval_ms; | 264   simulation_interval_ms_ = interval_ms; | 
| 231 } | 265 } | 
| 232 | 266 | 
| 233 BluetoothAdapterClient::DiscoveryFilter* | 267 BluetoothAdapterClient::DiscoveryFilter* | 
| 234 FakeBluetoothAdapterClient::GetDiscoveryFilter() { | 268 FakeBluetoothAdapterClient::GetDiscoveryFilter() { | 
| 235   return discovery_filter_.get(); | 269   return discovery_filter_.get(); | 
| 236 } | 270 } | 
| 237 | 271 | 
| 238 void FakeBluetoothAdapterClient::SetVisible(bool visible) { | 272 void FakeBluetoothAdapterClient::SetVisible(bool visible) { | 
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 297 } | 331 } | 
| 298 | 332 | 
| 299 void FakeBluetoothAdapterClient::PostDelayedTask( | 333 void FakeBluetoothAdapterClient::PostDelayedTask( | 
| 300     const base::Closure& callback) { | 334     const base::Closure& callback) { | 
| 301   base::ThreadTaskRunnerHandle::Get()->PostDelayedTask( | 335   base::ThreadTaskRunnerHandle::Get()->PostDelayedTask( | 
| 302       FROM_HERE, callback, | 336       FROM_HERE, callback, | 
| 303       base::TimeDelta::FromMilliseconds(simulation_interval_ms_)); | 337       base::TimeDelta::FromMilliseconds(simulation_interval_ms_)); | 
| 304 } | 338 } | 
| 305 | 339 | 
| 306 }  // namespace bluez | 340 }  // namespace bluez | 
| OLD | NEW | 
|---|