use super::*; pub type ObjectId = usize; pub trait ObjectManager<'a> { fn get_object(&self, id: ObjectId) -> Result<&'a dyn SystemObjectIF, ()>; } pub trait SystemObjectIF: tasks::ExecutableObjectIF + introspection::Introspection { fn get_id(&self) -> ObjectId; fn initialize(&mut self, object_manager: &dyn ObjectManager) -> Result<(), ()>; fn get_command_queue(&self) -> queues::MessageQueueSender; }