Trait DavFileSystem

Source
pub trait DavFileSystem:
    Sync
    + Send
    + BoxCloneFs {
Show 14 methods // Required methods fn open<'a>( &'a self, path: &'a DavPath, options: OpenOptions, ) -> FsFuture<'_, Box<dyn DavFile>>; fn read_dir<'a>( &'a self, path: &'a DavPath, meta: ReadDirMeta, ) -> FsFuture<'_, FsStream<Box<dyn DavDirEntry>>>; fn metadata<'a>( &'a self, path: &'a DavPath, ) -> FsFuture<'_, Box<dyn DavMetaData>>; // Provided methods fn symlink_metadata<'a>( &'a self, path: &'a DavPath, ) -> FsFuture<'_, Box<dyn DavMetaData>> { ... } fn create_dir<'a>(&'a self, path: &'a DavPath) -> FsFuture<'_, ()> { ... } fn remove_dir<'a>(&'a self, path: &'a DavPath) -> FsFuture<'_, ()> { ... } fn remove_file<'a>(&'a self, path: &'a DavPath) -> FsFuture<'_, ()> { ... } fn rename<'a>( &'a self, from: &'a DavPath, to: &'a DavPath, ) -> FsFuture<'_, ()> { ... } fn copy<'a>( &'a self, from: &'a DavPath, to: &'a DavPath, ) -> FsFuture<'_, ()> { ... } fn have_props<'a>( &'a self, path: &'a DavPath, ) -> Pin<Box<dyn Future<Output = bool> + Send + 'a>> { ... } fn patch_props<'a>( &'a self, path: &'a DavPath, patch: Vec<(bool, DavProp)>, ) -> FsFuture<'_, Vec<(StatusCode, DavProp)>> { ... } fn get_props<'a>( &'a self, path: &'a DavPath, do_content: bool, ) -> FsFuture<'_, Vec<DavProp>> { ... } fn get_prop<'a>( &'a self, path: &'a DavPath, prop: DavProp, ) -> FsFuture<'_, Vec<u8>> { ... } fn get_quota<'a>(&'a self) -> FsFuture<'_, (u64, Option<u64>)> { ... }
}
Expand description

The trait that defines a filesystem.

Required Methods§

Source

fn open<'a>( &'a self, path: &'a DavPath, options: OpenOptions, ) -> FsFuture<'_, Box<dyn DavFile>>

Open a file.

Source

fn read_dir<'a>( &'a self, path: &'a DavPath, meta: ReadDirMeta, ) -> FsFuture<'_, FsStream<Box<dyn DavDirEntry>>>

Perform read_dir.

Source

fn metadata<'a>( &'a self, path: &'a DavPath, ) -> FsFuture<'_, Box<dyn DavMetaData>>

Return the metadata of a file or directory.

Provided Methods§

Return the metadata of a file, directory or symbolic link.

Differs from metadata() that if the path is a symbolic link, it return the metadata for the link itself, not for the thing it points to.

The default implementation returns FsError::NotImplemented.

Source

fn create_dir<'a>(&'a self, path: &'a DavPath) -> FsFuture<'_, ()>

Create a directory.

The default implementation returns FsError::NotImplemented.

Source

fn remove_dir<'a>(&'a self, path: &'a DavPath) -> FsFuture<'_, ()>

Remove a directory.

The default implementation returns FsError::NotImplemented.

Source

fn remove_file<'a>(&'a self, path: &'a DavPath) -> FsFuture<'_, ()>

Remove a file.

The default implementation returns FsError::NotImplemented.

Source

fn rename<'a>(&'a self, from: &'a DavPath, to: &'a DavPath) -> FsFuture<'_, ()>

Rename a file or directory.

Source and destination must be the same type (file/dir). If the destination already exists and is a file, it should be replaced. If it is a directory it should give an error.

The default implementation returns FsError::NotImplemented.

Source

fn copy<'a>(&'a self, from: &'a DavPath, to: &'a DavPath) -> FsFuture<'_, ()>

Copy a file

Should also copy the DAV properties, if properties are implemented.

The default implementation returns FsError::NotImplemented.

Source

fn have_props<'a>( &'a self, path: &'a DavPath, ) -> Pin<Box<dyn Future<Output = bool> + Send + 'a>>

Indicator that tells if this filesystem driver supports DAV properties.

The default implementation returns false.

Source

fn patch_props<'a>( &'a self, path: &'a DavPath, patch: Vec<(bool, DavProp)>, ) -> FsFuture<'_, Vec<(StatusCode, DavProp)>>

Patch the DAV properties of a node (add/remove props)

The default implementation returns FsError::NotImplemented.

Source

fn get_props<'a>( &'a self, path: &'a DavPath, do_content: bool, ) -> FsFuture<'_, Vec<DavProp>>

List/get the DAV properties of a node.

The default implementation returns FsError::NotImplemented.

Source

fn get_prop<'a>( &'a self, path: &'a DavPath, prop: DavProp, ) -> FsFuture<'_, Vec<u8>>

Get one specific named property of a node.

The default implementation returns FsError::NotImplemented.

Source

fn get_quota<'a>(&'a self) -> FsFuture<'_, (u64, Option<u64>)>

Get quota of this filesystem (used/total space).

The first value returned is the amount of space used, the second optional value is the total amount of space (used + available).

The default implementation returns FsError::NotImplemented.

Trait Implementations§

Source§

impl Clone for Box<dyn DavFileSystem>

Source§

fn clone(&self) -> Box<dyn DavFileSystem>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Implementors§