pub trait CapabilityStoreClientSender {
type Transport: Transport;
Show 18 methods
// Required methods
fn duplicate<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, Duplicate>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDuplicateRequest>;
fn drop<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, Drop>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDropRequest>;
fn export<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, Export>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreExportRequest>;
fn import<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, Import>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreImportRequest>;
fn connector_create<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, ConnectorCreate>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreConnectorCreateRequest>;
fn connector_open<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, ConnectorOpen>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreConnectorOpenRequest>;
fn dir_connector_create<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DirConnectorCreate>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDirConnectorCreateRequest>;
fn dir_connector_open<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DirConnectorOpen>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDirConnectorOpenRequest>;
fn dictionary_create<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryCreate>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryCreateRequest>;
fn dictionary_legacy_import<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryLegacyImport>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryLegacyImportRequest>;
fn dictionary_legacy_export<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryLegacyExport>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryLegacyExportRequest>;
fn dictionary_insert<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryInsert>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryInsertRequest>;
fn dictionary_get<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryGet>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryGetRequest>;
fn dictionary_remove<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryRemove>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryRemoveRequest>;
fn dictionary_copy<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryCopy>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryCopyRequest>;
fn dictionary_keys<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryKeys>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryKeysRequest>;
fn dictionary_enumerate<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryEnumerate>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryEnumerateRequest>;
fn dictionary_drain<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryDrain>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryDrainRequest>;
}
Expand description
A helper trait for the CapabilityStore
client sender.
Required Associated Types§
Required Methods§
Sourcefn duplicate<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, Duplicate>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDuplicateRequest>,
fn duplicate<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, Duplicate>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDuplicateRequest>,
Duplicates the capability with id
to dest_id
.
Errors:
ID_NOT_FOUND
ifid
was not a valid capability id in this store.ID_ALREADY_EXISTS
if a capability withdest_id
already exists in this store.NOT_DUPLICATABLE
ifid
could not be duplicated.
Sourcefn drop<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, Drop>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDropRequest>,
fn drop<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, Drop>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDropRequest>,
Drops the capability with id
from this CapabilityStore
.
Errors:
ID_NOT_FOUND
ifid
was not a valid capability id in this store.
Sourcefn export<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, Export>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreExportRequest>,
fn export<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, Export>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreExportRequest>,
Exports the capability with the client-assigned identifier id
to
capability
. This operation removes the capability from the store. If
this is not desired, [Duplicate] the capability first.
Errors:
ID_NOT_FOUND
ifid
was not a valid capability id in this store.
Sourcefn import<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, Import>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreImportRequest>,
fn import<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, Import>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreImportRequest>,
Imports capability
into this store with the client-assigned id
.
Errors:
ID_ALREADY_EXISTS
if a capability withid
already exists in this store.BAD_CAPABILITY
ifcapability
was not a valid Capability.
Sourcefn connector_create<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, ConnectorCreate>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreConnectorCreateRequest>,
fn connector_create<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, ConnectorCreate>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreConnectorCreateRequest>,
Sourcefn connector_open<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, ConnectorOpen>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreConnectorOpenRequest>,
fn connector_open<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, ConnectorOpen>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreConnectorOpenRequest>,
Open a connection from the provided Connector capability that will be dispatched to the Receiver on the other end.
If there is an error, it will be reported as a zx.Status epitaph on server_end
.
Errors:
ID_NOT_FOUND
ifid
was not a valid capability id in this store.WRONG_TYPE
ifid
was not a connector capability.
Sourcefn dir_connector_create<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DirConnectorCreate>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDirConnectorCreateRequest>,
fn dir_connector_create<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DirConnectorCreate>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDirConnectorCreateRequest>,
Creates a DirConnector from a DirReceiver. Incoming connections to the DirConnector will be dispatched to this DirReceiver.
Errors:
ID_ALREADY_EXISTS
if a capability withid
already exists in this store.
Sourcefn dir_connector_open<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DirConnectorOpen>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDirConnectorOpenRequest>,
fn dir_connector_open<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DirConnectorOpen>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDirConnectorOpenRequest>,
Open a connection from the provided DirConnector capability that will be dispatched to the DirReceiver on the other end.
This method does not take Open
/Open3
parameters such as flags
or path
.
Clients that wish to specify these can get an initial connection from this method
and call fuchsia.io/Directory.Open
on it. See the DirReceiver documentation for
more information about the expectations of the server side.
If there was an error making the connection, it will be reported as a zx.Status
epitaph on server_end
.
Errors:
ID_NOT_FOUND
ifid
was not a valid capability id in this store.WRONG_TYPE
ifid
was not a connector capability.
Sourcefn dictionary_create<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryCreate>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryCreateRequest>,
fn dictionary_create<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryCreate>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryCreateRequest>,
Creates a new empty dictionary in this CapabilityStore
with client-assigned id
.
Errors:
ID_ALREADY_EXISTS
if a capability withid
already exists in this store.
Sourcefn dictionary_legacy_import<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryLegacyImport>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryLegacyImportRequest>,
fn dictionary_legacy_import<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryLegacyImport>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryLegacyImportRequest>,
Imports a dictionary in the form of a channel.
This is a legacy API to support backward compatibility with APIs that take a Dictionary channel.
Errors:
ID_ALREADY_EXISTS
if a capability withid
already exists in this store.BAD_CAPABILITY
ifclient_end
was not a valid dictionary channel.
Sourcefn dictionary_legacy_export<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryLegacyExport>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryLegacyExportRequest>,
fn dictionary_legacy_export<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryLegacyExport>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryLegacyExportRequest>,
Binds a channel to the dictionary with id
. The channel can
be re-imported into a CapabilityStore with [DictionaryImportLegacy].
This is a legacy API to support backward compatibility with APIs that take a Dictionary channel.
Errors:
ID_NOT_FOUND
ifid
was not a valid capability id in this store.
Sourcefn dictionary_insert<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryInsert>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryInsertRequest>,
fn dictionary_insert<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryInsert>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryInsertRequest>,
Inserts item
into the dictionary with id
. item.value
is moved into the dictionary and
its id is released if this call succeeds.
Errors:
ID_NOT_FOUND
ifid
was not a valid capability id in this store.WRONG_TYPE
ifid
was not a dictionary.INVALID_KEY
ifitem.key
was invalid.ITEM_ALREADY_EXISTS
if the dictionary already contains an item withitem.key
.
Sourcefn dictionary_get<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryGet>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryGetRequest>,
fn dictionary_get<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryGet>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryGetRequest>,
Get a duplicate of a capability from the dictionary with id
, which is
loaded into dest_id
.
Errors:
ID_NOT_FOUND
ifid
was not a recognized capability id in this store.ID_ALREADY_EXISTS
if a capability withdest_id
already exists in this store.WRONG_TYPE
ifid
was not a dictionary.INVALID_KEY
ifitem.key
was invalid.ITEM_NOT_FOUND
if the dictionary does not containkey
.NOT_DUPLICATABLE
if the capability could not be duplicated.
Sourcefn dictionary_remove<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryRemove>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryRemoveRequest>,
fn dictionary_remove<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryRemove>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryRemoveRequest>,
Removes a key from the dictionary with id
. If dest_id
is present, loads the value
into it, otherwise discards the value.
Errors:
ID_NOT_FOUND
ifid
was not a valid capability id in this store.ID_ALREADY_EXISTS
if a capability withdest_id
already exists in this store.WRONG_TYPE
ifid
was not a dictionary.INVALID_KEY
ifkey
was invalid.ITEM_NOT_FOUND
if the dictionary does not contain the key.
Sourcefn dictionary_copy<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryCopy>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryCopyRequest>,
fn dictionary_copy<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryCopy>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryCopyRequest>,
Create a new dictionary that contains a duplicate of all the entries in
the dictionary with id
, assigning dest_id
to the new dictionary.
The runtime of this method is linear in the number of top-level entries
in the dictionary.
For example, if the dictionary contains nested dictionaries, the newly created dictionary will contain references to those same nested dictionaries because the entries are duplicated rather than deep-copied.
Errors:
ID_NOT_FOUND
ifid
was not a valid capability id in this store.ID_ALREADY_EXISTS
if a capability withdest_id
already exists in this store.WRONG_TYPE
ifid
was not a dictionary.NOT_DUPLICATABLE
if one of the capabilities inid
could not be duplicated.
Sourcefn dictionary_keys<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryKeys>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryKeysRequest>,
fn dictionary_keys<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryKeys>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryKeysRequest>,
Enumerates the keys in the dictionary with id
.
Errors:
ID_NOT_FOUND
ifid
was not a valid capability id in this store.WRONG_TYPE
ifid
was not a dictionary.
Sourcefn dictionary_enumerate<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryEnumerate>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryEnumerateRequest>,
fn dictionary_enumerate<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryEnumerate>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryEnumerateRequest>,
Enumerates the items (keys and values) in the dictionary with id
.
Creates a duplicate of each value (capability). If a value could not be duplicated, the value will be null.
Errors:
ID_NOT_FOUND
ifid
was not a valid capability id in this store.WRONG_TYPE
ifid
was not a dictionary.
Sourcefn dictionary_drain<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryDrain>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryDrainRequest>,
fn dictionary_drain<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryDrain>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryDrainRequest>,
Removes all the entries in this dictionary, returning them in contents
if provided.
If contents
is not provided, all the items are discarded without enumerating them.
Errors:
ID_NOT_FOUND
ifid
was not a valid capability id in this store.WRONG_TYPE
ifid
was not a dictionary.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl<___T> CapabilityStoreClientSender for ClientSender<___T, CapabilityStore>where
___T: Transport,
impl<___T> CapabilityStoreClientSender for ClientSender<___T, CapabilityStore>where
___T: Transport,
Source§fn duplicate<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, Duplicate>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDuplicateRequest>,
fn duplicate<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, Duplicate>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDuplicateRequest>,
Duplicates the capability with id
to dest_id
.
Errors:
ID_NOT_FOUND
ifid
was not a valid capability id in this store.ID_ALREADY_EXISTS
if a capability withdest_id
already exists in this store.NOT_DUPLICATABLE
ifid
could not be duplicated.
Source§fn drop<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, Drop>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDropRequest>,
fn drop<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, Drop>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDropRequest>,
Drops the capability with id
from this CapabilityStore
.
Errors:
ID_NOT_FOUND
ifid
was not a valid capability id in this store.
Source§fn export<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, Export>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreExportRequest>,
fn export<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, Export>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreExportRequest>,
Exports the capability with the client-assigned identifier id
to
capability
. This operation removes the capability from the store. If
this is not desired, [Duplicate] the capability first.
Errors:
ID_NOT_FOUND
ifid
was not a valid capability id in this store.
Source§fn import<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, Import>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreImportRequest>,
fn import<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, Import>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreImportRequest>,
Imports capability
into this store with the client-assigned id
.
Errors:
ID_ALREADY_EXISTS
if a capability withid
already exists in this store.BAD_CAPABILITY
ifcapability
was not a valid Capability.
Source§fn connector_create<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, ConnectorCreate>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreConnectorCreateRequest>,
fn connector_create<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, ConnectorCreate>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreConnectorCreateRequest>,
Source§fn connector_open<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, ConnectorOpen>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreConnectorOpenRequest>,
fn connector_open<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, ConnectorOpen>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreConnectorOpenRequest>,
Open a connection from the provided Connector capability that will be dispatched to the Receiver on the other end.
If there is an error, it will be reported as a zx.Status epitaph on server_end
.
Errors:
ID_NOT_FOUND
ifid
was not a valid capability id in this store.WRONG_TYPE
ifid
was not a connector capability.
Source§fn dir_connector_create<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DirConnectorCreate>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDirConnectorCreateRequest>,
fn dir_connector_create<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DirConnectorCreate>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDirConnectorCreateRequest>,
Creates a DirConnector from a DirReceiver. Incoming connections to the DirConnector will be dispatched to this DirReceiver.
Errors:
ID_ALREADY_EXISTS
if a capability withid
already exists in this store.
Source§fn dir_connector_open<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DirConnectorOpen>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDirConnectorOpenRequest>,
fn dir_connector_open<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DirConnectorOpen>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDirConnectorOpenRequest>,
Open a connection from the provided DirConnector capability that will be dispatched to the DirReceiver on the other end.
This method does not take Open
/Open3
parameters such as flags
or path
.
Clients that wish to specify these can get an initial connection from this method
and call fuchsia.io/Directory.Open
on it. See the DirReceiver documentation for
more information about the expectations of the server side.
If there was an error making the connection, it will be reported as a zx.Status
epitaph on server_end
.
Errors:
ID_NOT_FOUND
ifid
was not a valid capability id in this store.WRONG_TYPE
ifid
was not a connector capability.
Source§fn dictionary_create<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryCreate>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryCreateRequest>,
fn dictionary_create<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryCreate>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryCreateRequest>,
Creates a new empty dictionary in this CapabilityStore
with client-assigned id
.
Errors:
ID_ALREADY_EXISTS
if a capability withid
already exists in this store.
Source§fn dictionary_legacy_import<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryLegacyImport>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryLegacyImportRequest>,
fn dictionary_legacy_import<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryLegacyImport>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryLegacyImportRequest>,
Imports a dictionary in the form of a channel.
This is a legacy API to support backward compatibility with APIs that take a Dictionary channel.
Errors:
ID_ALREADY_EXISTS
if a capability withid
already exists in this store.BAD_CAPABILITY
ifclient_end
was not a valid dictionary channel.
Source§fn dictionary_legacy_export<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryLegacyExport>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryLegacyExportRequest>,
fn dictionary_legacy_export<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryLegacyExport>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryLegacyExportRequest>,
Binds a channel to the dictionary with id
. The channel can
be re-imported into a CapabilityStore with [DictionaryImportLegacy].
This is a legacy API to support backward compatibility with APIs that take a Dictionary channel.
Errors:
ID_NOT_FOUND
ifid
was not a valid capability id in this store.
Source§fn dictionary_insert<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryInsert>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryInsertRequest>,
fn dictionary_insert<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryInsert>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryInsertRequest>,
Inserts item
into the dictionary with id
. item.value
is moved into the dictionary and
its id is released if this call succeeds.
Errors:
ID_NOT_FOUND
ifid
was not a valid capability id in this store.WRONG_TYPE
ifid
was not a dictionary.INVALID_KEY
ifitem.key
was invalid.ITEM_ALREADY_EXISTS
if the dictionary already contains an item withitem.key
.
Source§fn dictionary_get<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryGet>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryGetRequest>,
fn dictionary_get<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryGet>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryGetRequest>,
Get a duplicate of a capability from the dictionary with id
, which is
loaded into dest_id
.
Errors:
ID_NOT_FOUND
ifid
was not a recognized capability id in this store.ID_ALREADY_EXISTS
if a capability withdest_id
already exists in this store.WRONG_TYPE
ifid
was not a dictionary.INVALID_KEY
ifitem.key
was invalid.ITEM_NOT_FOUND
if the dictionary does not containkey
.NOT_DUPLICATABLE
if the capability could not be duplicated.
Source§fn dictionary_remove<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryRemove>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryRemoveRequest>,
fn dictionary_remove<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryRemove>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryRemoveRequest>,
Removes a key from the dictionary with id
. If dest_id
is present, loads the value
into it, otherwise discards the value.
Errors:
ID_NOT_FOUND
ifid
was not a valid capability id in this store.ID_ALREADY_EXISTS
if a capability withdest_id
already exists in this store.WRONG_TYPE
ifid
was not a dictionary.INVALID_KEY
ifkey
was invalid.ITEM_NOT_FOUND
if the dictionary does not contain the key.
Source§fn dictionary_copy<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryCopy>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryCopyRequest>,
fn dictionary_copy<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryCopy>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryCopyRequest>,
Create a new dictionary that contains a duplicate of all the entries in
the dictionary with id
, assigning dest_id
to the new dictionary.
The runtime of this method is linear in the number of top-level entries
in the dictionary.
For example, if the dictionary contains nested dictionaries, the newly created dictionary will contain references to those same nested dictionaries because the entries are duplicated rather than deep-copied.
Errors:
ID_NOT_FOUND
ifid
was not a valid capability id in this store.ID_ALREADY_EXISTS
if a capability withdest_id
already exists in this store.WRONG_TYPE
ifid
was not a dictionary.NOT_DUPLICATABLE
if one of the capabilities inid
could not be duplicated.
Source§fn dictionary_keys<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryKeys>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryKeysRequest>,
fn dictionary_keys<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryKeys>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryKeysRequest>,
Enumerates the keys in the dictionary with id
.
Errors:
ID_NOT_FOUND
ifid
was not a valid capability id in this store.WRONG_TYPE
ifid
was not a dictionary.
Source§fn dictionary_enumerate<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryEnumerate>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryEnumerateRequest>,
fn dictionary_enumerate<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryEnumerate>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryEnumerateRequest>,
Enumerates the items (keys and values) in the dictionary with id
.
Creates a duplicate of each value (capability). If a value could not be duplicated, the value will be null.
Errors:
ID_NOT_FOUND
ifid
was not a valid capability id in this store.WRONG_TYPE
ifid
was not a dictionary.
Source§fn dictionary_drain<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryDrain>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryDrainRequest>,
fn dictionary_drain<___R>(
&self,
request: &mut ___R,
) -> Result<ResponseFuture<'_, Self::Transport, DictionaryDrain>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireCapabilityStoreDictionaryDrainRequest>,
Removes all the entries in this dictionary, returning them in contents
if provided.
If contents
is not provided, all the items are discarded without enumerating them.
Errors:
ID_NOT_FOUND
ifid
was not a valid capability id in this store.WRONG_TYPE
ifid
was not a dictionary.