diff options
Diffstat (limited to 'src/archive.rs')
| -rw-r--r-- | src/archive.rs | 13 |
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 | ||
