aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/installer/installer_interface.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe/src/installer/installer_interface.rs')
-rw-r--r--crates/shirabe/src/installer/installer_interface.rs25
1 files changed, 12 insertions, 13 deletions
diff --git a/crates/shirabe/src/installer/installer_interface.rs b/crates/shirabe/src/installer/installer_interface.rs
index 8ab7efd..3056429 100644
--- a/crates/shirabe/src/installer/installer_interface.rs
+++ b/crates/shirabe/src/installer/installer_interface.rs
@@ -1,6 +1,5 @@
//! ref: composer/src/Composer/Installer/InstallerInterface.php
-use crate::package::PackageInterface;
use crate::package::PackageInterfaceHandle;
use crate::repository::InstalledRepositoryInterface;
use shirabe_php_shim::PhpMixed;
@@ -12,49 +11,49 @@ pub trait InstallerInterface: std::fmt::Debug {
fn is_installed(
&self,
repo: &dyn InstalledRepositoryInterface,
- package: &dyn PackageInterface,
+ package: PackageInterfaceHandle,
) -> bool;
async fn download(
&self,
- package: &dyn PackageInterface,
- prev_package: Option<&dyn PackageInterface>,
+ package: PackageInterfaceHandle,
+ prev_package: Option<PackageInterfaceHandle>,
) -> anyhow::Result<Option<PhpMixed>>;
async fn prepare(
&self,
r#type: &str,
- package: &dyn PackageInterface,
- prev_package: Option<&dyn PackageInterface>,
+ package: PackageInterfaceHandle,
+ prev_package: Option<PackageInterfaceHandle>,
) -> anyhow::Result<Option<PhpMixed>>;
async fn install(
&mut self,
repo: &mut dyn InstalledRepositoryInterface,
- package: &PackageInterfaceHandle,
+ package: PackageInterfaceHandle,
) -> anyhow::Result<Option<PhpMixed>>;
async fn update(
&mut self,
repo: &mut dyn InstalledRepositoryInterface,
- initial: &PackageInterfaceHandle,
- target: &PackageInterfaceHandle,
+ initial: PackageInterfaceHandle,
+ target: PackageInterfaceHandle,
) -> anyhow::Result<Option<PhpMixed>>;
async fn uninstall(
&mut self,
repo: &mut dyn InstalledRepositoryInterface,
- package: &PackageInterfaceHandle,
+ package: PackageInterfaceHandle,
) -> anyhow::Result<Option<PhpMixed>>;
async fn cleanup(
&self,
r#type: &str,
- package: &dyn PackageInterface,
- prev_package: Option<&dyn PackageInterface>,
+ package: PackageInterfaceHandle,
+ prev_package: Option<PackageInterfaceHandle>,
) -> anyhow::Result<Option<PhpMixed>>;
- fn get_install_path(&self, package: &dyn PackageInterface) -> Option<String>;
+ fn get_install_path(&self, package: PackageInterfaceHandle) -> Option<String>;
fn clone_box(&self) -> Box<dyn InstallerInterface> {
todo!()