diff options
Diffstat (limited to 'crates/shirabe/src/downloader/downloader_interface.rs')
| -rw-r--r-- | crates/shirabe/src/downloader/downloader_interface.rs | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/crates/shirabe/src/downloader/downloader_interface.rs b/crates/shirabe/src/downloader/downloader_interface.rs index 6662799..b72d80e 100644 --- a/crates/shirabe/src/downloader/downloader_interface.rs +++ b/crates/shirabe/src/downloader/downloader_interface.rs @@ -4,7 +4,7 @@ use shirabe_external_packages::react::promise::promise_interface::PromiseInterfa use crate::package::package_interface::PackageInterface; -pub trait DownloaderInterface { +pub trait DownloaderInterface: std::fmt::Debug { fn get_installation_source(&self) -> String; fn download( @@ -15,6 +15,16 @@ pub trait DownloaderInterface { output: bool, ) -> anyhow::Result<Box<dyn PromiseInterface>>; + /// Convenience for the PHP default `$output = true` overload. + fn download3( + &self, + package: &dyn PackageInterface, + path: &str, + prev_package: Option<&dyn PackageInterface>, + ) -> anyhow::Result<Box<dyn PromiseInterface>> { + self.download(package, path, prev_package, true) + } + fn prepare( &self, r#type: &str, @@ -30,6 +40,15 @@ pub trait DownloaderInterface { output: bool, ) -> anyhow::Result<Box<dyn PromiseInterface>>; + /// Convenience for the PHP default `$output = true` overload. + fn install2( + &self, + package: &dyn PackageInterface, + path: &str, + ) -> anyhow::Result<Box<dyn PromiseInterface>> { + self.install(package, path, true) + } + fn update( &self, initial: &dyn PackageInterface, @@ -44,6 +63,15 @@ pub trait DownloaderInterface { output: bool, ) -> anyhow::Result<Box<dyn PromiseInterface>>; + /// Convenience for the PHP default `$output = true` overload. + fn remove2( + &self, + package: &dyn PackageInterface, + path: &str, + ) -> anyhow::Result<Box<dyn PromiseInterface>> { + self.remove(package, path, true) + } + fn cleanup( &self, r#type: &str, |
