Skip to main content

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}