| Index: device/bluetooth/bluetooth_device_mac.mm | 
| diff --git a/device/bluetooth/bluetooth_device_mac.mm b/device/bluetooth/bluetooth_device_mac.mm | 
| deleted file mode 100644 | 
| index 63da26493b2f68e401bb83fa57f05edb0e6db454..0000000000000000000000000000000000000000 | 
| --- a/device/bluetooth/bluetooth_device_mac.mm | 
| +++ /dev/null | 
| @@ -1,264 +0,0 @@ | 
| -// Copyright 2013 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_device_mac.h" | 
| - | 
| -#include <string> | 
| - | 
| -#include "base/basictypes.h" | 
| -#include "base/bind.h" | 
| -#include "base/hash.h" | 
| -#include "base/mac/sdk_forward_declarations.h" | 
| -#include "base/sequenced_task_runner.h" | 
| -#include "base/strings/string_number_conversions.h" | 
| -#include "base/strings/string_util.h" | 
| -#include "base/strings/sys_string_conversions.h" | 
| -#include "device/bluetooth/bluetooth_socket_mac.h" | 
| -#include "device/bluetooth/bluetooth_uuid.h" | 
| - | 
| -// Undocumented API for accessing the Bluetooth transmit power level. | 
| -// Similar to the API defined here [ http://goo.gl/20Q5vE ]. | 
| -@interface IOBluetoothHostController (UndocumentedAPI) | 
| -- (IOReturn) | 
| -    BluetoothHCIReadTransmitPowerLevel:(BluetoothConnectionHandle)connection | 
| -                                inType:(BluetoothHCITransmitPowerLevelType)type | 
| -                 outTransmitPowerLevel:(BluetoothHCITransmitPowerLevel*)level; | 
| -@end | 
| - | 
| -namespace device { | 
| -namespace { | 
| - | 
| -const char kApiUnavailable[] = "This API is not implemented on this platform."; | 
| - | 
| -// Returns the first (should be, only) UUID contained within the | 
| -// |service_class_data|. Returns an invalid (empty) UUID if none is found. | 
| -BluetoothUUID ExtractUuid(IOBluetoothSDPDataElement* service_class_data) { | 
| -  NSArray* inner_elements = [service_class_data getArrayValue]; | 
| -  IOBluetoothSDPUUID* sdp_uuid = nil; | 
| -  for (IOBluetoothSDPDataElement* inner_element in inner_elements) { | 
| -    if ([inner_element getTypeDescriptor] == kBluetoothSDPDataElementTypeUUID) { | 
| -      sdp_uuid = [[inner_element getUUIDValue] getUUIDWithLength:16]; | 
| -      break; | 
| -    } | 
| -  } | 
| - | 
| -  if (!sdp_uuid) | 
| -    return BluetoothUUID(); | 
| - | 
| -  const uint8* uuid_bytes = reinterpret_cast<const uint8*>([sdp_uuid bytes]); | 
| -  std::string uuid_str = base::HexEncode(uuid_bytes, 16); | 
| -  DCHECK_EQ(uuid_str.size(), 32U); | 
| -  uuid_str.insert(8, "-"); | 
| -  uuid_str.insert(13, "-"); | 
| -  uuid_str.insert(18, "-"); | 
| -  uuid_str.insert(23, "-"); | 
| -  return BluetoothUUID(uuid_str); | 
| -} | 
| - | 
| -}  // namespace | 
| - | 
| -BluetoothDeviceMac::BluetoothDeviceMac(IOBluetoothDevice* device) | 
| -    : device_([device retain]) { | 
| -} | 
| - | 
| -BluetoothDeviceMac::~BluetoothDeviceMac() { | 
| -} | 
| - | 
| -uint32 BluetoothDeviceMac::GetBluetoothClass() const { | 
| -  return [device_ classOfDevice]; | 
| -} | 
| - | 
| -std::string BluetoothDeviceMac::GetDeviceName() const { | 
| -  return base::SysNSStringToUTF8([device_ name]); | 
| -} | 
| - | 
| -std::string BluetoothDeviceMac::GetAddress() const { | 
| -  return GetDeviceAddress(device_); | 
| -} | 
| - | 
| -BluetoothDevice::VendorIDSource BluetoothDeviceMac::GetVendorIDSource() const { | 
| -  return VENDOR_ID_UNKNOWN; | 
| -} | 
| - | 
| -uint16 BluetoothDeviceMac::GetVendorID() const { | 
| -  return 0; | 
| -} | 
| - | 
| -uint16 BluetoothDeviceMac::GetProductID() const { | 
| -  return 0; | 
| -} | 
| - | 
| -uint16 BluetoothDeviceMac::GetDeviceID() const { | 
| -  return 0; | 
| -} | 
| - | 
| -bool BluetoothDeviceMac::IsPaired() const { | 
| -  return [device_ isPaired]; | 
| -} | 
| - | 
| -bool BluetoothDeviceMac::IsConnected() const { | 
| -  return [device_ isConnected]; | 
| -} | 
| - | 
| -bool BluetoothDeviceMac::IsConnectable() const { | 
| -  return false; | 
| -} | 
| - | 
| -bool BluetoothDeviceMac::IsConnecting() const { | 
| -  return false; | 
| -} | 
| - | 
| -BluetoothDevice::UUIDList BluetoothDeviceMac::GetUUIDs() const { | 
| -  UUIDList uuids; | 
| -  for (IOBluetoothSDPServiceRecord* service_record in [device_ services]) { | 
| -    IOBluetoothSDPDataElement* service_class_data = | 
| -        [service_record getAttributeDataElement: | 
| -            kBluetoothSDPAttributeIdentifierServiceClassIDList]; | 
| -    if ([service_class_data getTypeDescriptor] == | 
| -            kBluetoothSDPDataElementTypeDataElementSequence) { | 
| -      BluetoothUUID uuid = ExtractUuid(service_class_data); | 
| -      if (uuid.IsValid()) | 
| -        uuids.push_back(uuid); | 
| -    } | 
| -  } | 
| -  return uuids; | 
| -} | 
| - | 
| -int16 BluetoothDeviceMac::GetInquiryRSSI() const { | 
| -  return kUnknownPower; | 
| -} | 
| - | 
| -int16 BluetoothDeviceMac::GetInquiryTxPower() const { | 
| -  NOTIMPLEMENTED(); | 
| -  return kUnknownPower; | 
| -} | 
| - | 
| -bool BluetoothDeviceMac::ExpectingPinCode() const { | 
| -  NOTIMPLEMENTED(); | 
| -  return false; | 
| -} | 
| - | 
| -bool BluetoothDeviceMac::ExpectingPasskey() const { | 
| -  NOTIMPLEMENTED(); | 
| -  return false; | 
| -} | 
| - | 
| -bool BluetoothDeviceMac::ExpectingConfirmation() const { | 
| -  NOTIMPLEMENTED(); | 
| -  return false; | 
| -} | 
| - | 
| -void BluetoothDeviceMac::GetConnectionInfo( | 
| -    const ConnectionInfoCallback& callback) { | 
| -  ConnectionInfo connection_info; | 
| -  if (![device_ isConnected]) { | 
| -    callback.Run(connection_info); | 
| -    return; | 
| -  } | 
| - | 
| -  connection_info.rssi = [device_ rawRSSI]; | 
| -  // The API guarantees that +127 is returned in case the RSSI is not readable: | 
| -  // http://goo.gl/bpURYv | 
| -  if (connection_info.rssi == 127) | 
| -    connection_info.rssi = kUnknownPower; | 
| - | 
| -  connection_info.transmit_power = | 
| -      GetHostTransmitPower(kReadCurrentTransmitPowerLevel); | 
| -  connection_info.max_transmit_power = | 
| -      GetHostTransmitPower(kReadMaximumTransmitPowerLevel); | 
| - | 
| -  callback.Run(connection_info); | 
| -} | 
| - | 
| -void BluetoothDeviceMac::Connect( | 
| -    PairingDelegate* pairing_delegate, | 
| -    const base::Closure& callback, | 
| -    const ConnectErrorCallback& error_callback) { | 
| -  NOTIMPLEMENTED(); | 
| -} | 
| - | 
| -void BluetoothDeviceMac::SetPinCode(const std::string& pincode) { | 
| -  NOTIMPLEMENTED(); | 
| -} | 
| - | 
| -void BluetoothDeviceMac::SetPasskey(uint32 passkey) { | 
| -  NOTIMPLEMENTED(); | 
| -} | 
| - | 
| -void BluetoothDeviceMac::ConfirmPairing() { | 
| -  NOTIMPLEMENTED(); | 
| -} | 
| - | 
| -void BluetoothDeviceMac::RejectPairing() { | 
| -  NOTIMPLEMENTED(); | 
| -} | 
| - | 
| -void BluetoothDeviceMac::CancelPairing() { | 
| -  NOTIMPLEMENTED(); | 
| -} | 
| - | 
| -void BluetoothDeviceMac::Disconnect(const base::Closure& callback, | 
| -                                    const ErrorCallback& error_callback) { | 
| -  NOTIMPLEMENTED(); | 
| -} | 
| - | 
| -void BluetoothDeviceMac::Forget(const ErrorCallback& error_callback) { | 
| -  NOTIMPLEMENTED(); | 
| -} | 
| - | 
| -void BluetoothDeviceMac::ConnectToService( | 
| -    const BluetoothUUID& uuid, | 
| -    const ConnectToServiceCallback& callback, | 
| -    const ConnectToServiceErrorCallback& error_callback) { | 
| -  scoped_refptr<BluetoothSocketMac> socket = BluetoothSocketMac::CreateSocket(); | 
| -  socket->Connect( | 
| -      device_.get(), uuid, base::Bind(callback, socket), error_callback); | 
| -} | 
| - | 
| -void BluetoothDeviceMac::ConnectToServiceInsecurely( | 
| -      const BluetoothUUID& uuid, | 
| -      const ConnectToServiceCallback& callback, | 
| -      const ConnectToServiceErrorCallback& error_callback) { | 
| -  error_callback.Run(kApiUnavailable); | 
| -} | 
| - | 
| -void BluetoothDeviceMac::CreateGattConnection( | 
| -      const GattConnectionCallback& callback, | 
| -      const ConnectErrorCallback& error_callback) { | 
| -  // TODO(armansito): Implement. | 
| -  error_callback.Run(ERROR_UNSUPPORTED_DEVICE); | 
| -} | 
| - | 
| -NSDate* BluetoothDeviceMac::GetLastInquiryUpdate() { | 
| -  return [device_ getLastInquiryUpdate]; | 
| -} | 
| - | 
| -int BluetoothDeviceMac::GetHostTransmitPower( | 
| -    BluetoothHCITransmitPowerLevelType power_level_type) const { | 
| -  IOBluetoothHostController* controller = | 
| -      [IOBluetoothHostController defaultController]; | 
| - | 
| -  // Bail if the undocumented API is unavailable on this machine. | 
| -  SEL selector = @selector( | 
| -      BluetoothHCIReadTransmitPowerLevel:inType:outTransmitPowerLevel:); | 
| -  if (![controller respondsToSelector:selector]) | 
| -    return kUnknownPower; | 
| - | 
| -  BluetoothHCITransmitPowerLevel power_level; | 
| -  IOReturn result = | 
| -      [controller BluetoothHCIReadTransmitPowerLevel:[device_ connectionHandle] | 
| -                                              inType:power_level_type | 
| -                               outTransmitPowerLevel:&power_level]; | 
| -  if (result != kIOReturnSuccess) | 
| -    return kUnknownPower; | 
| - | 
| -  return power_level; | 
| -} | 
| - | 
| -// static | 
| -std::string BluetoothDeviceMac::GetDeviceAddress(IOBluetoothDevice* device) { | 
| -  return CanonicalizeAddress(base::SysNSStringToUTF8([device addressString])); | 
| -} | 
| - | 
| -}  // namespace device | 
|  |