template <>

class WireWeakSyncClientImpl

Defined at line 8812 of file fidling/gen/sdk/fidl/fuchsia.component/fuchsia.component/cpp/fidl/fuchsia.component/cpp/wire_messaging.h

Public Methods

::fidl::WireResult< ::fuchsia_component::Realm::OpenController> OpenController (const ::fuchsia_component_decl::wire::ChildRef & child, ::fidl::ServerEnd< ::fuchsia_component::Controller> && controller)

Operate on a child component. See documentation for [`Controller`].

Errors:

- `INVALID_ARGUMENTS`: `child` is not a valid child reference.

- `INSTANCE_NOT_FOUND`: `child` does not exist.

- `INSTANCE_DIED`: This realm no longer exists.

Allocates 32 bytes of response buffer on the stack. Request is heap-allocated.

::fidl::WireResult< ::fuchsia_component::Realm::OpenExposedDir> OpenExposedDir (const ::fuchsia_component_decl::wire::ChildRef & child, ::fidl::ServerEnd< ::fuchsia_io::Directory> && exposed_dir)

Opens the exposed directory of a child component. When this function

successfully returns, `exposed_dir` is bound to a directory that

contains the capabilities which the child exposed to its realm via

`ComponentDecl.exposes` (specified via "expose" declarations in the

component's manifest). The child component will not start as a result of

this call.

`exposed_dir` is open as long as `child` exists.

Errors:

- `INVALID_ARGUMENTS`: `child` is not a valid child reference.

- `INSTANCE_NOT_FOUND`: `child` does not exist.

- `INSTANCE_CANNOT_RESOLVE`: `child`'s component declaration failed to resolve.

- `INSTANCE_DIED`: This realm no longer exists.

Allocates 32 bytes of response buffer on the stack. Request is heap-allocated.

::fidl::WireResult< ::fuchsia_component::Realm::CreateChild> CreateChild (const ::fuchsia_component_decl::wire::CollectionRef & collection, ::fuchsia_component_decl::wire::Child decl, ::fuchsia_component::wire::CreateChildArgs args)

Creates a child component instance dynamically. When this function

returns successfully, the instance exists, but it may not be running.

The environment of the child instance is determined by the environment

of the collection. `decl` must not set `environment`.

If `decl.startup == EAGER`, or `collection.durability == SINGLE_RUN`,

[CreateChild] will start the component and return once the component is

started. Otherwise, [CreateChild] will return immediately after creating

the component and will not start or resolve it.

Errors:

- `INVALID_ARGUMENTS`: `collection` is not a valid reference or `child`

is not a valid declaration.

- `COLLECTION_NOT_FOUND`: `collection` does not exist.

- `INSTANCE_ALREADY_EXISTS`: `decl.name` already exists in `collection`.

- `INSTANCE_CANNOT_RESOLVE`: `child`'s component declaration failed to resolve

in a `SingleRun` collection.

- `NO_SPACE`: Could not allocate storage for the new instance.

- `INSTANCE_DIED`: This realm no longer exists.

Allocates 32 bytes of response buffer on the stack. Request is heap-allocated.

::fidl::WireResult< ::fuchsia_component::Realm::DestroyChild> DestroyChild (const ::fuchsia_component_decl::wire::ChildRef & child)

Destroys a dynamically-created component instance. When this function

returns, the instance is destroyed and has stopped running. However,

cleanup of the component's resources (such as its isolated storage) may

happen in the background after this function returns.

Errors:

- `INVALID_ARGUMENTS`: `child` is not a valid reference or does not refer

to a dynamic instance.

- `INSTANCE_NOT_FOUND`: `child` does not exist.

- `COLLECTION_NOT_FOUND`: `collection` does not exist.

- `INSTANCE_DIED`: This realm no longer exists.

Allocates 32 bytes of response buffer on the stack. Request is heap-allocated.

::fidl::WireResult< ::fuchsia_component::Realm::ListChildren> ListChildren (const ::fuchsia_component_decl::wire::CollectionRef & collection, ::fidl::ServerEnd< ::fuchsia_component::ChildIterator> && iter)

Returns an iterator that lists all instances in a collection.

NOTE: The results are not guaranteed to be consistent. Instances may be

created or destroyed while the iterator is live, but those changes

won't be observed by the iterator after this method returns.

Errors:

- `INVALID_ARGUMENTS`: `collection` is not a valid reference or `iter`

does not have `ZX_RIGHT_WAIT`.

- `COLLECTION_NOT_FOUND`: `collection` does not exist.

- `INSTANCE_DIED`: This realm no longer exists.

- If `iter` does not have standard channel rights, this function may

return `ACCESS_DENIED` or component manager may close `iter`.

Allocates 176 bytes of message buffer on the stack. No heap allocation necessary.

::fidl::WireResult< ::fuchsia_component::Realm::GetResolvedInfo> GetResolvedInfo ()

Returns the set of information that was given to the component framework

by this component's resolver.

Allocates 16 bytes of request buffer on the stack. Response is heap-allocated.

::fidl::WireResult< ::fuchsia_component::Realm::GetChildOutputDictionaryDeprecated> GetChildOutputDictionaryDeprecated (const ::fuchsia_component_decl::wire::ChildRef & child)

Allocates 32 bytes of response buffer on the stack. Request is heap-allocated.

::fidl::WireResult< ::fuchsia_component::Realm::GetChildOutputDictionary> GetChildOutputDictionary (const ::fuchsia_component_decl::wire::ChildRef & child)

Returns a reference to a child's output dictionary, which may be

interacted with by using the fuchsia.component.runtime.Capabilities API.

Allocates 32 bytes of response buffer on the stack. Request is heap-allocated.