DeviceProxyInterface

Trait DeviceProxyInterface 

Source
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§

Required Methods§

Implementors§