aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/installer/plugin_installer.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe/src/installer/plugin_installer.rs')
-rw-r--r--crates/shirabe/src/installer/plugin_installer.rs19
1 files changed, 12 insertions, 7 deletions
diff --git a/crates/shirabe/src/installer/plugin_installer.rs b/crates/shirabe/src/installer/plugin_installer.rs
index 1fd2334..77bd669 100644
--- a/crates/shirabe/src/installer/plugin_installer.rs
+++ b/crates/shirabe/src/installer/plugin_installer.rs
@@ -37,13 +37,13 @@ impl PluginInstaller {
}
}
- pub fn disable_plugins(&self) {
+ pub fn disable_plugins(&mut self) {
// TODO(plugin): disable plugins via plugin manager
- self.get_plugin_manager().disable_plugins();
+ self.get_plugin_manager_mut().disable_plugins();
}
fn rollback_install(
- &self,
+ &mut self,
e: anyhow::Error,
repo: &mut dyn InstalledRepositoryInterface,
package: &dyn PackageInterface,
@@ -71,6 +71,11 @@ impl PluginInstaller {
// TODO(plugin): return plugin manager from composer
self.inner.composer.get_plugin_manager()
}
+
+ fn get_plugin_manager_mut(&mut self) -> &mut PluginManager {
+ // TODO(plugin): return mutable plugin manager from composer
+ todo!()
+ }
}
impl InstallerInterface for PluginInstaller {
@@ -129,7 +134,7 @@ impl InstallerInterface for PluginInstaller {
}
fn install(
- &self,
+ &mut self,
repo: &mut dyn InstalledRepositoryInterface,
package: &dyn PackageInterface,
) -> Result<Option<Box<dyn PromiseInterface>>> {
@@ -149,7 +154,7 @@ impl InstallerInterface for PluginInstaller {
}
fn update(
- &self,
+ &mut self,
repo: &mut dyn InstalledRepositoryInterface,
initial: &dyn PackageInterface,
target: &dyn PackageInterface,
@@ -171,12 +176,12 @@ impl InstallerInterface for PluginInstaller {
}
fn uninstall(
- &self,
+ &mut self,
repo: &mut dyn InstalledRepositoryInterface,
package: &dyn PackageInterface,
) -> Result<Option<Box<dyn PromiseInterface>>> {
// TODO(plugin): uninstall package from plugin manager
- self.get_plugin_manager().uninstall_package(package);
+ self.get_plugin_manager_mut().uninstall_package(package);
self.inner.uninstall(repo, package)
}