Trait Device
Source pub trait Device: Send + 'static {
// Required methods
fn set_configuration(
&mut self,
configuration: u8,
) -> LocalBoxFuture<'_, Result<(), USBError>>;
fn get_configuration(&mut self) -> LocalBoxFuture<'_, Result<u8, USBError>>;
fn claim_interface(
&mut self,
interface: u8,
alternate: u8,
) -> LocalBoxFuture<'_, Result<Box<dyn Interface>, USBError>>;
fn string_descriptor(
&mut self,
index: u8,
language_id: u16,
) -> LocalBoxFuture<'_, Result<String, USBError>>;
fn control_in<'a>(
&mut self,
setup: ControlSetup,
data: &'a mut [u8],
) -> ResultTransfer<'a>;
fn control_out<'a>(
&mut self,
setup: ControlSetup,
data: &'a [u8],
) -> ResultTransfer<'a>;
}