aboutsummaryrefslogtreecommitdiff
path: root/src/archive.rs
diff options
context:
space:
mode:
authorIgor Tolmachev <me@igorek.dev>2024-06-29 22:53:47 +0900
committerIgor Tolmachev <me@igorek.dev>2024-06-30 21:53:11 +0900
commit6d5f8f046b3b24e50cb1a0e7751c6bc9170ed9d1 (patch)
tree2ab77965a7c54b64e024a0fc3405b065ad54ea96 /src/archive.rs
parent51694e1f0b2730915e0a57ec6d8de503cf06ef9a (diff)
downloadarchivator-6d5f8f046b3b24e50cb1a0e7751c6bc9170ed9d1.tar.gz
archivator-6d5f8f046b3b24e50cb1a0e7751c6bc9170ed9d1.zip
Add `Clone` derive and edit trait types
Diffstat (limited to 'src/archive.rs')
-rw-r--r--src/archive.rs13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/archive.rs b/src/archive.rs
index 4a70867..8a9e8de 100644
--- a/src/archive.rs
+++ b/src/archive.rs
@@ -25,16 +25,19 @@ where
25 Self::read(File::open(path)?) 25 Self::read(File::open(path)?)
26 } 26 }
27 27
28 pub fn files(&self) -> Vec<&D::FileInfo> { 28 pub fn files(&self) -> &Vec<D::FileInfo> {
29 self.driver.files() 29 self.driver.files()
30 } 30 }
31 31
32 pub fn get_file_info(&self, name: &str) -> Option<&D::FileInfo> { 32 pub fn get_file_info(&self, index: usize) -> ArchiveResult<&D::FileInfo, D::Error> {
33 self.driver.get_file_info(name) 33 self.driver.get_file_info(index)
34 } 34 }
35 35
36 pub fn get_file_reader<'d>(&'d mut self, name: &str) -> Option<ArchiveFile<D::FileDriver<'d>>> { 36 pub fn get_file_reader<'d>(
37 Some(ArchiveFile::new(self.driver.get_file_reader(name)?)) 37 &'d mut self,
38 index: usize,
39 ) -> ArchiveResult<ArchiveFile<D::FileDriver<'d>>, D::Error> {
40 Ok(ArchiveFile::new(self.driver.get_file_reader(index)?))
38 } 41 }
39} 42}
40 43