diff options
| author | Igor Tolmachov <me@igorek.dev> | 2023-08-29 20:24:44 +0900 |
|---|---|---|
| committer | Igor Tolmachev <me@igorek.dev> | 2024-06-23 15:34:33 +0900 |
| commit | f02a44964a2fdb91d62dee9c55f6d03648f985cb (patch) | |
| tree | 4e1e91ab8cc19a9a9f2dfdd03c0ecbc2b6da2a14 /src/io.rs | |
| parent | d8be93a740e8cc8103c4f9e260a62244eba1a6a4 (diff) | |
| download | archivator-f02a44964a2fdb91d62dee9c55f6d03648f985cb.tar.gz archivator-f02a44964a2fdb91d62dee9c55f6d03648f985cb.zip | |
Add zip stubs
Diffstat (limited to 'src/io.rs')
| -rw-r--r-- | src/io.rs | 16 |
1 files changed, 13 insertions, 3 deletions
| @@ -1,14 +1,20 @@ | |||
| 1 | use std::io::{Read, Seek, Write}; | 1 | use crate::file::{ArchiveFileRead, ArchiveFileWrite}; |
| 2 | |||
| 3 | use crate::result::ArchiveResult; | 2 | use crate::result::ArchiveResult; |
| 3 | use std::io::{Read, Write}; | ||
| 4 | 4 | ||
| 5 | pub trait ArchiveRead | 5 | pub trait ArchiveRead |
| 6 | where | 6 | where |
| 7 | Self: Sized, | 7 | Self: Sized, |
| 8 | { | 8 | { |
| 9 | type Reader: Read + Seek; | 9 | type Reader: Read; |
| 10 | type FileInfo; | ||
| 11 | type FileReader: ArchiveFileRead<Info = Self::FileInfo>; | ||
| 10 | 12 | ||
| 11 | fn new(reader: Self::Reader) -> ArchiveResult<Self>; | 13 | fn new(reader: Self::Reader) -> ArchiveResult<Self>; |
| 14 | |||
| 15 | fn files(&self) -> ArchiveResult<Vec<Self::FileInfo>>; | ||
| 16 | |||
| 17 | fn file_reader(&self, name: &str) -> ArchiveResult<Self::FileReader>; | ||
| 12 | } | 18 | } |
| 13 | 19 | ||
| 14 | pub trait ArchiveWrite | 20 | pub trait ArchiveWrite |
| @@ -16,6 +22,10 @@ where | |||
| 16 | Self: Sized, | 22 | Self: Sized, |
| 17 | { | 23 | { |
| 18 | type Writer: Write; | 24 | type Writer: Write; |
| 25 | type FileInfo; | ||
| 26 | type FileWriter: ArchiveFileWrite<Info = Self::FileInfo>; | ||
| 19 | 27 | ||
| 20 | fn new(write: Self::Writer) -> ArchiveResult<Self>; | 28 | fn new(write: Self::Writer) -> ArchiveResult<Self>; |
| 29 | |||
| 30 | fn file_writer(&self, name: &str) -> ArchiveResult<Self::FileWriter>; | ||
| 21 | } | 31 | } |
