From 86b65ab4470c7dc15c9e60129055322f052fb6fe Mon Sep 17 00:00:00 2001 From: Emmanuel Gil Peyrot Date: Sun, 26 Jan 2025 12:19:43 +0100 Subject: [PATCH] xmpp-parsers: Split vCard-temp iq get into new VCardQuery There is no reason to force users to use the same struct for both. --- parsers/ChangeLog | 1 + parsers/src/vcard.rs | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/parsers/ChangeLog b/parsers/ChangeLog index dbfdfae7ba3e0dbc10147055466d6bc15c784cc2..4c268913d7f748629e4c4167afe8eb64acda6254 100644 --- a/parsers/ChangeLog +++ b/parsers/ChangeLog @@ -46,6 +46,7 @@ XXXX-YY-ZZ RELEASER cert_management::Item::no_cert_management, ssm::StreamManagement::optional and starttls::StartTls::required are now proper bools, instead of Option (!518) + - vCard-temp queries have been split into vcard::VCardQuery (!522) * New parsers/serialisers: - Stream Features (RFC 6120) (!400) - Spam Reporting (XEP-0377) (!506) diff --git a/parsers/src/vcard.rs b/parsers/src/vcard.rs index 157842c2e885875f6498764aafa22b93e1d29094..df4ce56ec0c3e928922b894db2088ae8488137e3 100644 --- a/parsers/src/vcard.rs +++ b/parsers/src/vcard.rs @@ -66,10 +66,16 @@ pub struct VCard { pub payloads: Vec, } -impl IqGetPayload for VCard {} impl IqSetPayload for VCard {} impl IqResultPayload for VCard {} +/// A `` request element, for use in iq get. +#[derive(FromXml, AsXml, PartialEq, Debug, Clone)] +#[xml(namespace = ns::VCARD, name = "vCard")] +pub struct VCardQuery; + +impl IqGetPayload for VCardQuery {} + #[cfg(test)] mod tests { use super::*; @@ -82,6 +88,7 @@ mod tests { assert_size!(Type, 12); assert_size!(Binval, 12); assert_size!(VCard, 36); + assert_size!(VCardQuery, 0); } #[cfg(target_pointer_width = "64")] @@ -91,6 +98,7 @@ mod tests { assert_size!(Type, 24); assert_size!(Binval, 24); assert_size!(VCard, 72); + assert_size!(VCardQuery, 0); } #[test]