Index: device/bluetooth/bluetooth_low_energy_device_mac.h |
diff --git a/device/bluetooth/bluetooth_device_mac.h b/device/bluetooth/bluetooth_low_energy_device_mac.h |
similarity index 56% |
copy from device/bluetooth/bluetooth_device_mac.h |
copy to device/bluetooth/bluetooth_low_energy_device_mac.h |
index 7dd1baedff6f529f43bfaeb81d0d8f30d4fb0c37..bb5ffca6a89a01316b646f5e317bac04c1d20af7 100644 |
--- a/device/bluetooth/bluetooth_device_mac.h |
+++ b/device/bluetooth/bluetooth_low_energy_device_mac.h |
@@ -1,32 +1,38 @@ |
-// Copyright 2013 The Chromium Authors. All rights reserved. |
+// 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. |
-#ifndef DEVICE_BLUETOOTH_BLUETOOTH_DEVICE_MAC_H_ |
-#define DEVICE_BLUETOOTH_BLUETOOTH_DEVICE_MAC_H_ |
+#ifndef DEVICE_BLUETOOTH_BLUETOOTH_LOW_ENERGY_DEVICE_MAC_H_ |
+#define DEVICE_BLUETOOTH_BLUETOOTH_LOW_ENERGY_DEVICE_MAC_H_ |
+#if defined(OS_IOS) |
+#import <CoreBluetooth/CoreBluetooth.h> |
+#else |
#import <IOBluetooth/IOBluetooth.h> |
+#endif |
-#include <string> |
- |
-#include "base/basictypes.h" |
#include "base/mac/scoped_nsobject.h" |
-#include "base/observer_list.h" |
+#include "base/mac/sdk_forward_declarations.h" |
#include "device/bluetooth/bluetooth_device.h" |
-@class IOBluetoothDevice; |
- |
namespace device { |
-class BluetoothDeviceMac : public BluetoothDevice { |
+class BluetoothLowEnergyDiscoverManagerMac; |
+ |
+class BluetoothLowEnergyDeviceMac : public BluetoothDevice { |
public: |
- explicit BluetoothDeviceMac(IOBluetoothDevice* device); |
- ~BluetoothDeviceMac() override; |
+ BluetoothLowEnergyDeviceMac(CBPeripheral* peripheral, |
+ NSDictionary* advertisementData, |
+ int rssi); |
+ ~BluetoothLowEnergyDeviceMac() override; |
- // BluetoothDevice override |
+ int GetRSSI() const; |
+ |
+ // BluetoothDevice overrides. |
+ std::string GetIdentifier() const override; |
uint32 GetBluetoothClass() const override; |
std::string GetAddress() const override; |
- VendorIDSource GetVendorIDSource() const override; |
+ BluetoothDevice::VendorIDSource GetVendorIDSource() const override; |
uint16 GetVendorID() const override; |
uint16 GetProductID() const override; |
uint16 GetDeviceID() const override; |
@@ -34,7 +40,7 @@ class BluetoothDeviceMac : public BluetoothDevice { |
bool IsConnected() const override; |
bool IsConnectable() const override; |
bool IsConnecting() const override; |
- UUIDList GetUUIDs() const override; |
+ BluetoothDevice::UUIDList GetUUIDs() const override; |
bool ExpectingPinCode() const override; |
bool ExpectingPasskey() const override; |
bool ExpectingConfirmation() const override; |
@@ -55,38 +61,39 @@ class BluetoothDeviceMac : public BluetoothDevice { |
const ConnectToServiceCallback& callback, |
const ConnectToServiceErrorCallback& error_callback) override; |
void ConnectToServiceInsecurely( |
- const BluetoothUUID& uuid, |
+ const device::BluetoothUUID& uuid, |
const ConnectToServiceCallback& callback, |
const ConnectToServiceErrorCallback& error_callback) override; |
void CreateGattConnection( |
const GattConnectionCallback& callback, |
const ConnectErrorCallback& error_callback) override; |
- // Returns the timestamp when the device was last seen during an inquiry. |
- // Returns nil if the device has never been seen during an inquiry. |
- NSDate* GetLastInquiryUpdate(); |
- |
- // Returns the Bluetooth address for the |device|. The returned address has a |
- // normalized format (see below). |
- static std::string GetDeviceAddress(IOBluetoothDevice* device); |
- |
protected: |
- // BluetoothDevice override |
+ // BluetoothDevice override. |
std::string GetDeviceName() const override; |
+ // Updates information about the device. |
+ virtual void Update(CBPeripheral* peripheral, |
+ NSDictionary* advertisementData, |
+ int rssi); |
+ |
+ static std::string GetPeripheralIdentifier(CBPeripheral* peripheral); |
+ |
private: |
- friend class BluetoothAdapterMac; |
+ friend class BluetoothLowEnergyDiscoveryManagerMac; |
+ |
+ // CoreBluetooth data structure. |
+ base::scoped_nsobject<CBPeripheral> peripheral_; |
- // Implementation to read the host's transmit power level of type |
- // |power_level_type|. |
- int GetHostTransmitPower( |
- BluetoothHCITransmitPowerLevelType power_level_type) const; |
+ // RSSI value. |
+ int rssi_; |
- base::scoped_nsobject<IOBluetoothDevice> device_; |
+ // Whether the device is connectable. |
+ bool connectable_; |
- DISALLOW_COPY_AND_ASSIGN(BluetoothDeviceMac); |
+ DISALLOW_COPY_AND_ASSIGN(BluetoothLowEnergyDeviceMac); |
}; |
} // namespace device |
-#endif // DEVICE_BLUETOOTH_BLUETOOTH_DEVICE_MAC_H_ |
+#endif // DEVICE_BLUETOOTH_BLUETOOTH_LOW_ENERGY_DEVICE_MAC_H_ |