From 596e5e2440df2d32f1cf3e052dc633e774edf6ee Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Sun, 29 Mar 2026 21:48:23 +0800 Subject: Rename mingling to mingling_core and update dependencies --- mingling/src/asset/dispatcher.rs | 195 --------------------------------------- 1 file changed, 195 deletions(-) delete mode 100644 mingling/src/asset/dispatcher.rs (limited to 'mingling/src/asset/dispatcher.rs') diff --git a/mingling/src/asset/dispatcher.rs b/mingling/src/asset/dispatcher.rs deleted file mode 100644 index 13e35f7..0000000 --- a/mingling/src/asset/dispatcher.rs +++ /dev/null @@ -1,195 +0,0 @@ -use crate::{ChainProcess, Program, asset::node::Node}; - -pub trait Dispatcher { - fn node(&self) -> Node; - fn begin(&self, args: Vec) -> ChainProcess; - fn clone_dispatcher(&self) -> Box; -} - -impl Clone for Box { - fn clone(&self) -> Self { - self.clone_dispatcher() - } -} - -impl Program { - /// Adds a dispatcher to the program. - pub fn with_dispatcher(&mut self, dispatcher: D) - where - D: Into, - { - let dispatchers = dispatcher.into().dispatcher; - self.dispatcher.extend(dispatchers); - } -} - -pub struct Dispatchers { - dispatcher: Vec>, -} - -impl From for Dispatchers -where - D: Dispatcher + 'static, -{ - fn from(dispatcher: D) -> Self { - Self { - dispatcher: vec![Box::new(dispatcher)], - } - } -} - -impl From>> for Dispatchers { - fn from(dispatcher: Vec>) -> Self { - Self { dispatcher } - } -} - -impl From> for Dispatchers { - fn from(dispatcher: Box) -> Self { - Self { - dispatcher: vec![dispatcher], - } - } -} - -impl From<(D,)> for Dispatchers -where - D: Dispatcher + 'static, -{ - fn from(dispatcher: (D,)) -> Self { - Self { - dispatcher: vec![Box::new(dispatcher.0)], - } - } -} - -impl From<(D1, D2)> for Dispatchers -where - D1: Dispatcher + 'static, - D2: Dispatcher + 'static, -{ - fn from(dispatchers: (D1, D2)) -> Self { - Self { - dispatcher: vec![Box::new(dispatchers.0), Box::new(dispatchers.1)], - } - } -} - -impl From<(D1, D2, D3)> for Dispatchers -where - D1: Dispatcher + 'static, - D2: Dispatcher + 'static, - D3: Dispatcher + 'static, -{ - fn from(dispatchers: (D1, D2, D3)) -> Self { - Self { - dispatcher: vec![ - Box::new(dispatchers.0), - Box::new(dispatchers.1), - Box::new(dispatchers.2), - ], - } - } -} - -impl From<(D1, D2, D3, D4)> for Dispatchers -where - D1: Dispatcher + 'static, - D2: Dispatcher + 'static, - D3: Dispatcher + 'static, - D4: Dispatcher + 'static, -{ - fn from(dispatchers: (D1, D2, D3, D4)) -> Self { - Self { - dispatcher: vec![ - Box::new(dispatchers.0), - Box::new(dispatchers.1), - Box::new(dispatchers.2), - Box::new(dispatchers.3), - ], - } - } -} - -impl From<(D1, D2, D3, D4, D5)> for Dispatchers -where - D1: Dispatcher + 'static, - D2: Dispatcher + 'static, - D3: Dispatcher + 'static, - D4: Dispatcher + 'static, - D5: Dispatcher + 'static, -{ - fn from(dispatchers: (D1, D2, D3, D4, D5)) -> Self { - Self { - dispatcher: vec![ - Box::new(dispatchers.0), - Box::new(dispatchers.1), - Box::new(dispatchers.2), - Box::new(dispatchers.3), - Box::new(dispatchers.4), - ], - } - } -} - -impl From<(D1, D2, D3, D4, D5, D6)> for Dispatchers -where - D1: Dispatcher + 'static, - D2: Dispatcher + 'static, - D3: Dispatcher + 'static, - D4: Dispatcher + 'static, - D5: Dispatcher + 'static, - D6: Dispatcher + 'static, -{ - fn from(dispatchers: (D1, D2, D3, D4, D5, D6)) -> Self { - Self { - dispatcher: vec![ - Box::new(dispatchers.0), - Box::new(dispatchers.1), - Box::new(dispatchers.2), - Box::new(dispatchers.3), - Box::new(dispatchers.4), - Box::new(dispatchers.5), - ], - } - } -} - -impl From<(D1, D2, D3, D4, D5, D6, D7)> for Dispatchers -where - D1: Dispatcher + 'static, - D2: Dispatcher + 'static, - D3: Dispatcher + 'static, - D4: Dispatcher + 'static, - D5: Dispatcher + 'static, - D6: Dispatcher + 'static, - D7: Dispatcher + 'static, -{ - fn from(dispatchers: (D1, D2, D3, D4, D5, D6, D7)) -> Self { - Self { - dispatcher: vec![ - Box::new(dispatchers.0), - Box::new(dispatchers.1), - Box::new(dispatchers.2), - Box::new(dispatchers.3), - Box::new(dispatchers.4), - Box::new(dispatchers.5), - Box::new(dispatchers.6), - ], - } - } -} - -impl std::ops::Deref for Dispatchers { - type Target = Vec>; - - fn deref(&self) -> &Self::Target { - &self.dispatcher - } -} - -impl From for Vec> { - fn from(val: Dispatchers) -> Self { - val.dispatcher - } -} -- cgit