diff options
| author | fiaxh <git@lightrise.org> | 2026-05-22 17:09:04 +0200 |
|---|---|---|
| committer | fiaxh <git@lightrise.org> | 2026-05-22 17:11:37 +0200 |
| commit | ddbb00ee56ca8ddc5db3ed9b6f4003bb6020ed6b (patch) | |
| tree | 9e59681e4c89f747ce4d83ab3cb5b0aedc4f523b /xmpp-vala/src/module/xep/0463_muc_affiliations_versioning.vala | |
| parent | 9abf8f6869bc35c76bdfa86416012d4e7f0dda78 (diff) | |
Add support for MUC affiliations versioning (XEP-0463), add affiliation storage
Diffstat (limited to 'xmpp-vala/src/module/xep/0463_muc_affiliations_versioning.vala')
| -rw-r--r-- | xmpp-vala/src/module/xep/0463_muc_affiliations_versioning.vala | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/xmpp-vala/src/module/xep/0463_muc_affiliations_versioning.vala b/xmpp-vala/src/module/xep/0463_muc_affiliations_versioning.vala new file mode 100644 index 00000000..ba7edcb9 --- /dev/null +++ b/xmpp-vala/src/module/xep/0463_muc_affiliations_versioning.vala @@ -0,0 +1,24 @@ +using Gee; + +namespace Xmpp.Xep.MucAffiliationsVersioning { + + public const string NS_URI = "urn:xmpp:muc:affiliations:1"; + + public static StanzaNode get_join_presence_node(string? since) { + var stanza_node = new StanzaNode.build("mav", NS_URI).add_self_xmlns(); + if (since != null) { + stanza_node.put_attribute("since", since); + } + return stanza_node; + } + + public static string? get_mav_since(StanzaNode outer_node) { + StanzaNode? mav_node = outer_node.get_subnode("mav", MucAffiliationsVersioning.NS_URI); + return mav_node != null ? mav_node.get_attribute("since", MucAffiliationsVersioning.NS_URI) : null; + } + + public static string? get_mav_until(StanzaNode outer_node) { + StanzaNode? mav_node = outer_node.get_subnode("mav", MucAffiliationsVersioning.NS_URI); + return mav_node != null ? mav_node.get_attribute("until", MucAffiliationsVersioning.NS_URI) : null; + } +}
\ No newline at end of file |
