template <>
class WireWeakAsyncClientImpl
Defined at line 9329 of file fidling/gen/sdk/fidl/fuchsia.component.sandbox/fuchsia.component.sandbox/cpp/fidl/fuchsia.component.sandbox/cpp/wire_messaging.h
Public Methods
::fidl::internal::WireThenable< ::fuchsia_component_sandbox::CapabilityStore::Duplicate> Duplicate (uint64_t id, uint64_t dest_id)
Duplicates the capability with `id` to `dest_id`.
Errors:
- `ID_NOT_FOUND` if `id` was not a valid capability id in this store.
- `ID_ALREADY_EXISTS` if a capability with `dest_id` already exists in this store.
- `NOT_DUPLICATABLE` if `id` could not be duplicated.
Allocates 32 bytes of request buffer on the stack. The callback is stored on the heap.
::fidl::internal::WireThenable< ::fuchsia_component_sandbox::CapabilityStore::Drop> Drop (uint64_t id)
Drops the capability with `id` from this [`CapabilityStore`].
Errors:
- `ID_NOT_FOUND` if `id` was not a valid capability id in this store.
Allocates 24 bytes of request buffer on the stack. The callback is stored on the heap.
::fidl::internal::WireThenable< ::fuchsia_component_sandbox::CapabilityStore::Export> Export (uint64_t id)
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` if `id` was not a valid capability id in this store.
Allocates 24 bytes of request buffer on the stack. The callback is stored on the heap.
::fidl::internal::WireThenable< ::fuchsia_component_sandbox::CapabilityStore::Import> Import (uint64_t id, ::fuchsia_component_sandbox::wire::Capability capability)
Imports `capability` into this store with the client-assigned `id`.
Errors:
- `ID_ALREADY_EXISTS` if a capability with `id` already exists in this store.
- `BAD_CAPABILITY` if `capability` was not a valid [Capability].
The request and callback are allocated on the heap.
::fidl::internal::WireThenable< ::fuchsia_component_sandbox::CapabilityStore::ConnectorCreate> ConnectorCreate (uint64_t id, ::fidl::ClientEnd< ::fuchsia_component_sandbox::Receiver> && receiver)
Creates a [Connector] from a [Receiver]. Incoming connections to the [Connector] will be
dispatched to this [Receiver].
Errors:
- `ID_ALREADY_EXISTS` if a capability with `id` already exists in this store.
Allocates 32 bytes of request buffer on the stack. The callback is stored on the heap.
::fidl::internal::WireThenable< ::fuchsia_component_sandbox::CapabilityStore::ConnectorOpen> ConnectorOpen (uint64_t id, ::zx::channel && server_end)
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` if `id` was not a valid capability id in this store.
- `WRONG_TYPE` if `id` was not a connector capability.
Allocates 32 bytes of request buffer on the stack. The callback is stored on the heap.
::fidl::internal::WireThenable< ::fuchsia_component_sandbox::CapabilityStore::DirConnectorCreate> DirConnectorCreate (uint64_t id, ::fidl::ClientEnd< ::fuchsia_component_sandbox::DirReceiver> && receiver)
Creates a [DirConnector] from a [DirReceiver]. Incoming connections to the [DirConnector]
will be dispatched to this [DirReceiver].
Errors:
- `ID_ALREADY_EXISTS` if a capability with `id` already exists in this store.
Allocates 32 bytes of request buffer on the stack. The callback is stored on the heap.
::fidl::internal::WireThenable< ::fuchsia_component_sandbox::CapabilityStore::DirConnectorOpen> DirConnectorOpen (::fuchsia_component_sandbox::wire::CapabilityStoreDirConnectorOpenRequest CapabilityStoreDirConnectorOpenRequest)
Open a connection from the provided [DirConnector] capability that will
be dispatched to the [DirReceiver] on the other end. The `id` and
`server_end` arguments are required, and the `flags` and `path`
arguments are optional (a path of `.` will be used if one is not
otherwise set).
If there was an error making the connection, it will be reported as a zx.Status
epitaph on `server_end`.
Errors:
- `ID_NOT_FOUND` if `id` was not a valid capability id in this store.
- `WRONG_TYPE` if `id` was not a connector capability.
The request and callback are allocated on the heap.
::fidl::internal::WireThenable< ::fuchsia_component_sandbox::CapabilityStore::DictionaryCreate> DictionaryCreate (uint64_t id)
Creates a new empty dictionary in this [`CapabilityStore`] with client-assigned `id`.
Errors:
- `ID_ALREADY_EXISTS` if a capability with `id` already exists in this store.
Allocates 24 bytes of request buffer on the stack. The callback is stored on the heap.
::fidl::internal::WireThenable< ::fuchsia_component_sandbox::CapabilityStore::DictionaryLegacyImport> DictionaryLegacyImport (uint64_t id, ::zx::channel && client_end)
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 with `id` already exists in this store.
- `BAD_CAPABILITY` if `client_end` was not a valid dictionary channel.
Allocates 32 bytes of request buffer on the stack. The callback is stored on the heap.
::fidl::internal::WireThenable< ::fuchsia_component_sandbox::CapabilityStore::DictionaryLegacyExport> DictionaryLegacyExport (uint64_t id, ::zx::channel && server_end)
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` if `id` was not a valid capability id in this store.
Allocates 32 bytes of request buffer on the stack. The callback is stored on the heap.
::fidl::internal::WireThenable< ::fuchsia_component_sandbox::CapabilityStore::DictionaryInsert> DictionaryInsert (uint64_t id, const ::fuchsia_component_sandbox::wire::DictionaryItem & item)
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` if `id` was not a valid capability id in this store.
- `WRONG_TYPE` if `id` was not a dictionary.
- `INVALID_KEY` if `item.key` was invalid.
- `ITEM_ALREADY_EXISTS` if the dictionary already contains an item with `item.key`.
Allocates 304 bytes of request buffer on the stack. The callback is stored on the heap.
::fidl::internal::WireThenable< ::fuchsia_component_sandbox::CapabilityStore::DictionaryGet> DictionaryGet (uint64_t id, ::fidl::StringView key, uint64_t dest_id)
Get a duplicate of a capability from the dictionary with `id`, which is
loaded into `dest_id`.
Errors:
- `ID_NOT_FOUND` if `id` was not a recognized capability id in this store.
- `ID_ALREADY_EXISTS` if a capability with `dest_id` already exists in this store.
- `WRONG_TYPE` if `id` was not a dictionary.
- `INVALID_KEY` if `item.key` was invalid.
- `ITEM_NOT_FOUND` if the dictionary does not contain `key`.
- `NOT_DUPLICATABLE` if the capability could not be duplicated.
Allocates 304 bytes of request buffer on the stack. The callback is stored on the heap.
::fidl::internal::WireThenable< ::fuchsia_component_sandbox::CapabilityStore::DictionaryRemove> DictionaryRemove (uint64_t id, ::fidl::StringView key, ::fidl::ObjectView< ::fuchsia_component_sandbox::wire::WrappedCapabilityId> dest_id)
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` if `id` was not a valid capability id in this store.
- `ID_ALREADY_EXISTS` if a capability with `dest_id` already exists in this store.
- `WRONG_TYPE` if `id` was not a dictionary.
- `INVALID_KEY` if `key` was invalid.
- `ITEM_NOT_FOUND` if the dictionary does not contain the key.
Allocates 312 bytes of request buffer on the stack. The callback is stored on the heap.
::fidl::internal::WireThenable< ::fuchsia_component_sandbox::CapabilityStore::DictionaryCopy> DictionaryCopy (uint64_t id, uint64_t dest_id)
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` if `id` was not a valid capability id in this store.
- `ID_ALREADY_EXISTS` if a capability with `dest_id` already exists in this store.
- `WRONG_TYPE` if `id` was not a dictionary.
- `NOT_DUPLICATABLE` if one of the capabilities in `id` could not be duplicated.
Allocates 32 bytes of request buffer on the stack. The callback is stored on the heap.
::fidl::internal::WireThenable< ::fuchsia_component_sandbox::CapabilityStore::DictionaryKeys> DictionaryKeys (uint64_t id, ::fidl::ServerEnd< ::fuchsia_component_sandbox::DictionaryKeysIterator> && iterator)
Enumerates the keys in the dictionary with `id`.
Errors:
- `ID_NOT_FOUND` if `id` was not a valid capability id in this store.
- `WRONG_TYPE` if `id` was not a dictionary.
Allocates 32 bytes of request buffer on the stack. The callback is stored on the heap.
::fidl::internal::WireThenable< ::fuchsia_component_sandbox::CapabilityStore::DictionaryEnumerate> DictionaryEnumerate (uint64_t id, ::fidl::ServerEnd< ::fuchsia_component_sandbox::DictionaryEnumerateIterator> && iterator)
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` if `id` was not a valid capability id in this store.
- `WRONG_TYPE` if `id` was not a dictionary.
Allocates 32 bytes of request buffer on the stack. The callback is stored on the heap.
::fidl::internal::WireThenable< ::fuchsia_component_sandbox::CapabilityStore::DictionaryDrain> DictionaryDrain (uint64_t id, ::fidl::ServerEnd< ::fuchsia_component_sandbox::DictionaryDrainIterator> && iterator)
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` if `id` was not a valid capability id in this store.
- `WRONG_TYPE` if `id` was not a dictionary.
Allocates 32 bytes of request buffer on the stack. The callback is stored on the heap.
::fidl::internal::WireThenable< ::fuchsia_component_sandbox::CapabilityStore::CreateServiceAggregate> CreateServiceAggregate (::fidl::VectorView< ::fuchsia_component_sandbox::wire::AggregateSource> sources)
Creates a new DirConnector that forwards open requests to a set of
sources.
The request and callback are allocated on the heap.