aboutsummaryrefslogtreecommitdiff
path: root/src/io.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/io.rs')
-rw-r--r--src/io.rs14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/io.rs b/src/io.rs
index df81ce0..43cf1a4 100644
--- a/src/io.rs
+++ b/src/io.rs
@@ -2,10 +2,7 @@ use crate::file::{ArchiveFileRead, ArchiveFileWrite};
2use crate::result::ArchiveResult; 2use crate::result::ArchiveResult;
3use std::io::{Read, Write}; 3use std::io::{Read, Write};
4 4
5pub trait ArchiveRead 5pub trait ArchiveRead: Sized {
6where
7 Self: Sized,
8{
9 type Reader: Read; 6 type Reader: Read;
10 type FileInfo; 7 type FileInfo;
11 type FileReader: ArchiveFileRead<Info = Self::FileInfo>; 8 type FileReader: ArchiveFileRead<Info = Self::FileInfo>;
@@ -14,18 +11,15 @@ where
14 11
15 fn files(&self) -> ArchiveResult<Vec<Self::FileInfo>>; 12 fn files(&self) -> ArchiveResult<Vec<Self::FileInfo>>;
16 13
17 fn file_reader(&self, name: &str) -> ArchiveResult<Self::FileReader>; 14 fn open_file(&self, name: &str) -> ArchiveResult<Self::FileReader>;
18} 15}
19 16
20pub trait ArchiveWrite 17pub trait ArchiveWrite: Sized {
21where
22 Self: Sized,
23{
24 type Writer: Write; 18 type Writer: Write;
25 type FileInfo; 19 type FileInfo;
26 type FileWriter: ArchiveFileWrite<Info = Self::FileInfo>; 20 type FileWriter: ArchiveFileWrite<Info = Self::FileInfo>;
27 21
28 fn new(write: Self::Writer) -> ArchiveResult<Self>; 22 fn new(write: Self::Writer) -> ArchiveResult<Self>;
29 23
30 fn file_writer(&self, name: &str) -> ArchiveResult<Self::FileWriter>; 24 fn create_file(&self, name: &str) -> ArchiveResult<Self::FileWriter>;
31} 25}