Skip to main content

DavFileSystem

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.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl DavFileSystem for LocalFs

Available on crate feature localfs only.
Source§

impl DavFileSystem for MemFs

Available on crate feature memfs only.