xmpp-parsers: Convert vcard_update to xso
This commit is contained in:
parent
16204a1092
commit
8a48244bc3
1 changed files with 11 additions and 9 deletions
|
@ -12,7 +12,9 @@
|
||||||
//! For [XEP-0054](https://xmpp.org/extensions/xep-0054.html) vCard support,
|
//! For [XEP-0054](https://xmpp.org/extensions/xep-0054.html) vCard support,
|
||||||
//! see [`vcard`][crate::vcard] module.
|
//! see [`vcard`][crate::vcard] module.
|
||||||
|
|
||||||
use crate::util::text_node_codecs::{Codec, FixedHex, OptionalCodec};
|
use xso::{text::FixedHex, AsXml, FromXml};
|
||||||
|
|
||||||
|
use crate::ns;
|
||||||
|
|
||||||
generate_element!(
|
generate_element!(
|
||||||
/// The presence payload for an avatar VCard update
|
/// The presence payload for an avatar VCard update
|
||||||
|
@ -23,14 +25,14 @@ generate_element!(
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
generate_element!(
|
|
||||||
/// The photo element containing the avatar metadata
|
/// The photo element containing the avatar metadata
|
||||||
Photo, "photo", VCARD_UPDATE,
|
#[derive(FromXml, AsXml, PartialEq, Debug, Clone)]
|
||||||
text: (
|
#[xml(namespace = ns::VCARD_UPDATE, name = "photo")]
|
||||||
|
pub struct Photo {
|
||||||
/// The SHA1 hash of the avatar. Empty when there is no photo.
|
/// The SHA1 hash of the avatar. Empty when there is no photo.
|
||||||
data: OptionalCodec<FixedHex<20>>
|
#[xml(text(codec = FixedHex<20>))]
|
||||||
)
|
pub data: Option<[u8; 20]>,
|
||||||
);
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
|
|
Loading…
Reference in a new issue