]> git.meshlink.io Git - catta/blobdiff - examples/glib-integration.c
update example to include some code to show how to modify an existing service
[catta] / examples / glib-integration.c
index fa68693ada43bc5d57e7d2ca6ff8729f40ac43a3..ab53687693f173d8213f7a3e2c3d97f98aae2f72 100644 (file)
   USA.
 ***/
 
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
 #include <glib.h>
 
 #include <avahi-client/client.h>
@@ -29,7 +33,7 @@
 
 /* Callback for Avahi API Timeout Event */
 static void
-avahi_timeout_event (AvahiTimeout *timeout, void *userdata)
+avahi_timeout_event (AVAHI_GCC_UNUSED AvahiTimeout *timeout, AVAHI_GCC_UNUSED void *userdata)
 {
     g_message ("Avahi API Timeout reached!");
 }
@@ -50,16 +54,16 @@ avahi_timeout_event_glib (void *userdata)
 
 /* Callback for state changes on the Client */
 static void
-avahi_client_callback (AvahiClient *client, AvahiClientState state, void *userdata)
+avahi_client_callback (AVAHI_GCC_UNUSED AvahiClient *client, AvahiClientState state, void *userdata)
 {
     GMainLoop *loop = userdata;
 
     g_message ("Avahi Client State Change: %d", state);
 
-    if (state == AVAHI_CLIENT_DISCONNECTED)
+    if (state == AVAHI_CLIENT_FAILURE)
     {
         /* We we're disconnected from the Daemon */
-        g_message ("Disconnected from the Avahi Daemon");
+        g_message ("Disconnected from the Avahi Daemon: %s", avahi_strerror(avahi_client_errno(client)));
 
         /* Quit the application */
         g_main_loop_quit (loop);
@@ -67,7 +71,7 @@ avahi_client_callback (AvahiClient *client, AvahiClientState state, void *userda
 }
 
 int
-main (int argc, char *argv[])
+main (AVAHI_GCC_UNUSED int argc, AVAHI_GCC_UNUSED char *argv[])
 {
     GMainLoop *loop = NULL;
     const AvahiPoll *poll_api;
@@ -104,6 +108,7 @@ main (int argc, char *argv[])
 
     /* Create a new AvahiClient instance */
     client = avahi_client_new (poll_api,            /* AvahiPoll object from above */
+                               0,
             avahi_client_callback,                  /* Callback function for Client state changes */
             loop,                                   /* User data */
             &error);                                /* Error return */