Network API

To use Samsung Product API,

<script type="text/javascript" src="$WEBAPIS/webapis/webapis.js"></script>

Should be loaded in index.html

This module defines the network information retrieval functionalities provided by the Tizen Samsung Product API.

Since : 2.3

Product : TV, AV, B2B

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.public

Summary of Interfaces and Methods

Interface Method
NetworkManagerObject

NetworkManager

DOMString getVersion();
boolean isConnectedToGateway();
NetworkIpMode getIpMode();
void setIpMode(NetworkIpMode ipmode);
DOMString getSubnetMask();
void setSubnetMask(DOMString subnet);
DOMString getGateway();
void setGateway(DOMString gateway);
DOMString getMac();
DOMString getDns();
void setDns(DOMString dns);
DOMString getIp();
void setIp(DOMString ip);
DOMString getProxyserverInfo();
void setProxyserverInfo(DOMString id, DOMString pwd, DOMString url, DOMString port);
DOMString getTVName();
NetworkActiveConnectionType getActiveConnectionType();
unsigned long addNetworkStateChangeListener(NetworkStateChangedCallback listener);
void removeNetworkStateChangeListener(unsigned long listenerId);
DOMString getWiFiSsid();
long getWiFiSignalStrengthLevel();
NetworkWiFiSecurityMode getWiFiSecurityMode();
NetworkWiFiEncryptionType getWiFiEncryptionType();
DOMString getSecondaryDns();
void setDhcpOption60Field(DOMString vendorName);
void removeDhcpOption60Field();
DOMString getCurrentDhcpOption60Field();
DOMString checkCurrentIpWith60Field();
void enableSoftAP();
void disableSoftAP();
boolean isSoftAPEnabled();
DOMString getSoftAPSSID();
void setSoftAPChannel(long channel);
DOMString getSoftAPSecurityKey();
void setSoftAPSignalStrength(unsigned long power);
void setEAPCAfilePath(DOMString path);
void setEAPPassphrase(DOMString name, DOMString password);
long getWiFiFrequency();

NetworkStateChangedCallback

void onchange(NetworkState state);

NetworkIpMode

NetworkActiveConnectionType

NetworkState

NetworkWiFiSecurityMode

NetworkWiFiEncryptionType

1. Interfaces

1.1 NetworkManagerObject

Defines a WebApi object instance of the Tizen Samsung Product API.
The webapis.network object enables access to Network API functionality.

[NoInterfaceObject] interface NetworkManagerObject {
  readonly attribute NetworkManager network;
};
WebApi implements NetworkManagerObject;

Attributes

1.2 NetworkManager

Provides methods for network functionalities.

[NoInterfaceObject] interface NetworkManager {
  attribute NetworkActiveConnectionType NetworkActiveConnectionType;
  attribute NetworkIpMode NetworkIpMode;
  attribute NetworkState NetworkState;
  attribute NetworkWiFiSecurityMode NetworkWiFiSecurityMode;
  attribute NetworkWiFiEncryptionType NetworkWiFiEncryptionType;

  DOMString getVersion();
  boolean isConnectedToGateway();
  NetworkIpMode getIpMode();
  void setIpMode(NetworkIpMode ipmode);
  DOMString getSubnetMask();
  void setSubnetMask(DOMString subnet);
  DOMString getGateway();
  void setGateway(DOMString gateway);
  DOMString getMac();
  DOMString getDns();
  void setDns(DOMString dns);
  DOMString getIp();
  void setIp(DOMString ip);
  DOMString getProxyserverInfo();
  void setProxyserverInfo(DOMString id, DOMString pwd, DOMString url, DOMString port);
  DOMString getTVName();
  NetworkActiveConnectionType getActiveConnectionType();
  unsigned long addNetworkStateChangeListener(NetworkStateChangedCallback listener);
  void removeNetworkStateChangeListener(unsigned long listenerId);
  DOMString getWiFiSsid();
  long getWiFiSignalStrengthLevel();
  NetworkWiFiSecurityMode getWiFiSecurityMode();
  NetworkWiFiEncryptionType getWiFiEncryptionType();
  DOMString getSecondaryDns();
  void setDhcpOption60Field(DOMString vendorName);
  void removeDhcpOption60Field();
  DOMString getCurrentDhcpOption60Field();
  DOMString checkCurrentIpWith60Field();
  void enableSoftAP();
  void disableSoftAP();
  boolean isSoftAPEnabled();
  DOMString getSoftAPSSID();
  void setSoftAPChannel(long channel);
  DOMString getSoftAPSecurityKey();
  void setSoftAPSignalStrength(unsigned long power);
  void setEAPCAfilePath(DOMString path);
  void setEAPPassphrase(DOMString name, DOMString password);
  long getWiFiFrequency();
};

Attributes

Methods

getVersion

Retrieves the device network module version.

DOMString getVersion();

Product : TV, AV, B2B

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.public

Return Value :

  • DOMString : DOMString Network plugin module version

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.

Since : 2.3

Code Example :

var version = null;
try {
  version = webapis.network.getVersion();
} catch (e) {
  console.log("getVersion exception [" + e.code + "] name: " + e.name + " message: " + e.message);
}

if (null != version) {
  console.log("[getVersion] version: " + version);
}

isConnectedToGateway

Checks whether the device is connected to a network gateway.

boolean isConnectedToGateway();

Product : TV, AV, B2B

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.public

Return Value :

  • boolean : Boolean value:
    true: Gateway connected
    false: Gateway is not connected

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.

Since : 2.3

Code Example :

var gatewayStatus = null;
try {
  gatewayStatus = webapis.network.isConnectedToGateway();
} catch (e) {
  console.error("isConnectedToGateway exception [" + e.code + "] name: " + e.name + " message: " + e.message);
}

if (null != gatewayStatus) {
  console.log("[isConnectedToGateway] gatewayStatus: " + gatewayStatus);
}

getIpMode

Retrieves the device's IP configuration mode.

NetworkIpMode getIpMode();

Product : TV, AV, B2B

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.public

Return Value :

  • NetworkIpMode : unsigned long Network IP mode
    "NONE":0
    "STATIC": 1
    "DYNAMIC": 2
    "AUTO": 3
    "FIXED": 4
    "UNKNOWN": 5

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.

Since : 2.3

Code Example :

var ipMode = null;
var retVal = null;
try {
  retVal = webapis.network.getIpMode();
} catch (e) {
  console.log("getIPMode exception [" + e.code + "] message: " + e.message);
}

if (null != retVal) {
  switch(retVal) {
    case webapis.network.NetworkIpMode.STATIC :
    ipMode = "STATIC";
    break;
    case webapis.network.NetworkIpMode.DYNAMIC:
    ipMode = "DYNAMIC";
    break;
    case webapis.network.NetworkIpMode.AUTO :
    ipMode = "AUTO";
    break;
    case webapis.network.NetworkIpMode.FIXED :
    ipMode = "FIXED";
    break;
    case webapis.network.NetworkIpMode.NONE :
    ipMode = "NONE";
    break;
    case webapis.network.NetworkIpMode.UNKNOWN :
    ipMode = "UNKNOWN";
    break;
    default:
    ipMode = "Error";
  }
  console.log("[getIPMode] ipMode: " + ipMode);
}

setIpMode

Configures device's IP mode.

void setIpMode(NetworkIpMode ipmode);

Product : B2B

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.public

Parameters :

  • ipmode : ip mode to be set
    "NONE":0
    "STATIC": 1
    "DYNAMIC": 2
    "AUTO": 3
    "FIXED": 4
    "UNKNOWN": 5

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.
    • with the error type TypeMismatchError if different type argument values are passed for an input parameter
    • with error type InvalidStateError, if a network connection is not available. (Since plugin version 3.0)

Since : 6.5

Code Example :

var err = false;
try {
  webapis.network.setIpMode(webapis.network.NetworkIpMode.STATIC);
} catch (e) {
  console.error("setIpMode exception [" + e.code + "] name: " + e.name + " message: " + e.message);
  err = true;
}
if (err != true) {
  console.log("[setIpMode] SUCCESS");
}

getSubnetMask

Retrieves the device's configured subnet mask address.

DOMString getSubnetMask();

Product : TV, AV, B2B

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.public

Return Value :

  • DOMString : DOMString Subnet mask address for the currently-configured network
    Example: 255.255.255.0

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.
    • with error type InvalidStateError, if a network connection is not available. (Since plugin version 3.0)

Since : 2.3

Code Example :

var netMask = null;
try {
  netMask = webapis.network.getSubnetMask();
} catch (e) {
  console.log("getSubnetMask exception [" + e.code + "] name: " + e.name + " message: " + e.message);
}

if (null != netMask) {
  console.log("[getSubnetMask] netMask: " + netMask);
}

setSubnetMask

Configures device's Subnet mask.

void setSubnetMask(DOMString subnet);

Product : B2B

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.public

Parameters :

  • subnet : subnet mask to be set

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.
    • with the error type TypeMismatchError if different type argument values are passed for an input parameter
    • with error type InvalidStateError, if a network connection is not available. (Since plugin version 3.0)

Since : 6.5

Code Example :

var err = false;
try {
  webapis.network.setSubnetMask("255.255.255.0");
} catch (e) {
  console.error("setSubnetMask exception [" + e.code + "] name: " + e.name + " message: " + e.message);
  err = true;
}
if (err != true) {
  console.log("[setSubnetMask] SUCCESS");
}

getGateway

Retrieves the device's configured gateway address.

DOMString getGateway();

Product : TV, AV, B2B

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.public

Return Value :

  • DOMString : DOMString Gateway address for the currently-configured network
    Example: 192.168.0.1

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.
    • with error type InvalidStateError, if a network connection is not available. (Since plugin version 3.0)

Since : 2.3

Code Example :

var gateway = null;
try {
  gateway = webapis.network.getGateway();
} catch (e) {
  console.log("getGateway exception [" + e.code + "] name: " + e.name + " message: " + e.message);
}

if (null != gateway) {
  console.log("[getGateway] gateway: " + gateway);
}

setGateway

Configures device's Gateway address.

void setGateway(DOMString gateway);

Product : B2B

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.public

Parameters :

  • gateway : gateway to be set

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.
    • with the error type TypeMismatchError if different type argument values are passed for an input parameter
    • with error type InvalidStateError, if a network connection is not available. (Since plugin version 3.0)

Since : 6.5

Code Example :

var err = false;
try {
  webapis.network.setGateway("107.109.92.1");
} catch (e) {
  console.error("setGateway exception [" + e.code + "] name: " + e.name + " message: " + e.message);
  err = true;
}
if (err != true) {
  console.log("[setGateway] SUCCESS");
}

getMac

Retrieves the network device's MAC address.

DOMString getMac();

Product : TV, AV, B2B

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.public

Return Value :

  • DOMString : DOMString MAC address for the currently-configured network
    Example: 50:B7:A3:C2:96:11

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.
    • with error type InvalidStateError, if a network connection is not available. (Since plugin version 3.0)

Since : 2.3

Code Example :

var mac = null;
try {
  mac = webapis.network.getMac();
} catch (e) {
  console.log("getMAC exception [" + e.code + "] name: " + e.name + " message: " + e.message);
}

if (null != mac) {
  console.log("[getMAC] mac: " + mac);
}

getDns

Retrieves the device's configured DNS address.

DOMString getDns();

Product : TV, AV, B2B

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.public

Return Value :

  • DOMString : DOMString DNS address for the currently-configured network
    Example: 192.168.0.1

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.
    • with error type InvalidStateError, if a network connection is not available. (Since plugin version 3.0)

Since : 2.3

Code Example :

var dns = null;
try {
  dns = webapis.network.getDns();
} catch (e) {
  console.log("getDNS exception [" + e.code + "] name: " + e.name + " message: " + e.message);
}

if (null != dns) {
  console.log("[getDNS] dns: " + dns);
}

setDns

Configures device's Dns address.

void setDns(DOMString dns);

Product : B2B

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.public

Parameters :

  • dns : dns to be set

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.
    • with the error type TypeMismatchError if different type argument values are passed for an input parameter
    • with error type InvalidStateError, if a network connection is not available. (Since plugin version 3.0)

Since : 6.5

Code Example :

var err = false;
try {
  webapis.network.setDns("8.8.8.8");
} catch (e) {
  console.error("setDns exception [" + e.code + "] name: " + e.name + " message: " + e.message);
  err = true;
}
if (err != true) {
  console.log("[setDns] SUCCESS");
}

getIp

Retrieves the device's configured IP address.

DOMString getIp();

Product : TV, AV, B2B

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.public

Return Value :

  • DOMString : DOMString IP address for the currently-configured network
    Example: 192.168.0.11

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.
    • with error type InvalidStateError, if a network connection is not available. (Since plugin version 3.0)

Since : 2.3

Code Example :

var ip = null;
try {
  ip = webapis.network.getIp();
} catch (e) {
  console.log("getIp exception [" + e.code + "] name: " + e.name + " message: " + e.message);
}

if (null != ip) {
  console.log("[getIp] ip: " + ip);
}

setIp

Configures device's IP address.

void setIp(DOMString ip);

Product : B2B

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.public

Parameters :

  • ip : ip to be set

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.
    • with the error type TypeMismatchError if different type argument values are passed for an input parameter
    • with error type InvalidStateError, if a network connection is not available. (Since plugin version 3.0)

Since : 6.5

Code Example :

var err = false;
try {
  webapis.network.setIp("107.109.92.9");
} catch (e) {
  console.error("setIp exception [" + e.code + "] name: " + e.name + " message: " + e.message);
  err = true;
}
if (err != true) {
  console.log("[setIp] SUCCESS");
}

getProxyserverInfo

Retrieves the device's configured proxy server info.

DOMString getProxyserverInfo();

Product : B2B

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.public

Return Value :

  • DOMString : DOMString proxy server info

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.
    • with error type InvalidStateError, if a network connection is not available. (Since plugin version 3.0)

Since : 6.5

Code Example :

var proxy = null;
try {
  proxy = network.getProxyserverInfo();
} catch (e) {
  console.log("getProxyserverInfo exception [" + e.code + "] name: " + e.name + " message: " + e.message);
}

if (null != proxy) {
  console.log("[getProxyserverInfo] proxy: " + proxy);
}

setProxyserverInfo

Configures device's proxy server info.

void setProxyserverInfo(DOMString id, DOMString pwd, DOMString url, DOMString port);

Product : B2B

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.public

Parameters :

  • id : id to be set
  • pwd : password to be set
  • url : url to be set
  • port : port to be set

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.
    • with error type TypeMismatchError if different type argument values are passed for an input parameter
    • with error type InvalidStateError, if a network connection is not available. (Since plugin version 3.0)

Since : 6.5

Code Example :

var err = false;
try {
  webapis.network.setProxyserverInfo("id", "pwd", "10.20.30.40", "9998");
} catch (e) {
  console.error("setProxyserverInfo exception [" + e.code + "] name: " + e.name + " message: " + e.message);
  err = true;
}
if (err != true) {
  console.log("[setProxyserverInfo] SUCCESS");
}

getTVName

Retrieves the device's configured name when device is connected to a network.

DOMString getTVName();

Product : TV, AV, B2B

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.public

Return Value :

  • DOMString : DOMString Device Name for any connected network
    Example: Tizen_Device

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.
    • with error type InvalidStateError, if a network connection is not available. (Since plugin version 3.0)

Since : 4.0

Code Example :

var tvname = null;
try {
  tvname = webapis.network.getTVName();
} catch (e) {
  console.log("getTVName exception [" + e.code + "] mname: " + e.name + " message: " + e.message);
}

if (null != tvname) {
  console.log("[getTVName] tvname : " + tvname);
}

getActiveConnectionType

Retrieves the device's currently-active connection type.

NetworkActiveConnectionType getActiveConnectionType();

Product : TV, AV, B2B

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.public

Return Value :

  • NetworkActiveConnectionType : unsigned long Currently-active network connection type:
    "DISCONNECTED": 0
    "WIFI": 1
    "CELLULAR": 2
    "ETHERNET": 3

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.

Since : 2.3

Code Example :

var connType = null;
var retVal = null;
try {
  retVal = webapis.network.getActiveConnectionType();
} catch (e) {
  console.error("getActiveConnectionType exception [" + e.code + "] message: " + e.message );
}

if (null != retVal) {
  switch(retVal) {
    case webapis.network.NetworkActiveConnectionType.DISCONNECTED :
    connType = "DISCONNECTED";
    break;
    case webapis.network.NetworkActiveConnectionType.WIFI :
    connType = "WIFI";
    break;
    case webapis.network.NetworkActiveConnectionType.CELLULAR :
    connType = "CELLULAR";
    break;
    case webapis.network.NetworkActiveConnectionType.ETHERNET :
    connType = "ETHERNET";
    break;
    default:
    connType = "Error";
  }
  console.log("[getActiveConnectionType] Active Connection Type: "
  + connType);
}

addNetworkStateChangeListener

Registers an asynchronous event listener.

unsigned long addNetworkStateChangeListener(NetworkStateChangedCallback listener);

Product : TV, AV, B2B

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.public

Parameters :

  • listener : Callback method. For example: listenerID = network.addNetworkStateChangeListener(onChange);

Return Value :

  • unsigned long : unsigned long Application async listener ID

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.
    • with error type TypeMismatchError, if an input parameter is not compatible with its expected type.

Since : 2.3

Code Example :

var onChange = function(data) {
  console.log("[NetworkStateChangedCallback] data :" + data + " changed");
}
try {
  listenerID = webapis.network.addNetworkStateChangeListener(onChange);
} catch (e) {
  console.log("addNetworkStateChangeListener exception [" + e.code
  + "] name: " + e.name + " message: " + e.message);
}
if (listenerID > -1) {
  console.log("addNetworkStateChangeListener success listener ID ["
  + listenerID + "] ");
}

removeNetworkStateChangeListener

Unregisters an asynchronous event listener.

void removeNetworkStateChangeListener(unsigned long listenerId);

Product : TV, AV, B2B

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.public

Parameters :

  • listenerId : ListenerID to be removed

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.
    • with error type TypeMismatchError, if an input parameter is not compatible with its expected type.
    • with error type InvalidValuesError, if the listenerId value is not the same as the value generated by addNetworkStateChangeListener. (Since plugin version 3.0)

Since : 2.3

Code Example :

try {
  console.log("begin removeNetworkStateChangeListener listenerID: " + listenerID);
  webapis.network.removeNetworkStateChangeListener(listenerID);
} catch (e) {
  console.log("removeNetworkStateChangeListener exception [" + e.code
  + "] name: " + e.name + " message: " + e.message);
  return;
}
console.log("removeNetworkStateChangeListener success");

getWiFiSsid

Retrieves the Wi-Fi network SSID. Works only when the active connection type is Wi-Fi.

DOMString getWiFiSsid();

Product : TV, AV, B2B

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.public

Return Value :

  • DOMString : DOMString Wi-Fi network SSID
    Example: Strawbarry

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.
    • with error type InvalidStateError, if a Wi-Fi connection is not available. (Since plugin version 3.0)

Since : 2.3

Code Example :

var WiFiSSID = null;
try {
  WiFiSSID = webapis.network.getWiFiSsid();
} catch (e) {
  console.log("getWiFiSSID exception [" + e.code + "] name: " + e.name
  + " message: " + e.message);
}

if (null != WiFiSSID) {
  console.log("[getWiFiSSID] WiFiSSID: " + WiFiSSID);
}

getWiFiSignalStrengthLevel

Retrieves the Wi-Fi signal strength. Works only when the active connection type is Wi-Fi.

long getWiFiSignalStrengthLevel();

Product : TV, AV, B2B

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.public

Return Value :

  • long : long Signal strength level. Valid values are 1 to 5. Signal strength is strongest when the value is 5.
    8dBm
    8 ~ -77dBm
    7 ~ -66dBm
    6 ~ -55dBm
    5dBm

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.
    • with error type InvalidStateError, if a Wi-Fi connection is not available. (Since plugin version 3.0)

Since : 2.3

Code Example :

var WiFiSignalStrengthLevel = null;
try {
  WiFiSignalStrengthLevel = webapis.network.getWiFiSignalStrengthLevel();
} catch (e) {
  console.log("getWiFiSignalStrengthLevel exception [" + e.code
  + "] name: " + e.name + " message: " + e.message);
}

if (null != WiFiSignalStrengthLevel) {
  console.log("[getWiFiSignalStrengthLevel] WiFiSignalStrengthLevel: "
  + WiFiSignalStrengthLevel);
}

getWiFiSecurityMode

Retrieves the Wi-Fi security mode. Works only when the active connection type is Wi-Fi.

NetworkWiFiSecurityMode getWiFiSecurityMode();

Product : TV, AV, B2B

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.public

Return Value :

  • NetworkWiFiSecurityMode : unsigned long Wi-Fi security mode
    "WEP": 1
    "WPA_PSK": 2
    "WPA2_PSK": 3
    "EAP": 4
    "NONE": 5
    "UNKNOWN": 6

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.
    • with error type InvalidStateError, if a Wi-Fi connection is not available. (Since plugin version 3.0)

Since : 2.3

Code Example :

var WiFiSecurityMode = null;
try {
  WiFiSecurityMode = webapis.network.getWiFiSecurityMode();
} catch (e) {
  console.log("getWiFiSecurityMode exception [" + e.code + "] name: "
  + e.name + " message: " + e.message);
}

if (null != WiFiSecurityMode) {
  console.log("[getWiFiSecurityMode] WiFiSecurityMode: " + WiFiSecurityMode);
}

getWiFiEncryptionType

Retrieves the Wi-Fi encryption type. Works only when the active connection type is Wi-Fi.

NetworkWiFiEncryptionType getWiFiEncryptionType();

Product : TV, AV, B2B

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.public

Return Value :

  • NetworkWiFiEncryptionType : unsigned long Wi-Fi encryption type
    "WEP": 1
    "TKIP": 2
    "AES": 3
    "TKIP_AES_MIXED": 4
    "NONE": 5
    "UNKNOWN": 6

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.
    • with error type InvalidStateError, if a Wi-Fi connection is not available. (Since plugin version 3.0)

Since : 2.3

Code Example :

var WiFiEncryptionType = null;
try {
  WiFiEncryptionType = webapis.network.getWiFiEncryptionType();
} catch (e) {
  console.log("getWiFiEncryptionType exception [" + e.code + "] name: "
  + e.name + " message: " + e.message);
}

if (null != WiFiEncryptionType) {
  console.log("[getWiFiEncryptionType] WiFiEncryptionType: "
  + WiFiEncryptionType);
}

getSecondaryDns

Retrieves the device's configured secondary DNS address.

DOMString getSecondaryDns();

Product : TV, AV, B2B

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.public

Return Value :

  • DOMString : DOMString Secondary DNS address
    Example: 192.168.0.100

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.
    • with error type InvalidStateError, if a network connection is not available. (Since plugin version 3.0)

Since : 2.3

Code Example :

var secondaryDNS = null;
try {
  secondaryDNS = webapis.network.getSecondaryDns();
} catch (e) {
  console.error("getSecondaryDNS exception [" + e.code + "] name: " + e.name
  + " message: " + e.message);
}

if (null != secondaryDNS) {
  console.log("[getSecondaryDNS] secondaryDNS: " + secondaryDNS);
}

setDhcpOption60Field

Sets the DHCP option 60 vendor string. Works only when the active connection type is wired. The vendor string is updated when Udhcpc is restarted or relaunched.

void setDhcpOption60Field(DOMString vendorName);

Product : TV, AV, B2B

Privilege Level : Partner

Privilege : http://developer.samsung.com/privilege/network.dhcpoption60

Parameters :

  • vendorName : DHCP option 60 vendor name string

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.
    • with error type InvalidStateError, if a network connection is not available. (Since plugin version 3.0)
    • with error type InvalidStateError, if the active connection type is Wi-Fi. (Since plugin version 3.0)
    • with error type TypeMismatchError, if an input parameter is not compatible with its expected type. (Since plugin version 3.0)

Since : 2.3

Code Example :

try {
  webapis.network.setDhcpOption60Field("Cisco");
} catch (e) {
  console.error("setDHCPOption60Field exception [" + e.code + "] message: " + e.message);
}

console.log("[setDHCPOption60Field] DHCPOption60Field:Success ");

removeDhcpOption60Field

Sets the DHCP option 60 vendor string to the default value, "udhcpc1.21.1". Works only when the active connection type is wired. The vendor string is updated when Udhcpc is restarted or relaunched.

void removeDhcpOption60Field();

Product : TV, AV, B2B

Privilege Level : Partner

Privilege : http://developer.samsung.com/privilege/network.dhcpoption60

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.
    • with error type InvalidStateError, if a network connection is not available. (Since plugin version 3.0)
    • with error type InvalidStateError, if the active connection type is Wi-Fi. (Since plugin version 3.0)

Since : 2.3

Code Example :

try {
  webapis.network.removeDhcpOption60Field();
} catch (e) {
  console.error("removeDHCPOption60Field exception [" + e.code + "] message: " + e.message );
}

console.log("[removeDHCPOption60Field] DHCPOption60Field:Success ");

getCurrentDhcpOption60Field

Retrieves the DHCP option 60 vendor string. Works only when the active connection type is wired.

DOMString getCurrentDhcpOption60Field();

Product : TV, AV, B2B

Privilege Level : Partner

Privilege : http://developer.samsung.com/privilege/network.dhcpoption60

Return Value :

  • DOMString : DOMString Vendor-specific string. Default value is "default".
    Example: If setDhcpOption60Field = "cisco" then getCurrentDhcpOption60Field = "cisco".

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.
    • with error type InvalidStateError, if a network connection is not available. (Since plugin version 3.0)
    • with error type InvalidStateError, if the active connection type is Wi-Fi. (Since plugin version 3.0)

Since : 2.3

Code Example :

var DHCPOption60Field = null;
try {
  DHCPOption60Field = webapis.network.getCurrentDhcpOption60Field();
} catch (e) {
  console.error("getCurrentDHCPOption60Field exception [" + e.code
  + "] name: " + e.name + " message: " + e.message);
}

if (null != DHCPOption60Field) {
  console.log("[getCurrentDHCPOption60Field] DHCPOption60Field: "
  + DHCPOption60Field);
}

checkCurrentIpWith60Field

Retrieves the DHCP option 60 vendor string currently used by Udhcp. Works only when the active connection type is wired.

DOMString checkCurrentIpWith60Field();

Product : TV, AV, B2B

Privilege Level : Partner

Privilege : http://developer.samsung.com/privilege/network.dhcpoption60

Return Value :

  • DOMString : DOMString Vendor string
    Example: If Udhcpc is running with the default string "udhcpc1.21.1", after calling setDhcpOption60Field = "cisco", checkCurrentIpWith60Field= "udhcpc1.21.1"

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.
    • with error type InvalidStateError, if a network connection is not available. (Since plugin version 3.0)
    • with error type InvalidStateError, if the active connection type is Wi-Fi. (Since plugin version 3.0)

Since : 2.3

Code Example :

var DHCPOption60Field = null;
try {
  DHCPOption60Field = webapis.network.checkCurrentIpWith60Field();
} catch (e) {
  console.error("checkCurrentIPwith60Field exception [" + e.code + "] name: "
  + e.name + " message: " + e.message);
}

if (null != DHCPOption60Field) {
  console.log("[checkCurrentIPwith60Field] DHCPOption60Field: "
  + DHCPOption60Field);
}

enableSoftAP

This method enables SoftAP in Hotel TV.

void enableSoftAP();

Product : B2B(HTV)

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.softAP

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.
    • with error type InvalidStateError, if a network connection is not available. (Since plugin version 3.0)
    • with error type InvalidStateError, if connected on Wireless connection as SoftAP feature is valid for only wired connection (Since plugin version 3.0)

Since : 3.0

Code Example :

var err = false;
try {
  webapis.network.enableSoftAP();
}	 catch (e) {
  console.error("enable softAP exception [" + e.code + "] name: " + e.name + " message: " + e.message);
  err = true;
}
if (err != true) {
  console.log("[enableSoftAP] SUCCESS");
}

disableSoftAP

This method disables SoftAP in Hotel TV.

void disableSoftAP();

Product : B2B(HTV)

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.softAP

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.
    • with error type InvalidStateError, if a network connection is not available. (Since plugin version 3.0)
    • with error type InvalidStateError, if connected on Wireless connection as SoftAP feature is valid for only wired connection (Since plugin version 3.0)

Since : 3.0

Code Example :

var err = false;
try {
  webapis.network.disableSoftAP();
}	 catch (e) {
  console.error("disable softAP exception [" + e.code + "] name: " + e.name + " message: " + e.message);
  err = true;
}
if (err != true) {
  console.log("[disableSoftAP] SUCCESS");
}

isSoftAPEnabled

This method gets the softAP status in Hotel TV whether it is enabled or not.

boolean isSoftAPEnabled();

Product : B2B(HTV)

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.softAP

Return Value :

  • boolean : Boolean It returns true if SoftAP is enabled, false if softAP is disabled.

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.
    • with error type InvalidStateError, if a network connection is not available. (Since plugin version 3.0)
    • with error type InvalidStateError, if connected on Wireless connection as SoftAP feature is valid for only wired connection (Since plugin version 3.0)

Since : 3.0

Code Example :

var status = null;
try {
  status = webapis.network.isSoftAPEnabled();
} catch (e) {
  console.error("issoftAPEnabled exception [" + e.code + "] name: " + e.name + " message: " + e.message);
  err = true;
}
if (null != status) {
  console.log("[issoftAPEnabled] status: " + status);
}

getSoftAPSSID

This method returns the softAP SSID.

DOMString getSoftAPSSID();

Product : B2B(HTV)

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.softAP

Return Value :

  • DOMString : DOMString It returns the softAP SSID from tethering module.

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.
    • with error type InvalidStateError, if a network connection is not available. (Since plugin version 3.0)
    • with error type InvalidStateError, if connected on Wireless connection as SoftAP feature is valid for only wired connection (Since plugin version 3.0)

Since : 3.0

Code Example :

var ssid = null;
try {
  ssid = webapis.network.getSoftAPSSID();
}	 catch (e) {
  console.error("getSoftAPSSID exception [" + e.code + "] name: " + e.name + " message: " + e.message);
}
if (null != ssid) {
  console.log("[getSoftAPSSID] SSID: " + ssid);
}

setSoftAPChannel

This method sets the SoftAP channel to specified channel.

void setSoftAPChannel(long channel);

Product : B2B(HTV)

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.softAP

Parameters :

  • channel : softAP channel to be set

Exceptions :

  • WebAPIException
    • with error type TypeMismatchError, if invalid long type passed for 'channel' parameter
    • with error type SecurityError, if the application does not have the privilege to call this method.
    • with error type InvalidStateError, if a network connection is not available. (Since plugin version 3.0)
    • with error type InvalidStateError, if connected on Wireless connection as SoftAP feature is valid for only wired connection (Since plugin version 3.0)

Since : 3.0

Code Example :

var err = false;
try {
  //take input from user and forward it to below API
  webapis.network.setSoftAPChannel(5);
} catch (e) {
  console.error("setSoftAPChannel exception [" + e.code + "] name: " + e.name + " message: " + e.message);
  err = true;
}
if (err != true) {
  console.log("[setSoftAPChannel] SUCCESS");
}

getSoftAPSecurityKey

This method returns the softAP Security Key.

DOMString getSoftAPSecurityKey();

Product : B2B(HTV)

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.softAP

Return Value :

  • DOMString : DOMString It returns the softAP security key from tethering module.

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.
    • with error type InvalidStateError, if a network connection is not available. (Since plugin version 3.0)
    • with error type InvalidStateError, if connected on Wireless connection as SoftAP feature is valid for only wired connection (Since plugin version 3.0)

Since : 3.0

Code Example :

var key = null;
try {
  key = webapis.network.getSoftAPSecurityKey();
} catch (e) {
  console.error("getSoftAPSecurityKey exception [" + e.code + "] name: " + e.name + " message: " + e.message);
}
if (null != key) {
  console.log("[getSoftAPSecurityKey] key: " + key);
}

setSoftAPSignalStrength

This method sets SoftAP Signal strength to a specific value.

void setSoftAPSignalStrength(unsigned long power);

Product : B2B(HTV)

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.softAP

Parameters :

  • power : signal strength(0-100)

Exceptions :

  • WebAPIException
    • with error type TypeMismatchError, if invalid unsigned long type passed for 'power' parameter
    • with error type SecurityError, if the application does not have the privilege to call this method.
    • with error type InvalidStateError, if a network connection is not available. (Since plugin version 3.0)
    • with error type InvalidStateError, if connected on Wireless connection as SoftAP feature is valid for only wired connection (Since plugin version 3.0)
    • with error type InvalidValuesError, if power is out of range.

Since : 3.0

Code Example :

var err = false;
try {
  //take input from user and forward it to below API
  webapis.network.setSoftAPSignalStrength(100);
} catch (e) {
  console.error("setSoftAPSignalStrength exception [" + e.code + "] name: " + e.name + " message: " + e.message);
  err = true;
}
if (err != true) {
  console.log("[setSoftAPSignalStrength] SUCCESS");
}

setEAPCAfilePath

Set the PEAP certification file path for PEAP base AP connection.

void setEAPCAfilePath(DOMString path);

Product : TV, AV, B2B

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.public

Parameters :

  • path : PEAP certification file path

Exceptions :

  • WebAPIException
    • with error type TypeMismatchError, if invalid DOMString type passed for 'path' parameter
    • with error type SecurityError, if the application does not have the privilege to call this method.

Since : 6.5

Code Example :

var err = false;
try {
  webapis.network.setEAPCAfilePath("/opt/usr/home/owner/share/Root_test/ca.der");
} catch (e) {
  console.error("setEAPCAfilePath exception [" + e.code + "] name: " + e.name + " message: " + e.message);
  err = true;
}
if (err != true) {
  console.log("[setEAPCAfilePath] SUCCESS");
}

setEAPPassphrase

sets the username and password.

void setEAPPassphrase(DOMString name, DOMString password);

Product : TV, AV, B2B

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.public

Parameters :

  • name : to be set
  • password : to be set

Exceptions :

  • WebAPIException
    • with error type TypeMismatchError, if invalid DOMString type passed for 'name' and 'password' parameter
    • with error type SecurityError, if the application does not have the privilege to call this method.

Since : 6.5

Code Example :

var err = false;
try {
  webapis.network.setEAPPassphrase("testing11", "password11");
} catch (e) {
  console.error("setEAPPassphrase exception [" + e.code + "] name: " + e.name + " message: " + e.message);
  err = true;
}
if (err != true) {
  console.log("[setEAPPassphrase] SUCCESS");
}

getWiFiFrequency

Retrieves the Wi-Fi network Frequency. Works only when the active connection type is Wi-Fi.

long getWiFiFrequency();

Product : TV, AV, B2B

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.public

Return Value :

  • long : Wi-Fi network Frequency (MHz)

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.
    • with error type InvalidStateError, if a Wi-Fi connection is not available.

Since : 6.0

Code Example :

var WiFiFrequency = null;
try {
  WiFiFrequency = webapis.network.getWiFiFrequency();
} catch (e) {
  console.log("getWiFiFrequency exception [" + e.code + "] name: " + e.name
  + " message: " + e.message);
}

if (null != WiFiFrequency) {
  console.log("[getWiFiFrequency] WiFiFrequency: " + WiFiFrequency);
}

1.3 NetworkStateChangedCallback

Defines a listener for gateway connection state change notifications.

[Callback = FunctionOnly, NoInterfaceObject] interface NetworkStateChangedCallback {
  void onchange(NetworkState state);
};

Methods

onchange

Callback method for gateway connection state change notifications.

void onchange(NetworkState state);

Privilege Level : Public

Privilege : http://developer.samsung.com/privilege/network.public

Parameters :

  • state : Connection state

Exceptions :

  • WebAPIException
    • with error type SecurityError, if the application does not have the privilege to call this method.
    • with error type InvalidStateError, if a network connection is not available. (Since plugin version 3.0)

Since : 3.0

Code Example :

var Gatewaystatus =null;
var onChange = function(data) {
  if(data == webapis.network.NetworkState.GATEWAY_CONNECTED){
    Gatewaystatus ="GATEWAY_CONNECTED";
  }
  else if(data == webapis.network.NetworkState.GATEWAY_DISCONNECTED){
    Gatewaystatus ="GATEWAY_DISCONNECTED";
  }
  else{
    Gatewaystatus ="Status UNKNOWN";
  }
  console.log("[NetworkStateChangedCallback] data :" + data +"  "+ Gatewaystatus);
}

1.4 NetworkIpMode

Defines constants for network IP modes.

[NoInterfaceObject] interface NetworkIpMode {
  const unsigned long NONE = 0;
  const unsigned long STATIC = 1;
  const unsigned long DYNAMIC = 2;
  const unsigned long AUTO = 3;
  const unsigned long FIXED = 4;
  const unsigned long UNKNOWN = 5;
};

Constants

  • NONE
    No network IP mode configured
  • STATIC
    Connected to wired or wireless IPv4 network through static IP configuration
  • DYNAMIC
    Connected to wired or wireless IPv6 network through dynamic IP configuration
  • AUTO
    DHCP: Connected to wired or wireless IPv4 network through automatic IP configuration
  • FIXED
    Connected to cellular network through fixed IP configuration
  • UNKNOWN
    No wired or wireless connection

1.5 NetworkActiveConnectionType

Defines constants for network connection types.

[NoInterfaceObject] interface NetworkActiveConnectionType {
  const unsigned long DISCONNECTED = 0;
  const unsigned long WIFI = 1;
  const unsigned long CELLULAR = 2;
  const unsigned long ETHERNET = 3;
};

Constants

  • DISCONNECTED
    No network configured
  • WIFI
    Connected to a Wi-Fi network.
  • CELLULAR
    Connected to a cellular network.
  • ETHERNET
    Connected to an Ethernet network.

1.6 NetworkState

Defines constants for network states.

[NoInterfaceObject] interface NetworkState {
  const unsigned long INTERNET_CONNECTED = 0;
  const unsigned long LAN_CABLE_ATTACHED = 1;
  const unsigned long LAN_CABLE_DETACHED = 2;
  const unsigned long LAN_CABLE_STATE_UNKNOWN = 3;
  const unsigned long GATEWAY_CONNECTED = 4;
  const unsigned long GATEWAY_DISCONNECTED = 5;
  const unsigned long WIFI_MODULE_STATE_ATTACHED = 6;
  const unsigned long WIFI_MODULE_STATE_DETACHED = 7;
  const unsigned long WIFI_MODULE_STATE_UNKNOWN = 8;
  const unsigned long INTERNET_DISCONNECTED = 9;
};

Constants

  • INTERNET_CONNECTED
    Internet connected
  • LAN_CABLE_ATTACHED
    LAN cable connected
  • LAN_CABLE_DETACHED
    LAN cable disconnected
  • LAN_CABLE_STATE_UNKNOWN
    LAN cable connection state unknown
  • GATEWAY_CONNECTED
    Gateway connected
  • GATEWAY_DISCONNECTED
    Gateway disconnected
  • WIFI_MODULE_STATE_ATTACHED
    Wi-Fi module connected
  • WIFI_MODULE_STATE_DETACHED
    Wi-Fi module disconnected
  • WIFI_MODULE_STATE_UNKNOWN
    Wi-Fi module connection state unknown
  • INTERNET_DISCONNECTED
    Internet disconnected

1.7 NetworkWiFiSecurityMode

Defines constants for Wi-Fi network security modes.

[NoInterfaceObject] interface NetworkWiFiSecurityMode {
  const unsigned long WEP = 1;
  const unsigned long WPA_PSK = 2;
  const unsigned long WPA2_PSK = 3;
  const unsigned long EAP = 4;
  const unsigned long NONE = 5;
  const unsigned long UNKNOWN = 6;
};

Constants

  • WEP
    WEP security mode
  • WPA_PSK
    PSK security mode
  • WPA2_PSK
    WPA2_PSK security mode
  • EAP
    EAP security mode
  • NONE
    Open security mode
  • UNKNOWN
    Security mode unknown

1.8 NetworkWiFiEncryptionType

Defines constants for Wi-fi network encryption types.

[NoInterfaceObject] interface NetworkWiFiEncryptionType {
  const unsigned long WEP = 1;
  const unsigned long TKIP = 2;
  const unsigned long AES = 3;
  const unsigned long TKIP_AES_MIXED = 4;
  const unsigned long NONE = 5;
  const unsigned long UNKNOWN = 6;
};

Constants

  • WEP
    WEP encryption
  • TKIP
    TKIP encryption
  • AES
    AES encryption
  • TKIP_AES_MIXED
    TKIP_AES_MIXED encryption
  • NONE
    No encryption
  • UNKNOWN
    Encryption type unknown

2. Full WebIDL

module Network {
  [NoInterfaceObject] interface NetworkManagerObject {
    readonly attribute NetworkManager network;
  };

  WebApi implements NetworkManagerObject;

  [NoInterfaceObject] interface NetworkManager {
    attribute NetworkActiveConnectionType NetworkActiveConnectionType;
    attribute NetworkIpMode NetworkIpMode;
    attribute NetworkState NetworkState;
    attribute NetworkWiFiSecurityMode NetworkWiFiSecurityMode;
    attribute NetworkWiFiEncryptionType NetworkWiFiEncryptionType;
  
    DOMString getVersion();
    boolean isConnectedToGateway();
    NetworkIpMode getIpMode();
    void setIpMode(NetworkIpMode ipmode);
    DOMString getSubnetMask();
    void setSubnetMask(DOMString subnet);
    DOMString getGateway();
    void setGateway(DOMString gateway);
    DOMString getMac();
    DOMString getDns();
    void setDns(DOMString dns);
    DOMString getIp();
    void setIp(DOMString ip);
    DOMString getProxyserverInfo();
    void setProxyserverInfo(DOMString id, DOMString pwd, DOMString url, DOMString port);
    DOMString getTVName();
    NetworkActiveConnectionType getActiveConnectionType();
    unsigned long addNetworkStateChangeListener(NetworkStateChangedCallback listener);
    void removeNetworkStateChangeListener(unsigned long listenerId);
    DOMString getWiFiSsid();
    long getWiFiSignalStrengthLevel();
    NetworkWiFiSecurityMode getWiFiSecurityMode();
    NetworkWiFiEncryptionType getWiFiEncryptionType();
    DOMString getSecondaryDns();
    void setDhcpOption60Field(DOMString vendorName);
    void removeDhcpOption60Field();
    DOMString getCurrentDhcpOption60Field();
    DOMString checkCurrentIpWith60Field();
    void enableSoftAP();
    void disableSoftAP();
    boolean isSoftAPEnabled();
    DOMString getSoftAPSSID();
    void setSoftAPChannel(long channel);
    DOMString getSoftAPSecurityKey();
    void setSoftAPSignalStrength(unsigned long power);
    void setEAPCAfilePath(DOMString path);
    void setEAPPassphrase(DOMString name, DOMString password);
    long getWiFiFrequency();
  };

  [Callback = FunctionOnly, NoInterfaceObject] interface NetworkStateChangedCallback {
    void onchange(NetworkState state);
  };

  [NoInterfaceObject] interface NetworkIpMode {
    const unsigned long NONE = 0;
    const unsigned long STATIC = 1;
    const unsigned long DYNAMIC = 2;
    const unsigned long AUTO = 3;
    const unsigned long FIXED = 4;
    const unsigned long UNKNOWN = 5;
  };

  [NoInterfaceObject] interface NetworkActiveConnectionType {
    const unsigned long DISCONNECTED = 0;
    const unsigned long WIFI = 1;
    const unsigned long CELLULAR = 2;
    const unsigned long ETHERNET = 3;
  };

  [NoInterfaceObject] interface NetworkState {
    const unsigned long INTERNET_CONNECTED = 0;
    const unsigned long LAN_CABLE_ATTACHED = 1;
    const unsigned long LAN_CABLE_DETACHED = 2;
    const unsigned long LAN_CABLE_STATE_UNKNOWN = 3;
    const unsigned long GATEWAY_CONNECTED = 4;
    const unsigned long GATEWAY_DISCONNECTED = 5;
    const unsigned long WIFI_MODULE_STATE_ATTACHED = 6;
    const unsigned long WIFI_MODULE_STATE_DETACHED = 7;
    const unsigned long WIFI_MODULE_STATE_UNKNOWN = 8;
    const unsigned long INTERNET_DISCONNECTED = 9;
  };

  [NoInterfaceObject] interface NetworkWiFiSecurityMode {
    const unsigned long WEP = 1;
    const unsigned long WPA_PSK = 2;
    const unsigned long WPA2_PSK = 3;
    const unsigned long EAP = 4;
    const unsigned long NONE = 5;
    const unsigned long UNKNOWN = 6;
  };

  [NoInterfaceObject] interface NetworkWiFiEncryptionType {
    const unsigned long WEP = 1;
    const unsigned long TKIP = 2;
    const unsigned long AES = 3;
    const unsigned long TKIP_AES_MIXED = 4;
    const unsigned long NONE = 5;
    const unsigned long UNKNOWN = 6;
  };

};