pub use runtime::Runtime; pub use std::error::Error; pub use std::fs::Path; pub use module::todo::TodoModule; pub trait Module { fn load(&self, &rt : Runtime) -> Option; fn callnames() -> [String]; fn name(&self) -> String; fn execute(&self, &rt : Runtime) -> Option; fn shutdown(&self, &rt : Runtime) -> Option; } pub trait TouchingModule : Module { fn load_with_path(&self, rt : &Runtime, path : &Path) -> Self; }