aboutsummaryrefslogtreecommitdiff
path: root/src/archive.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/archive.rs')
-rw-r--r--src/archive.rs18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/archive.rs b/src/archive.rs
index d49689d..d03f143 100644
--- a/src/archive.rs
+++ b/src/archive.rs
@@ -1,7 +1,6 @@
1use crate::driver::{ArchiveRead, ArchiveWrite, Driver}; 1use crate::driver::{ArchiveRead, ArchiveWrite, Driver};
2use crate::ArchiveResult;
3use std::fs::File; 2use std::fs::File;
4use std::io::{Read, Write}; 3use std::io::{Error as IoError, Read, Write};
5use std::path::Path; 4use std::path::Path;
6 5
7pub struct Archive<D: Driver> { 6pub struct Archive<D: Driver> {
@@ -12,16 +11,17 @@ impl<D: ArchiveRead> Archive<D>
12where 11where
13 D::Io: std::io::Read, 12 D::Io: std::io::Read,
14{ 13{
15 pub fn read(io: D::Io) -> ArchiveResult<Self, D::Error> { 14 pub fn read(io: D::Io) -> Result<Self, D::Error> {
16 Ok(Self { 15 Ok(Self {
17 driver: D::read(io)?, 16 driver: D::read(io)?,
18 }) 17 })
19 } 18 }
20 19
21 #[inline] 20 #[inline]
22 pub fn read_from_file(path: impl AsRef<Path>) -> ArchiveResult<Self, D::Error> 21 pub fn read_from_file(path: impl AsRef<Path>) -> Result<Self, D::Error>
23 where 22 where
24 D: ArchiveRead<Io = File>, 23 D: ArchiveRead<Io = File>,
24 D::Error: From<IoError>,
25 { 25 {
26 Self::read(File::open(path)?) 26 Self::read(File::open(path)?)
27 } 27 }
@@ -35,23 +35,23 @@ where
35 self.files().len() 35 self.files().len()
36 } 36 }
37 37
38 pub fn get_file_index(&self, name: &str) -> ArchiveResult<usize, D::Error> { 38 pub fn get_file_index(&self, name: &str) -> Result<usize, D::Error> {
39 self.driver.get_file_index(name) 39 self.driver.get_file_index(name)
40 } 40 }
41 41
42 pub fn get_file_info_by_index(&self, index: usize) -> ArchiveResult<&D::FileInfo, D::Error> { 42 pub fn get_file_info_by_index(&self, index: usize) -> Result<&D::FileInfo, D::Error> {
43 self.driver.get_file_info(index) 43 self.driver.get_file_info(index)
44 } 44 }
45 45
46 #[inline] 46 #[inline]
47 pub fn get_file_info_by_name(&self, name: &str) -> ArchiveResult<&D::FileInfo, D::Error> { 47 pub fn get_file_info_by_name(&self, name: &str) -> Result<&D::FileInfo, D::Error> {
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 pub fn get_file_reader_by_index<'d>( 51 pub fn get_file_reader_by_index<'d>(
52 &'d mut self, 52 &'d mut self,
53 index: usize, 53 index: usize,
54 ) -> ArchiveResult<D::FileReader<'d>, D::Error> { 54 ) -> Result<D::FileReader<'d>, D::Error> {
55 self.driver.get_file_reader(index) 55 self.driver.get_file_reader(index)
56 } 56 }
57 57
@@ -59,7 +59,7 @@ where
59 pub fn get_file_reader_by_name<'d>( 59 pub fn get_file_reader_by_name<'d>(
60 &'d mut self, 60 &'d mut self,
61 name: &str, 61 name: &str,
62 ) -> ArchiveResult<D::FileReader<'d>, D::Error> { 62 ) -> Result<D::FileReader<'d>, D::Error> {
63 self.get_file_reader_by_index(self.get_file_index(name)?) 63 self.get_file_reader_by_index(self.get_file_index(name)?)
64 } 64 }
65} 65}