aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/downloader/xz_downloader.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe/src/downloader/xz_downloader.rs')
-rw-r--r--crates/shirabe/src/downloader/xz_downloader.rs32
1 files changed, 23 insertions, 9 deletions
diff --git a/crates/shirabe/src/downloader/xz_downloader.rs b/crates/shirabe/src/downloader/xz_downloader.rs
index 10a7edf..1c03f1d 100644
--- a/crates/shirabe/src/downloader/xz_downloader.rs
+++ b/crates/shirabe/src/downloader/xz_downloader.rs
@@ -44,10 +44,28 @@ impl XzDownloader {
cleanup_executed: IndexMap::new(),
}
}
+}
+
+impl ArchiveDownloader for XzDownloader {
+ fn inner(&self) -> &FileDownloader {
+ &self.inner
+ }
+
+ fn inner_mut(&mut self) -> &mut FileDownloader {
+ &mut self.inner
+ }
+
+ fn cleanup_executed(&self) -> &IndexMap<String, bool> {
+ &self.cleanup_executed
+ }
- pub(crate) async fn extract(
+ fn cleanup_executed_mut(&mut self) -> &mut IndexMap<String, bool> {
+ &mut self.cleanup_executed
+ }
+
+ async fn extract(
&mut self,
- package: PackageInterfaceHandle,
+ _package: PackageInterfaceHandle,
file: &str,
path: &str,
) -> Result<Option<PhpMixed>> {
@@ -119,9 +137,7 @@ impl crate::downloader::DownloaderInterface for XzDownloader {
path: &str,
prev_package: Option<PackageInterfaceHandle>,
) -> Result<Option<PhpMixed>> {
- self.inner
- .prepare(r#type, package, path, prev_package)
- .await
+ <Self as ArchiveDownloader>::prepare(self, r#type, package, path, prev_package).await
}
async fn install(
@@ -130,7 +146,7 @@ impl crate::downloader::DownloaderInterface for XzDownloader {
path: &str,
output: bool,
) -> Result<Option<PhpMixed>> {
- self.inner.install(package, path, output).await
+ <Self as ArchiveDownloader>::install(self, package, path, output).await
}
async fn update(
@@ -158,8 +174,6 @@ impl crate::downloader::DownloaderInterface for XzDownloader {
path: &str,
prev_package: Option<PackageInterfaceHandle>,
) -> Result<Option<PhpMixed>> {
- self.inner
- .cleanup(r#type, package, path, prev_package)
- .await
+ <Self as ArchiveDownloader>::cleanup(self, r#type, package, path, prev_package).await
}
}