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

Side by Side Diff: third_party/WebKit/LayoutTests/usb/resources/device.mojom.js

Issue 1472693004: [Do not commit] Sample USB layout tests with Mojo service mocks (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@usb-testing-4
Patch Set: rebase Created 4 years, 10 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
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 define("device/devices_app/usb/public/interfaces/device.mojom", [
6 "mojo/public/js/bindings",
7 "mojo/public/js/codec",
8 "mojo/public/js/connection",
9 "mojo/public/js/core",
10 "mojo/public/js/validator",
11 ], function(bindings, codec, connection, core, validator) {
12 var OpenDeviceError = {};
13 OpenDeviceError.OK = 0;
14 OpenDeviceError.ACCESS_DENIED = OpenDeviceError.OK + 1;
15 var TransferDirection = {};
16 TransferDirection.IN = 0;
17 TransferDirection.OUT = TransferDirection.IN + 1;
18 var ControlTransferType = {};
19 ControlTransferType.STANDARD = 0;
20 ControlTransferType.CLASS = ControlTransferType.STANDARD + 1;
21 ControlTransferType.VENDOR = ControlTransferType.CLASS + 1;
22 ControlTransferType.RESERVED = ControlTransferType.VENDOR + 1;
23 var ControlTransferRecipient = {};
24 ControlTransferRecipient.DEVICE = 0;
25 ControlTransferRecipient.INTERFACE = ControlTransferRecipient.DEVICE + 1;
26 ControlTransferRecipient.ENDPOINT = ControlTransferRecipient.INTERFACE + 1;
27 ControlTransferRecipient.OTHER = ControlTransferRecipient.ENDPOINT + 1;
28 var EndpointType = {};
29 EndpointType.BULK = 0;
30 EndpointType.INTERRUPT = EndpointType.BULK + 1;
31 EndpointType.ISOCHRONOUS = EndpointType.INTERRUPT + 1;
32 var TransferStatus = {};
33 TransferStatus.COMPLETED = 0;
34 TransferStatus.ERROR = TransferStatus.COMPLETED + 1;
35 TransferStatus.PERMISSION_DENIED = TransferStatus.ERROR + 1;
36 TransferStatus.TIMEOUT = TransferStatus.PERMISSION_DENIED + 1;
37 TransferStatus.CANCELLED = TransferStatus.TIMEOUT + 1;
38 TransferStatus.STALLED = TransferStatus.CANCELLED + 1;
39 TransferStatus.DISCONNECT = TransferStatus.STALLED + 1;
40 TransferStatus.BABBLE = TransferStatus.DISCONNECT + 1;
41 TransferStatus.SHORT_PACKET = TransferStatus.BABBLE + 1;
42
43 function EndpointInfo(values) {
44 this.initDefaults_();
45 this.initFields_(values);
46 }
47
48
49 EndpointInfo.prototype.initDefaults_ = function() {
50 this.endpoint_number = 0;
51 this.direction = 0;
52 this.type = 0;
53 this.packet_size = 0;
54 };
55 EndpointInfo.prototype.initFields_ = function(fields) {
56 for(var field in fields) {
57 if (this.hasOwnProperty(field))
58 this[field] = fields[field];
59 }
60 };
61
62 EndpointInfo.validate = function(messageValidator, offset) {
63 var err;
64 err = messageValidator.validateStructHeader(offset, EndpointInfo.encodedSize , 0);
65 if (err !== validator.validationError.NONE)
66 return err;
67
68
69
70
71
72 return validator.validationError.NONE;
73 };
74
75 EndpointInfo.encodedSize = codec.kStructHeaderSize + 16;
76
77 EndpointInfo.decode = function(decoder) {
78 var packed;
79 var val = new EndpointInfo();
80 var numberOfBytes = decoder.readUint32();
81 var version = decoder.readUint32();
82 val.endpoint_number = decoder.decodeStruct(codec.Uint8);
83 decoder.skip(1);
84 decoder.skip(1);
85 decoder.skip(1);
86 val.direction = decoder.decodeStruct(codec.Int32);
87 val.type = decoder.decodeStruct(codec.Int32);
88 val.packet_size = decoder.decodeStruct(codec.Uint32);
89 return val;
90 };
91
92 EndpointInfo.encode = function(encoder, val) {
93 var packed;
94 encoder.writeUint32(EndpointInfo.encodedSize);
95 encoder.writeUint32(0);
96 encoder.encodeStruct(codec.Uint8, val.endpoint_number);
97 encoder.skip(1);
98 encoder.skip(1);
99 encoder.skip(1);
100 encoder.encodeStruct(codec.Int32, val.direction);
101 encoder.encodeStruct(codec.Int32, val.type);
102 encoder.encodeStruct(codec.Uint32, val.packet_size);
103 };
104
105 function AlternateInterfaceInfo(values) {
106 this.initDefaults_();
107 this.initFields_(values);
108 }
109
110
111 AlternateInterfaceInfo.prototype.initDefaults_ = function() {
112 this.alternate_setting = 0;
113 this.class_code = 0;
114 this.subclass_code = 0;
115 this.protocol_code = 0;
116 this.interface_name = null;
117 this.endpoints = null;
118 };
119 AlternateInterfaceInfo.prototype.initFields_ = function(fields) {
120 for(var field in fields) {
121 if (this.hasOwnProperty(field))
122 this[field] = fields[field];
123 }
124 };
125
126 AlternateInterfaceInfo.validate = function(messageValidator, offset) {
127 var err;
128 err = messageValidator.validateStructHeader(offset, AlternateInterfaceInfo.e ncodedSize, 0);
129 if (err !== validator.validationError.NONE)
130 return err;
131
132
133
134
135
136
137 // validate AlternateInterfaceInfo.interface_name
138 err = messageValidator.validateStringPointer(offset + codec.kStructHeaderSiz e + 8, true)
139 if (err !== validator.validationError.NONE)
140 return err;
141
142
143 // validate AlternateInterfaceInfo.endpoints
144 err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 16, 8, new codec.PointerTo(EndpointInfo), false, [0], 0);
145 if (err !== validator.validationError.NONE)
146 return err;
147
148 return validator.validationError.NONE;
149 };
150
151 AlternateInterfaceInfo.encodedSize = codec.kStructHeaderSize + 24;
152
153 AlternateInterfaceInfo.decode = function(decoder) {
154 var packed;
155 var val = new AlternateInterfaceInfo();
156 var numberOfBytes = decoder.readUint32();
157 var version = decoder.readUint32();
158 val.alternate_setting = decoder.decodeStruct(codec.Uint8);
159 val.class_code = decoder.decodeStruct(codec.Uint8);
160 val.subclass_code = decoder.decodeStruct(codec.Uint8);
161 val.protocol_code = decoder.decodeStruct(codec.Uint8);
162 decoder.skip(1);
163 decoder.skip(1);
164 decoder.skip(1);
165 decoder.skip(1);
166 val.interface_name = decoder.decodeStruct(codec.NullableString);
167 val.endpoints = decoder.decodeArrayPointer(new codec.PointerTo(EndpointInfo) );
168 return val;
169 };
170
171 AlternateInterfaceInfo.encode = function(encoder, val) {
172 var packed;
173 encoder.writeUint32(AlternateInterfaceInfo.encodedSize);
174 encoder.writeUint32(0);
175 encoder.encodeStruct(codec.Uint8, val.alternate_setting);
176 encoder.encodeStruct(codec.Uint8, val.class_code);
177 encoder.encodeStruct(codec.Uint8, val.subclass_code);
178 encoder.encodeStruct(codec.Uint8, val.protocol_code);
179 encoder.skip(1);
180 encoder.skip(1);
181 encoder.skip(1);
182 encoder.skip(1);
183 encoder.encodeStruct(codec.NullableString, val.interface_name);
184 encoder.encodeArrayPointer(new codec.PointerTo(EndpointInfo), val.endpoints) ;
185 };
186
187 function InterfaceInfo(values) {
188 this.initDefaults_();
189 this.initFields_(values);
190 }
191
192
193 InterfaceInfo.prototype.initDefaults_ = function() {
194 this.interface_number = 0;
195 this.alternates = null;
196 };
197 InterfaceInfo.prototype.initFields_ = function(fields) {
198 for(var field in fields) {
199 if (this.hasOwnProperty(field))
200 this[field] = fields[field];
201 }
202 };
203
204 InterfaceInfo.validate = function(messageValidator, offset) {
205 var err;
206 err = messageValidator.validateStructHeader(offset, InterfaceInfo.encodedSiz e, 0);
207 if (err !== validator.validationError.NONE)
208 return err;
209
210
211
212 // validate InterfaceInfo.alternates
213 err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 8, 8, new codec.PointerTo(AlternateInterfaceInfo), false, [0], 0);
214 if (err !== validator.validationError.NONE)
215 return err;
216
217 return validator.validationError.NONE;
218 };
219
220 InterfaceInfo.encodedSize = codec.kStructHeaderSize + 16;
221
222 InterfaceInfo.decode = function(decoder) {
223 var packed;
224 var val = new InterfaceInfo();
225 var numberOfBytes = decoder.readUint32();
226 var version = decoder.readUint32();
227 val.interface_number = decoder.decodeStruct(codec.Uint8);
228 decoder.skip(1);
229 decoder.skip(1);
230 decoder.skip(1);
231 decoder.skip(1);
232 decoder.skip(1);
233 decoder.skip(1);
234 decoder.skip(1);
235 val.alternates = decoder.decodeArrayPointer(new codec.PointerTo(AlternateInt erfaceInfo));
236 return val;
237 };
238
239 InterfaceInfo.encode = function(encoder, val) {
240 var packed;
241 encoder.writeUint32(InterfaceInfo.encodedSize);
242 encoder.writeUint32(0);
243 encoder.encodeStruct(codec.Uint8, val.interface_number);
244 encoder.skip(1);
245 encoder.skip(1);
246 encoder.skip(1);
247 encoder.skip(1);
248 encoder.skip(1);
249 encoder.skip(1);
250 encoder.skip(1);
251 encoder.encodeArrayPointer(new codec.PointerTo(AlternateInterfaceInfo), val. alternates);
252 };
253
254 function ConfigurationInfo(values) {
255 this.initDefaults_();
256 this.initFields_(values);
257 }
258
259
260 ConfigurationInfo.prototype.initDefaults_ = function() {
261 this.configuration_value = 0;
262 this.configuration_name = null;
263 this.interfaces = null;
264 };
265 ConfigurationInfo.prototype.initFields_ = function(fields) {
266 for(var field in fields) {
267 if (this.hasOwnProperty(field))
268 this[field] = fields[field];
269 }
270 };
271
272 ConfigurationInfo.validate = function(messageValidator, offset) {
273 var err;
274 err = messageValidator.validateStructHeader(offset, ConfigurationInfo.encode dSize, 0);
275 if (err !== validator.validationError.NONE)
276 return err;
277
278
279
280 // validate ConfigurationInfo.configuration_name
281 err = messageValidator.validateStringPointer(offset + codec.kStructHeaderSiz e + 8, true)
282 if (err !== validator.validationError.NONE)
283 return err;
284
285
286 // validate ConfigurationInfo.interfaces
287 err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 16, 8, new codec.PointerTo(InterfaceInfo), false, [0], 0);
288 if (err !== validator.validationError.NONE)
289 return err;
290
291 return validator.validationError.NONE;
292 };
293
294 ConfigurationInfo.encodedSize = codec.kStructHeaderSize + 24;
295
296 ConfigurationInfo.decode = function(decoder) {
297 var packed;
298 var val = new ConfigurationInfo();
299 var numberOfBytes = decoder.readUint32();
300 var version = decoder.readUint32();
301 val.configuration_value = decoder.decodeStruct(codec.Uint8);
302 decoder.skip(1);
303 decoder.skip(1);
304 decoder.skip(1);
305 decoder.skip(1);
306 decoder.skip(1);
307 decoder.skip(1);
308 decoder.skip(1);
309 val.configuration_name = decoder.decodeStruct(codec.NullableString);
310 val.interfaces = decoder.decodeArrayPointer(new codec.PointerTo(InterfaceInf o));
311 return val;
312 };
313
314 ConfigurationInfo.encode = function(encoder, val) {
315 var packed;
316 encoder.writeUint32(ConfigurationInfo.encodedSize);
317 encoder.writeUint32(0);
318 encoder.encodeStruct(codec.Uint8, val.configuration_value);
319 encoder.skip(1);
320 encoder.skip(1);
321 encoder.skip(1);
322 encoder.skip(1);
323 encoder.skip(1);
324 encoder.skip(1);
325 encoder.skip(1);
326 encoder.encodeStruct(codec.NullableString, val.configuration_name);
327 encoder.encodeArrayPointer(new codec.PointerTo(InterfaceInfo), val.interface s);
328 };
329
330 function WebUsbFunctionSubset(values) {
331 this.initDefaults_();
332 this.initFields_(values);
333 }
334
335
336 WebUsbFunctionSubset.prototype.initDefaults_ = function() {
337 this.first_interface = 0;
338 this.origins = null;
339 };
340 WebUsbFunctionSubset.prototype.initFields_ = function(fields) {
341 for(var field in fields) {
342 if (this.hasOwnProperty(field))
343 this[field] = fields[field];
344 }
345 };
346
347 WebUsbFunctionSubset.validate = function(messageValidator, offset) {
348 var err;
349 err = messageValidator.validateStructHeader(offset, WebUsbFunctionSubset.enc odedSize, 0);
350 if (err !== validator.validationError.NONE)
351 return err;
352
353
354
355 // validate WebUsbFunctionSubset.origins
356 err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 8, 8, codec.String, false, [0, 0], 0);
357 if (err !== validator.validationError.NONE)
358 return err;
359
360 return validator.validationError.NONE;
361 };
362
363 WebUsbFunctionSubset.encodedSize = codec.kStructHeaderSize + 16;
364
365 WebUsbFunctionSubset.decode = function(decoder) {
366 var packed;
367 var val = new WebUsbFunctionSubset();
368 var numberOfBytes = decoder.readUint32();
369 var version = decoder.readUint32();
370 val.first_interface = decoder.decodeStruct(codec.Uint8);
371 decoder.skip(1);
372 decoder.skip(1);
373 decoder.skip(1);
374 decoder.skip(1);
375 decoder.skip(1);
376 decoder.skip(1);
377 decoder.skip(1);
378 val.origins = decoder.decodeArrayPointer(codec.String);
379 return val;
380 };
381
382 WebUsbFunctionSubset.encode = function(encoder, val) {
383 var packed;
384 encoder.writeUint32(WebUsbFunctionSubset.encodedSize);
385 encoder.writeUint32(0);
386 encoder.encodeStruct(codec.Uint8, val.first_interface);
387 encoder.skip(1);
388 encoder.skip(1);
389 encoder.skip(1);
390 encoder.skip(1);
391 encoder.skip(1);
392 encoder.skip(1);
393 encoder.skip(1);
394 encoder.encodeArrayPointer(codec.String, val.origins);
395 };
396
397 function WebUsbConfigurationSubset(values) {
398 this.initDefaults_();
399 this.initFields_(values);
400 }
401
402
403 WebUsbConfigurationSubset.prototype.initDefaults_ = function() {
404 this.configuration_value = 0;
405 this.origins = null;
406 this.functions = null;
407 };
408 WebUsbConfigurationSubset.prototype.initFields_ = function(fields) {
409 for(var field in fields) {
410 if (this.hasOwnProperty(field))
411 this[field] = fields[field];
412 }
413 };
414
415 WebUsbConfigurationSubset.validate = function(messageValidator, offset) {
416 var err;
417 err = messageValidator.validateStructHeader(offset, WebUsbConfigurationSubse t.encodedSize, 0);
418 if (err !== validator.validationError.NONE)
419 return err;
420
421
422
423 // validate WebUsbConfigurationSubset.origins
424 err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 8, 8, codec.String, false, [0, 0], 0);
425 if (err !== validator.validationError.NONE)
426 return err;
427
428
429 // validate WebUsbConfigurationSubset.functions
430 err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 16, 8, new codec.PointerTo(WebUsbFunctionSubset), false, [0], 0);
431 if (err !== validator.validationError.NONE)
432 return err;
433
434 return validator.validationError.NONE;
435 };
436
437 WebUsbConfigurationSubset.encodedSize = codec.kStructHeaderSize + 24;
438
439 WebUsbConfigurationSubset.decode = function(decoder) {
440 var packed;
441 var val = new WebUsbConfigurationSubset();
442 var numberOfBytes = decoder.readUint32();
443 var version = decoder.readUint32();
444 val.configuration_value = decoder.decodeStruct(codec.Uint8);
445 decoder.skip(1);
446 decoder.skip(1);
447 decoder.skip(1);
448 decoder.skip(1);
449 decoder.skip(1);
450 decoder.skip(1);
451 decoder.skip(1);
452 val.origins = decoder.decodeArrayPointer(codec.String);
453 val.functions = decoder.decodeArrayPointer(new codec.PointerTo(WebUsbFunctio nSubset));
454 return val;
455 };
456
457 WebUsbConfigurationSubset.encode = function(encoder, val) {
458 var packed;
459 encoder.writeUint32(WebUsbConfigurationSubset.encodedSize);
460 encoder.writeUint32(0);
461 encoder.encodeStruct(codec.Uint8, val.configuration_value);
462 encoder.skip(1);
463 encoder.skip(1);
464 encoder.skip(1);
465 encoder.skip(1);
466 encoder.skip(1);
467 encoder.skip(1);
468 encoder.skip(1);
469 encoder.encodeArrayPointer(codec.String, val.origins);
470 encoder.encodeArrayPointer(new codec.PointerTo(WebUsbFunctionSubset), val.fu nctions);
471 };
472
473 function WebUsbDescriptorSet(values) {
474 this.initDefaults_();
475 this.initFields_(values);
476 }
477
478
479 WebUsbDescriptorSet.prototype.initDefaults_ = function() {
480 this.origins = null;
481 this.configurations = null;
482 };
483 WebUsbDescriptorSet.prototype.initFields_ = function(fields) {
484 for(var field in fields) {
485 if (this.hasOwnProperty(field))
486 this[field] = fields[field];
487 }
488 };
489
490 WebUsbDescriptorSet.validate = function(messageValidator, offset) {
491 var err;
492 err = messageValidator.validateStructHeader(offset, WebUsbDescriptorSet.enco dedSize, 0);
493 if (err !== validator.validationError.NONE)
494 return err;
495
496
497 // validate WebUsbDescriptorSet.origins
498 err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 0, 8, codec.String, false, [0, 0], 0);
499 if (err !== validator.validationError.NONE)
500 return err;
501
502
503 // validate WebUsbDescriptorSet.configurations
504 err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 8, 8, new codec.PointerTo(WebUsbConfigurationSubset), false, [0], 0);
505 if (err !== validator.validationError.NONE)
506 return err;
507
508 return validator.validationError.NONE;
509 };
510
511 WebUsbDescriptorSet.encodedSize = codec.kStructHeaderSize + 16;
512
513 WebUsbDescriptorSet.decode = function(decoder) {
514 var packed;
515 var val = new WebUsbDescriptorSet();
516 var numberOfBytes = decoder.readUint32();
517 var version = decoder.readUint32();
518 val.origins = decoder.decodeArrayPointer(codec.String);
519 val.configurations = decoder.decodeArrayPointer(new codec.PointerTo(WebUsbCo nfigurationSubset));
520 return val;
521 };
522
523 WebUsbDescriptorSet.encode = function(encoder, val) {
524 var packed;
525 encoder.writeUint32(WebUsbDescriptorSet.encodedSize);
526 encoder.writeUint32(0);
527 encoder.encodeArrayPointer(codec.String, val.origins);
528 encoder.encodeArrayPointer(new codec.PointerTo(WebUsbConfigurationSubset), v al.configurations);
529 };
530
531 function DeviceInfo(values) {
532 this.initDefaults_();
533 this.initFields_(values);
534 }
535
536
537 DeviceInfo.prototype.initDefaults_ = function() {
538 this.guid = null;
539 this.usb_version_major = 0;
540 this.usb_version_minor = 0;
541 this.usb_version_subminor = 0;
542 this.class_code = 0;
543 this.subclass_code = 0;
544 this.protocol_code = 0;
545 this.vendor_id = 0;
546 this.product_id = 0;
547 this.device_version_major = 0;
548 this.device_version_minor = 0;
549 this.device_version_subminor = 0;
550 this.manufacturer_name = null;
551 this.product_name = null;
552 this.serial_number = null;
553 this.configurations = null;
554 this.webusb_allowed_origins = null;
555 };
556 DeviceInfo.prototype.initFields_ = function(fields) {
557 for(var field in fields) {
558 if (this.hasOwnProperty(field))
559 this[field] = fields[field];
560 }
561 };
562
563 DeviceInfo.validate = function(messageValidator, offset) {
564 var err;
565 err = messageValidator.validateStructHeader(offset, DeviceInfo.encodedSize, 0);
566 if (err !== validator.validationError.NONE)
567 return err;
568
569
570 // validate DeviceInfo.guid
571 err = messageValidator.validateStringPointer(offset + codec.kStructHeaderSiz e + 0, false)
572 if (err !== validator.validationError.NONE)
573 return err;
574
575
576
577
578
579
580
581
582
583
584
585
586
587 // validate DeviceInfo.manufacturer_name
588 err = messageValidator.validateStringPointer(offset + codec.kStructHeaderSiz e + 24, true)
589 if (err !== validator.validationError.NONE)
590 return err;
591
592
593 // validate DeviceInfo.product_name
594 err = messageValidator.validateStringPointer(offset + codec.kStructHeaderSiz e + 32, true)
595 if (err !== validator.validationError.NONE)
596 return err;
597
598
599 // validate DeviceInfo.serial_number
600 err = messageValidator.validateStringPointer(offset + codec.kStructHeaderSiz e + 40, true)
601 if (err !== validator.validationError.NONE)
602 return err;
603
604
605 // validate DeviceInfo.configurations
606 err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 48, 8, new codec.PointerTo(ConfigurationInfo), false, [0], 0);
607 if (err !== validator.validationError.NONE)
608 return err;
609
610
611 // validate DeviceInfo.webusb_allowed_origins
612 err = messageValidator.validateStructPointer(offset + codec.kStructHeaderSiz e + 56, WebUsbDescriptorSet, true);
613 if (err !== validator.validationError.NONE)
614 return err;
615
616 return validator.validationError.NONE;
617 };
618
619 DeviceInfo.encodedSize = codec.kStructHeaderSize + 64;
620
621 DeviceInfo.decode = function(decoder) {
622 var packed;
623 var val = new DeviceInfo();
624 var numberOfBytes = decoder.readUint32();
625 var version = decoder.readUint32();
626 val.guid = decoder.decodeStruct(codec.String);
627 val.usb_version_major = decoder.decodeStruct(codec.Uint8);
628 val.usb_version_minor = decoder.decodeStruct(codec.Uint8);
629 val.usb_version_subminor = decoder.decodeStruct(codec.Uint8);
630 val.class_code = decoder.decodeStruct(codec.Uint8);
631 val.subclass_code = decoder.decodeStruct(codec.Uint8);
632 val.protocol_code = decoder.decodeStruct(codec.Uint8);
633 val.vendor_id = decoder.decodeStruct(codec.Uint16);
634 val.product_id = decoder.decodeStruct(codec.Uint16);
635 val.device_version_major = decoder.decodeStruct(codec.Uint8);
636 val.device_version_minor = decoder.decodeStruct(codec.Uint8);
637 val.device_version_subminor = decoder.decodeStruct(codec.Uint8);
638 decoder.skip(1);
639 decoder.skip(1);
640 decoder.skip(1);
641 val.manufacturer_name = decoder.decodeStruct(codec.NullableString);
642 val.product_name = decoder.decodeStruct(codec.NullableString);
643 val.serial_number = decoder.decodeStruct(codec.NullableString);
644 val.configurations = decoder.decodeArrayPointer(new codec.PointerTo(Configur ationInfo));
645 val.webusb_allowed_origins = decoder.decodeStructPointer(WebUsbDescriptorSet );
646 return val;
647 };
648
649 DeviceInfo.encode = function(encoder, val) {
650 var packed;
651 encoder.writeUint32(DeviceInfo.encodedSize);
652 encoder.writeUint32(0);
653 encoder.encodeStruct(codec.String, val.guid);
654 encoder.encodeStruct(codec.Uint8, val.usb_version_major);
655 encoder.encodeStruct(codec.Uint8, val.usb_version_minor);
656 encoder.encodeStruct(codec.Uint8, val.usb_version_subminor);
657 encoder.encodeStruct(codec.Uint8, val.class_code);
658 encoder.encodeStruct(codec.Uint8, val.subclass_code);
659 encoder.encodeStruct(codec.Uint8, val.protocol_code);
660 encoder.encodeStruct(codec.Uint16, val.vendor_id);
661 encoder.encodeStruct(codec.Uint16, val.product_id);
662 encoder.encodeStruct(codec.Uint8, val.device_version_major);
663 encoder.encodeStruct(codec.Uint8, val.device_version_minor);
664 encoder.encodeStruct(codec.Uint8, val.device_version_subminor);
665 encoder.skip(1);
666 encoder.skip(1);
667 encoder.skip(1);
668 encoder.encodeStruct(codec.NullableString, val.manufacturer_name);
669 encoder.encodeStruct(codec.NullableString, val.product_name);
670 encoder.encodeStruct(codec.NullableString, val.serial_number);
671 encoder.encodeArrayPointer(new codec.PointerTo(ConfigurationInfo), val.confi gurations);
672 encoder.encodeStructPointer(WebUsbDescriptorSet, val.webusb_allowed_origins) ;
673 };
674
675 function ControlTransferParams(values) {
676 this.initDefaults_();
677 this.initFields_(values);
678 }
679
680
681 ControlTransferParams.prototype.initDefaults_ = function() {
682 this.type = 0;
683 this.recipient = 0;
684 this.request = 0;
685 this.value = 0;
686 this.index = 0;
687 };
688 ControlTransferParams.prototype.initFields_ = function(fields) {
689 for(var field in fields) {
690 if (this.hasOwnProperty(field))
691 this[field] = fields[field];
692 }
693 };
694
695 ControlTransferParams.validate = function(messageValidator, offset) {
696 var err;
697 err = messageValidator.validateStructHeader(offset, ControlTransferParams.en codedSize, 0);
698 if (err !== validator.validationError.NONE)
699 return err;
700
701
702
703
704
705
706 return validator.validationError.NONE;
707 };
708
709 ControlTransferParams.encodedSize = codec.kStructHeaderSize + 16;
710
711 ControlTransferParams.decode = function(decoder) {
712 var packed;
713 var val = new ControlTransferParams();
714 var numberOfBytes = decoder.readUint32();
715 var version = decoder.readUint32();
716 val.type = decoder.decodeStruct(codec.Int32);
717 val.recipient = decoder.decodeStruct(codec.Int32);
718 val.request = decoder.decodeStruct(codec.Uint8);
719 decoder.skip(1);
720 val.value = decoder.decodeStruct(codec.Uint16);
721 val.index = decoder.decodeStruct(codec.Uint16);
722 decoder.skip(1);
723 decoder.skip(1);
724 return val;
725 };
726
727 ControlTransferParams.encode = function(encoder, val) {
728 var packed;
729 encoder.writeUint32(ControlTransferParams.encodedSize);
730 encoder.writeUint32(0);
731 encoder.encodeStruct(codec.Int32, val.type);
732 encoder.encodeStruct(codec.Int32, val.recipient);
733 encoder.encodeStruct(codec.Uint8, val.request);
734 encoder.skip(1);
735 encoder.encodeStruct(codec.Uint16, val.value);
736 encoder.encodeStruct(codec.Uint16, val.index);
737 encoder.skip(1);
738 encoder.skip(1);
739 };
740
741 function Device_GetDeviceInfo_Params(values) {
742 this.initDefaults_();
743 this.initFields_(values);
744 }
745
746
747 Device_GetDeviceInfo_Params.prototype.initDefaults_ = function() {
748 };
749 Device_GetDeviceInfo_Params.prototype.initFields_ = function(fields) {
750 for(var field in fields) {
751 if (this.hasOwnProperty(field))
752 this[field] = fields[field];
753 }
754 };
755
756 Device_GetDeviceInfo_Params.validate = function(messageValidator, offset) {
757 var err;
758 err = messageValidator.validateStructHeader(offset, Device_GetDeviceInfo_Par ams.encodedSize, 0);
759 if (err !== validator.validationError.NONE)
760 return err;
761
762 return validator.validationError.NONE;
763 };
764
765 Device_GetDeviceInfo_Params.encodedSize = codec.kStructHeaderSize + 0;
766
767 Device_GetDeviceInfo_Params.decode = function(decoder) {
768 var packed;
769 var val = new Device_GetDeviceInfo_Params();
770 var numberOfBytes = decoder.readUint32();
771 var version = decoder.readUint32();
772 return val;
773 };
774
775 Device_GetDeviceInfo_Params.encode = function(encoder, val) {
776 var packed;
777 encoder.writeUint32(Device_GetDeviceInfo_Params.encodedSize);
778 encoder.writeUint32(0);
779 };
780
781 function Device_GetDeviceInfo_ResponseParams(values) {
782 this.initDefaults_();
783 this.initFields_(values);
784 }
785
786
787 Device_GetDeviceInfo_ResponseParams.prototype.initDefaults_ = function() {
788 this.info = null;
789 };
790 Device_GetDeviceInfo_ResponseParams.prototype.initFields_ = function(fields) {
791 for(var field in fields) {
792 if (this.hasOwnProperty(field))
793 this[field] = fields[field];
794 }
795 };
796
797 Device_GetDeviceInfo_ResponseParams.validate = function(messageValidator, offs et) {
798 var err;
799 err = messageValidator.validateStructHeader(offset, Device_GetDeviceInfo_Res ponseParams.encodedSize, 0);
800 if (err !== validator.validationError.NONE)
801 return err;
802
803
804 // validate Device_GetDeviceInfo_ResponseParams.info
805 err = messageValidator.validateStructPointer(offset + codec.kStructHeaderSiz e + 0, DeviceInfo, true);
806 if (err !== validator.validationError.NONE)
807 return err;
808
809 return validator.validationError.NONE;
810 };
811
812 Device_GetDeviceInfo_ResponseParams.encodedSize = codec.kStructHeaderSize + 8;
813
814 Device_GetDeviceInfo_ResponseParams.decode = function(decoder) {
815 var packed;
816 var val = new Device_GetDeviceInfo_ResponseParams();
817 var numberOfBytes = decoder.readUint32();
818 var version = decoder.readUint32();
819 val.info = decoder.decodeStructPointer(DeviceInfo);
820 return val;
821 };
822
823 Device_GetDeviceInfo_ResponseParams.encode = function(encoder, val) {
824 var packed;
825 encoder.writeUint32(Device_GetDeviceInfo_ResponseParams.encodedSize);
826 encoder.writeUint32(0);
827 encoder.encodeStructPointer(DeviceInfo, val.info);
828 };
829
830 function Device_GetConfiguration_Params(values) {
831 this.initDefaults_();
832 this.initFields_(values);
833 }
834
835
836 Device_GetConfiguration_Params.prototype.initDefaults_ = function() {
837 };
838 Device_GetConfiguration_Params.prototype.initFields_ = function(fields) {
839 for(var field in fields) {
840 if (this.hasOwnProperty(field))
841 this[field] = fields[field];
842 }
843 };
844
845 Device_GetConfiguration_Params.validate = function(messageValidator, offset) {
846 var err;
847 err = messageValidator.validateStructHeader(offset, Device_GetConfiguration_ Params.encodedSize, 0);
848 if (err !== validator.validationError.NONE)
849 return err;
850
851 return validator.validationError.NONE;
852 };
853
854 Device_GetConfiguration_Params.encodedSize = codec.kStructHeaderSize + 0;
855
856 Device_GetConfiguration_Params.decode = function(decoder) {
857 var packed;
858 var val = new Device_GetConfiguration_Params();
859 var numberOfBytes = decoder.readUint32();
860 var version = decoder.readUint32();
861 return val;
862 };
863
864 Device_GetConfiguration_Params.encode = function(encoder, val) {
865 var packed;
866 encoder.writeUint32(Device_GetConfiguration_Params.encodedSize);
867 encoder.writeUint32(0);
868 };
869
870 function Device_GetConfiguration_ResponseParams(values) {
871 this.initDefaults_();
872 this.initFields_(values);
873 }
874
875
876 Device_GetConfiguration_ResponseParams.prototype.initDefaults_ = function() {
877 this.value = 0;
878 };
879 Device_GetConfiguration_ResponseParams.prototype.initFields_ = function(fields ) {
880 for(var field in fields) {
881 if (this.hasOwnProperty(field))
882 this[field] = fields[field];
883 }
884 };
885
886 Device_GetConfiguration_ResponseParams.validate = function(messageValidator, o ffset) {
887 var err;
888 err = messageValidator.validateStructHeader(offset, Device_GetConfiguration_ ResponseParams.encodedSize, 0);
889 if (err !== validator.validationError.NONE)
890 return err;
891
892
893 return validator.validationError.NONE;
894 };
895
896 Device_GetConfiguration_ResponseParams.encodedSize = codec.kStructHeaderSize + 8;
897
898 Device_GetConfiguration_ResponseParams.decode = function(decoder) {
899 var packed;
900 var val = new Device_GetConfiguration_ResponseParams();
901 var numberOfBytes = decoder.readUint32();
902 var version = decoder.readUint32();
903 val.value = decoder.decodeStruct(codec.Uint8);
904 decoder.skip(1);
905 decoder.skip(1);
906 decoder.skip(1);
907 decoder.skip(1);
908 decoder.skip(1);
909 decoder.skip(1);
910 decoder.skip(1);
911 return val;
912 };
913
914 Device_GetConfiguration_ResponseParams.encode = function(encoder, val) {
915 var packed;
916 encoder.writeUint32(Device_GetConfiguration_ResponseParams.encodedSize);
917 encoder.writeUint32(0);
918 encoder.encodeStruct(codec.Uint8, val.value);
919 encoder.skip(1);
920 encoder.skip(1);
921 encoder.skip(1);
922 encoder.skip(1);
923 encoder.skip(1);
924 encoder.skip(1);
925 encoder.skip(1);
926 };
927
928 function Device_Open_Params(values) {
929 this.initDefaults_();
930 this.initFields_(values);
931 }
932
933
934 Device_Open_Params.prototype.initDefaults_ = function() {
935 };
936 Device_Open_Params.prototype.initFields_ = function(fields) {
937 for(var field in fields) {
938 if (this.hasOwnProperty(field))
939 this[field] = fields[field];
940 }
941 };
942
943 Device_Open_Params.validate = function(messageValidator, offset) {
944 var err;
945 err = messageValidator.validateStructHeader(offset, Device_Open_Params.encod edSize, 0);
946 if (err !== validator.validationError.NONE)
947 return err;
948
949 return validator.validationError.NONE;
950 };
951
952 Device_Open_Params.encodedSize = codec.kStructHeaderSize + 0;
953
954 Device_Open_Params.decode = function(decoder) {
955 var packed;
956 var val = new Device_Open_Params();
957 var numberOfBytes = decoder.readUint32();
958 var version = decoder.readUint32();
959 return val;
960 };
961
962 Device_Open_Params.encode = function(encoder, val) {
963 var packed;
964 encoder.writeUint32(Device_Open_Params.encodedSize);
965 encoder.writeUint32(0);
966 };
967
968 function Device_Open_ResponseParams(values) {
969 this.initDefaults_();
970 this.initFields_(values);
971 }
972
973
974 Device_Open_ResponseParams.prototype.initDefaults_ = function() {
975 this.error = 0;
976 };
977 Device_Open_ResponseParams.prototype.initFields_ = function(fields) {
978 for(var field in fields) {
979 if (this.hasOwnProperty(field))
980 this[field] = fields[field];
981 }
982 };
983
984 Device_Open_ResponseParams.validate = function(messageValidator, offset) {
985 var err;
986 err = messageValidator.validateStructHeader(offset, Device_Open_ResponsePara ms.encodedSize, 0);
987 if (err !== validator.validationError.NONE)
988 return err;
989
990
991 return validator.validationError.NONE;
992 };
993
994 Device_Open_ResponseParams.encodedSize = codec.kStructHeaderSize + 8;
995
996 Device_Open_ResponseParams.decode = function(decoder) {
997 var packed;
998 var val = new Device_Open_ResponseParams();
999 var numberOfBytes = decoder.readUint32();
1000 var version = decoder.readUint32();
1001 val.error = decoder.decodeStruct(codec.Int32);
1002 decoder.skip(1);
1003 decoder.skip(1);
1004 decoder.skip(1);
1005 decoder.skip(1);
1006 return val;
1007 };
1008
1009 Device_Open_ResponseParams.encode = function(encoder, val) {
1010 var packed;
1011 encoder.writeUint32(Device_Open_ResponseParams.encodedSize);
1012 encoder.writeUint32(0);
1013 encoder.encodeStruct(codec.Int32, val.error);
1014 encoder.skip(1);
1015 encoder.skip(1);
1016 encoder.skip(1);
1017 encoder.skip(1);
1018 };
1019
1020 function Device_Close_Params(values) {
1021 this.initDefaults_();
1022 this.initFields_(values);
1023 }
1024
1025
1026 Device_Close_Params.prototype.initDefaults_ = function() {
1027 };
1028 Device_Close_Params.prototype.initFields_ = function(fields) {
1029 for(var field in fields) {
1030 if (this.hasOwnProperty(field))
1031 this[field] = fields[field];
1032 }
1033 };
1034
1035 Device_Close_Params.validate = function(messageValidator, offset) {
1036 var err;
1037 err = messageValidator.validateStructHeader(offset, Device_Close_Params.enco dedSize, 0);
1038 if (err !== validator.validationError.NONE)
1039 return err;
1040
1041 return validator.validationError.NONE;
1042 };
1043
1044 Device_Close_Params.encodedSize = codec.kStructHeaderSize + 0;
1045
1046 Device_Close_Params.decode = function(decoder) {
1047 var packed;
1048 var val = new Device_Close_Params();
1049 var numberOfBytes = decoder.readUint32();
1050 var version = decoder.readUint32();
1051 return val;
1052 };
1053
1054 Device_Close_Params.encode = function(encoder, val) {
1055 var packed;
1056 encoder.writeUint32(Device_Close_Params.encodedSize);
1057 encoder.writeUint32(0);
1058 };
1059
1060 function Device_Close_ResponseParams(values) {
1061 this.initDefaults_();
1062 this.initFields_(values);
1063 }
1064
1065
1066 Device_Close_ResponseParams.prototype.initDefaults_ = function() {
1067 };
1068 Device_Close_ResponseParams.prototype.initFields_ = function(fields) {
1069 for(var field in fields) {
1070 if (this.hasOwnProperty(field))
1071 this[field] = fields[field];
1072 }
1073 };
1074
1075 Device_Close_ResponseParams.validate = function(messageValidator, offset) {
1076 var err;
1077 err = messageValidator.validateStructHeader(offset, Device_Close_ResponsePar ams.encodedSize, 0);
1078 if (err !== validator.validationError.NONE)
1079 return err;
1080
1081 return validator.validationError.NONE;
1082 };
1083
1084 Device_Close_ResponseParams.encodedSize = codec.kStructHeaderSize + 0;
1085
1086 Device_Close_ResponseParams.decode = function(decoder) {
1087 var packed;
1088 var val = new Device_Close_ResponseParams();
1089 var numberOfBytes = decoder.readUint32();
1090 var version = decoder.readUint32();
1091 return val;
1092 };
1093
1094 Device_Close_ResponseParams.encode = function(encoder, val) {
1095 var packed;
1096 encoder.writeUint32(Device_Close_ResponseParams.encodedSize);
1097 encoder.writeUint32(0);
1098 };
1099
1100 function Device_SetConfiguration_Params(values) {
1101 this.initDefaults_();
1102 this.initFields_(values);
1103 }
1104
1105
1106 Device_SetConfiguration_Params.prototype.initDefaults_ = function() {
1107 this.value = 0;
1108 };
1109 Device_SetConfiguration_Params.prototype.initFields_ = function(fields) {
1110 for(var field in fields) {
1111 if (this.hasOwnProperty(field))
1112 this[field] = fields[field];
1113 }
1114 };
1115
1116 Device_SetConfiguration_Params.validate = function(messageValidator, offset) {
1117 var err;
1118 err = messageValidator.validateStructHeader(offset, Device_SetConfiguration_ Params.encodedSize, 0);
1119 if (err !== validator.validationError.NONE)
1120 return err;
1121
1122
1123 return validator.validationError.NONE;
1124 };
1125
1126 Device_SetConfiguration_Params.encodedSize = codec.kStructHeaderSize + 8;
1127
1128 Device_SetConfiguration_Params.decode = function(decoder) {
1129 var packed;
1130 var val = new Device_SetConfiguration_Params();
1131 var numberOfBytes = decoder.readUint32();
1132 var version = decoder.readUint32();
1133 val.value = decoder.decodeStruct(codec.Uint8);
1134 decoder.skip(1);
1135 decoder.skip(1);
1136 decoder.skip(1);
1137 decoder.skip(1);
1138 decoder.skip(1);
1139 decoder.skip(1);
1140 decoder.skip(1);
1141 return val;
1142 };
1143
1144 Device_SetConfiguration_Params.encode = function(encoder, val) {
1145 var packed;
1146 encoder.writeUint32(Device_SetConfiguration_Params.encodedSize);
1147 encoder.writeUint32(0);
1148 encoder.encodeStruct(codec.Uint8, val.value);
1149 encoder.skip(1);
1150 encoder.skip(1);
1151 encoder.skip(1);
1152 encoder.skip(1);
1153 encoder.skip(1);
1154 encoder.skip(1);
1155 encoder.skip(1);
1156 };
1157
1158 function Device_SetConfiguration_ResponseParams(values) {
1159 this.initDefaults_();
1160 this.initFields_(values);
1161 }
1162
1163
1164 Device_SetConfiguration_ResponseParams.prototype.initDefaults_ = function() {
1165 this.success = false;
1166 };
1167 Device_SetConfiguration_ResponseParams.prototype.initFields_ = function(fields ) {
1168 for(var field in fields) {
1169 if (this.hasOwnProperty(field))
1170 this[field] = fields[field];
1171 }
1172 };
1173
1174 Device_SetConfiguration_ResponseParams.validate = function(messageValidator, o ffset) {
1175 var err;
1176 err = messageValidator.validateStructHeader(offset, Device_SetConfiguration_ ResponseParams.encodedSize, 0);
1177 if (err !== validator.validationError.NONE)
1178 return err;
1179
1180
1181 return validator.validationError.NONE;
1182 };
1183
1184 Device_SetConfiguration_ResponseParams.encodedSize = codec.kStructHeaderSize + 8;
1185
1186 Device_SetConfiguration_ResponseParams.decode = function(decoder) {
1187 var packed;
1188 var val = new Device_SetConfiguration_ResponseParams();
1189 var numberOfBytes = decoder.readUint32();
1190 var version = decoder.readUint32();
1191 val.success = decoder.decodeStruct(codec.Uint8);
1192 decoder.skip(1);
1193 decoder.skip(1);
1194 decoder.skip(1);
1195 decoder.skip(1);
1196 decoder.skip(1);
1197 decoder.skip(1);
1198 decoder.skip(1);
1199 return val;
1200 };
1201
1202 Device_SetConfiguration_ResponseParams.encode = function(encoder, val) {
1203 var packed;
1204 encoder.writeUint32(Device_SetConfiguration_ResponseParams.encodedSize);
1205 encoder.writeUint32(0);
1206 encoder.encodeStruct(codec.Uint8, val.success);
1207 encoder.skip(1);
1208 encoder.skip(1);
1209 encoder.skip(1);
1210 encoder.skip(1);
1211 encoder.skip(1);
1212 encoder.skip(1);
1213 encoder.skip(1);
1214 };
1215
1216 function Device_ClaimInterface_Params(values) {
1217 this.initDefaults_();
1218 this.initFields_(values);
1219 }
1220
1221
1222 Device_ClaimInterface_Params.prototype.initDefaults_ = function() {
1223 this.interface_number = 0;
1224 };
1225 Device_ClaimInterface_Params.prototype.initFields_ = function(fields) {
1226 for(var field in fields) {
1227 if (this.hasOwnProperty(field))
1228 this[field] = fields[field];
1229 }
1230 };
1231
1232 Device_ClaimInterface_Params.validate = function(messageValidator, offset) {
1233 var err;
1234 err = messageValidator.validateStructHeader(offset, Device_ClaimInterface_Pa rams.encodedSize, 0);
1235 if (err !== validator.validationError.NONE)
1236 return err;
1237
1238
1239 return validator.validationError.NONE;
1240 };
1241
1242 Device_ClaimInterface_Params.encodedSize = codec.kStructHeaderSize + 8;
1243
1244 Device_ClaimInterface_Params.decode = function(decoder) {
1245 var packed;
1246 var val = new Device_ClaimInterface_Params();
1247 var numberOfBytes = decoder.readUint32();
1248 var version = decoder.readUint32();
1249 val.interface_number = decoder.decodeStruct(codec.Uint8);
1250 decoder.skip(1);
1251 decoder.skip(1);
1252 decoder.skip(1);
1253 decoder.skip(1);
1254 decoder.skip(1);
1255 decoder.skip(1);
1256 decoder.skip(1);
1257 return val;
1258 };
1259
1260 Device_ClaimInterface_Params.encode = function(encoder, val) {
1261 var packed;
1262 encoder.writeUint32(Device_ClaimInterface_Params.encodedSize);
1263 encoder.writeUint32(0);
1264 encoder.encodeStruct(codec.Uint8, val.interface_number);
1265 encoder.skip(1);
1266 encoder.skip(1);
1267 encoder.skip(1);
1268 encoder.skip(1);
1269 encoder.skip(1);
1270 encoder.skip(1);
1271 encoder.skip(1);
1272 };
1273
1274 function Device_ClaimInterface_ResponseParams(values) {
1275 this.initDefaults_();
1276 this.initFields_(values);
1277 }
1278
1279
1280 Device_ClaimInterface_ResponseParams.prototype.initDefaults_ = function() {
1281 this.success = false;
1282 };
1283 Device_ClaimInterface_ResponseParams.prototype.initFields_ = function(fields) {
1284 for(var field in fields) {
1285 if (this.hasOwnProperty(field))
1286 this[field] = fields[field];
1287 }
1288 };
1289
1290 Device_ClaimInterface_ResponseParams.validate = function(messageValidator, off set) {
1291 var err;
1292 err = messageValidator.validateStructHeader(offset, Device_ClaimInterface_Re sponseParams.encodedSize, 0);
1293 if (err !== validator.validationError.NONE)
1294 return err;
1295
1296
1297 return validator.validationError.NONE;
1298 };
1299
1300 Device_ClaimInterface_ResponseParams.encodedSize = codec.kStructHeaderSize + 8 ;
1301
1302 Device_ClaimInterface_ResponseParams.decode = function(decoder) {
1303 var packed;
1304 var val = new Device_ClaimInterface_ResponseParams();
1305 var numberOfBytes = decoder.readUint32();
1306 var version = decoder.readUint32();
1307 val.success = decoder.decodeStruct(codec.Uint8);
1308 decoder.skip(1);
1309 decoder.skip(1);
1310 decoder.skip(1);
1311 decoder.skip(1);
1312 decoder.skip(1);
1313 decoder.skip(1);
1314 decoder.skip(1);
1315 return val;
1316 };
1317
1318 Device_ClaimInterface_ResponseParams.encode = function(encoder, val) {
1319 var packed;
1320 encoder.writeUint32(Device_ClaimInterface_ResponseParams.encodedSize);
1321 encoder.writeUint32(0);
1322 encoder.encodeStruct(codec.Uint8, val.success);
1323 encoder.skip(1);
1324 encoder.skip(1);
1325 encoder.skip(1);
1326 encoder.skip(1);
1327 encoder.skip(1);
1328 encoder.skip(1);
1329 encoder.skip(1);
1330 };
1331
1332 function Device_ReleaseInterface_Params(values) {
1333 this.initDefaults_();
1334 this.initFields_(values);
1335 }
1336
1337
1338 Device_ReleaseInterface_Params.prototype.initDefaults_ = function() {
1339 this.interface_number = 0;
1340 };
1341 Device_ReleaseInterface_Params.prototype.initFields_ = function(fields) {
1342 for(var field in fields) {
1343 if (this.hasOwnProperty(field))
1344 this[field] = fields[field];
1345 }
1346 };
1347
1348 Device_ReleaseInterface_Params.validate = function(messageValidator, offset) {
1349 var err;
1350 err = messageValidator.validateStructHeader(offset, Device_ReleaseInterface_ Params.encodedSize, 0);
1351 if (err !== validator.validationError.NONE)
1352 return err;
1353
1354
1355 return validator.validationError.NONE;
1356 };
1357
1358 Device_ReleaseInterface_Params.encodedSize = codec.kStructHeaderSize + 8;
1359
1360 Device_ReleaseInterface_Params.decode = function(decoder) {
1361 var packed;
1362 var val = new Device_ReleaseInterface_Params();
1363 var numberOfBytes = decoder.readUint32();
1364 var version = decoder.readUint32();
1365 val.interface_number = decoder.decodeStruct(codec.Uint8);
1366 decoder.skip(1);
1367 decoder.skip(1);
1368 decoder.skip(1);
1369 decoder.skip(1);
1370 decoder.skip(1);
1371 decoder.skip(1);
1372 decoder.skip(1);
1373 return val;
1374 };
1375
1376 Device_ReleaseInterface_Params.encode = function(encoder, val) {
1377 var packed;
1378 encoder.writeUint32(Device_ReleaseInterface_Params.encodedSize);
1379 encoder.writeUint32(0);
1380 encoder.encodeStruct(codec.Uint8, val.interface_number);
1381 encoder.skip(1);
1382 encoder.skip(1);
1383 encoder.skip(1);
1384 encoder.skip(1);
1385 encoder.skip(1);
1386 encoder.skip(1);
1387 encoder.skip(1);
1388 };
1389
1390 function Device_ReleaseInterface_ResponseParams(values) {
1391 this.initDefaults_();
1392 this.initFields_(values);
1393 }
1394
1395
1396 Device_ReleaseInterface_ResponseParams.prototype.initDefaults_ = function() {
1397 this.success = false;
1398 };
1399 Device_ReleaseInterface_ResponseParams.prototype.initFields_ = function(fields ) {
1400 for(var field in fields) {
1401 if (this.hasOwnProperty(field))
1402 this[field] = fields[field];
1403 }
1404 };
1405
1406 Device_ReleaseInterface_ResponseParams.validate = function(messageValidator, o ffset) {
1407 var err;
1408 err = messageValidator.validateStructHeader(offset, Device_ReleaseInterface_ ResponseParams.encodedSize, 0);
1409 if (err !== validator.validationError.NONE)
1410 return err;
1411
1412
1413 return validator.validationError.NONE;
1414 };
1415
1416 Device_ReleaseInterface_ResponseParams.encodedSize = codec.kStructHeaderSize + 8;
1417
1418 Device_ReleaseInterface_ResponseParams.decode = function(decoder) {
1419 var packed;
1420 var val = new Device_ReleaseInterface_ResponseParams();
1421 var numberOfBytes = decoder.readUint32();
1422 var version = decoder.readUint32();
1423 val.success = decoder.decodeStruct(codec.Uint8);
1424 decoder.skip(1);
1425 decoder.skip(1);
1426 decoder.skip(1);
1427 decoder.skip(1);
1428 decoder.skip(1);
1429 decoder.skip(1);
1430 decoder.skip(1);
1431 return val;
1432 };
1433
1434 Device_ReleaseInterface_ResponseParams.encode = function(encoder, val) {
1435 var packed;
1436 encoder.writeUint32(Device_ReleaseInterface_ResponseParams.encodedSize);
1437 encoder.writeUint32(0);
1438 encoder.encodeStruct(codec.Uint8, val.success);
1439 encoder.skip(1);
1440 encoder.skip(1);
1441 encoder.skip(1);
1442 encoder.skip(1);
1443 encoder.skip(1);
1444 encoder.skip(1);
1445 encoder.skip(1);
1446 };
1447
1448 function Device_SetInterfaceAlternateSetting_Params(values) {
1449 this.initDefaults_();
1450 this.initFields_(values);
1451 }
1452
1453
1454 Device_SetInterfaceAlternateSetting_Params.prototype.initDefaults_ = function( ) {
1455 this.interface_number = 0;
1456 this.alternate_setting = 0;
1457 };
1458 Device_SetInterfaceAlternateSetting_Params.prototype.initFields_ = function(fi elds) {
1459 for(var field in fields) {
1460 if (this.hasOwnProperty(field))
1461 this[field] = fields[field];
1462 }
1463 };
1464
1465 Device_SetInterfaceAlternateSetting_Params.validate = function(messageValidato r, offset) {
1466 var err;
1467 err = messageValidator.validateStructHeader(offset, Device_SetInterfaceAlter nateSetting_Params.encodedSize, 0);
1468 if (err !== validator.validationError.NONE)
1469 return err;
1470
1471
1472
1473 return validator.validationError.NONE;
1474 };
1475
1476 Device_SetInterfaceAlternateSetting_Params.encodedSize = codec.kStructHeaderSi ze + 8;
1477
1478 Device_SetInterfaceAlternateSetting_Params.decode = function(decoder) {
1479 var packed;
1480 var val = new Device_SetInterfaceAlternateSetting_Params();
1481 var numberOfBytes = decoder.readUint32();
1482 var version = decoder.readUint32();
1483 val.interface_number = decoder.decodeStruct(codec.Uint8);
1484 val.alternate_setting = decoder.decodeStruct(codec.Uint8);
1485 decoder.skip(1);
1486 decoder.skip(1);
1487 decoder.skip(1);
1488 decoder.skip(1);
1489 decoder.skip(1);
1490 decoder.skip(1);
1491 return val;
1492 };
1493
1494 Device_SetInterfaceAlternateSetting_Params.encode = function(encoder, val) {
1495 var packed;
1496 encoder.writeUint32(Device_SetInterfaceAlternateSetting_Params.encodedSize);
1497 encoder.writeUint32(0);
1498 encoder.encodeStruct(codec.Uint8, val.interface_number);
1499 encoder.encodeStruct(codec.Uint8, val.alternate_setting);
1500 encoder.skip(1);
1501 encoder.skip(1);
1502 encoder.skip(1);
1503 encoder.skip(1);
1504 encoder.skip(1);
1505 encoder.skip(1);
1506 };
1507
1508 function Device_SetInterfaceAlternateSetting_ResponseParams(values) {
1509 this.initDefaults_();
1510 this.initFields_(values);
1511 }
1512
1513
1514 Device_SetInterfaceAlternateSetting_ResponseParams.prototype.initDefaults_ = f unction() {
1515 this.success = false;
1516 };
1517 Device_SetInterfaceAlternateSetting_ResponseParams.prototype.initFields_ = fun ction(fields) {
1518 for(var field in fields) {
1519 if (this.hasOwnProperty(field))
1520 this[field] = fields[field];
1521 }
1522 };
1523
1524 Device_SetInterfaceAlternateSetting_ResponseParams.validate = function(message Validator, offset) {
1525 var err;
1526 err = messageValidator.validateStructHeader(offset, Device_SetInterfaceAlter nateSetting_ResponseParams.encodedSize, 0);
1527 if (err !== validator.validationError.NONE)
1528 return err;
1529
1530
1531 return validator.validationError.NONE;
1532 };
1533
1534 Device_SetInterfaceAlternateSetting_ResponseParams.encodedSize = codec.kStruct HeaderSize + 8;
1535
1536 Device_SetInterfaceAlternateSetting_ResponseParams.decode = function(decoder) {
1537 var packed;
1538 var val = new Device_SetInterfaceAlternateSetting_ResponseParams();
1539 var numberOfBytes = decoder.readUint32();
1540 var version = decoder.readUint32();
1541 val.success = decoder.decodeStruct(codec.Uint8);
1542 decoder.skip(1);
1543 decoder.skip(1);
1544 decoder.skip(1);
1545 decoder.skip(1);
1546 decoder.skip(1);
1547 decoder.skip(1);
1548 decoder.skip(1);
1549 return val;
1550 };
1551
1552 Device_SetInterfaceAlternateSetting_ResponseParams.encode = function(encoder, val) {
1553 var packed;
1554 encoder.writeUint32(Device_SetInterfaceAlternateSetting_ResponseParams.encod edSize);
1555 encoder.writeUint32(0);
1556 encoder.encodeStruct(codec.Uint8, val.success);
1557 encoder.skip(1);
1558 encoder.skip(1);
1559 encoder.skip(1);
1560 encoder.skip(1);
1561 encoder.skip(1);
1562 encoder.skip(1);
1563 encoder.skip(1);
1564 };
1565
1566 function Device_Reset_Params(values) {
1567 this.initDefaults_();
1568 this.initFields_(values);
1569 }
1570
1571
1572 Device_Reset_Params.prototype.initDefaults_ = function() {
1573 };
1574 Device_Reset_Params.prototype.initFields_ = function(fields) {
1575 for(var field in fields) {
1576 if (this.hasOwnProperty(field))
1577 this[field] = fields[field];
1578 }
1579 };
1580
1581 Device_Reset_Params.validate = function(messageValidator, offset) {
1582 var err;
1583 err = messageValidator.validateStructHeader(offset, Device_Reset_Params.enco dedSize, 0);
1584 if (err !== validator.validationError.NONE)
1585 return err;
1586
1587 return validator.validationError.NONE;
1588 };
1589
1590 Device_Reset_Params.encodedSize = codec.kStructHeaderSize + 0;
1591
1592 Device_Reset_Params.decode = function(decoder) {
1593 var packed;
1594 var val = new Device_Reset_Params();
1595 var numberOfBytes = decoder.readUint32();
1596 var version = decoder.readUint32();
1597 return val;
1598 };
1599
1600 Device_Reset_Params.encode = function(encoder, val) {
1601 var packed;
1602 encoder.writeUint32(Device_Reset_Params.encodedSize);
1603 encoder.writeUint32(0);
1604 };
1605
1606 function Device_Reset_ResponseParams(values) {
1607 this.initDefaults_();
1608 this.initFields_(values);
1609 }
1610
1611
1612 Device_Reset_ResponseParams.prototype.initDefaults_ = function() {
1613 this.success = false;
1614 };
1615 Device_Reset_ResponseParams.prototype.initFields_ = function(fields) {
1616 for(var field in fields) {
1617 if (this.hasOwnProperty(field))
1618 this[field] = fields[field];
1619 }
1620 };
1621
1622 Device_Reset_ResponseParams.validate = function(messageValidator, offset) {
1623 var err;
1624 err = messageValidator.validateStructHeader(offset, Device_Reset_ResponsePar ams.encodedSize, 0);
1625 if (err !== validator.validationError.NONE)
1626 return err;
1627
1628
1629 return validator.validationError.NONE;
1630 };
1631
1632 Device_Reset_ResponseParams.encodedSize = codec.kStructHeaderSize + 8;
1633
1634 Device_Reset_ResponseParams.decode = function(decoder) {
1635 var packed;
1636 var val = new Device_Reset_ResponseParams();
1637 var numberOfBytes = decoder.readUint32();
1638 var version = decoder.readUint32();
1639 val.success = decoder.decodeStruct(codec.Uint8);
1640 decoder.skip(1);
1641 decoder.skip(1);
1642 decoder.skip(1);
1643 decoder.skip(1);
1644 decoder.skip(1);
1645 decoder.skip(1);
1646 decoder.skip(1);
1647 return val;
1648 };
1649
1650 Device_Reset_ResponseParams.encode = function(encoder, val) {
1651 var packed;
1652 encoder.writeUint32(Device_Reset_ResponseParams.encodedSize);
1653 encoder.writeUint32(0);
1654 encoder.encodeStruct(codec.Uint8, val.success);
1655 encoder.skip(1);
1656 encoder.skip(1);
1657 encoder.skip(1);
1658 encoder.skip(1);
1659 encoder.skip(1);
1660 encoder.skip(1);
1661 encoder.skip(1);
1662 };
1663
1664 function Device_ClearHalt_Params(values) {
1665 this.initDefaults_();
1666 this.initFields_(values);
1667 }
1668
1669
1670 Device_ClearHalt_Params.prototype.initDefaults_ = function() {
1671 this.endpoint = 0;
1672 };
1673 Device_ClearHalt_Params.prototype.initFields_ = function(fields) {
1674 for(var field in fields) {
1675 if (this.hasOwnProperty(field))
1676 this[field] = fields[field];
1677 }
1678 };
1679
1680 Device_ClearHalt_Params.validate = function(messageValidator, offset) {
1681 var err;
1682 err = messageValidator.validateStructHeader(offset, Device_ClearHalt_Params. encodedSize, 0);
1683 if (err !== validator.validationError.NONE)
1684 return err;
1685
1686
1687 return validator.validationError.NONE;
1688 };
1689
1690 Device_ClearHalt_Params.encodedSize = codec.kStructHeaderSize + 8;
1691
1692 Device_ClearHalt_Params.decode = function(decoder) {
1693 var packed;
1694 var val = new Device_ClearHalt_Params();
1695 var numberOfBytes = decoder.readUint32();
1696 var version = decoder.readUint32();
1697 val.endpoint = decoder.decodeStruct(codec.Uint8);
1698 decoder.skip(1);
1699 decoder.skip(1);
1700 decoder.skip(1);
1701 decoder.skip(1);
1702 decoder.skip(1);
1703 decoder.skip(1);
1704 decoder.skip(1);
1705 return val;
1706 };
1707
1708 Device_ClearHalt_Params.encode = function(encoder, val) {
1709 var packed;
1710 encoder.writeUint32(Device_ClearHalt_Params.encodedSize);
1711 encoder.writeUint32(0);
1712 encoder.encodeStruct(codec.Uint8, val.endpoint);
1713 encoder.skip(1);
1714 encoder.skip(1);
1715 encoder.skip(1);
1716 encoder.skip(1);
1717 encoder.skip(1);
1718 encoder.skip(1);
1719 encoder.skip(1);
1720 };
1721
1722 function Device_ClearHalt_ResponseParams(values) {
1723 this.initDefaults_();
1724 this.initFields_(values);
1725 }
1726
1727
1728 Device_ClearHalt_ResponseParams.prototype.initDefaults_ = function() {
1729 this.success = false;
1730 };
1731 Device_ClearHalt_ResponseParams.prototype.initFields_ = function(fields) {
1732 for(var field in fields) {
1733 if (this.hasOwnProperty(field))
1734 this[field] = fields[field];
1735 }
1736 };
1737
1738 Device_ClearHalt_ResponseParams.validate = function(messageValidator, offset) {
1739 var err;
1740 err = messageValidator.validateStructHeader(offset, Device_ClearHalt_Respons eParams.encodedSize, 0);
1741 if (err !== validator.validationError.NONE)
1742 return err;
1743
1744
1745 return validator.validationError.NONE;
1746 };
1747
1748 Device_ClearHalt_ResponseParams.encodedSize = codec.kStructHeaderSize + 8;
1749
1750 Device_ClearHalt_ResponseParams.decode = function(decoder) {
1751 var packed;
1752 var val = new Device_ClearHalt_ResponseParams();
1753 var numberOfBytes = decoder.readUint32();
1754 var version = decoder.readUint32();
1755 val.success = decoder.decodeStruct(codec.Uint8);
1756 decoder.skip(1);
1757 decoder.skip(1);
1758 decoder.skip(1);
1759 decoder.skip(1);
1760 decoder.skip(1);
1761 decoder.skip(1);
1762 decoder.skip(1);
1763 return val;
1764 };
1765
1766 Device_ClearHalt_ResponseParams.encode = function(encoder, val) {
1767 var packed;
1768 encoder.writeUint32(Device_ClearHalt_ResponseParams.encodedSize);
1769 encoder.writeUint32(0);
1770 encoder.encodeStruct(codec.Uint8, val.success);
1771 encoder.skip(1);
1772 encoder.skip(1);
1773 encoder.skip(1);
1774 encoder.skip(1);
1775 encoder.skip(1);
1776 encoder.skip(1);
1777 encoder.skip(1);
1778 };
1779
1780 function Device_ControlTransferIn_Params(values) {
1781 this.initDefaults_();
1782 this.initFields_(values);
1783 }
1784
1785
1786 Device_ControlTransferIn_Params.prototype.initDefaults_ = function() {
1787 this.params = null;
1788 this.length = 0;
1789 this.timeout = 0;
1790 };
1791 Device_ControlTransferIn_Params.prototype.initFields_ = function(fields) {
1792 for(var field in fields) {
1793 if (this.hasOwnProperty(field))
1794 this[field] = fields[field];
1795 }
1796 };
1797
1798 Device_ControlTransferIn_Params.validate = function(messageValidator, offset) {
1799 var err;
1800 err = messageValidator.validateStructHeader(offset, Device_ControlTransferIn _Params.encodedSize, 0);
1801 if (err !== validator.validationError.NONE)
1802 return err;
1803
1804
1805 // validate Device_ControlTransferIn_Params.params
1806 err = messageValidator.validateStructPointer(offset + codec.kStructHeaderSiz e + 0, ControlTransferParams, false);
1807 if (err !== validator.validationError.NONE)
1808 return err;
1809
1810
1811
1812 return validator.validationError.NONE;
1813 };
1814
1815 Device_ControlTransferIn_Params.encodedSize = codec.kStructHeaderSize + 16;
1816
1817 Device_ControlTransferIn_Params.decode = function(decoder) {
1818 var packed;
1819 var val = new Device_ControlTransferIn_Params();
1820 var numberOfBytes = decoder.readUint32();
1821 var version = decoder.readUint32();
1822 val.params = decoder.decodeStructPointer(ControlTransferParams);
1823 val.length = decoder.decodeStruct(codec.Uint32);
1824 val.timeout = decoder.decodeStruct(codec.Uint32);
1825 return val;
1826 };
1827
1828 Device_ControlTransferIn_Params.encode = function(encoder, val) {
1829 var packed;
1830 encoder.writeUint32(Device_ControlTransferIn_Params.encodedSize);
1831 encoder.writeUint32(0);
1832 encoder.encodeStructPointer(ControlTransferParams, val.params);
1833 encoder.encodeStruct(codec.Uint32, val.length);
1834 encoder.encodeStruct(codec.Uint32, val.timeout);
1835 };
1836
1837 function Device_ControlTransferIn_ResponseParams(values) {
1838 this.initDefaults_();
1839 this.initFields_(values);
1840 }
1841
1842
1843 Device_ControlTransferIn_ResponseParams.prototype.initDefaults_ = function() {
1844 this.status = 0;
1845 this.data = null;
1846 };
1847 Device_ControlTransferIn_ResponseParams.prototype.initFields_ = function(field s) {
1848 for(var field in fields) {
1849 if (this.hasOwnProperty(field))
1850 this[field] = fields[field];
1851 }
1852 };
1853
1854 Device_ControlTransferIn_ResponseParams.validate = function(messageValidator, offset) {
1855 var err;
1856 err = messageValidator.validateStructHeader(offset, Device_ControlTransferIn _ResponseParams.encodedSize, 0);
1857 if (err !== validator.validationError.NONE)
1858 return err;
1859
1860
1861
1862 // validate Device_ControlTransferIn_ResponseParams.data
1863 err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 8, 1, codec.Uint8, true, [0], 0);
1864 if (err !== validator.validationError.NONE)
1865 return err;
1866
1867 return validator.validationError.NONE;
1868 };
1869
1870 Device_ControlTransferIn_ResponseParams.encodedSize = codec.kStructHeaderSize + 16;
1871
1872 Device_ControlTransferIn_ResponseParams.decode = function(decoder) {
1873 var packed;
1874 var val = new Device_ControlTransferIn_ResponseParams();
1875 var numberOfBytes = decoder.readUint32();
1876 var version = decoder.readUint32();
1877 val.status = decoder.decodeStruct(codec.Int32);
1878 decoder.skip(1);
1879 decoder.skip(1);
1880 decoder.skip(1);
1881 decoder.skip(1);
1882 val.data = decoder.decodeArrayPointer(codec.Uint8);
1883 return val;
1884 };
1885
1886 Device_ControlTransferIn_ResponseParams.encode = function(encoder, val) {
1887 var packed;
1888 encoder.writeUint32(Device_ControlTransferIn_ResponseParams.encodedSize);
1889 encoder.writeUint32(0);
1890 encoder.encodeStruct(codec.Int32, val.status);
1891 encoder.skip(1);
1892 encoder.skip(1);
1893 encoder.skip(1);
1894 encoder.skip(1);
1895 encoder.encodeArrayPointer(codec.Uint8, val.data);
1896 };
1897
1898 function Device_ControlTransferOut_Params(values) {
1899 this.initDefaults_();
1900 this.initFields_(values);
1901 }
1902
1903
1904 Device_ControlTransferOut_Params.prototype.initDefaults_ = function() {
1905 this.params = null;
1906 this.data = null;
1907 this.timeout = 0;
1908 };
1909 Device_ControlTransferOut_Params.prototype.initFields_ = function(fields) {
1910 for(var field in fields) {
1911 if (this.hasOwnProperty(field))
1912 this[field] = fields[field];
1913 }
1914 };
1915
1916 Device_ControlTransferOut_Params.validate = function(messageValidator, offset) {
1917 var err;
1918 err = messageValidator.validateStructHeader(offset, Device_ControlTransferOu t_Params.encodedSize, 0);
1919 if (err !== validator.validationError.NONE)
1920 return err;
1921
1922
1923 // validate Device_ControlTransferOut_Params.params
1924 err = messageValidator.validateStructPointer(offset + codec.kStructHeaderSiz e + 0, ControlTransferParams, false);
1925 if (err !== validator.validationError.NONE)
1926 return err;
1927
1928
1929 // validate Device_ControlTransferOut_Params.data
1930 err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 8, 1, codec.Uint8, false, [0], 0);
1931 if (err !== validator.validationError.NONE)
1932 return err;
1933
1934
1935 return validator.validationError.NONE;
1936 };
1937
1938 Device_ControlTransferOut_Params.encodedSize = codec.kStructHeaderSize + 24;
1939
1940 Device_ControlTransferOut_Params.decode = function(decoder) {
1941 var packed;
1942 var val = new Device_ControlTransferOut_Params();
1943 var numberOfBytes = decoder.readUint32();
1944 var version = decoder.readUint32();
1945 val.params = decoder.decodeStructPointer(ControlTransferParams);
1946 val.data = decoder.decodeArrayPointer(codec.Uint8);
1947 val.timeout = decoder.decodeStruct(codec.Uint32);
1948 decoder.skip(1);
1949 decoder.skip(1);
1950 decoder.skip(1);
1951 decoder.skip(1);
1952 return val;
1953 };
1954
1955 Device_ControlTransferOut_Params.encode = function(encoder, val) {
1956 var packed;
1957 encoder.writeUint32(Device_ControlTransferOut_Params.encodedSize);
1958 encoder.writeUint32(0);
1959 encoder.encodeStructPointer(ControlTransferParams, val.params);
1960 encoder.encodeArrayPointer(codec.Uint8, val.data);
1961 encoder.encodeStruct(codec.Uint32, val.timeout);
1962 encoder.skip(1);
1963 encoder.skip(1);
1964 encoder.skip(1);
1965 encoder.skip(1);
1966 };
1967
1968 function Device_ControlTransferOut_ResponseParams(values) {
1969 this.initDefaults_();
1970 this.initFields_(values);
1971 }
1972
1973
1974 Device_ControlTransferOut_ResponseParams.prototype.initDefaults_ = function() {
1975 this.status = 0;
1976 };
1977 Device_ControlTransferOut_ResponseParams.prototype.initFields_ = function(fiel ds) {
1978 for(var field in fields) {
1979 if (this.hasOwnProperty(field))
1980 this[field] = fields[field];
1981 }
1982 };
1983
1984 Device_ControlTransferOut_ResponseParams.validate = function(messageValidator, offset) {
1985 var err;
1986 err = messageValidator.validateStructHeader(offset, Device_ControlTransferOu t_ResponseParams.encodedSize, 0);
1987 if (err !== validator.validationError.NONE)
1988 return err;
1989
1990
1991 return validator.validationError.NONE;
1992 };
1993
1994 Device_ControlTransferOut_ResponseParams.encodedSize = codec.kStructHeaderSize + 8;
1995
1996 Device_ControlTransferOut_ResponseParams.decode = function(decoder) {
1997 var packed;
1998 var val = new Device_ControlTransferOut_ResponseParams();
1999 var numberOfBytes = decoder.readUint32();
2000 var version = decoder.readUint32();
2001 val.status = decoder.decodeStruct(codec.Int32);
2002 decoder.skip(1);
2003 decoder.skip(1);
2004 decoder.skip(1);
2005 decoder.skip(1);
2006 return val;
2007 };
2008
2009 Device_ControlTransferOut_ResponseParams.encode = function(encoder, val) {
2010 var packed;
2011 encoder.writeUint32(Device_ControlTransferOut_ResponseParams.encodedSize);
2012 encoder.writeUint32(0);
2013 encoder.encodeStruct(codec.Int32, val.status);
2014 encoder.skip(1);
2015 encoder.skip(1);
2016 encoder.skip(1);
2017 encoder.skip(1);
2018 };
2019
2020 function Device_GenericTransferIn_Params(values) {
2021 this.initDefaults_();
2022 this.initFields_(values);
2023 }
2024
2025
2026 Device_GenericTransferIn_Params.prototype.initDefaults_ = function() {
2027 this.endpoint_number = 0;
2028 this.length = 0;
2029 this.timeout = 0;
2030 };
2031 Device_GenericTransferIn_Params.prototype.initFields_ = function(fields) {
2032 for(var field in fields) {
2033 if (this.hasOwnProperty(field))
2034 this[field] = fields[field];
2035 }
2036 };
2037
2038 Device_GenericTransferIn_Params.validate = function(messageValidator, offset) {
2039 var err;
2040 err = messageValidator.validateStructHeader(offset, Device_GenericTransferIn _Params.encodedSize, 0);
2041 if (err !== validator.validationError.NONE)
2042 return err;
2043
2044
2045
2046
2047 return validator.validationError.NONE;
2048 };
2049
2050 Device_GenericTransferIn_Params.encodedSize = codec.kStructHeaderSize + 16;
2051
2052 Device_GenericTransferIn_Params.decode = function(decoder) {
2053 var packed;
2054 var val = new Device_GenericTransferIn_Params();
2055 var numberOfBytes = decoder.readUint32();
2056 var version = decoder.readUint32();
2057 val.endpoint_number = decoder.decodeStruct(codec.Uint8);
2058 decoder.skip(1);
2059 decoder.skip(1);
2060 decoder.skip(1);
2061 val.length = decoder.decodeStruct(codec.Uint32);
2062 val.timeout = decoder.decodeStruct(codec.Uint32);
2063 decoder.skip(1);
2064 decoder.skip(1);
2065 decoder.skip(1);
2066 decoder.skip(1);
2067 return val;
2068 };
2069
2070 Device_GenericTransferIn_Params.encode = function(encoder, val) {
2071 var packed;
2072 encoder.writeUint32(Device_GenericTransferIn_Params.encodedSize);
2073 encoder.writeUint32(0);
2074 encoder.encodeStruct(codec.Uint8, val.endpoint_number);
2075 encoder.skip(1);
2076 encoder.skip(1);
2077 encoder.skip(1);
2078 encoder.encodeStruct(codec.Uint32, val.length);
2079 encoder.encodeStruct(codec.Uint32, val.timeout);
2080 encoder.skip(1);
2081 encoder.skip(1);
2082 encoder.skip(1);
2083 encoder.skip(1);
2084 };
2085
2086 function Device_GenericTransferIn_ResponseParams(values) {
2087 this.initDefaults_();
2088 this.initFields_(values);
2089 }
2090
2091
2092 Device_GenericTransferIn_ResponseParams.prototype.initDefaults_ = function() {
2093 this.status = 0;
2094 this.data = null;
2095 };
2096 Device_GenericTransferIn_ResponseParams.prototype.initFields_ = function(field s) {
2097 for(var field in fields) {
2098 if (this.hasOwnProperty(field))
2099 this[field] = fields[field];
2100 }
2101 };
2102
2103 Device_GenericTransferIn_ResponseParams.validate = function(messageValidator, offset) {
2104 var err;
2105 err = messageValidator.validateStructHeader(offset, Device_GenericTransferIn _ResponseParams.encodedSize, 0);
2106 if (err !== validator.validationError.NONE)
2107 return err;
2108
2109
2110
2111 // validate Device_GenericTransferIn_ResponseParams.data
2112 err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 8, 1, codec.Uint8, true, [0], 0);
2113 if (err !== validator.validationError.NONE)
2114 return err;
2115
2116 return validator.validationError.NONE;
2117 };
2118
2119 Device_GenericTransferIn_ResponseParams.encodedSize = codec.kStructHeaderSize + 16;
2120
2121 Device_GenericTransferIn_ResponseParams.decode = function(decoder) {
2122 var packed;
2123 var val = new Device_GenericTransferIn_ResponseParams();
2124 var numberOfBytes = decoder.readUint32();
2125 var version = decoder.readUint32();
2126 val.status = decoder.decodeStruct(codec.Int32);
2127 decoder.skip(1);
2128 decoder.skip(1);
2129 decoder.skip(1);
2130 decoder.skip(1);
2131 val.data = decoder.decodeArrayPointer(codec.Uint8);
2132 return val;
2133 };
2134
2135 Device_GenericTransferIn_ResponseParams.encode = function(encoder, val) {
2136 var packed;
2137 encoder.writeUint32(Device_GenericTransferIn_ResponseParams.encodedSize);
2138 encoder.writeUint32(0);
2139 encoder.encodeStruct(codec.Int32, val.status);
2140 encoder.skip(1);
2141 encoder.skip(1);
2142 encoder.skip(1);
2143 encoder.skip(1);
2144 encoder.encodeArrayPointer(codec.Uint8, val.data);
2145 };
2146
2147 function Device_GenericTransferOut_Params(values) {
2148 this.initDefaults_();
2149 this.initFields_(values);
2150 }
2151
2152
2153 Device_GenericTransferOut_Params.prototype.initDefaults_ = function() {
2154 this.endpoint_number = 0;
2155 this.timeout = 0;
2156 this.data = null;
2157 };
2158 Device_GenericTransferOut_Params.prototype.initFields_ = function(fields) {
2159 for(var field in fields) {
2160 if (this.hasOwnProperty(field))
2161 this[field] = fields[field];
2162 }
2163 };
2164
2165 Device_GenericTransferOut_Params.validate = function(messageValidator, offset) {
2166 var err;
2167 err = messageValidator.validateStructHeader(offset, Device_GenericTransferOu t_Params.encodedSize, 0);
2168 if (err !== validator.validationError.NONE)
2169 return err;
2170
2171
2172
2173
2174 // validate Device_GenericTransferOut_Params.data
2175 err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 8, 1, codec.Uint8, false, [0], 0);
2176 if (err !== validator.validationError.NONE)
2177 return err;
2178
2179 return validator.validationError.NONE;
2180 };
2181
2182 Device_GenericTransferOut_Params.encodedSize = codec.kStructHeaderSize + 16;
2183
2184 Device_GenericTransferOut_Params.decode = function(decoder) {
2185 var packed;
2186 var val = new Device_GenericTransferOut_Params();
2187 var numberOfBytes = decoder.readUint32();
2188 var version = decoder.readUint32();
2189 val.endpoint_number = decoder.decodeStruct(codec.Uint8);
2190 decoder.skip(1);
2191 decoder.skip(1);
2192 decoder.skip(1);
2193 val.timeout = decoder.decodeStruct(codec.Uint32);
2194 val.data = decoder.decodeArrayPointer(codec.Uint8);
2195 return val;
2196 };
2197
2198 Device_GenericTransferOut_Params.encode = function(encoder, val) {
2199 var packed;
2200 encoder.writeUint32(Device_GenericTransferOut_Params.encodedSize);
2201 encoder.writeUint32(0);
2202 encoder.encodeStruct(codec.Uint8, val.endpoint_number);
2203 encoder.skip(1);
2204 encoder.skip(1);
2205 encoder.skip(1);
2206 encoder.encodeStruct(codec.Uint32, val.timeout);
2207 encoder.encodeArrayPointer(codec.Uint8, val.data);
2208 };
2209
2210 function Device_GenericTransferOut_ResponseParams(values) {
2211 this.initDefaults_();
2212 this.initFields_(values);
2213 }
2214
2215
2216 Device_GenericTransferOut_ResponseParams.prototype.initDefaults_ = function() {
2217 this.status = 0;
2218 };
2219 Device_GenericTransferOut_ResponseParams.prototype.initFields_ = function(fiel ds) {
2220 for(var field in fields) {
2221 if (this.hasOwnProperty(field))
2222 this[field] = fields[field];
2223 }
2224 };
2225
2226 Device_GenericTransferOut_ResponseParams.validate = function(messageValidator, offset) {
2227 var err;
2228 err = messageValidator.validateStructHeader(offset, Device_GenericTransferOu t_ResponseParams.encodedSize, 0);
2229 if (err !== validator.validationError.NONE)
2230 return err;
2231
2232
2233 return validator.validationError.NONE;
2234 };
2235
2236 Device_GenericTransferOut_ResponseParams.encodedSize = codec.kStructHeaderSize + 8;
2237
2238 Device_GenericTransferOut_ResponseParams.decode = function(decoder) {
2239 var packed;
2240 var val = new Device_GenericTransferOut_ResponseParams();
2241 var numberOfBytes = decoder.readUint32();
2242 var version = decoder.readUint32();
2243 val.status = decoder.decodeStruct(codec.Int32);
2244 decoder.skip(1);
2245 decoder.skip(1);
2246 decoder.skip(1);
2247 decoder.skip(1);
2248 return val;
2249 };
2250
2251 Device_GenericTransferOut_ResponseParams.encode = function(encoder, val) {
2252 var packed;
2253 encoder.writeUint32(Device_GenericTransferOut_ResponseParams.encodedSize);
2254 encoder.writeUint32(0);
2255 encoder.encodeStruct(codec.Int32, val.status);
2256 encoder.skip(1);
2257 encoder.skip(1);
2258 encoder.skip(1);
2259 encoder.skip(1);
2260 };
2261
2262 function Device_IsochronousTransferIn_Params(values) {
2263 this.initDefaults_();
2264 this.initFields_(values);
2265 }
2266
2267
2268 Device_IsochronousTransferIn_Params.prototype.initDefaults_ = function() {
2269 this.endpoint_number = 0;
2270 this.num_packets = 0;
2271 this.packet_length = 0;
2272 this.timeout = 0;
2273 };
2274 Device_IsochronousTransferIn_Params.prototype.initFields_ = function(fields) {
2275 for(var field in fields) {
2276 if (this.hasOwnProperty(field))
2277 this[field] = fields[field];
2278 }
2279 };
2280
2281 Device_IsochronousTransferIn_Params.validate = function(messageValidator, offs et) {
2282 var err;
2283 err = messageValidator.validateStructHeader(offset, Device_IsochronousTransf erIn_Params.encodedSize, 0);
2284 if (err !== validator.validationError.NONE)
2285 return err;
2286
2287
2288
2289
2290
2291 return validator.validationError.NONE;
2292 };
2293
2294 Device_IsochronousTransferIn_Params.encodedSize = codec.kStructHeaderSize + 16 ;
2295
2296 Device_IsochronousTransferIn_Params.decode = function(decoder) {
2297 var packed;
2298 var val = new Device_IsochronousTransferIn_Params();
2299 var numberOfBytes = decoder.readUint32();
2300 var version = decoder.readUint32();
2301 val.endpoint_number = decoder.decodeStruct(codec.Uint8);
2302 decoder.skip(1);
2303 decoder.skip(1);
2304 decoder.skip(1);
2305 val.num_packets = decoder.decodeStruct(codec.Uint32);
2306 val.packet_length = decoder.decodeStruct(codec.Uint32);
2307 val.timeout = decoder.decodeStruct(codec.Uint32);
2308 return val;
2309 };
2310
2311 Device_IsochronousTransferIn_Params.encode = function(encoder, val) {
2312 var packed;
2313 encoder.writeUint32(Device_IsochronousTransferIn_Params.encodedSize);
2314 encoder.writeUint32(0);
2315 encoder.encodeStruct(codec.Uint8, val.endpoint_number);
2316 encoder.skip(1);
2317 encoder.skip(1);
2318 encoder.skip(1);
2319 encoder.encodeStruct(codec.Uint32, val.num_packets);
2320 encoder.encodeStruct(codec.Uint32, val.packet_length);
2321 encoder.encodeStruct(codec.Uint32, val.timeout);
2322 };
2323
2324 function Device_IsochronousTransferIn_ResponseParams(values) {
2325 this.initDefaults_();
2326 this.initFields_(values);
2327 }
2328
2329
2330 Device_IsochronousTransferIn_ResponseParams.prototype.initDefaults_ = function () {
2331 this.status = 0;
2332 this.packets = null;
2333 };
2334 Device_IsochronousTransferIn_ResponseParams.prototype.initFields_ = function(f ields) {
2335 for(var field in fields) {
2336 if (this.hasOwnProperty(field))
2337 this[field] = fields[field];
2338 }
2339 };
2340
2341 Device_IsochronousTransferIn_ResponseParams.validate = function(messageValidat or, offset) {
2342 var err;
2343 err = messageValidator.validateStructHeader(offset, Device_IsochronousTransf erIn_ResponseParams.encodedSize, 0);
2344 if (err !== validator.validationError.NONE)
2345 return err;
2346
2347
2348
2349 // validate Device_IsochronousTransferIn_ResponseParams.packets
2350 err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 8, 8, new codec.ArrayOf(codec.Uint8), true, [0, 0], 0);
2351 if (err !== validator.validationError.NONE)
2352 return err;
2353
2354 return validator.validationError.NONE;
2355 };
2356
2357 Device_IsochronousTransferIn_ResponseParams.encodedSize = codec.kStructHeaderS ize + 16;
2358
2359 Device_IsochronousTransferIn_ResponseParams.decode = function(decoder) {
2360 var packed;
2361 var val = new Device_IsochronousTransferIn_ResponseParams();
2362 var numberOfBytes = decoder.readUint32();
2363 var version = decoder.readUint32();
2364 val.status = decoder.decodeStruct(codec.Int32);
2365 decoder.skip(1);
2366 decoder.skip(1);
2367 decoder.skip(1);
2368 decoder.skip(1);
2369 val.packets = decoder.decodeArrayPointer(new codec.ArrayOf(codec.Uint8));
2370 return val;
2371 };
2372
2373 Device_IsochronousTransferIn_ResponseParams.encode = function(encoder, val) {
2374 var packed;
2375 encoder.writeUint32(Device_IsochronousTransferIn_ResponseParams.encodedSize) ;
2376 encoder.writeUint32(0);
2377 encoder.encodeStruct(codec.Int32, val.status);
2378 encoder.skip(1);
2379 encoder.skip(1);
2380 encoder.skip(1);
2381 encoder.skip(1);
2382 encoder.encodeArrayPointer(new codec.ArrayOf(codec.Uint8), val.packets);
2383 };
2384
2385 function Device_IsochronousTransferOut_Params(values) {
2386 this.initDefaults_();
2387 this.initFields_(values);
2388 }
2389
2390
2391 Device_IsochronousTransferOut_Params.prototype.initDefaults_ = function() {
2392 this.endpoint_number = 0;
2393 this.timeout = 0;
2394 this.packets = null;
2395 };
2396 Device_IsochronousTransferOut_Params.prototype.initFields_ = function(fields) {
2397 for(var field in fields) {
2398 if (this.hasOwnProperty(field))
2399 this[field] = fields[field];
2400 }
2401 };
2402
2403 Device_IsochronousTransferOut_Params.validate = function(messageValidator, off set) {
2404 var err;
2405 err = messageValidator.validateStructHeader(offset, Device_IsochronousTransf erOut_Params.encodedSize, 0);
2406 if (err !== validator.validationError.NONE)
2407 return err;
2408
2409
2410
2411
2412 // validate Device_IsochronousTransferOut_Params.packets
2413 err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 8, 8, new codec.ArrayOf(codec.Uint8), false, [0, 0], 0);
2414 if (err !== validator.validationError.NONE)
2415 return err;
2416
2417 return validator.validationError.NONE;
2418 };
2419
2420 Device_IsochronousTransferOut_Params.encodedSize = codec.kStructHeaderSize + 1 6;
2421
2422 Device_IsochronousTransferOut_Params.decode = function(decoder) {
2423 var packed;
2424 var val = new Device_IsochronousTransferOut_Params();
2425 var numberOfBytes = decoder.readUint32();
2426 var version = decoder.readUint32();
2427 val.endpoint_number = decoder.decodeStruct(codec.Uint8);
2428 decoder.skip(1);
2429 decoder.skip(1);
2430 decoder.skip(1);
2431 val.timeout = decoder.decodeStruct(codec.Uint32);
2432 val.packets = decoder.decodeArrayPointer(new codec.ArrayOf(codec.Uint8));
2433 return val;
2434 };
2435
2436 Device_IsochronousTransferOut_Params.encode = function(encoder, val) {
2437 var packed;
2438 encoder.writeUint32(Device_IsochronousTransferOut_Params.encodedSize);
2439 encoder.writeUint32(0);
2440 encoder.encodeStruct(codec.Uint8, val.endpoint_number);
2441 encoder.skip(1);
2442 encoder.skip(1);
2443 encoder.skip(1);
2444 encoder.encodeStruct(codec.Uint32, val.timeout);
2445 encoder.encodeArrayPointer(new codec.ArrayOf(codec.Uint8), val.packets);
2446 };
2447
2448 function Device_IsochronousTransferOut_ResponseParams(values) {
2449 this.initDefaults_();
2450 this.initFields_(values);
2451 }
2452
2453
2454 Device_IsochronousTransferOut_ResponseParams.prototype.initDefaults_ = functio n() {
2455 this.status = 0;
2456 };
2457 Device_IsochronousTransferOut_ResponseParams.prototype.initFields_ = function( fields) {
2458 for(var field in fields) {
2459 if (this.hasOwnProperty(field))
2460 this[field] = fields[field];
2461 }
2462 };
2463
2464 Device_IsochronousTransferOut_ResponseParams.validate = function(messageValida tor, offset) {
2465 var err;
2466 err = messageValidator.validateStructHeader(offset, Device_IsochronousTransf erOut_ResponseParams.encodedSize, 0);
2467 if (err !== validator.validationError.NONE)
2468 return err;
2469
2470
2471 return validator.validationError.NONE;
2472 };
2473
2474 Device_IsochronousTransferOut_ResponseParams.encodedSize = codec.kStructHeader Size + 8;
2475
2476 Device_IsochronousTransferOut_ResponseParams.decode = function(decoder) {
2477 var packed;
2478 var val = new Device_IsochronousTransferOut_ResponseParams();
2479 var numberOfBytes = decoder.readUint32();
2480 var version = decoder.readUint32();
2481 val.status = decoder.decodeStruct(codec.Int32);
2482 decoder.skip(1);
2483 decoder.skip(1);
2484 decoder.skip(1);
2485 decoder.skip(1);
2486 return val;
2487 };
2488
2489 Device_IsochronousTransferOut_ResponseParams.encode = function(encoder, val) {
2490 var packed;
2491 encoder.writeUint32(Device_IsochronousTransferOut_ResponseParams.encodedSize );
2492 encoder.writeUint32(0);
2493 encoder.encodeStruct(codec.Int32, val.status);
2494 encoder.skip(1);
2495 encoder.skip(1);
2496 encoder.skip(1);
2497 encoder.skip(1);
2498 };
2499
2500 var kDevice_GetDeviceInfo_Name = 0;
2501 var kDevice_GetConfiguration_Name = 1;
2502 var kDevice_Open_Name = 2;
2503 var kDevice_Close_Name = 3;
2504 var kDevice_SetConfiguration_Name = 4;
2505 var kDevice_ClaimInterface_Name = 5;
2506 var kDevice_ReleaseInterface_Name = 6;
2507 var kDevice_SetInterfaceAlternateSetting_Name = 7;
2508 var kDevice_Reset_Name = 8;
2509 var kDevice_ClearHalt_Name = 9;
2510 var kDevice_ControlTransferIn_Name = 10;
2511 var kDevice_ControlTransferOut_Name = 11;
2512 var kDevice_GenericTransferIn_Name = 12;
2513 var kDevice_GenericTransferOut_Name = 13;
2514 var kDevice_IsochronousTransferIn_Name = 14;
2515 var kDevice_IsochronousTransferOut_Name = 15;
2516
2517 function DeviceProxy(receiver) {
2518 bindings.ProxyBase.call(this, receiver);
2519 }
2520 DeviceProxy.prototype = Object.create(bindings.ProxyBase.prototype);
2521 DeviceProxy.prototype.getDeviceInfo = function() {
2522 var params = new Device_GetDeviceInfo_Params();
2523 return new Promise(function(resolve, reject) {
2524 var builder = new codec.MessageWithRequestIDBuilder(
2525 kDevice_GetDeviceInfo_Name,
2526 codec.align(Device_GetDeviceInfo_Params.encodedSize),
2527 codec.kMessageExpectsResponse, 0);
2528 builder.encodeStruct(Device_GetDeviceInfo_Params, params);
2529 var message = builder.finish();
2530 this.receiver_.acceptAndExpectResponse(message).then(function(message) {
2531 var reader = new codec.MessageReader(message);
2532 var responseParams =
2533 reader.decodeStruct(Device_GetDeviceInfo_ResponseParams);
2534 resolve(responseParams);
2535 }).catch(function(result) {
2536 reject(Error("Connection error: " + result));
2537 });
2538 }.bind(this));
2539 };
2540 DeviceProxy.prototype.getConfiguration = function() {
2541 var params = new Device_GetConfiguration_Params();
2542 return new Promise(function(resolve, reject) {
2543 var builder = new codec.MessageWithRequestIDBuilder(
2544 kDevice_GetConfiguration_Name,
2545 codec.align(Device_GetConfiguration_Params.encodedSize),
2546 codec.kMessageExpectsResponse, 0);
2547 builder.encodeStruct(Device_GetConfiguration_Params, params);
2548 var message = builder.finish();
2549 this.receiver_.acceptAndExpectResponse(message).then(function(message) {
2550 var reader = new codec.MessageReader(message);
2551 var responseParams =
2552 reader.decodeStruct(Device_GetConfiguration_ResponseParams);
2553 resolve(responseParams);
2554 }).catch(function(result) {
2555 reject(Error("Connection error: " + result));
2556 });
2557 }.bind(this));
2558 };
2559 DeviceProxy.prototype.open = function() {
2560 var params = new Device_Open_Params();
2561 return new Promise(function(resolve, reject) {
2562 var builder = new codec.MessageWithRequestIDBuilder(
2563 kDevice_Open_Name,
2564 codec.align(Device_Open_Params.encodedSize),
2565 codec.kMessageExpectsResponse, 0);
2566 builder.encodeStruct(Device_Open_Params, params);
2567 var message = builder.finish();
2568 this.receiver_.acceptAndExpectResponse(message).then(function(message) {
2569 var reader = new codec.MessageReader(message);
2570 var responseParams =
2571 reader.decodeStruct(Device_Open_ResponseParams);
2572 resolve(responseParams);
2573 }).catch(function(result) {
2574 reject(Error("Connection error: " + result));
2575 });
2576 }.bind(this));
2577 };
2578 DeviceProxy.prototype.close = function() {
2579 var params = new Device_Close_Params();
2580 return new Promise(function(resolve, reject) {
2581 var builder = new codec.MessageWithRequestIDBuilder(
2582 kDevice_Close_Name,
2583 codec.align(Device_Close_Params.encodedSize),
2584 codec.kMessageExpectsResponse, 0);
2585 builder.encodeStruct(Device_Close_Params, params);
2586 var message = builder.finish();
2587 this.receiver_.acceptAndExpectResponse(message).then(function(message) {
2588 var reader = new codec.MessageReader(message);
2589 var responseParams =
2590 reader.decodeStruct(Device_Close_ResponseParams);
2591 resolve(responseParams);
2592 }).catch(function(result) {
2593 reject(Error("Connection error: " + result));
2594 });
2595 }.bind(this));
2596 };
2597 DeviceProxy.prototype.setConfiguration = function(value) {
2598 var params = new Device_SetConfiguration_Params();
2599 params.value = value;
2600 return new Promise(function(resolve, reject) {
2601 var builder = new codec.MessageWithRequestIDBuilder(
2602 kDevice_SetConfiguration_Name,
2603 codec.align(Device_SetConfiguration_Params.encodedSize),
2604 codec.kMessageExpectsResponse, 0);
2605 builder.encodeStruct(Device_SetConfiguration_Params, params);
2606 var message = builder.finish();
2607 this.receiver_.acceptAndExpectResponse(message).then(function(message) {
2608 var reader = new codec.MessageReader(message);
2609 var responseParams =
2610 reader.decodeStruct(Device_SetConfiguration_ResponseParams);
2611 resolve(responseParams);
2612 }).catch(function(result) {
2613 reject(Error("Connection error: " + result));
2614 });
2615 }.bind(this));
2616 };
2617 DeviceProxy.prototype.claimInterface = function(interface_number) {
2618 var params = new Device_ClaimInterface_Params();
2619 params.interface_number = interface_number;
2620 return new Promise(function(resolve, reject) {
2621 var builder = new codec.MessageWithRequestIDBuilder(
2622 kDevice_ClaimInterface_Name,
2623 codec.align(Device_ClaimInterface_Params.encodedSize),
2624 codec.kMessageExpectsResponse, 0);
2625 builder.encodeStruct(Device_ClaimInterface_Params, params);
2626 var message = builder.finish();
2627 this.receiver_.acceptAndExpectResponse(message).then(function(message) {
2628 var reader = new codec.MessageReader(message);
2629 var responseParams =
2630 reader.decodeStruct(Device_ClaimInterface_ResponseParams);
2631 resolve(responseParams);
2632 }).catch(function(result) {
2633 reject(Error("Connection error: " + result));
2634 });
2635 }.bind(this));
2636 };
2637 DeviceProxy.prototype.releaseInterface = function(interface_number) {
2638 var params = new Device_ReleaseInterface_Params();
2639 params.interface_number = interface_number;
2640 return new Promise(function(resolve, reject) {
2641 var builder = new codec.MessageWithRequestIDBuilder(
2642 kDevice_ReleaseInterface_Name,
2643 codec.align(Device_ReleaseInterface_Params.encodedSize),
2644 codec.kMessageExpectsResponse, 0);
2645 builder.encodeStruct(Device_ReleaseInterface_Params, params);
2646 var message = builder.finish();
2647 this.receiver_.acceptAndExpectResponse(message).then(function(message) {
2648 var reader = new codec.MessageReader(message);
2649 var responseParams =
2650 reader.decodeStruct(Device_ReleaseInterface_ResponseParams);
2651 resolve(responseParams);
2652 }).catch(function(result) {
2653 reject(Error("Connection error: " + result));
2654 });
2655 }.bind(this));
2656 };
2657 DeviceProxy.prototype.setInterfaceAlternateSetting = function(interface_number , alternate_setting) {
2658 var params = new Device_SetInterfaceAlternateSetting_Params();
2659 params.interface_number = interface_number;
2660 params.alternate_setting = alternate_setting;
2661 return new Promise(function(resolve, reject) {
2662 var builder = new codec.MessageWithRequestIDBuilder(
2663 kDevice_SetInterfaceAlternateSetting_Name,
2664 codec.align(Device_SetInterfaceAlternateSetting_Params.encodedSize),
2665 codec.kMessageExpectsResponse, 0);
2666 builder.encodeStruct(Device_SetInterfaceAlternateSetting_Params, params);
2667 var message = builder.finish();
2668 this.receiver_.acceptAndExpectResponse(message).then(function(message) {
2669 var reader = new codec.MessageReader(message);
2670 var responseParams =
2671 reader.decodeStruct(Device_SetInterfaceAlternateSetting_ResponsePara ms);
2672 resolve(responseParams);
2673 }).catch(function(result) {
2674 reject(Error("Connection error: " + result));
2675 });
2676 }.bind(this));
2677 };
2678 DeviceProxy.prototype.reset = function() {
2679 var params = new Device_Reset_Params();
2680 return new Promise(function(resolve, reject) {
2681 var builder = new codec.MessageWithRequestIDBuilder(
2682 kDevice_Reset_Name,
2683 codec.align(Device_Reset_Params.encodedSize),
2684 codec.kMessageExpectsResponse, 0);
2685 builder.encodeStruct(Device_Reset_Params, params);
2686 var message = builder.finish();
2687 this.receiver_.acceptAndExpectResponse(message).then(function(message) {
2688 var reader = new codec.MessageReader(message);
2689 var responseParams =
2690 reader.decodeStruct(Device_Reset_ResponseParams);
2691 resolve(responseParams);
2692 }).catch(function(result) {
2693 reject(Error("Connection error: " + result));
2694 });
2695 }.bind(this));
2696 };
2697 DeviceProxy.prototype.clearHalt = function(endpoint) {
2698 var params = new Device_ClearHalt_Params();
2699 params.endpoint = endpoint;
2700 return new Promise(function(resolve, reject) {
2701 var builder = new codec.MessageWithRequestIDBuilder(
2702 kDevice_ClearHalt_Name,
2703 codec.align(Device_ClearHalt_Params.encodedSize),
2704 codec.kMessageExpectsResponse, 0);
2705 builder.encodeStruct(Device_ClearHalt_Params, params);
2706 var message = builder.finish();
2707 this.receiver_.acceptAndExpectResponse(message).then(function(message) {
2708 var reader = new codec.MessageReader(message);
2709 var responseParams =
2710 reader.decodeStruct(Device_ClearHalt_ResponseParams);
2711 resolve(responseParams);
2712 }).catch(function(result) {
2713 reject(Error("Connection error: " + result));
2714 });
2715 }.bind(this));
2716 };
2717 DeviceProxy.prototype.controlTransferIn = function(params, length, timeout) {
2718 var params = new Device_ControlTransferIn_Params();
2719 params.params = params;
2720 params.length = length;
2721 params.timeout = timeout;
2722 return new Promise(function(resolve, reject) {
2723 var builder = new codec.MessageWithRequestIDBuilder(
2724 kDevice_ControlTransferIn_Name,
2725 codec.align(Device_ControlTransferIn_Params.encodedSize),
2726 codec.kMessageExpectsResponse, 0);
2727 builder.encodeStruct(Device_ControlTransferIn_Params, params);
2728 var message = builder.finish();
2729 this.receiver_.acceptAndExpectResponse(message).then(function(message) {
2730 var reader = new codec.MessageReader(message);
2731 var responseParams =
2732 reader.decodeStruct(Device_ControlTransferIn_ResponseParams);
2733 resolve(responseParams);
2734 }).catch(function(result) {
2735 reject(Error("Connection error: " + result));
2736 });
2737 }.bind(this));
2738 };
2739 DeviceProxy.prototype.controlTransferOut = function(params, data, timeout) {
2740 var params = new Device_ControlTransferOut_Params();
2741 params.params = params;
2742 params.data = data;
2743 params.timeout = timeout;
2744 return new Promise(function(resolve, reject) {
2745 var builder = new codec.MessageWithRequestIDBuilder(
2746 kDevice_ControlTransferOut_Name,
2747 codec.align(Device_ControlTransferOut_Params.encodedSize),
2748 codec.kMessageExpectsResponse, 0);
2749 builder.encodeStruct(Device_ControlTransferOut_Params, params);
2750 var message = builder.finish();
2751 this.receiver_.acceptAndExpectResponse(message).then(function(message) {
2752 var reader = new codec.MessageReader(message);
2753 var responseParams =
2754 reader.decodeStruct(Device_ControlTransferOut_ResponseParams);
2755 resolve(responseParams);
2756 }).catch(function(result) {
2757 reject(Error("Connection error: " + result));
2758 });
2759 }.bind(this));
2760 };
2761 DeviceProxy.prototype.genericTransferIn = function(endpoint_number, length, ti meout) {
2762 var params = new Device_GenericTransferIn_Params();
2763 params.endpoint_number = endpoint_number;
2764 params.length = length;
2765 params.timeout = timeout;
2766 return new Promise(function(resolve, reject) {
2767 var builder = new codec.MessageWithRequestIDBuilder(
2768 kDevice_GenericTransferIn_Name,
2769 codec.align(Device_GenericTransferIn_Params.encodedSize),
2770 codec.kMessageExpectsResponse, 0);
2771 builder.encodeStruct(Device_GenericTransferIn_Params, params);
2772 var message = builder.finish();
2773 this.receiver_.acceptAndExpectResponse(message).then(function(message) {
2774 var reader = new codec.MessageReader(message);
2775 var responseParams =
2776 reader.decodeStruct(Device_GenericTransferIn_ResponseParams);
2777 resolve(responseParams);
2778 }).catch(function(result) {
2779 reject(Error("Connection error: " + result));
2780 });
2781 }.bind(this));
2782 };
2783 DeviceProxy.prototype.genericTransferOut = function(endpoint_number, data, tim eout) {
2784 var params = new Device_GenericTransferOut_Params();
2785 params.endpoint_number = endpoint_number;
2786 params.data = data;
2787 params.timeout = timeout;
2788 return new Promise(function(resolve, reject) {
2789 var builder = new codec.MessageWithRequestIDBuilder(
2790 kDevice_GenericTransferOut_Name,
2791 codec.align(Device_GenericTransferOut_Params.encodedSize),
2792 codec.kMessageExpectsResponse, 0);
2793 builder.encodeStruct(Device_GenericTransferOut_Params, params);
2794 var message = builder.finish();
2795 this.receiver_.acceptAndExpectResponse(message).then(function(message) {
2796 var reader = new codec.MessageReader(message);
2797 var responseParams =
2798 reader.decodeStruct(Device_GenericTransferOut_ResponseParams);
2799 resolve(responseParams);
2800 }).catch(function(result) {
2801 reject(Error("Connection error: " + result));
2802 });
2803 }.bind(this));
2804 };
2805 DeviceProxy.prototype.isochronousTransferIn = function(endpoint_number, num_pa ckets, packet_length, timeout) {
2806 var params = new Device_IsochronousTransferIn_Params();
2807 params.endpoint_number = endpoint_number;
2808 params.num_packets = num_packets;
2809 params.packet_length = packet_length;
2810 params.timeout = timeout;
2811 return new Promise(function(resolve, reject) {
2812 var builder = new codec.MessageWithRequestIDBuilder(
2813 kDevice_IsochronousTransferIn_Name,
2814 codec.align(Device_IsochronousTransferIn_Params.encodedSize),
2815 codec.kMessageExpectsResponse, 0);
2816 builder.encodeStruct(Device_IsochronousTransferIn_Params, params);
2817 var message = builder.finish();
2818 this.receiver_.acceptAndExpectResponse(message).then(function(message) {
2819 var reader = new codec.MessageReader(message);
2820 var responseParams =
2821 reader.decodeStruct(Device_IsochronousTransferIn_ResponseParams);
2822 resolve(responseParams);
2823 }).catch(function(result) {
2824 reject(Error("Connection error: " + result));
2825 });
2826 }.bind(this));
2827 };
2828 DeviceProxy.prototype.isochronousTransferOut = function(endpoint_number, packe ts, timeout) {
2829 var params = new Device_IsochronousTransferOut_Params();
2830 params.endpoint_number = endpoint_number;
2831 params.packets = packets;
2832 params.timeout = timeout;
2833 return new Promise(function(resolve, reject) {
2834 var builder = new codec.MessageWithRequestIDBuilder(
2835 kDevice_IsochronousTransferOut_Name,
2836 codec.align(Device_IsochronousTransferOut_Params.encodedSize),
2837 codec.kMessageExpectsResponse, 0);
2838 builder.encodeStruct(Device_IsochronousTransferOut_Params, params);
2839 var message = builder.finish();
2840 this.receiver_.acceptAndExpectResponse(message).then(function(message) {
2841 var reader = new codec.MessageReader(message);
2842 var responseParams =
2843 reader.decodeStruct(Device_IsochronousTransferOut_ResponseParams);
2844 resolve(responseParams);
2845 }).catch(function(result) {
2846 reject(Error("Connection error: " + result));
2847 });
2848 }.bind(this));
2849 };
2850
2851 function DeviceStub(delegate) {
2852 bindings.StubBase.call(this, delegate);
2853 }
2854 DeviceStub.prototype = Object.create(bindings.StubBase.prototype);
2855 DeviceStub.prototype.getDeviceInfo = function() {
2856 return bindings.StubBindings(this).delegate && bindings.StubBindings(this).d elegate.getDeviceInfo && bindings.StubBindings(this).delegate.getDeviceInfo();
2857 }
2858 DeviceStub.prototype.getConfiguration = function() {
2859 return bindings.StubBindings(this).delegate && bindings.StubBindings(this).d elegate.getConfiguration && bindings.StubBindings(this).delegate.getConfiguratio n();
2860 }
2861 DeviceStub.prototype.open = function() {
2862 return bindings.StubBindings(this).delegate && bindings.StubBindings(this).d elegate.open && bindings.StubBindings(this).delegate.open();
2863 }
2864 DeviceStub.prototype.close = function() {
2865 return bindings.StubBindings(this).delegate && bindings.StubBindings(this).d elegate.close && bindings.StubBindings(this).delegate.close();
2866 }
2867 DeviceStub.prototype.setConfiguration = function(value) {
2868 return bindings.StubBindings(this).delegate && bindings.StubBindings(this).d elegate.setConfiguration && bindings.StubBindings(this).delegate.setConfiguratio n(value);
2869 }
2870 DeviceStub.prototype.claimInterface = function(interface_number) {
2871 return bindings.StubBindings(this).delegate && bindings.StubBindings(this).d elegate.claimInterface && bindings.StubBindings(this).delegate.claimInterface(in terface_number);
2872 }
2873 DeviceStub.prototype.releaseInterface = function(interface_number) {
2874 return bindings.StubBindings(this).delegate && bindings.StubBindings(this).d elegate.releaseInterface && bindings.StubBindings(this).delegate.releaseInterfac e(interface_number);
2875 }
2876 DeviceStub.prototype.setInterfaceAlternateSetting = function(interface_number, alternate_setting) {
2877 return bindings.StubBindings(this).delegate && bindings.StubBindings(this).d elegate.setInterfaceAlternateSetting && bindings.StubBindings(this).delegate.set InterfaceAlternateSetting(interface_number, alternate_setting);
2878 }
2879 DeviceStub.prototype.reset = function() {
2880 return bindings.StubBindings(this).delegate && bindings.StubBindings(this).d elegate.reset && bindings.StubBindings(this).delegate.reset();
2881 }
2882 DeviceStub.prototype.clearHalt = function(endpoint) {
2883 return bindings.StubBindings(this).delegate && bindings.StubBindings(this).d elegate.clearHalt && bindings.StubBindings(this).delegate.clearHalt(endpoint);
2884 }
2885 DeviceStub.prototype.controlTransferIn = function(params, length, timeout) {
2886 return bindings.StubBindings(this).delegate && bindings.StubBindings(this).d elegate.controlTransferIn && bindings.StubBindings(this).delegate.controlTransfe rIn(params, length, timeout);
2887 }
2888 DeviceStub.prototype.controlTransferOut = function(params, data, timeout) {
2889 return bindings.StubBindings(this).delegate && bindings.StubBindings(this).d elegate.controlTransferOut && bindings.StubBindings(this).delegate.controlTransf erOut(params, data, timeout);
2890 }
2891 DeviceStub.prototype.genericTransferIn = function(endpoint_number, length, tim eout) {
2892 return bindings.StubBindings(this).delegate && bindings.StubBindings(this).d elegate.genericTransferIn && bindings.StubBindings(this).delegate.genericTransfe rIn(endpoint_number, length, timeout);
2893 }
2894 DeviceStub.prototype.genericTransferOut = function(endpoint_number, data, time out) {
2895 return bindings.StubBindings(this).delegate && bindings.StubBindings(this).d elegate.genericTransferOut && bindings.StubBindings(this).delegate.genericTransf erOut(endpoint_number, data, timeout);
2896 }
2897 DeviceStub.prototype.isochronousTransferIn = function(endpoint_number, num_pac kets, packet_length, timeout) {
2898 return bindings.StubBindings(this).delegate && bindings.StubBindings(this).d elegate.isochronousTransferIn && bindings.StubBindings(this).delegate.isochronou sTransferIn(endpoint_number, num_packets, packet_length, timeout);
2899 }
2900 DeviceStub.prototype.isochronousTransferOut = function(endpoint_number, packet s, timeout) {
2901 return bindings.StubBindings(this).delegate && bindings.StubBindings(this).d elegate.isochronousTransferOut && bindings.StubBindings(this).delegate.isochrono usTransferOut(endpoint_number, packets, timeout);
2902 }
2903
2904 DeviceStub.prototype.accept = function(message) {
2905 var reader = new codec.MessageReader(message);
2906 switch (reader.messageName) {
2907 default:
2908 return false;
2909 }
2910 };
2911
2912 DeviceStub.prototype.acceptWithResponder =
2913 function(message, responder) {
2914 var reader = new codec.MessageReader(message);
2915 switch (reader.messageName) {
2916 case kDevice_GetDeviceInfo_Name:
2917 var params = reader.decodeStruct(Device_GetDeviceInfo_Params);
2918 return this.getDeviceInfo().then(function(response) {
2919 var responseParams =
2920 new Device_GetDeviceInfo_ResponseParams();
2921 responseParams.info = response.info;
2922 var builder = new codec.MessageWithRequestIDBuilder(
2923 kDevice_GetDeviceInfo_Name,
2924 codec.align(Device_GetDeviceInfo_ResponseParams.encodedSize),
2925 codec.kMessageIsResponse, reader.requestID);
2926 builder.encodeStruct(Device_GetDeviceInfo_ResponseParams,
2927 responseParams);
2928 var message = builder.finish();
2929 responder.accept(message);
2930 });
2931 case kDevice_GetConfiguration_Name:
2932 var params = reader.decodeStruct(Device_GetConfiguration_Params);
2933 return this.getConfiguration().then(function(response) {
2934 var responseParams =
2935 new Device_GetConfiguration_ResponseParams();
2936 responseParams.value = response.value;
2937 var builder = new codec.MessageWithRequestIDBuilder(
2938 kDevice_GetConfiguration_Name,
2939 codec.align(Device_GetConfiguration_ResponseParams.encodedSize),
2940 codec.kMessageIsResponse, reader.requestID);
2941 builder.encodeStruct(Device_GetConfiguration_ResponseParams,
2942 responseParams);
2943 var message = builder.finish();
2944 responder.accept(message);
2945 });
2946 case kDevice_Open_Name:
2947 var params = reader.decodeStruct(Device_Open_Params);
2948 return this.open().then(function(response) {
2949 var responseParams =
2950 new Device_Open_ResponseParams();
2951 responseParams.error = response.error;
2952 var builder = new codec.MessageWithRequestIDBuilder(
2953 kDevice_Open_Name,
2954 codec.align(Device_Open_ResponseParams.encodedSize),
2955 codec.kMessageIsResponse, reader.requestID);
2956 builder.encodeStruct(Device_Open_ResponseParams,
2957 responseParams);
2958 var message = builder.finish();
2959 responder.accept(message);
2960 });
2961 case kDevice_Close_Name:
2962 var params = reader.decodeStruct(Device_Close_Params);
2963 return this.close().then(function(response) {
2964 var responseParams =
2965 new Device_Close_ResponseParams();
2966 var builder = new codec.MessageWithRequestIDBuilder(
2967 kDevice_Close_Name,
2968 codec.align(Device_Close_ResponseParams.encodedSize),
2969 codec.kMessageIsResponse, reader.requestID);
2970 builder.encodeStruct(Device_Close_ResponseParams,
2971 responseParams);
2972 var message = builder.finish();
2973 responder.accept(message);
2974 });
2975 case kDevice_SetConfiguration_Name:
2976 var params = reader.decodeStruct(Device_SetConfiguration_Params);
2977 return this.setConfiguration(params.value).then(function(response) {
2978 var responseParams =
2979 new Device_SetConfiguration_ResponseParams();
2980 responseParams.success = response.success;
2981 var builder = new codec.MessageWithRequestIDBuilder(
2982 kDevice_SetConfiguration_Name,
2983 codec.align(Device_SetConfiguration_ResponseParams.encodedSize),
2984 codec.kMessageIsResponse, reader.requestID);
2985 builder.encodeStruct(Device_SetConfiguration_ResponseParams,
2986 responseParams);
2987 var message = builder.finish();
2988 responder.accept(message);
2989 });
2990 case kDevice_ClaimInterface_Name:
2991 var params = reader.decodeStruct(Device_ClaimInterface_Params);
2992 return this.claimInterface(params.interface_number).then(function(response ) {
2993 var responseParams =
2994 new Device_ClaimInterface_ResponseParams();
2995 responseParams.success = response.success;
2996 var builder = new codec.MessageWithRequestIDBuilder(
2997 kDevice_ClaimInterface_Name,
2998 codec.align(Device_ClaimInterface_ResponseParams.encodedSize),
2999 codec.kMessageIsResponse, reader.requestID);
3000 builder.encodeStruct(Device_ClaimInterface_ResponseParams,
3001 responseParams);
3002 var message = builder.finish();
3003 responder.accept(message);
3004 });
3005 case kDevice_ReleaseInterface_Name:
3006 var params = reader.decodeStruct(Device_ReleaseInterface_Params);
3007 return this.releaseInterface(params.interface_number).then(function(respon se) {
3008 var responseParams =
3009 new Device_ReleaseInterface_ResponseParams();
3010 responseParams.success = response.success;
3011 var builder = new codec.MessageWithRequestIDBuilder(
3012 kDevice_ReleaseInterface_Name,
3013 codec.align(Device_ReleaseInterface_ResponseParams.encodedSize),
3014 codec.kMessageIsResponse, reader.requestID);
3015 builder.encodeStruct(Device_ReleaseInterface_ResponseParams,
3016 responseParams);
3017 var message = builder.finish();
3018 responder.accept(message);
3019 });
3020 case kDevice_SetInterfaceAlternateSetting_Name:
3021 var params = reader.decodeStruct(Device_SetInterfaceAlternateSetting_Param s);
3022 return this.setInterfaceAlternateSetting(params.interface_number, params.a lternate_setting).then(function(response) {
3023 var responseParams =
3024 new Device_SetInterfaceAlternateSetting_ResponseParams();
3025 responseParams.success = response.success;
3026 var builder = new codec.MessageWithRequestIDBuilder(
3027 kDevice_SetInterfaceAlternateSetting_Name,
3028 codec.align(Device_SetInterfaceAlternateSetting_ResponseParams.encod edSize),
3029 codec.kMessageIsResponse, reader.requestID);
3030 builder.encodeStruct(Device_SetInterfaceAlternateSetting_ResponseParams,
3031 responseParams);
3032 var message = builder.finish();
3033 responder.accept(message);
3034 });
3035 case kDevice_Reset_Name:
3036 var params = reader.decodeStruct(Device_Reset_Params);
3037 return this.reset().then(function(response) {
3038 var responseParams =
3039 new Device_Reset_ResponseParams();
3040 responseParams.success = response.success;
3041 var builder = new codec.MessageWithRequestIDBuilder(
3042 kDevice_Reset_Name,
3043 codec.align(Device_Reset_ResponseParams.encodedSize),
3044 codec.kMessageIsResponse, reader.requestID);
3045 builder.encodeStruct(Device_Reset_ResponseParams,
3046 responseParams);
3047 var message = builder.finish();
3048 responder.accept(message);
3049 });
3050 case kDevice_ClearHalt_Name:
3051 var params = reader.decodeStruct(Device_ClearHalt_Params);
3052 return this.clearHalt(params.endpoint).then(function(response) {
3053 var responseParams =
3054 new Device_ClearHalt_ResponseParams();
3055 responseParams.success = response.success;
3056 var builder = new codec.MessageWithRequestIDBuilder(
3057 kDevice_ClearHalt_Name,
3058 codec.align(Device_ClearHalt_ResponseParams.encodedSize),
3059 codec.kMessageIsResponse, reader.requestID);
3060 builder.encodeStruct(Device_ClearHalt_ResponseParams,
3061 responseParams);
3062 var message = builder.finish();
3063 responder.accept(message);
3064 });
3065 case kDevice_ControlTransferIn_Name:
3066 var params = reader.decodeStruct(Device_ControlTransferIn_Params);
3067 return this.controlTransferIn(params.params, params.length, params.timeout ).then(function(response) {
3068 var responseParams =
3069 new Device_ControlTransferIn_ResponseParams();
3070 responseParams.status = response.status;
3071 responseParams.data = response.data;
3072 var builder = new codec.MessageWithRequestIDBuilder(
3073 kDevice_ControlTransferIn_Name,
3074 codec.align(Device_ControlTransferIn_ResponseParams.encodedSize),
3075 codec.kMessageIsResponse, reader.requestID);
3076 builder.encodeStruct(Device_ControlTransferIn_ResponseParams,
3077 responseParams);
3078 var message = builder.finish();
3079 responder.accept(message);
3080 });
3081 case kDevice_ControlTransferOut_Name:
3082 var params = reader.decodeStruct(Device_ControlTransferOut_Params);
3083 return this.controlTransferOut(params.params, params.data, params.timeout) .then(function(response) {
3084 var responseParams =
3085 new Device_ControlTransferOut_ResponseParams();
3086 responseParams.status = response.status;
3087 var builder = new codec.MessageWithRequestIDBuilder(
3088 kDevice_ControlTransferOut_Name,
3089 codec.align(Device_ControlTransferOut_ResponseParams.encodedSize),
3090 codec.kMessageIsResponse, reader.requestID);
3091 builder.encodeStruct(Device_ControlTransferOut_ResponseParams,
3092 responseParams);
3093 var message = builder.finish();
3094 responder.accept(message);
3095 });
3096 case kDevice_GenericTransferIn_Name:
3097 var params = reader.decodeStruct(Device_GenericTransferIn_Params);
3098 return this.genericTransferIn(params.endpoint_number, params.length, param s.timeout).then(function(response) {
3099 var responseParams =
3100 new Device_GenericTransferIn_ResponseParams();
3101 responseParams.status = response.status;
3102 responseParams.data = response.data;
3103 var builder = new codec.MessageWithRequestIDBuilder(
3104 kDevice_GenericTransferIn_Name,
3105 codec.align(Device_GenericTransferIn_ResponseParams.encodedSize),
3106 codec.kMessageIsResponse, reader.requestID);
3107 builder.encodeStruct(Device_GenericTransferIn_ResponseParams,
3108 responseParams);
3109 var message = builder.finish();
3110 responder.accept(message);
3111 });
3112 case kDevice_GenericTransferOut_Name:
3113 var params = reader.decodeStruct(Device_GenericTransferOut_Params);
3114 return this.genericTransferOut(params.endpoint_number, params.data, params .timeout).then(function(response) {
3115 var responseParams =
3116 new Device_GenericTransferOut_ResponseParams();
3117 responseParams.status = response.status;
3118 var builder = new codec.MessageWithRequestIDBuilder(
3119 kDevice_GenericTransferOut_Name,
3120 codec.align(Device_GenericTransferOut_ResponseParams.encodedSize),
3121 codec.kMessageIsResponse, reader.requestID);
3122 builder.encodeStruct(Device_GenericTransferOut_ResponseParams,
3123 responseParams);
3124 var message = builder.finish();
3125 responder.accept(message);
3126 });
3127 case kDevice_IsochronousTransferIn_Name:
3128 var params = reader.decodeStruct(Device_IsochronousTransferIn_Params);
3129 return this.isochronousTransferIn(params.endpoint_number, params.num_packe ts, params.packet_length, params.timeout).then(function(response) {
3130 var responseParams =
3131 new Device_IsochronousTransferIn_ResponseParams();
3132 responseParams.status = response.status;
3133 responseParams.packets = response.packets;
3134 var builder = new codec.MessageWithRequestIDBuilder(
3135 kDevice_IsochronousTransferIn_Name,
3136 codec.align(Device_IsochronousTransferIn_ResponseParams.encodedSize) ,
3137 codec.kMessageIsResponse, reader.requestID);
3138 builder.encodeStruct(Device_IsochronousTransferIn_ResponseParams,
3139 responseParams);
3140 var message = builder.finish();
3141 responder.accept(message);
3142 });
3143 case kDevice_IsochronousTransferOut_Name:
3144 var params = reader.decodeStruct(Device_IsochronousTransferOut_Params);
3145 return this.isochronousTransferOut(params.endpoint_number, params.packets, params.timeout).then(function(response) {
3146 var responseParams =
3147 new Device_IsochronousTransferOut_ResponseParams();
3148 responseParams.status = response.status;
3149 var builder = new codec.MessageWithRequestIDBuilder(
3150 kDevice_IsochronousTransferOut_Name,
3151 codec.align(Device_IsochronousTransferOut_ResponseParams.encodedSize ),
3152 codec.kMessageIsResponse, reader.requestID);
3153 builder.encodeStruct(Device_IsochronousTransferOut_ResponseParams,
3154 responseParams);
3155 var message = builder.finish();
3156 responder.accept(message);
3157 });
3158 default:
3159 return Promise.reject(Error("Unhandled message: " + reader.messageName));
3160 }
3161 };
3162
3163 function validateDeviceRequest(messageValidator) {
3164 var message = messageValidator.message;
3165 var paramsClass = null;
3166 switch (message.getName()) {
3167 case kDevice_GetDeviceInfo_Name:
3168 if (message.expectsResponse())
3169 paramsClass = Device_GetDeviceInfo_Params;
3170 break;
3171 case kDevice_GetConfiguration_Name:
3172 if (message.expectsResponse())
3173 paramsClass = Device_GetConfiguration_Params;
3174 break;
3175 case kDevice_Open_Name:
3176 if (message.expectsResponse())
3177 paramsClass = Device_Open_Params;
3178 break;
3179 case kDevice_Close_Name:
3180 if (message.expectsResponse())
3181 paramsClass = Device_Close_Params;
3182 break;
3183 case kDevice_SetConfiguration_Name:
3184 if (message.expectsResponse())
3185 paramsClass = Device_SetConfiguration_Params;
3186 break;
3187 case kDevice_ClaimInterface_Name:
3188 if (message.expectsResponse())
3189 paramsClass = Device_ClaimInterface_Params;
3190 break;
3191 case kDevice_ReleaseInterface_Name:
3192 if (message.expectsResponse())
3193 paramsClass = Device_ReleaseInterface_Params;
3194 break;
3195 case kDevice_SetInterfaceAlternateSetting_Name:
3196 if (message.expectsResponse())
3197 paramsClass = Device_SetInterfaceAlternateSetting_Params;
3198 break;
3199 case kDevice_Reset_Name:
3200 if (message.expectsResponse())
3201 paramsClass = Device_Reset_Params;
3202 break;
3203 case kDevice_ClearHalt_Name:
3204 if (message.expectsResponse())
3205 paramsClass = Device_ClearHalt_Params;
3206 break;
3207 case kDevice_ControlTransferIn_Name:
3208 if (message.expectsResponse())
3209 paramsClass = Device_ControlTransferIn_Params;
3210 break;
3211 case kDevice_ControlTransferOut_Name:
3212 if (message.expectsResponse())
3213 paramsClass = Device_ControlTransferOut_Params;
3214 break;
3215 case kDevice_GenericTransferIn_Name:
3216 if (message.expectsResponse())
3217 paramsClass = Device_GenericTransferIn_Params;
3218 break;
3219 case kDevice_GenericTransferOut_Name:
3220 if (message.expectsResponse())
3221 paramsClass = Device_GenericTransferOut_Params;
3222 break;
3223 case kDevice_IsochronousTransferIn_Name:
3224 if (message.expectsResponse())
3225 paramsClass = Device_IsochronousTransferIn_Params;
3226 break;
3227 case kDevice_IsochronousTransferOut_Name:
3228 if (message.expectsResponse())
3229 paramsClass = Device_IsochronousTransferOut_Params;
3230 break;
3231 }
3232 if (paramsClass === null)
3233 return validator.validationError.NONE;
3234 return paramsClass.validate(messageValidator, messageValidator.message.getHe aderNumBytes());
3235 }
3236
3237 function validateDeviceResponse(messageValidator) {
3238 var message = messageValidator.message;
3239 var paramsClass = null;
3240 switch (message.getName()) {
3241 case kDevice_GetDeviceInfo_Name:
3242 if (message.isResponse())
3243 paramsClass = Device_GetDeviceInfo_ResponseParams;
3244 break;
3245 case kDevice_GetConfiguration_Name:
3246 if (message.isResponse())
3247 paramsClass = Device_GetConfiguration_ResponseParams;
3248 break;
3249 case kDevice_Open_Name:
3250 if (message.isResponse())
3251 paramsClass = Device_Open_ResponseParams;
3252 break;
3253 case kDevice_Close_Name:
3254 if (message.isResponse())
3255 paramsClass = Device_Close_ResponseParams;
3256 break;
3257 case kDevice_SetConfiguration_Name:
3258 if (message.isResponse())
3259 paramsClass = Device_SetConfiguration_ResponseParams;
3260 break;
3261 case kDevice_ClaimInterface_Name:
3262 if (message.isResponse())
3263 paramsClass = Device_ClaimInterface_ResponseParams;
3264 break;
3265 case kDevice_ReleaseInterface_Name:
3266 if (message.isResponse())
3267 paramsClass = Device_ReleaseInterface_ResponseParams;
3268 break;
3269 case kDevice_SetInterfaceAlternateSetting_Name:
3270 if (message.isResponse())
3271 paramsClass = Device_SetInterfaceAlternateSetting_ResponseParams;
3272 break;
3273 case kDevice_Reset_Name:
3274 if (message.isResponse())
3275 paramsClass = Device_Reset_ResponseParams;
3276 break;
3277 case kDevice_ClearHalt_Name:
3278 if (message.isResponse())
3279 paramsClass = Device_ClearHalt_ResponseParams;
3280 break;
3281 case kDevice_ControlTransferIn_Name:
3282 if (message.isResponse())
3283 paramsClass = Device_ControlTransferIn_ResponseParams;
3284 break;
3285 case kDevice_ControlTransferOut_Name:
3286 if (message.isResponse())
3287 paramsClass = Device_ControlTransferOut_ResponseParams;
3288 break;
3289 case kDevice_GenericTransferIn_Name:
3290 if (message.isResponse())
3291 paramsClass = Device_GenericTransferIn_ResponseParams;
3292 break;
3293 case kDevice_GenericTransferOut_Name:
3294 if (message.isResponse())
3295 paramsClass = Device_GenericTransferOut_ResponseParams;
3296 break;
3297 case kDevice_IsochronousTransferIn_Name:
3298 if (message.isResponse())
3299 paramsClass = Device_IsochronousTransferIn_ResponseParams;
3300 break;
3301 case kDevice_IsochronousTransferOut_Name:
3302 if (message.isResponse())
3303 paramsClass = Device_IsochronousTransferOut_ResponseParams;
3304 break;
3305 }
3306 if (paramsClass === null)
3307 return validator.validationError.NONE;
3308 return paramsClass.validate(messageValidator, messageValidator.message.getHe aderNumBytes());
3309 }
3310
3311 var Device = {
3312 name: 'device::usb::Device',
3313 proxyClass: DeviceProxy,
3314 stubClass: DeviceStub,
3315 validateRequest: validateDeviceRequest,
3316 validateResponse: validateDeviceResponse,
3317 };
3318 DeviceStub.prototype.validator = validateDeviceRequest;
3319 DeviceProxy.prototype.validator = validateDeviceResponse;
3320
3321
3322 var exports = {};
3323 exports.OpenDeviceError = OpenDeviceError;
3324 exports.TransferDirection = TransferDirection;
3325 exports.ControlTransferType = ControlTransferType;
3326 exports.ControlTransferRecipient = ControlTransferRecipient;
3327 exports.EndpointType = EndpointType;
3328 exports.TransferStatus = TransferStatus;
3329 exports.EndpointInfo = EndpointInfo;
3330 exports.AlternateInterfaceInfo = AlternateInterfaceInfo;
3331 exports.InterfaceInfo = InterfaceInfo;
3332 exports.ConfigurationInfo = ConfigurationInfo;
3333 exports.WebUsbFunctionSubset = WebUsbFunctionSubset;
3334 exports.WebUsbConfigurationSubset = WebUsbConfigurationSubset;
3335 exports.WebUsbDescriptorSet = WebUsbDescriptorSet;
3336 exports.DeviceInfo = DeviceInfo;
3337 exports.ControlTransferParams = ControlTransferParams;
3338 exports.Device = Device;
3339
3340
3341 return exports;
3342 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698