VersionManager

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>;
}

Required Methods§

Source

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,

安装指定版本

§参数
  • request: 安装请求,包含版本号、安装目录、下载目录等信息
§返回
  • Ok(VersionInfo): 安装成功,返回版本信息
  • Err(String): 安装失败,返回错误信息
Source

fn switch_to(&self, request: SwitchRequest) -> Result<(), String>

切换到指定版本

§参数
  • request: 切换请求,包含版本号、根目录、配置等信息 ///
§返回
  • Ok(()): 切换成功
  • Err(String): 切换失败,返回错误信息
§Errors

Returns an error if the version switch operation fails

Source

fn uninstall(&self, request: UninstallRequest) -> Result<(), String>

卸载指定版本 ///

§参数
  • request: 卸载请求,包含版本号和根目录
§返回
  • Ok(()): 卸载成功
  • Err(String): 卸载失败,返回错误信息
§Errors

Returns an error if the uninstall operation fails

Source

fn list_installed( &self, request: ListInstalledRequest, ) -> Result<VersionList, String>

列出已安装的版本

§参数 /// - request: 列出请求,包含根目录
§返回
  • Ok(VersionList): 成功,返回版本列表
  • Err(String): 失败,返回错误信息
§Errors

Returns an error if the list operation fails

Source

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,

列出可用的版本

§返回
  • Ok(VersionList): 成功,返回版本列表
  • Err(String): 失败,返回错误信息
Source

fn status(&self, request: StatusRequest) -> Result<RuntimeStatus, String>

获取当前运行时状态

§参数 /// - request: 状态查询请求,包含可选的根目录
§返回
  • Ok(RuntimeStatus): 成功,返回状态信息
  • Err(String): 失败,返回错误信息
§Errors

Returns an error if the status query fails

Implementors§