6 except ImportError, e: pass
10 bus = dbus.SystemBus()
12 server = dbus.Interface(bus.get_object("org.freedesktop.Avahi", '/org/freedesktop/Avahi/Server'), 'org.freedesktop.Avahi.Server')
14 def server_state_changed_callback(t):
15 print "Server::StateChanged: ", t
17 server.connect_to_signal("StateChanged", server_state_changed_callback)
19 print "Version String: ", server.GetVersionString()
21 print server.ResolveHostName(0, 0, "ecstasy.local", 0)
22 print server.ResolveAddress(0, 0, "192.168.50.4")
24 print "Host name: %s" % server.GetHostName()
25 print "Domain name: %s" % server.GetDomainName()
26 print "FQDN: %s" % server.GetHostNameFqdn()
28 def entry_group_state_changed_callback(t):
29 print "EntryGroup::StateChanged: ", t
32 print server.ResolveHostName(0, 0, "foo.local", 0)
34 g = dbus.Interface(bus.get_object("org.freedesktop.Avahi", server.EntryGroupNew()), 'org.freedesktop.Avahi.EntryGroup')
35 g.connect_to_signal('StateChanged', entry_group_state_changed_callback)
36 g.AddService(0, 0, "Test Web Site", "_http._tcp", "", "", dbus.UInt16(4712), ["fuck=hallo", "gurke=mega"])
37 g.AddAddress(0, 0, "foo.local", "47.11.8.15")
40 def domain_browser_callback(a, interface, protocol, domain):
41 print "DOMAIN_BROWSER: %s %i %i %s" % (a, interface, protocol, domain)
43 db = dbus.Interface(bus.get_object("org.freedesktop.Avahi", server.DomainBrowserNew(0, 0, "", 2)), 'org.freedesktop.Avahi.DomainBrowser')
45 db.connect_to_signal('ItemNew', lambda interface, protocol, domain: domain_browser_callback("NEW", interface, protocol, domain))
46 db.connect_to_signal('ItemRemove', lambda interface, protocol, domain: domain_browser_callback("REMOVE", interface, protocol, domain))
49 gobject.MainLoop().run()
50 except KeyboardInterrupt, k: