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>ⓘ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.
Trait Implementations
sourceimpl Clone for Box<dyn DavLockSystem>
impl Clone for Box<dyn DavLockSystem>
sourcefn clone(&self) -> Box<dyn DavLockSystem>
fn clone(&self) -> Box<dyn DavLockSystem>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read more