forked from ROMEO/obsw
first version of object initialization (I hate (aka do not understand) lifetimes)
This commit is contained in:
12
mission_rust/src/fsrc/objectmanager.rs
Normal file
12
mission_rust/src/fsrc/objectmanager.rs
Normal file
@ -0,0 +1,12 @@
|
||||
use super::tasks::ExecutableObjectIF;
|
||||
|
||||
pub type ObjectId = usize;
|
||||
pub trait ObjectManager<'a> {
|
||||
fn get_object(&self, id: ObjectId) -> Option<&'a dyn SystemObject>;
|
||||
}
|
||||
|
||||
pub trait SystemObject: ExecutableObjectIF {
|
||||
fn get_id(&self) -> ObjectId;
|
||||
fn initialize(&mut self, object_manager: &dyn ObjectManager) -> Result<(),()>;
|
||||
fn get_command_queue(&self) -> crate::fsrc::queues::MessageQueueSender;
|
||||
}
|
Reference in New Issue
Block a user