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

Side by Side Diff: device/bluetooth/bluetooth_adapter_win.cc

Issue 1690133002: Implement BluetoothRemoteGattServiceWin and related unit tests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address comments and split out of included GATT services Created 4 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 #include "device/bluetooth/bluetooth_adapter_win.h" 5 #include "device/bluetooth/bluetooth_adapter_win.h"
6 6
7 #include <string> 7 #include <string>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/location.h" 10 #include "base/location.h"
(...skipping 25 matching lines...) Expand all
36 return adapter->weak_ptr_factory_.GetWeakPtr(); 36 return adapter->weak_ptr_factory_.GetWeakPtr();
37 } 37 }
38 38
39 BluetoothAdapterWin::BluetoothAdapterWin(const InitCallback& init_callback) 39 BluetoothAdapterWin::BluetoothAdapterWin(const InitCallback& init_callback)
40 : BluetoothAdapter(), 40 : BluetoothAdapter(),
41 init_callback_(init_callback), 41 init_callback_(init_callback),
42 initialized_(false), 42 initialized_(false),
43 powered_(false), 43 powered_(false),
44 discovery_status_(NOT_DISCOVERING), 44 discovery_status_(NOT_DISCOVERING),
45 num_discovery_listeners_(0), 45 num_discovery_listeners_(0),
46 weak_ptr_factory_(this) { 46 force_update_device_for_test_(false),
47 } 47 weak_ptr_factory_(this) {}
48 48
49 BluetoothAdapterWin::~BluetoothAdapterWin() { 49 BluetoothAdapterWin::~BluetoothAdapterWin() {
50 if (task_manager_.get()) { 50 if (task_manager_.get()) {
51 task_manager_->RemoveObserver(this); 51 task_manager_->RemoveObserver(this);
52 task_manager_->Shutdown(); 52 task_manager_->Shutdown();
53 } 53 }
54 } 54 }
55 55
56 std::string BluetoothAdapterWin::GetAddress() const { 56 std::string BluetoothAdapterWin::GetAddress() const {
57 return address_; 57 return address_;
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after
277 observers_, 277 observers_,
278 DeviceAdded(this, device_win)); 278 DeviceAdded(this, device_win));
279 } else if (changed_devices.find(device_state->address) != 279 } else if (changed_devices.find(device_state->address) !=
280 changed_devices.end()) { 280 changed_devices.end()) {
281 DevicesMap::const_iterator iter = devices_.find(device_state->address); 281 DevicesMap::const_iterator iter = devices_.find(device_state->address);
282 DCHECK(iter != devices_.end()); 282 DCHECK(iter != devices_.end());
283 BluetoothDeviceWin* device_win = 283 BluetoothDeviceWin* device_win =
284 static_cast<BluetoothDeviceWin*>(iter->second); 284 static_cast<BluetoothDeviceWin*>(iter->second);
285 if (!device_win->IsEqual(*device_state)) { 285 if (!device_win->IsEqual(*device_state)) {
286 device_win->Update(*device_state); 286 device_win->Update(*device_state);
287 FOR_EACH_OBSERVER(BluetoothAdapter::Observer, 287 FOR_EACH_OBSERVER(BluetoothAdapter::Observer, observers_,
288 observers_,
289 DeviceChanged(this, device_win)); 288 DeviceChanged(this, device_win));
290 } 289 }
290 // Above IsEqual returns true if device name, address, status and services
291 // (primary services of BLE device) are the same. However, in BLE tests,
292 // we may simulate characteristic, descriptor and secondary GATT service
293 // after device has been initialized.
294 if (force_update_device_for_test_)
295 device_win->Update(*device_state);
291 } 296 }
292 } 297 }
293 } 298 }
294 299
295 // If the method is called when |discovery_status_| is DISCOVERY_STOPPING, 300 // If the method is called when |discovery_status_| is DISCOVERY_STOPPING,
296 // starting again is handled by BluetoothAdapterWin::DiscoveryStopped(). 301 // starting again is handled by BluetoothAdapterWin::DiscoveryStopped().
297 void BluetoothAdapterWin::AddDiscoverySession( 302 void BluetoothAdapterWin::AddDiscoverySession(
298 BluetoothDiscoveryFilter* discovery_filter, 303 BluetoothDiscoveryFilter* discovery_filter,
299 const base::Closure& callback, 304 const base::Closure& callback,
300 const DiscoverySessionErrorCallback& error_callback) { 305 const DiscoverySessionErrorCallback& error_callback) {
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
369 num_discovery_listeners_ -= on_stop_discovery_callbacks_.size(); 374 num_discovery_listeners_ -= on_stop_discovery_callbacks_.size();
370 on_stop_discovery_callbacks_.clear(); 375 on_stop_discovery_callbacks_.clear();
371 return; 376 return;
372 } 377 }
373 378
374 discovery_status_ = DISCOVERY_STOPPING; 379 discovery_status_ = DISCOVERY_STOPPING;
375 task_manager_->PostStopDiscoveryTask(); 380 task_manager_->PostStopDiscoveryTask();
376 } 381 }
377 382
378 } // namespace device 383 } // namespace device
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698