Index: device/bluetooth/bluetooth_device_mac.mm |
diff --git a/device/bluetooth/bluetooth_device_mac.mm b/device/bluetooth/bluetooth_device_mac.mm |
index a2f3274dbf8ec525f52ebfb4acbf25b68012020b..2b1e1c3d2b99e1cd64fca183177193766ff9f58d 100644 |
--- a/device/bluetooth/bluetooth_device_mac.mm |
+++ b/device/bluetooth/bluetooth_device_mac.mm |
@@ -6,7 +6,8 @@ |
#include "device/bluetooth/bluetooth_adapter_mac.h" |
-static NSString* const kErrorDomain = @"ConnectErrorCode"; |
+static NSString* const kConnectErrorDomain = @"ConnectErrorCode"; |
+static NSString* const kGattErrorDomain = @"GattErrorCode"; |
namespace device { |
@@ -19,12 +20,14 @@ BluetoothDeviceMac::~BluetoothDeviceMac() { |
NSError* BluetoothDeviceMac::GetNSErrorFromConnectErrorCode( |
BluetoothDevice::ConnectErrorCode error_code) { |
// TODO(http://crbug.com/585894): Need to convert the error. |
- return [NSError errorWithDomain:kErrorDomain code:error_code userInfo:nil]; |
+ return [NSError errorWithDomain:kConnectErrorDomain |
+ code:error_code |
+ userInfo:nil]; |
} |
BluetoothDevice::ConnectErrorCode |
BluetoothDeviceMac::GetConnectErrorCodeFromNSError(NSError* error) { |
- if ([error.domain isEqualToString:kErrorDomain]) { |
+ if ([error.domain isEqualToString:kConnectErrorDomain]) { |
BluetoothDevice::ConnectErrorCode connect_error_code = |
(BluetoothDevice::ConnectErrorCode)error.code; |
if (connect_error_code >= 0 || |
@@ -38,4 +41,29 @@ BluetoothDeviceMac::GetConnectErrorCodeFromNSError(NSError* error) { |
return BluetoothDevice::ERROR_FAILED; |
} |
+NSError* BluetoothDeviceMac::GetNSErrorFromGattErrorCode( |
+ BluetoothGattService::GattErrorCode error_code) { |
+ // TODO(http://crbug.com/619595): Need to convert the GattErrorCode vale to |
+ // a CBError value. |
+ return |
+ [NSError errorWithDomain:kGattErrorDomain code:error_code userInfo:nil]; |
+} |
+ |
+BluetoothGattService::GattErrorCode |
+BluetoothDeviceMac::GetGattErrorCodeFromNSError(NSError* error) { |
+ if ([error.domain isEqualToString:kGattErrorDomain]) { |
+ BluetoothGattService::GattErrorCode gatt_error_code = |
+ (BluetoothGattService::GattErrorCode)error.code; |
+ if (gatt_error_code >= 0 || |
+ gatt_error_code <= BluetoothGattService::GATT_ERROR_NOT_SUPPORTED) { |
+ return gatt_error_code; |
+ } |
+ NOTREACHED(); |
+ return BluetoothGattService::GATT_ERROR_FAILED; |
+ } |
+ // TODO(http://crbug.com/619595): Need to convert the error code from |
+ // CoreBluetooth to a GattErrorCode value. |
+ return BluetoothGattService::GATT_ERROR_FAILED; |
+} |
+ |
} // namespace device |