Index: extensions/common/api/networking_private.idl |
diff --git a/extensions/common/api/networking_private.idl b/extensions/common/api/networking_private.idl |
index b4b44b805cad3dbecf3aa5982fda7003133eb37c..e10583adafe87ba71ce4809b00c8bd51b9440b9c 100644 |
--- a/extensions/common/api/networking_private.idl |
+++ b/extensions/common/api/networking_private.idl |
@@ -11,19 +11,150 @@ |
// src/components/onc/docs/onc_spec.html</a>, or the |
// <a href="http://www.chromium.org/chromium-os/chromiumos-design-docs/open-network-configuration"> |
// Open Network Configuration</a> page at chromium.org. |
-// |
+// <br><br> |
+// NOTE: Most dictionary properties and enum values use UpperCamelCase to match |
+// the ONC spec instead of the JavaScript lowerCamelCase convention. |
+// <br><br> |
+// "State" properties describe just the ONC properties returned by |
+// $(ref:networkingPrivate.getState) and $(ref:networkingPrivate.getNetworks). |
+// <br><br> |
+// "Config" properties describe just the ONC properties that can be configured |
+// through this API. NOTE: Not all configuration properties are exposed at this |
+// time, only those currently required by the Chrome Settings UI. |
+// TODO(stevenjb): Provide all configuration properties and types, |
+// crbug.com/380937. |
+// <br><br> |
// TODO(stevenjb/pneubeck): Merge the ONC documentation with this document and |
// use it as the ONC specification. |
namespace networkingPrivate { |
+ enum ActivationStateType { |
+ Activated, Activating, NotActivated, PartiallyActivated |
+ }; |
+ |
enum CaptivePortalStatus { |
Unknown, Offline, Online, Portal, ProxyAuthRequired |
}; |
+ enum ConnectionStateType { |
+ Connected, Connecting, NotConnected |
+ }; |
+ |
+ enum IPConfigType { |
+ DHCP, Static |
+ }; |
+ |
enum NetworkType { |
All, Bluetooth, Cellular, Ethernet, VPN, Wireless, WiFi, WiMAX |
}; |
+ dictionary APNProperties { |
+ DOMString? AccessPointName; |
+ DOMString? Language; |
+ DOMString? LocalizedName; |
+ DOMString? Name; |
+ DOMString? Password; |
+ DOMString? Username; |
+ }; |
+ |
+ dictionary CellularConfigProperties { |
+ boolean? AutoConnect; |
+ APNProperties? APN; |
+ }; |
+ |
+ dictionary CellularStateProperties { |
+ ActivationStateType? ActivationState; |
+ DOMString? NetworkTechnology; |
+ DOMString? RoamingState; |
+ long? SignalStrength; |
+ }; |
+ |
+ dictionary EthernetStateProperties { |
+ DOMString Authentication; |
+ }; |
+ |
+ dictionary IPConfigProperties { |
+ DOMString? Gateway; |
+ DOMString? IPAddress; |
+ DOMString[]? NameServers; |
+ long? RoutingPrefix; |
+ DOMString? Type; |
+ DOMString? WebProxyAutoDiscoveryUrl; |
+ }; |
+ |
+ dictionary IPSecProperties { |
+ DOMString AuthenticationType; |
+ }; |
+ |
+ dictionary ThirdPartyVPNProperties { |
+ DOMString ExtensionID; |
+ }; |
+ |
+ dictionary VPNConfigProperties { |
+ boolean? AutoConnect; |
+ DOMString? Host; |
+ ThirdPartyVPNProperties? ThirdPartyVPN; |
+ DOMString? Type; |
+ }; |
+ |
+ dictionary VPNStateProperties { |
+ DOMString Type; |
+ IPSecProperties? IPsec; |
+ ThirdPartyVPNProperties? ThirdPartyVPN; |
+ }; |
+ |
+ dictionary WiFiConfigProperties { |
+ boolean? AutoConnect; |
+ DOMString? HexSSID; |
+ boolean? HiddenSSID; |
+ DOMString? Passphrase; |
+ DOMString? SSID; |
+ DOMString? Security; |
+ }; |
+ |
+ dictionary WiFiStateProperties { |
+ DOMString Security; |
+ long? SignalStrength; |
+ }; |
+ |
+ dictionary WiMaxConfigProperties { |
+ boolean? AutoConnect; |
+ }; |
+ |
+ dictionary WiMAXStateProperties { |
+ long? SignalStrength; |
+ }; |
+ |
+ dictionary NetworkConfigProperties { |
+ CellularConfigProperties? Cellular; |
+ DOMString? GUID; |
+ IPConfigType? IPAddressConfigType; |
+ DOMString? Name; |
+ IPConfigType? NameServersConfigType; |
+ long? Priority; |
+ IPConfigProperties? StaticIPConfig; |
+ NetworkType? Type; |
+ VPNConfigProperties? VPN; |
+ WiFiConfigProperties? WiFi; |
+ WiMaxConfigProperties? WiMAX; |
+ }; |
+ |
+ dictionary NetworkStateProperties { |
+ CellularStateProperties? Cellular; |
+ boolean? Connectable; |
+ ConnectionStateType? ConnectionState; |
+ EthernetStateProperties? Ethernet; |
+ DOMString? ErrorState; |
+ DOMString GUID; |
+ DOMString? Name; |
+ long? Priority; |
+ DOMString? Source; |
+ NetworkType Type; |
+ VPNStateProperties? VPN; |
+ WiFiStateProperties? WiFi; |
+ WiMAXStateProperties? WiMAX; |
+ }; |
+ |
dictionary VerificationProperties { |
// A string containing a PEM-encoded (including the 'BEGIN CERTIFICATE' |
// header and 'END CERTIFICATE' footer) X.509 certificate for use in |
@@ -83,8 +214,8 @@ namespace networkingPrivate { |
callback GetPropertiesCallback = void(object result); |
// TODO(stevenjb): Use ManagedNetworkProperties for |result| once defined. |
callback GetManagedPropertiesCallback = void(object result); |
- callback GetStatePropertiesCallback = void(object result); |
- callback GetNetworksCallback = void(object[] result); |
+ callback GetStatePropertiesCallback = void(NetworkStateProperties result); |
+ callback GetNetworksCallback = void(NetworkStateProperties[] result); |
callback GetEnabledNetworkTypesCallback = void(NetworkType[] result); |
callback CaptivePortalStatusCallback = void(CaptivePortalStatus result); |
@@ -112,7 +243,7 @@ namespace networkingPrivate { |
// Type, Name, WiFi.Security. Additional properties are provided for visible |
// networks: ConnectionState, ErrorState, WiFi.SignalStrength, |
// Cellular.NetworkTechnology, Cellular.ActivationState, |
- // Cellular.RoamingState, Cellular.OutOfCredits. |
+ // Cellular.RoamingState. |
// |networkGuid|: The GUID of the network to get properties for. |
// |callback|: Called immediately with the network state properties. |
static void getState(DOMString networkGuid, |
@@ -123,7 +254,7 @@ namespace networkingPrivate { |
// |properties|: The properties to set. |
// |callback|: Called when the operation has completed. |
static void setProperties(DOMString networkGuid, |
- object properties, |
+ NetworkConfigProperties properties, |
optional VoidCallback callback); |
// Creates a new network configuration from properties. If a matching |
@@ -134,7 +265,7 @@ namespace networkingPrivate { |
// |callback|: Called with the GUID for the new network configuration once |
// the network has been created. |
static void createNetwork(boolean shared, |
- object properties, |
+ NetworkConfigProperties properties, |
optional StringCallback callback); |
// Forgets a network configuration by clearing any configured properties for |