]> git.meshlink.io Git - catta/blobdiff - avahi-client/browser.c
* implement avahi_exe_name for BSD/Darwin
[catta] / avahi-client / browser.c
index 1ac2e200f9fa505de801b1e3809f2905815892da..c9af43f977110e5cecd3b8993528e92458c59967 100644 (file)
@@ -125,7 +125,7 @@ AvahiDomainBrowser* avahi_domain_browser_new(
 
     dbus_error_init (&error);
 
-    if (client->state == AVAHI_CLIENT_DISCONNECTED) {
+    if (!avahi_client_is_connected(client)) {
         avahi_client_set_errno(client, AVAHI_ERR_BAD_STATE);
         goto fail;
     }
@@ -150,8 +150,10 @@ AvahiDomainBrowser* avahi_domain_browser_new(
 
     AVAHI_LLIST_PREPEND(AvahiDomainBrowser, domain_browsers, client->domain_browsers, db);
 
-    parse_environment(db);
-    parse_domain_file(db);
+    if (!(client->flags & AVAHI_CLIENT_IGNORE_USER_CONFIG)) {
+        parse_environment(db);
+        parse_domain_file(db);
+    }
 
     db->static_browse_domains = avahi_string_list_reverse(db->static_browse_domains);
     
@@ -248,7 +250,7 @@ int avahi_domain_browser_free (AvahiDomainBrowser *b) {
     
     client = b->client;
 
-    if (b->path && client->state != AVAHI_CLIENT_DISCONNECTED)
+    if (b->path && avahi_client_is_connected(b->client))
         r = avahi_client_simple_method_call(client, b->path, AVAHI_DBUS_INTERFACE_DOMAIN_BROWSER, "Free");
 
     AVAHI_LLIST_REMOVE(AvahiDomainBrowser, domain_browsers, client->domain_browsers, b);
@@ -367,7 +369,7 @@ AvahiServiceTypeBrowser* avahi_service_type_browser_new(
 
     dbus_error_init(&error);
 
-    if (client->state == AVAHI_CLIENT_DISCONNECTED) {
+    if (!avahi_client_is_connected(client)) {
         avahi_client_set_errno(client, AVAHI_ERR_BAD_STATE);
         goto fail;
     }
@@ -473,7 +475,7 @@ int avahi_service_type_browser_free (AvahiServiceTypeBrowser *b) {
     assert(b);
     client = b->client;
 
-    if (b->path && client->state != AVAHI_CLIENT_DISCONNECTED)
+    if (b->path && avahi_client_is_connected(b->client))
         r = avahi_client_simple_method_call(client, b->path, AVAHI_DBUS_INTERFACE_SERVICE_TYPE_BROWSER, "Free");
 
     AVAHI_LLIST_REMOVE(AvahiServiceTypeBrowser, service_type_browsers, b->client->service_type_browsers, b);
@@ -583,7 +585,7 @@ AvahiServiceBrowser* avahi_service_browser_new(
 
     dbus_error_init(&error);
 
-    if (client->state == AVAHI_CLIENT_DISCONNECTED) {
+    if (!avahi_client_is_connected(client)) {
         avahi_client_set_errno(client, AVAHI_ERR_BAD_STATE);
         goto fail;
     }
@@ -694,7 +696,7 @@ int avahi_service_browser_free (AvahiServiceBrowser *b) {
     assert(b);
     client = b->client;
 
-    if (b->path && client->state != AVAHI_CLIENT_DISCONNECTED)
+    if (b->path && avahi_client_is_connected(b->client))
         r = avahi_client_simple_method_call(client, b->path, AVAHI_DBUS_INTERFACE_SERVICE_BROWSER, "Free");
 
     AVAHI_LLIST_REMOVE(AvahiServiceBrowser, service_browsers, b->client->service_browsers, b);