Index: device/bluetooth/bluetooth_adapter_mac.mm |
diff --git a/device/bluetooth/bluetooth_adapter_mac.mm b/device/bluetooth/bluetooth_adapter_mac.mm |
index b4b2720a616b0f1dab4c23435d5157a8763b6655..0bff39aaa31ee343ca82ef3a1804d6c60391bbe6 100644 |
--- a/device/bluetooth/bluetooth_adapter_mac.mm |
+++ b/device/bluetooth/bluetooth_adapter_mac.mm |
@@ -24,6 +24,7 @@ |
#include "base/time/time.h" |
#include "device/bluetooth/bluetooth_classic_device_mac.h" |
#include "device/bluetooth/bluetooth_discovery_session.h" |
+#include "device/bluetooth/bluetooth_low_energy_central_manager_delegate.h" |
#include "device/bluetooth/bluetooth_socket_mac.h" |
#include "device/bluetooth/bluetooth_uuid.h" |
@@ -60,9 +61,20 @@ BluetoothAdapterMac::BluetoothAdapterMac() |
classic_discovery_manager_( |
BluetoothDiscoveryManagerMac::CreateClassic(this)), |
weak_ptr_factory_(this) { |
- if (IsLowEnergyAvailable()) |
+ if (IsLowEnergyAvailable()) { |
low_energy_discovery_manager_.reset( |
BluetoothLowEnergyDiscoveryManagerMac::Create(this)); |
+ low_energy_central_manager_delegate_.reset( |
+ [[BluetoothLowEnergyCentralManagerDelegate alloc] |
+ initWithDiscoveryManager:low_energy_discovery_manager_.get() |
+ andAdapter:this]); |
+ Class aClass = NSClassFromString(@"CBCentralManager"); |
+ low_energy_central_manager_.reset([[aClass alloc] |
+ initWithDelegate:low_energy_central_manager_delegate_.get() |
+ queue:dispatch_get_main_queue()]); |
+ low_energy_discovery_manager_->SetCentralManager( |
+ low_energy_central_manager_.get()); |
+ } |
DCHECK(classic_discovery_manager_.get()); |
} |
@@ -439,6 +451,9 @@ void BluetoothAdapterMac::LowEnergyDeviceUpdated( |
DeviceChanged(this, device_reference)); |
} |
+// TODO(krstnmnlsn): Implement. crbug.com/511025 |
+void BluetoothAdapterMac::LowEnergyCentralManagerUpdatedState() {} |
+ |
void BluetoothAdapterMac::RemoveTimedOutDevices() { |
// Notify observers if any previously seen devices are no longer available, |
// i.e. if they are no longer paired, connected, nor recently discovered via |
@@ -474,4 +489,14 @@ void BluetoothAdapterMac::AddPairedDevices() { |
} |
} |
+void BluetoothAdapterMac::SetCentralManagerForTesting( |
+ CBCentralManager* central_manager) { |
+ CHECK(BluetoothAdapterMac::IsLowEnergyAvailable()); |
+ [central_manager performSelector:@selector(setDelegate:) |
+ withObject:low_energy_central_manager_delegate_]; |
+ low_energy_central_manager_.reset(central_manager); |
+ low_energy_discovery_manager_->SetCentralManager( |
+ low_energy_central_manager_.get()); |
+} |
+ |
} // namespace device |