Trait Interface

Source
pub trait Interface: Send + 'static {
    // Required methods
    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>;
    fn endpoint_bulk_in(
        &mut self,
        endpoint: u8,
    ) -> Result<Box<dyn EndpointBulkIn>, USBError>;
    fn endpoint_bulk_out(
        &mut self,
        endpoint: u8,
    ) -> Result<Box<dyn EndpointBulkOut>, USBError>;
    fn endpoint_interrupt_in(
        &mut self,
        endpoint: u8,
    ) -> Result<Box<dyn EndpointInterruptIn>, USBError>;
    fn endpoint_interrupt_out(
        &mut self,
        endpoint: u8,
    ) -> Result<Box<dyn EndpointInterruptOut>, USBError>;
    fn endpoint_iso_in(
        &mut self,
        endpoint: u8,
    ) -> Result<Box<dyn EndpintIsoIn>, USBError>;
    fn endpoint_iso_out(
        &mut self,
        endpoint: u8,
    ) -> Result<Box<dyn EndpintIsoOut>, USBError>;
}

Required Methods§

Source

fn control_in<'a>( &mut self, setup: ControlSetup, data: &'a mut [u8], ) -> ResultTransfer<'a>

Source

fn control_out<'a>( &mut self, setup: ControlSetup, data: &'a [u8], ) -> ResultTransfer<'a>

Source

fn endpoint_bulk_in( &mut self, endpoint: u8, ) -> Result<Box<dyn EndpointBulkIn>, USBError>

Source

fn endpoint_bulk_out( &mut self, endpoint: u8, ) -> Result<Box<dyn EndpointBulkOut>, USBError>

Source

fn endpoint_interrupt_in( &mut self, endpoint: u8, ) -> Result<Box<dyn EndpointInterruptIn>, USBError>

Source

fn endpoint_interrupt_out( &mut self, endpoint: u8, ) -> Result<Box<dyn EndpointInterruptOut>, USBError>

Source

fn endpoint_iso_in( &mut self, endpoint: u8, ) -> Result<Box<dyn EndpintIsoIn>, USBError>

Source

fn endpoint_iso_out( &mut self, endpoint: u8, ) -> Result<Box<dyn EndpintIsoOut>, USBError>

Implementors§