diff options
Diffstat (limited to 'event.h')
-rw-r--r-- | event.h | 31 |
1 files changed, 31 insertions, 0 deletions
@@ -0,0 +1,31 @@ +#pragma once + +#include "global.h" + + +enum event_type{ + EVENT_MESSAGE, // message, user, room + EVENT_ONLINE, // user, num + EVENT_JOIN, // user, room +}; + +struct event_item{ + enum event_type type; + i64 timestamp; // always set + char *message,*user,*room; + i64 num; +}; + +typedef void event_callback_t(const struct event_item *event); + + +void event_register(event_callback_t *cb); +void event_unregister(event_callback_t *cb); + +struct event_item* event_item_alloc(void); +void event_item_free(struct event_item *event); + +void event_emit(const struct event_item *event); +void event_emit_message(i64 timestamp,const char *message,const char *user,const char *room); +void event_emit_online(i64 timestamp,const char *user,i64 numonline); +void event_emit_join(i64 timestamp,const char *user,const char *room); |