#ifndef SESSION_H #define SESSION_H #include #include #include #include struct Fscord; typedef struct { String32Buffer *name; } User; typedef struct { Time creation_time; String32Buffer *sender_name; String32Buffer *content; } ChatMessage; typedef struct { size_t cur_user_count; size_t max_user_count; User *users; size_t message0; size_t cur_message_count; size_t max_message_count; ChatMessage *messages; String32Buffer *prompt; } Session; Session *session_create(Arena *arena, struct Fscord *fscord); void session_reset(Session *session); void session_process_event(Session *session, OSEvent *event); void session_draw(Session *session); void session_add_chat_message(Session *session, Time creation_time, String32 *sender_name, String32 *content); void session_add_user(Session *session, String32 *username); void session_rm_user(Session *session, String32 *username); #endif // SESSION_H