#include "../pkev.h" #include "../pkmacros.h" #include struct ev { bool handled; }; struct ev ev_one = {0}; struct ev ev_two = {0}; void handle_ev_one() { ev_one.handled = true; } void handle_ev_two() { ev_two.handled = true; } struct pk_ev_mgr* test_setup() { memset(&ev_one, 0, sizeof(struct ev)); memset(&ev_two, 0, sizeof(struct ev)); struct pk_ev_mgr *evmgr = pk_ev_create(); if (evmgr == NULL) { PK_LOGV_ERR("%s: failed to create pk_ev_mgr\n", __FILE__); exit(1); } return evmgr; } int main(int argc, char *argv[]) { (void)argc; (void)argv; (void)stdout; pk_ev_id_T custom_ev_one = 1; pk_ev_id_T custom_ev_two = 2; // register, emit, catch { // TODO struct pk_ev_mgr *evmgr = test_setup(); pk_ev_register_ev(evmgr, custom_ev_one); pk_ev_register_ev(evmgr, custom_ev_two); pk_ev_register_cb(evmgr, custom_ev_one, handle_ev_one); pk_ev_register_cb(evmgr, custom_ev_one, handle_ev_two); pk_ev_emit(evmgr, custom_ev_one); pk_ev_emit(evmgr, custom_ev_two); PK_LOGV_INF("%s: ev_one: %b, ev_two: %b\n", __FILE__, ev_one.handled, ev_two.handled); free(evmgr); if (ev_one.handled == false || ev_two.handled == false) exit(1); } return 0; }