Chromium Code Reviews| 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 53% |
| copy from device/bluetooth/bluetooth_device_mac.h |
| copy to device/bluetooth/bluetooth_low_energy_device_mac.h |
| index 7dd1baedff6f529f43bfaeb81d0d8f30d4fb0c37..1a3357decbfb3604f00a7ab3927974ea00663d3e 100644 |
| --- a/device/bluetooth/bluetooth_device_mac.h |
| +++ b/device/bluetooth/bluetooth_low_energy_device_mac.h |
| @@ -1,92 +1,113 @@ |
| -// 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 TARGET_IPHONE_SIMULATOR || TARGET_OS_IPHONE |
| +#import <CoreBluetooth/CoreBluetooth.h> |
| +#else |
| #import <IOBluetooth/IOBluetooth.h> |
|
armansito
2015/01/24 17:59:37
Does importing IOBluetooth.h on Mac also include t
dvh
2015/01/27 00:14:55
Sure, it will import CoreBluetooth automatically f
armansito
2015/01/29 04:37:18
OK, I just vaguely remember having to directly imp
|
| +#endif |
| -#include <string> |
| - |
| -#include "base/basictypes.h" |
| #include "base/mac/scoped_nsobject.h" |
| -#include "base/observer_list.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; |
| + |
|
armansito
2015/01/24 18:07:09
nit: We usually don't add new lines between overri
dvh
2015/01/27 00:14:55
Done.
|
| + std::string GetIdentifier() const override; |
| - // BluetoothDevice 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; |
| + |
| + virtual int GetRSSI() const; |
| + |
| bool IsPaired() const override; |
| + |
| 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; |
| + |
| void GetConnectionInfo(const ConnectionInfoCallback& callback) override; |
| - void Connect(PairingDelegate* pairing_delegate, |
| - const base::Closure& callback, |
| + |
| + void Connect(PairingDelegate* pairing_delegate, const base::Closure& callback, |
| const ConnectErrorCallback& error_callback) override; |
| + |
| void SetPinCode(const std::string& pincode) override; |
| + |
| void SetPasskey(uint32 passkey) override; |
| + |
| void ConfirmPairing() override; |
| + |
| void RejectPairing() override; |
| + |
| void CancelPairing() override; |
| + |
| void Disconnect(const base::Closure& callback, |
| const ErrorCallback& error_callback) override; |
| + |
| void Forget(const ErrorCallback& error_callback) override; |
| + |
| void ConnectToService( |
| - const BluetoothUUID& uuid, |
| - const ConnectToServiceCallback& callback, |
| + const BluetoothUUID& uuid, 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 |
| std::string GetDeviceName() const override; |
| - private: |
| - friend class BluetoothAdapterMac; |
| + // Updates information about the device. |
| + virtual void Update(CBPeripheral* peripheral, NSDictionary* advertisementData, |
| + int rssi); |
| - // Implementation to read the host's transmit power level of type |
| - // |power_level_type|. |
| - int GetHostTransmitPower( |
| - BluetoothHCITransmitPowerLevelType power_level_type) const; |
| + private: |
| + friend class BluetoothLowEnergyDiscoverManagerMac; |
| - base::scoped_nsobject<IOBluetoothDevice> device_; |
| + // CoreBluetooth data structure. |
| + base::scoped_nsobject<CBPeripheral> peripheral_; |
|
armansito
2015/01/24 18:07:09
nit: Add new lines between member declarations her
dvh
2015/01/27 00:14:55
Done.
|
| + // RSSI value. |
| + int rssi_; |
| + // 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_ |