Index: chrome/common/extensions/api/usb.idl |
diff --git a/chrome/common/extensions/api/usb.idl b/chrome/common/extensions/api/usb.idl |
deleted file mode 100644 |
index 6b6b74c54699192a79b77fd9409b550a767af3c0..0000000000000000000000000000000000000000 |
--- a/chrome/common/extensions/api/usb.idl |
+++ /dev/null |
@@ -1,307 +0,0 @@ |
-// Copyright (c) 2012 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. |
- |
-// Use the <code>chrome.usb</code> API to interact with connected USB |
-// devices. This API provides access to USB operations from within the context |
-// of an app. Using this API, apps can function as drivers for hardware devices. |
-namespace usb { |
- |
- // Direction, Recipient, RequestType, and TransferType all map to their |
- // namesakes within the USB specification. |
- enum Direction {in, out}; |
- enum Recipient {device, _interface, endpoint, other}; |
- enum RequestType {standard, class, vendor, reserved}; |
- enum TransferType {control, interrupt, isochronous, bulk}; |
- |
- // For isochronous mode, SynchronizationType and UsageType map to their |
- // namesakes within the USB specification. |
- enum SynchronizationType {asynchronous, adaptive, synchronous}; |
- enum UsageType {data, feedback, explicitFeedback}; |
- |
- // Returned by |getDevices| to identify a connected USB device. |
- dictionary Device { |
- // The id of the USB device. It remains unchanged until the device is |
- // unplugged. |
- long device; |
- long vendorId; |
- long productId; |
- }; |
- |
- // Returned by |openDevice| to be used for USB communication. |
- // Every time a device is opened, a new connection handle is created. |
- // |
- // A connection handle represents the underlying data structure that contains |
- // all the data we need to communicate with a USB device, including the status |
- // of interfaces, the pending transfers, the descriptors, and etc. A connectin |
- // handle id is different from a USB device id. |
- // |
- // All connection handles can work together if the device allows it. |
- // The connection handle will be automatically closed when the app is reloaded |
- // or suspended. |
- // |
- // When a connection handle is closed, all the interfaces it claimed will be |
- // released and all the transfers in progress will be canceled immediately. |
- dictionary ConnectionHandle { |
- // The id of the USB connection handle. |
- long handle; |
- long vendorId; |
- long productId; |
- }; |
- |
- dictionary EndpointDescriptor { |
- long address; |
- TransferType type; |
- Direction direction; |
- long maximumPacketSize; |
- |
- // Used for isochronous mode. |
- SynchronizationType? synchronization; |
- UsageType? usage; |
- |
- // If this is an interrupt endpoint, this will be 1-255. |
- long? pollingInterval; |
- }; |
- |
- dictionary InterfaceDescriptor { |
- long interfaceNumber; |
- long alternateSetting; |
- long interfaceClass; |
- long interfaceSubclass; |
- long interfaceProtocol; |
- DOMString? description; |
- EndpointDescriptor[] endpoints; |
- }; |
- |
- // ControlTransferInfo represents that parameters to a single USB control |
- // transfer. |
- dictionary ControlTransferInfo { |
- // The direction of this transfer. |
- Direction direction; |
- |
- // The intended recipient for this transfer. |
- Recipient recipient; |
- |
- // The type of this request. |
- RequestType requestType; |
- |
- long request; |
- long value; |
- long index; |
- |
- // If this transfer is an input transfer, then this field must be set to |
- // indicate the expected data length. If this is an output transfer, then |
- // this field is ignored. |
- long? length; |
- |
- // The data payload carried by this transfer. If this is an output transfer |
- // then this field must be set. |
- ArrayBuffer? data; |
- }; |
- |
- // GenericTransferInfo is used by both bulk and interrupt transfers to |
- // specify the parameters of the transfer. |
- dictionary GenericTransferInfo { |
- // The direction of this transfer. |
- Direction direction; |
- |
- long endpoint; |
- |
- // If this is an input transfer then this field indicates the size of the |
- // input buffer. If this is an output transfer then this field is ignored. |
- long? length; |
- |
- // If this is an output transfer then this field must be populated. |
- // Otherwise, it will be ignored. |
- ArrayBuffer? data; |
- }; |
- |
- // IsochronousTransferInfo describes a single multi-packet isochronous |
- // transfer. |
- dictionary IsochronousTransferInfo { |
- // All of the normal transfer parameters are encapsulated in the |
- // transferInfo parameters. Note that the data specified in this parameter |
- // block is split along packetLength boundaries to form the individual |
- // packets of the transfer. |
- GenericTransferInfo transferInfo; |
- |
- // The total number of packets in this transfer. |
- long packets; |
- |
- // The length of each of the packets in this transfer. |
- long packetLength; |
- }; |
- |
- dictionary TransferResultInfo { |
- // A value of 0 indicates that the transfer was a success. Other values |
- // indicate failure. |
- long? resultCode; |
- |
- // If the transfer was an input transfer then this field will contain all |
- // of the input data requested. |
- ArrayBuffer? data; |
- }; |
- |
- // Describes the properties of devices which are found via |getDevices|. |
- dictionary EnumerateDevicesOptions { |
- long vendorId; |
- long productId; |
- }; |
- |
- // Describes the properties of devices which are found via |findDevices|. |
- dictionary EnumerateDevicesAndRequestAccessOptions { |
- long vendorId; |
- long productId; |
- // The interface id to request access against. |
- // Only available on ChromeOS. It has no effect on other platforms. |
- long? interfaceId; |
- }; |
- |
- callback VoidCallback = void (); |
- callback GetDevicesCallback = void (Device[] devices); |
- callback RequestAccessCallback = void (boolean sucess); |
- callback OpenDeviceCallback = void (ConnectionHandle handle); |
- callback FindDevicesCallback = void (ConnectionHandle[] handles); |
- callback ListInterfacesCallback = void (InterfaceDescriptor[] descriptors); |
- callback CloseDeviceCallback = void (); |
- callback TransferCallback = void (TransferResultInfo info); |
- callback ResetDeviceCallback = void(boolean result); |
- |
- interface Functions { |
- // Lists USB devices specified by vendorId/productId/interfaceId tuple. |
- // |options|: The properties to search for on target devices. |
- // |callback|: Invoked with a list of |Device|s on complete. |
- static void getDevices(EnumerateDevicesOptions options, |
- GetDevicesCallback callback); |
- |
- // This method is ChromeOS specific. Calling this method on other platforms |
- // will fail. |
- // Requests access from the permission broker to an OS claimed device if the |
- // given interface on the device is not claimed. |
- // |
- // |device|: The device to request access to. |
- // |interfaceId|: |
- static void requestAccess(Device device, |
- long interfaceId, |
- RequestAccessCallback callback); |
- |
- // Opens a USB device returned by |getDevices|. |
- // |device|: The device to open. |
- // |callback|: Invoked with the created ConnectionHandle on complete. |
- static void openDevice(Device device, OpenDeviceCallback callback); |
- |
- // Finds USB devices specified by the vendorId/productId/interfaceId tuple |
- // and, if permissions allow, opens them for use. |
- // |
- // On Chrome OS, you can specify the interfaceId. In that case the method |
- // will request access from permission broker in the same way as in |
- // |requestUsbAcess|. |
- // |
- // If the access request is rejected, or the device is failed to be opened, |
- // its connection handle will not be created or returned. |
- // |
- // Calling this method is equivalent to calling |getDevices| followed by |
- // a series of |requestAccess| (if it is on ChromeOs) and |openDevice| |
- // calls, and returning all the successfully opened connection handles. |
- // |
- // |options|: The properties to search for on target devices. |
- // |callback|: Invoked with the opened ConnectionHandle on complete. |
- static void findDevices(EnumerateDevicesAndRequestAccessOptions options, |
- FindDevicesCallback callback); |
- |
- // Closes a connection handle. Invoking operations on a device after it |
- // has been closed is a safe operation, but causes no action to be taken. |
- // |handle|: The connection handle to close. |
- // |callback|: The callback to invoke once the device is closed. |
- static void closeDevice(ConnectionHandle handle, |
- optional CloseDeviceCallback callback); |
- |
- // Lists all the interfaces on the USB device. |
- // |handle|: The device from which the interfaces should be listed. |
- // |callback|: The callback to invoke when the interfaces are enumerated. |
- static void listInterfaces(ConnectionHandle handle, |
- ListInterfacesCallback callback); |
- |
- // Claims an interface on the specified USB device. |
- // Before you can transfer data with endpoints, you must claim their parent |
- // interfaces. Only one connection handle on the same host can claim each |
- // interface. If the interface is already claimed, this call will fail. |
- // |
- // You shall call releaseInterface when the interface is not needed anymore. |
- // |
- // |handle|: The device on which the interface is to be claimed. |
- // |interface|: The interface number to be claimed. |
- // |callback|: The callback to invoke once the interface is claimed. |
- static void claimInterface(ConnectionHandle handle, long interfaceNumber, |
- VoidCallback callback); |
- |
- // Releases a claim to an interface on the provided device. |
- // |handle|: The device on which the interface is to be released. |
- // |interface|: The interface number to be released. |
- // |callback|: The callback to invoke once the interface is released. |
- static void releaseInterface(ConnectionHandle handle, long interfaceNumber, |
- VoidCallback callback); |
- |
- // Selects an alternate setting on a previously claimed interface on a |
- // device. |
- // |handle|: The device on which the interface settings are to be set. |
- // |interface|: The interface number to be set. |
- // |alternateSetting|: The alternate setting to set. |
- // |callback|: The callback to invoke once the interface setting is set. |
- static void setInterfaceAlternateSetting(ConnectionHandle handle, |
- long interfaceNumber, |
- long alternateSetting, |
- VoidCallback callback); |
- |
- // Performs a control transfer on the specified device. See the |
- // ControlTransferInfo structure for the parameters required to make a |
- // transfer. |
- // |
- // Conceptually control transfer talks to the device itself. You do not need |
- // to claim interface 0 to perform a control transfer. |
- // |
- // |handle|: A connection handle to make the transfer on. |
- // |transferInfo|: The parameters to the transfer. See ControlTransferInfo. |
- // |callback|: Invoked once the transfer has completed. |
- static void controlTransfer(ConnectionHandle handle, |
- ControlTransferInfo transferInfo, |
- TransferCallback callback); |
- |
- // Performs a bulk transfer on the specified device. |
- // |handle|: A connection handle to make the transfer on. |
- // |transferInfo|: The parameters to the transfer. See GenericTransferInfo. |
- // |callback|: Invoked once the transfer has completed. |
- static void bulkTransfer(ConnectionHandle handle, |
- GenericTransferInfo transferInfo, |
- TransferCallback callback); |
- |
- // Performs an interrupt transfer on the specified device. |
- // |handle|: A connection handle to make the transfer on. |
- // |transferInfo|: The parameters to the transfer. See GenericTransferInfo. |
- // |callback|: Invoked once the transfer has completed. |
- static void interruptTransfer(ConnectionHandle handle, |
- GenericTransferInfo transferInfo, |
- TransferCallback callback); |
- |
- // Performs an isochronous transfer on the specific device. |
- // |handle|: A connection handle to make the transfer on. |
- // |transferInfo|: The parameters to the transfer. See |
- // IsochronousTransferInfo. |
- // |callback|: Invoked once the transfer has been completed. |
- static void isochronousTransfer(ConnectionHandle handle, |
- IsochronousTransferInfo transferInfo, |
- TransferCallback callback); |
- |
- // Tries to reset the USB device and restores it to the previous status. |
- // If the reset fails, the given connection handle will be closed and the |
- // USB device will appear to be disconnected then reconnected. |
- // In that case you must call |getDevices| or |findDevices| again to acquire |
- // the device. |
- // |
- // |handle|: A connection handle to reset. |
- // |callback|: Invoked once the device is reset with a boolean indicating |
- // whether the reset is completed successfully. |
- static void resetDevice(ConnectionHandle handle, |
- ResetDeviceCallback callback); |
- }; |
-}; |