template <>
class NaturalSyncClientImpl
Defined at line 1487 of file fidling/gen/sdk/fidl/fuchsia.component/fuchsia.component/cpp/fidl/fuchsia.component/cpp/natural_messaging.h
Public Methods
::fidl::Result< ::fuchsia_component::Realm::OpenController> OpenController (::fidl::Request< ::fuchsia_component::Realm::OpenController> request)
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.
::fidl::Result< ::fuchsia_component::Realm::OpenExposedDir> OpenExposedDir (::fidl::Request< ::fuchsia_component::Realm::OpenExposedDir> request)
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.
::fidl::Result< ::fuchsia_component::Realm::CreateChild> CreateChild (::fidl::Request< ::fuchsia_component::Realm::CreateChild> request)
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.
::fidl::Result< ::fuchsia_component::Realm::DestroyChild> DestroyChild (const ::fidl::Request< ::fuchsia_component::Realm::DestroyChild> & request)
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.
::fidl::Result< ::fuchsia_component::Realm::ListChildren> ListChildren (::fidl::Request< ::fuchsia_component::Realm::ListChildren> request)
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`.
::fidl::Result< ::fuchsia_component::Realm::GetResolvedInfo> GetResolvedInfo ()
Returns the set of information that was given to the component framework
by this component's resolver.
::fidl::Result< ::fuchsia_component::Realm::GetChildOutputDictionaryDeprecated> GetChildOutputDictionaryDeprecated (::fidl::Request< ::fuchsia_component::Realm::GetChildOutputDictionaryDeprecated> request)
::fidl::Result< ::fuchsia_component::Realm::GetChildOutputDictionary> GetChildOutputDictionary (::fidl::Request< ::fuchsia_component::Realm::GetChildOutputDictionary> request)
Returns a reference to a child's output dictionary, which may be
interacted with by using the fuchsia.component.runtime.Capabilities API.