Invite discovered P2P peer to join or form a
group.
---
test/p2p-on-supplicant | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/test/p2p-on-supplicant b/test/p2p-on-supplicant
index 68b4996..3e6f277 100755
--- a/test/p2p-on-supplicant
+++ b/test/p2p-on-supplicant
@@ -198,6 +198,15 @@ class Wpa_s:
print 'Group running on %s is being removed' % ifname
self.group_obj = self.group_if = self.group_iface_path = None
+ def __InvitationResult(self, response):
+ print 'Invitation result status: %d ' % response['status']
+
+ if response.has_key('bssid'):
+ print 'bssid: %s' % response['bssid']
+
+ if self.debug:
+ print_dict(response)
+
def __GroupStarted(self, properties):
self.group_obj = properties['group_object']
self.bus.add_signal_receiver(self.__PeerJoined,
@@ -225,6 +234,10 @@ class Wpa_s:
dbus_interface=WPA_P2P_INTF,
path=self.group_iface_path,
member_keyword='signal')
+ self.bus.add_signal_receiver(self.__InvitationResult,
+ dbus_interface=WPA_P2P_INTF,
+ path=self.iface_path,
+ signal_name='InvitationResult')
if self.debug:
group = dbus.Interface(self.bus.get_object(WPA_INTF,
@@ -521,6 +534,18 @@ class Wpa_s:
self.p2p.FlushService()
+ @checkarg(nb_args = 1)
+ def p2p_invite(self, args):
+ if not self.p2p or not self.group_if:
+ return
+
+ peer_path = self.__find_peer(args[0], True)
+
+ if not peer_path:
+ return
+
+ self.group_if.Invite({ 'peer' : peer_path})
+
def build_args(parser):
parser.add_argument('-d', default=False, action='store_true',
dest='debug', help='enable debug')
@@ -553,6 +578,7 @@ def build_args(parser):
command['p2p_service_del'] = {ArgFields.help:'<service type> '
'<version/query> [<service>]'}
command['p2p_service_flush'] = {}
+ command['p2p_invite'] = {ArgFields.help:'<p2p device name>'}
command_list = command.keys()
command_list.sort()
--
1.9.1
_______________________________________________
connman mailing list
[email protected]
https://lists.connman.net/mailman/listinfo/connman