Chromium Code Reviews| Index: components/arc/bluetooth/bluetooth_struct_traits.h |
| diff --git a/components/arc/bluetooth/bluetooth_struct_traits.h b/components/arc/bluetooth/bluetooth_struct_traits.h |
| index 2178fc1365103a6822c674453ac619a97ee65449..cd845db7f50aa68870ecac8dbc73331852b8c654 100644 |
| --- a/components/arc/bluetooth/bluetooth_struct_traits.h |
| +++ b/components/arc/bluetooth/bluetooth_struct_traits.h |
| @@ -5,8 +5,15 @@ |
| #ifndef COMPONENTS_ARC_BLUETOOTH_BLUETOOTH_STRUCT_TRAITS_H_ |
| #define COMPONENTS_ARC_BLUETOOTH_BLUETOOTH_STRUCT_TRAITS_H_ |
| +#include <map> |
|
puthik_chromium
2016/08/28 00:05:39
We didn't need all these #include except one in li
Miao
2016/09/01 18:37:24
Done.
|
| +#include <utility> |
| +#include <vector> |
| + |
| #include "components/arc/common/bluetooth.mojom.h" |
| #include "device/bluetooth/bluetooth_common.h" |
| +#include "device/bluetooth/bluez/bluetooth_service_attribute_value_bluez.h" |
| +#include "device/bluetooth/bluez/bluetooth_service_record_bluez.h" |
| +#include "ipc/ipc_message_utils.h" |
| namespace mojo { |
| @@ -49,6 +56,49 @@ struct EnumTraits<arc::mojom::BluetoothDeviceType, |
| } |
| }; |
| +template <> |
| +struct EnumTraits<arc::mojom::BluetoothSdpAttributeType, |
| + bluez::BluetoothServiceAttributeValueBlueZ::Type> { |
| + static arc::mojom::BluetoothSdpAttributeType ToMojom( |
| + bluez::BluetoothServiceAttributeValueBlueZ::Type input) { |
| + switch (input) { |
| + case bluez::BluetoothServiceAttributeValueBlueZ::NULLTYPE: |
| + case bluez::BluetoothServiceAttributeValueBlueZ::UINT: |
| + case bluez::BluetoothServiceAttributeValueBlueZ::INT: |
| + case bluez::BluetoothServiceAttributeValueBlueZ::UUID: |
| + case bluez::BluetoothServiceAttributeValueBlueZ::STRING: |
| + case bluez::BluetoothServiceAttributeValueBlueZ::BOOL: |
| + case bluez::BluetoothServiceAttributeValueBlueZ::SEQUENCE: |
| + case bluez::BluetoothServiceAttributeValueBlueZ::URL: |
| + return static_cast<arc::mojom::BluetoothSdpAttributeType>(input); |
| + default: |
| + NOTREACHED() << "Invalid type: " << static_cast<uint32_t>(input); |
| + return arc::mojom::BluetoothSdpAttributeType::NULLTYPE; |
| + } |
| + } |
| + |
| + static bool FromMojom( |
| + arc::mojom::BluetoothSdpAttributeType input, |
| + bluez::BluetoothServiceAttributeValueBlueZ::Type* output) { |
| + switch (input) { |
| + case arc::mojom::BluetoothSdpAttributeType::NULLTYPE: |
| + case arc::mojom::BluetoothSdpAttributeType::UINT: |
| + case arc::mojom::BluetoothSdpAttributeType::INT: |
| + case arc::mojom::BluetoothSdpAttributeType::UUID: |
| + case arc::mojom::BluetoothSdpAttributeType::STRING: |
| + case arc::mojom::BluetoothSdpAttributeType::BOOL: |
| + case arc::mojom::BluetoothSdpAttributeType::SEQUENCE: |
| + case arc::mojom::BluetoothSdpAttributeType::URL: |
| + *output = static_cast<bluez::BluetoothServiceAttributeValueBlueZ::Type>( |
| + input); |
| + return true; |
| + default: |
| + NOTREACHED() << "Invalid type: " << static_cast<uint32_t>(input); |
| + return false; |
| + } |
| + } |
| +}; |
| + |
| } // namespace mojo |
| #endif // COMPONENTS_ARC_BLUETOOTH_BLUETOOTH_STRUCT_TRAITS_H_ |