Revert "es_register_event and es_add_event_listener takes a pointer"
This reverts commit 8e5a421753.
			
			
This commit is contained in:
		| @@ -131,19 +131,19 @@ void es_deinit(EventSystem *event_system) { | |||||||
|   event_system->id = 0; |   event_system->id = 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| Event es_register_event(EventSystem *event_system) { | Event es_register_event(EventSystem event_system) { | ||||||
|   Event event = INVALID_EVENT; |   Event event = INVALID_EVENT; | ||||||
|  |  | ||||||
|   if (!event_system || IS_INVALID_SYSTEM((*event_system))) { |   if (IS_INVALID_SYSTEM(event_system)) { | ||||||
|     goto RETURN_EVENT; |     goto RETURN_EVENT; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   ESInternal *es = get_event_system_internal(*event_system); |   ESInternal *es = get_event_system_internal(event_system); | ||||||
|   if (!VALID_MAGIC(es)) { |   if (!VALID_MAGIC(es)) { | ||||||
|     goto RETURN_EVENT; |     goto RETURN_EVENT; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   event.system = *event_system; |   event.system = event_system; | ||||||
|  |  | ||||||
|   EventSlot *event_slots_array = get_event_slots_array(es); |   EventSlot *event_slots_array = get_event_slots_array(es); | ||||||
|  |  | ||||||
| @@ -170,12 +170,12 @@ RETURN_EVENT: | |||||||
|   return event; |   return event; | ||||||
| } | } | ||||||
|  |  | ||||||
| void es_deregister_event(EventSystem *event_system, Event *event) { | void es_deregister_event(EventSystem event_system, Event *event) { | ||||||
|   if (!event_system || IS_INVALID_SYSTEM((*event_system)) || IS_INVALID_EVENT((*event)) || event_system->id != event->system.id) { |   if (IS_INVALID_SYSTEM(event_system) || IS_INVALID_EVENT((*event)) || event_system.id != event->system.id) { | ||||||
|     return; |     return; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   ESInternal *es = get_event_system_internal(*event_system); |   ESInternal *es = get_event_system_internal(event_system); | ||||||
|   if (!VALID_MAGIC(es) || event->id > es->event_count) { |   if (!VALID_MAGIC(es) || event->id > es->event_count) { | ||||||
|     return; |     return; | ||||||
|   } |   } | ||||||
|   | |||||||
| @@ -30,8 +30,8 @@ typedef void (*EventCallback)(void *data); | |||||||
|  |  | ||||||
| EventSystem   es_init(u64 initial_event_capacity, u64 initial_listeners_capacity); | EventSystem   es_init(u64 initial_event_capacity, u64 initial_listeners_capacity); | ||||||
| void          es_deinit(EventSystem *event_system); | void          es_deinit(EventSystem *event_system); | ||||||
| Event         es_register_event(EventSystem *event_system); | Event         es_register_event(EventSystem event_system); | ||||||
| void          es_deregister_event(EventSystem *event_system, Event *event); | void          es_deregister_event(EventSystem event_system, Event *event); | ||||||
| EventListener es_add_event_listener(EventSystem event_system, Event event, EventCallback callback); | EventListener es_add_event_listener(EventSystem event_system, Event event, EventCallback callback); | ||||||
| void          es_remove_event_listener(EventSystem event_system, EventListener listener); | void          es_remove_event_listener(EventSystem event_system, EventListener listener); | ||||||
| void          es_emit_event(EventSystem event_system, Event event, void *data); | void          es_emit_event(EventSystem event_system, Event event, void *data); | ||||||
|   | |||||||
| @@ -40,7 +40,7 @@ int main(void) { | |||||||
|   EventSystem es = es_init(COUNT_EVENTS, 64); |   EventSystem es = es_init(COUNT_EVENTS, 64); | ||||||
|  |  | ||||||
|   for (int i = 0; i < COUNT_EVENTS; ++i) { |   for (int i = 0; i < COUNT_EVENTS; ++i) { | ||||||
|     events[i]    = es_register_event(&es); |     events[i]    = es_register_event(es); | ||||||
|     listeners[i] = es_add_event_listener(es, events[i], callbacks[i]); |     listeners[i] = es_add_event_listener(es, events[i], callbacks[i]); | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @@ -61,15 +61,15 @@ int main(void) { | |||||||
|   es_emit_event(es, events[EVENT_MOUSE],    (void *)&mouse_event); |   es_emit_event(es, events[EVENT_MOUSE],    (void *)&mouse_event); | ||||||
|  |  | ||||||
|   // You can also add other events not stored in an array |   // You can also add other events not stored in an array | ||||||
|   Event         extra_event = es_register_event(&es); |   Event         extra_event = es_register_event(es); | ||||||
|   EventListener listener    = es_add_event_listener(es, extra_event, extra_event_handler); |   EventListener listener    = es_add_event_listener(es, extra_event, extra_event_handler); | ||||||
|   es_emit_event(es, extra_event, NULL); |   es_emit_event(es, extra_event, NULL); | ||||||
|   es_remove_event_listener(es, listener); |   es_remove_event_listener(es, listener); | ||||||
|   es_deregister_event(&es, &extra_event); |   es_deregister_event(es, &extra_event); | ||||||
|  |  | ||||||
|   for (int i = 0; i < COUNT_EVENTS; ++i) { |   for (int i = 0; i < COUNT_EVENTS; ++i) { | ||||||
|     es_remove_event_listener(es, listeners[i]); |     es_remove_event_listener(es, listeners[i]); | ||||||
|     es_deregister_event(&es, &events[i]); |     es_deregister_event(es, &events[i]); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   es_deinit(&es); |   es_deinit(&es); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user