From f02a44964a2fdb91d62dee9c55f6d03648f985cb Mon Sep 17 00:00:00 2001 From: Igor Tolmachov Date: Tue, 29 Aug 2023 20:24:44 +0900 Subject: Add zip stubs --- src/zip/io.rs | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 src/zip/io.rs (limited to 'src/zip/io.rs') diff --git a/src/zip/io.rs b/src/zip/io.rs new file mode 100644 index 0000000..b79ad0d --- /dev/null +++ b/src/zip/io.rs @@ -0,0 +1,50 @@ +use super::file::{FileInfo, FileReader, FileWriter}; +use crate::io::{ArchiveRead, ArchiveWrite}; +use crate::result::ArchiveResult; +use std::fs::File; +use std::io::Read; +use std::io::{Seek, Write}; + +pub struct Reader { + reader: R, +} + +impl ArchiveRead for Reader { + type Reader = R; + type FileInfo = FileInfo; + type FileReader = FileReader; + + fn new(reader: Self::Reader) -> ArchiveResult { + Ok(Self { reader }) + } + + fn files(&self) -> ArchiveResult> { + Ok(Vec::new()) + } + + fn file_reader(&self, name: &str) -> ArchiveResult { + Ok(Self::FileReader {}) + } +} + +impl Reader {} + +pub struct Writer { + writer: W, +} + +impl ArchiveWrite for Writer { + type Writer = W; + type FileInfo = FileInfo; + type FileWriter = FileWriter; + + fn new(writer: Self::Writer) -> ArchiveResult { + Ok(Self { writer }) + } + + fn file_writer(&self, name: &str) -> ArchiveResult { + Ok(Self::FileWriter {}) + } +} + +impl Writer {} -- cgit v1.2.3