diff --git a/src/plugins/mod.rs b/src/plugins/mod.rs index 355942e..c15ae51 100644 --- a/src/plugins/mod.rs +++ b/src/plugins/mod.rs @@ -2,3 +2,4 @@ pub mod messaging; pub mod presence; pub mod ping; pub mod stanza; +pub mod stanza_debug; diff --git a/src/plugins/stanza_debug.rs b/src/plugins/stanza_debug.rs new file mode 100644 index 0000000..c94679a --- /dev/null +++ b/src/plugins/stanza_debug.rs @@ -0,0 +1,29 @@ +use plugin::PluginProxy; +use event::{SendElement, ReceiveElement, Propagation, Priority}; + +pub struct StanzaDebugPlugin { + proxy: PluginProxy, +} + +impl StanzaDebugPlugin { + pub fn new() -> StanzaDebugPlugin { + StanzaDebugPlugin { + proxy: PluginProxy::new(), + } + } + + fn handle_send_element(&self, evt: &SendElement) -> Propagation { + println!("SEND: {:?}", evt.0); + Propagation::Continue + } + + fn handle_receive_element(&self, evt: &ReceiveElement) -> Propagation { + println!("RECV: {:?}", evt.0); + Propagation::Continue + } +} + +impl_plugin!(StanzaDebugPlugin, proxy, [ + (SendElement, Priority::Min) => handle_send_element, + (ReceiveElement, Priority::Max) => handle_receive_element, +]);