diff options
Diffstat (limited to 'stanza/src/client/iq.rs')
-rw-r--r-- | stanza/src/client/iq.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/stanza/src/client/iq.rs b/stanza/src/client/iq.rs index 6d0c671..50884aa 100644 --- a/stanza/src/client/iq.rs +++ b/stanza/src/client/iq.rs @@ -17,6 +17,9 @@ use crate::roster; #[cfg(feature = "xep_0030")] use crate::xep_0030::{self, info, items}; +#[cfg(feature = "xep_0060")] +use crate::xep_0060::pubsub::{self, Pubsub}; + #[cfg(feature = "xep_0199")] use crate::xep_0199::{self, Ping}; @@ -42,6 +45,8 @@ pub enum Query { DiscoInfo(info::Query), #[cfg(feature = "xep_0030")] DiscoItems(items::Query), + #[cfg(feature = "xep_0060")] + Pubsub(Pubsub), #[cfg(feature = "xep_0199")] Ping(Ping), #[cfg(feature = "rfc_6121")] @@ -67,6 +72,8 @@ impl FromElement for Query { (Some(xep_0030::items::XMLNS), "query") => { Ok(Query::DiscoItems(items::Query::from_element(element)?)) } + #[cfg(feature = "xep_0060")] + (Some(pubsub::XMLNS), "pubsub") => Ok(Query::Pubsub(Pubsub::from_element(element)?)), _ => Ok(Query::Unsupported), } } @@ -86,6 +93,8 @@ impl IntoElement for Query { Query::DiscoInfo(query) => query.builder(), #[cfg(feature = "xep_0030")] Query::DiscoItems(query) => query.builder(), + #[cfg(feature = "xep_0060")] + Query::Pubsub(pubsub) => pubsub.builder(), } } } |