From: Martin Xu <martin...@linux.intel.com>

We have worked on Tizen P2P to support Mirrocast for a period of time,
and do feel that ConnMan is the right place to implement WiFi Direct(P2P)
support, so we want to start work on enabling WiFi Direct function in ConnMan.

We'd like to give out the RFC patch about the Dbus WiFi Direct API definition.

After the API is decided we will work out the patches.

Any comments are welcome.

The API define references the BlueZ Adapter and Device API, WiFi Direct device
like BlueZ Adapter represents the local WiFi Direct device. WiFi Direct peer 
like
BlueZ Device represents the remote WiFi Direct peer.

Dbus object Manager will be used.

WiFi Direct device object /net/connman/p2p0(WiFi Direct device interface)

WiFi Direct peer Objects scaned by the /net/connman/p2p0 is
/net/connman/p2p0/peer_xx_xx_xx_xx_xx_xx
---
 doc/wifi-direct-api.txt |  150 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 150 insertions(+)
 create mode 100644 doc/wifi-direct-api.txt

diff --git a/doc/wifi-direct-api.txt b/doc/wifi-direct-api.txt
new file mode 100644
index 0000000..2105af4
--- /dev/null
+++ b/doc/wifi-direct-api.txt
@@ -0,0 +1,150 @@
+WiFiDirectDevice hierarchy
+====================
+
+Service                net.connman
+Interface      net.connman.WiFiDirectDevice
+Object path    [variable prefix]/{p2p0, p2p1,...}
+
+Methods                void Scan()
+
+                       Scan WiFi Direct groups and devices.
+
+               void Disconnect()
+
+                       Disconnect group client from the WiFi Direct group.
+                       Valid only when WiFi Direct device is group client.
+
+               void DeactivateGroup()
+
+                       Disconnect all the group clients and terminate
+                       the group session.
+                       Valid only when WiFi Direct device is group owner.
+
+                void CreateTempGroup()
+
+                       Create temporary group, and activate the group by
+                       starting the group session. The WiFi Direct device
+                       works as the group owner.
+
+                void CreateGroup(string name)
+
+                       Create persistant group, and activate the group by
+                       starting the group session. The WiFi Direct device
+                       works as the group owner.
+
+                void LoadGroup(string name)
+                       Load the persistand group created before, and activeate
+                       the group by starting the group session.
+
+                void RemoveGroup(string name)
+
+                        Remove a persistant group. And the group can't be 
loaded
+                        any more.
+
+               array{string} GetGroupList()
+                        Get the persistant group list.
+
+
+Properties     boolean Powered [readwrite]
+
+                       The power state of WiFi Direct device.
+
+               string Name [readwrite]
+
+                       WiFi Direct device name
+
+               uint16 Type [readwrite]
+
+                       WiFi Direct device type
+
+               string WPSmode[readwrite]
+
+                       WPS configure mode (for example "pbc, pin" etc.)
+
+               uint8 Intent[readwrite]
+
+                       Group owner intent value, valid value is [0-15]
+
+                boolean Connected [readonly]
+
+                       Indicates whether the WiFi Direct device is connected.
+
+                string GroupName[readonly]
+
+                       Group name the WiFi Direct device belongs to.
+
+               string GroupState [readonly]
+
+                       Persistant
+                       Temporary
+                       Client
+                       Deactive
+
+               array{object} GroupMembers [readonly]
+
+                       Group memeber list
+
+               string Passphrase[readonly]
+
+                       Passphrase to join the WiFi Direct group.
+                       Only valid for group owner.
+
+               string GroupInterface[readonly]
+
+                       the network interface of group.
+                       for example "p2p-wlan0-1"
+
+               string IPaddress [readonly]
+
+                       the IP address of group interface.
+
+WiFiDirectPeer hierarchy
+=================
+
+Service                net.connman
+Interface      net.connman.WiFiDirectPeer
+Object path    [variable prefix]/{p2p0,p2p1,...}/peer_xx_xx_xx_xx_xx_xx
+
+Methods                void Connect(boolean persistant)
+
+                       If WiFi Direct device is in a group and WiFi Direct 
peer is
+                       not in any group. WiFi Direct device will invite the 
+                       WiFi Direct peer to join the group.
+
+                       If WiFi Direct device is not in any group and WiFi 
Direct
+                       peer is a group owner, WiFi Direct device will join the 
group
+                       owned by WiFi Direct peer.
+
+                       WiFi Direct device and peer will negotiate to create
+                       a group and connect, if both of them are not in any
+                       group.
+
+               void Disconnect()
+
+                       Disconnect the WiFi Direct peer from the group.
+                       Only valid when the WiFi Direct Device is the group 
owner.
+
+Properties     string Name [readonly]
+
+                       Name of the WiFi Direct peer.
+
+               uint16 Type [readonly]
+
+                       The WiFi Direct peer type.
+
+               string MAC [readonly]
+
+                       the MAC address of the WiFi Direct peer.
+
+               string WPSmode [readonly]
+
+                       WPS configure mode (for example "pbc, pin" etc.)
+
+               boolean Available [readonly]
+
+                       Indicates whether the WiFi Direct peer can join 
additional
+                        groups.
+
+               boolean IsGroupOwner [readonly]
+
+                       Indicates whether the WiFi Direct peer is group owner.
-- 
1.7.10.4

_______________________________________________
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman

Reply via email to