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

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

Issue 518133004: Fix small inaccuracies in the HID API documentation. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 //
9 // Errors generated by this API are reported by setting
10 // $(ref:runtime.lastError) and executing the function's regular callback. The
11 // callback's regular parameters will be undefined in this case.
8 namespace hid { 12 namespace hid {
9 dictionary HidCollectionInfo { 13 dictionary HidCollectionInfo {
10 // HID usage page identifier. 14 // HID usage page identifier.
11 long usagePage; 15 long usagePage;
12 // Page-defined usage identifier. 16 // Page-defined usage identifier.
13 long usage; 17 long usage;
14 // Report IDs which belong to the collection and to its children. 18 // Report IDs which belong to the collection and to its children.
15 long[] reportIds; 19 long[] reportIds;
16 }; 20 };
17 21
18 [noinline_doc] dictionary HidDeviceInfo { 22 [noinline_doc] dictionary HidDeviceInfo {
19 // Device opaque ID. 23 // Opaque device ID.
20 long deviceId; 24 long deviceId;
21 // Vendor ID. 25 // Vendor ID.
22 long vendorId; 26 long vendorId;
23 // Product ID. 27 // Product ID.
24 long productId; 28 long productId;
25 // Top-level collections from this device's report descriptors. 29 // Top-level collections from this device's report descriptors.
26 HidCollectionInfo[] collections; 30 HidCollectionInfo[] collections;
27 // Top-level collection's maximum input report size. 31 // Top-level collection's maximum input report size.
28 long maxInputReportSize; 32 long maxInputReportSize;
29 // Top-level collection's maximum output report size. 33 // Top-level collection's maximum output report size.
30 long maxOutputReportSize; 34 long maxOutputReportSize;
31 // Top-level collection's maximum feature report size. 35 // Top-level collection's maximum feature report size.
32 long maxFeatureReportSize; 36 long maxFeatureReportSize;
33 }; 37 };
34 38
35 // Returned by <code>connect</code> to represent a communication session with
36 // an HID device. Must be closed with a call to <code>disconnect</code>.
37 dictionary HidConnectInfo { 39 dictionary HidConnectInfo {
40 // The opaque ID used to identify this connection in all other functions.
38 long connectionId; 41 long connectionId;
39 }; 42 };
40 43
41 [noinline_doc] dictionary DeviceFilter { 44 [noinline_doc] dictionary DeviceFilter {
42 // Device vendor ID. 45 // Device vendor ID.
43 long? vendorId; 46 long? vendorId;
44 // Device product ID, only checked only if the vendor ID matches. 47 // Device product ID, only checked only if the vendor ID matches.
45 long? productId; 48 long? productId;
46 // HID usage page identifier. 49 // HID usage page identifier.
47 long? usagePage; 50 long? usagePage;
48 // HID usage identifier, checked only if the HID usage page matches. 51 // HID usage identifier, checked only if the HID usage page matches.
49 long? usage; 52 long? usage;
50 }; 53 };
51 54
52 dictionary GetDevicesOptions { 55 dictionary GetDevicesOptions {
53 [deprecated="Equivalent to setting $(ref:DeviceFilter.vendorId)."] 56 [deprecated="Equivalent to setting $(ref:DeviceFilter.vendorId)."]
54 long? vendorId; 57 long? vendorId;
55 [deprecated="Equivalent to setting $(ref:DeviceFilter.productId)."] 58 [deprecated="Equivalent to setting $(ref:DeviceFilter.productId)."]
56 long? productId; 59 long? productId;
57 // A device matching any given filter will be returned. An empty filter list 60 // A device matching any given filter will be returned. An empty filter list
58 // will return all devices the app has permission for. 61 // will return all devices the app has permission for.
59 DeviceFilter[]? filters; 62 DeviceFilter[]? filters;
60 }; 63 };
61 64
62 callback GetDevicesCallback = void (HidDeviceInfo[] devices); 65 callback GetDevicesCallback = void (HidDeviceInfo[] devices);
63 callback ConnectCallback = void (HidConnectInfo connection); 66 callback ConnectCallback = void (HidConnectInfo connection);
64 callback DisconnectCallback = void (); 67 callback DisconnectCallback = void ();
65 68
66 // |reportId|: The ID of the report. 69 // |reportId|: The report ID or <code>0</code> if none.
67 // |data|: The content of the report. 70 // |data|: The content of the report.
68 callback ReceiveCallback = void (long reportId, ArrayBuffer data); 71 callback ReceiveCallback = void (long reportId, ArrayBuffer data);
69 72
70 // |data|: The content of the report. 73 // |data|: The content of the report.
71 callback ReceiveFeatureReportCallback = void (ArrayBuffer data); 74 callback ReceiveFeatureReportCallback = void (ArrayBuffer data);
72 75
73 callback SendCallback = void(); 76 callback SendCallback = void();
74 77
75 interface Functions { 78 interface Functions {
76 // Enumerate connected HID devices. 79 // Enumerate connected HID devices.
77 // |options|: The properties to search for on target devices. 80 // |options|: The properties to search for on target devices.
78 static void getDevices(GetDevicesOptions options, 81 static void getDevices(GetDevicesOptions options,
79 GetDevicesCallback callback); 82 GetDevicesCallback callback);
80 83
81 // Open a connection to an HID device for communication. 84 // Open a connection to an HID device for communication.
82 // |deviceId|: The ID of the device to open. 85 // |deviceId|: The $(ref:HidDeviceInfo.deviceId) of the device to open.
83 static void connect(long deviceId, 86 static void connect(long deviceId,
84 ConnectCallback callback); 87 ConnectCallback callback);
85 88
86 // Disconnect from a device. Invoking operations on a device after calling 89 // Disconnect from a device. Invoking operations on a device after calling
87 // this is safe but has no effect. 90 // this is safe but has no effect.
88 // |connectionId|: The connection to close. 91 // |connectionId|: The <code>connectionId</code> returned by $(ref:connect).
89 static void disconnect(long connectionId, 92 static void disconnect(long connectionId,
90 optional DisconnectCallback callback); 93 optional DisconnectCallback callback);
91 94
92 // Receive an Input report from an HID device. 95 // Receive the next input report from the device.
93 // 96 // |connectionId|: The <code>connectionId</code> returned by $(ref:connect).
94 // Input reports are returned to the host through the INTERRUPT IN endpoint.
95 // |connectionId|: The connection from which to receive a report.
96 static void receive(long connectionId, 97 static void receive(long connectionId,
97 ReceiveCallback callback); 98 ReceiveCallback callback);
98 99
99 // Send an Output report to an HID device. 100 // Send an output report to the device.
100 // <code>send</code> will send the data on the first OUT endpoint, if one 101 // |connectionId|: The <code>connectionId</code> returned by $(ref:connect).
101 // exists. If one does not exist, the report will be sent through the
102 // Control endpoint.
103 //
104 // |connectionId|: The connection to which to send a report.
105 // |reportId|: The report ID to use, or <code>0</code> if none. 102 // |reportId|: The report ID to use, or <code>0</code> if none.
106 // |data|: The report data. 103 // |data|: The report data.
107 static void send(long connectionId, 104 static void send(long connectionId,
108 long reportId, 105 long reportId,
109 ArrayBuffer data, 106 ArrayBuffer data,
110 SendCallback callback); 107 SendCallback callback);
111 108
112 // Receive a Feature report from the device. 109 // Request a feature report from the device.
113 // 110 // |connectionId|: The <code>connectionId</code> returned by $(ref:connect).
114 // |connectionId|: The connection to read Input report from. 111 // |reportId|: The report ID, or <code>0</code> if none.
115 // |reportId|: The report ID, or zero if none.
116 static void receiveFeatureReport(long connectionId, 112 static void receiveFeatureReport(long connectionId,
117 long reportId, 113 long reportId,
118 ReceiveFeatureReportCallback callback); 114 ReceiveFeatureReportCallback callback);
119 115
120 // Send a Feature report to the device. 116 // Send a feature report to the device.
121 // 117 // |connectionId|: The <code>connectionId</code> returned by $(ref:connect).
122 // Feature reports are sent over the Control endpoint as a Set_Report
123 // transfer.
124 // |connectionId|: The connection to read Input report from.
125 // |reportId|: The report ID to use, or <code>0</code> if none. 118 // |reportId|: The report ID to use, or <code>0</code> if none.
126 // |data|: The report data. 119 // |data|: The report data.
127 static void sendFeatureReport(long connectionId, 120 static void sendFeatureReport(long connectionId,
128 long reportId, 121 long reportId,
129 ArrayBuffer data, 122 ArrayBuffer data,
130 SendCallback callback); 123 SendCallback callback);
131 }; 124 };
132 }; 125 };
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698