template <>

class NaturalClientImpl

Defined at line 2026 of file fidling/gen/sdk/fidl/fuchsia.component.runtime/fuchsia.component.runtime/cpp/fidl/fuchsia.component.runtime/cpp/natural_messaging.h

Public Methods

::fidl::internal::NaturalThenable< ::fuchsia_component_runtime::Capabilities::ConnectorCreate> ConnectorCreate (::fidl::Request< ::fuchsia_component_runtime::Capabilities::ConnectorCreate> request)

Creates a reference to a new connector capability. When the connector is

opened, the channel given to the open call will be sent over

`receiver_client_end`.

Make sure this method returns before passing the handle's peer to other

methods in this API. The creation may not be complete before then.

::fidl::internal::NaturalThenable< ::fuchsia_component_runtime::Capabilities::DirConnectorCreate> DirConnectorCreate (::fidl::Request< ::fuchsia_component_runtime::Capabilities::DirConnectorCreate> request)

Creates a reference to a new directory connector capability. When the

directory connector is opened, the channel given to the open call will

be sent over `receiver_client_end`.

Make sure this method returns before passing the handle's peer to other

methods in this API. The creation may not be complete before then.

::fidl::internal::NaturalThenable< ::fuchsia_component_runtime::Capabilities::DictionaryCreate> DictionaryCreate (::fidl::Request< ::fuchsia_component_runtime::Capabilities::DictionaryCreate> request)

Creates a reference to a new dictionary capability.

Make sure this method returns before passing the handle's peer to other

methods in this API. The creation may not be complete before then.

::fidl::internal::NaturalThenable< ::fuchsia_component_runtime::Capabilities::DataCreate> DataCreate (::fidl::Request< ::fuchsia_component_runtime::Capabilities::DataCreate> request)

Creates a reference to a new data capability with the given value.

Make sure this method returns before passing the handle's peer to other

methods in this API. The creation may not be complete before then.

::fidl::internal::NaturalThenable< ::fuchsia_component_runtime::Capabilities::ConnectorRouterCreate> ConnectorRouterCreate (::fidl::Request< ::fuchsia_component_runtime::Capabilities::ConnectorRouterCreate> request)

Creates a reference to a new router capability that will return a

connector capability when used.

Make sure this method returns before passing the handle's peer to other

methods in this API. The creation may not be complete before then.

::fidl::internal::NaturalThenable< ::fuchsia_component_runtime::Capabilities::DirConnectorRouterCreate> DirConnectorRouterCreate (::fidl::Request< ::fuchsia_component_runtime::Capabilities::DirConnectorRouterCreate> request)

Creates a reference to a new router capability that will return a

directory connector capability when used.

Make sure this method returns before passing the handle's peer to other

methods in this API. The creation may not be complete before then.

::fidl::internal::NaturalThenable< ::fuchsia_component_runtime::Capabilities::DictionaryRouterCreate> DictionaryRouterCreate (::fidl::Request< ::fuchsia_component_runtime::Capabilities::DictionaryRouterCreate> request)

Creates a reference to a new router capability that will return a

dictionary capability when used.

Make sure this method returns before passing the handle's peer to other

methods in this API. The creation may not be complete before then.

::fidl::internal::NaturalThenable< ::fuchsia_component_runtime::Capabilities::DataRouterCreate> DataRouterCreate (::fidl::Request< ::fuchsia_component_runtime::Capabilities::DataRouterCreate> request)

Creates a reference to a new router capability that will return a data

value when used.

Make sure this method returns before passing the handle's peer to other

methods in this API. The creation may not be complete before then.

::fidl::internal::NaturalThenable< ::fuchsia_component_runtime::Capabilities::InstanceTokenCreate> InstanceTokenCreate (::fidl::Request< ::fuchsia_component_runtime::Capabilities::InstanceTokenCreate> request)

Creates a new instance token, which is an opaque identifier associated

with a specific component. This instance token will be associated with

the component this connection is opened from.

Make sure this method returns before passing the handle's peer to other

methods in this API. The creation may not be complete before then.

::fidl::internal::NaturalThenable< ::fuchsia_component_runtime::Capabilities::ConnectorOpen> ConnectorOpen (::fidl::Request< ::fuchsia_component_runtime::Capabilities::ConnectorOpen> request)

Uses the provided `connector` to open a new connection by delivering

this channel to whoever created the connector.

If there is an error, it will be reported as a zx.Status epitaph on

`channel`.

If the `connector` event pair handle is not correlated with a handle

given to `ConnectorCreate`, this connection will be closed.

::fidl::internal::NaturalThenable< ::fuchsia_component_runtime::Capabilities::DirConnectorOpen> DirConnectorOpen (::fidl::Request< ::fuchsia_component_runtime::Capabilities::DirConnectorOpen> request)

Uses the provided `dir_connector` to open a new directory connection by

delivering this channel to whoever created the directory connector.

If there is an error, it will be reported as a zx.Status epitaph on

`channel`.

If the `dir_connector` event pair handle is not correlated with a handle

given to `DirConnectorCreate`, this connection will be closed.

`dir_connector` and `channel` are both required. `flags` and `path`

may be omitted.

::fidl::internal::NaturalThenable< ::fuchsia_component_runtime::Capabilities::DictionaryInsert> DictionaryInsert (::fidl::Request< ::fuchsia_component_runtime::Capabilities::DictionaryInsert> request)

Inserts a new `capability` into this `Dictionary` under the name `key`.

Overwrites any existing entry.

::fidl::internal::NaturalThenable< ::fuchsia_component_runtime::Capabilities::DictionaryGet> DictionaryGet (::fidl::Request< ::fuchsia_component_runtime::Capabilities::DictionaryGet> request)

Creates a new reference to the `capability` named `key` in this

dictionary, if that capability exists. That capability will remain in

the dictionary. To take a capability out of the dictionary, use

`DictionaryRemove`.

If `key` does not exist, `value` will not reference any capability and

the `NO_SUCH_CAPABILITY` error value will be returned.

Make sure this method returns before passing the handle's peer to other

methods in this API. The creation may not be complete before then.

::fidl::internal::NaturalThenable< ::fuchsia_component_runtime::Capabilities::DictionaryRemove> DictionaryRemove (::fidl::Request< ::fuchsia_component_runtime::Capabilities::DictionaryRemove> request)

Removes the `capability` named `key` from this dictionary and returns a

reference to it, if that capability exists.

`dictionary` and `key` are required. `capability` is optional, and when

set will become associated with the capability that was removed from the

dictionary.

If `key` does not exist, `value` will not reference any capability and

the `NO_SUCH_CAPABILITY` error value will be returned.

Make sure this method returns before passing the peer of `capability` to

other methods in this API. The creation may not be complete before then.

::fidl::internal::NaturalThenable< ::fuchsia_component_runtime::Capabilities::DictionaryIterateKeys> DictionaryIterateKeys (::fidl::Request< ::fuchsia_component_runtime::Capabilities::DictionaryIterateKeys> request)

Opens an iterator which can be used to iterate over the keys of this

dictionary.

::fidl::internal::NaturalThenable< ::fuchsia_component_runtime::Capabilities::DataGet> DataGet (::fidl::Request< ::fuchsia_component_runtime::Capabilities::DataGet> request)

Returns the `Data` value that was provided to the `DataCreate` call used

with `data_handle`.

::fidl::internal::NaturalThenable< ::fuchsia_component_runtime::Capabilities::ConnectorRouterRoute> ConnectorRouterRoute (::fidl::Request< ::fuchsia_component_runtime::Capabilities::ConnectorRouterRoute> request)

Attempts to produce a `Connector` capability from this

`ConnectorRouter`.

`request` contains context for this route, and `instance_token`

references the component that the routing operation is being performed

for.

This will return:

- `SUCCESS` if `connector` has been associated with a connector.

- `UNAVAILABLE` if the capability is unavailable, in which case

`connector` will be closed.

- An error, if the operation failed.

::fidl::internal::NaturalThenable< ::fuchsia_component_runtime::Capabilities::DirConnectorRouterRoute> DirConnectorRouterRoute (::fidl::Request< ::fuchsia_component_runtime::Capabilities::DirConnectorRouterRoute> request)

Attempts to produce a `DirConnector` capability from this

`DirConnectorRouter`.

`request` contains context for this route, and `instance_token`

references the component that the routing operation is being performed

for.

This will return:

- `SUCCESS` if `dir_connector` has been associated with a connector.

- `UNAVAILABLE` if the capability is unavailable, in which case

`dir_connector` will be closed.

- An error, if the operation failed.

::fidl::internal::NaturalThenable< ::fuchsia_component_runtime::Capabilities::DictionaryRouterRoute> DictionaryRouterRoute (::fidl::Request< ::fuchsia_component_runtime::Capabilities::DictionaryRouterRoute> request)

Attempts to produce a `Dictionary` capability from this

`DictionaryRouter`.

`request` contains context for this route, and `instance_token`

references the component that the routing operation is being performed

for.

This will return:

- `SUCCESS` if `dictionary` has been associated with a connector.

- `UNAVAILABLE` if the capability is unavailable, in which case

`dictionary` will be closed.

- An error, if the operation failed.

::fidl::internal::NaturalThenable< ::fuchsia_component_runtime::Capabilities::DataRouterRoute> DataRouterRoute (::fidl::Request< ::fuchsia_component_runtime::Capabilities::DataRouterRoute> request)

Attempts to produce a `Data` capability from this `DataRouter`.

`request` contains context for this route, and `instance_token`

references the component that the routing operation is being performed

for.

This will return:

- `SUCCESS` if `data` has been associated with a connector.

- `UNAVAILABLE` if the capability is unavailable, in which case `data`

will be closed.

- An error, if the operation failed.

::fidl::internal::NaturalThenable< ::fuchsia_component_runtime::Capabilities::CapabilityAssociateHandle> CapabilityAssociateHandle (::fidl::Request< ::fuchsia_component_runtime::Capabilities::CapabilityAssociateHandle> request)

Associates `other_handle` with the same capability referenced by

`capability_handle`.

Typically if one already has `capability_handle` the handle can be

duplicated to make a new handle that references the same object, but

this doesn't work when someone else has provided a handle that should be

associated with an existing object.