Trait dav_server::fs::DavFileSystem[][src]

pub trait DavFileSystem: Sync + Send + BoxCloneFs {
Show 14 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>>; 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

Open a file.

Perform read_dir.

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.

Create a directory.

The default implementation returns FsError::NotImplemented.

Remove a directory.

The default implementation returns FsError::NotImplemented.

Remove a file.

The default implementation returns FsError::NotImplemented.

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.

Copy a file

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

The default implementation returns FsError::NotImplemented.

Indicator that tells if this filesystem driver supports DAV properties.

The default implementation returns false.

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

The default implementation returns FsError::NotImplemented.

List/get the DAV properties of a node.

The default implementation returns FsError::NotImplemented.

Get one specific named property of a node.

The default implementation returns FsError::NotImplemented.

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