Trait DavFileSystem

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

File system without access control.

Required Methods§

Source

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

Open a file.

Source

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

Lists entries within a directory.

Source

fn metadata<'a>( &'a self, path: &'a DavPath, ) -> FsFuture<'a, 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<'a, ()>

Create a directory.

The default implementation returns FsError::NotImplemented.

Source

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

Remove a directory.

The default implementation returns FsError::NotImplemented.

Source

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

Remove a file.

The default implementation returns FsError::NotImplemented.

Source

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

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<'a, ()>

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<'a, 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<'a, 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<'a, Vec<u8>>

Get one specific named property of a node.

The default implementation returns FsError::NotImplemented.

Source

fn get_quota(&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.

Implementors§

Source§

impl DavFileSystem for LocalFs

Available on crate feature localfs only.
Source§

impl DavFileSystem for MemFs

Available on crate feature memfs only.