about summary refs log tree commit diff stats
path: root/jabber.c
diff options
context:
space:
mode:
Diffstat (limited to 'jabber.c')
-rw-r--r--jabber.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/jabber.c b/jabber.c
index 5e365783..dde27d3c 100644
--- a/jabber.c
+++ b/jabber.c
@@ -42,14 +42,20 @@ static int _roster_handler(xmpp_conn_t * const conn, xmpp_stanza_t * const stanz
 void jabber_connect(char *user, char *passwd)
 {
     xmpp_initialize();
+
     _log = xmpp_get_file_logger();
     _ctx = xmpp_ctx_new(NULL, _log);
     _conn = xmpp_conn_new(_ctx);
 
     xmpp_conn_set_jid(_conn, user);
     xmpp_conn_set_pass(_conn, passwd);
-    xmpp_connect_client(_conn, NULL, 0, _jabber_conn_handler, _ctx);
 
+    int connect_status = xmpp_connect_client(_conn, NULL, 0, _jabber_conn_handler, _ctx);
+
+    if (connect_status == -1)
+        cons_show("XMPP connection failure");
+    else 
+        cons_show("Connecting...");
 }
 
 void jabber_disconnect(void)
@@ -129,8 +135,14 @@ static void _jabber_conn_handler(xmpp_conn_t * const conn,
     xmpp_ctx_t *ctx = (xmpp_ctx_t *)userdata;
 
     if (status == XMPP_CONN_CONNECT) {
+        char line[100];
+        sprintf(line, "%s logged in successfully.", xmpp_conn_get_jid(conn));
+
+        cons_show(line);
+        status_bar_print_message(xmpp_conn_get_jid(conn));
+        status_bar_refresh();
+
         xmpp_stanza_t* pres;
-        log_msg(CONN, "connected");
         xmpp_handler_add(conn, _jabber_message_handler, NULL, "message", NULL, ctx);
         xmpp_id_handler_add(conn, _roster_handler, "roster", ctx);
 
@@ -140,6 +152,7 @@ static void _jabber_conn_handler(xmpp_conn_t * const conn,
         xmpp_stanza_release(pres);
     }
     else {
+        cons_show("Login failed.");
         log_msg(CONN, "disconnected");
         xmpp_stop(ctx);
     }