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> ; 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)

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more

Implementors§