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

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