aboutsummaryrefslogtreecommitdiff
path: root/src/archive.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/archive.rs')
-rw-r--r--src/archive.rs36
1 files changed, 34 insertions, 2 deletions
diff --git a/src/archive.rs b/src/archive.rs
index e17db80..73c515c 100644
--- a/src/archive.rs
+++ b/src/archive.rs
@@ -48,11 +48,31 @@ 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]
51 pub fn get_file_reader_by_index<'d>( 62 pub fn get_file_reader_by_index<'d>(
52 &'d mut self, 63 &'d mut self,
53 index: usize, 64 index: usize,
54 ) -> ArchiveResult<ArchiveFile<D::FileReader<'d>>, D::Error> { 65 ) -> ArchiveResult<ArchiveFile<D::FileReader<'d>>, D::Error> {
55 Ok(ArchiveFile::new(self.driver.get_file_reader(index)?)) 66 self.get_file_reader_by_index_with_optional_password(index, None)
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))
56 } 76 }
57 77
58 #[inline] 78 #[inline]
@@ -60,7 +80,19 @@ where
60 &'d mut self, 80 &'d mut self,
61 name: &str, 81 name: &str,
62 ) -> ArchiveResult<ArchiveFile<D::FileReader<'d>>, D::Error> { 82 ) -> ArchiveResult<ArchiveFile<D::FileReader<'d>>, D::Error> {
63 self.get_file_reader_by_index(self.get_file_index(name)?) 83 self.get_file_reader_by_index_with_optional_password(self.get_file_index(name)?, None)
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 )
64 } 96 }
65} 97}
66 98