Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(29)

Side by Side Diff: extensions/browser/api/usb/usb_api.h

Issue 268713013: Move chrome.usb to //extensions (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « extensions/browser/api/usb/OWNERS ('k') | extensions/browser/api/usb/usb_api.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 CHROME_BROWSER_EXTENSIONS_API_USB_USB_API_H_ 5 #ifndef EXTENSIONS_BROWSER_API_USB_USB_API_H_
6 #define CHROME_BROWSER_EXTENSIONS_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
11 #include "base/memory/ref_counted.h" 11 #include "base/memory/ref_counted.h"
12 #include "base/memory/scoped_ptr.h" 12 #include "base/memory/scoped_ptr.h"
13 #include "chrome/common/extensions/api/usb.h"
14 #include "components/usb_service/usb_device.h" 13 #include "components/usb_service/usb_device.h"
15 #include "components/usb_service/usb_device_handle.h" 14 #include "components/usb_service/usb_device_handle.h"
16 #include "extensions/browser/api/api_resource_manager.h" 15 #include "extensions/browser/api/api_resource_manager.h"
17 #include "extensions/browser/api/async_api_function.h" 16 #include "extensions/browser/api/async_api_function.h"
17 #include "extensions/common/api/usb.h"
18 #include "net/base/io_buffer.h" 18 #include "net/base/io_buffer.h"
19 19
20 namespace extensions { 20 namespace extensions {
21 21
22 class UsbDeviceResource; 22 class UsbDeviceResource;
23 23
24 class UsbAsyncApiFunction : public AsyncApiFunction { 24 class UsbAsyncApiFunction : public AsyncApiFunction {
25 public: 25 public:
26 UsbAsyncApiFunction(); 26 UsbAsyncApiFunction();
27 27
28 protected: 28 protected:
29 virtual ~UsbAsyncApiFunction(); 29 virtual ~UsbAsyncApiFunction();
30 30
31 virtual bool PrePrepare() OVERRIDE; 31 virtual bool PrePrepare() OVERRIDE;
32 virtual bool Respond() OVERRIDE; 32 virtual bool Respond() OVERRIDE;
33 33
34 scoped_refptr<usb_service::UsbDevice> GetDeviceOrOrCompleteWithError( 34 scoped_refptr<usb_service::UsbDevice> GetDeviceOrOrCompleteWithError(
35 const extensions::api::usb::Device& input_device); 35 const extensions::core_api::usb::Device& input_device);
36 36
37 scoped_refptr<usb_service::UsbDeviceHandle> 37 scoped_refptr<usb_service::UsbDeviceHandle>
38 GetDeviceHandleOrCompleteWithError( 38 GetDeviceHandleOrCompleteWithError(
39 const extensions::api::usb::ConnectionHandle& input_device_handle); 39 const extensions::core_api::usb::ConnectionHandle&
40 input_device_handle);
40 41
41 void RemoveUsbDeviceResource(int api_resource_id); 42 void RemoveUsbDeviceResource(int api_resource_id);
42 43
43 void CompleteWithError(const std::string& error); 44 void CompleteWithError(const std::string& error);
44 45
45 ApiResourceManager<UsbDeviceResource>* manager_; 46 ApiResourceManager<UsbDeviceResource>* manager_;
46 }; 47 };
47 48
48 class UsbAsyncApiTransferFunction : public UsbAsyncApiFunction { 49 class UsbAsyncApiTransferFunction : public UsbAsyncApiFunction {
49 protected: 50 protected:
50 UsbAsyncApiTransferFunction(); 51 UsbAsyncApiTransferFunction();
51 virtual ~UsbAsyncApiTransferFunction(); 52 virtual ~UsbAsyncApiTransferFunction();
52 53
53 bool ConvertDirectionSafely(const extensions::api::usb::Direction& input, 54 bool ConvertDirectionSafely(const extensions::core_api::usb::Direction& input,
54 usb_service::UsbEndpointDirection* output); 55 usb_service::UsbEndpointDirection* output);
55 bool ConvertRequestTypeSafely( 56 bool ConvertRequestTypeSafely(
56 const extensions::api::usb::RequestType& input, 57 const extensions::core_api::usb::RequestType& input,
57 usb_service::UsbDeviceHandle::TransferRequestType* output); 58 usb_service::UsbDeviceHandle::TransferRequestType* output);
58 bool ConvertRecipientSafely( 59 bool ConvertRecipientSafely(
59 const extensions::api::usb::Recipient& input, 60 const extensions::core_api::usb::Recipient& input,
60 usb_service::UsbDeviceHandle::TransferRecipient* output); 61 usb_service::UsbDeviceHandle::TransferRecipient* output);
61 62
62 void OnCompleted(usb_service::UsbTransferStatus status, 63 void OnCompleted(usb_service::UsbTransferStatus status,
63 scoped_refptr<net::IOBuffer> data, 64 scoped_refptr<net::IOBuffer> data,
64 size_t length); 65 size_t length);
65 }; 66 };
66 67
67 class UsbFindDevicesFunction : public UsbAsyncApiFunction { 68 class UsbFindDevicesFunction : public UsbAsyncApiFunction {
68 public: 69 public:
69 DECLARE_EXTENSION_FUNCTION("usb.findDevices", USB_FINDDEVICES) 70 DECLARE_EXTENSION_FUNCTION("usb.findDevices", USB_FINDDEVICES)
70 71
71 UsbFindDevicesFunction(); 72 UsbFindDevicesFunction();
72 73
73 protected: 74 protected:
74 virtual ~UsbFindDevicesFunction(); 75 virtual ~UsbFindDevicesFunction();
75 76
76 virtual bool Prepare() OVERRIDE; 77 virtual bool Prepare() OVERRIDE;
77 virtual void AsyncWorkStart() OVERRIDE; 78 virtual void AsyncWorkStart() OVERRIDE;
78 79
79 private: 80 private:
80 void OpenDevices( 81 void OpenDevices(
81 scoped_ptr<std::vector<scoped_refptr<usb_service::UsbDevice> > > devices); 82 scoped_ptr<std::vector<scoped_refptr<usb_service::UsbDevice> > > devices);
82 83
83 std::vector<scoped_refptr<usb_service::UsbDeviceHandle> > device_handles_; 84 std::vector<scoped_refptr<usb_service::UsbDeviceHandle> > device_handles_;
84 scoped_ptr<extensions::api::usb::FindDevices::Params> parameters_; 85 scoped_ptr<extensions::core_api::usb::FindDevices::Params> parameters_;
85 }; 86 };
86 87
87 class UsbGetDevicesFunction : public UsbAsyncApiFunction { 88 class UsbGetDevicesFunction : public UsbAsyncApiFunction {
88 public: 89 public:
89 DECLARE_EXTENSION_FUNCTION("usb.getDevices", USB_GETDEVICES) 90 DECLARE_EXTENSION_FUNCTION("usb.getDevices", USB_GETDEVICES)
90 91
91 UsbGetDevicesFunction(); 92 UsbGetDevicesFunction();
92 93
93 virtual bool Prepare() OVERRIDE; 94 virtual bool Prepare() OVERRIDE;
94 virtual void AsyncWorkStart() OVERRIDE; 95 virtual void AsyncWorkStart() OVERRIDE;
95 96
96 protected: 97 protected:
97 virtual ~UsbGetDevicesFunction(); 98 virtual ~UsbGetDevicesFunction();
98 99
99 private: 100 private:
100 void EnumerationCompletedFileThread( 101 void EnumerationCompletedFileThread(
101 scoped_ptr<std::vector<scoped_refptr<usb_service::UsbDevice> > > devices); 102 scoped_ptr<std::vector<scoped_refptr<usb_service::UsbDevice> > > devices);
102 103
103 scoped_ptr<extensions::api::usb::GetDevices::Params> parameters_; 104 scoped_ptr<extensions::core_api::usb::GetDevices::Params> parameters_;
104 }; 105 };
105 106
106 class UsbRequestAccessFunction : public UsbAsyncApiFunction { 107 class UsbRequestAccessFunction : public UsbAsyncApiFunction {
107 public: 108 public:
108 DECLARE_EXTENSION_FUNCTION("usb.requestAccess", USB_REQUESTACCESS) 109 DECLARE_EXTENSION_FUNCTION("usb.requestAccess", USB_REQUESTACCESS)
109 110
110 UsbRequestAccessFunction(); 111 UsbRequestAccessFunction();
111 112
112 virtual bool Prepare() OVERRIDE; 113 virtual bool Prepare() OVERRIDE;
113 virtual void AsyncWorkStart() OVERRIDE; 114 virtual void AsyncWorkStart() OVERRIDE;
114 115
115 protected: 116 protected:
116 virtual ~UsbRequestAccessFunction(); 117 virtual ~UsbRequestAccessFunction();
117 118
118 void OnCompleted(bool success); 119 void OnCompleted(bool success);
119 120
120 private: 121 private:
121 scoped_ptr<extensions::api::usb::RequestAccess::Params> parameters_; 122 scoped_ptr<extensions::core_api::usb::RequestAccess::Params> parameters_;
122 }; 123 };
123 124
124 class UsbOpenDeviceFunction : public UsbAsyncApiFunction { 125 class UsbOpenDeviceFunction : public UsbAsyncApiFunction {
125 public: 126 public:
126 DECLARE_EXTENSION_FUNCTION("usb.openDevice", USB_OPENDEVICE) 127 DECLARE_EXTENSION_FUNCTION("usb.openDevice", USB_OPENDEVICE)
127 128
128 UsbOpenDeviceFunction(); 129 UsbOpenDeviceFunction();
129 130
130 virtual bool Prepare() OVERRIDE; 131 virtual bool Prepare() OVERRIDE;
131 virtual void AsyncWorkStart() OVERRIDE; 132 virtual void AsyncWorkStart() OVERRIDE;
132 133
133 protected: 134 protected:
134 virtual ~UsbOpenDeviceFunction(); 135 virtual ~UsbOpenDeviceFunction();
135 136
136 private: 137 private:
137 scoped_refptr<usb_service::UsbDeviceHandle> handle_; 138 scoped_refptr<usb_service::UsbDeviceHandle> handle_;
138 scoped_ptr<extensions::api::usb::OpenDevice::Params> parameters_; 139 scoped_ptr<extensions::core_api::usb::OpenDevice::Params> parameters_;
139 }; 140 };
140 141
141 class UsbListInterfacesFunction : public UsbAsyncApiFunction { 142 class UsbListInterfacesFunction : public UsbAsyncApiFunction {
142 public: 143 public:
143 DECLARE_EXTENSION_FUNCTION("usb.listInterfaces", USB_LISTINTERFACES) 144 DECLARE_EXTENSION_FUNCTION("usb.listInterfaces", USB_LISTINTERFACES)
144 145
145 UsbListInterfacesFunction(); 146 UsbListInterfacesFunction();
146 147
147 protected: 148 protected:
148 virtual ~UsbListInterfacesFunction(); 149 virtual ~UsbListInterfacesFunction();
149 150
150 virtual bool Prepare() OVERRIDE; 151 virtual bool Prepare() OVERRIDE;
151 virtual void AsyncWorkStart() OVERRIDE; 152 virtual void AsyncWorkStart() OVERRIDE;
152 153
153 private: 154 private:
154 bool ConvertDirectionSafely(const usb_service::UsbEndpointDirection& input, 155 bool ConvertDirectionSafely(const usb_service::UsbEndpointDirection& input,
155 extensions::api::usb::Direction* output); 156 extensions::core_api::usb::Direction* output);
156 bool ConvertSynchronizationTypeSafely( 157 bool ConvertSynchronizationTypeSafely(
157 const usb_service::UsbSynchronizationType& input, 158 const usb_service::UsbSynchronizationType& input,
158 extensions::api::usb::SynchronizationType* output); 159 extensions::core_api::usb::SynchronizationType* output);
159 bool ConvertTransferTypeSafely(const usb_service::UsbTransferType& input, 160 bool ConvertTransferTypeSafely(
160 extensions::api::usb::TransferType* output); 161 const usb_service::UsbTransferType& input,
162 extensions::core_api::usb::TransferType* output);
161 bool ConvertUsageTypeSafely(const usb_service::UsbUsageType& input, 163 bool ConvertUsageTypeSafely(const usb_service::UsbUsageType& input,
162 extensions::api::usb::UsageType* output); 164 extensions::core_api::usb::UsageType* output);
163 165
164 scoped_ptr<base::ListValue> result_; 166 scoped_ptr<base::ListValue> result_;
165 scoped_ptr<extensions::api::usb::ListInterfaces::Params> parameters_; 167 scoped_ptr<extensions::core_api::usb::ListInterfaces::Params> parameters_;
166 }; 168 };
167 169
168 class UsbCloseDeviceFunction : public UsbAsyncApiFunction { 170 class UsbCloseDeviceFunction : public UsbAsyncApiFunction {
169 public: 171 public:
170 DECLARE_EXTENSION_FUNCTION("usb.closeDevice", USB_CLOSEDEVICE) 172 DECLARE_EXTENSION_FUNCTION("usb.closeDevice", USB_CLOSEDEVICE)
171 173
172 UsbCloseDeviceFunction(); 174 UsbCloseDeviceFunction();
173 175
174 protected: 176 protected:
175 virtual ~UsbCloseDeviceFunction(); 177 virtual ~UsbCloseDeviceFunction();
176 178
177 virtual bool Prepare() OVERRIDE; 179 virtual bool Prepare() OVERRIDE;
178 virtual void AsyncWorkStart() OVERRIDE; 180 virtual void AsyncWorkStart() OVERRIDE;
179 181
180 private: 182 private:
181 scoped_ptr<extensions::api::usb::CloseDevice::Params> parameters_; 183 scoped_ptr<extensions::core_api::usb::CloseDevice::Params> parameters_;
182 }; 184 };
183 185
184 class UsbClaimInterfaceFunction : public UsbAsyncApiFunction { 186 class UsbClaimInterfaceFunction : public UsbAsyncApiFunction {
185 public: 187 public:
186 DECLARE_EXTENSION_FUNCTION("usb.claimInterface", USB_CLAIMINTERFACE) 188 DECLARE_EXTENSION_FUNCTION("usb.claimInterface", USB_CLAIMINTERFACE)
187 189
188 UsbClaimInterfaceFunction(); 190 UsbClaimInterfaceFunction();
189 191
190 protected: 192 protected:
191 virtual ~UsbClaimInterfaceFunction(); 193 virtual ~UsbClaimInterfaceFunction();
192 194
193 virtual bool Prepare() OVERRIDE; 195 virtual bool Prepare() OVERRIDE;
194 virtual void AsyncWorkStart() OVERRIDE; 196 virtual void AsyncWorkStart() OVERRIDE;
195 197
196 private: 198 private:
197 scoped_ptr<extensions::api::usb::ClaimInterface::Params> parameters_; 199 scoped_ptr<extensions::core_api::usb::ClaimInterface::Params> parameters_;
198 }; 200 };
199 201
200 class UsbReleaseInterfaceFunction : public UsbAsyncApiFunction { 202 class UsbReleaseInterfaceFunction : public UsbAsyncApiFunction {
201 public: 203 public:
202 DECLARE_EXTENSION_FUNCTION("usb.releaseInterface", USB_RELEASEINTERFACE) 204 DECLARE_EXTENSION_FUNCTION("usb.releaseInterface", USB_RELEASEINTERFACE)
203 205
204 UsbReleaseInterfaceFunction(); 206 UsbReleaseInterfaceFunction();
205 207
206 protected: 208 protected:
207 virtual ~UsbReleaseInterfaceFunction(); 209 virtual ~UsbReleaseInterfaceFunction();
208 210
209 virtual bool Prepare() OVERRIDE; 211 virtual bool Prepare() OVERRIDE;
210 virtual void AsyncWorkStart() OVERRIDE; 212 virtual void AsyncWorkStart() OVERRIDE;
211 213
212 private: 214 private:
213 scoped_ptr<extensions::api::usb::ReleaseInterface::Params> parameters_; 215 scoped_ptr<extensions::core_api::usb::ReleaseInterface::Params> parameters_;
214 }; 216 };
215 217
216 class UsbSetInterfaceAlternateSettingFunction : public UsbAsyncApiFunction { 218 class UsbSetInterfaceAlternateSettingFunction : public UsbAsyncApiFunction {
217 public: 219 public:
218 DECLARE_EXTENSION_FUNCTION("usb.setInterfaceAlternateSetting", 220 DECLARE_EXTENSION_FUNCTION("usb.setInterfaceAlternateSetting",
219 USB_SETINTERFACEALTERNATESETTING) 221 USB_SETINTERFACEALTERNATESETTING)
220 222
221 UsbSetInterfaceAlternateSettingFunction(); 223 UsbSetInterfaceAlternateSettingFunction();
222 224
223 private: 225 private:
224 virtual ~UsbSetInterfaceAlternateSettingFunction(); 226 virtual ~UsbSetInterfaceAlternateSettingFunction();
225 227
226 virtual bool Prepare() OVERRIDE; 228 virtual bool Prepare() OVERRIDE;
227 virtual void AsyncWorkStart() OVERRIDE; 229 virtual void AsyncWorkStart() OVERRIDE;
228 230
229 scoped_ptr<extensions::api::usb::SetInterfaceAlternateSetting::Params> 231 scoped_ptr<extensions::core_api::usb::SetInterfaceAlternateSetting::Params>
230 parameters_; 232 parameters_;
231 }; 233 };
232 234
233 class UsbControlTransferFunction : public UsbAsyncApiTransferFunction { 235 class UsbControlTransferFunction : public UsbAsyncApiTransferFunction {
234 public: 236 public:
235 DECLARE_EXTENSION_FUNCTION("usb.controlTransfer", USB_CONTROLTRANSFER) 237 DECLARE_EXTENSION_FUNCTION("usb.controlTransfer", USB_CONTROLTRANSFER)
236 238
237 UsbControlTransferFunction(); 239 UsbControlTransferFunction();
238 240
239 protected: 241 protected:
240 virtual ~UsbControlTransferFunction(); 242 virtual ~UsbControlTransferFunction();
241 243
242 virtual bool Prepare() OVERRIDE; 244 virtual bool Prepare() OVERRIDE;
243 virtual void AsyncWorkStart() OVERRIDE; 245 virtual void AsyncWorkStart() OVERRIDE;
244 246
245 private: 247 private:
246 scoped_ptr<extensions::api::usb::ControlTransfer::Params> parameters_; 248 scoped_ptr<extensions::core_api::usb::ControlTransfer::Params> parameters_;
247 }; 249 };
248 250
249 class UsbBulkTransferFunction : public UsbAsyncApiTransferFunction { 251 class UsbBulkTransferFunction : public UsbAsyncApiTransferFunction {
250 public: 252 public:
251 DECLARE_EXTENSION_FUNCTION("usb.bulkTransfer", USB_BULKTRANSFER) 253 DECLARE_EXTENSION_FUNCTION("usb.bulkTransfer", USB_BULKTRANSFER)
252 254
253 UsbBulkTransferFunction(); 255 UsbBulkTransferFunction();
254 256
255 protected: 257 protected:
256 virtual ~UsbBulkTransferFunction(); 258 virtual ~UsbBulkTransferFunction();
257 259
258 virtual bool Prepare() OVERRIDE; 260 virtual bool Prepare() OVERRIDE;
259 virtual void AsyncWorkStart() OVERRIDE; 261 virtual void AsyncWorkStart() OVERRIDE;
260 262
261 private: 263 private:
262 scoped_ptr<extensions::api::usb::BulkTransfer::Params> parameters_; 264 scoped_ptr<extensions::core_api::usb::BulkTransfer::Params> parameters_;
263 }; 265 };
264 266
265 class UsbInterruptTransferFunction : public UsbAsyncApiTransferFunction { 267 class UsbInterruptTransferFunction : public UsbAsyncApiTransferFunction {
266 public: 268 public:
267 DECLARE_EXTENSION_FUNCTION("usb.interruptTransfer", USB_INTERRUPTTRANSFER) 269 DECLARE_EXTENSION_FUNCTION("usb.interruptTransfer", USB_INTERRUPTTRANSFER)
268 270
269 UsbInterruptTransferFunction(); 271 UsbInterruptTransferFunction();
270 272
271 protected: 273 protected:
272 virtual ~UsbInterruptTransferFunction(); 274 virtual ~UsbInterruptTransferFunction();
273 275
274 virtual bool Prepare() OVERRIDE; 276 virtual bool Prepare() OVERRIDE;
275 virtual void AsyncWorkStart() OVERRIDE; 277 virtual void AsyncWorkStart() OVERRIDE;
276 278
277 private: 279 private:
278 scoped_ptr<extensions::api::usb::InterruptTransfer::Params> parameters_; 280 scoped_ptr<extensions::core_api::usb::InterruptTransfer::Params> parameters_;
279 }; 281 };
280 282
281 class UsbIsochronousTransferFunction : public UsbAsyncApiTransferFunction { 283 class UsbIsochronousTransferFunction : public UsbAsyncApiTransferFunction {
282 public: 284 public:
283 DECLARE_EXTENSION_FUNCTION("usb.isochronousTransfer", USB_ISOCHRONOUSTRANSFER) 285 DECLARE_EXTENSION_FUNCTION("usb.isochronousTransfer", USB_ISOCHRONOUSTRANSFER)
284 286
285 UsbIsochronousTransferFunction(); 287 UsbIsochronousTransferFunction();
286 288
287 protected: 289 protected:
288 virtual ~UsbIsochronousTransferFunction(); 290 virtual ~UsbIsochronousTransferFunction();
289 291
290 virtual bool Prepare() OVERRIDE; 292 virtual bool Prepare() OVERRIDE;
291 virtual void AsyncWorkStart() OVERRIDE; 293 virtual void AsyncWorkStart() OVERRIDE;
292 294
293 private: 295 private:
294 scoped_ptr<extensions::api::usb::IsochronousTransfer::Params> parameters_; 296 scoped_ptr<extensions::core_api::usb::IsochronousTransfer::Params>
297 parameters_;
295 }; 298 };
296 299
297 class UsbResetDeviceFunction : public UsbAsyncApiFunction { 300 class UsbResetDeviceFunction : public UsbAsyncApiFunction {
298 public: 301 public:
299 DECLARE_EXTENSION_FUNCTION("usb.resetDevice", USB_RESETDEVICE) 302 DECLARE_EXTENSION_FUNCTION("usb.resetDevice", USB_RESETDEVICE)
300 303
301 UsbResetDeviceFunction(); 304 UsbResetDeviceFunction();
302 305
303 protected: 306 protected:
304 virtual ~UsbResetDeviceFunction(); 307 virtual ~UsbResetDeviceFunction();
305 308
306 virtual bool Prepare() OVERRIDE; 309 virtual bool Prepare() OVERRIDE;
307 virtual void AsyncWorkStart() OVERRIDE; 310 virtual void AsyncWorkStart() OVERRIDE;
308 311
309 private: 312 private:
310 scoped_ptr<extensions::api::usb::ResetDevice::Params> parameters_; 313 scoped_ptr<extensions::core_api::usb::ResetDevice::Params> parameters_;
311 }; 314 };
312 } // namespace extensions 315 } // namespace extensions
313 316
314 #endif // CHROME_BROWSER_EXTENSIONS_API_USB_USB_API_H_ 317 #endif // EXTENSIONS_BROWSER_API_USB_USB_API_H_
OLDNEW
« no previous file with comments | « extensions/browser/api/usb/OWNERS ('k') | extensions/browser/api/usb/usb_api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698