about summary refs log tree commit diff stats
path: root/src/xmpp/message.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/xmpp/message.c')
-rw-r--r--src/xmpp/message.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/xmpp/message.c b/src/xmpp/message.c
index bdcceb5e..0d06408b 100644
--- a/src/xmpp/message.c
+++ b/src/xmpp/message.c
@@ -163,7 +163,7 @@ _session_state(const char *const barejid)
 }
 
 char*
-message_send_chat(const char *const barejid, const char *const msg)
+message_send_chat(const char *const barejid, const char *const msg, const char *const oob_url)
 {
     xmpp_ctx_t * const ctx = connection_get_ctx();
 
@@ -178,6 +178,10 @@ message_send_chat(const char *const barejid, const char *const msg)
         stanza_attach_state(ctx, message, state);
     }
 
+    if (oob_url) {
+        stanza_attach_x_oob_url(ctx, message, oob_url);
+    }
+
     if (prefs_get_boolean(PREF_RECEIPTS_REQUEST)) {
         stanza_attach_receipt_request(ctx, message);
     }
@@ -274,25 +278,33 @@ message_send_chat_otr(const char *const barejid, const char *const msg)
 }
 
 void
-message_send_private(const char *const fulljid, const char *const msg)
+message_send_private(const char *const fulljid, const char *const msg, const char *const oob_url)
 {
     xmpp_ctx_t * const ctx = connection_get_ctx();
     char *id = create_unique_id("prv");
     xmpp_stanza_t *message = stanza_create_message(ctx, id, fulljid, STANZA_TYPE_CHAT, msg);
     free(id);
 
+    if (oob_url) {
+        stanza_attach_x_oob_url(ctx, message, oob_url);
+    }
+
     _send_message_stanza(message);
     xmpp_stanza_release(message);
 }
 
 void
-message_send_groupchat(const char *const roomjid, const char *const msg)
+message_send_groupchat(const char *const roomjid, const char *const msg, const char *const oob_url)
 {
     xmpp_ctx_t * const ctx = connection_get_ctx();
     char *id = create_unique_id("muc");
     xmpp_stanza_t *message = stanza_create_message(ctx, id, roomjid, STANZA_TYPE_GROUPCHAT, msg);
     free(id);
 
+    if (oob_url) {
+        stanza_attach_x_oob_url(ctx, message, oob_url);
+    }
+
     _send_message_stanza(message);
     xmpp_stanza_release(message);
 }