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

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

Issue 1030963003: Use networkingPrivate types in JS (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Extract unrelated chnages 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.
pneubeck (no reviews) 2015/03/26 16:56:47 you should run chrome/common/extensions/docs/serve
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
pneubeck (no reviews) 2015/03/26 16:56:47 nit: remove orphaned "
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.
11
12 namespace networkingPrivate {
13 enum ActivationStateType {
14 Activated, Activating, NotActivated, PartiallyActivated
15 };
16
17 enum CaptivePortalStatus {
18 Unknown, Offline, Online, Portal, ProxyAuthRequired
19 };
20
21 enum ConnectionStateType {
22 Connected, Connecting, NotConnected
23 };
24
25 enum IPConfigType {
26 DHCP, Static
27 };
28
29 enum NetworkType {
30 All, Bluetooth, Cellular, Ethernet, VPN, Wireless, WiFi, WiMAX
31 };
32
33 dictionary APNProperties {
pneubeck (no reviews) 2015/03/26 16:56:47 if you don't need for any of these the generated C
34 DOMString? AccessPointName;
35 DOMString? Name;
36 DOMString? Username;
37 DOMString? Password;
38 };
39
40 dictionary CellularConfigProperties {
41 boolean? AutoConnect;
42 APNProperties? APN;
43 };
44
45 dictionary CellularStateProperties {
46 long? SignalStrength;
47 boolean? OutOfCredits;
48 DOMString? RoamingState;
49 ActivationStateType? ActivationState;
50 DOMString? NetworkTechnology;
51 };
52
53 dictionary EthernetStateProperties {
54 DOMString? Authentication;
55 };
56
57 dictionary IPConfigProperties {
58 DOMString? Gateway;
59 DOMString? IPAddress;
60 DOMString[]? NameServers;
61 DOMString? Type;
62 long? RoutingPrefix;
63 };
64
65 dictionary IPSecProperties {
66 DOMString? AuthenticationType;
67 };
68
69 dictionary VPNConfigProperties {
70 boolean? AutoConnect;
71 DOMString? Type;
72 DOMString? Host;
73 };
74
75 dictionary VPNStateProperties {
76 DOMString? Type;
77 IPSecProperties? IPsec;
78 };
79
80 dictionary WiFiConfigProperties {
81 boolean? AutoConnect;
82 };
83
84 dictionary WiFiStateProperties {
85 DOMString? Security;
86 long? SignalStrength;
87 };
88
89 dictionary WiMaxConfigProperties {
90 boolean? AutoConnect;
91 };
92
93 dictionary WiMAXStateProperties {
94 long? SignalStrength;
95 };
96
97 dictionary NetworkConfigProperties {
98 CellularConfigProperties? Cellular;
99 DOMString? GUID;
100 IPConfigType? IPAddressConfigType;
101 DOMString? Name;
102 IPConfigType? NameServersConfigType;
103 long? Priority;
104 IPConfigProperties? StaticIPConfig;
105 NetworkType? Type;
106 VPNConfigProperties? VPN;
107 WiFiConfigProperties? WiFi;
108 WiMaxConfigProperties? WiMAX;
109 };
110
111 dictionary NetworkStateProperties {
112 CellularStateProperties? Cellular;
113 boolean? Connectable;
114 ConnectionStateType? ConnectionState;
115 EthernetStateProperties? Ethernet;
116 DOMString? ErrorState;
117 DOMString GUID;
118 DOMString? Name;
119 long? Priority;
120 DOMString? Source;
121 NetworkType Type;
122 VPNStateProperties? VPN;
123 WiFiStateProperties? WiFi;
124 WiMAXStateProperties? WiMAX;
125 };
126
127 dictionary VerificationProperties {
128 // A string containing a PEM-encoded (including the 'BEGIN CERTIFICATE'
129 // header and 'END CERTIFICATE' footer) X.509 certificate for use in
130 // verifying the signed data.
131 DOMString certificate;
132
133 // An array of PEM-encoded X.509 intermediate certificate authority
134 // certificates. Each PEM-encoded certificate is expected to have the
135 // 'BEGIN CERTIFICATE' header and 'END CERTIFICATE' footer.
136 DOMString[]? intermediateCertificates;
137
138 // A string containing a Base64-encoded RSAPublicKey ASN.1 structure,
139 // representing the public key to be used by verifyAndEncryptCredentials and
140 // verifyAndEncryptData methods.
141 DOMString publicKey;
142
143 // A string containing a base64-encoded random binary data for use in
144 // verifying the signed data.
145 DOMString nonce;
146
147 // A string containing the identifying data string signed by the device.
148 DOMString signedData;
149
150 // A string containing the serial number of the device.
151 DOMString deviceSerial;
152
153 // A string containing the SSID of the device. Should be empty for new
154 // configurations.
155 DOMString deviceSsid;
156
157 // A string containing the BSSID of the device. Should be empty for new
158 // configurations.
159 DOMString deviceBssid;
160 };
161
162 dictionary NetworkFilter {
163 // The type of networks to return.
164 NetworkType networkType;
165
166 // If true, only include visible (physically connected or in-range)
167 // networks. Defaults to 'false'.
168 boolean? visible;
169
170 // If true, only include configured (saved) networks. Defaults to 'false'.
171 boolean? configured;
172
173 // Maximum number of networks to return. Defaults to 1000. Use 0 for no
174 // limit.
175 long? limit;
176 };
177
178 callback VoidCallback = void();
179 callback BooleanCallback = void(boolean result);
180 callback StringCallback = void(DOMString result);
181 // TODO(stevenjb): Use NetworkProperties for |result| once defined.
182 callback GetPropertiesCallback = void(object result);
183 // TODO(stevenjb): Use ManagedNetworkProperties for |result| once defined.
184 callback GetManagedPropertiesCallback = void(object result);
185 callback GetStatePropertiesCallback = void(NetworkStateProperties result);
186 callback GetNetworksCallback = void(NetworkStateProperties[] result);
187 callback GetEnabledNetwrokTypesCallback = void(NetworkType[] result);
188 callback CaptivePortalStatusCallback = void(CaptivePortalStatus result);
189
190 // These functions all report failures via chrome.runtime.lastError.
191 interface Functions {
192 // Gets all the properties of the network with id networkGuid. Includes all
193 // properties of the network (read-only and read/write values).
194 // |networkGuid|: The identifier of the network to get properties for.
195 // |callback|: Returns the properties of the network.
196 static void getProperties(DOMString networkGuid,
197 GetPropertiesCallback callback);
198
199 // Gets the merged properties of the network with id networkGuid from the
200 // sources: User settings, shared settings, user policy, device policy and
201 // the currently active settings.
202 // |networkGuid|: The identifier of the network to get properties for.
203 // |callback|: Returns the managed properties of the network.
204 static void getManagedProperties(DOMString networkGuid,
205 GetManagedPropertiesCallback callback);
206
207 // Gets the cached read-only properties of the network with id networkGuid.
208 // This is meant to be a higher performance function than getProperties,
209 // which requires a round trip to query the networking subsystem. The
210 // following properties are returned for all networks: GUID, Type, Name,
211 // WiFi.Security. Additional properties are provided for visible networks:
212 // ConnectionState, ErrorState, WiFi.SignalStrength,
213 // Cellular.NetworkTechnology, Cellular.ActivationState,
214 // Cellular.RoamingState, Cellular.OutOfCredits.
215 // |networkGuid|: The identifier of the network to get properties for.
216 // |callback|: Returns the managed properties of the network.
217 static void getState(DOMString networkGuid,
218 GetStatePropertiesCallback callback);
219
220 // Sets the properties of the network with id networkGuid.
221 // |networkGuid|: The identifier of the network to set properties for.
222 // |properties|: The ONC properties to set.
223 // |callback|: Called when the operation has completed.
224 static void setProperties(DOMString networkGuid,
225 NetworkConfigProperties properties,
226 optional VoidCallback callback);
227
228 // Creates a new network configuration from properties. If a matching
229 // configured network already exists, this will fail. Otherwise returns the
230 // guid of the new network.
231 // |shared|: If true, share this network configuration with other users.
232 // |properties|: The ONC properties to configure the new network with.
233 // |callback|: Returns the identifier of the created network.
234 static void createNetwork(boolean shared,
235 NetworkConfigProperties properties,
236 optional StringCallback callback);
237
238 // Returns a list of network objects with the same properties provided by
239 // getState. A filter is provided to specify the type of networks returned
240 // and to limit the number of networks. Networks are ordered by the system
241 // based on their priority, with connected or connecting networks listed
242 // first. static void getNetworks();
243 // |filter|: Describes which networks to return.
244 // |callback|: Returns the network state properties.
245 static void getNetworks(NetworkFilter filter,
246 GetNetworksCallback callback);
247
248 // Deprecated. Please use $(ref:networkingPrivate.getNetworks) with
249 // filter.visble = true instead.
250 [deprecated="Use getNetworks."] static void getVisibleNetworks(
251 NetworkType networkType,
252 GetNetworksCallback callback);
253
254 // Returns a list of the enabled network types. Note: this only returns
255 // discrete types that can be enabled or disabled: Cellular, Ethernet, WiFi,
256 // Wimax.
257 static void getEnabledNetworkTypes(GetEnabledNetwrokTypesCallback callback);
258
259 // Enable the specified network type. Note, the type might represent
260 // multiple network types (e.g. 'Wireless').
261 static void enableNetworkType(NetworkType networkType);
262
263 // Disable the specified network type. See note for
264 // $(ref:networkingPrivate.enableNetworkType).
265 static void disableNetworkType(NetworkType networkType);
266
267 // Requests that the networking subsystem scan for new networks and
268 // update the list returned by getVisibleNetworks. This is only a
269 // request: the network subsystem can choose to ignore it. If the list
270 // is updated, then the onNetworkListChanged event will be fired.
271 static void requestNetworkScan();
272
273 // Starts a connection to the network with networkGuid.
274 // |networkGuid|: The identifier of the network to connect to.
275 static void startConnect(DOMString networkGuid,
276 optional VoidCallback callback);
277
278 // Starts a disconnect from the network with networkGuid.
279 // |networkGuid|: The identifier of the network to disconnect from.
280 static void startDisconnect(DOMString networkGuid,
281 optional VoidCallback callback);
282
283 // Starts activation of the Cellular network with networkGuid.
284 // |networkGuid|: The identifier of the Cellular network to activate.
285 // |carrier|: Optional name of carrier to activate.
286 static void startActivate(DOMString networkGuid,
287 optional DOMString carrier,
288 optional VoidCallback callback);
289
290 // Verifies that the device is a trusted device.
291 // |properties|: Properties of the destination to use in verifying that it
292 // is a trusted device.
293 // |callback|: A callback function that indicates whether or not the device
294 // is a trusted device.
295 static void verifyDestination(VerificationProperties properties,
296 BooleanCallback callback);
297
298 // Verifies that the device is a trusted device and retrieves encrypted
299 // network credentials.
300 // |properties|: Properties of the destination to use in verifying that it
301 // is a trusted device.
302 // |networkGuid|: The identifier of the Cellular network to activate.
303 // |callback|: A callback function that receives base64-encoded encrypted
304 // credential data to send to a trusted device.
305 static void verifyAndEncryptCredentials(VerificationProperties properties,
306 DOMString networkGuid,
307 StringCallback callback);
308
309 // Verifies that the device is a trusted device and encrypts supplied
310 // data with device public key.
311 // |properties|: Properties of the destination to use in verifying that it
312 // is a trusted device.
313 // |data|: A string containing the base64-encoded data to encrypt.
314 // |callback|: A callback function that receives base64-encoded encrypted
315 // data to send to a trusted device.
316 static void verifyAndEncryptData(VerificationProperties properties,
317 DOMString data,
318 StringCallback callback);
319
320 // Enables TDLS for wifi traffic with a specified peer if available.
321 // |ip_or_mac_address|: The IP or MAC address of the peer with which to
322 // enable a TDLS connection.
323 // |enabled| If true, enable TDLS, otherwise disable TDLS.
324 // |calback|: A callback function that receives a string with an error or
325 // the current TDLS status. 'Failed' indicates that the request failed
326 // (e.g. MAC address lookup failed). 'Timeout' indicates that the lookup
327 // timed out. Otherwise a valid status is returned (see
328 // getWifiTDLSStatus).
329 static void setWifiTDLSEnabledState(DOMString ip_or_mac_address,
330 boolean enabled,
331 StringCallback callback);
332
333 // Returns the current TDLS status for the specified peer.
334 // |ip_or_mac_address|: The IP or MAC address of the peer.
335 // |calback|: A callback function that receives a string with the current
336 // TDLS status which can be 'Connected', 'Disabled', 'Disconnected',
337 // 'Nonexistent', or 'Unknown'.
338 static void getWifiTDLSStatus(DOMString ip_or_mac_address,
339 StringCallback callback);
340
341 // Returns captive portal status for the network matching 'guid'.
342 // |networkGuid|: The identifier of the network to get the captive portal
343 // status for.
344 // |calback|: Results of the query for network captive portal status.
345 static void getCaptivePortalStatus(DOMString networkGuid,
346 CaptivePortalStatusCallback callback);
347 };
348
349 interface Events {
350 // Fired when the properties change on any of the networks. Sends a list of
351 // identifiers for networks whose properties have changed.
352 static void onNetworksChanged(DOMString[] changes);
353
354 // Fired when the list of networks has changed. Sends a complete list of
355 // identifiers for all the current networks.
356 static void onNetworkListChanged(DOMString[] changes);
357
358 // Fired when a portal detection for a network completes. Sends the guid of
359 // the network and the corresponding captive portal status.
360 static void onPortalDetectionCompleted(DOMString networkGuid,
361 CaptivePortalStatus status);
362 };
363 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698