aboutsummaryrefslogtreecommitdiff
path: root/src/driver/driver.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/driver/driver.rs')
-rw-r--r--src/driver/driver.rs15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/driver/driver.rs b/src/driver/driver.rs
index 5bd2319..4c6baad 100644
--- a/src/driver/driver.rs
+++ b/src/driver/driver.rs
@@ -21,14 +21,17 @@ 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 files (sorted by name) 24 // Return vec of file info
25 fn files(&self) -> Vec<&Self::FileInfo>; 25 fn files(&self) -> &Vec<Self::FileInfo>;
26 26
27 // Return file info by name 27 // Return file info by index
28 fn get_file_info(&self, name: &str) -> Option<&Self::FileInfo>; 28 fn get_file_info(&self, index: usize) -> ArchiveResult<&Self::FileInfo, Self::Error>;
29 29
30 // Return file reader by name 30 // Return file reader by index
31 fn get_file_reader<'d>(&'d mut self, name: &str) -> Option<Self::FileDriver<'d>>; 31 fn get_file_reader<'d>(
32 &'d mut self,
33 index: usize,
34 ) -> ArchiveResult<Self::FileDriver<'d>, Self::Error>;
32} 35}
33 36
34pub trait ArchiveWrite: Driver 37pub trait ArchiveWrite: Driver