]> git.meshlink.io Git - catta/blob - timeeventq.h
Rename flx_* to avahi_*
[catta] / timeeventq.h
1 #ifndef footimeeventqhfoo
2 #define footimeeventqhfoo
3
4 typedef struct _AvahiTimeEventQueue AvahiTimeEventQueue;
5 typedef struct _AvahiTimeEvent AvahiTimeEvent;
6
7 #include "prioq.h"
8
9 struct _AvahiTimeEvent {
10     AvahiTimeEventQueue *queue;
11     AvahiPrioQueueNode *node;
12     GTimeVal expiry;
13     void (*callback)(AvahiTimeEvent *e, void *userdata);
14     void *userdata;
15 };
16
17 struct _AvahiTimeEventQueue {
18     GSource source;
19     AvahiPrioQueue *prioq;
20 };
21
22 AvahiTimeEventQueue* avahi_time_event_queue_new(GMainContext *context, gint priority);
23 void avahi_time_event_queue_free(AvahiTimeEventQueue *q);
24
25 AvahiTimeEvent* avahi_time_event_queue_add(AvahiTimeEventQueue *q, const GTimeVal *timeval, void (*callback)(AvahiTimeEvent *e, void *userdata), void *userdata);
26 void avahi_time_event_queue_remove(AvahiTimeEventQueue *q, AvahiTimeEvent *e);
27
28 void avahi_time_event_queue_update(AvahiTimeEventQueue *q, AvahiTimeEvent *e, const GTimeVal *timeval);
29
30 AvahiTimeEvent* avahi_time_event_queue_root(AvahiTimeEventQueue *q);
31 AvahiTimeEvent* avahi_time_event_next(AvahiTimeEvent *e);
32
33
34
35
36 #endif