pub trait HidbusProxyInterface: Send + Sync {
type QueryResponseFut: Future<Output = Result<HidbusQueryResult, Error>> + Send;
type StartResponseFut: Future<Output = Result<HidbusStartResult, Error>> + Send;
type StopResponseFut: Future<Output = Result<(), Error>> + Send;
type GetDescriptorResponseFut: Future<Output = Result<HidbusGetDescriptorResult, Error>> + Send;
type SetDescriptorResponseFut: Future<Output = Result<HidbusSetDescriptorResult, Error>> + Send;
type GetReportResponseFut: Future<Output = Result<HidbusGetReportResult, Error>> + Send;
type SetReportResponseFut: Future<Output = Result<HidbusSetReportResult, Error>> + Send;
type GetIdleResponseFut: Future<Output = Result<HidbusGetIdleResult, Error>> + Send;
type SetIdleResponseFut: Future<Output = Result<HidbusSetIdleResult, Error>> + Send;
type GetProtocolResponseFut: Future<Output = Result<HidbusGetProtocolResult, Error>> + Send;
type SetProtocolResponseFut: Future<Output = Result<HidbusSetProtocolResult, Error>> + Send;
// Required methods
fn query(&self) -> Self::QueryResponseFut;
fn start(&self) -> Self::StartResponseFut;
fn stop(&self) -> Self::StopResponseFut;
fn get_descriptor(
&self,
desc_type: HidDescriptorType,
) -> Self::GetDescriptorResponseFut;
fn set_descriptor(
&self,
desc_type: HidDescriptorType,
data: &[u8],
) -> Self::SetDescriptorResponseFut;
fn get_report(
&self,
rpt_type: ReportType,
rpt_id: u8,
len: u64,
) -> Self::GetReportResponseFut;
fn set_report(
&self,
rpt_type: ReportType,
rpt_id: u8,
data: &[u8],
) -> Self::SetReportResponseFut;
fn get_idle(&self, rpt_id: u8) -> Self::GetIdleResponseFut;
fn set_idle(&self, rpt_id: u8, duration: i64) -> Self::SetIdleResponseFut;
fn get_protocol(&self) -> Self::GetProtocolResponseFut;
fn set_protocol(
&self,
protocol: HidProtocol,
) -> Self::SetProtocolResponseFut;
}Required Associated Types§
type QueryResponseFut: Future<Output = Result<HidbusQueryResult, Error>> + Send
type StartResponseFut: Future<Output = Result<HidbusStartResult, Error>> + Send
type StopResponseFut: Future<Output = Result<(), Error>> + Send
type GetDescriptorResponseFut: Future<Output = Result<HidbusGetDescriptorResult, Error>> + Send
type SetDescriptorResponseFut: Future<Output = Result<HidbusSetDescriptorResult, Error>> + Send
type GetReportResponseFut: Future<Output = Result<HidbusGetReportResult, Error>> + Send
type SetReportResponseFut: Future<Output = Result<HidbusSetReportResult, Error>> + Send
type GetIdleResponseFut: Future<Output = Result<HidbusGetIdleResult, Error>> + Send
type SetIdleResponseFut: Future<Output = Result<HidbusSetIdleResult, Error>> + Send
type GetProtocolResponseFut: Future<Output = Result<HidbusGetProtocolResult, Error>> + Send
type SetProtocolResponseFut: Future<Output = Result<HidbusSetProtocolResult, Error>> + Send
Required Methods§
fn query(&self) -> Self::QueryResponseFut
fn start(&self) -> Self::StartResponseFut
fn stop(&self) -> Self::StopResponseFut
fn get_descriptor( &self, desc_type: HidDescriptorType, ) -> Self::GetDescriptorResponseFut
fn set_descriptor( &self, desc_type: HidDescriptorType, data: &[u8], ) -> Self::SetDescriptorResponseFut
fn get_report( &self, rpt_type: ReportType, rpt_id: u8, len: u64, ) -> Self::GetReportResponseFut
fn set_report( &self, rpt_type: ReportType, rpt_id: u8, data: &[u8], ) -> Self::SetReportResponseFut
fn get_idle(&self, rpt_id: u8) -> Self::GetIdleResponseFut
fn set_idle(&self, rpt_id: u8, duration: i64) -> Self::SetIdleResponseFut
fn get_protocol(&self) -> Self::GetProtocolResponseFut
fn set_protocol(&self, protocol: HidProtocol) -> Self::SetProtocolResponseFut
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".