X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-daemon%2Fdbus-test.py;h=baebf40a4a9a9a6a4d3f75f5d3838bb76c6fac5e;hb=522fb5c25acf2af440e5203e41d07f5fc97ad0a6;hp=11dd5ae0ff5a942f0ab989eb78ccbe994dec2c41;hpb=f5efdb5d9d8eea5550d0668705a8c7468337118b;p=catta diff --git a/avahi-daemon/dbus-test.py b/avahi-daemon/dbus-test.py index 11dd5ae..baebf40 100755 --- a/avahi-daemon/dbus-test.py +++ b/avahi-daemon/dbus-test.py @@ -5,8 +5,6 @@ import gobject try: import dbus.glib except ImportError, e: pass -from time import sleep - bus = dbus.SystemBus() server = dbus.Interface(bus.get_object("org.freedesktop.Avahi", '/org/freedesktop/Avahi/Server'), 'org.freedesktop.Avahi.Server') @@ -24,6 +22,10 @@ print server.ResolveAddress(0, 0, "192.168.50.4") print "Host name: %s" % server.GetHostName() print "Domain name: %s" % server.GetDomainName() print "FQDN: %s" % server.GetHostNameFqdn() +print "State: %i" % server.GetState() + +print server.GetAlternativeHostName("gurkiman10") +print server.GetAlternativeServiceName("Ahuga Service") def entry_group_state_changed_callback(t): print "EntryGroup::StateChanged: ", t @@ -41,10 +43,26 @@ def domain_browser_callback(a, interface, protocol, domain): print "DOMAIN_BROWSER: %s %i %i %s" % (a, interface, protocol, domain) db = dbus.Interface(bus.get_object("org.freedesktop.Avahi", server.DomainBrowserNew(0, 0, "", 2)), 'org.freedesktop.Avahi.DomainBrowser') - db.connect_to_signal('ItemNew', lambda interface, protocol, domain: domain_browser_callback("NEW", interface, protocol, domain)) db.connect_to_signal('ItemRemove', lambda interface, protocol, domain: domain_browser_callback("REMOVE", interface, protocol, domain)) +def service_type_browser_callback(a, interface, protocol, type, domain): + print "SERVICE_TYPE_BROWSER: %s %i %i %s %s" % (a, interface, protocol, type, domain) + +stb = dbus.Interface(bus.get_object("org.freedesktop.Avahi", server.ServiceTypeBrowserNew(0, 0, "")), 'org.freedesktop.Avahi.ServiceTypeBrowser') +stb.connect_to_signal('ItemNew', lambda interface, protocol, type, domain: service_type_browser_callback("NEW", interface, protocol, type, domain)) +stb.connect_to_signal('ItemRemove', lambda interface, protocol, type, domain: service_type_browser_callback("REMOVE", interface, protocol, type, domain)) + +def service_browser_callback(a, interface, protocol, name, type, domain): + print "SERVICE_BROWSER: %s %i %i %s %s %s" % (a, interface, protocol, name, type, domain) + + if a == "NEW": + print server.ResolveService(interface, protocol, name, type, domain, 0) + +sb = dbus.Interface(bus.get_object("org.freedesktop.Avahi", server.ServiceBrowserNew(0, 0, "_http._tcp", "")), 'org.freedesktop.Avahi.ServiceBrowser') +sb.connect_to_signal('ItemNew', lambda interface, protocol, name, type, domain: service_browser_callback("NEW", interface, protocol, name, type, domain)) +sb.connect_to_signal('ItemRemove', lambda interface, protocol, name, type, domain: service_browser_callback("REMOVE", interface, protocol, name, type, domain)) + try: gobject.MainLoop().run() except KeyboardInterrupt, k: @@ -52,5 +70,6 @@ except KeyboardInterrupt, k: g.Free() db.Free() +stb.Free() print "Quit"