Index: chrome/browser/extensions/api/usb/usb_api.h |
diff --git a/chrome/browser/extensions/api/usb/usb_api.h b/chrome/browser/extensions/api/usb/usb_api.h |
index a828bade91a37a8212a2227e487659a0fd6e8b4d..f2230168bab27d3d71f3bacab42d8ea78c34cc19 100644 |
--- a/chrome/browser/extensions/api/usb/usb_api.h |
+++ b/chrome/browser/extensions/api/usb/usb_api.h |
@@ -44,9 +44,9 @@ class UsbAsyncApiTransferFunction : public UsbAsyncApiFunction { |
virtual ~UsbAsyncApiTransferFunction(); |
bool ConvertDirectionSafely(const extensions::api::usb::Direction& input, |
- UsbDevice::TransferDirection* output); |
+ UsbEndpointDirection* output); |
bool ConvertRequestTypeSafely(const extensions::api::usb::RequestType& input, |
- UsbDevice::TransferRequestType* output); |
+ UsbDevice::TransferRequestType* output); |
bool ConvertRecipientSafely(const extensions::api::usb::Recipient& input, |
UsbDevice::TransferRecipient* output); |
@@ -77,6 +77,36 @@ class UsbFindDevicesFunction : public UsbAsyncApiFunction { |
scoped_ptr<extensions::api::usb::FindDevices::Params> parameters_; |
}; |
+class UsbListInterfacesFunction : public UsbAsyncApiFunction { |
+ public: |
+ DECLARE_EXTENSION_FUNCTION("usb.listInterfaces", USB_LISTINTERFACES) |
+ |
+ UsbListInterfacesFunction(); |
+ |
+ protected: |
+ virtual ~UsbListInterfacesFunction(); |
+ |
+ virtual bool Prepare() OVERRIDE; |
+ virtual void AsyncWorkStart() OVERRIDE; |
+ |
+ private: |
+ void OnCompleted(bool success); |
+ |
+ bool ConvertDirectionSafely(const UsbEndpointDirection& input, |
+ extensions::api::usb::Direction* output); |
+ bool ConvertSynchronizationTypeSafely( |
+ const UsbSynchronizationType& input, |
+ extensions::api::usb::SynchronizationType* output); |
+ bool ConvertTransferTypeSafely(const UsbTransferType& input, |
+ extensions::api::usb::TransferType* output); |
+ bool ConvertUsageTypeSafely(const UsbUsageType& input, |
+ extensions::api::usb::UsageType* output); |
+ |
+ scoped_ptr<base::ListValue> result_; |
+ scoped_refptr<UsbConfigDescriptor> config_; |
+ scoped_ptr<extensions::api::usb::ListInterfaces::Params> parameters_; |
+}; |
+ |
class UsbCloseDeviceFunction : public UsbAsyncApiFunction { |
public: |
DECLARE_EXTENSION_FUNCTION("usb.closeDevice", USB_CLOSEDEVICE) |