diff options
| author | Igor Tolmachev <me@igorek.dev> | 2024-07-14 17:15:24 +0900 |
|---|---|---|
| committer | Igor Tolmachev <me@igorek.dev> | 2024-07-14 17:15:24 +0900 |
| commit | d515e20a26cc959db912504706189ad1cce9dbfa (patch) | |
| tree | 9abaab23fc8e90e335f3f44d20f60bc2d0f28926 /src/driver | |
| parent | 75f4a84e977a1f409e6580056dc31343e15bbf3e (diff) | |
| download | archivator-d515e20a26cc959db912504706189ad1cce9dbfa.tar.gz archivator-d515e20a26cc959db912504706189ad1cce9dbfa.zip | |
Add file indexation
Diffstat (limited to 'src/driver')
| -rw-r--r-- | src/driver/driver.rs | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/driver/driver.rs b/src/driver/driver.rs index f7f1f24..747345c 100644 --- a/src/driver/driver.rs +++ b/src/driver/driver.rs | |||
| @@ -21,16 +21,19 @@ where | |||
| 21 | // Create driver instance | 21 | // Create driver instance |
| 22 | fn read(io: Self::Io) -> ArchiveResult<Self, Self::Error>; | 22 | fn read(io: Self::Io) -> ArchiveResult<Self, Self::Error>; |
| 23 | 23 | ||
| 24 | // Return vec of file info | 24 | // Return vec of file infos |
| 25 | fn files(&self) -> Vec<&Self::FileInfo>; | 25 | fn files(&self) -> &Vec<Self::FileInfo>; |
| 26 | |||
| 27 | // Return file index by name | ||
| 28 | fn get_file_index(&self, name: &str) -> ArchiveResult<usize, Self::Error>; | ||
| 26 | 29 | ||
| 27 | // Return file info by index | 30 | // Return file info by index |
| 28 | fn get_file_info(&self, name: &str) -> ArchiveResult<&Self::FileInfo, Self::Error>; | 31 | fn get_file_info(&self, index: usize) -> ArchiveResult<&Self::FileInfo, Self::Error>; |
| 29 | 32 | ||
| 30 | // Return file reader by index | 33 | // Return file reader by index |
| 31 | fn get_file_reader<'d>( | 34 | fn get_file_reader<'d>( |
| 32 | &'d mut self, | 35 | &'d mut self, |
| 33 | name: &str, | 36 | index: usize, |
| 34 | ) -> ArchiveResult<Self::FileReader<'d>, Self::Error>; | 37 | ) -> ArchiveResult<Self::FileReader<'d>, Self::Error>; |
| 35 | } | 38 | } |
| 36 | 39 | ||
