]> git.meshlink.io Git - catta/blobdiff - avahi-core/timeeventq-test.c
forgot to pull the publish_no_reverse change to the example.
[catta] / avahi-core / timeeventq-test.c
index 33cd2b1227acd269922a4ec7cccd3355746c7535..d7b2e39c97f894e353f0810caafb7a9f92f52f23 100644 (file)
@@ -1,18 +1,16 @@
-/* $Id$ */
-
 /***
   This file is part of avahi.
+
   avahi is free software; you can redistribute it and/or modify it
   under the terms of the GNU Lesser General Public License as
   published by the Free Software Foundation; either version 2.1 of the
   License, or (at your option) any later version.
+
   avahi is distributed in the hope that it will be useful, but WITHOUT
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
   or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
   Public License for more details.
+
   You should have received a copy of the GNU Lesser General Public
   License along with avahi; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 #include <config.h>
 #endif
 
-#include <glib.h>
+#include <assert.h>
+#include <stdlib.h>
+
+#include <avahi-common/timeval.h>
+#include <avahi-common/simple-watch.h>
 
-#include "util.h"
 #include "timeeventq.h"
+#include "log.h"
+
+#define POINTER_TO_INT(p) ((int) (long) (p))
+#define INT_TO_POINTER(i) ((void*) (long) (i))
 
 static AvahiTimeEventQueue *q = NULL;
 
-static void callback(AvahiTimeEvent*e, gpointer userdata) {
-    GTimeVal tv = {0, 0};
-    g_assert(e);
-    g_message("callback(%i)", GPOINTER_TO_INT(userdata));
+static void callback(AvahiTimeEvent*e, void* userdata) {
+    struct timeval tv = {0, 0};
+    assert(e);
+    avahi_log_info("callback(%i)", POINTER_TO_INT(userdata));
     avahi_elapse_time(&tv, 1000, 100);
-    avahi_time_event_queue_update(q, e, &tv);
+    avahi_time_event_update(e, &tv);
 }
 
-int main(int argc, char *argv[]) {
-    GMainLoop *loop = NULL;
-    GTimeVal tv;
-    
-    q = avahi_time_event_queue_new(NULL, 0);
+int main(AVAHI_GCC_UNUSED int argc, AVAHI_GCC_UNUSED char *argv[]) {
+    struct timeval tv;
+    AvahiSimplePoll *s;
+
+    s = avahi_simple_poll_new();
+
+    q = avahi_time_event_queue_new(avahi_simple_poll_get(s));
+
+    avahi_time_event_new(q, avahi_elapse_time(&tv, 5000, 100), callback, INT_TO_POINTER(1));
+    avahi_time_event_new(q, avahi_elapse_time(&tv, 5000, 100), callback, INT_TO_POINTER(2));
 
-    avahi_time_event_queue_add(q, avahi_elapse_time(&tv, 5000, 100), callback, GINT_TO_POINTER(1));
-    avahi_time_event_queue_add(q, avahi_elapse_time(&tv, 5000, 100), callback, GINT_TO_POINTER(2));
+    avahi_log_info("starting");
 
-    g_message("starting");
-    
-    loop = g_main_loop_new(NULL, FALSE);
-    g_main_loop_run(loop);
-    g_main_loop_unref(loop);
+    for (;;)
+        if (avahi_simple_poll_iterate(s, -1) != 0)
+            break;
 
     avahi_time_event_queue_free(q);
+    avahi_simple_poll_free(s);
 
     return 0;
 }