aboutsummaryrefslogtreecommitdiff
path: root/src/archive.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/archive.rs')
-rw-r--r--src/archive.rs42
1 files changed, 0 insertions, 42 deletions
diff --git a/src/archive.rs b/src/archive.rs
deleted file mode 100644
index ef74de9..0000000
--- a/src/archive.rs
+++ /dev/null
@@ -1,42 +0,0 @@
1use crate::io::{ArchiveRead, ArchiveWrite};
2use crate::result::ArchiveResult;
3use std::fs::File;
4use std::path::Path;
5
6pub struct Archive<IO> {
7 pub io: IO,
8}
9
10impl<IO: ArchiveRead> Archive<IO> {
11 pub fn file_reader(path: impl AsRef<Path>) -> ArchiveResult<Self>
12 where
13 IO: ArchiveRead<Reader = File>,
14 {
15 Self::reader(File::open(path)?)
16 }
17
18 pub fn reader(reader: IO::Reader) -> ArchiveResult<Self> {
19 Ok(Self {
20 io: IO::new(reader)?,
21 })
22 }
23}
24
25impl<IO: ArchiveRead> Archive<IO> {}
26
27impl<IO: ArchiveWrite> Archive<IO> {
28 pub fn file_writer(path: impl AsRef<Path>) -> ArchiveResult<Self>
29 where
30 IO: ArchiveWrite<Writer = File>,
31 {
32 Self::writer(File::create(path)?)
33 }
34
35 pub fn writer(writer: IO::Writer) -> ArchiveResult<Self> {
36 Ok(Self {
37 io: IO::new(writer)?,
38 })
39 }
40}
41
42impl<IO: ArchiveWrite> Archive<IO> {}