about summary refs log tree commit diff stats
path: root/src/xmpp/stanza.c
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2013-04-20 20:18:13 +0100
committerJames Booth <boothj5@gmail.com>2013-04-20 20:18:13 +0100
commit81020e6d4378e98039f1ba91bbba748c4283e7d1 (patch)
treebde9e4eb6e9377a5451275b4a5a9ed46c5f156ba /src/xmpp/stanza.c
parent91d587a19fde76a04560b3c100298253fd7d7aa5 (diff)
downloadprofani-tty-81020e6d4378e98039f1ba91bbba748c4283e7d1.tar.gz
Added /invite for direct MUC invitations
Diffstat (limited to 'src/xmpp/stanza.c')
-rw-r--r--src/xmpp/stanza.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/xmpp/stanza.c b/src/xmpp/stanza.c
index 47f809ae..68232382 100644
--- a/src/xmpp/stanza.c
+++ b/src/xmpp/stanza.c
@@ -87,6 +87,30 @@ stanza_create_message(xmpp_ctx_t *ctx, const char * const recipient,
 }
 
 xmpp_stanza_t *
+stanza_create_invite(xmpp_ctx_t *ctx, const char * const room,
+    const char * const contact, const char * const reason)
+{
+    xmpp_stanza_t *message, *x;
+
+    message = xmpp_stanza_new(ctx);
+    xmpp_stanza_set_name(message, STANZA_NAME_MESSAGE);
+    xmpp_stanza_set_attribute(message, STANZA_ATTR_TO, contact);
+
+    x = xmpp_stanza_new(ctx);
+    xmpp_stanza_set_name(x, STANZA_NAME_X);
+    xmpp_stanza_set_ns(x, STANZA_NS_CONFERENCE);
+
+    xmpp_stanza_set_attribute(x, STANZA_ATTR_JID, room);
+    if (reason != NULL) {
+        xmpp_stanza_set_attribute(x, STANZA_ATTR_REASON, reason);
+    }
+
+    xmpp_stanza_add_child(message, x);
+
+    return message;
+}
+
+xmpp_stanza_t *
 stanza_create_room_join_presence(xmpp_ctx_t * const ctx,
     const char * const full_room_jid)
 {