From 66bf10b941cd1f2601fcae85af6911fac18aa474 Mon Sep 17 00:00:00 2001 From: Emmanuel Gil Peyrot Date: Sat, 27 May 2017 17:19:28 +0100 Subject: [PATCH] add a stanza_debug plugin, printing every stanza on stdout --- src/plugins/mod.rs | 1 + src/plugins/stanza_debug.rs | 29 +++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 src/plugins/stanza_debug.rs diff --git a/src/plugins/mod.rs b/src/plugins/mod.rs index 355942eb..c15ae512 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 00000000..c94679a5 --- /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, +]);