OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 EXTENSIONS_BROWSER_API_USB_USB_API_H_ | 5 #ifndef EXTENSIONS_BROWSER_API_USB_USB_API_H_ |
6 #define EXTENSIONS_BROWSER_API_USB_USB_API_H_ | 6 #define EXTENSIONS_BROWSER_API_USB_USB_API_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 11 matching lines...) Expand all Loading... |
22 namespace extensions { | 22 namespace extensions { |
23 | 23 |
24 class DevicePermissions; | 24 class DevicePermissions; |
25 class UsbDeviceResource; | 25 class UsbDeviceResource; |
26 | 26 |
27 class UsbAsyncApiFunction : public AsyncApiFunction { | 27 class UsbAsyncApiFunction : public AsyncApiFunction { |
28 public: | 28 public: |
29 UsbAsyncApiFunction(); | 29 UsbAsyncApiFunction(); |
30 | 30 |
31 protected: | 31 protected: |
32 virtual ~UsbAsyncApiFunction(); | 32 ~UsbAsyncApiFunction() override; |
33 | 33 |
34 virtual bool PrePrepare() override; | 34 bool PrePrepare() override; |
35 virtual bool Respond() override; | 35 bool Respond() override; |
36 | 36 |
37 bool HasDevicePermission(scoped_refptr<device::UsbDevice> device); | 37 bool HasDevicePermission(scoped_refptr<device::UsbDevice> device); |
38 scoped_refptr<device::UsbDevice> GetDeviceOrCompleteWithError( | 38 scoped_refptr<device::UsbDevice> GetDeviceOrCompleteWithError( |
39 const extensions::core_api::usb::Device& input_device); | 39 const extensions::core_api::usb::Device& input_device); |
40 scoped_refptr<device::UsbDeviceHandle> GetDeviceHandleOrCompleteWithError( | 40 scoped_refptr<device::UsbDeviceHandle> GetDeviceHandleOrCompleteWithError( |
41 const extensions::core_api::usb::ConnectionHandle& input_device_handle); | 41 const extensions::core_api::usb::ConnectionHandle& input_device_handle); |
42 | 42 |
43 void RemoveUsbDeviceResource(int api_resource_id); | 43 void RemoveUsbDeviceResource(int api_resource_id); |
44 | 44 |
45 void CompleteWithError(const std::string& error); | 45 void CompleteWithError(const std::string& error); |
46 | 46 |
47 ApiResourceManager<UsbDeviceResource>* manager_; | 47 ApiResourceManager<UsbDeviceResource>* manager_; |
48 scoped_ptr<DevicePermissions> device_permissions_; | 48 scoped_ptr<DevicePermissions> device_permissions_; |
49 }; | 49 }; |
50 | 50 |
51 class UsbAsyncApiTransferFunction : public UsbAsyncApiFunction { | 51 class UsbAsyncApiTransferFunction : public UsbAsyncApiFunction { |
52 protected: | 52 protected: |
53 UsbAsyncApiTransferFunction(); | 53 UsbAsyncApiTransferFunction(); |
54 virtual ~UsbAsyncApiTransferFunction(); | 54 ~UsbAsyncApiTransferFunction() override; |
55 | 55 |
56 bool ConvertDirectionSafely(const extensions::core_api::usb::Direction& input, | 56 bool ConvertDirectionSafely(const extensions::core_api::usb::Direction& input, |
57 device::UsbEndpointDirection* output); | 57 device::UsbEndpointDirection* output); |
58 bool ConvertRequestTypeSafely( | 58 bool ConvertRequestTypeSafely( |
59 const extensions::core_api::usb::RequestType& input, | 59 const extensions::core_api::usb::RequestType& input, |
60 device::UsbDeviceHandle::TransferRequestType* output); | 60 device::UsbDeviceHandle::TransferRequestType* output); |
61 bool ConvertRecipientSafely( | 61 bool ConvertRecipientSafely( |
62 const extensions::core_api::usb::Recipient& input, | 62 const extensions::core_api::usb::Recipient& input, |
63 device::UsbDeviceHandle::TransferRecipient* output); | 63 device::UsbDeviceHandle::TransferRecipient* output); |
64 | 64 |
65 void OnCompleted(device::UsbTransferStatus status, | 65 void OnCompleted(device::UsbTransferStatus status, |
66 scoped_refptr<net::IOBuffer> data, | 66 scoped_refptr<net::IOBuffer> data, |
67 size_t length); | 67 size_t length); |
68 }; | 68 }; |
69 | 69 |
70 class UsbFindDevicesFunction : public UsbAsyncApiFunction { | 70 class UsbFindDevicesFunction : public UsbAsyncApiFunction { |
71 public: | 71 public: |
72 DECLARE_EXTENSION_FUNCTION("usb.findDevices", USB_FINDDEVICES) | 72 DECLARE_EXTENSION_FUNCTION("usb.findDevices", USB_FINDDEVICES) |
73 | 73 |
74 UsbFindDevicesFunction(); | 74 UsbFindDevicesFunction(); |
75 | 75 |
76 protected: | 76 protected: |
77 virtual ~UsbFindDevicesFunction(); | 77 ~UsbFindDevicesFunction() override; |
78 | 78 |
79 virtual bool Prepare() override; | 79 bool Prepare() override; |
80 virtual void AsyncWorkStart() override; | 80 void AsyncWorkStart() override; |
81 | 81 |
82 private: | 82 private: |
83 void OpenDevices( | 83 void OpenDevices( |
84 scoped_ptr<std::vector<scoped_refptr<device::UsbDevice> > > devices); | 84 scoped_ptr<std::vector<scoped_refptr<device::UsbDevice> > > devices); |
85 | 85 |
86 std::vector<scoped_refptr<device::UsbDeviceHandle> > device_handles_; | 86 std::vector<scoped_refptr<device::UsbDeviceHandle> > device_handles_; |
87 scoped_ptr<extensions::core_api::usb::FindDevices::Params> parameters_; | 87 scoped_ptr<extensions::core_api::usb::FindDevices::Params> parameters_; |
88 }; | 88 }; |
89 | 89 |
90 class UsbGetDevicesFunction : public UsbAsyncApiFunction { | 90 class UsbGetDevicesFunction : public UsbAsyncApiFunction { |
91 public: | 91 public: |
92 DECLARE_EXTENSION_FUNCTION("usb.getDevices", USB_GETDEVICES) | 92 DECLARE_EXTENSION_FUNCTION("usb.getDevices", USB_GETDEVICES) |
93 | 93 |
94 UsbGetDevicesFunction(); | 94 UsbGetDevicesFunction(); |
95 | 95 |
96 virtual bool Prepare() override; | 96 bool Prepare() override; |
97 virtual void AsyncWorkStart() override; | 97 void AsyncWorkStart() override; |
98 | 98 |
99 protected: | 99 protected: |
100 virtual ~UsbGetDevicesFunction(); | 100 ~UsbGetDevicesFunction() override; |
101 | 101 |
102 private: | 102 private: |
103 scoped_ptr<extensions::core_api::usb::GetDevices::Params> parameters_; | 103 scoped_ptr<extensions::core_api::usb::GetDevices::Params> parameters_; |
104 }; | 104 }; |
105 | 105 |
106 class UsbGetUserSelectedDevicesFunction | 106 class UsbGetUserSelectedDevicesFunction |
107 : public UIThreadExtensionFunction, | 107 : public UIThreadExtensionFunction, |
108 public DevicePermissionsPrompt::Delegate { | 108 public DevicePermissionsPrompt::Delegate { |
109 public: | 109 public: |
110 DECLARE_EXTENSION_FUNCTION("usb.getUserSelectedDevices", | 110 DECLARE_EXTENSION_FUNCTION("usb.getUserSelectedDevices", |
111 USB_GETUSERSELECTEDDEVICES) | 111 USB_GETUSERSELECTEDDEVICES) |
112 | 112 |
113 UsbGetUserSelectedDevicesFunction(); | 113 UsbGetUserSelectedDevicesFunction(); |
114 | 114 |
115 protected: | 115 protected: |
116 virtual ~UsbGetUserSelectedDevicesFunction(); | 116 ~UsbGetUserSelectedDevicesFunction() override; |
117 virtual ResponseAction Run() override; | 117 ResponseAction Run() override; |
118 | 118 |
119 private: | 119 private: |
120 virtual void OnUsbDevicesChosen( | 120 void OnUsbDevicesChosen( |
121 const std::vector<scoped_refptr<device::UsbDevice>>& devices) override; | 121 const std::vector<scoped_refptr<device::UsbDevice>>& devices) override; |
122 | 122 |
123 scoped_ptr<DevicePermissionsPrompt> prompt_; | 123 scoped_ptr<DevicePermissionsPrompt> prompt_; |
124 std::vector<uint32> device_ids_; | 124 std::vector<uint32> device_ids_; |
125 std::vector<scoped_refptr<device::UsbDevice>> devices_; | 125 std::vector<scoped_refptr<device::UsbDevice>> devices_; |
126 std::vector<base::string16> serial_numbers_; | 126 std::vector<base::string16> serial_numbers_; |
127 }; | 127 }; |
128 | 128 |
129 class UsbRequestAccessFunction : public UsbAsyncApiFunction { | 129 class UsbRequestAccessFunction : public UsbAsyncApiFunction { |
130 public: | 130 public: |
131 DECLARE_EXTENSION_FUNCTION("usb.requestAccess", USB_REQUESTACCESS) | 131 DECLARE_EXTENSION_FUNCTION("usb.requestAccess", USB_REQUESTACCESS) |
132 | 132 |
133 UsbRequestAccessFunction(); | 133 UsbRequestAccessFunction(); |
134 | 134 |
135 virtual bool Prepare() override; | 135 bool Prepare() override; |
136 virtual void AsyncWorkStart() override; | 136 void AsyncWorkStart() override; |
137 | 137 |
138 protected: | 138 protected: |
139 virtual ~UsbRequestAccessFunction(); | 139 ~UsbRequestAccessFunction() override; |
140 | 140 |
141 void OnCompleted(bool success); | 141 void OnCompleted(bool success); |
142 | 142 |
143 private: | 143 private: |
144 scoped_ptr<extensions::core_api::usb::RequestAccess::Params> parameters_; | 144 scoped_ptr<extensions::core_api::usb::RequestAccess::Params> parameters_; |
145 }; | 145 }; |
146 | 146 |
147 class UsbOpenDeviceFunction : public UsbAsyncApiFunction { | 147 class UsbOpenDeviceFunction : public UsbAsyncApiFunction { |
148 public: | 148 public: |
149 DECLARE_EXTENSION_FUNCTION("usb.openDevice", USB_OPENDEVICE) | 149 DECLARE_EXTENSION_FUNCTION("usb.openDevice", USB_OPENDEVICE) |
150 | 150 |
151 UsbOpenDeviceFunction(); | 151 UsbOpenDeviceFunction(); |
152 | 152 |
153 virtual bool Prepare() override; | 153 bool Prepare() override; |
154 virtual void AsyncWorkStart() override; | 154 void AsyncWorkStart() override; |
155 | 155 |
156 protected: | 156 protected: |
157 virtual ~UsbOpenDeviceFunction(); | 157 ~UsbOpenDeviceFunction() override; |
158 | 158 |
159 private: | 159 private: |
160 scoped_refptr<device::UsbDeviceHandle> handle_; | 160 scoped_refptr<device::UsbDeviceHandle> handle_; |
161 scoped_ptr<extensions::core_api::usb::OpenDevice::Params> parameters_; | 161 scoped_ptr<extensions::core_api::usb::OpenDevice::Params> parameters_; |
162 }; | 162 }; |
163 | 163 |
164 class UsbGetConfigurationFunction : public UsbAsyncApiFunction { | 164 class UsbGetConfigurationFunction : public UsbAsyncApiFunction { |
165 public: | 165 public: |
166 DECLARE_EXTENSION_FUNCTION("usb.getConfiguration", USB_GETCONFIGURATION) | 166 DECLARE_EXTENSION_FUNCTION("usb.getConfiguration", USB_GETCONFIGURATION) |
167 | 167 |
168 UsbGetConfigurationFunction(); | 168 UsbGetConfigurationFunction(); |
169 | 169 |
170 protected: | 170 protected: |
171 virtual ~UsbGetConfigurationFunction(); | 171 ~UsbGetConfigurationFunction() override; |
172 | 172 |
173 virtual bool Prepare() override; | 173 bool Prepare() override; |
174 virtual void AsyncWorkStart() override; | 174 void AsyncWorkStart() override; |
175 | 175 |
176 private: | 176 private: |
177 scoped_ptr<extensions::core_api::usb::GetConfiguration::Params> parameters_; | 177 scoped_ptr<extensions::core_api::usb::GetConfiguration::Params> parameters_; |
178 }; | 178 }; |
179 | 179 |
180 class UsbListInterfacesFunction : public UsbAsyncApiFunction { | 180 class UsbListInterfacesFunction : public UsbAsyncApiFunction { |
181 public: | 181 public: |
182 DECLARE_EXTENSION_FUNCTION("usb.listInterfaces", USB_LISTINTERFACES) | 182 DECLARE_EXTENSION_FUNCTION("usb.listInterfaces", USB_LISTINTERFACES) |
183 | 183 |
184 UsbListInterfacesFunction(); | 184 UsbListInterfacesFunction(); |
185 | 185 |
186 protected: | 186 protected: |
187 virtual ~UsbListInterfacesFunction(); | 187 ~UsbListInterfacesFunction() override; |
188 | 188 |
189 virtual bool Prepare() override; | 189 bool Prepare() override; |
190 virtual void AsyncWorkStart() override; | 190 void AsyncWorkStart() override; |
191 | 191 |
192 private: | 192 private: |
193 scoped_ptr<extensions::core_api::usb::ListInterfaces::Params> parameters_; | 193 scoped_ptr<extensions::core_api::usb::ListInterfaces::Params> parameters_; |
194 }; | 194 }; |
195 | 195 |
196 class UsbCloseDeviceFunction : public UsbAsyncApiFunction { | 196 class UsbCloseDeviceFunction : public UsbAsyncApiFunction { |
197 public: | 197 public: |
198 DECLARE_EXTENSION_FUNCTION("usb.closeDevice", USB_CLOSEDEVICE) | 198 DECLARE_EXTENSION_FUNCTION("usb.closeDevice", USB_CLOSEDEVICE) |
199 | 199 |
200 UsbCloseDeviceFunction(); | 200 UsbCloseDeviceFunction(); |
201 | 201 |
202 protected: | 202 protected: |
203 virtual ~UsbCloseDeviceFunction(); | 203 ~UsbCloseDeviceFunction() override; |
204 | 204 |
205 virtual bool Prepare() override; | 205 bool Prepare() override; |
206 virtual void AsyncWorkStart() override; | 206 void AsyncWorkStart() override; |
207 | 207 |
208 private: | 208 private: |
209 scoped_ptr<extensions::core_api::usb::CloseDevice::Params> parameters_; | 209 scoped_ptr<extensions::core_api::usb::CloseDevice::Params> parameters_; |
210 }; | 210 }; |
211 | 211 |
212 class UsbClaimInterfaceFunction : public UsbAsyncApiFunction { | 212 class UsbClaimInterfaceFunction : public UsbAsyncApiFunction { |
213 public: | 213 public: |
214 DECLARE_EXTENSION_FUNCTION("usb.claimInterface", USB_CLAIMINTERFACE) | 214 DECLARE_EXTENSION_FUNCTION("usb.claimInterface", USB_CLAIMINTERFACE) |
215 | 215 |
216 UsbClaimInterfaceFunction(); | 216 UsbClaimInterfaceFunction(); |
217 | 217 |
218 protected: | 218 protected: |
219 virtual ~UsbClaimInterfaceFunction(); | 219 ~UsbClaimInterfaceFunction() override; |
220 | 220 |
221 virtual bool Prepare() override; | 221 bool Prepare() override; |
222 virtual void AsyncWorkStart() override; | 222 void AsyncWorkStart() override; |
223 | 223 |
224 private: | 224 private: |
225 scoped_ptr<extensions::core_api::usb::ClaimInterface::Params> parameters_; | 225 scoped_ptr<extensions::core_api::usb::ClaimInterface::Params> parameters_; |
226 }; | 226 }; |
227 | 227 |
228 class UsbReleaseInterfaceFunction : public UsbAsyncApiFunction { | 228 class UsbReleaseInterfaceFunction : public UsbAsyncApiFunction { |
229 public: | 229 public: |
230 DECLARE_EXTENSION_FUNCTION("usb.releaseInterface", USB_RELEASEINTERFACE) | 230 DECLARE_EXTENSION_FUNCTION("usb.releaseInterface", USB_RELEASEINTERFACE) |
231 | 231 |
232 UsbReleaseInterfaceFunction(); | 232 UsbReleaseInterfaceFunction(); |
233 | 233 |
234 protected: | 234 protected: |
235 virtual ~UsbReleaseInterfaceFunction(); | 235 ~UsbReleaseInterfaceFunction() override; |
236 | 236 |
237 virtual bool Prepare() override; | 237 bool Prepare() override; |
238 virtual void AsyncWorkStart() override; | 238 void AsyncWorkStart() override; |
239 | 239 |
240 private: | 240 private: |
241 scoped_ptr<extensions::core_api::usb::ReleaseInterface::Params> parameters_; | 241 scoped_ptr<extensions::core_api::usb::ReleaseInterface::Params> parameters_; |
242 }; | 242 }; |
243 | 243 |
244 class UsbSetInterfaceAlternateSettingFunction : public UsbAsyncApiFunction { | 244 class UsbSetInterfaceAlternateSettingFunction : public UsbAsyncApiFunction { |
245 public: | 245 public: |
246 DECLARE_EXTENSION_FUNCTION("usb.setInterfaceAlternateSetting", | 246 DECLARE_EXTENSION_FUNCTION("usb.setInterfaceAlternateSetting", |
247 USB_SETINTERFACEALTERNATESETTING) | 247 USB_SETINTERFACEALTERNATESETTING) |
248 | 248 |
249 UsbSetInterfaceAlternateSettingFunction(); | 249 UsbSetInterfaceAlternateSettingFunction(); |
250 | 250 |
251 private: | 251 private: |
252 virtual ~UsbSetInterfaceAlternateSettingFunction(); | 252 ~UsbSetInterfaceAlternateSettingFunction() override; |
253 | 253 |
254 virtual bool Prepare() override; | 254 bool Prepare() override; |
255 virtual void AsyncWorkStart() override; | 255 void AsyncWorkStart() override; |
256 | 256 |
257 scoped_ptr<extensions::core_api::usb::SetInterfaceAlternateSetting::Params> | 257 scoped_ptr<extensions::core_api::usb::SetInterfaceAlternateSetting::Params> |
258 parameters_; | 258 parameters_; |
259 }; | 259 }; |
260 | 260 |
261 class UsbControlTransferFunction : public UsbAsyncApiTransferFunction { | 261 class UsbControlTransferFunction : public UsbAsyncApiTransferFunction { |
262 public: | 262 public: |
263 DECLARE_EXTENSION_FUNCTION("usb.controlTransfer", USB_CONTROLTRANSFER) | 263 DECLARE_EXTENSION_FUNCTION("usb.controlTransfer", USB_CONTROLTRANSFER) |
264 | 264 |
265 UsbControlTransferFunction(); | 265 UsbControlTransferFunction(); |
266 | 266 |
267 protected: | 267 protected: |
268 virtual ~UsbControlTransferFunction(); | 268 ~UsbControlTransferFunction() override; |
269 | 269 |
270 virtual bool Prepare() override; | 270 bool Prepare() override; |
271 virtual void AsyncWorkStart() override; | 271 void AsyncWorkStart() override; |
272 | 272 |
273 private: | 273 private: |
274 scoped_ptr<extensions::core_api::usb::ControlTransfer::Params> parameters_; | 274 scoped_ptr<extensions::core_api::usb::ControlTransfer::Params> parameters_; |
275 }; | 275 }; |
276 | 276 |
277 class UsbBulkTransferFunction : public UsbAsyncApiTransferFunction { | 277 class UsbBulkTransferFunction : public UsbAsyncApiTransferFunction { |
278 public: | 278 public: |
279 DECLARE_EXTENSION_FUNCTION("usb.bulkTransfer", USB_BULKTRANSFER) | 279 DECLARE_EXTENSION_FUNCTION("usb.bulkTransfer", USB_BULKTRANSFER) |
280 | 280 |
281 UsbBulkTransferFunction(); | 281 UsbBulkTransferFunction(); |
282 | 282 |
283 protected: | 283 protected: |
284 virtual ~UsbBulkTransferFunction(); | 284 ~UsbBulkTransferFunction() override; |
285 | 285 |
286 virtual bool Prepare() override; | 286 bool Prepare() override; |
287 virtual void AsyncWorkStart() override; | 287 void AsyncWorkStart() override; |
288 | 288 |
289 private: | 289 private: |
290 scoped_ptr<extensions::core_api::usb::BulkTransfer::Params> parameters_; | 290 scoped_ptr<extensions::core_api::usb::BulkTransfer::Params> parameters_; |
291 }; | 291 }; |
292 | 292 |
293 class UsbInterruptTransferFunction : public UsbAsyncApiTransferFunction { | 293 class UsbInterruptTransferFunction : public UsbAsyncApiTransferFunction { |
294 public: | 294 public: |
295 DECLARE_EXTENSION_FUNCTION("usb.interruptTransfer", USB_INTERRUPTTRANSFER) | 295 DECLARE_EXTENSION_FUNCTION("usb.interruptTransfer", USB_INTERRUPTTRANSFER) |
296 | 296 |
297 UsbInterruptTransferFunction(); | 297 UsbInterruptTransferFunction(); |
298 | 298 |
299 protected: | 299 protected: |
300 virtual ~UsbInterruptTransferFunction(); | 300 ~UsbInterruptTransferFunction() override; |
301 | 301 |
302 virtual bool Prepare() override; | 302 bool Prepare() override; |
303 virtual void AsyncWorkStart() override; | 303 void AsyncWorkStart() override; |
304 | 304 |
305 private: | 305 private: |
306 scoped_ptr<extensions::core_api::usb::InterruptTransfer::Params> parameters_; | 306 scoped_ptr<extensions::core_api::usb::InterruptTransfer::Params> parameters_; |
307 }; | 307 }; |
308 | 308 |
309 class UsbIsochronousTransferFunction : public UsbAsyncApiTransferFunction { | 309 class UsbIsochronousTransferFunction : public UsbAsyncApiTransferFunction { |
310 public: | 310 public: |
311 DECLARE_EXTENSION_FUNCTION("usb.isochronousTransfer", USB_ISOCHRONOUSTRANSFER) | 311 DECLARE_EXTENSION_FUNCTION("usb.isochronousTransfer", USB_ISOCHRONOUSTRANSFER) |
312 | 312 |
313 UsbIsochronousTransferFunction(); | 313 UsbIsochronousTransferFunction(); |
314 | 314 |
315 protected: | 315 protected: |
316 virtual ~UsbIsochronousTransferFunction(); | 316 ~UsbIsochronousTransferFunction() override; |
317 | 317 |
318 virtual bool Prepare() override; | 318 bool Prepare() override; |
319 virtual void AsyncWorkStart() override; | 319 void AsyncWorkStart() override; |
320 | 320 |
321 private: | 321 private: |
322 scoped_ptr<extensions::core_api::usb::IsochronousTransfer::Params> | 322 scoped_ptr<extensions::core_api::usb::IsochronousTransfer::Params> |
323 parameters_; | 323 parameters_; |
324 }; | 324 }; |
325 | 325 |
326 class UsbResetDeviceFunction : public UsbAsyncApiFunction { | 326 class UsbResetDeviceFunction : public UsbAsyncApiFunction { |
327 public: | 327 public: |
328 DECLARE_EXTENSION_FUNCTION("usb.resetDevice", USB_RESETDEVICE) | 328 DECLARE_EXTENSION_FUNCTION("usb.resetDevice", USB_RESETDEVICE) |
329 | 329 |
330 UsbResetDeviceFunction(); | 330 UsbResetDeviceFunction(); |
331 | 331 |
332 protected: | 332 protected: |
333 virtual ~UsbResetDeviceFunction(); | 333 ~UsbResetDeviceFunction() override; |
334 | 334 |
335 virtual bool Prepare() override; | 335 bool Prepare() override; |
336 virtual void AsyncWorkStart() override; | 336 void AsyncWorkStart() override; |
337 | 337 |
338 private: | 338 private: |
339 scoped_ptr<extensions::core_api::usb::ResetDevice::Params> parameters_; | 339 scoped_ptr<extensions::core_api::usb::ResetDevice::Params> parameters_; |
340 }; | 340 }; |
341 } // namespace extensions | 341 } // namespace extensions |
342 | 342 |
343 #endif // EXTENSIONS_BROWSER_API_USB_USB_API_H_ | 343 #endif // EXTENSIONS_BROWSER_API_USB_USB_API_H_ |
OLD | NEW |