From 6d5f8f046b3b24e50cb1a0e7751c6bc9170ed9d1 Mon Sep 17 00:00:00 2001 From: Igor Tolmachev Date: Sat, 29 Jun 2024 22:53:47 +0900 Subject: Add `Clone` derive and edit trait types --- src/archive.rs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'src/archive.rs') 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 Self::read(File::open(path)?) } - pub fn files(&self) -> Vec<&D::FileInfo> { + pub fn files(&self) -> &Vec { self.driver.files() } - pub fn get_file_info(&self, name: &str) -> Option<&D::FileInfo> { - self.driver.get_file_info(name) + pub fn get_file_info(&self, index: usize) -> ArchiveResult<&D::FileInfo, D::Error> { + self.driver.get_file_info(index) } - pub fn get_file_reader<'d>(&'d mut self, name: &str) -> Option>> { - Some(ArchiveFile::new(self.driver.get_file_reader(name)?)) + pub fn get_file_reader<'d>( + &'d mut self, + index: usize, + ) -> ArchiveResult>, D::Error> { + Ok(ArchiveFile::new(self.driver.get_file_reader(index)?)) } } -- cgit v1.2.3