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 |