diff options
Diffstat (limited to 'dom/system/gonk/nsINetworkInterface.idl')
-rw-r--r-- | dom/system/gonk/nsINetworkInterface.idl | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/dom/system/gonk/nsINetworkInterface.idl b/dom/system/gonk/nsINetworkInterface.idl new file mode 100644 index 000000000..bd40e751a --- /dev/null +++ b/dom/system/gonk/nsINetworkInterface.idl @@ -0,0 +1,108 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsISupports.idl" + +[scriptable, uuid(4816a559-5620-4cb5-8433-ff0b25e6622f)] +interface nsINetworkInfo : nsISupports +{ + const long NETWORK_STATE_UNKNOWN = -1; + const long NETWORK_STATE_CONNECTING = 0; + const long NETWORK_STATE_CONNECTED = 1; + const long NETWORK_STATE_DISCONNECTING = 2; + const long NETWORK_STATE_DISCONNECTED = 3; + const long NETWORK_STATE_ENABLED = 4; + const long NETWORK_STATE_DISABLED = 5; + + /** + * Current network state, one of the NETWORK_STATE_* constants. + * + * When this changes, network interface implementations notify with + * updateNetworkInterface() API. + */ + readonly attribute long state; + + const long NETWORK_TYPE_UNKNOWN = -1; + const long NETWORK_TYPE_WIFI = 0; + const long NETWORK_TYPE_MOBILE = 1; + const long NETWORK_TYPE_MOBILE_MMS = 2; + const long NETWORK_TYPE_MOBILE_SUPL = 3; + const long NETWORK_TYPE_WIFI_P2P = 4; + const long NETWORK_TYPE_MOBILE_IMS = 5; + const long NETWORK_TYPE_MOBILE_DUN = 6; + const long NETWORK_TYPE_MOBILE_FOTA = 7; + const long NETWORK_TYPE_ETHERNET = 8; + + /** + * Network type. One of the NETWORK_TYPE_* constants. + */ + readonly attribute long type; + + /** + * Interface name of the network interface this network info belongs to. + */ + readonly attribute DOMString name; + + /** + * Get the list of ip addresses and prefix lengths, ip address could be IPv4 + * or IPv6, typically 1 IPv4 or 1 IPv6 or one of each. + * + * @param ips + * The list of ip addresses retrieved. + * @param prefixLengths + * The list of prefix lengths retrieved. + * + * @returns the length of the lists. + */ + void getAddresses([array, size_is(count)] out wstring ips, + [array, size_is(count)] out unsigned long prefixLengths, + [retval] out unsigned long count); + + /** + * Get the list of gateways, could be IPv4 or IPv6, typically 1 IPv4 or 1 + * IPv6 or one of each. + * + * @param count + * The length of the list of gateways + * + * @returns the list of gateways. + */ + void getGateways([optional] out unsigned long count, + [array, size_is(count), retval] out wstring gateways); + + /** + * Get the list of dnses, could be IPv4 or IPv6. + * + * @param count + * The length of the list of dnses. + * + * @returns the list of dnses. + */ + void getDnses([optional] out unsigned long count, + [array, size_is(count), retval] out wstring dnses); +}; + +[scriptable, uuid(8b1345fa-b34c-41b3-8d21-09f961bf8887)] +interface nsINetworkInterface : nsISupports +{ + /** + * The network information about this network interface. + */ + readonly attribute nsINetworkInfo info; + + /** + * The host name of the http proxy server. + */ + readonly attribute DOMString httpProxyHost; + + /* + * The port number of the http proxy server. + */ + readonly attribute long httpProxyPort; + + /* + * The Maximun Transmit Unit for this network interface, -1 if not set. + */ + readonly attribute long mtu; +}; |