summaryrefslogtreecommitdiff
path: root/src/events.cc
diff options
context:
space:
mode:
authorFabrice <fabrice@schaub-dev.xyz>2026-02-10 14:03:09 +0100
committerFabrice <fabrice@schaub-dev.xyz>2026-02-10 14:03:09 +0100
commit1acadb9cdfc2025b65b190c872e420b199827655 (patch)
treef220f0adef4795bad340b3ca76031d99c6aa9263 /src/events.cc
parentbce43321ba6d5723e57710bd48bc84c08ec493ff (diff)
use concrete errors
Diffstat (limited to 'src/events.cc')
-rw-r--r--src/events.cc33
1 files changed, 17 insertions, 16 deletions
diff --git a/src/events.cc b/src/events.cc
index 755c034..06fc68f 100644
--- a/src/events.cc
+++ b/src/events.cc
@@ -1,21 +1,24 @@
#include "events.h"
+
+#include <cstring>
+
#include "hash.h"
#include "vec.h"
-#include <cstring>
-static inline window_id_t wayc_eventloop_genid(struct eventloop_s *loop) {
+static inline window_id_t wayc_eventloop_genid(struct eventloop_s* loop) {
wayc_notnull(loop);
return loop->winid++;
}
-bool wayc_eventloop_init(struct eventloop_s *loop, event_handler_t handler) {
+enum eventloop_error_e wayc_eventloop_init(struct eventloop_s* loop,
+ event_handler_t handler) {
wayc_notnull(loop);
wayc_notnull(handler);
memset(loop, 0, sizeof(*loop));
- if (!wayc_wlstate_init(&loop->state))
- return false;
+ if (wayc_wlstate_init(&loop->state) != WLSTATE_ERROR_NONE)
+ return EVENTLOOP_ERROR_WLSTATE;
loop->events = WAYC_VEC_INIT(struct event_s);
loop->handler = handler;
@@ -23,18 +26,18 @@ bool wayc_eventloop_init(struct eventloop_s *loop, event_handler_t handler) {
wayc_hashmap_init(&loop->windows);
- return true;
+ return EVENTLOOP_ERROR_NONE;
}
-void wayc_eventloop_deinit(struct eventloop_s *loop) {
+void wayc_eventloop_deinit(struct eventloop_s* loop) {
wayc_notnull(loop);
wayc_wlstate_deinit(&loop->state);
wayc_vec_deinit(&loop->events);
}
-window_id_t wayc_eventloop_register(struct eventloop_s *loop,
- struct window_s *window) {
+window_id_t wayc_eventloop_register(struct eventloop_s* loop,
+ struct window_s* window) {
wayc_notnull(loop);
wayc_notnull(window);
@@ -43,24 +46,22 @@ window_id_t wayc_eventloop_register(struct eventloop_s *loop,
return winid;
}
-void wayc_eventloop_unregister(struct eventloop_s *loop, window_id_t winid) {
+void wayc_eventloop_unregister(struct eventloop_s* loop, window_id_t winid) {
wayc_notnull(loop);
wayc_hashmap_remove(&loop->windows, &winid);
}
-bool wayc_eventloop_running(struct eventloop_s *loop) {
+bool wayc_eventloop_running(struct eventloop_s* loop) {
wayc_notnull(loop);
return loop->running;
}
-void wayc_eventloop_update(struct eventloop_s *loop) {
+void wayc_eventloop_update(struct eventloop_s* loop) {
wayc_notnull(loop);
- if (wayc_hashmap_count(&loop->windows) == 0)
- loop->running = false;
+ if (wayc_hashmap_count(&loop->windows) == 0) loop->running = false;
wayc_wlstate_update(&loop->state);
struct event_s event;
- while (wayc_vec_pop(&loop->events, &event))
- loop->handler(loop, &event);
+ while (wayc_vec_pop(&loop->events, &event)) loop->handler(loop, &event);
}