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, 5 insertions, 37 deletions
diff --git a/src/archive.rs b/src/archive.rs
index 73c515c..d49689d 100644
--- a/src/archive.rs
+++ b/src/archive.rs
@@ -1,5 +1,5 @@
1use crate::driver::{ArchiveRead, ArchiveWrite, Driver}; 1use crate::driver::{ArchiveRead, ArchiveWrite, Driver};
2use crate::{ArchiveFile, ArchiveResult}; 2use crate::ArchiveResult;
3use std::fs::File; 3use std::fs::File;
4use std::io::{Read, Write}; 4use std::io::{Read, Write};
5use std::path::Path; 5use std::path::Path;
@@ -48,51 +48,19 @@ where
48 self.get_file_info_by_index(self.get_file_index(name)?) 48 self.get_file_info_by_index(self.get_file_index(name)?)
49 } 49 }
50 50
51 fn get_file_reader_by_index_with_optional_password<'d>(
52 &'d mut self,
53 index: usize,
54 password: Option<&str>,
55 ) -> ArchiveResult<ArchiveFile<D::FileReader<'d>>, D::Error> {
56 Ok(ArchiveFile::new(
57 self.driver.get_file_reader(index, password)?,
58 ))
59 }
60
61 #[inline]
62 pub fn get_file_reader_by_index<'d>( 51 pub fn get_file_reader_by_index<'d>(
63 &'d mut self, 52 &'d mut self,
64 index: usize, 53 index: usize,
65 ) -> ArchiveResult<ArchiveFile<D::FileReader<'d>>, D::Error> { 54 ) -> ArchiveResult<D::FileReader<'d>, D::Error> {
66 self.get_file_reader_by_index_with_optional_password(index, None) 55 self.driver.get_file_reader(index)
67 }
68
69 #[inline]
70 pub fn get_file_reader_by_index_with_password<'d>(
71 &'d mut self,
72 index: usize,
73 password: &str,
74 ) -> ArchiveResult<ArchiveFile<D::FileReader<'d>>, D::Error> {
75 self.get_file_reader_by_index_with_optional_password(index, Some(password))
76 } 56 }
77 57
78 #[inline] 58 #[inline]
79 pub fn get_file_reader_by_name<'d>( 59 pub fn get_file_reader_by_name<'d>(
80 &'d mut self, 60 &'d mut self,
81 name: &str, 61 name: &str,
82 ) -> ArchiveResult<ArchiveFile<D::FileReader<'d>>, D::Error> { 62 ) -> ArchiveResult<D::FileReader<'d>, D::Error> {
83 self.get_file_reader_by_index_with_optional_password(self.get_file_index(name)?, None) 63 self.get_file_reader_by_index(self.get_file_index(name)?)
84 }
85
86 #[inline]
87 pub fn get_file_reader_by_name_with_password<'d>(
88 &'d mut self,
89 name: &str,
90 password: &str,
91 ) -> ArchiveResult<ArchiveFile<D::FileReader<'d>>, D::Error> {
92 self.get_file_reader_by_index_with_optional_password(
93 self.get_file_index(name)?,
94 Some(password),
95 )
96 } 64 }
97} 65}
98 66