Trait dav_server::ls::DavLockSystem
source · 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§
sourcefn lock(
&self,
path: &DavPath,
principal: Option<&str>,
owner: Option<&Element>,
timeout: Option<Duration>,
shared: bool,
deep: bool
) -> Result<DavLock, DavLock>
fn lock(
&self,
path: &DavPath,
principal: Option<&str>,
owner: Option<&Element>,
timeout: Option<Duration>,
shared: bool,
deep: bool
) -> Result<DavLock, DavLock>
Lock a node. Returns Ok(new_lock) if succeeded,
or Err(conflicting_lock) if failed.
sourcefn unlock(&self, path: &DavPath, token: &str) -> Result<(), ()>
fn unlock(&self, path: &DavPath, token: &str) -> Result<(), ()>
Unlock a node. Returns Ok(()) if succeeded, Err (()) if failed
(because lock doesn’t exist)
sourcefn refresh(
&self,
path: &DavPath,
token: &str,
timeout: Option<Duration>
) -> Result<DavLock, ()>
fn refresh(
&self,
path: &DavPath,
token: &str,
timeout: Option<Duration>
) -> Result<DavLock, ()>
Refresh lock. Returns updated lock if succeeded.
sourcefn check(
&self,
path: &DavPath,
principal: Option<&str>,
ignore_principal: bool,
deep: bool,
submitted_tokens: Vec<&str>
) -> Result<(), DavLock>
fn check(
&self,
path: &DavPath,
principal: Option<&str>,
ignore_principal: bool,
deep: bool,
submitted_tokens: Vec<&str>
) -> Result<(), DavLock>
Check if node is locked and if so, if we own all the locks. If not, returns as Err one conflicting lock.