X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=test%2Fmonitor-services;h=c520a8cda6c188c70ac6c4a5508f50d30cff62fc;hb=5479dad2b3b5f342f51ca6e7ec8a5a501820bd55;hp=5657444c7d2682fbd2cc67508b1b6c5c78e3e1a2;hpb=8ef138ed47359f81dd6143a20d39ef249bf75dcd;p=platform%2Fupstream%2Fconnman.git diff --git a/test/monitor-services b/test/monitor-services index 5657444..c520a8c 100755 --- a/test/monitor-services +++ b/test/monitor-services @@ -1,15 +1,18 @@ #!/usr/bin/python -import gobject +from gi.repository import GLib import dbus import dbus.mainloop.glib def extract_values(values): val = "{" - for key in values.keys(): + for key in list(values.keys()): val += " " + key + "=" - val += str(values[key]) + if key in ["Servers", "Excludes"]: + val += extract_list(values[key]) + else: + val += str(values[key]) val += " }" return val @@ -22,21 +25,44 @@ def extract_list(list): def property_changed(name, value, path): service = path[path.rfind("/") + 1:] - if name in ["Profiles", "Services", "Providers", "Technologies", - "Devices", "Networks"]: + if name in ["Services"]: val = "[" for i in value: val = val + " " + i[i.rfind("/") + 1:] val = val + " ]" - elif name in ["IPv4", "IPv4.Configuration", "Proxy", "Ethernet"]: + elif name in ["IPv4", "IPv4.Configuration", + "IPv6", "IPv6.Configuration", + "Proxy", "Proxy.Configuration", "Ethernet", "Provider"]: val = extract_values(value) - elif name in ["Nameservers", "Nameservers.Configuration"]: + elif name in ["Nameservers", "Nameservers.Configuration", + "Domains", "Domains.Configuration", + "Timeservers", "Timeservers.Configuration", "Security"]: val = extract_list(value) elif name in ["Strength", "Priority"]: val = int(value) else: val = str(value) - print "[%s] %s = %s" % (service, name, val) + print("[%s] %s = %s" % (service, name, val)) + +def services_changed(services, removed): + for i in services: + service = i[0][i[0].rfind("/") + 1:] + print("[%s] changed" % (service)) + for n in list(i[1].keys()): + property_changed(n, i[1][n], i[0]) + for i in removed: + service = i[i.rfind("/") + 1:] + print("[%s] removed" % (service)) + +def technology_added(path, properties): + technology = path[path.rfind("/") + 1:] + print("[%s] added" % (technology)) + for n in list(properties.keys()): + property_changed(n, properties[n], technology) + +def technology_removed(path): + technology = path[path.rfind("/") + 1:] + print("[%s] removed" % (technology)) if __name__ == '__main__': dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) @@ -44,10 +70,37 @@ if __name__ == '__main__': bus = dbus.SystemBus() bus.add_signal_receiver(property_changed, - bus_name="org.moblin.connman", - dbus_interface="org.moblin.connman.Service", - signal_name = "PropertyChanged", + bus_name="net.connman", + dbus_interface="net.connman.Manager", + signal_name="PropertyChanged", + path_keyword="path") + + bus.add_signal_receiver(services_changed, + bus_name="net.connman", + dbus_interface="net.connman.Manager", + signal_name="ServicesChanged") + + bus.add_signal_receiver(property_changed, + bus_name="net.connman", + dbus_interface="net.connman.Service", + signal_name="PropertyChanged", + path_keyword="path") + + bus.add_signal_receiver(technology_added, + bus_name="net.connman", + dbus_interface="net.connman.Manager", + signal_name="TechnologyAdded") + + bus.add_signal_receiver(technology_removed, + bus_name="net.connman", + dbus_interface="net.connman.Manager", + signal_name="TechnologyRemoved") + + bus.add_signal_receiver(property_changed, + bus_name="net.connman", + dbus_interface="net.connman.Technology", + signal_name="PropertyChanged", path_keyword="path") - mainloop = gobject.MainLoop() + mainloop = GLib.MainLoop() mainloop.run()