From f68a3a04e407e5bae5fffb703de8d4b981e4de53 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sat, 30 Jul 2005 16:30:18 +0000 Subject: * fix Server introspection data * define interface, path and service names in avahi.py * DBUS: server object is now available on path "/" git-svn-id: file:///home/lennart/svn/public/avahi/trunk@202 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe --- avahi-common/dbus.h | 2 +- avahi-daemon/DBUS-API | 4 ++-- avahi-daemon/Server.introspect | 9 ++++----- avahi-daemon/dbus-protocol.c | 8 ++++---- avahi-daemon/dbus-test.py | 2 +- avahi-utils/avahi-dump-all | 8 ++++---- avahi-utils/avahi-publish-address | 4 ++-- avahi-utils/avahi-publish-service | 4 ++-- avahi-utils/avahi.py | 8 ++++++++ 9 files changed, 28 insertions(+), 21 deletions(-) diff --git a/avahi-common/dbus.h b/avahi-common/dbus.h index 27ee40a..f6ad4d2 100644 --- a/avahi-common/dbus.h +++ b/avahi-common/dbus.h @@ -26,7 +26,7 @@ #define AVAHI_DBUS_NAME "org.freedesktop.Avahi" #define AVAHI_DBUS_INTERFACE_SERVER AVAHI_DBUS_NAME".Server" -#define AVAHI_DBUS_PATH_SERVER "/org/freedesktop/Avahi/Server" +#define AVAHI_DBUS_PATH_SERVER "/" #define AVAHI_DBUS_INTERFACE_ENTRY_GROUP AVAHI_DBUS_NAME".EntryGroup" #define AVAHI_DBUS_INTERFACE_DOMAIN_BROWSER AVAHI_DBUS_NAME".DomainBrowser" #define AVAHI_DBUS_INTERFACE_SERVICE_TYPE_BROWSER AVAHI_DBUS_NAME".ServiceTypeBrowser" diff --git a/avahi-daemon/DBUS-API b/avahi-daemon/DBUS-API index ff3cc78..2ad5fa1 100644 --- a/avahi-daemon/DBUS-API +++ b/avahi-daemon/DBUS-API @@ -1,6 +1,6 @@ $Id$ -org.freedesktop.Avahi.Server -- Accessible through /org/freedesktop/Avahi/Server +org.freedesktop.Avahi.Server string GetHostName() string GetHostNameFqdn() string GetDomainName() @@ -11,7 +11,7 @@ org.freedesktop.Avahi.Server -- Accessible through /org/freedeskto [int32 interface, int32 protocol, string name, int32 aprotocol, string address] ResolveHostName(int32 interface, int32 protocol, string name, int32 aprotocol) [int32 interface, int32 protocol, int32 aprotocol, string address, string name] ResolveAddress(int32 interface, int32 protocol, string address) [int32 interface, int32 protocol, string name, string type, string domain, string host, int32 aprotocol, string address, uint16 port, string txt[]] ResolveService(int32 interface, int32 protocol, string name, string type, string domain, int32 aprotocol) - path EntryGroupNew() -- Creates a new org.freedesktop.Avahi.EntryGroup object + path EntryGroupNew() path DomainBrowserNew(int32 interface, int32 protocol, string domain, int32 btype) path ServiceTypeBrowserNew(int32 interface, int32 protocol, string domain) path ServiceBrowserNew(int32 interface, int32 protocol, string type, string domain) diff --git a/avahi-daemon/Server.introspect b/avahi-daemon/Server.introspect index cff7bae..da7eb36 100644 --- a/avahi-daemon/Server.introspect +++ b/avahi-daemon/Server.introspect @@ -42,7 +42,6 @@ - @@ -89,7 +88,7 @@ - + @@ -98,7 +97,7 @@ - + @@ -106,7 +105,7 @@ - + @@ -115,7 +114,7 @@ - + diff --git a/avahi-daemon/dbus-protocol.c b/avahi-daemon/dbus-protocol.c index b5c3e9a..626e4a0 100644 --- a/avahi-daemon/dbus-protocol.c +++ b/avahi-daemon/dbus-protocol.c @@ -989,7 +989,7 @@ static DBusHandlerResult msg_server_impl(DBusConnection *c, DBusMessage *m, void i = g_new(EntryGroupInfo, 1); i->id = ++client->current_id; i->client = client; - i->path = g_strdup_printf("/org/freedesktop/Avahi/Client%u/EntryGroup%u", client->id, i->id); + i->path = g_strdup_printf("/Client%u/EntryGroup%u", client->id, i->id); AVAHI_LLIST_PREPEND(EntryGroupInfo, entry_groups, client->entry_groups, i); if (!(i->entry_group = avahi_entry_group_new(avahi_server, entry_group_callback, i))) { @@ -1105,7 +1105,7 @@ static DBusHandlerResult msg_server_impl(DBusConnection *c, DBusMessage *m, void i = g_new(DomainBrowserInfo, 1); i->id = ++client->current_id; i->client = client; - i->path = g_strdup_printf("/org/freedesktop/Avahi/Client%u/DomainBrowser%u", client->id, i->id); + i->path = g_strdup_printf("/Client%u/DomainBrowser%u", client->id, i->id); AVAHI_LLIST_PREPEND(DomainBrowserInfo, domain_browsers, client->domain_browsers, i); @@ -1150,7 +1150,7 @@ static DBusHandlerResult msg_server_impl(DBusConnection *c, DBusMessage *m, void i = g_new(ServiceTypeBrowserInfo, 1); i->id = ++client->current_id; i->client = client; - i->path = g_strdup_printf("/org/freedesktop/Avahi/Client%u/ServiceTypeBrowser%u", client->id, i->id); + i->path = g_strdup_printf("/Client%u/ServiceTypeBrowser%u", client->id, i->id); AVAHI_LLIST_PREPEND(ServiceTypeBrowserInfo, service_type_browsers, client->service_type_browsers, i); @@ -1196,7 +1196,7 @@ static DBusHandlerResult msg_server_impl(DBusConnection *c, DBusMessage *m, void i = g_new(ServiceBrowserInfo, 1); i->id = ++client->current_id; i->client = client; - i->path = g_strdup_printf("/org/freedesktop/Avahi/Client%u/ServiceBrowser%u", client->id, i->id); + i->path = g_strdup_printf("/Client%u/ServiceBrowser%u", client->id, i->id); AVAHI_LLIST_PREPEND(ServiceBrowserInfo, service_browsers, client->service_browsers, i); diff --git a/avahi-daemon/dbus-test.py b/avahi-daemon/dbus-test.py index baebf40..310a3c2 100755 --- a/avahi-daemon/dbus-test.py +++ b/avahi-daemon/dbus-test.py @@ -7,7 +7,7 @@ except ImportError, e: pass bus = dbus.SystemBus() -server = dbus.Interface(bus.get_object("org.freedesktop.Avahi", '/org/freedesktop/Avahi/Server'), 'org.freedesktop.Avahi.Server') +server = dbus.Interface(bus.get_object("org.freedesktop.Avahi", '/'), 'org.freedesktop.Avahi.Server') def server_state_changed_callback(t): print "Server::StateChanged: ", t diff --git a/avahi-utils/avahi-dump-all b/avahi-utils/avahi-dump-all index 03efa85..035f581 100755 --- a/avahi-utils/avahi-dump-all +++ b/avahi-utils/avahi-dump-all @@ -39,7 +39,7 @@ def new_service_type(interface, protocol, type, domain): print "Browsing for services of type '%s' in domain '%s' on %i.%i ..." % (type, domain, interface, protocol) - b = dbus.Interface(bus.get_object("org.freedesktop.Avahi", server.ServiceBrowserNew(interface, protocol, type, domain)), 'org.freedesktop.Avahi.ServiceBrowser') + b = dbus.Interface(bus.get_object(avahi.DBUS_NAME, server.ServiceBrowserNew(interface, protocol, type, domain)), avahi.DBUS_INTERFACE_SERVICE_BROWSER) b.connect_to_signal('ItemNew', new_service) b.connect_to_signal('ItemRemove', remove_service) @@ -54,7 +54,7 @@ def browse_domain(interface, protocol, domain): print "Browsing domain '%s' on %i.%i ..." % (domain, interface, protocol) - b = dbus.Interface(bus.get_object("org.freedesktop.Avahi", server.ServiceTypeBrowserNew(interface, protocol, domain)), 'org.freedesktop.Avahi.ServiceTypeBrowser') + b = dbus.Interface(bus.get_object(avahi.DBUS_NAME, server.ServiceTypeBrowserNew(interface, protocol, domain)), avahi.DBUS_INTERFACE_SERVICE_TYPE_BROWSER) b.connect_to_signal('ItemNew', new_service_type) service_type_browsers[(interface, protocol, domain)] = b @@ -72,14 +72,14 @@ if len(sys.argv) > 1: domain = sys.argv[1] bus = dbus.SystemBus() -server = dbus.Interface(bus.get_object("org.freedesktop.Avahi", '/org/freedesktop/Avahi/Server'), 'org.freedesktop.Avahi.Server') +server = dbus.Interface(bus.get_object(avahi.DBUS_NAME, avahi.DBUS_PATH_SERVER), avahi.DBUS_INTERFACE_SERVER) if domain is None: # Explicitly browse .local browse_domain(avahi.IF_UNSPEC, avahi.PROTO_UNSPEC, "local") # Browse for other browsable domains - db = dbus.Interface(bus.get_object("org.freedesktop.Avahi", server.DomainBrowserNew(avahi.IF_UNSPEC, avahi.PROTO_UNSPEC, "", avahi.DOMAIN_BROWSER_BROWSE)), 'org.freedesktop.Avahi.DomainBrowser') + db = dbus.Interface(bus.get_object(avahi.DBUS_NAME, server.DomainBrowserNew(avahi.IF_UNSPEC, avahi.PROTO_UNSPEC, "", avahi.DOMAIN_BROWSER_BROWSE)), avahi.DBUS_INTERFACE_DOMAIN_BROWSER) db.connect_to_signal('ItemNew', new_domain) else: diff --git a/avahi-utils/avahi-publish-address b/avahi-utils/avahi-publish-address index dce00bd..d03f928 100755 --- a/avahi-utils/avahi-publish-address +++ b/avahi-utils/avahi-publish-address @@ -34,7 +34,7 @@ def add_address(): assert group is None print "Adding address '%s' for '%s' ..." % (name, address) - group = dbus.Interface(bus.get_object("org.freedesktop.Avahi", server.EntryGroupNew()), 'org.freedesktop.Avahi.EntryGroup') + group = dbus.Interface(bus.get_object(avahi.DBUS_NAME, server.EntryGroupNew()), avahi.DBUS_INTERFACE_ENTRY_GROUP) group.connect_to_signal('StateChanged', entry_group_state_changed) group.AddAddress(avahi.IF_UNSPEC, avahi.PROTO_UNSPEC, name, address) group.Commit() @@ -61,7 +61,7 @@ def entry_group_state_changed(state): main_loop = gobject.MainLoop() bus = dbus.SystemBus() -server = dbus.Interface(bus.get_object("org.freedesktop.Avahi", '/org/freedesktop/Avahi/Server'), 'org.freedesktop.Avahi.Server') +server = dbus.Interface(bus.get_object(avahi.DBUS_NAME, avahi.DBUS_PATH_SERVER), avahi.DBUS_INTERFACE_SERVER) add_address() diff --git a/avahi-utils/avahi-publish-service b/avahi-utils/avahi-publish-service index 376df34..d823f14 100755 --- a/avahi-utils/avahi-publish-service +++ b/avahi-utils/avahi-publish-service @@ -62,7 +62,7 @@ def add_service(): assert group is None print "Adding service '%s' of type '%s' ..." % (name, stype) - group = dbus.Interface(bus.get_object("org.freedesktop.Avahi", server.EntryGroupNew()), 'org.freedesktop.Avahi.EntryGroup') + group = dbus.Interface(bus.get_object(avahi.DBUS_NAME, server.EntryGroupNew()), avahi.DBUS_INTERFACE_ENTRY_GROUP) group.connect_to_signal('StateChanged', entry_group_state_changed) group.AddService(avahi.IF_UNSPEC, avahi.PROTO_UNSPEC, name, stype, domain, host, dbus.UInt16(port), txt) group.Commit() @@ -94,7 +94,7 @@ def server_state_changed(state): main_loop = gobject.MainLoop() bus = dbus.SystemBus() -server = dbus.Interface(bus.get_object("org.freedesktop.Avahi", '/org/freedesktop/Avahi/Server'), 'org.freedesktop.Avahi.Server') +server = dbus.Interface(bus.get_object(avahi.DBUS_NAME, avahi.DBUS_PATH_SERVER), avahi.DBUS_INTERFACE_SERVER) server.connect_to_signal("StateChanged", server_state_changed) server_state_changed(server.GetState()) diff --git a/avahi-utils/avahi.py b/avahi-utils/avahi.py index 40e9fbf..1e2761c 100644 --- a/avahi-utils/avahi.py +++ b/avahi-utils/avahi.py @@ -13,3 +13,11 @@ DOMAIN_BROWSER_REGISTER, DOMAIN_BROWSER_REGISTER_DEFAULT, DOMAIN_BROWSER_BROWSE, PROTO_INET, PROTO_INET6, PROTO_UNSPEC = socket.AF_INET, socket.AF_INET6, socket.AF_UNSPEC IF_UNSPEC = -1 + +DBUS_NAME = "org.freedesktop.Avahi" +DBUS_INTERFACE_SERVER = DBUS_NAME + ".Server" +DBUS_PATH_SERVER = "/" +DBUS_INTERFACE_ENTRY_GROUP = DBUS_NAME + ".EntryGroup" +DBUS_INTERFACE_DOMAIN_BROWSER = DBUS_NAME + ".DomainBrowser" +DBUS_INTERFACE_SERVICE_TYPE_BROWSER = DBUS_NAME + ".ServiceTypeBrowser" +DBUS_INTERFACE_SERVICE_BROWSER = DBUS_NAME + ".ServiceBrowser" -- cgit