diff --git a/demo/org-freedesktop-miracle-wifi.vala b/demo/org-freedesktop-miracle-wifi.vala index 2b769a2..464b8d9 100644 --- a/demo/org-freedesktop-miracle-wifi.vala +++ b/demo/org-freedesktop-miracle-wifi.vala @@ -23,7 +23,7 @@ namespace Org { public abstract GLib.ObjectPath link { owned get; } [DBus (name = "P2PMac")] - public abstract string p2_p_mac { owned get; } + public abstract string p2p_mac { owned get; } [DBus (name = "FriendlyName")] public abstract string friendly_name { owned get; } @@ -77,8 +77,11 @@ namespace Org { [DBus (name = "Managed")] public abstract bool managed { get; } + [DBus (name = "P2PState")] + public abstract int p2p_state { get; } + [DBus (name = "P2PScanning")] - public abstract bool p2_p_scanning { get; set; } + public abstract bool p2p_scanning { get; set; } [DBus (name = "WfdSubelements")] public abstract string wfd_subelements { owned get; set; } diff --git a/demo/wfdctl.vala b/demo/wfdctl.vala index f5c7cad..71a0cdb 100644 --- a/demo/wfdctl.vala +++ b/demo/wfdctl.vala @@ -339,9 +339,17 @@ private class WfdCtl : GLib.Application yield wait_prop_changed(l as DBusProxy, "WfdSubelements"); } - if(!l.p2_p_scanning) { + if(-1 == l.p2p_state) { + error("link %s has no P2P supporting", l.interface_name); + } + else if(0 == l.p2p_state) { + info("wait for P2P supporting status..."); + yield wait_prop_changed(l as DBusProxy, "P2PState", 3); + } + + if(!l.p2p_scanning) { info("start P2P scanning..."); - l.p2_p_scanning = true; + l.p2p_scanning = true; yield wait_prop_changed(l as DBusProxy, "P2PScanning"); } @@ -379,7 +387,7 @@ private class WfdCtl : GLib.Application l = decode_path(l.substring(l.last_index_of_char('/') + 1)); Peer p = peers.lookup(l); - info("forming P2P group with %s (%s)...", p.p2_p_mac, p.friendly_name); + info("forming P2P group with %s (%s)...", p.p2p_mac, p.friendly_name); ulong id = p.formation_failure.connect((r) => { info("failed to form P2P group: %s", r);