void handle_room_join_error(const char * const room, const char * const err) { if (muc_room_is_active(room)) { muc_leave_room(room); } ui_handle_room_join_error(room, err); }
void handle_error_message(const char *from, const char *err_msg) { ui_handle_error_message(from, err_msg); if (g_strcmp0(err_msg, "conflict") == 0) { // remove the room from muc Jid *room_jid = jid_create(from); if (!muc_get_roster_received(room_jid->barejid)) { muc_leave_room(room_jid->barejid); } jid_destroy(room_jid); } }
void handle_leave_room(const char * const room) { muc_leave_room(room); }
void handle_room_destroy(const char * const room) { muc_leave_room(room); ui_room_destroyed(room); }