about summary refs log tree commit diff stats
path: root/src/xmpp/stanza.c
diff options
context:
space:
mode:
authorMichael Vetter <jubalh@iodoru.org>2022-10-20 15:45:14 +0200
committerGitHub <noreply@github.com>2022-10-20 15:45:14 +0200
commit980fc189cd19486102e7638bb5d03bfe0dd7be62 (patch)
tree730d135fb92cb15b68717da1f5248c8bc6525019 /src/xmpp/stanza.c
parentfc8455ba34fdb467cc2702e4e071e850eaaf9be7 (diff)
parentf934c5b59f2fe2c3c00a50135add4aec55ac4024 (diff)
downloadprofani-tty-980fc189cd19486102e7638bb5d03bfe0dd7be62.tar.gz
Merge pull request #1757 from techmetx11/feature/1158-vcard
Add XEP-0054 vCard support

Regards https://github.com/profanity-im/profanity/issues/1158
Diffstat (limited to 'src/xmpp/stanza.c')
-rw-r--r--src/xmpp/stanza.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/xmpp/stanza.c b/src/xmpp/stanza.c
index 6b8377b6..fc2fcdc6 100644
--- a/src/xmpp/stanza.c
+++ b/src/xmpp/stanza.c
@@ -2688,6 +2688,25 @@ stanza_create_avatar_metadata_publish_iq(xmpp_ctx_t* ctx, const char* img_data,
 }
 
 xmpp_stanza_t*
+stanza_create_vcard_request_iq(xmpp_ctx_t* ctx, const char* const jid, const char* const stanza_id)
+{
+    xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, stanza_id);
+    xmpp_stanza_set_from(iq, connection_get_fulljid());
+    if (jid) {
+        xmpp_stanza_set_to(iq, jid);
+    }
+
+    xmpp_stanza_t* vcard = xmpp_stanza_new(ctx);
+    xmpp_stanza_set_name(vcard, STANZA_NAME_VCARD);
+    xmpp_stanza_set_ns(vcard, STANZA_NS_VCARD);
+
+    xmpp_stanza_add_child(iq, vcard);
+    xmpp_stanza_release(vcard);
+
+    return iq;
+}
+
+xmpp_stanza_t*
 stanza_attach_correction(xmpp_ctx_t* ctx, xmpp_stanza_t* stanza, const char* const replace_id)
 {
     xmpp_stanza_t* replace_stanza = xmpp_stanza_new(ctx);