pub trait DavLockSystem:
Debug
+ Sync
+ Send
+ BoxCloneLs {
// Required methods
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.
Trait Implementations§
Source§impl Clone for Box<dyn DavLockSystem>
impl Clone for Box<dyn DavLockSystem>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read more