From 4690f0cec21669eb5c54a4dfec78bef7e568beed Mon Sep 17 00:00:00 2001 From: Tom Smeding Date: Sat, 3 Oct 2020 19:58:54 +0200 Subject: ssh: Update clientlib for protocol version 3 --- ssh/client.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'ssh/client.c') diff --git a/ssh/client.c b/ssh/client.c index e6376cd..b293a33 100644 --- a/ssh/client.c +++ b/ssh/client.c @@ -244,6 +244,12 @@ static bool handle_line( } else if (sv_equals(command, "create_room")) { ret = tomsg_create_room(client); + } else if (sv_equals(command, "leave") || sv_equals(command, "leave_room")) { + if (parse_args(line, args, num_args = 1, false)) { + autocomplete_roomname(state, &args[0]); + ret = tomsg_leave_room(client, args[0]); + } + } else if (sv_equals(command, "invite")) { if (parse_args(line, args, num_args = 2, false)) { autocomplete_roomname(state, &args[0]); @@ -368,6 +374,7 @@ static const char* event_type_descr(enum tomsg_event_type type) { case TOMSG_EV_LIST_ROOMS: return "list_rooms"; case TOMSG_EV_LIST_MEMBERS: return "list_members"; case TOMSG_EV_CREATE_ROOM: return "create_room"; + case TOMSG_EV_LEAVE_ROOM: return "leave_room"; case TOMSG_EV_INVITE: return "invite"; case TOMSG_EV_SEND: return "send"; case TOMSG_EV_HISTORY: return "history"; @@ -379,6 +386,7 @@ static const char* event_type_descr(enum tomsg_event_type type) { case TOMSG_EV_PUSH_MESSAGE: return "push_message"; case TOMSG_EV_PUSH_INVITE: return "push_invite"; case TOMSG_EV_PUSH_JOIN: return "push_join"; + case TOMSG_EV_PUSH_LEAVE: return "push_leave"; } return "?unknown type?"; @@ -445,6 +453,10 @@ static void handle_event(struct state *state, const struct tomsg_event event) { printf(" Created room %s\n", event.create_room.room_name); break; + case TOMSG_EV_LEAVE_ROOM: + printf(" Left room %s\n", event.leave_room.room_name); + break; + case TOMSG_EV_INVITE: printf(" Invited %s to %s\n", event.join.username, event.join.room_name); @@ -504,6 +516,11 @@ static void handle_event(struct state *state, const struct tomsg_event event) { printf(" %s has joined %s\n", event.join.username, event.join.room_name); break; + + case TOMSG_EV_PUSH_LEAVE: + printf(" %s has left room %s\n", + event.push_leave.username, event.push_leave.room_name); + break; } } -- cgit v1.2.3-54-g00ecf