summaryrefslogtreecommitdiffstats
path: root/dom/webidl/MozTetheringManager.webidl
diff options
context:
space:
mode:
Diffstat (limited to 'dom/webidl/MozTetheringManager.webidl')
-rw-r--r--dom/webidl/MozTetheringManager.webidl57
1 files changed, 57 insertions, 0 deletions
diff --git a/dom/webidl/MozTetheringManager.webidl b/dom/webidl/MozTetheringManager.webidl
new file mode 100644
index 000000000..43d783734
--- /dev/null
+++ b/dom/webidl/MozTetheringManager.webidl
@@ -0,0 +1,57 @@
+/* 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/. */
+
+enum TetheringType {
+ "bluetooth",
+ "usb",
+ "wifi"
+};
+
+enum SecurityType {
+ "open",
+ "wpa-psk",
+ "wpa2-psk"
+};
+
+dictionary WifiTetheringConfig {
+ DOMString ssid;
+ SecurityType security;
+ DOMString key;
+};
+
+dictionary TetheringConfiguration {
+ DOMString ip;
+ DOMString prefix;
+ DOMString startIp;
+ DOMString endIp;
+ DOMString dns1;
+ DOMString dns2;
+ WifiTetheringConfig wifiConfig;
+};
+
+[JSImplementation="@mozilla.org/tetheringmanager;1",
+ NavigatorProperty="mozTetheringManager",
+ ChromeOnly]
+interface MozTetheringManager {
+ /**
+ * Enable/Disable tethering.
+ * @param enabled True to enable tethering, False to disable tethering.
+ * @param type Tethering type to enable/disable.
+ * @param config Configuration should have following fields when enable is True:
+ * - ip ip address.
+ * - prefix mask length.
+ * - startIp start ip address allocated by DHCP server for tethering.
+ * - endIp end ip address allocated by DHCP server for tethering.
+ * - dns1 first DNS server address.
+ * - dns2 second DNS server address.
+ * - wifiConfig wifi tethering configuration
+ * - ssid SSID network name.
+ * - security open, wpa-psk or wpa2-psk.
+ * - key password for wpa-psk or wpa2-psk.
+ * config should not be set when enabled is False.
+ */
+ Promise<any> setTetheringEnabled(boolean enabled,
+ TetheringType type,
+ optional TetheringConfiguration config);
+};