diff options
Diffstat (limited to 'src/archive.rs')
| -rw-r--r-- | src/archive.rs | 42 |
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 @@ | |||
| 1 | use crate::io::{ArchiveRead, ArchiveWrite}; | ||
| 2 | use crate::result::ArchiveResult; | ||
| 3 | use std::fs::File; | ||
| 4 | use std::path::Path; | ||
| 5 | |||
| 6 | pub struct Archive<IO> { | ||
| 7 | pub io: IO, | ||
| 8 | } | ||
| 9 | |||
| 10 | impl<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 | |||
| 25 | impl<IO: ArchiveRead> Archive<IO> {} | ||
| 26 | |||
| 27 | impl<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 | |||
| 42 | impl<IO: ArchiveWrite> Archive<IO> {} | ||
