aboutsummaryrefslogtreecommitdiff
path: root/src/driver
diff options
context:
space:
mode:
authorIgor Tolmachev <me@igorek.dev>2024-06-29 22:53:47 +0900
committerIgor Tolmachev <me@igorek.dev>2024-06-30 21:53:11 +0900
commit6d5f8f046b3b24e50cb1a0e7751c6bc9170ed9d1 (patch)
tree2ab77965a7c54b64e024a0fc3405b065ad54ea96 /src/driver
parent51694e1f0b2730915e0a57ec6d8de503cf06ef9a (diff)
downloadarchivator-6d5f8f046b3b24e50cb1a0e7751c6bc9170ed9d1.tar.gz
archivator-6d5f8f046b3b24e50cb1a0e7751c6bc9170ed9d1.zip
Add `Clone` derive and edit trait types
Diffstat (limited to 'src/driver')
-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