From e225a6c7d5ef2eb44d068f9d13cb9717cb0ba3bb Mon Sep 17 00:00:00 2001 From: cel 🌸 Date: Thu, 12 Jun 2025 04:54:40 +0100 Subject: feat(stanza): xep-0297 message forwarding --- stanza/src/client/message.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'stanza/src/client/message.rs') diff --git a/stanza/src/client/message.rs b/stanza/src/client/message.rs index 41761d2..13ee6f1 100644 --- a/stanza/src/client/message.rs +++ b/stanza/src/client/message.rs @@ -11,6 +11,8 @@ use crate::xep_0131::Headers; use crate::xep_0172::Nick; #[cfg(feature = "xep_0203")] use crate::xep_0203::Delay; +#[cfg(feature = "xep_0297")] +use crate::xep_0297::Forwarded; use super::XMLNS; @@ -34,6 +36,8 @@ pub struct Message { pub nick: Option, #[cfg(feature = "xep_0060")] pub event: Option, + #[cfg(feature = "xep_0297")] + pub forwarded: Option, } impl FromElement for Message { @@ -63,6 +67,9 @@ impl FromElement for Message { #[cfg(feature = "xep_0060")] let event = element.child_opt()?; + #[cfg(feature = "xep_0297")] + let forwarded = element.child_opt()?; + Ok(Message { from, id, @@ -80,6 +87,8 @@ impl FromElement for Message { nick, #[cfg(feature = "xep_0060")] event, + #[cfg(feature = "xep_0297")] + forwarded, }) } } @@ -114,6 +123,9 @@ impl IntoElement for Message { #[cfg(feature = "xep_0060")] let builder = builder.push_child_opt(self.event.clone()); + #[cfg(feature = "xep_0297")] + let builder = builder.push_child_opt(self.forwarded.clone()); + builder } } -- cgit