summaryrefslogtreecommitdiffstats
path: root/libavahi-core/timeeventq.h
diff options
context:
space:
mode:
Diffstat (limited to 'libavahi-core/timeeventq.h')
-rw-r--r--libavahi-core/timeeventq.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/libavahi-core/timeeventq.h b/libavahi-core/timeeventq.h
new file mode 100644
index 0000000..69ff860
--- /dev/null
+++ b/libavahi-core/timeeventq.h
@@ -0,0 +1,36 @@
+#ifndef footimeeventqhfoo
+#define footimeeventqhfoo
+
+typedef struct _AvahiTimeEventQueue AvahiTimeEventQueue;
+typedef struct _AvahiTimeEvent AvahiTimeEvent;
+
+#include "prioq.h"
+
+struct _AvahiTimeEvent {
+ AvahiTimeEventQueue *queue;
+ AvahiPrioQueueNode *node;
+ GTimeVal expiry;
+ void (*callback)(AvahiTimeEvent *e, void *userdata);
+ void *userdata;
+};
+
+struct _AvahiTimeEventQueue {
+ GSource source;
+ AvahiPrioQueue *prioq;
+};
+
+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);
+
+AvahiTimeEvent* avahi_time_event_queue_root(AvahiTimeEventQueue *q);
+AvahiTimeEvent* avahi_time_event_next(AvahiTimeEvent *e);
+
+
+
+
+#endif