From 6d5f8f046b3b24e50cb1a0e7751c6bc9170ed9d1 Mon Sep 17 00:00:00 2001 From: Igor Tolmachev Date: Sat, 29 Jun 2024 22:53:47 +0900 Subject: Add `Clone` derive and edit trait types --- src/driver/driver.rs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'src/driver/driver.rs') 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 // Create driver instance fn read(io: Self::Io) -> ArchiveResult; - // Return vec of files (sorted by name) - fn files(&self) -> Vec<&Self::FileInfo>; + // Return vec of file info + fn files(&self) -> &Vec; - // Return file info by name - fn get_file_info(&self, name: &str) -> Option<&Self::FileInfo>; + // Return file info by index + fn get_file_info(&self, index: usize) -> ArchiveResult<&Self::FileInfo, Self::Error>; - // Return file reader by name - fn get_file_reader<'d>(&'d mut self, name: &str) -> Option>; + // Return file reader by index + fn get_file_reader<'d>( + &'d mut self, + index: usize, + ) -> ArchiveResult, Self::Error>; } pub trait ArchiveWrite: Driver -- cgit v1.2.3