pub trait InputDeviceProxyInterface: Send + Sync {
type GetInputReportsReaderV2ResponseFut: Future<Output = Result<u16, Error>> + Send;
type GetDescriptorResponseFut: Future<Output = Result<DeviceDescriptor, Error>> + Send;
type SendOutputReportResponseFut: Future<Output = Result<InputDeviceSendOutputReportResult, Error>> + Send;
type GetFeatureReportResponseFut: Future<Output = Result<InputDeviceGetFeatureReportResult, Error>> + Send;
type SetFeatureReportResponseFut: Future<Output = Result<InputDeviceSetFeatureReportResult, Error>> + Send;
type GetInputReportResponseFut: Future<Output = Result<InputDeviceGetInputReportResult, Error>> + Send;
// Required methods
fn get_input_reports_reader(
&self,
reader: ServerEnd<InputReportsReaderMarker>,
) -> Result<(), Error>;
fn get_input_reports_reader_v2(
&self,
reader: ServerEnd<InputReportsReaderV2Marker>,
max_unacknowledged_reports_limit: u16,
) -> Self::GetInputReportsReaderV2ResponseFut;
fn get_descriptor(&self) -> Self::GetDescriptorResponseFut;
fn send_output_report(
&self,
report: &OutputReport,
) -> Self::SendOutputReportResponseFut;
fn get_feature_report(&self) -> Self::GetFeatureReportResponseFut;
fn set_feature_report(
&self,
report: &FeatureReport,
) -> Self::SetFeatureReportResponseFut;
fn get_input_report(
&self,
device_type: DeviceType,
) -> Self::GetInputReportResponseFut;
}Required Associated Types§
type GetInputReportsReaderV2ResponseFut: Future<Output = Result<u16, Error>> + Send
type GetDescriptorResponseFut: Future<Output = Result<DeviceDescriptor, Error>> + Send
type SendOutputReportResponseFut: Future<Output = Result<InputDeviceSendOutputReportResult, Error>> + Send
type GetFeatureReportResponseFut: Future<Output = Result<InputDeviceGetFeatureReportResult, Error>> + Send
type SetFeatureReportResponseFut: Future<Output = Result<InputDeviceSetFeatureReportResult, Error>> + Send
type GetInputReportResponseFut: Future<Output = Result<InputDeviceGetInputReportResult, Error>> + Send
Required Methods§
fn get_input_reports_reader( &self, reader: ServerEnd<InputReportsReaderMarker>, ) -> Result<(), Error>
fn get_input_reports_reader_v2( &self, reader: ServerEnd<InputReportsReaderV2Marker>, max_unacknowledged_reports_limit: u16, ) -> Self::GetInputReportsReaderV2ResponseFut
fn get_descriptor(&self) -> Self::GetDescriptorResponseFut
fn send_output_report( &self, report: &OutputReport, ) -> Self::SendOutputReportResponseFut
fn get_feature_report(&self) -> Self::GetFeatureReportResponseFut
fn set_feature_report( &self, report: &FeatureReport, ) -> Self::SetFeatureReportResponseFut
fn get_input_report( &self, device_type: DeviceType, ) -> Self::GetInputReportResponseFut
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".