| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef USBDevice_h | 5 #ifndef USBDevice_h |
| 6 #define USBDevice_h | 6 #define USBDevice_h |
| 7 | 7 |
| 8 #include "bindings/core/v8/ArrayBufferOrArrayBufferView.h" | 8 #include "bindings/core/v8/ArrayBufferOrArrayBufferView.h" |
| 9 #include "bindings/core/v8/ScriptPromise.h" | 9 #include "bindings/core/v8/ScriptPromise.h" |
| 10 #include "bindings/core/v8/ScriptWrappable.h" | 10 #include "bindings/core/v8/ScriptWrappable.h" |
| (...skipping 10 matching lines...) Expand all Loading... |
| 21 class USBConfiguration; | 21 class USBConfiguration; |
| 22 class USBControlTransferParameters; | 22 class USBControlTransferParameters; |
| 23 | 23 |
| 24 class USBDevice : public GarbageCollectedFinalized<USBDevice>, | 24 class USBDevice : public GarbageCollectedFinalized<USBDevice>, |
| 25 public ContextLifecycleObserver, | 25 public ContextLifecycleObserver, |
| 26 public ScriptWrappable { | 26 public ScriptWrappable { |
| 27 USING_GARBAGE_COLLECTED_MIXIN(USBDevice); | 27 USING_GARBAGE_COLLECTED_MIXIN(USBDevice); |
| 28 DEFINE_WRAPPERTYPEINFO(); | 28 DEFINE_WRAPPERTYPEINFO(); |
| 29 | 29 |
| 30 public: | 30 public: |
| 31 static USBDevice* Create(device::usb::blink::DeviceInfoPtr device_info, | 31 static USBDevice* Create(device::mojom::blink::UsbDeviceInfoPtr device_info, |
| 32 device::usb::blink::DevicePtr device, | 32 device::mojom::blink::UsbDevicePtr device, |
| 33 ExecutionContext* context) { | 33 ExecutionContext* context) { |
| 34 return new USBDevice(std::move(device_info), std::move(device), context); | 34 return new USBDevice(std::move(device_info), std::move(device), context); |
| 35 } | 35 } |
| 36 | 36 |
| 37 explicit USBDevice(device::usb::blink::DeviceInfoPtr, | 37 explicit USBDevice(device::mojom::blink::UsbDeviceInfoPtr, |
| 38 device::usb::blink::DevicePtr, | 38 device::mojom::blink::UsbDevicePtr, |
| 39 ExecutionContext*); | 39 ExecutionContext*); |
| 40 virtual ~USBDevice(); | 40 virtual ~USBDevice(); |
| 41 | 41 |
| 42 const device::usb::blink::DeviceInfo& Info() const { return *device_info_; } | 42 const device::mojom::blink::UsbDeviceInfo& Info() const { |
| 43 return *device_info_; |
| 44 } |
| 43 bool IsInterfaceClaimed(size_t configuration_index, | 45 bool IsInterfaceClaimed(size_t configuration_index, |
| 44 size_t interface_index) const; | 46 size_t interface_index) const; |
| 45 size_t SelectedAlternateInterface(size_t interface_index) const; | 47 size_t SelectedAlternateInterface(size_t interface_index) const; |
| 46 | 48 |
| 47 // USBDevice.idl | 49 // USBDevice.idl |
| 48 uint8_t usbVersionMajor() const { return Info().usb_version_major; } | 50 uint8_t usbVersionMajor() const { return Info().usb_version_major; } |
| 49 uint8_t usbVersionMinor() const { return Info().usb_version_minor; } | 51 uint8_t usbVersionMinor() const { return Info().usb_version_minor; } |
| 50 uint8_t usbVersionSubminor() const { return Info().usb_version_subminor; } | 52 uint8_t usbVersionSubminor() const { return Info().usb_version_subminor; } |
| 51 uint8_t deviceClass() const { return Info().class_code; } | 53 uint8_t deviceClass() const { return Info().class_code; } |
| 52 uint8_t deviceSubclass() const { return Info().subclass_code; } | 54 uint8_t deviceSubclass() const { return Info().subclass_code; } |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 110 int FindAlternateIndex(size_t interface_index, | 112 int FindAlternateIndex(size_t interface_index, |
| 111 uint8_t alternate_setting) const; | 113 uint8_t alternate_setting) const; |
| 112 bool EnsureNoDeviceOrInterfaceChangeInProgress(ScriptPromiseResolver*) const; | 114 bool EnsureNoDeviceOrInterfaceChangeInProgress(ScriptPromiseResolver*) const; |
| 113 bool EnsureDeviceConfigured(ScriptPromiseResolver*) const; | 115 bool EnsureDeviceConfigured(ScriptPromiseResolver*) const; |
| 114 bool EnsureInterfaceClaimed(uint8_t interface_number, | 116 bool EnsureInterfaceClaimed(uint8_t interface_number, |
| 115 ScriptPromiseResolver*) const; | 117 ScriptPromiseResolver*) const; |
| 116 bool EnsureEndpointAvailable(bool in_transfer, | 118 bool EnsureEndpointAvailable(bool in_transfer, |
| 117 uint8_t endpoint_number, | 119 uint8_t endpoint_number, |
| 118 ScriptPromiseResolver*) const; | 120 ScriptPromiseResolver*) const; |
| 119 bool AnyInterfaceChangeInProgress() const; | 121 bool AnyInterfaceChangeInProgress() const; |
| 120 device::usb::blink::ControlTransferParamsPtr ConvertControlTransferParameters( | 122 device::mojom::blink::UsbControlTransferParamsPtr |
| 121 const USBControlTransferParameters&, | 123 ConvertControlTransferParameters(const USBControlTransferParameters&, |
| 122 ScriptPromiseResolver*) const; | 124 ScriptPromiseResolver*) const; |
| 123 void SetEndpointsForInterface(size_t interface_index, bool set); | 125 void SetEndpointsForInterface(size_t interface_index, bool set); |
| 124 | 126 |
| 125 void AsyncOpen(ScriptPromiseResolver*, device::usb::blink::OpenDeviceError); | 127 void AsyncOpen(ScriptPromiseResolver*, |
| 128 device::mojom::blink::UsbOpenDeviceError); |
| 126 void AsyncClose(ScriptPromiseResolver*); | 129 void AsyncClose(ScriptPromiseResolver*); |
| 127 void OnDeviceOpenedOrClosed(bool); | 130 void OnDeviceOpenedOrClosed(bool); |
| 128 void AsyncSelectConfiguration(size_t configuration_index, | 131 void AsyncSelectConfiguration(size_t configuration_index, |
| 129 ScriptPromiseResolver*, | 132 ScriptPromiseResolver*, |
| 130 bool success); | 133 bool success); |
| 131 void OnConfigurationSelected(bool success, size_t configuration_index); | 134 void OnConfigurationSelected(bool success, size_t configuration_index); |
| 132 void AsyncClaimInterface(size_t interface_index, | 135 void AsyncClaimInterface(size_t interface_index, |
| 133 ScriptPromiseResolver*, | 136 ScriptPromiseResolver*, |
| 134 bool success); | 137 bool success); |
| 135 void AsyncReleaseInterface(size_t interface_index, | 138 void AsyncReleaseInterface(size_t interface_index, |
| 136 ScriptPromiseResolver*, | 139 ScriptPromiseResolver*, |
| 137 bool success); | 140 bool success); |
| 138 void OnInterfaceClaimedOrUnclaimed(bool claimed, size_t interface_index); | 141 void OnInterfaceClaimedOrUnclaimed(bool claimed, size_t interface_index); |
| 139 void AsyncSelectAlternateInterface(size_t interface_index, | 142 void AsyncSelectAlternateInterface(size_t interface_index, |
| 140 size_t alternate_index, | 143 size_t alternate_index, |
| 141 ScriptPromiseResolver*, | 144 ScriptPromiseResolver*, |
| 142 bool success); | 145 bool success); |
| 143 void AsyncControlTransferIn(ScriptPromiseResolver*, | 146 void AsyncControlTransferIn(ScriptPromiseResolver*, |
| 144 device::usb::blink::TransferStatus, | 147 device::mojom::blink::UsbTransferStatus, |
| 145 const Optional<Vector<uint8_t>>&); | 148 const Optional<Vector<uint8_t>>&); |
| 146 void AsyncControlTransferOut(unsigned, | 149 void AsyncControlTransferOut(unsigned, |
| 147 ScriptPromiseResolver*, | 150 ScriptPromiseResolver*, |
| 148 device::usb::blink::TransferStatus); | 151 device::mojom::blink::UsbTransferStatus); |
| 149 void AsyncClearHalt(ScriptPromiseResolver*, bool success); | 152 void AsyncClearHalt(ScriptPromiseResolver*, bool success); |
| 150 void AsyncTransferIn(ScriptPromiseResolver*, | 153 void AsyncTransferIn(ScriptPromiseResolver*, |
| 151 device::usb::blink::TransferStatus, | 154 device::mojom::blink::UsbTransferStatus, |
| 152 const Optional<Vector<uint8_t>>&); | 155 const Optional<Vector<uint8_t>>&); |
| 153 void AsyncTransferOut(unsigned, | 156 void AsyncTransferOut(unsigned, |
| 154 ScriptPromiseResolver*, | 157 ScriptPromiseResolver*, |
| 155 device::usb::blink::TransferStatus); | 158 device::mojom::blink::UsbTransferStatus); |
| 156 void AsyncIsochronousTransferIn( | 159 void AsyncIsochronousTransferIn( |
| 157 ScriptPromiseResolver*, | 160 ScriptPromiseResolver*, |
| 158 const Optional<Vector<uint8_t>>&, | 161 const Optional<Vector<uint8_t>>&, |
| 159 Vector<device::usb::blink::IsochronousPacketPtr>); | 162 Vector<device::mojom::blink::UsbIsochronousPacketPtr>); |
| 160 void AsyncIsochronousTransferOut( | 163 void AsyncIsochronousTransferOut( |
| 161 ScriptPromiseResolver*, | 164 ScriptPromiseResolver*, |
| 162 Vector<device::usb::blink::IsochronousPacketPtr>); | 165 Vector<device::mojom::blink::UsbIsochronousPacketPtr>); |
| 163 void AsyncReset(ScriptPromiseResolver*, bool success); | 166 void AsyncReset(ScriptPromiseResolver*, bool success); |
| 164 | 167 |
| 165 void OnConnectionError(); | 168 void OnConnectionError(); |
| 166 bool MarkRequestComplete(ScriptPromiseResolver*); | 169 bool MarkRequestComplete(ScriptPromiseResolver*); |
| 167 | 170 |
| 168 device::usb::blink::DeviceInfoPtr device_info_; | 171 device::mojom::blink::UsbDeviceInfoPtr device_info_; |
| 169 device::usb::blink::DevicePtr device_; | 172 device::mojom::blink::UsbDevicePtr device_; |
| 170 HeapHashSet<Member<ScriptPromiseResolver>> device_requests_; | 173 HeapHashSet<Member<ScriptPromiseResolver>> device_requests_; |
| 171 bool opened_; | 174 bool opened_; |
| 172 bool device_state_change_in_progress_; | 175 bool device_state_change_in_progress_; |
| 173 int configuration_index_; | 176 int configuration_index_; |
| 174 WTF::BitVector claimed_interfaces_; | 177 WTF::BitVector claimed_interfaces_; |
| 175 WTF::BitVector interface_state_change_in_progress_; | 178 WTF::BitVector interface_state_change_in_progress_; |
| 176 WTF::Vector<size_t> selected_alternates_; | 179 WTF::Vector<size_t> selected_alternates_; |
| 177 WTF::BitVector in_endpoints_; | 180 WTF::BitVector in_endpoints_; |
| 178 WTF::BitVector out_endpoints_; | 181 WTF::BitVector out_endpoints_; |
| 179 }; | 182 }; |
| 180 | 183 |
| 181 } // namespace blink | 184 } // namespace blink |
| 182 | 185 |
| 183 #endif // USBDevice_h | 186 #endif // USBDevice_h |
| OLD | NEW |