aboutsummaryrefslogtreecommitdiff
path: root/src/archive.rs
diff options
context:
space:
mode:
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