diff options
Diffstat (limited to 'src/event/client_events.c')
-rw-r--r-- | src/event/client_events.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/event/client_events.c b/src/event/client_events.c index 88776fd5..b2efd491 100644 --- a/src/event/client_events.c +++ b/src/event/client_events.c @@ -41,6 +41,8 @@ #include "ui/ui.h" #include "window_list.h" #include "xmpp/xmpp.h" +#include "roster_list.h" +#include "chat_session.h" #ifdef HAVE_LIBOTR #include "otr/otr.h" #endif @@ -66,6 +68,24 @@ cl_ev_connect_account(ProfAccount *account) } void +cl_ev_disconnect(void) +{ + const char *jid = jabber_get_fulljid(); + cons_show("%s logged out successfully.", jid); + + jabber_disconnect(); + roster_clear(); + muc_invites_clear(); + chat_sessions_clear(); + tlscerts_clear_current(); + ui_disconnected(); + ui_close_all_wins(); +#ifdef HAVE_LIBGPGME + p_gpg_on_disconnect(); +#endif +} + +void cl_ev_presence_send(const resource_presence_t presence_type, const char *const msg, const int idle_secs) { char *signed_status = NULL; |