diff options
author | Lennart Poettering <lennart@poettering.net> | 2006-07-15 20:15:30 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2006-07-15 20:15:30 +0000 |
commit | c4ee97bf1fe6ca9caf4f17a2a5a77a620ff7d9d7 (patch) | |
tree | f4c6504b9e2e825df0ba37c8e080366126a3b89b /avahi-daemon/dbus-protocol.c | |
parent | 9d58b3d0814aeea8509ecaba28266fef80725c70 (diff) |
work around a limitation in Gentoo's DBUS build (which is compiled with --disable-checks): never try to unregister non-existing object paths from DBUS. (closes #50 - this time for sure)
git-svn-id: file:///home/lennart/svn/public/avahi/trunk@1235 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
Diffstat (limited to 'avahi-daemon/dbus-protocol.c')
-rw-r--r-- | avahi-daemon/dbus-protocol.c | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/avahi-daemon/dbus-protocol.c b/avahi-daemon/dbus-protocol.c index 5b9bc50..19e956b 100644 --- a/avahi-daemon/dbus-protocol.c +++ b/avahi-daemon/dbus-protocol.c @@ -456,7 +456,7 @@ static DBusHandlerResult msg_server_impl(DBusConnection *c, DBusMessage *m, AVAH i = avahi_new(EntryGroupInfo, 1); i->id = ++client->current_id; i->client = client; - i->path = avahi_strdup_printf("/Client%u/EntryGroup%u", client->id, i->id); + i->path = NULL; i->n_entries = 0; AVAHI_LLIST_PREPEND(EntryGroupInfo, entry_groups, client->entry_groups, i); client->n_objects++; @@ -466,6 +466,7 @@ static DBusHandlerResult msg_server_impl(DBusConnection *c, DBusMessage *m, AVAH return avahi_dbus_respond_error(c, m, avahi_server_errno(avahi_server), NULL); } + i->path = avahi_strdup_printf("/Client%u/EntryGroup%u", client->id, i->id); dbus_connection_register_object_path(c, i->path, &vtable, i); return avahi_dbus_respond_path(c, m, i->path); @@ -599,7 +600,7 @@ static DBusHandlerResult msg_server_impl(DBusConnection *c, DBusMessage *m, AVAH i = avahi_new(DomainBrowserInfo, 1); i->id = ++client->current_id; i->client = client; - i->path = avahi_strdup_printf("/Client%u/DomainBrowser%u", client->id, i->id); + i->path = NULL; AVAHI_LLIST_PREPEND(DomainBrowserInfo, domain_browsers, client->domain_browsers, i); client->n_objects++; @@ -607,7 +608,8 @@ static DBusHandlerResult msg_server_impl(DBusConnection *c, DBusMessage *m, AVAH avahi_dbus_domain_browser_free(i); return avahi_dbus_respond_error(c, m, avahi_server_errno(avahi_server), NULL); } - + + i->path = avahi_strdup_printf("/Client%u/DomainBrowser%u", client->id, i->id); dbus_connection_register_object_path(c, i->path, &vtable, i); return avahi_dbus_respond_path(c, m, i->path); @@ -653,7 +655,7 @@ static DBusHandlerResult msg_server_impl(DBusConnection *c, DBusMessage *m, AVAH i = avahi_new(ServiceTypeBrowserInfo, 1); i->id = ++client->current_id; i->client = client; - i->path = avahi_strdup_printf("/Client%u/ServiceTypeBrowser%u", client->id, i->id); + i->path = NULL; AVAHI_LLIST_PREPEND(ServiceTypeBrowserInfo, service_type_browsers, client->service_type_browsers, i); client->n_objects++; @@ -662,6 +664,7 @@ static DBusHandlerResult msg_server_impl(DBusConnection *c, DBusMessage *m, AVAH return avahi_dbus_respond_error(c, m, avahi_server_errno(avahi_server), NULL); } + i->path = avahi_strdup_printf("/Client%u/ServiceTypeBrowser%u", client->id, i->id); dbus_connection_register_object_path(c, i->path, &vtable, i); return avahi_dbus_respond_path(c, m, i->path); @@ -708,7 +711,7 @@ static DBusHandlerResult msg_server_impl(DBusConnection *c, DBusMessage *m, AVAH i = avahi_new(ServiceBrowserInfo, 1); i->id = ++client->current_id; i->client = client; - i->path = avahi_strdup_printf("/Client%u/ServiceBrowser%u", client->id, i->id); + i->path = NULL; AVAHI_LLIST_PREPEND(ServiceBrowserInfo, service_browsers, client->service_browsers, i); client->n_objects++; @@ -716,7 +719,8 @@ static DBusHandlerResult msg_server_impl(DBusConnection *c, DBusMessage *m, AVAH avahi_dbus_service_browser_free(i); return avahi_dbus_respond_error(c, m, avahi_server_errno(avahi_server), NULL); } - + + i->path = avahi_strdup_printf("/Client%u/ServiceBrowser%u", client->id, i->id); dbus_connection_register_object_path(c, i->path, &vtable, i); return avahi_dbus_respond_path(c, m, i->path); @@ -818,7 +822,7 @@ static DBusHandlerResult msg_server_impl(DBusConnection *c, DBusMessage *m, AVAH i = avahi_new(AsyncServiceResolverInfo, 1); i->id = ++client->current_id; i->client = client; - i->path = avahi_strdup_printf("/Client%u/ServiceResolver%u", client->id, i->id); + i->path = NULL; AVAHI_LLIST_PREPEND(AsyncServiceResolverInfo, async_service_resolvers, client->async_service_resolvers, i); client->n_objects++; @@ -829,6 +833,7 @@ static DBusHandlerResult msg_server_impl(DBusConnection *c, DBusMessage *m, AVAH /* avahi_log_debug(__FILE__": [%s], new service resolver for <%s.%s.%s>", i->path, name, type, domain); */ + i->path = avahi_strdup_printf("/Client%u/ServiceResolver%u", client->id, i->id); dbus_connection_register_object_path(c, i->path, &vtable, i); return avahi_dbus_respond_path(c, m, i->path); @@ -872,7 +877,7 @@ static DBusHandlerResult msg_server_impl(DBusConnection *c, DBusMessage *m, AVAH i = avahi_new(AsyncHostNameResolverInfo, 1); i->id = ++client->current_id; i->client = client; - i->path = avahi_strdup_printf("/Client%u/HostNameResolver%u", client->id, i->id); + i->path = NULL; AVAHI_LLIST_PREPEND(AsyncHostNameResolverInfo, async_host_name_resolvers, client->async_host_name_resolvers, i); client->n_objects++; @@ -880,7 +885,8 @@ static DBusHandlerResult msg_server_impl(DBusConnection *c, DBusMessage *m, AVAH avahi_dbus_async_host_name_resolver_free(i); return avahi_dbus_respond_error(c, m, avahi_server_errno(avahi_server), NULL); } - + + i->path = avahi_strdup_printf("/Client%u/HostNameResolver%u", client->id, i->id); dbus_connection_register_object_path(c, i->path, &vtable, i); return avahi_dbus_respond_path(c, m, i->path); @@ -927,7 +933,7 @@ static DBusHandlerResult msg_server_impl(DBusConnection *c, DBusMessage *m, AVAH i = avahi_new(AsyncAddressResolverInfo, 1); i->id = ++client->current_id; i->client = client; - i->path = avahi_strdup_printf("/Client%u/AddressResolver%u", client->id, i->id); + i->path = NULL; AVAHI_LLIST_PREPEND(AsyncAddressResolverInfo, async_address_resolvers, client->async_address_resolvers, i); client->n_objects++; @@ -935,7 +941,8 @@ static DBusHandlerResult msg_server_impl(DBusConnection *c, DBusMessage *m, AVAH avahi_dbus_async_address_resolver_free(i); return avahi_dbus_respond_error(c, m, avahi_server_errno(avahi_server), NULL); } - + + i->path = avahi_strdup_printf("/Client%u/AddressResolver%u", client->id, i->id); dbus_connection_register_object_path(c, i->path, &vtable, i); return avahi_dbus_respond_path(c, m, i->path); @@ -985,7 +992,7 @@ static DBusHandlerResult msg_server_impl(DBusConnection *c, DBusMessage *m, AVAH i = avahi_new(RecordBrowserInfo, 1); i->id = ++client->current_id; i->client = client; - i->path = avahi_strdup_printf("/Client%u/RecordBrowser%u", client->id, i->id); + i->path = NULL; AVAHI_LLIST_PREPEND(RecordBrowserInfo, record_browsers, client->record_browsers, i); client->n_objects++; @@ -1000,6 +1007,7 @@ static DBusHandlerResult msg_server_impl(DBusConnection *c, DBusMessage *m, AVAH avahi_key_unref(key); + i->path = avahi_strdup_printf("/Client%u/RecordBrowser%u", client->id, i->id); dbus_connection_register_object_path(c, i->path, &vtable, i); return avahi_dbus_respond_path(c, m, i->path); } |