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

Unified Diff: device/bluetooth/bluez/bluetooth_adapter_bluez.cc

Issue 2567903004: Replace ScopedVector/ScopedPtrHashMap with std::vector and std::unordered_map (Closed)
Patch Set: Mac bustage Created 4 years 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 side-by-side diff with in-line comments
Download patch
Index: device/bluetooth/bluez/bluetooth_adapter_bluez.cc
diff --git a/device/bluetooth/bluez/bluetooth_adapter_bluez.cc b/device/bluetooth/bluez/bluetooth_adapter_bluez.cc
index e1ed672fff233aa616cd97d843953299ad373e1d..9c5639e1c965dbd68f639c2721cb7cfd7cca3ea5 100644
--- a/device/bluetooth/bluez/bluetooth_adapter_bluez.cc
+++ b/device/bluetooth/bluez/bluetooth_adapter_bluez.cc
@@ -509,10 +509,9 @@ void BluetoothAdapterBlueZ::RemovePairingDelegateInternal(
BluetoothDevice::PairingDelegate* pairing_delegate) {
// Check if any device is using the pairing delegate.
// If so, clear the pairing context which will make any responses no-ops.
- for (DevicesMap::const_iterator iter = devices_.begin();
- iter != devices_.end(); ++iter) {
+ for (auto& item : devices_) {
BluetoothDeviceBlueZ* device_bluez =
- static_cast<BluetoothDeviceBlueZ*>(iter->second);
+ static_cast<BluetoothDeviceBlueZ*>(item.second.get());
BluetoothPairingBlueZ* pairing = device_bluez->GetPairing();
if (pairing && pairing->GetPairingDelegate() == pairing_delegate)
@@ -562,28 +561,32 @@ void BluetoothAdapterBlueZ::DeviceAdded(const dbus::ObjectPath& object_path) {
return;
DCHECK(IsPresent());
- BluetoothDeviceBlueZ* device_bluez = new BluetoothDeviceBlueZ(
- this, object_path, ui_task_runner_, socket_thread_);
+ std::unique_ptr<BluetoothDeviceBlueZ> device_bluez(new BluetoothDeviceBlueZ(
+ this, object_path, ui_task_runner_, socket_thread_));
DCHECK(devices_.find(device_bluez->GetAddress()) == devices_.end());
- devices_.set(device_bluez->GetAddress(),
- std::unique_ptr<BluetoothDevice>(device_bluez));
+ auto insertion = devices_.insert(
+ std::make_pair(device_bluez->GetAddress(), std::move(device_bluez)));
+ if (!insertion.second) {
+ return;
+ }
for (auto& observer : observers_)
- observer.DeviceAdded(this, device_bluez);
+ observer.DeviceAdded(this, insertion.first->second.get());
}
void BluetoothAdapterBlueZ::DeviceRemoved(const dbus::ObjectPath& object_path) {
for (DevicesMap::const_iterator iter = devices_.begin();
iter != devices_.end(); ++iter) {
BluetoothDeviceBlueZ* device_bluez =
- static_cast<BluetoothDeviceBlueZ*>(iter->second);
+ static_cast<BluetoothDeviceBlueZ*>(iter->second.get());
if (device_bluez->object_path() == object_path) {
- std::unique_ptr<BluetoothDevice> scoped_device =
- devices_.take_and_erase(iter->first);
for (auto& observer : observers_)
observer.DeviceRemoved(this, device_bluez);
+
+ devices_.erase(iter);
+
return;
}
}
@@ -608,13 +611,18 @@ void BluetoothAdapterBlueZ::DevicePropertyChanged(
VLOG(1) << "Device changed address, old: " << old_address
<< " new: " << device_bluez->GetAddress();
std::unique_ptr<BluetoothDevice> scoped_device =
- devices_.take_and_erase(iter);
- ignore_result(scoped_device.release());
-
- DCHECK(devices_.find(device_bluez->GetAddress()) == devices_.end());
- devices_.set(device_bluez->GetAddress(),
- std::unique_ptr<BluetoothDevice>(device_bluez));
- NotifyDeviceAddressChanged(device_bluez, old_address);
+ std::move(iter->second);
+ devices_.erase(iter);
+
+ DCHECK(devices_.find(scoped_device->GetAddress()) == devices_.end());
+ auto insertion = devices_.insert(std::make_pair(
+ scoped_device->GetAddress(), std::move(scoped_device)));
+ if (!insertion.second) {
+ return;
+ }
+ BluetoothDeviceBlueZ* bluez =
+ static_cast<BluetoothDeviceBlueZ*>(insertion.first->second.get());
+ NotifyDeviceAddressChanged(bluez, old_address);
break;
}
}
@@ -906,7 +914,7 @@ BluetoothDeviceBlueZ* BluetoothAdapterBlueZ::GetDeviceWithPath(
for (DevicesMap::const_iterator iter = devices_.begin();
iter != devices_.end(); ++iter) {
BluetoothDeviceBlueZ* device_bluez =
- static_cast<BluetoothDeviceBlueZ*>(iter->second);
+ static_cast<BluetoothDeviceBlueZ*>(iter->second.get());
if (device_bluez->object_path() == object_path)
return device_bluez;
}
@@ -1041,7 +1049,7 @@ void BluetoothAdapterBlueZ::RemoveAdapter() {
for (auto& iter : devices_swapped) {
for (auto& observer : observers_)
- observer.DeviceRemoved(this, iter.second);
+ observer.DeviceRemoved(this, iter.second.get());
}
PresentChanged(false);

Powered by Google App Engine
This is Rietveld 408576698