]> git.meshlink.io Git - catta/blobdiff - examples/core-browse-services.c
fix a few more s/DBUS/D-Bus/
[catta] / examples / core-browse-services.c
index c2eb180733fb04924e3bd1a306f964a0dbf5f0d8..53b18eeebb7936191e6561c7ebb6b6a611b6a9ad 100644 (file)
@@ -5,7 +5,7 @@
  * the embeddable mDNS stack for embedded applications.
  *
  * End user applications should *not* use this API and should use
- * the DBUS or C APIs, please see
+ * the D-Bus or C APIs, please see
  * client-browse-services.c and glib-integration.c
  * 
  * I repeat, you probably do *not* want to use this example.
@@ -50,8 +50,8 @@ static AvahiServer *server = NULL;
 
 static void resolve_callback(
     AvahiSServiceResolver *r,
-    AvahiIfIndex interface,
-    AvahiProtocol protocol,
+    AVAHI_GCC_UNUSED AvahiIfIndex interface,
+    AVAHI_GCC_UNUSED AvahiProtocol protocol,
     AvahiResolverEvent event,
     const char *name,
     const char *type,
@@ -61,24 +61,21 @@ static void resolve_callback(
     uint16_t port,
     AvahiStringList *txt,
     AvahiLookupResultFlags flags,
-    void* userdata) {
+    AVAHI_GCC_UNUSED void* userdata) {
     
     assert(r);
 
     /* Called whenever a service has been resolved successfully or timed out */
 
     switch (event) {
-        case AVAHI_RESOLVER_TIMEOUT:
-        case AVAHI_RESOLVER_NOT_FOUND:
         case AVAHI_RESOLVER_FAILURE:
-            fprintf(stderr, "Failed to resolve service '%s' of type '%s' in domain '%s': %s\n", name, type, domain,
-                    event == AVAHI_RESOLVER_TIMEOUT ? "TIMEOUT" : (event == AVAHI_RESOLVER_NOT_FOUND ? "NOT_FOUND" : "FAILURE"));
+            fprintf(stderr, "(Resolver) Failed to resolve service '%s' of type '%s' in domain '%s': %s\n", name, type, domain, avahi_strerror(avahi_server_errno(server)));
             break;
 
         case AVAHI_RESOLVER_FOUND: {
-            char a[128], *t;
+            char a[AVAHI_ADDRESS_STR_MAX], *t;
             
-            fprintf(stderr, "Service '%s' of type '%s' in domain '%s':\n", name, type, domain);
+            fprintf(stderr, "(Resolver) Service '%s' of type '%s' in domain '%s':\n", name, type, domain);
             
             avahi_address_snprint(a, sizeof(a), address);
             t = avahi_string_list_to_string(txt);
@@ -93,7 +90,7 @@ static void resolve_callback(
                     host_name, port, a,
                     t,
                     avahi_string_list_get_service_cookie(txt),
-                    avahi_server_is_service_local(server, interface, protocol, name, type, domain),
+                    !!(flags & AVAHI_LOOKUP_RESULT_LOCAL),
                     !!(flags & AVAHI_LOOKUP_RESULT_WIDE_AREA),
                     !!(flags & AVAHI_LOOKUP_RESULT_MULTICAST),
                     !!(flags & AVAHI_LOOKUP_RESULT_CACHED));
@@ -112,7 +109,7 @@ static void browse_callback(
     const char *name,
     const char *type,
     const char *domain,
-    AvahiLookupResultFlags flags,
+    AVAHI_GCC_UNUSED AvahiLookupResultFlags flags,
     void* userdata) {
     
     AvahiServer *s = userdata;
@@ -123,9 +120,8 @@ static void browse_callback(
     switch (event) {
 
         case AVAHI_BROWSER_FAILURE:
-        case AVAHI_BROWSER_NOT_FOUND:
             
-            fprintf(stderr, "(Browser) %s\n", event == AVAHI_BROWSER_FAILURE ? "FAILURE" : "NOT_FOUND");
+            fprintf(stderr, "(Browser) %s\n", avahi_strerror(avahi_server_errno(server)));
             avahi_simple_poll_quit(simple_poll);
             return;
 
@@ -153,9 +149,9 @@ static void browse_callback(
     }
 }
 
-int main(int argc, char*argv[]) {
+int main(AVAHI_GCC_UNUSED int argc, AVAHI_GCC_UNUSED char*argv[]) {
     AvahiServerConfig config;
-    AvahiSServiceBrowser *sb;
+    AvahiSServiceBrowser *sb = NULL;
     int error;
     int ret = 1;
 
@@ -199,9 +195,7 @@ int main(int argc, char*argv[]) {
     }
     
     /* Run the main loop */
-    for (;;)
-        if (avahi_simple_poll_iterate(simple_poll, -1) != 0)
-            break;
+    avahi_simple_poll_loop(simple_poll);
     
     ret = 0;