From 1acadb9cdfc2025b65b190c872e420b199827655 Mon Sep 17 00:00:00 2001 From: Fabrice Date: Tue, 10 Feb 2026 14:03:09 +0100 Subject: use concrete errors --- src/events.cc | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) (limited to 'src/events.cc') 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 + #include "hash.h" #include "vec.h" -#include -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); } -- cgit v1.2.3