summaryrefslogtreecommitdiffstats
path: root/dom/webidl/MozWifiP2pManager.webidl
diff options
context:
space:
mode:
Diffstat (limited to 'dom/webidl/MozWifiP2pManager.webidl')
-rw-r--r--dom/webidl/MozWifiP2pManager.webidl147
1 files changed, 147 insertions, 0 deletions
diff --git a/dom/webidl/MozWifiP2pManager.webidl b/dom/webidl/MozWifiP2pManager.webidl
new file mode 100644
index 000000000..58ac1f7be
--- /dev/null
+++ b/dom/webidl/MozWifiP2pManager.webidl
@@ -0,0 +1,147 @@
+/* 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 WPSMethod {
+ "pbc",
+ "keypad",
+ "display"
+};
+
+dictionary WPSInfo {
+ WPSMethod method;
+ DOMString pin;
+};
+
+[JSImplementation="@mozilla.org/wifip2pgroupowner;1",
+ Func="Navigator::HasWifiManagerSupport"]
+interface MozWifiP2pGroupOwner {
+ readonly attribute DOMString groupName;
+ readonly attribute DOMString macAddress;
+ readonly attribute DOMString ipAddress;
+ readonly attribute DOMString passphrase;
+ readonly attribute DOMString ssid;
+ readonly attribute any wpsCapabilities;
+ readonly attribute unsigned long freq;
+ readonly attribute boolean isLocal;
+};
+
+[JSImplementation="@mozilla.org/wifip2pmanager;1",
+ NavigatorProperty="mozWifiP2pManager",
+ Func="Navigator::HasWifiManagerSupport"]
+interface MozWifiP2pManager : EventTarget
+{
+ /**
+ * Enable/Disable wifi direct scan.
+ *
+ * onsuccess: Succeeded in starting/stopping wifi direct scan.
+ * onerror: Failed to start/stop wifi direct scan.
+ *
+ */
+ DOMRequest setScanEnabled(boolean enabled);
+
+ /**
+ * Connect to a peer with given configuration.
+ *
+ * @param address The peer MAC address we are going to connect.
+ * @param wpsMethod The WPS method we want to use.
+ * @param goIntent Number from 0 ~ 15 to indicate how much we want to be
+ * the group owner.
+ *
+ * onsuccess: Succeeded in issueing a 'connect' request. It doesn't mean we
+ * have connected to the peer.
+ *
+ * onerror: Failed to issue a 'connect' request, probably due to an
+ * invalid peer address, unsupported wps method or any
+ * preliminary error.
+ *
+ **/
+ DOMRequest connect(DOMString address, WPSMethod wpsMethod, optional byte goIntent);
+
+ /**
+ * Disconnect with a peer.
+ *
+ * @param address The mac address of the peer.
+ *
+ * onsuccess: Succeeded to issue a 'disconnect' request. It doesn't mean we
+ * have disconnected with the peer.
+ *
+ * onerror: Failed to issue a 'disconnect' request, probably due to the
+ * invalid peer address or any preliminary error.
+ *
+ */
+ DOMRequest disconnect(DOMString address);
+
+ /**
+ * Get peer list
+ *
+ * onsuccess: Command success, req.result contains an array of peer objects.
+ * onerror: Command failed.
+ *
+ * Peer object format:
+ * .address MAC address of the peer (string)
+ * .name the peer's device name (string)
+ * .isGroupOwner if the peer is the group owner (boolean)
+ * .wpsCapabilities array of the supported |WPSMethod|
+ * .connectionStatus one of { "disconnected", "connecting", "connected", "disconnecting" }
+ *
+ */
+ DOMRequest getPeerList();
+
+ /**
+ * Set pairing confirmation result.
+ *
+ * @param accepted Boolean to indicate whether we accepted the request or not.
+ * @param pin The user input pin number if the wps method is keypad.
+ *
+ * onsuccess: Command succeeded.
+ * onerror: Command failed.
+ *
+ */
+ DOMRequest setPairingConfirmation(boolean accepted, optional DOMString pin);
+
+ /**
+ * Set device name.
+ *
+ * @param devieName The new device name we are going to set.
+ *
+ * onsuccess: Command succeeded.
+ * onerror: Command failed.
+ *
+ */
+ DOMRequest setDeviceName(DOMString deviceName);
+
+ /**
+ * Returns if Wifi Direct is enabled.
+ *
+ */
+ readonly attribute boolean enabled;
+
+ /**
+ * The current group owner, null if none.
+ */
+ readonly attribute MozWifiP2pGroupOwner? groupOwner;
+
+ /**
+ * An event listener that is called whenever the Wifi Direct peer list is
+ * updated. Use getPeerList() to get the up-to-date peer list.
+ */
+ attribute EventHandler onpeerinfoupdate;
+
+ /**
+ * An event listener that is called whenever Wifi Direct status changed.
+ * The address of the changed peer will be stored in event.peerList.
+ * See MozWifiP2pStatusChangeEvent.webidl.
+ */
+ attribute EventHandler onstatuschange;
+
+ /**
+ * An event listener that is called whenever Wifi Direct is enabled.
+ */
+ attribute EventHandler onenabled;
+
+ /**
+ * An event listener that is called whenever Wifi Direct is disabled.
+ */
+ attribute EventHandler ondisabled;
+};