aboutsummaryrefslogtreecommitdiff
path: root/src/io.rs
diff options
context:
space:
mode:
authorIgor Tolmachev <me@igorek.dev>2024-06-10 23:38:08 +0900
committerIgor Tolmachev <me@igorek.dev>2024-06-23 15:34:34 +0900
commitbd77f62e99a5300dfa52aef3a7040414b28ebfd6 (patch)
tree4965b7fc0392264f9a8c44c00ed254019747b4b5 /src/io.rs
parent9003b81813ff171edfc6101868c226c5c7d1957c (diff)
downloadarchivator-bd77f62e99a5300dfa52aef3a7040414b28ebfd6.tar.gz
archivator-bd77f62e99a5300dfa52aef3a7040414b28ebfd6.zip
Reset branch
Diffstat (limited to 'src/io.rs')
-rw-r--r--src/io.rs25
1 files changed, 0 insertions, 25 deletions
diff --git a/src/io.rs b/src/io.rs
deleted file mode 100644
index 43cf1a4..0000000
--- a/src/io.rs
+++ /dev/null
@@ -1,25 +0,0 @@
1use crate::file::{ArchiveFileRead, ArchiveFileWrite};
2use crate::result::ArchiveResult;
3use std::io::{Read, Write};
4
5pub trait ArchiveRead: Sized {
6 type Reader: Read;
7 type FileInfo;
8 type FileReader: ArchiveFileRead<Info = Self::FileInfo>;
9
10 fn new(reader: Self::Reader) -> ArchiveResult<Self>;
11
12 fn files(&self) -> ArchiveResult<Vec<Self::FileInfo>>;
13
14 fn open_file(&self, name: &str) -> ArchiveResult<Self::FileReader>;
15}
16
17pub trait ArchiveWrite: Sized {
18 type Writer: Write;
19 type FileInfo;
20 type FileWriter: ArchiveFileWrite<Info = Self::FileInfo>;
21
22 fn new(write: Self::Writer) -> ArchiveResult<Self>;
23
24 fn create_file(&self, name: &str) -> ArchiveResult<Self::FileWriter>;
25}