pub trait DeviceProxyInterface: Send + Sync {
type DownloadFirmwareResponseFut: Future<Output = Result<DeviceDownloadFirmwareResult, Error>> + Send;
type GetFirmwareNameResponseFut: Future<Output = Result<String, Error>> + Send;
type GetFirmwareVersionResponseFut: Future<Output = Result<McuVersionInfo, Error>> + Send;
type GetTimeSyncResponseFut: Future<Output = Result<DeviceGetTimeSyncResult, Error>> + Send;
type SetWakeLockResponseFut: Future<Output = Result<DeviceSetWakeLockResult, Error>> + Send;
type GetWakeUpEventDurationResponseFut: Future<Output = Result<DeviceGetWakeUpEventDurationResult, Error>> + Send;
type SetWakeUpEventDurationResponseFut: Future<Output = Result<DeviceSetWakeUpEventDurationResult, Error>> + Send;
type HardwareResetResponseFut: Future<Output = Result<DeviceHardwareResetResult, Error>> + Send;
// Required methods
fn download_firmware(
&self,
firmware: Vmo,
offset: u64,
) -> Self::DownloadFirmwareResponseFut;
fn get_firmware_name(&self) -> Self::GetFirmwareNameResponseFut;
fn get_firmware_version(&self) -> Self::GetFirmwareVersionResponseFut;
fn get_time_sync(&self) -> Self::GetTimeSyncResponseFut;
fn set_wake_lock(
&self,
value: McuWakeLockValue,
) -> Self::SetWakeLockResponseFut;
fn get_wake_up_event_duration(
&self,
) -> Self::GetWakeUpEventDurationResponseFut;
fn set_wake_up_event_duration(
&self,
duration: i64,
) -> Self::SetWakeUpEventDurationResponseFut;
fn hardware_reset(
&self,
isp_pin_0: PinState,
isp_pin_1: PinState,
isp_pin_2: PinState,
) -> Self::HardwareResetResponseFut;
}Required Associated Types§
type DownloadFirmwareResponseFut: Future<Output = Result<DeviceDownloadFirmwareResult, Error>> + Send
type GetFirmwareNameResponseFut: Future<Output = Result<String, Error>> + Send
type GetFirmwareVersionResponseFut: Future<Output = Result<McuVersionInfo, Error>> + Send
type GetTimeSyncResponseFut: Future<Output = Result<DeviceGetTimeSyncResult, Error>> + Send
type SetWakeLockResponseFut: Future<Output = Result<DeviceSetWakeLockResult, Error>> + Send
type GetWakeUpEventDurationResponseFut: Future<Output = Result<DeviceGetWakeUpEventDurationResult, Error>> + Send
type SetWakeUpEventDurationResponseFut: Future<Output = Result<DeviceSetWakeUpEventDurationResult, Error>> + Send
type HardwareResetResponseFut: Future<Output = Result<DeviceHardwareResetResult, Error>> + Send
Required Methods§
fn download_firmware( &self, firmware: Vmo, offset: u64, ) -> Self::DownloadFirmwareResponseFut
fn get_firmware_name(&self) -> Self::GetFirmwareNameResponseFut
fn get_firmware_version(&self) -> Self::GetFirmwareVersionResponseFut
fn get_time_sync(&self) -> Self::GetTimeSyncResponseFut
fn set_wake_lock(&self, value: McuWakeLockValue) -> Self::SetWakeLockResponseFut
fn get_wake_up_event_duration(&self) -> Self::GetWakeUpEventDurationResponseFut
fn set_wake_up_event_duration( &self, duration: i64, ) -> Self::SetWakeUpEventDurationResponseFut
fn hardware_reset( &self, isp_pin_0: PinState, isp_pin_1: PinState, isp_pin_2: PinState, ) -> Self::HardwareResetResponseFut
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".