about summary refs log tree commit diff stats
path: root/src/xmpp
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2013-04-18 22:49:46 +0100
committerJames Booth <boothj5@gmail.com>2013-04-18 22:49:46 +0100
commit91d587a19fde76a04560b3c100298253fd7d7aa5 (patch)
tree9106bce49d2fd0bd787da520c1efee19b232ef30 /src/xmpp
parent202bc6b427c05f2ec06ef984848f05bfea78b42d (diff)
downloadprofani-tty-91d587a19fde76a04560b3c100298253fd7d7aa5.tar.gz
Show shortened room jid if possible on invite
Diffstat (limited to 'src/xmpp')
-rw-r--r--src/xmpp/connection.c13
-rw-r--r--src/xmpp/xmpp.h1
2 files changed, 14 insertions, 0 deletions
diff --git a/src/xmpp/connection.c b/src/xmpp/connection.c
index cf721a85..10aedf26 100644
--- a/src/xmpp/connection.c
+++ b/src/xmpp/connection.c
@@ -50,6 +50,7 @@ static struct _jabber_conn_t {
     char *presence_message;
     int priority;
     int tls_disabled;
+    char *domain;
 } jabber_conn;
 
 static GHashTable *available_resources;
@@ -98,6 +99,7 @@ jabber_init(const int disable_tls)
     jabber_conn.conn = NULL;
     jabber_conn.ctx = NULL;
     jabber_conn.tls_disabled = disable_tls;
+    jabber_conn.domain = NULL;
     presence_init();
     caps_init();
     available_resources = g_hash_table_new_full(g_str_hash, g_str_equal, free,
@@ -185,6 +187,7 @@ jabber_disconnect(void)
 
     jabber_conn.conn_status = JABBER_STARTED;
     FREE_SET_NULL(jabber_conn.presence_message);
+    FREE_SET_NULL(jabber_conn.domain);
 }
 
 void
@@ -258,6 +261,12 @@ jabber_get_jid(void)
     return xmpp_conn_get_jid(jabber_conn.conn);
 }
 
+const char *
+jabber_get_domain(void)
+{
+    return jabber_conn.domain;
+}
+
 char *
 jabber_get_presence_message(void)
 {
@@ -464,6 +473,10 @@ _connection_handler(xmpp_conn_t * const conn,
             _connection_free_saved_details();
         }
 
+        Jid *myJid = jid_create(jabber_get_jid());
+        jabber_conn.domain = strdup(myJid->domainpart);
+        jid_destroy(myJid);
+
         chat_sessions_init();
 
         message_add_handlers();
diff --git a/src/xmpp/xmpp.h b/src/xmpp/xmpp.h
index f7a4f0b3..9b4000ad 100644
--- a/src/xmpp/xmpp.h
+++ b/src/xmpp/xmpp.h
@@ -83,6 +83,7 @@ void jabber_disconnect(void);
 void jabber_shutdown(void);
 void jabber_process_events(void);
 const char * jabber_get_jid(void);
+const char * jabber_get_domain(void);
 jabber_conn_status_t jabber_get_connection_status(void);
 char * jabber_get_presence_message(void);
 void jabber_set_autoping(int seconds);