aboutsummaryrefslogtreecommitdiff
path: root/src/driver/driver.rs
diff options
context:
space:
mode:
authorIgor Tolmachev <me@igorek.dev>2024-07-14 17:15:24 +0900
committerIgor Tolmachev <me@igorek.dev>2024-07-14 17:15:24 +0900
commitd515e20a26cc959db912504706189ad1cce9dbfa (patch)
tree9abaab23fc8e90e335f3f44d20f60bc2d0f28926 /src/driver/driver.rs
parent75f4a84e977a1f409e6580056dc31343e15bbf3e (diff)
downloadarchivator-d515e20a26cc959db912504706189ad1cce9dbfa.tar.gz
archivator-d515e20a26cc959db912504706189ad1cce9dbfa.zip
Add file indexation
Diffstat (limited to 'src/driver/driver.rs')
-rw-r--r--src/driver/driver.rs11
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