| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "device/bluetooth/dbus/bluetooth_device_client.h" | 5 #include "device/bluetooth/dbus/bluetooth_device_client.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 47 // Fall through. | 47 // Fall through. |
| 48 case bluez::BluetoothServiceAttributeValueBlueZ::INT: { | 48 case bluez::BluetoothServiceAttributeValueBlueZ::INT: { |
| 49 switch (size) { | 49 switch (size) { |
| 50 // It doesn't matter what 'sign' the number is, only size. | 50 // It doesn't matter what 'sign' the number is, only size. |
| 51 // Whenever we unpack this value, we will take the raw bits and | 51 // Whenever we unpack this value, we will take the raw bits and |
| 52 // cast it back to the correct sign anyway. | 52 // cast it back to the correct sign anyway. |
| 53 case 1: | 53 case 1: |
| 54 uint8_t byte; | 54 uint8_t byte; |
| 55 if (!struct_reader->PopVariantOfByte(&byte)) | 55 if (!struct_reader->PopVariantOfByte(&byte)) |
| 56 return nullptr; | 56 return nullptr; |
| 57 value = base::MakeUnique<base::FundamentalValue>(byte); | 57 value = base::MakeUnique<base::Value>(byte); |
| 58 break; | 58 break; |
| 59 case 2: | 59 case 2: |
| 60 uint16_t short_val; | 60 uint16_t short_val; |
| 61 if (!struct_reader->PopVariantOfUint16(&short_val)) | 61 if (!struct_reader->PopVariantOfUint16(&short_val)) |
| 62 return nullptr; | 62 return nullptr; |
| 63 value = base::MakeUnique<base::FundamentalValue>(short_val); | 63 value = base::MakeUnique<base::Value>(short_val); |
| 64 break; | 64 break; |
| 65 case 4: | 65 case 4: |
| 66 uint32_t val; | 66 uint32_t val; |
| 67 if (!struct_reader->PopVariantOfUint32(&val)) | 67 if (!struct_reader->PopVariantOfUint32(&val)) |
| 68 return nullptr; | 68 return nullptr; |
| 69 value = base::MakeUnique<base::FundamentalValue>( | 69 value = base::MakeUnique<base::Value>(static_cast<int32_t>(val)); |
| 70 static_cast<int32_t>(val)); | |
| 71 break; | 70 break; |
| 72 case 8: | 71 case 8: |
| 73 // Fall through. | 72 // Fall through. |
| 74 // BlueZ should never be sending us this size at the moment since | 73 // BlueZ should never be sending us this size at the moment since |
| 75 // the Android SDP records we will create from these raw records | 74 // the Android SDP records we will create from these raw records |
| 76 // don't have any fields which use this size. If we ever decide to | 75 // don't have any fields which use this size. If we ever decide to |
| 77 // change this, this needs to get fixed. | 76 // change this, this needs to get fixed. |
| 78 default: | 77 default: |
| 79 NOTREACHED(); | 78 NOTREACHED(); |
| 80 } | 79 } |
| 81 break; | 80 break; |
| 82 } | 81 } |
| 83 case bluez::BluetoothServiceAttributeValueBlueZ::UUID: | 82 case bluez::BluetoothServiceAttributeValueBlueZ::UUID: |
| 84 // Fall through. | 83 // Fall through. |
| 85 case bluez::BluetoothServiceAttributeValueBlueZ::STRING: | 84 case bluez::BluetoothServiceAttributeValueBlueZ::STRING: |
| 86 // Fall through. | 85 // Fall through. |
| 87 case bluez::BluetoothServiceAttributeValueBlueZ::URL: { | 86 case bluez::BluetoothServiceAttributeValueBlueZ::URL: { |
| 88 std::string str; | 87 std::string str; |
| 89 if (!struct_reader->PopVariantOfString(&str)) | 88 if (!struct_reader->PopVariantOfString(&str)) |
| 90 return nullptr; | 89 return nullptr; |
| 91 value = base::MakeUnique<base::StringValue>(str); | 90 value = base::MakeUnique<base::StringValue>(str); |
| 92 break; | 91 break; |
| 93 } | 92 } |
| 94 case bluez::BluetoothServiceAttributeValueBlueZ::BOOL: { | 93 case bluez::BluetoothServiceAttributeValueBlueZ::BOOL: { |
| 95 bool b; | 94 bool b; |
| 96 if (!struct_reader->PopVariantOfBool(&b)) | 95 if (!struct_reader->PopVariantOfBool(&b)) |
| 97 return nullptr; | 96 return nullptr; |
| 98 value = base::MakeUnique<base::FundamentalValue>(b); | 97 value = base::MakeUnique<base::Value>(b); |
| 99 break; | 98 break; |
| 100 } | 99 } |
| 101 case bluez::BluetoothServiceAttributeValueBlueZ::SEQUENCE: { | 100 case bluez::BluetoothServiceAttributeValueBlueZ::SEQUENCE: { |
| 102 dbus::MessageReader variant_reader(nullptr); | 101 dbus::MessageReader variant_reader(nullptr); |
| 103 if (!struct_reader->PopVariant(&variant_reader)) | 102 if (!struct_reader->PopVariant(&variant_reader)) |
| 104 return nullptr; | 103 return nullptr; |
| 105 dbus::MessageReader array_reader(nullptr); | 104 dbus::MessageReader array_reader(nullptr); |
| 106 if (!variant_reader.PopArray(&array_reader)) | 105 if (!variant_reader.PopArray(&array_reader)) |
| 107 return nullptr; | 106 return nullptr; |
| 108 std::unique_ptr<BluetoothServiceAttributeValueBlueZ::Sequence> sequence = | 107 std::unique_ptr<BluetoothServiceAttributeValueBlueZ::Sequence> sequence = |
| (...skipping 458 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 567 | 566 |
| 568 BluetoothDeviceClient::BluetoothDeviceClient() {} | 567 BluetoothDeviceClient::BluetoothDeviceClient() {} |
| 569 | 568 |
| 570 BluetoothDeviceClient::~BluetoothDeviceClient() {} | 569 BluetoothDeviceClient::~BluetoothDeviceClient() {} |
| 571 | 570 |
| 572 BluetoothDeviceClient* BluetoothDeviceClient::Create() { | 571 BluetoothDeviceClient* BluetoothDeviceClient::Create() { |
| 573 return new BluetoothDeviceClientImpl(); | 572 return new BluetoothDeviceClientImpl(); |
| 574 } | 573 } |
| 575 | 574 |
| 576 } // namespace bluez | 575 } // namespace bluez |
| OLD | NEW |