 Chromium Code Reviews
 Chromium Code Reviews Issue 1165053003:
  Adding support for Low Energy device discovery to BluetoothAdapterMac  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master
    
  
    Issue 1165053003:
  Adding support for Low Energy device discovery to BluetoothAdapterMac  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master| Index: device/bluetooth/bluetooth_low_energy_discovery_manager_mac.mm | 
| diff --git a/device/bluetooth/bluetooth_low_energy_discovery_manager_mac.mm b/device/bluetooth/bluetooth_low_energy_discovery_manager_mac.mm | 
| index 11d40caa6261d6a8db61b30986e5b5ab3fcfbe9e..104911d7c0b5f376e57041c93a4efb76f0048518 100644 | 
| --- a/device/bluetooth/bluetooth_low_energy_discovery_manager_mac.mm | 
| +++ b/device/bluetooth/bluetooth_low_energy_discovery_manager_mac.mm | 
| @@ -79,7 +79,6 @@ class BluetoothLowEnergyDiscoveryManagerMacDelegate { | 
| BluetoothLowEnergyDiscoveryManagerMac:: | 
| ~BluetoothLowEnergyDiscoveryManagerMac() { | 
| - ClearDevices(); | 
| } | 
| bool BluetoothLowEnergyDiscoveryManagerMac::IsDiscovering() const { | 
| @@ -88,7 +87,6 @@ bool BluetoothLowEnergyDiscoveryManagerMac::IsDiscovering() const { | 
| void BluetoothLowEnergyDiscoveryManagerMac::StartDiscovery( | 
| BluetoothDevice::UUIDList services_uuids) { | 
| - ClearDevices(); | 
| discovering_ = true; | 
| pending_ = true; | 
| services_uuids_ = services_uuids; | 
| @@ -137,23 +135,17 @@ void BluetoothLowEnergyDiscoveryManagerMac::DiscoveredPeripheral( | 
| CBPeripheral* peripheral, | 
| NSDictionary* advertisementData, | 
| int rssi) { | 
| - // Look for existing device. | 
| - auto iter = devices_.find( | 
| - BluetoothLowEnergyDeviceMac::GetPeripheralIdentifier(peripheral)); | 
| - if (iter == devices_.end()) { | 
| - // A device has been added. | 
| - BluetoothLowEnergyDeviceMac* device = | 
| - new BluetoothLowEnergyDeviceMac(peripheral, advertisementData, rssi); | 
| - devices_.insert(devices_.begin(), | 
| - std::make_pair(device->GetIdentifier(), device)); | 
| - observer_->DeviceFound(device); | 
| - return; | 
| - } | 
| + observer_->LowEnergyDeviceUpdated(peripheral, advertisementData, rssi); | 
| +} | 
| - // A device has an update. | 
| - BluetoothLowEnergyDeviceMac* old_device = iter->second; | 
| - old_device->Update(peripheral, advertisementData, rssi); | 
| - observer_->DeviceUpdated(old_device); | 
| +void BluetoothLowEnergyDiscoveryManagerMac::SetManager( | 
| + CBCentralManager* manager) { | 
| + // This method should not be called on OS X < 10.7. | 
| 
scheib
2015/06/17 16:55:08
How about, "setDelegate is only available in OSX 1
 
krstnmnlsn
2015/06/17 20:18:41
Done.
 | 
| + if (base::mac::IsOSLionOrLater()) { | 
| + SEL selector = NSSelectorFromString(@"setDelegate:"); | 
| + [manager performSelector:selector withObject:bridge_]; | 
| + manager_.reset(manager); | 
| + } | 
| 
scheib
2015/06/17 16:55:08
Either return a bool indicating if this was succes
 
krstnmnlsn
2015/06/17 20:18:41
I like the CHECK idea.
 | 
| } | 
| BluetoothLowEnergyDiscoveryManagerMac* | 
| @@ -176,7 +168,3 @@ BluetoothLowEnergyDiscoveryManagerMac::BluetoothLowEnergyDiscoveryManagerMac( | 
| } | 
| discovering_ = false; | 
| } | 
| - | 
| -void BluetoothLowEnergyDiscoveryManagerMac::ClearDevices() { | 
| - STLDeleteValues(&devices_); | 
| -} |