23 #define UNCOMBINED_EVT(evt, sub_evt) ((evt << 8) + sub_evt)
34 static inline void mt_logout_client(
const p_packet_t *payload,
45 static inline void mt_receive_message(
const p_packet_t *payload,
57 static inline void mt_thread_reply_received(
const p_packet_t *payload,
71 static inline void mt_team_created(
const p_packet_t *payload,
84 static inline void mt_channel_created(
const p_packet_t *payload,
97 static inline void mt_thread_created(
const p_packet_t *payload,
112 static inline void mt_user(
const p_packet_t *payload,
125 static inline void mt_team(
const p_packet_t *payload,
138 static inline void mt_private_message(
const p_packet_t *payload,
151 static const struct {
191 {INT16_MAX - 1, NULL}
int client(int ac, char **av)
main function for the client is only used by main (is returned by the main function)
Definition: client.c:176
@ EVT_ERROR_UNAUTHORIZED
Definition: events.h:78
@ EVT_ERROR_UNKNOWN_CHANNEL
Definition: events.h:75
@ EVT_LIST_USERS
Definition: events.h:21
@ EVT_REPLY_CREATE
Definition: events.h:62
@ EVT_LOGIN
Definition: events.h:17
@ EVT_LIST_MESSAGES
Definition: events.h:24
@ EVT_INFO_USER
Definition: events.h:48
@ EVT_TEAM_CREATE
Definition: events.h:64
@ EVT_ERROR_UNKNOWN_THREAD
Definition: events.h:76
@ EVT_MESSAGE_RECEIVE
Definition: events.h:60
@ EVT_ERROR_UNKNOWN_TEAM
Definition: events.h:74
@ EVT_LIST_CHANNELS
Definition: events.h:42
@ EVT_CONTINUE
Definition: events.h:70
@ EVT_LIST_SUBSCRIBED_IN_TEAM
Definition: events.h:27
@ EVT_UNSUBSCRIBE
Definition: events.h:30
@ EVT_LIST_TEAMS
Definition: events.h:40
@ EVT_CHANNEL_CREATE
Definition: events.h:66
@ EVT_ERROR_UNKNOWN_USER
Definition: events.h:77
@ EVT_THREAD_CREATE
Definition: events.h:68
@ EVT_SUBSCRIBE
Definition: events.h:26
@ EVT_ERROR_ALREADY
Definition: events.h:79
@ EVT_DISCONNECT
Definition: events.h:19
@ EVT_INFO_THREAD
Definition: events.h:54
@ EVT_INFO_TEAM
Definition: events.h:50
@ EVT_LIST_THREADS
Definition: events.h:44
@ EVT_INFO_CHANNEL
Definition: events.h:52
@ EVT_LIST_REPLIES
Definition: events.h:46
@ EVT_LIST_SUBSCRIBED_TEAMS
Definition: events.h:28
#define UNCOMBINED_EVT(evt, sub_evt)
Definition: logger.h:23
void(* func)(const p_packet_t *payload, c_client_t *client)
Definition: logger.h:153
uint16_t type
Definition: logger.h:152
int client_event_thread_reply_received(char const *team_uuid, char const *thread_uuid, char const *user_uuid, char const *reply_body)
Must be called when a new reply is posted in a thread.
int client_event_channel_created(char const *channel_uuid, char const *channel_name, char const *channel_description)
Must be called when a channel is created inside of a team.
int client_event_logged_out(char const *user_uuid, const char *user_name)
Must be called when a user logged out (/logout or lost connexion). When you log out (/logout) you sho...
int client_event_thread_created(char const *thread_uuid, char const *user_uuid, time_t thread_timestamp, char const *thread_title, char const *thread_body)
Must be called when a thread is created inside of a channel.
int client_print_teams(char const *team_uuid, char const *team_name, char const *team_description)
Must be called when you requested a list of teams from the server ex: asking the teams you are subscr...
int client_event_team_created(char const *team_uuid, char const *team_name, char const *team_description)
Must be called when a new team is created Every logged user should receive this event (the creator of...
int client_event_logged_in(char const *user_uuid, const char *user_name)
Must be called when a user successfully login to the server (/login). When you log in (/login) you sh...
int client_private_message_print_messages(char const *sender_uuid, time_t message_timestamp, char const *message_body)
Must be called when you requested a list of private messages ex: asking the private messages with a u...
int client_event_private_message_received(char const *user_uuid, char const *message_body)
Must be called when the current logged user receives a private message.
int client_print_users(char const *user_uuid, char const *user_name, int user_status)
Must be called when you requested a list of users from the server ex: asking the subscribed users to ...
Definition: events_structures.h:126
char description[MAX_DESCRIPTION_LENGTH]
Definition: events_structures.h:130
char name[MAX_NAME_LENGTH]
Definition: events_structures.h:129
char uuid[UUID_LENGTH]
Definition: events_structures.h:127
Represents a packet with type and data.
Definition: protocol.h:31
uint8_t data[DATA_SIZE]
Definition: protocol.h:33
Definition: events_structures.h:52
time_t timestamp
Definition: events_structures.h:56
char sender_uuid[UUID_LENGTH]
Definition: events_structures.h:53
char body[MAX_BODY_LENGTH]
Definition: events_structures.h:55
Definition: events_structures.h:178
char reply_body[MAX_BODY_LENGTH]
Definition: events_structures.h:182
char thread_uuid[UUID_LENGTH]
Definition: events_structures.h:181
char user_uuid[UUID_LENGTH]
Definition: events_structures.h:180
char team_uuid[UUID_LENGTH]
Definition: events_structures.h:179
Definition: events_structures.h:43
char description[MAX_DESCRIPTION_LENGTH]
Definition: events_structures.h:46
char uuid[UUID_LENGTH]
Definition: events_structures.h:44
char name[MAX_NAME_LENGTH]
Definition: events_structures.h:45
Definition: events_structures.h:147
time_t timestamp
Definition: events_structures.h:153
char user_uuid[UUID_LENGTH]
Definition: events_structures.h:149
char body[MAX_BODY_LENGTH]
Definition: events_structures.h:152
char title[MAX_NAME_LENGTH]
Definition: events_structures.h:151
char uuid[UUID_LENGTH]
Definition: events_structures.h:148
Definition: events_structures.h:33
bool is_logged
Definition: events_structures.h:36
char uuid[UUID_LENGTH]
Definition: events_structures.h:34
char name[MAX_NAME_LENGTH]
Definition: events_structures.h:35
Definition: events_structures.h:25
char name[MAX_NAME_LENGTH]
Definition: events_structures.h:27
char uuid[UUID_LENGTH]
Definition: events_structures.h:26
#define UNUSED
Definition: unused.h:12