pub trait DavLockSystem:
Debug
+ Send
+ Sync
+ DynClone {
// Required methods
fn lock(
&self,
path: &DavPath,
principal: Option<&str>,
owner: Option<&Element>,
timeout: Option<Duration>,
shared: bool,
deep: bool,
) -> LsFuture<'_, Result<DavLock, DavLock>>;
fn unlock(
&self,
path: &DavPath,
token: &str,
) -> LsFuture<'_, Result<(), ()>>;
fn refresh(
&self,
path: &DavPath,
token: &str,
timeout: Option<Duration>,
) -> LsFuture<'_, Result<DavLock, ()>>;
fn check(
&self,
path: &DavPath,
principal: Option<&str>,
ignore_principal: bool,
deep: bool,
submitted_tokens: &[String],
) -> LsFuture<'_, Result<(), DavLock>>;
fn discover(&self, path: &DavPath) -> LsFuture<'_, Vec<DavLock>>;
fn delete(&self, path: &DavPath) -> LsFuture<'_, 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,
) -> LsFuture<'_, Result<DavLock, DavLock>>
fn lock( &self, path: &DavPath, principal: Option<&str>, owner: Option<&Element>, timeout: Option<Duration>, shared: bool, deep: bool, ) -> LsFuture<'_, 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) -> LsFuture<'_, Result<(), ()>>
fn unlock(&self, path: &DavPath, token: &str) -> LsFuture<'_, 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>,
) -> LsFuture<'_, Result<DavLock, ()>>
fn refresh( &self, path: &DavPath, token: &str, timeout: Option<Duration>, ) -> LsFuture<'_, Result<DavLock, ()>>
Refresh lock. Returns updated lock if succeeded.
Sourcefn check(
&self,
path: &DavPath,
principal: Option<&str>,
ignore_principal: bool,
deep: bool,
submitted_tokens: &[String],
) -> LsFuture<'_, Result<(), DavLock>>
fn check( &self, path: &DavPath, principal: Option<&str>, ignore_principal: bool, deep: bool, submitted_tokens: &[String], ) -> LsFuture<'_, Result<(), DavLock>>
Check if node is locked and if so, if we own all the locks. If not, returns as Err one conflicting lock.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".