aboutsummaryrefslogtreecommitdiff
path: root/include/swaybar/event_loop.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/swaybar/event_loop.h')
-rw-r--r--include/swaybar/event_loop.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/include/swaybar/event_loop.h b/include/swaybar/event_loop.h
new file mode 100644
index 0000000..a0cde07
--- /dev/null
+++ b/include/swaybar/event_loop.h
@@ -0,0 +1,26 @@
+#ifndef _SWAYBAR_EVENT_LOOP_H
+#define _SWAYBAR_EVENT_LOOP_H
+
+#include <stdbool.h>
+#include <time.h>
+
+void add_event(int fd, short mask,
+ void(*cb)(int fd, short mask, void *data),
+ void *data);
+
+// Not guaranteed to notify cb immediately
+void add_timer(timer_t timer,
+ void(*cb)(timer_t timer, void *data),
+ void *data);
+
+// Returns false if nothing exists, true otherwise
+bool remove_event(int fd);
+
+// Returns false if nothing exists, true otherwise
+bool remove_timer(timer_t timer);
+
+// Blocks and returns after sending callbacks
+void event_loop_poll();
+
+void init_event_loop();
+#endif /*_SWAYBAR_EVENT_LOOP_H */