| Index: Source/modules/webusb/USBDevice.h
|
| diff --git a/Source/modules/webusb/USBDevice.h b/Source/modules/webusb/USBDevice.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..d7430b2a924567e7cfa912d6184f45cf0cf611a4
|
| --- /dev/null
|
| +++ b/Source/modules/webusb/USBDevice.h
|
| @@ -0,0 +1,73 @@
|
| +// 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.
|
| +
|
| +#ifndef USBDevice_h
|
| +#define USBDevice_h
|
| +
|
| +#include "bindings/core/v8/ScriptPromise.h"
|
| +#include "bindings/core/v8/ScriptWrappable.h"
|
| +#include "bindings/modules/v8/UnionTypesModules.h"
|
| +#include "modules/webusb/USBConfiguration.h"
|
| +#include "platform/heap/Handle.h"
|
| +#include "public/platform/modules/webusb/WebUSBDevice.h"
|
| +#include "public/platform/modules/webusb/WebUSBDeviceInfo.h"
|
| +
|
| +namespace blink {
|
| +
|
| +class USBControlTransferParameters;
|
| +
|
| +class USBDevice
|
| + : public GarbageCollectedFinalized<USBDevice>
|
| + , public ScriptWrappable {
|
| + DEFINE_WRAPPERTYPEINFO();
|
| +public:
|
| + typedef WebUSBDeviceInfo WebType;
|
| +
|
| + static USBDevice* create(PassOwnPtr<WebUSBDevice>);
|
| +
|
| + USBDevice(PassOwnPtr<WebUSBDevice>);
|
| + virtual ~USBDevice() { }
|
| +
|
| + const WebUSBDeviceInfo& info() const { return m_device->info(); }
|
| +
|
| + String guid() const { return info().guid; }
|
| + uint8_t usbVersionMajor() { return info().usbVersionMajor; }
|
| + uint8_t usbVersionMinor() { return info().usbVersionMinor; }
|
| + uint8_t usbVersionSubminor() { return info().usbVersionSubminor; }
|
| + uint8_t deviceClass() { return info().deviceClass; }
|
| + uint8_t deviceSubclass() const { return info().deviceSubclass; }
|
| + uint8_t deviceProtocol() const { return info().deviceProtocol; }
|
| + uint16_t vendorId() const { return info().vendorID; }
|
| + uint16_t productId() const { return info().productID; }
|
| + uint8_t deviceVersionMajor() const { return info().deviceVersionMajor; }
|
| + uint8_t deviceVersionMinor() const { return info().deviceVersionMinor; }
|
| + uint8_t deviceVersionSubminor() const { return info().deviceVersionSubminor; }
|
| + String manufacturerName() const { return info().manufacturerName; }
|
| + String productName() const { return info().productName; }
|
| + String serialNumber() const { return info().serialNumber; }
|
| + HeapVector<Member<USBConfiguration>> configurations() const;
|
| +
|
| + ScriptPromise open(ScriptState*);
|
| + ScriptPromise close(ScriptState*);
|
| + ScriptPromise setConfiguration(ScriptState*, uint8_t configurationValue);
|
| + ScriptPromise claimInterface(ScriptState*, uint8_t interfaceNumber);
|
| + ScriptPromise releaseInterface(ScriptState*, uint8_t interfaceNumber);
|
| + ScriptPromise setInterface(ScriptState*, uint8_t interfaceNumber, uint8_t alternateSetting);
|
| + ScriptPromise controlTransferIn(ScriptState*, const USBControlTransferParameters&, uint16_t length);
|
| + ScriptPromise controlTransferOut(ScriptState*, const USBControlTransferParameters&);
|
| + ScriptPromise controlTransferOut(ScriptState*, const USBControlTransferParameters&, const ArrayBufferOrArrayBufferView& data);
|
| + ScriptPromise clearHalt(ScriptState*, uint8_t endpointNumber);
|
| + ScriptPromise transferIn(ScriptState*, uint8_t endpointNumber, unsigned length);
|
| + ScriptPromise transferOut(ScriptState*, uint8_t endpointNumber, const ArrayBufferOrArrayBufferView& data);
|
| + ScriptPromise reset(ScriptState*);
|
| +
|
| + DEFINE_INLINE_TRACE() { }
|
| +
|
| +private:
|
| + OwnPtr<WebUSBDevice> m_device;
|
| +};
|
| +
|
| +} // namespace blink
|
| +
|
| +#endif // USBDevice_h
|
|
|