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

Unified Diff: device/bluetooth/bluetooth_low_energy_discovery_manager_mac.mm

Issue 871843009: Revert of Added bluetooth LE support on Mac platform (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « device/bluetooth/bluetooth_low_energy_discovery_manager_mac.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
deleted file mode 100644
index 1d7e409c81cd864d7935326d8b8f4583cd312587..0000000000000000000000000000000000000000
--- a/device/bluetooth/bluetooth_low_energy_discovery_manager_mac.mm
+++ /dev/null
@@ -1,180 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "device/bluetooth/bluetooth_low_energy_discovery_manager_mac.h"
-
-#include "base/mac/mac_util.h"
-#include "base/memory/scoped_ptr.h"
-#include "base/strings/sys_string_conversions.h"
-#include "device/bluetooth/bluetooth_low_energy_device_mac.h"
-
-using device::BluetoothLowEnergyDeviceMac;
-using device::BluetoothLowEnergyDiscoveryManagerMac;
-using device::BluetoothLowEnergyDiscoveryManagerMacDelegate;
-
-namespace device {
-
-// This class is a helper to call some protected methods in
-// BluetoothLowEnergyDiscoveryManagerMac.
-class BluetoothLowEnergyDiscoveryManagerMacDelegate {
- public:
- BluetoothLowEnergyDiscoveryManagerMacDelegate(
- BluetoothLowEnergyDiscoveryManagerMac* manager)
- : manager_(manager) {}
-
- virtual ~BluetoothLowEnergyDiscoveryManagerMacDelegate() {}
-
- virtual void DiscoveredPeripheral(CBPeripheral* peripheral,
- NSDictionary* advertisementData,
- int rssi) {
- manager_->DiscoveredPeripheral(peripheral, advertisementData, rssi);
- }
-
- virtual void TryStartDiscovery() { manager_->TryStartDiscovery(); }
-
- private:
- BluetoothLowEnergyDiscoveryManagerMac* manager_;
-};
-
-} // namespace device
-
-// This class will serve as the Objective-C delegate of CBCentralManager.
-@interface BluetoothLowEnergyDiscoveryManagerMacBridge
- : NSObject<CBCentralManagerDelegate>
-
-- (id)initWithManager:(BluetoothLowEnergyDiscoveryManagerMac*)manager;
-
-@end
-
-@implementation BluetoothLowEnergyDiscoveryManagerMacBridge {
- BluetoothLowEnergyDiscoveryManagerMac* manager_;
- scoped_ptr<BluetoothLowEnergyDiscoveryManagerMacDelegate> delegate_;
-}
-
-- (id)initWithManager:(BluetoothLowEnergyDiscoveryManagerMac*)manager {
- if ((self = [super init])) {
- manager_ = manager;
- delegate_.reset(
- new BluetoothLowEnergyDiscoveryManagerMacDelegate(manager_));
- }
- return self;
-}
-
-- (void)centralManager:(CBCentralManager*)central
- didDiscoverPeripheral:(CBPeripheral*)peripheral
- advertisementData:(NSDictionary*)advertisementData
- RSSI:(NSNumber*)RSSI {
- // Notifies the discovery of a device.
- delegate_->DiscoveredPeripheral(peripheral, advertisementData,
- [RSSI intValue]);
-}
-
-- (void)centralManagerDidUpdateState:(CBCentralManager*)central {
- // Notifies when the powered state of the central manager changed.
- delegate_->TryStartDiscovery();
-}
-
-@end
-
-BluetoothLowEnergyDiscoveryManagerMac::
- ~BluetoothLowEnergyDiscoveryManagerMac() {
- ClearDevices();
-}
-
-bool BluetoothLowEnergyDiscoveryManagerMac::IsDiscovering() const {
- return discovering_;
-}
-
-void BluetoothLowEnergyDiscoveryManagerMac::StartDiscovery(
- BluetoothDevice::UUIDList services_uuids) {
- ClearDevices();
- discovering_ = true;
- pending_ = true;
- services_uuids_ = services_uuids;
- TryStartDiscovery();
-}
-
-void BluetoothLowEnergyDiscoveryManagerMac::TryStartDiscovery() {
- if (!discovering_) {
- return;
- }
-
- if (!pending_) {
- return;
- }
-
- // Can only start if the bluetooth power is turned on.
- if ([manager_ state] != CBCentralManagerStatePoweredOn) {
- return;
- }
-
- // Converts the services UUIDs to a CoreBluetooth data structure.
- NSMutableArray* services = nil;
- if (!services_uuids_.empty()) {
- services = [NSMutableArray array];
- for (auto& service_uuid : services_uuids_) {
- NSString* uuidString =
- base::SysUTF8ToNSString(service_uuid.canonical_value().c_str());
- CBUUID* uuid = [CBUUID UUIDWithString:uuidString];
- [services addObject:uuid];
- }
- }
-
- [manager_ scanForPeripheralsWithServices:services options:nil];
- pending_ = false;
-}
-
-void BluetoothLowEnergyDiscoveryManagerMac::StopDiscovery() {
- if (discovering_ && !pending_) {
- [manager_ stopScan];
- }
- discovering_ = false;
-}
-
-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;
- }
-
- // A device has an update.
- BluetoothLowEnergyDeviceMac* old_device = iter->second;
- old_device->Update(peripheral, advertisementData, rssi);
- observer_->DeviceUpdated(old_device);
-}
-
-BluetoothLowEnergyDiscoveryManagerMac*
-BluetoothLowEnergyDiscoveryManagerMac::Create(Observer* observer) {
- return new BluetoothLowEnergyDiscoveryManagerMac(observer);
-}
-
-BluetoothLowEnergyDiscoveryManagerMac::BluetoothLowEnergyDiscoveryManagerMac(
- Observer* observer)
- : observer_(observer) {
- bridge_.reset([[BluetoothLowEnergyDiscoveryManagerMacBridge alloc]
- initWithManager:this]);
- // Since CoreBluetooth is only available on OS X 10.7 or later, we
- // instantiate CBCentralManager only for OS X >= 10.7.
- if (base::mac::IsOSLionOrLater()) {
- manager_.reset(
- [[CBCentralManager alloc] initWithDelegate:bridge_
- queue:dispatch_get_main_queue()]);
- }
- discovering_ = false;
-}
-
-void BluetoothLowEnergyDiscoveryManagerMac::ClearDevices() {
- STLDeleteValues(&devices_);
-}
« no previous file with comments | « device/bluetooth/bluetooth_low_energy_discovery_manager_mac.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698