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>ⓘ;
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.
