From fde1c3d1a0156f0e06a819cc0958ec077a88c8c6 Mon Sep 17 00:00:00 2001 From: Trent Lloyd Date: Thu, 11 Aug 2005 14:04:13 +0000 Subject: * Add DomainBrowser support to C client API git-svn-id: file:///home/lennart/svn/public/avahi/trunk@289 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe --- avahi-client/client.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'avahi-client/client.c') diff --git a/avahi-client/client.c b/avahi-client/client.c index 43b9fc1..485444c 100644 --- a/avahi-client/client.c +++ b/avahi-client/client.c @@ -158,28 +158,27 @@ filter_func (DBusConnection *bus, DBusMessage *message, void *data) break; } } - + if (group == NULL) { fprintf (stderr, "Received state change for unknown EntryGroup object (%s)\n", path); } else { int state; DBusError error; - dbus_error_init (&error); - dbus_message_get_args (message, &error, DBUS_TYPE_INT32, &state, DBUS_TYPE_INVALID); - if (dbus_error_is_set (&error)) { fprintf (stderr, "internal error parsing entrygroup statechange for %s\n", group->path); goto out; } - printf ("statechange (%s) to %d\n", group->path, state); - avahi_entry_group_state_change (group, state); } + } else if (dbus_message_is_signal (message, AVAHI_DBUS_INTERFACE_DOMAIN_BROWSER, "ItemNew")) { + return avahi_entry_group_event (client, AVAHI_BROWSER_NEW, message); + } else if (dbus_message_is_signal (message, AVAHI_DBUS_INTERFACE_DOMAIN_BROWSER, "ItemRemove")) { + return avahi_entry_group_event (client, AVAHI_BROWSER_REMOVE, message); } return DBUS_HANDLER_RESULT_HANDLED; @@ -200,6 +199,7 @@ avahi_client_new (AvahiClientCallback callback, void *user_data) goto fail; AVAHI_LLIST_HEAD_INIT(AvahiEntryGroup, tmp->groups); + AVAHI_LLIST_HEAD_INIT(AvahiDomainBrowser, tmp->domain_browsers); dbus_error_init (&error); -- cgit