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

Side by Side Diff: chrome/common/extensions/api/hid.idl

Issue 317783010: chrome.hid: enrich model with report IDs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Filter reports + refactor HID connections (ongoing) Created 6 years, 6 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
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Use the <code>chrome.hid</code> API to interact with connected HID devices. 5 // Use the <code>chrome.hid</code> API to interact with connected HID devices.
6 // This API provides access to HID operations from within the context of an app. 6 // This API provides access to HID operations from within the context of an app.
7 // Using this API, apps can function as drivers for hardware devices. 7 // Using this API, apps can function as drivers for hardware devices.
8 namespace hid { 8 namespace hid {
9 // HID usage pair. Each enumerated device interface exposes an array of 9 // HID usage pair. Values correspond to those defined by the
10 // these objects. Values correspond to those defined by the
11 // <a href="http://www.usb.org/developers/devclass_docs/HID1_11.pdf> 10 // <a href="http://www.usb.org/developers/devclass_docs/HID1_11.pdf>
12 // HID device class specification</a>. 11 // HID device class specification</a>.
13 // |usage_page|: HID usage page identifier. 12 // |usage_page|: HID usage page identifier.
14 // |usage|: Page-defined usage identifier. 13 // |usage|: Page-defined usage identifier.
15 dictionary HidUsageAndPage { 14 dictionary HidUsageAndPage {
16 long usage_page; 15 long usage_page;
17 long usage; 16 long usage;
18 }; 17 };
19 18
19 // HID top-level collection attributes.
20 // Each enumerated device interface exposes an array of these objects.
21 // |usage|: Collection's usage pair.
22 // |reportIds|: Report IDs which belong to the collection and to its children.
23 dictionary HidCollectionInfo {
24 HidUsageAndPage usage;
Ken Rockot(use gerrit already) 2014/06/19 19:29:56 nit: I think I'd prefer the API consumer to be abl
jracle (use Gerrit) 2014/06/19 21:39:36 Sure. Agree. On 2014/06/19 19:29:56, Ken Rockot w
25 long[] reportIds;
26 };
27
20 // Returned by <code>getDevices</code> functions to describes a connected HID 28 // Returned by <code>getDevices</code> functions to describes a connected HID
21 // device. Use <code>connect</code> to connect to any of the returned devices. 29 // device. Use <code>connect</code> to connect to any of the returned devices.
22 // |deviceId|: Device opaque ID. 30 // |deviceId|: Device opaque ID.
23 // |vendorId|: Vendor ID. 31 // |vendorId|: Vendor ID.
24 // |productId|: Product ID. 32 // |productId|: Product ID.
25 // |usages|: HID usage pairs exposed by underlying Top-level collections. 33 // |collections|: Top-level collections from this device's report descriptor.
34 // |maxInputReportSize|: Top-level collection's max input report size.
Ken Rockot(use gerrit already) 2014/06/19 19:29:56 Tangent: Could each HidCollectionInfo struct also
jracle (use Gerrit) 2014/06/19 21:39:36 This one is more problematic, since apart from lin
35 // |maxOutputReportSize|: Top-level collection's max output report size.
36 // |maxFeatureReportSize|: Top-level collection's max feature report size.
26 dictionary HidDeviceInfo { 37 dictionary HidDeviceInfo {
27 long deviceId; 38 long deviceId;
28 long vendorId; 39 long vendorId;
29 long productId; 40 long productId;
30 HidUsageAndPage[] usages; 41 HidCollectionInfo[] collections;
42 long maxInputReportSize;
43 long maxOutputReportSize;
44 long maxFeatureReportSize;
31 }; 45 };
32 46
33 // Returned by <code>connect</code> to represent a communication session with 47 // Returned by <code>connect</code> to represent a communication session with
34 // an HID device. Must be closed with a call to <code>disconnect</code>. 48 // an HID device. Must be closed with a call to <code>disconnect</code>.
35 dictionary HidConnectInfo { 49 dictionary HidConnectInfo {
36 long connectionId; 50 long connectionId;
37 }; 51 };
38 52
39 // Searching criteria to enumerate devices with. 53 // Searching criteria to enumerate devices with.
40 dictionary GetDevicesOptions { 54 dictionary GetDevicesOptions {
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 // |connectionId|: The connection to read Input report from. 129 // |connectionId|: The connection to read Input report from.
116 // |reportId|: The report ID to use, or <code>0</code> if none. 130 // |reportId|: The report ID to use, or <code>0</code> if none.
117 // |data|: The report data. 131 // |data|: The report data.
118 // |callback|: The callback to invoke once the write is finished. 132 // |callback|: The callback to invoke once the write is finished.
119 static void sendFeatureReport(long connectionId, 133 static void sendFeatureReport(long connectionId,
120 long reportId, 134 long reportId,
121 ArrayBuffer data, 135 ArrayBuffer data,
122 SendCallback callback); 136 SendCallback callback);
123 }; 137 };
124 }; 138 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698