summaryrefslogtreecommitdiffstats
path: root/avahi-client/browser.c
diff options
context:
space:
mode:
authorTrent Lloyd <lathiat@bur.st>2005-08-14 12:06:09 +0000
committerTrent Lloyd <lathiat@bur.st>2005-08-14 12:06:09 +0000
commit3d2e63d2c5c351dde38b24a45a679ce819ed0e41 (patch)
treef3d990a2572bca040761f82167c309851e9c1f1a /avahi-client/browser.c
parent77dc1cb05c8e6d23bd9cea37d4b4644cd76f0f82 (diff)
* Add a free function for AvahiEntryGroup in C api
* Modify the browser free functions to return/set errors. git-svn-id: file:///home/lennart/svn/public/avahi/trunk@320 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
Diffstat (limited to 'avahi-client/browser.c')
-rw-r--r--avahi-client/browser.c38
1 files changed, 24 insertions, 14 deletions
diff --git a/avahi-client/browser.c b/avahi-client/browser.c
index 6e0ed5d..ab7a921 100644
--- a/avahi-client/browser.c
+++ b/avahi-client/browser.c
@@ -88,25 +88,29 @@ dbus_error:
return NULL;
}
-void
+int
avahi_domain_browser_free (AvahiDomainBrowser *b)
{
+ AvahiClient *client = b->client;
DBusMessage *message = NULL;
if (b == NULL || b->path == NULL)
- return;
+ return avahi_client_set_errno (client, AVAHI_ERR_INVALID_OBJECT);
message = dbus_message_new_method_call (AVAHI_DBUS_NAME,
b->path,
AVAHI_DBUS_INTERFACE_DOMAIN_BROWSER, "Free");
- dbus_connection_send (b->client->bus, message, NULL);
+ if (message == NULL)
+ return avahi_client_set_errno (client, AVAHI_ERR_DBUS_ERROR);
+
+ dbus_connection_send (client->bus, message, NULL);
- AVAHI_LLIST_REMOVE(AvahiDomainBrowser, domain_browsers, b->client->domain_browsers, b);
+ AVAHI_LLIST_REMOVE(AvahiDomainBrowser, domain_browsers, client->domain_browsers, b);
free (b);
- return;
+ return avahi_client_set_errno (client, AVAHI_OK);
}
char*
@@ -207,25 +211,29 @@ dbus_error:
return NULL;
}
-void
+int
avahi_service_type_browser_free (AvahiServiceTypeBrowser *b)
{
+ AvahiClient *client = b->client;
DBusMessage *message = NULL;
if (b == NULL || b->path == NULL)
- return;
+ return avahi_client_set_errno (client, AVAHI_ERR_INVALID_OBJECT);
message = dbus_message_new_method_call (AVAHI_DBUS_NAME,
b->path,
AVAHI_DBUS_INTERFACE_SERVICE_TYPE_BROWSER, "Free");
+ if (message == NULL)
+ return avahi_client_set_errno (client, AVAHI_ERR_DBUS_ERROR);
+
dbus_connection_send (b->client->bus, message, NULL);
AVAHI_LLIST_REMOVE(AvahiServiceTypeBrowser, service_type_browsers, b->client->service_type_browsers, b);
free (b);
- return;
+ return avahi_client_set_errno (client, AVAHI_OK);
}
char*
@@ -334,27 +342,29 @@ dbus_error:
return NULL;
}
-void
+int
avahi_service_browser_free (AvahiServiceBrowser *b)
{
+ AvahiClient *client = b->client;
DBusMessage *message = NULL;
-
+
if (b == NULL || b->path == NULL)
- return;
-
- printf ("Freeing %s\n", b->path);
+ return avahi_client_set_errno (client, AVAHI_ERR_INVALID_OBJECT);
message = dbus_message_new_method_call (AVAHI_DBUS_NAME,
b->path,
AVAHI_DBUS_INTERFACE_SERVICE_BROWSER, "Free");
+ if (message == NULL)
+ return avahi_client_set_errno (client, AVAHI_ERR_DBUS_ERROR);
+
dbus_connection_send (b->client->bus, message, NULL);
AVAHI_LLIST_REMOVE(AvahiServiceBrowser, service_browsers, b->client->service_browsers, b);
free (b);
- return;
+ return avahi_client_set_errno (client, AVAHI_OK);
}
char*