Trait forensic_rs::traits::vfs::VirtualFileSystem
source · pub trait VirtualFileSystem {
// Required methods
fn from_file(
&self,
file: Box<dyn VirtualFile>
) -> ForensicResult<Box<dyn VirtualFileSystem>>;
fn from_fs(
&self,
fs: Box<dyn VirtualFileSystem>
) -> ForensicResult<Box<dyn VirtualFileSystem>>;
fn read_to_string(&mut self, path: &Path) -> ForensicResult<String>;
fn read_all(&mut self, path: &Path) -> ForensicResult<Vec<u8>>;
fn read(
&mut self,
path: &Path,
pos: u64,
buf: &mut [u8]
) -> ForensicResult<usize>;
fn metadata(&mut self, path: &Path) -> ForensicResult<VMetadata>;
fn read_dir(&mut self, path: &Path) -> ForensicResult<Vec<VDirEntry>>;
fn is_live(&self) -> bool;
fn open(&mut self, path: &Path) -> ForensicResult<Box<dyn VirtualFile>>;
fn duplicate(&self) -> Box<dyn VirtualFileSystem>;
}Required Methods§
sourcefn from_file(
&self,
file: Box<dyn VirtualFile>
) -> ForensicResult<Box<dyn VirtualFileSystem>>
fn from_file( &self, file: Box<dyn VirtualFile> ) -> ForensicResult<Box<dyn VirtualFileSystem>>
Initializes a virtual filesystem from a file. Ex: a Zip FS from a file
sourcefn from_fs(
&self,
fs: Box<dyn VirtualFileSystem>
) -> ForensicResult<Box<dyn VirtualFileSystem>>
fn from_fs( &self, fs: Box<dyn VirtualFileSystem> ) -> ForensicResult<Box<dyn VirtualFileSystem>>
Initializes a virtual filesystem from a filesyste. Ex: a remapping of windows routes to Linux routes.
sourcefn read_to_string(&mut self, path: &Path) -> ForensicResult<String>
fn read_to_string(&mut self, path: &Path) -> ForensicResult<String>
Read the entire contents of a file into a string.
sourcefn read_all(&mut self, path: &Path) -> ForensicResult<Vec<u8>>
fn read_all(&mut self, path: &Path) -> ForensicResult<Vec<u8>>
Read the entire contents of a file into a bytes vector.
sourcefn read(
&mut self,
path: &Path,
pos: u64,
buf: &mut [u8]
) -> ForensicResult<usize>
fn read( &mut self, path: &Path, pos: u64, buf: &mut [u8] ) -> ForensicResult<usize>
Read part of the content of a file into a bytes vector.
sourcefn metadata(&mut self, path: &Path) -> ForensicResult<VMetadata>
fn metadata(&mut self, path: &Path) -> ForensicResult<VMetadata>
Get the metadata of a file/dir
sourcefn read_dir(&mut self, path: &Path) -> ForensicResult<Vec<VDirEntry>>
fn read_dir(&mut self, path: &Path) -> ForensicResult<Vec<VDirEntry>>
Lists the contents of a Directory
sourcefn is_live(&self) -> bool
fn is_live(&self) -> bool
Check if the VirtualFileSystem is an abstraction over the real filesystem and not a virtual (like a ZIP file).
sourcefn open(&mut self, path: &Path) -> ForensicResult<Box<dyn VirtualFile>>
fn open(&mut self, path: &Path) -> ForensicResult<Box<dyn VirtualFile>>
Open a file
sourcefn duplicate(&self) -> Box<dyn VirtualFileSystem>
fn duplicate(&self) -> Box<dyn VirtualFileSystem>
Allows duplicating the existing file system