Trait VersionManager
Source pub trait VersionManager {
// Required methods
fn install<'life0, 'async_trait>(
&'life0 self,
request: InstallRequest,
) -> Pin<Box<dyn Future<Output = Result<VersionInfo, String>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn switch_to(&self, request: SwitchRequest) -> Result<(), String>;
fn uninstall(&self, request: UninstallRequest) -> Result<(), String>;
fn list_installed(
&self,
request: ListInstalledRequest,
) -> Result<VersionList, String>;
fn list_available<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<VersionList, String>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn status(&self, request: StatusRequest) -> Result<RuntimeStatus, String>;
}
安装指定版本
request: 安装请求,包含版本号、安装目录、下载目录等信息
Ok(VersionInfo): 安装成功,返回版本信息
Err(String): 安装失败,返回错误信息
切换到指定版本
request: 切换请求,包含版本号、根目录、配置等信息 ///
Ok(()): 切换成功
Err(String): 切换失败,返回错误信息
§Errors
Returns an error if the version switch operation fails
卸载指定版本 ///
Ok(()): 卸载成功
Err(String): 卸载失败,返回错误信息
§Errors
Returns an error if the uninstall operation fails
列出已安装的版本
§参数 /// - request: 列出请求,包含根目录
Ok(VersionList): 成功,返回版本列表
Err(String): 失败,返回错误信息
§Errors
Returns an error if the list operation fails
列出可用的版本
Ok(VersionList): 成功,返回版本列表
Err(String): 失败,返回错误信息
获取当前运行时状态
§参数 /// - request: 状态查询请求,包含可选的根目录
Ok(RuntimeStatus): 成功,返回状态信息
Err(String): 失败,返回错误信息
§Errors
Returns an error if the status query fails