pub trait DeviceProxyInterface: Send + Sync {
type GetDeviceSpeedResponseFut: Future<Output = Result<u32, Error>> + Send;
type GetDeviceDescriptorResponseFut: Future<Output = Result<[u8; 18], Error>> + Send;
type GetConfigurationDescriptorSizeResponseFut: Future<Output = Result<(i32, u16), Error>> + Send;
type GetConfigurationDescriptorResponseFut: Future<Output = Result<(i32, Vec<u8>), Error>> + Send;
type GetStringDescriptorResponseFut: Future<Output = Result<(i32, String, u16), Error>> + Send;
type SetInterfaceResponseFut: Future<Output = Result<i32, Error>> + Send;
type GetDeviceIdResponseFut: Future<Output = Result<u32, Error>> + Send;
type GetHubDeviceIdResponseFut: Future<Output = Result<u32, Error>> + Send;
type GetConfigurationResponseFut: Future<Output = Result<u8, Error>> + Send;
type SetConfigurationResponseFut: Future<Output = Result<i32, Error>> + Send;
// Required methods
fn get_device_speed(&self) -> Self::GetDeviceSpeedResponseFut;
fn get_device_descriptor(&self) -> Self::GetDeviceDescriptorResponseFut;
fn get_configuration_descriptor_size(
&self,
config: u8,
) -> Self::GetConfigurationDescriptorSizeResponseFut;
fn get_configuration_descriptor(
&self,
config: u8,
) -> Self::GetConfigurationDescriptorResponseFut;
fn get_string_descriptor(
&self,
desc_id: u8,
lang_id: u16,
) -> Self::GetStringDescriptorResponseFut;
fn set_interface(
&self,
interface_number: u8,
alt_setting: u8,
) -> Self::SetInterfaceResponseFut;
fn get_device_id(&self) -> Self::GetDeviceIdResponseFut;
fn get_hub_device_id(&self) -> Self::GetHubDeviceIdResponseFut;
fn get_configuration(&self) -> Self::GetConfigurationResponseFut;
fn set_configuration(
&self,
configuration: u8,
) -> Self::SetConfigurationResponseFut;
}Required Associated Types§
type GetDeviceSpeedResponseFut: Future<Output = Result<u32, Error>> + Send
type GetDeviceDescriptorResponseFut: Future<Output = Result<[u8; 18], Error>> + Send
type GetConfigurationDescriptorSizeResponseFut: Future<Output = Result<(i32, u16), Error>> + Send
type GetConfigurationDescriptorResponseFut: Future<Output = Result<(i32, Vec<u8>), Error>> + Send
type GetStringDescriptorResponseFut: Future<Output = Result<(i32, String, u16), Error>> + Send
type SetInterfaceResponseFut: Future<Output = Result<i32, Error>> + Send
type GetDeviceIdResponseFut: Future<Output = Result<u32, Error>> + Send
type GetHubDeviceIdResponseFut: Future<Output = Result<u32, Error>> + Send
type GetConfigurationResponseFut: Future<Output = Result<u8, Error>> + Send
type SetConfigurationResponseFut: Future<Output = Result<i32, Error>> + Send
Required Methods§
fn get_device_speed(&self) -> Self::GetDeviceSpeedResponseFut
fn get_device_descriptor(&self) -> Self::GetDeviceDescriptorResponseFut
fn get_configuration_descriptor_size( &self, config: u8, ) -> Self::GetConfigurationDescriptorSizeResponseFut
fn get_configuration_descriptor( &self, config: u8, ) -> Self::GetConfigurationDescriptorResponseFut
fn get_string_descriptor( &self, desc_id: u8, lang_id: u16, ) -> Self::GetStringDescriptorResponseFut
fn set_interface( &self, interface_number: u8, alt_setting: u8, ) -> Self::SetInterfaceResponseFut
fn get_device_id(&self) -> Self::GetDeviceIdResponseFut
fn get_hub_device_id(&self) -> Self::GetHubDeviceIdResponseFut
fn get_configuration(&self) -> Self::GetConfigurationResponseFut
fn set_configuration( &self, configuration: u8, ) -> Self::SetConfigurationResponseFut
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".