rs_eda/plugin/mod.rs
1use crate::event::EventDispatcher;
2use std::sync::{Arc, Mutex};
3
4pub trait PluginOptions {
5 /**插件的名字 */
6 fn name(&self) -> &str;
7 /**插件的依赖,依赖值为插件名字 */
8 fn deps(&self) -> Vec<&str>;
9 /**插件的安装方法 */
10 fn install(&mut self, event: Arc<Mutex<EventDispatcher>>);
11 // fn install(&mut self, engine: Rc<Mutex<&mut Engine>>);
12 /**插件的销毁方法 */
13 fn dispose(&mut self, event: Arc<Mutex<EventDispatcher>>);
14 // fn dispose(&mut self, engine: Rc<Mutex<&mut Engine>>);
15}