pub trait FileAbstraction: Debug {
fn remove_file(&self, path: &PathBuf) -> Result<()>;
fn copy(&self, from: &PathBuf, to: &PathBuf) -> Result<()>;
fn rename(&self, from: &PathBuf, to: &PathBuf) -> Result<()>;
fn create_dir_all(&self, _: &PathBuf) -> Result<()>;
fn exists(&self, _: &PathBuf) -> Result<bool>;
fn is_file(&self, _: &PathBuf) -> Result<bool>;
fn new_instance(&self, p: PathBuf) -> Box<dyn FileAbstractionInstance>;
fn drain(&self) -> Result<Drain>;
fn fill<'a>(&'a mut self, d: Drain) -> Result<()>;
fn pathes_recursively(
&self,
basepath: PathBuf,
storepath: PathBuf,
backend: Arc<dyn FileAbstraction>
) -> Result<PathIterator>;
}
Expand description
An abstraction trait over filesystem actions