Trait dav_server::ls::DavLockSystem[][src]

pub trait DavLockSystem: Debug + Sync + Send + BoxCloneLs {
    fn lock(
        &self,
        path: &DavPath,
        principal: Option<&str>,
        owner: Option<&Element>,
        timeout: Option<Duration>,
        shared: bool,
        deep: bool
    ) -> Result<DavLock, DavLock>;
fn unlock(&self, path: &DavPath, token: &str) -> Result<(), ()>;
fn refresh(
        &self,
        path: &DavPath,
        token: &str,
        timeout: Option<Duration>
    ) -> Result<DavLock, ()>;
fn check(
        &self,
        path: &DavPath,
        principal: Option<&str>,
        ignore_principal: bool,
        deep: bool,
        submitted_tokens: Vec<&str>
    ) -> Result<(), DavLock>;
fn discover(&self, path: &DavPath) -> Vec<DavLock>
Notable traits for Vec<u8, A>
impl<A> Write for Vec<u8, A> where
    A: Allocator
;
fn delete(&self, path: &DavPath) -> Result<(), ()>; }
Expand description

The trait that defines a locksystem.

Required methods

Lock a node. Returns Ok(new_lock) if succeeded, or Err(conflicting_lock) if failed.

Unlock a node. Returns Ok(()) if succeeded, Err (()) if failed (because lock doesn’t exist)

Refresh lock. Returns updated lock if succeeded.

Check if node is locked and if so, if we own all the locks. If not, returns as Err one conflicting lock.

Find and return all locks that cover a given path.

Delete all locks at this path and below (after MOVE or DELETE)

Implementors