X-Git-Url: https://git.r.bdr.sh/rbdr/olden-mail/blobdiff_plain/573aaf2a8ccdb6c8c917b2d88a39c9c8103f64ef..92529ff337c51c653ab9efc47e1250e3f5dfb478:/src/middleware/mod.rs diff --git a/src/middleware/mod.rs b/src/middleware/mod.rs index a1070f4..a0bc50f 100644 --- a/src/middleware/mod.rs +++ b/src/middleware/mod.rs @@ -1,7 +1,16 @@ mod find_mailboxes_compatibility; -use find_mailboxes_compatibility::middleware as find_mailboxes_compatibility_middleware; +use find_mailboxes_compatibility::FindMailboxesCompatibility; -type Middleware = fn(&[u8]) -> Vec; +use std::sync::{Arc, Mutex}; -pub const MIDDLEWARE: [Middleware; 1] = [find_mailboxes_compatibility_middleware]; +pub trait Middleware: Sync + Send { + fn client_message(&mut self, input: &[u8]) -> Vec; + fn server_message(&mut self, input: &[u8]) -> Vec; +} + +pub fn get() -> Arc>>> { + Arc::new(Mutex::new(vec![ + Box::new(FindMailboxesCompatibility::new()), + ])) +}