diff options
Diffstat (limited to 'src/server_events.c')
-rw-r--r-- | src/server_events.c | 33 |
1 files changed, 26 insertions, 7 deletions
diff --git a/src/server_events.c b/src/server_events.c index f920e1a9..0bb017b8 100644 --- a/src/server_events.c +++ b/src/server_events.c @@ -490,6 +490,7 @@ void handle_leave_room(const char * const room) { muc_leave(room); + ui_leave_room(room); } void @@ -511,7 +512,22 @@ void handle_room_destroy(const char * const room) { muc_leave(room); - ui_room_destroyed(room); + ui_room_destroy(room); +} + +void +handle_room_destroyed(const char * const room, const char * const new_jid, const char * const password, + const char * const reason) +{ + muc_leave(room); + ui_room_destroyed(room, reason, new_jid, password); +} + +void +handle_room_kicked(const char * const room, const char * const actor, const char * const reason) +{ + muc_leave(room); + ui_room_kicked(room, actor, reason); } void @@ -539,12 +555,6 @@ handle_room_config_submit_result_error(const char * const room, const char * con } void -handle_room_kick(const char * const room, const char * const nick) -{ - ui_handle_room_kick(room, nick); -} - -void handle_room_kick_result_error(const char * const room, const char * const nick, const char * const error) { ui_handle_room_kick_error(room, nick, error); @@ -620,6 +630,15 @@ handle_room_member_offline(const char * const room, const char * const nick, } void +handle_room_occupent_kicked(const char * const room, const char * const nick, const char * const actor, + const char * const reason) +{ + muc_roster_remove(room, nick); + ui_room_member_kicked(room, nick, actor, reason); +} + + +void handle_room_member_nick_change(const char * const room, const char * const old_nick, const char * const nick) { |