kiba-engine
|
Event system implementation. More...
Go to the source code of this file.
Data Structures | |
struct | registered_listener |
struct | registered_listener_list |
struct | event_system_state |
Macros | |
#define | MAX_EVENT_LISTENER 512 |
Maximum number of listeners per event code. | |
Typedefs | |
typedef struct registered_listener | registered_listener |
typedef struct registered_listener_list | registered_listener_list |
typedef struct event_system_state | event_system_state |
Functions | |
b8 | event_initialize (void) |
Initialize the event system. More... | |
void | event_shutdown (void) |
Shutdown event system. More... | |
b8 | event_register (u16 event_code, void *listener, on_event_function on_event, b8 append) |
Register a callback for a particular event type. More... | |
b8 | event_unregister (u16 event_code, void *listener, on_event_function on_event) |
Unregister a callback for a particular event type. More... | |
b8 | event_fire (u16 event_code, void *sender, event_context context) |
Fire an event. More... | |
Variables | |
event_system_state | event_state |
Event system implementation.
Definition in file event.c.
typedef struct event_system_state event_system_state |
State of the event system.
typedef struct registered_listener registered_listener |
Struct to store listener data with its callback.
typedef struct registered_listener_list registered_listener_list |
Custom fixed length array to store registered_listener.
b8 event_fire | ( | u16 | event_code, |
void * | sender, | ||
event_context | context | ||
) |
Fire an event.
The event system will propagate the event to all registered listeners.
event_code | the code of the event being fired |
sender | custom sender data which will be forwarded into the listeners' callbacks |
context | contextual data for the event being fired |
b8 event_initialize | ( | void | ) |
b8 event_register | ( | u16 | event_code, |
void * | listener, | ||
on_event_function | on_event, | ||
b8 | append | ||
) |
Register a callback for a particular event type.
event_code | the event code to listen for |
listener | custom data which will be passed to the callback when it is called |
on_event | the callback to be called by the event system |
append | register at the end of the priority list (true) or at the beginning (false) |
Definition at line 47 of file event.c.
b8 event_unregister | ( | u16 | event_code, |
void * | listener, | ||
on_event_function | on_event | ||
) |
Unregister a callback for a particular event type.
event_code | the event code to unregister from |
listener | custom data originally passed to the event_register call |
on_event | the callback to be unregistered |
Definition at line 67 of file event.c.
event_system_state event_state |