pub trait InstallerProxyInterface: Send + Sync {
type GetLastUpdateResultResponseFut: Future<Output = Result<UpdateResult, Error>> + Send;
type GetUpdateResultResponseFut: Future<Output = Result<UpdateResult, Error>> + Send;
type StartUpdateResponseFut: Future<Output = Result<InstallerStartUpdateResult, Error>> + Send;
type MonitorUpdateResponseFut: Future<Output = Result<bool, Error>> + Send;
// Required methods
fn get_last_update_result(&self) -> Self::GetLastUpdateResultResponseFut;
fn get_update_result(
&self,
attempt_id: &str
) -> Self::GetUpdateResultResponseFut;
fn start_update(
&self,
url: &mut PackageUrl,
options: Options,
monitor: ClientEnd<MonitorMarker>,
reboot_controller: Option<ServerEnd<RebootControllerMarker>>
) -> Self::StartUpdateResponseFut;
fn monitor_update(
&self,
attempt_id: Option<&str>,
monitor: ClientEnd<MonitorMarker>
) -> Self::MonitorUpdateResponseFut;
}