X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-core%2Ftimeeventq.h;h=a695b6aaf3c0a892b9e233ac0ff27bb871f6d998;hb=46109dfec75534fe270c0ab902576f685d5ab3a6;hp=26ced90265381ffc604d00e910e97dc3df1bbcd8;hpb=c58379bde376cb2298fca14f83a86626f1b76f2f;p=catta diff --git a/avahi-core/timeeventq.h b/avahi-core/timeeventq.h index 26ced90..a695b6a 100644 --- a/avahi-core/timeeventq.h +++ b/avahi-core/timeeventq.h @@ -1,57 +1,46 @@ #ifndef footimeeventqhfoo #define footimeeventqhfoo -/* $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 USA. ***/ -typedef struct _AvahiTimeEventQueue AvahiTimeEventQueue; -typedef struct _AvahiTimeEvent AvahiTimeEvent; - -#include "prioq.h" +#include -struct _AvahiTimeEvent { - AvahiTimeEventQueue *queue; - AvahiPrioQueueNode *node; - GTimeVal expiry; - void (*callback)(AvahiTimeEvent *e, void *userdata); - void *userdata; -}; +typedef struct AvahiTimeEventQueue AvahiTimeEventQueue; +typedef struct AvahiTimeEvent AvahiTimeEvent; -struct _AvahiTimeEventQueue { - GSource source; - AvahiPrioQueue *prioq; -}; +#include -AvahiTimeEventQueue* avahi_time_event_queue_new(GMainContext *context, gint priority); -void avahi_time_event_queue_free(AvahiTimeEventQueue *q); - -AvahiTimeEvent* avahi_time_event_queue_add(AvahiTimeEventQueue *q, const GTimeVal *timeval, void (*callback)(AvahiTimeEvent *e, void *userdata), void *userdata); -void avahi_time_event_queue_remove(AvahiTimeEventQueue *q, AvahiTimeEvent *e); - -void avahi_time_event_queue_update(AvahiTimeEventQueue *q, AvahiTimeEvent *e, const GTimeVal *timeval); +#include "prioq.h" -AvahiTimeEvent* avahi_time_event_queue_root(AvahiTimeEventQueue *q); -AvahiTimeEvent* avahi_time_event_next(AvahiTimeEvent *e); +typedef void (*AvahiTimeEventCallback)(AvahiTimeEvent *e, void* userdata); +AvahiTimeEventQueue* avahi_time_event_queue_new(const AvahiPoll *poll_api); +void avahi_time_event_queue_free(AvahiTimeEventQueue *q); +AvahiTimeEvent* avahi_time_event_new( + AvahiTimeEventQueue *q, + const struct timeval *timeval, + AvahiTimeEventCallback callback, + void* userdata); +void avahi_time_event_free(AvahiTimeEvent *e); +void avahi_time_event_update(AvahiTimeEvent *e, const struct timeval *timeval); #endif