diff options
| author | Igor Tolmachev <me@igorek.dev> | 2024-06-29 22:53:47 +0900 |
|---|---|---|
| committer | Igor Tolmachev <me@igorek.dev> | 2024-06-30 21:53:11 +0900 |
| commit | 6d5f8f046b3b24e50cb1a0e7751c6bc9170ed9d1 (patch) | |
| tree | 2ab77965a7c54b64e024a0fc3405b065ad54ea96 /src/archive.rs | |
| parent | 51694e1f0b2730915e0a57ec6d8de503cf06ef9a (diff) | |
| download | archivator-6d5f8f046b3b24e50cb1a0e7751c6bc9170ed9d1.tar.gz archivator-6d5f8f046b3b24e50cb1a0e7751c6bc9170ed9d1.zip | |
Add `Clone` derive and edit trait types
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 | ||
