X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-client%2Fbrowser.c;h=01608d09d8b7e3edfe5963bbd8181437d606dcea;hb=519c8939aa6d436c8ed48bb0f390e9971676928f;hp=6e0ed5d364bc6200f39e09d8f21fe907bd586c35;hpb=77dc1cb05c8e6d23bd9cea37d4b4644cd76f0f82;p=catta diff --git a/avahi-client/browser.c b/avahi-client/browser.c index 6e0ed5d..01608d0 100644 --- a/avahi-client/browser.c +++ b/avahi-client/browser.c @@ -23,26 +23,24 @@ #include #endif -#include -#include -#include -#include #include #include #include -#define DBUS_API_SUBJECT_TO_CHANGE #include -#include -#include +#include +#include +#include +#include +#include #include "client.h" #include "internal.h" /* AvahiDomainBrowser */ -AvahiDomainBrowser* avahi_domain_browser_new (AvahiClient *client, AvahiIfIndex interface, AvahiProtocol protocol, char *domain, AvahiDomainBrowserType btype, AvahiDomainBrowserCallback callback, void *user_data) +AvahiDomainBrowser* avahi_domain_browser_new (AvahiClient *client, AvahiIfIndex interface, AvahiProtocol protocol, const char *domain, AvahiDomainBrowserType btype, AvahiDomainBrowserCallback callback, void *user_data) { AvahiDomainBrowser *tmp = NULL; DBusMessage *message = NULL, *reply; @@ -71,7 +69,7 @@ AvahiDomainBrowser* avahi_domain_browser_new (AvahiClient *client, AvahiIfIndex if (dbus_error_is_set (&error) || path == NULL) goto dbus_error; - tmp = malloc (sizeof (AvahiDomainBrowser)); + tmp = avahi_new (AvahiDomainBrowser, 1); tmp->client = client; tmp->callback = callback; tmp->user_data = user_data; @@ -88,28 +86,32 @@ 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); - AVAHI_LLIST_REMOVE(AvahiDomainBrowser, domain_browsers, b->client->domain_browsers, b); + dbus_connection_send (client->bus, message, NULL); - free (b); + AVAHI_LLIST_REMOVE(AvahiDomainBrowser, domain_browsers, client->domain_browsers, b); - return; + avahi_free (b); + + return avahi_client_set_errno (client, AVAHI_OK); } -char* +const char* avahi_domain_browser_path (AvahiDomainBrowser *b) { return b->path; @@ -133,7 +135,6 @@ avahi_domain_browser_event (AvahiClient *client, AvahiBrowserEvent event, DBusMe for (n = client->domain_browsers; n != NULL; n = n->domain_browsers_next) { - printf ("cmp: %s, %s\n", n->path, path); if (strcmp (n->path, path) == 0) { db = n; break; @@ -159,7 +160,7 @@ out: } /* AvahiServiceTypeBrowser */ -AvahiServiceTypeBrowser* avahi_service_type_browser_new (AvahiClient *client, AvahiIfIndex interface, AvahiProtocol protocol, char *domain, AvahiServiceTypeBrowserCallback callback, void *user_data) +AvahiServiceTypeBrowser* avahi_service_type_browser_new (AvahiClient *client, AvahiIfIndex interface, AvahiProtocol protocol, const char *domain, AvahiServiceTypeBrowserCallback callback, void *user_data) { AvahiServiceTypeBrowser *tmp = NULL; DBusMessage *message = NULL, *reply; @@ -190,7 +191,7 @@ AvahiServiceTypeBrowser* avahi_service_type_browser_new (AvahiClient *client, Av if (dbus_error_is_set (&error) || path == NULL) goto dbus_error; - tmp = malloc (sizeof (AvahiServiceTypeBrowser)); + tmp = avahi_new(AvahiServiceTypeBrowser, 1); tmp->client = client; tmp->callback = callback; tmp->user_data = user_data; @@ -207,28 +208,32 @@ 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); + avahi_free (b); - return; + return avahi_client_set_errno (client, AVAHI_OK); } -char* +const char* avahi_service_type_browser_path (AvahiServiceTypeBrowser *b) { return b->path; @@ -252,7 +257,6 @@ avahi_service_type_browser_event (AvahiClient *client, AvahiBrowserEvent event, for (n = client->service_type_browsers; n != NULL; n = n->service_type_browsers_next) { - printf ("cmp: %s, %s\n", n->path, path); if (strcmp (n->path, path) == 0) { db = n; break; @@ -283,7 +287,7 @@ out: /* AvahiServiceBrowser */ -AvahiServiceBrowser* avahi_service_browser_new (AvahiClient *client, AvahiIfIndex interface, AvahiProtocol protocol, char *type, char *domain, AvahiServiceBrowserCallback callback, void *user_data) +AvahiServiceBrowser* avahi_service_browser_new (AvahiClient *client, AvahiIfIndex interface, AvahiProtocol protocol, const char *type, const char *domain, AvahiServiceBrowserCallback callback, void *user_data) { AvahiServiceBrowser *tmp = NULL; DBusMessage *message = NULL, *reply; @@ -317,7 +321,7 @@ AvahiServiceBrowser* avahi_service_browser_new (AvahiClient *client, AvahiIfInde if (dbus_error_is_set (&error) || path == NULL) goto dbus_error; - tmp = malloc (sizeof (AvahiServiceBrowser)); + tmp = avahi_new(AvahiServiceBrowser, 1); tmp->client = client; tmp->callback = callback; tmp->user_data = user_data; @@ -334,30 +338,32 @@ 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); + avahi_free (b); - return; + return avahi_client_set_errno (client, AVAHI_OK); } -char* +const char* avahi_service_browser_path (AvahiServiceBrowser *b) { return b->path; @@ -381,7 +387,6 @@ avahi_service_browser_event (AvahiClient *client, AvahiBrowserEvent event, DBusM for (n = client->service_browsers; n != NULL; n = n->service_browsers_next) { - printf ("cmp: %s, %s\n", n->path, path); if (strcmp (n->path, path) == 0) { db = n; break;