Directory

Trait Directory 

Source
pub trait Directory: Send + Sync {
    // Required methods
    fn open_read(&self, path: &Path) -> Result<Box<dyn FileRead>, Error>;
    fn open_write(&self, path: &Path) -> Result<Box<dyn FileWrite>, Error>;
    fn open_create(&self, path: &Path) -> Result<Box<dyn FileWrite>, Error>;
    fn list(
        &self,
        prefix: Option<&Path>,
    ) -> Result<Vec<Box<dyn FileStat>>, Error>;
    fn stat(&self, path: &Path) -> Result<Box<dyn FileStat>, Error>;
    fn exists(&self, path: &Path) -> bool;
    fn delete(&self, path: &Path) -> Result<(), Error>;
    fn clone(&self) -> DynDirectory;
    fn as_os_path(&self) -> Result<PathBuf, Error>;

    // Provided methods
    fn scope(&self, path: PathBuf) -> DynDirectory { ... }
    fn copy_to(&self, to: DynDirectory) -> Result<(), Error> { ... }
}

Required Methods§

Source

fn open_read(&self, path: &Path) -> Result<Box<dyn FileRead>, Error>

Source

fn open_write(&self, path: &Path) -> Result<Box<dyn FileWrite>, Error>

Source

fn open_create(&self, path: &Path) -> Result<Box<dyn FileWrite>, Error>

Source

fn list(&self, prefix: Option<&Path>) -> Result<Vec<Box<dyn FileStat>>, Error>

Source

fn stat(&self, path: &Path) -> Result<Box<dyn FileStat>, Error>

Source

fn exists(&self, path: &Path) -> bool

Source

fn delete(&self, path: &Path) -> Result<(), Error>

Source

fn clone(&self) -> DynDirectory

Source

fn as_os_path(&self) -> Result<PathBuf, Error>

Provided Methods§

Source

fn scope(&self, path: PathBuf) -> DynDirectory

Source

fn copy_to(&self, to: DynDirectory) -> Result<(), Error>

Implementors§