diff options
| author | Igor Tolmachev <me@igorek.dev> | 2024-06-29 22:53:47 +0900 |
|---|---|---|
| committer | Igor Tolmachev <me@igorek.dev> | 2024-06-30 21:53:11 +0900 |
| commit | 6d5f8f046b3b24e50cb1a0e7751c6bc9170ed9d1 (patch) | |
| tree | 2ab77965a7c54b64e024a0fc3405b065ad54ea96 /src/driver | |
| parent | 51694e1f0b2730915e0a57ec6d8de503cf06ef9a (diff) | |
| download | archivator-6d5f8f046b3b24e50cb1a0e7751c6bc9170ed9d1.tar.gz archivator-6d5f8f046b3b24e50cb1a0e7751c6bc9170ed9d1.zip | |
Add `Clone` derive and edit trait types
Diffstat (limited to 'src/driver')
| -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 |
