pub trait DeviceProxyInterface: Send + Sync {
type QueryResponseFut: Future<Output = Result<DeviceQueryResult, Error>> + Send;
type GetReportDescResponseFut: Future<Output = Result<Vec<u8>, Error>> + Send;
type GetDeviceReportsReaderResponseFut: Future<Output = Result<DeviceGetDeviceReportsReaderResult, Error>> + Send;
type ReadReportResponseFut: Future<Output = Result<DeviceReadReportResult, Error>> + Send;
type ReadReportsResponseFut: Future<Output = Result<DeviceReadReportsResult, Error>> + Send;
type GetReportsEventResponseFut: Future<Output = Result<DeviceGetReportsEventResult, Error>> + Send;
type GetReportResponseFut: Future<Output = Result<DeviceGetReportResult, Error>> + Send;
type SetReportResponseFut: Future<Output = Result<DeviceSetReportResult, Error>> + Send;
// Required methods
fn query(&self) -> Self::QueryResponseFut;
fn get_report_desc(&self) -> Self::GetReportDescResponseFut;
fn get_device_reports_reader(
&self,
reader: ServerEnd<DeviceReportsReaderMarker>,
) -> Self::GetDeviceReportsReaderResponseFut;
fn read_report(&self) -> Self::ReadReportResponseFut;
fn read_reports(&self) -> Self::ReadReportsResponseFut;
fn get_reports_event(&self) -> Self::GetReportsEventResponseFut;
fn get_report(
&self,
type_: ReportType,
id: u8,
) -> Self::GetReportResponseFut;
fn set_report(
&self,
type_: ReportType,
id: u8,
report: &[u8],
) -> Self::SetReportResponseFut;
fn set_trace_id(&self, id: u32) -> Result<(), Error>;
}Required Associated Types§
type QueryResponseFut: Future<Output = Result<DeviceQueryResult, Error>> + Send
type GetReportDescResponseFut: Future<Output = Result<Vec<u8>, Error>> + Send
type GetDeviceReportsReaderResponseFut: Future<Output = Result<DeviceGetDeviceReportsReaderResult, Error>> + Send
type ReadReportResponseFut: Future<Output = Result<DeviceReadReportResult, Error>> + Send
type ReadReportsResponseFut: Future<Output = Result<DeviceReadReportsResult, Error>> + Send
type GetReportsEventResponseFut: Future<Output = Result<DeviceGetReportsEventResult, Error>> + Send
type GetReportResponseFut: Future<Output = Result<DeviceGetReportResult, Error>> + Send
type SetReportResponseFut: Future<Output = Result<DeviceSetReportResult, Error>> + Send
Required Methods§
fn query(&self) -> Self::QueryResponseFut
fn get_report_desc(&self) -> Self::GetReportDescResponseFut
fn get_device_reports_reader( &self, reader: ServerEnd<DeviceReportsReaderMarker>, ) -> Self::GetDeviceReportsReaderResponseFut
fn read_report(&self) -> Self::ReadReportResponseFut
fn read_reports(&self) -> Self::ReadReportsResponseFut
fn get_reports_event(&self) -> Self::GetReportsEventResponseFut
fn get_report(&self, type_: ReportType, id: u8) -> Self::GetReportResponseFut
fn set_report( &self, type_: ReportType, id: u8, report: &[u8], ) -> Self::SetReportResponseFut
fn set_trace_id(&self, id: u32) -> Result<(), Error>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".