template <>

class Server

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

Public Methods

void ConnectorCreate (ConnectorCreateRequest & request, ConnectorCreateCompleter::Sync & completer)

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.

void DirConnectorCreate (DirConnectorCreateRequest & request, DirConnectorCreateCompleter::Sync & completer)

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.

void DictionaryCreate (DictionaryCreateRequest & request, DictionaryCreateCompleter::Sync & completer)

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.

void DataCreate (DataCreateRequest & request, DataCreateCompleter::Sync & completer)

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.

void ConnectorRouterCreate (ConnectorRouterCreateRequest & request, ConnectorRouterCreateCompleter::Sync & completer)

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.

void DirConnectorRouterCreate (DirConnectorRouterCreateRequest & request, DirConnectorRouterCreateCompleter::Sync & completer)

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.

void DictionaryRouterCreate (DictionaryRouterCreateRequest & request, DictionaryRouterCreateCompleter::Sync & completer)

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.

void DataRouterCreate (DataRouterCreateRequest & request, DataRouterCreateCompleter::Sync & completer)

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.

void InstanceTokenCreate (InstanceTokenCreateRequest & request, InstanceTokenCreateCompleter::Sync & completer)

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.

void ConnectorOpen (ConnectorOpenRequest & request, ConnectorOpenCompleter::Sync & completer)

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.

void DirConnectorOpen (DirConnectorOpenRequest & request, DirConnectorOpenCompleter::Sync & completer)

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.

void DictionaryInsert (DictionaryInsertRequest & request, DictionaryInsertCompleter::Sync & completer)

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

Overwrites any existing entry.

void DictionaryGet (DictionaryGetRequest & request, DictionaryGetCompleter::Sync & completer)

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.

void DictionaryRemove (DictionaryRemoveRequest & request, DictionaryRemoveCompleter::Sync & completer)

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.

void DictionaryIterateKeys (DictionaryIterateKeysRequest & request, DictionaryIterateKeysCompleter::Sync & completer)

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

dictionary.

void DataGet (DataGetRequest & request, DataGetCompleter::Sync & completer)

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

with `data_handle`.

void ConnectorRouterRoute (ConnectorRouterRouteRequest & request, ConnectorRouterRouteCompleter::Sync & completer)

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.

void DirConnectorRouterRoute (DirConnectorRouterRouteRequest & request, DirConnectorRouterRouteCompleter::Sync & completer)

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.

void DictionaryRouterRoute (DictionaryRouterRouteRequest & request, DictionaryRouterRouteCompleter::Sync & completer)

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.

void DataRouterRoute (DataRouterRouteRequest & request, DataRouterRouteCompleter::Sync & completer)

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.

void CapabilityAssociateHandle (CapabilityAssociateHandleRequest & request, CapabilityAssociateHandleCompleter::Sync & completer)

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.

void Server ()

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

Handler bind_handler (async_dispatcher_t * dispatcher)

|bind_handler| returns a handler that binds incoming connections to this

server implementation.

The returned handler borrows the server instance.

The server must outlive the provided |dispatcher|. Only after

the dispatcher is shutdown will it be safe to destroy the servers.

The server should not be moved.

void ~Server ()

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