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

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

Issue 1038873004: Convert networkingPrivate to use IDL format (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@issue_470282_onc_cellular_technology
Patch Set: Feedback Created 5 years, 8 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 2015 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 // The <code>chrome.networkingPrivate</code> API is used for configuring
6 // network connections (Cellular, Ethernet, VPN, WiFi or WiMAX). This private
7 // API is only valid if called from a browser or app associated with the
8 // primary user. See the Open Network Configuration (ONC) documentation for
9 // descriptions of properties:
10 // src/components/onc/docs/onc_spec.html, also available at
11 // http://www.chromium.org/chromium-os/chromiumos-design-docs/open-network-confi guration
12 // TODO(stevenjb/pneubeck): Merge the ONC documentation with this document and
13 // use it as the ONC specification.
14
15 namespace networkingPrivate {
16 enum CaptivePortalStatus {
17 Unknown, Offline, Online, Portal, ProxyAuthRequired
18 };
19
20 enum NetworkType {
21 All, Bluetooth, Cellular, Ethernet, VPN, Wireless, WiFi, WiMAX
22 };
23
24 dictionary VerificationProperties {
25 // A string containing a PEM-encoded (including the 'BEGIN CERTIFICATE'
26 // header and 'END CERTIFICATE' footer) X.509 certificate for use in
27 // verifying the signed data.
28 DOMString certificate;
29
30 // An array of PEM-encoded X.509 intermediate certificate authority
31 // certificates. Each PEM-encoded certificate is expected to have the
32 // 'BEGIN CERTIFICATE' header and 'END CERTIFICATE' footer.
33 DOMString[]? intermediateCertificates;
34
35 // A string containing a Base64-encoded RSAPublicKey ASN.1 structure,
pneubeck (no reviews) 2015/03/27 18:08:02 nit: Base64 -> base64
stevenjb 2015/03/27 19:32:55 Done.
36 // representing the public key to be used by verifyAndEncryptCredentials and
pneubeck (no reviews) 2015/03/27 18:08:03 references in comments can be done using $(ref:ver
stevenjb 2015/03/27 19:32:55 Done.
37 // verifyAndEncryptData methods.
38 DOMString publicKey;
39
40 // A string containing a base64-encoded random binary data for use in
41 // verifying the signed data.
42 DOMString nonce;
43
44 // A string containing the identifying data string signed by the device.
45 DOMString signedData;
46
47 // A string containing the serial number of the device.
48 DOMString deviceSerial;
49
50 // A string containing the SSID of the device. Should be empty for new
51 // configurations.
pneubeck (no reviews) 2015/03/27 18:08:03 neither the old "Only set if the device has alread
stevenjb 2015/03/27 19:32:54 Acknowledged.
52 DOMString deviceSsid;
53
54 // A string containing the BSSID of the device. Should be empty for new
55 // configurations.
56 DOMString deviceBssid;
57 };
58
59 dictionary NetworkFilter {
60 // The type of networks to return.
61 NetworkType networkType;
62
63 // If true, only include visible (physically connected or in-range)
64 // networks. Defaults to 'false'.
65 boolean? visible;
66
67 // If true, only include configured (saved) networks. Defaults to 'false'.
68 boolean? configured;
69
70 // Maximum number of networks to return. Defaults to 1000 if unspecified.
71 // Use 0 for no limit.
72 long? limit;
73 };
74
75 callback VoidCallback = void();
76 callback BooleanCallback = void(boolean result);
77 callback StringCallback = void(DOMString result);
78 // TODO(stevenjb): Use NetworkProperties for |result| once defined.
79 callback GetPropertiesCallback = void(object result);
80 // TODO(stevenjb): Use ManagedNetworkProperties for |result| once defined.
81 callback GetManagedPropertiesCallback = void(object result);
82 callback GetStatePropertiesCallback = void(object result);
83 callback GetNetworksCallback = void(object[] result);
84 callback GetEnabledNetworkTypesCallback = void(NetworkType[] result);
85 callback CaptivePortalStatusCallback = void(CaptivePortalStatus result);
86
87 // These functions all report failures via chrome.runtime.lastError.
88 interface Functions {
89 // Gets all the properties of the network with id networkGuid. Includes all
pneubeck (no reviews) 2015/03/27 18:08:03 I'd put references to variables (that you can't re
stevenjb 2015/03/27 19:32:54 Acknowledged.
90 // properties of the network (read-only and read/write values).
91 // |networkGuid|: The identifier of the network to get properties for.
92 // |callback|: Returns the properties of the network.
pneubeck (no reviews) 2015/03/27 18:08:02 technically it's not a return but more of a 'recei
stevenjb 2015/03/27 19:32:54 Done.
93 static void getProperties(DOMString networkGuid,
94 GetPropertiesCallback callback);
95
96 // Gets the merged properties of the network with id networkGuid from the
97 // sources: User settings, shared settings, user policy, device policy and
98 // the currently active settings.
99 // |networkGuid|: The identifier of the network to get properties for.
100 // |callback|: Returns the managed properties of the network.
101 static void getManagedProperties(DOMString networkGuid,
102 GetManagedPropertiesCallback callback);
103
104 // Gets the cached read-only properties of the network with id networkGuid.
105 // This is meant to be a higher performance function than getProperties,
106 // which requires a round trip to query the networking subsystem. The
107 // following properties are returned for all networks: GUID, Type, Name,
108 // WiFi.Security. Additional properties are provided for visible networks:
109 // ConnectionState, ErrorState, WiFi.SignalStrength,
110 // Cellular.NetworkTechnology, Cellular.ActivationState,
111 // Cellular.RoamingState, Cellular.OutOfCredits.
112 // |networkGuid|: The identifier of the network to get properties for.
113 // |callback|: Returns the managed properties of the network.
pneubeck (no reviews) 2015/03/27 18:08:03 'managed' is wrong
stevenjb 2015/03/27 19:32:55 Done.
114 static void getState(DOMString networkGuid,
115 GetStatePropertiesCallback callback);
116
117 // Sets the properties of the network with id networkGuid.
118 // |networkGuid|: The identifier of the network to set properties for.
119 // |properties|: The ONC properties to set.
120 // |callback|: Called when the operation has completed.
121 static void setProperties(DOMString networkGuid,
122 object properties,
123 optional VoidCallback callback);
124
125 // Creates a new network configuration from properties. If a matching
126 // configured network already exists, this will fail. Otherwise returns the
127 // guid of the new network.
128 // |shared|: If true, share this network configuration with other users.
129 // |properties|: The ONC properties to configure the new network with.
pneubeck (no reviews) 2015/03/27 18:08:03 here and for setProperties, you call it ONC proper
stevenjb 2015/03/27 19:32:55 Done.
130 // |callback|: Returns the identifier of the created network.
pneubeck (no reviews) 2015/03/27 18:08:02 here or in a follow up, the use of 'identifier'/GU
stevenjb 2015/03/27 19:32:55 Done.
131 static void createNetwork(boolean shared,
132 object properties,
133 optional StringCallback callback);
134
135 // Forgets a network configuration by clearing any configured properties for
136 // the network with GUID 'networkGuid'. This may also include any other
pneubeck (no reviews) 2015/03/27 18:08:03 s/'...'/<code>...</code>
stevenjb 2015/03/27 19:32:54 Acknowledged.
137 // networks with matching identifiers (e.g. WiFi SSID and Security). If no
138 // such configuration exists, an error will be set and the operation will
139 // fail.
pneubeck (no reviews) 2015/03/27 18:08:03 other functions have parameter comments.
stevenjb 2015/03/27 19:32:54 Done.
140 static void forgetNetwork(DOMString networkGuid,
141 optional VoidCallback callback);
142
143 // Returns a list of network objects with the same properties provided by
144 // $(ref:networkingPrivate.getState). A filter is provided to specify the
145 // type of networks returned and to limit the number of networks. Networks
146 // are ordered by the system based on their priority, with connected or
147 // connecting networks listed first.
148 // |filter|: Describes which networks to return.
149 // |callback|: Returns the network state properties.
150 static void getNetworks(NetworkFilter filter,
151 GetNetworksCallback callback);
pneubeck (no reviews) 2015/03/27 18:08:03 was optional but probably didn't make sense
stevenjb 2015/03/27 19:32:55 Correct.
152
153 // Deprecated. Please use $(ref:networkingPrivate.getNetworks) with
154 // filter.visble = true instead.
pneubeck (no reviews) 2015/03/27 18:08:03 typo: visble -> visible should be embedded in <co
stevenjb 2015/03/27 19:32:54 Done, ack
155 [deprecated="Use getNetworks."] static void getVisibleNetworks(
156 NetworkType networkType,
157 GetNetworksCallback callback);
158
159 // Returns a list of the enabled network types. Note: this only returns
160 // discrete types that can be enabled or disabled: Cellular, Ethernet, WiFi,
161 // Wimax.
162 static void getEnabledNetworkTypes(GetEnabledNetworkTypesCallback callback);
163
164 // Enable the specified network type. Note, the type might represent
165 // multiple network types (e.g. 'Wireless').
166 static void enableNetworkType(NetworkType networkType);
167
168 // Disable the specified network type. See note for
169 // $(ref:networkingPrivate.enableNetworkType).
170 static void disableNetworkType(NetworkType networkType);
171
172 // Requests that the networking subsystem scan for new networks and
173 // update the list returned by getVisibleNetworks. This is only a
pneubeck (no reviews) 2015/03/27 18:08:03 $(ref:getVisibleNetworks)
stevenjb 2015/03/27 19:32:54 Done.
174 // request: the network subsystem can choose to ignore it. If the list
175 // is updated, then the onNetworkListChanged event will be fired.
pneubeck (no reviews) 2015/03/27 18:08:03 $(ref:onNetworkListChanged)
stevenjb 2015/03/27 19:32:54 Done.
176 static void requestNetworkScan();
177
178 // Starts a connection to the network with networkGuid.
179 // |networkGuid|: The identifier of the network to connect to.
pneubeck (no reviews) 2015/03/27 18:08:03 probably drop the argument comments in all trivial
stevenjb 2015/03/27 19:32:54 Using everywhere.
180 static void startConnect(DOMString networkGuid,
181 optional VoidCallback callback);
pneubeck (no reviews) 2015/03/27 18:08:03 actually, for the start* functions, the comment at
stevenjb 2015/03/27 19:32:54 Done.
182
183 // Starts a disconnect from the network with networkGuid.
184 // |networkGuid|: The identifier of the network to disconnect from.
185 static void startDisconnect(DOMString networkGuid,
186 optional VoidCallback callback);
187
188 // Starts activation of the Cellular network with networkGuid.
189 // |networkGuid|: The identifier of the Cellular network to activate.
190 // |carrier|: Optional name of carrier to activate.
191 static void startActivate(DOMString networkGuid,
192 optional DOMString carrier,
193 optional VoidCallback callback);
194
195 // Verifies that the device is a trusted device.
196 // |properties|: Properties of the destination to use in verifying that it
197 // is a trusted device.
198 // |callback|: A callback function that indicates whether or not the device
199 // is a trusted device.
200 static void verifyDestination(VerificationProperties properties,
201 BooleanCallback callback);
202
203 // Verifies that the device is a trusted device and retrieves encrypted
204 // network credentials.
205 // |properties|: Properties of the destination to use in verifying that it
206 // is a trusted device.
207 // |networkGuid|: The identifier of the Cellular network to activate.
208 // |callback|: A callback function that receives base64-encoded encrypted
209 // credential data to send to a trusted device.
210 static void verifyAndEncryptCredentials(VerificationProperties properties,
211 DOMString networkGuid,
212 StringCallback callback);
213
214 // Verifies that the device is a trusted device and encrypts supplied
215 // data with device public key.
216 // |properties|: Properties of the destination to use in verifying that it
217 // is a trusted device.
218 // |data|: A string containing the base64-encoded data to encrypt.
219 // |callback|: A callback function that receives base64-encoded encrypted
220 // data to send to a trusted device.
221 static void verifyAndEncryptData(VerificationProperties properties,
222 DOMString data,
223 StringCallback callback);
224
225 // Enables TDLS for wifi traffic with a specified peer if available.
pneubeck (no reviews) 2015/03/27 18:08:03 wifi -> WiFi
stevenjb 2015/03/27 19:32:54 Done.
226 // |ip_or_mac_address|: The IP or MAC address of the peer with which to
227 // enable a TDLS connection.
228 // |enabled| If true, enable TDLS, otherwise disable TDLS.
229 // |calback|: A callback function that receives a string with an error or
230 // the current TDLS status. 'Failed' indicates that the request failed
pneubeck (no reviews) 2015/03/27 18:08:03 these strings should probably be enums
stevenjb 2015/03/27 19:32:54 Acknowledged.
231 // (e.g. MAC address lookup failed). 'Timeout' indicates that the lookup
232 // timed out. Otherwise a valid status is returned (see
233 // getWifiTDLSStatus).
pneubeck (no reviews) 2015/03/27 18:08:03 $(ref:getWifiTDLSStatus)
stevenjb 2015/03/27 19:32:54 Done.
234 static void setWifiTDLSEnabledState(DOMString ip_or_mac_address,
235 boolean enabled,
236 StringCallback callback);
pneubeck (no reviews) 2015/03/27 18:08:03 was optional but probably you changed it on purpos
stevenjb 2015/03/27 19:32:55 Actually, setter callbacks should be optional, goo
237
238 // Returns the current TDLS status for the specified peer.
239 // |ip_or_mac_address|: The IP or MAC address of the peer.
240 // |calback|: A callback function that receives a string with the current
241 // TDLS status which can be 'Connected', 'Disabled', 'Disconnected',
pneubeck (no reviews) 2015/03/27 18:08:03 these strings should probably be enums
stevenjb 2015/03/27 19:32:55 Acknowledged.
242 // 'Nonexistent', or 'Unknown'.
243 static void getWifiTDLSStatus(DOMString ip_or_mac_address,
244 StringCallback callback);
245
246 // Returns captive portal status for the network matching 'guid'.
pneubeck (no reviews) 2015/03/27 18:08:03 'guid' is wrong
stevenjb 2015/03/27 19:32:54 Done.
247 // |networkGuid|: The identifier of the network to get the captive portal
248 // status for.
249 // |calback|: Results of the query for network captive portal status.
pneubeck (no reviews) 2015/03/27 18:08:03 calback -> callback the comment isn't right for a
stevenjb 2015/03/27 19:32:55 Done.
250 static void getCaptivePortalStatus(DOMString networkGuid,
251 CaptivePortalStatusCallback callback);
252 };
253
254 interface Events {
255 // Fired when the properties change on any of the networks. Sends a list of
256 // identifiers for networks whose properties have changed.
257 static void onNetworksChanged(DOMString[] changes);
258
259 // Fired when the list of networks has changed. Sends a complete list of
260 // identifiers for all the current networks.
261 static void onNetworkListChanged(DOMString[] changes);
262
263 // Fired when a portal detection for a network completes. Sends the guid of
264 // the network and the corresponding captive portal status.
265 static void onPortalDetectionCompleted(DOMString networkGuid,
266 CaptivePortalStatus status);
267 };
268 };
OLDNEW
« no previous file with comments | « extensions/browser/api/networking_private/networking_private_delegate.h ('k') | extensions/common/api/networking_private.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698