OLD | NEW |
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.h" | 5 #include "device/bluetooth/bluetooth_adapter.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
115 BluetoothDevice* BluetoothAdapter::GetDevice(const std::string& address) { | 115 BluetoothDevice* BluetoothAdapter::GetDevice(const std::string& address) { |
116 return const_cast<BluetoothDevice *>( | 116 return const_cast<BluetoothDevice *>( |
117 const_cast<const BluetoothAdapter *>(this)->GetDevice(address)); | 117 const_cast<const BluetoothAdapter *>(this)->GetDevice(address)); |
118 } | 118 } |
119 | 119 |
120 const BluetoothDevice* BluetoothAdapter::GetDevice( | 120 const BluetoothDevice* BluetoothAdapter::GetDevice( |
121 const std::string& address) const { | 121 const std::string& address) const { |
122 std::string canonicalized_address = | 122 std::string canonicalized_address = |
123 BluetoothDevice::CanonicalizeAddress(address); | 123 BluetoothDevice::CanonicalizeAddress(address); |
124 if (canonicalized_address.empty()) | 124 if (canonicalized_address.empty()) |
125 return NULL; | 125 return nullptr; |
126 | 126 |
127 DevicesMap::const_iterator iter = devices_.find(canonicalized_address); | 127 DevicesMap::const_iterator iter = devices_.find(canonicalized_address); |
128 if (iter != devices_.end()) | 128 if (iter != devices_.end()) |
129 return iter->second; | 129 return iter->second; |
130 | 130 |
131 return NULL; | 131 return nullptr; |
132 } | 132 } |
133 | 133 |
134 void BluetoothAdapter::AddPairingDelegate( | 134 void BluetoothAdapter::AddPairingDelegate( |
135 BluetoothDevice::PairingDelegate* pairing_delegate, | 135 BluetoothDevice::PairingDelegate* pairing_delegate, |
136 PairingDelegatePriority priority) { | 136 PairingDelegatePriority priority) { |
137 // Remove the delegate, if it already exists, before inserting to allow a | 137 // Remove the delegate, if it already exists, before inserting to allow a |
138 // change of priority. | 138 // change of priority. |
139 RemovePairingDelegate(pairing_delegate); | 139 RemovePairingDelegate(pairing_delegate); |
140 | 140 |
141 // Find the first point with a lower priority, or the end of the list. | 141 // Find the first point with a lower priority, or the end of the list. |
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
376 if (device->IsPaired() || device->IsConnected() || | 376 if (device->IsPaired() || device->IsConnected() || |
377 device->IsGattConnected()) { | 377 device->IsGattConnected()) { |
378 ++it; | 378 ++it; |
379 continue; | 379 continue; |
380 } | 380 } |
381 | 381 |
382 base::Time last_update_time = device->GetLastUpdateTime(); | 382 base::Time last_update_time = device->GetLastUpdateTime(); |
383 | 383 |
384 bool device_expired = | 384 bool device_expired = |
385 (base::Time::NowFromSystemTime() - last_update_time) > timeoutSec; | 385 (base::Time::NowFromSystemTime() - last_update_time) > timeoutSec; |
386 VLOG(1) << "device: " << device->GetAddress() | 386 VLOG(3) << "device: " << device->GetAddress() |
387 << ", last_update: " << last_update_time | 387 << ", last_update: " << last_update_time |
388 << ", exp: " << device_expired; | 388 << ", exp: " << device_expired; |
389 | 389 |
390 if (!device_expired) { | 390 if (!device_expired) { |
391 ++it; | 391 ++it; |
392 continue; | 392 continue; |
393 } | 393 } |
| 394 |
| 395 VLOG(1) << "Removing device: " << device->GetAddress(); |
394 DevicesMap::iterator next = it; | 396 DevicesMap::iterator next = it; |
395 next++; | 397 next++; |
396 std::unique_ptr<BluetoothDevice> removed_device = | 398 std::unique_ptr<BluetoothDevice> removed_device = |
397 devices_.take_and_erase(it); | 399 devices_.take_and_erase(it); |
398 it = next; | 400 it = next; |
399 | 401 |
400 FOR_EACH_OBSERVER(BluetoothAdapter::Observer, observers_, | 402 FOR_EACH_OBSERVER(BluetoothAdapter::Observer, observers_, |
401 DeviceRemoved(this, removed_device.get())); | 403 DeviceRemoved(this, removed_device.get())); |
402 } | 404 } |
403 } | 405 } |
(...skipping 12 matching lines...) Expand all Loading... |
416 UMA_HISTOGRAM_ENUMERATION( | 418 UMA_HISTOGRAM_ENUMERATION( |
417 "Bluetooth.DiscoverySession.Stop.Outcome", static_cast<int>(outcome), | 419 "Bluetooth.DiscoverySession.Stop.Outcome", static_cast<int>(outcome), |
418 static_cast<int>(UMABluetoothDiscoverySessionOutcome::COUNT)); | 420 static_cast<int>(UMABluetoothDiscoverySessionOutcome::COUNT)); |
419 } | 421 } |
420 | 422 |
421 // static | 423 // static |
422 const base::TimeDelta BluetoothAdapter::timeoutSec = | 424 const base::TimeDelta BluetoothAdapter::timeoutSec = |
423 base::TimeDelta::FromSeconds(180); | 425 base::TimeDelta::FromSeconds(180); |
424 | 426 |
425 } // namespace device | 427 } // namespace device |
OLD | NEW |