diff options
Diffstat (limited to 'src/driver/driver.rs')
| -rw-r--r-- | src/driver/driver.rs | 15 |
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 | ||
| 34 | pub trait ArchiveWrite: Driver | 37 | pub trait ArchiveWrite: Driver |
