blob: cb8890d97090dc45eb874ee439aa7742d98ec40d [file] [log] [blame]
// 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.
#include "third_party/mojo/src/mojo/public/cpp/bindings/type_converter.h"
#include "device/devices_app/usb/public/interfaces/device.mojom.h"
#include "device/devices_app/usb/public/interfaces/device_manager.mojom.h"
#include "third_party/WebKit/public/platform/modules/webusb/WebUSBDevice.h"
#include "third_party/WebKit/public/platform/modules/webusb/WebUSBDeviceFilter.h"
#include "third_party/WebKit/public/platform/modules/webusb/WebUSBDeviceInfo.h"
#include "third_party/WebKit/public/platform/modules/webusb/WebUSBDeviceRequestOptions.h"
namespace mojo {
template <>
struct TypeConverter<blink::WebUSBDevice::TransferDirection,
device::usb::TransferDirection> {
static blink::WebUSBDevice::TransferDirection Convert(
const device::usb::TransferDirection& direction);
};
template <>
struct TypeConverter<device::usb::TransferDirection,
blink::WebUSBDevice::TransferDirection> {
static device::usb::TransferDirection Convert(
const blink::WebUSBDevice::TransferDirection& direction);
};
template <>
struct TypeConverter<device::usb::ControlTransferType,
blink::WebUSBDevice::RequestType> {
static device::usb::ControlTransferType Convert(
const blink::WebUSBDevice::RequestType& direction);
};
template <>
struct TypeConverter<device::usb::ControlTransferRecipient,
blink::WebUSBDevice::RequestRecipient> {
static device::usb::ControlTransferRecipient Convert(
const blink::WebUSBDevice::RequestRecipient& direction);
};
template <>
struct TypeConverter<device::usb::ControlTransferParamsPtr,
blink::WebUSBDevice::ControlTransferParameters> {
static device::usb::ControlTransferParamsPtr Convert(
const blink::WebUSBDevice::ControlTransferParameters& parameters);
};
template <>
struct TypeConverter<blink::WebUSBDeviceInfo::Endpoint::Type,
device::usb::EndpointType> {
static blink::WebUSBDeviceInfo::Endpoint::Type Convert(
const device::usb::EndpointType& endpoint_type);
};
template <>
struct TypeConverter<blink::WebUSBDeviceInfo::Endpoint,
device::usb::EndpointInfoPtr> {
static blink::WebUSBDeviceInfo::Endpoint Convert(
const device::usb::EndpointInfoPtr& info);
};
template <>
struct TypeConverter<blink::WebUSBDeviceInfo::AlternateInterface,
device::usb::AlternateInterfaceInfoPtr> {
static blink::WebUSBDeviceInfo::AlternateInterface Convert(
const device::usb::AlternateInterfaceInfoPtr& info);
};
template <>
struct TypeConverter<blink::WebUSBDeviceInfo::Interface,
device::usb::InterfaceInfoPtr> {
static blink::WebUSBDeviceInfo::Interface Convert(
const device::usb::InterfaceInfoPtr& info);
};
template <>
struct TypeConverter<blink::WebUSBDeviceInfo::Configuration,
device::usb::ConfigurationInfoPtr> {
static blink::WebUSBDeviceInfo::Configuration Convert(
const device::usb::ConfigurationInfoPtr& info);
};
template <>
struct TypeConverter<blink::WebUSBDeviceInfo, device::usb::DeviceInfoPtr> {
static blink::WebUSBDeviceInfo Convert(
const device::usb::DeviceInfoPtr& info);
};
template <>
struct TypeConverter<device::usb::DeviceFilterPtr, blink::WebUSBDeviceFilter> {
static device::usb::DeviceFilterPtr Convert(
const blink::WebUSBDeviceFilter& web_filter);
};
template <>
struct TypeConverter<device::usb::EnumerationOptionsPtr,
blink::WebUSBDeviceRequestOptions> {
static device::usb::EnumerationOptionsPtr Convert(
const blink::WebUSBDeviceRequestOptions& web_options);
};
} // namespace mojo