X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;ds=sidebyside;f=avahi-glib%2Fglib-watch-test.c;h=53c668329859449f148eecade32ba88be6e5b453;hb=eac47634aea087e94e1a8e3ff4d528d0770be591;hp=50723218540ccaeb07eab181ece3af5743017046;hpb=5d047523c87ba11aad8c384f7ffde25b4dd746ed;p=catta diff --git a/avahi-glib/glib-watch-test.c b/avahi-glib/glib-watch-test.c index 5072321..53c6683 100644 --- a/avahi-glib/glib-watch-test.c +++ b/avahi-glib/glib-watch-test.c @@ -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 @@ -31,17 +29,19 @@ #include #include +#include + #include "glib-watch.h" -static AvahiPoll *api = NULL; +static const AvahiPoll *api = NULL; static GMainLoop *loop = NULL; -static void callback(AvahiWatch *w, int fd, AvahiWatchEvent event, void *userdata) { +static void callback(AvahiWatch *w, int fd, AvahiWatchEvent event, AVAHI_GCC_UNUSED void *userdata) { if (event & AVAHI_WATCH_IN) { ssize_t r; char c; - + if ((r = read(fd, &c, 1)) <= 0) { fprintf(stderr, "read() failed: %s\n", r < 0 ? strerror(errno) : "EOF"); api->watch_free(w); @@ -52,36 +52,38 @@ static void callback(AvahiWatch *w, int fd, AvahiWatchEvent event, void *userdat } } -static void iteration(AvahiGLibPoll *p, void *userdata) { +static void wakeup(AvahiTimeout *t, AVAHI_GCC_UNUSED void *userdata) { struct timeval tv; static int i = 0; - printf("Iteration %i\n", i++); + printf("Wakeup #%i\n", i++); - if (i > 100) + if (i > 10) g_main_loop_quit(loop); avahi_elapse_time(&tv, 1000, 0); - api->set_wakeup_time(api, &tv); + api->timeout_update(t, &tv); } -int main(int argc, char *argv[]) { - AvahiGLibPoll *s; +int main(AVAHI_GCC_UNUSED int argc, AVAHI_GCC_UNUSED char *argv[]) { + AvahiGLibPoll *g; struct timeval tv; - - s = avahi_glib_poll_new(NULL, iteration, NULL); - assert(s); - api = avahi_glib_poll_get(s); + g = avahi_glib_poll_new(NULL, G_PRIORITY_DEFAULT); + assert(g); + + api = avahi_glib_poll_get(g); api->watch_new(api, 0, AVAHI_WATCH_IN, callback, NULL); avahi_elapse_time(&tv, 1000, 0); - api->set_wakeup_time(api, &tv); + api->timeout_new(api, &tv, wakeup, NULL); loop = g_main_loop_new(NULL, FALSE); g_main_loop_run(loop); g_main_loop_unref(loop); - + + avahi_glib_poll_free(g); + return 0; }