1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
mod model_type_indexer; mod plugin; pub use model_type_indexer::ModelTypeIndexer; pub use plugin::{AfterImportPlugin, DeletePlugin, InitEntryPlugin, Plugin, ReferencePlugin}; use std::cell::RefCell; use std::clone::Clone; use std::rc::Rc; #[derive(Clone)] pub struct Plugins { pub init_plugins: Vec<Rc<RefCell<dyn InitEntryPlugin>>>, pub after_import_plugins: Vec<Rc<RefCell<dyn AfterImportPlugin>>>, pub plugins: Vec<Rc<RefCell<dyn Plugin>>>, pub delete_plugins: Vec<Rc<RefCell<dyn DeletePlugin>>>, pub reference_plugins: Vec<Rc<RefCell<dyn ReferencePlugin>>>, } impl Plugins { pub fn new() -> Self { Plugins { init_plugins: vec![], after_import_plugins: vec![], plugins: vec![], delete_plugins: vec![], reference_plugins: vec![], } } }