pub trait RuntimeDevice:
Debug
+ Send
+ Sync {
// Required methods
fn blocking_init(&mut self) -> Result<(), Error>;
fn blocking_shutdown(&mut self) -> Result<(), Error>;
fn open_screen_device(&mut self) -> Box<dyn ScreenDevice>;
fn open_input_device(&mut self) -> Box<dyn InputDevice>;
fn open_panic_restore_guard(&mut self) -> Box<dyn PanicRestoreGuard>;
}