pub trait DirectoryProxyInterface: Send + Sync {
Show 52 associated items
type GetAttrResponseFut: Future<Output = Result<(i32, NodeAttributes), Error>> + Send;
type SetAttrResponseFut: Future<Output = Result<i32, Error>> + Send;
type GetFlagsResponseFut: Future<Output = Result<(i32, OpenFlags), Error>> + Send;
type SetFlagsResponseFut: Future<Output = Result<i32, Error>> + Send;
type QueryFilesystemResponseFut: Future<Output = Result<(i32, Option<Box<FilesystemInfo>>), Error>> + Send;
type ReadDirentsResponseFut: Future<Output = Result<(i32, Vec<u8>), Error>> + Send;
type RewindResponseFut: Future<Output = Result<i32, Error>> + Send;
type GetTokenResponseFut: Future<Output = Result<(i32, Option<Handle>), Error>> + Send;
type LinkResponseFut: Future<Output = Result<i32, Error>> + Send;
type WatchResponseFut: Future<Output = Result<i32, Error>> + Send;
type CloseResponseFut: Future<Output = Result<CloseableCloseResult, Error>> + Send;
type QueryResponseFut: Future<Output = Result<Vec<u8>, Error>> + Send;
type GetConnectionInfoResponseFut: Future<Output = Result<ConnectionInfo, Error>> + Send;
type GetAttributesResponseFut: Future<Output = Result<Node2GetAttributesResult, Error>> + Send;
type UpdateAttributesResponseFut: Future<Output = Result<Node2UpdateAttributesResult, Error>> + Send;
type SyncResponseFut: Future<Output = Result<Node2SyncResult, Error>> + Send;
type GetExtendedAttributeResponseFut: Future<Output = Result<Node2GetExtendedAttributeResult, Error>> + Send;
type SetExtendedAttributeResponseFut: Future<Output = Result<Node2SetExtendedAttributeResult, Error>> + Send;
type RemoveExtendedAttributeResponseFut: Future<Output = Result<Node2RemoveExtendedAttributeResult, Error>> + Send;
type AdvisoryLockResponseFut: Future<Output = Result<AdvisoryLockingAdvisoryLockResult, Error>> + Send;
type UnlinkResponseFut: Future<Output = Result<Directory2UnlinkResult, Error>> + Send;
type RenameResponseFut: Future<Output = Result<Directory2RenameResult, Error>> + Send;
type CreateSymlinkResponseFut: Future<Output = Result<Directory2CreateSymlinkResult, Error>> + Send;
// Required methods
fn clone(
&self,
flags: OpenFlags,
object: ServerEnd<NodeMarker>,
) -> Result<(), Error>;
fn get_attr(&self) -> Self::GetAttrResponseFut;
fn set_attr(
&self,
flags: NodeAttributeFlags,
attributes: &NodeAttributes,
) -> Self::SetAttrResponseFut;
fn get_flags(&self) -> Self::GetFlagsResponseFut;
fn set_flags(&self, flags: OpenFlags) -> Self::SetFlagsResponseFut;
fn query_filesystem(&self) -> Self::QueryFilesystemResponseFut;
fn open(
&self,
flags: OpenFlags,
mode: ModeType,
path: &str,
object: ServerEnd<NodeMarker>,
) -> Result<(), Error>;
fn read_dirents(&self, max_bytes: u64) -> Self::ReadDirentsResponseFut;
fn rewind(&self) -> Self::RewindResponseFut;
fn get_token(&self) -> Self::GetTokenResponseFut;
fn link(
&self,
src: &str,
dst_parent_token: Handle,
dst: &str,
) -> Self::LinkResponseFut;
fn watch(
&self,
mask: WatchMask,
options: u32,
watcher: ServerEnd<DirectoryWatcherMarker>,
) -> Self::WatchResponseFut;
fn close(&self) -> Self::CloseResponseFut;
fn query(&self) -> Self::QueryResponseFut;
fn reopen(
&self,
rights_request: &RightsRequest,
object_request: ServerEnd<NodeMarker>,
) -> Result<(), Error>;
fn get_connection_info(&self) -> Self::GetConnectionInfoResponseFut;
fn get_attributes(
&self,
query: NodeAttributesQuery,
) -> Self::GetAttributesResponseFut;
fn update_attributes(
&self,
payload: &MutableNodeAttributes,
) -> Self::UpdateAttributesResponseFut;
fn sync(&self) -> Self::SyncResponseFut;
fn list_extended_attributes(
&self,
iterator: ServerEnd<ExtendedAttributeIteratorMarker>,
) -> Result<(), Error>;
fn get_extended_attribute(
&self,
name: &[u8],
) -> Self::GetExtendedAttributeResponseFut;
fn set_extended_attribute(
&self,
name: &[u8],
value: ExtendedAttributeValue,
mode: SetExtendedAttributeMode,
) -> Self::SetExtendedAttributeResponseFut;
fn remove_extended_attribute(
&self,
name: &[u8],
) -> Self::RemoveExtendedAttributeResponseFut;
fn advisory_lock(
&self,
request: &AdvisoryLockRequest,
) -> Self::AdvisoryLockResponseFut;
fn open2(
&self,
path: &str,
protocols: &ConnectionProtocols,
object_request: Channel,
) -> Result<(), Error>;
fn open3(
&self,
path: &str,
flags: Flags,
options: &Options,
object: Channel,
) -> Result<(), Error>;
fn unlink(
&self,
name: &str,
options: &UnlinkOptions,
) -> Self::UnlinkResponseFut;
fn rename(
&self,
src: &str,
dst_parent_token: Event,
dst: &str,
) -> Self::RenameResponseFut;
fn create_symlink(
&self,
name: &str,
target: &[u8],
connection: Option<ServerEnd<SymlinkMarker>>,
) -> Self::CreateSymlinkResponseFut;
}