template <>
class WireWeakSyncClientImpl
Defined at line 7610 of file fidling/gen/sdk/fidl/fuchsia.component.test/fuchsia.component.test/cpp/fidl/fuchsia.component.test/cpp/wire_messaging.h
Public Methods
::fidl::WireResult< ::fuchsia_component_test::Realm::AddChild> AddChild (::fidl::StringView name, ::fidl::StringView url, ::fuchsia_component_test::wire::ChildOptions options)
Adds a component to the realm.
The `url` can be in one of the following formats:
- an absolute component URL (such as,
"fuchsia-pkg://fuchsia.com/some-package#meta/some-component.cm")
- a relative path component URL to a subpackaged component (like,
"some-subpackage#meta/subpackaged-component.cm"); or
- a relative fragment-only URL (like, `#meta/other-component.cm`;
see https://fuchsia.dev/fuchsia-src/reference/components/url#relative-fragment-only)
indicating the path to a component manifest in the `pkg_dir` supplied
to `RealmBuilderFactory::Create*()`.
The realm builder client typically passes a handle to its own `/pkg`
directory, and bundles the `other-component` into the same package.
Of the three URL types, _only_ component declarations added via the
fragment-only URL can be modified, via
`GetComponentDecl`/`ReplaceComponentDecl` because realm builder actually
performs its own component resolution from the component's manifest and
files bundled in the provided `pkg_dir` (typically from the package
shared by the realm builder client component and the components added
via fragment-only URL).
Errors:
- `CHILD_ALREADY_EXISTS`: this realm already contains a child with the
given name.
- `INVALID_MANIFEST_EXTENSION`: `url` does not end with `.cm`
- `DECL_NOT_FOUND`: The test package does not contain the component
declaration referenced by a fragment-only component URL.
- `DECL_READ_ERROR`: Encountered an I/O error when attempting to read a
component declaration referenced by a fragment-only component URL from
the test package.
- `BUILD_ALREADY_CALLED`: The `Builder.Build` function has been called
for this realm, and thus this `Realm` channel can no longer be used.
Allocates 32 bytes of response buffer on the stack. Request is heap-allocated.
::fidl::WireResult< ::fuchsia_component_test::Realm::AddChildFromDecl> AddChildFromDecl (::fidl::StringView name, ::fuchsia_component_decl::wire::Component decl, ::fuchsia_component_test::wire::ChildOptions options)
Adds a component to this realm whose declaration is set to `decl`. When
launched, the component will share the test package as its package
directory, and may access any resources from it.
Errors:
- `CHILD_ALREADY_EXISTS`: this realm already contains a child with the
given name.
- `INVALID_COMPONENT_DECL`: `decl` failed validation.
- `BUILD_ALREADY_CALLED`: The `Builder.Build` function has been called
for this realm, and thus this `Realm` channel can no longer be used.
Allocates 32 bytes of response buffer on the stack. Request is heap-allocated.
::fidl::WireResult< ::fuchsia_component_test::Realm::AddLocalChild> AddLocalChild (::fidl::StringView name, ::fuchsia_component_test::wire::ChildOptions options)
Adds a component to the realm whose implementation will be provided by
the client. When this component should be started, the runner channel
passed into `Build` will receive a start request for a component whose
`ProgramDecl` contains the moniker from the root of the
constructed realm for the child that is to be run under the `program`
key `LOCAL_COMPONENT_NAME`.
Errors:
- `CHILD_ALREADY_EXISTS`: this realm already contains a child with the
given name.
- `BUILD_ALREADY_CALLED`: The `Builder.Build` function has been called
for this realm, and thus this `Realm` channel can no longer be used.
Allocates 32 bytes of response buffer on the stack. Request is heap-allocated.
::fidl::WireResult< ::fuchsia_component_test::Realm::AddChildRealm> AddChildRealm (::fidl::StringView name, ::fuchsia_component_test::wire::ChildOptions options, ::fidl::ServerEnd< ::fuchsia_component_test::Realm> && child_realm)
Adds a child realm which can be built with the client end of
`child_realm`.
Errors:
- `CHILD_ALREADY_EXISTS`: this realm already contains a child with the
given name.
- `BUILD_ALREADY_CALLED`: The `Builder.Build` function has been called
for this realm, and thus this `Realm` channel can no longer be used.
Allocates 32 bytes of response buffer on the stack. Request is heap-allocated.
::fidl::WireResult< ::fuchsia_component_test::Realm::AddChildRealmFromRelativeUrl> AddChildRealmFromRelativeUrl (::fidl::StringView name, ::fidl::StringView relative_url, ::fuchsia_component_test::wire::ChildOptions options, ::fidl::ServerEnd< ::fuchsia_component_test::Realm> && child_realm)
Adds a child realm which can be built with the client end of
`child_realm`, and whose contents are initialized from `relative_url`.
`relative_url` must be a fragment-only URL.
Allocates 32 bytes of response buffer on the stack. Request is heap-allocated.
::fidl::WireResult< ::fuchsia_component_test::Realm::AddChildRealmFromDecl> AddChildRealmFromDecl (::fidl::StringView name, ::fuchsia_component_decl::wire::Component decl, ::fuchsia_component_test::wire::ChildOptions options, ::fidl::ServerEnd< ::fuchsia_component_test::Realm> && child_realm)
Adds a child realm which can be built with the client end of
`child_realm`, and whose contents are initialized from `decl`.
Allocates 32 bytes of response buffer on the stack. Request is heap-allocated.
::fidl::WireResult< ::fuchsia_component_test::Realm::GetComponentDecl> GetComponentDecl (::fidl::StringView name)
Returns the component decl for the given component. `name` must refer to
a component that is one of the following:
- A component with a local implementation
- A legacy component
- A component added with a fragment-only URL (typically, components
bundled in the same package as the realm builder client, sharing the
same `/pkg` directory, for example, `#meta/other-component.cm`; see
https://fuchsia.dev/fuchsia-src/reference/components/url#relative-fragment-only)
- An automatically generated realm (ex: the root)
Errors:
- `NO_SUCH_CHILD`: This realm does not contain a child with the given
name.
- `CHILD_DECL_NOT_VISIBLE`: The component decl cannot be fetched for
the referenced child, because the child was added to the realm using
a modern (not legacy) absolute URL or subpackaged component's relative
path URL.
- `BUILD_ALREADY_CALLED`: The `Builder.Build` function has been called
for this realm, and thus this `Realm` channel can no longer be used.
Request is heap-allocated. Response is heap-allocated.
::fidl::WireResult< ::fuchsia_component_test::Realm::ReplaceComponentDecl> ReplaceComponentDecl (::fidl::StringView name, ::fuchsia_component_decl::wire::Component component_decl)
Replaces the component decl for the given component. `name` must
refer to a component that is one of the following:
- A component with a local implementation
- A legacy component
- A component added with a fragment-only URL (typically, components
bundled in the same package as the realm builder client, sharing the
same `/pkg` directory, for example, `#meta/other-component.cm`; see
https://fuchsia.dev/fuchsia-src/reference/components/url#relative-fragment-only)
- An automatically generated realm (ex: the root)
Errors:
- `NO_SUCH_CHILD`: This realm does not contain a child with the given
name.
- `CHILD_ALREADY_EXISTS`: The component whose decl is being replaced has
had a child added to it through realm builder with the same name as an
element in `component_decl.children`.
- `CHILD_DECL_NOT_VISIBLE`: The component decl cannot be manipulated for
the referenced child, because the child was added to the realm using
an absolute (not relative) and modern (not legacy) URL.
- `INVALID_COMPONENT_DECL`: `component_decl` failed validation.
- `BUILD_ALREADY_CALLED`: The `Builder.Build` function has been called
for this realm, and thus this `Realm` channel can no longer be used.
Allocates 32 bytes of response buffer on the stack. Request is heap-allocated.
::fidl::WireResult< ::fuchsia_component_test::Realm::GetRealmDecl> GetRealmDecl ()
Returns the component decl for this realm.
Errors:
- `BUILD_ALREADY_CALLED`: The `Builder.Build` function has been called
for this realm, and thus this `Realm` channel can no longer be used.
Allocates 16 bytes of request buffer on the stack. Response is heap-allocated.
::fidl::WireResult< ::fuchsia_component_test::Realm::ReplaceRealmDecl> ReplaceRealmDecl (::fuchsia_component_decl::wire::Component component_decl)
Replaces the component decl for this realm.
Errors:
- `INVALID_COMPONENT_DECL`: `component_decl` failed validation.
- `BUILD_ALREADY_CALLED`: The `Builder.Build` function has been called
for this realm, and thus this `Realm` channel can no longer be used.
Allocates 32 bytes of response buffer on the stack. Request is heap-allocated.
::fidl::WireResult< ::fuchsia_component_test::Realm::UseNestedComponentManager> UseNestedComponentManager (::fidl::StringView component_manager_relative_url)
Inform the realm builder server that this realm is using a nested component manager. It's
expected that the client library has already replaced the realm's declaration with a
passthrough component manager declaration, with the exception of the root url.
This method will arrange for [Builder.Build] to install the realm's generated url as the
root url in this component manager.
Allocates 32 bytes of response buffer on the stack. Request is heap-allocated.
::fidl::WireResult< ::fuchsia_component_test::Realm::AddRoute> AddRoute (::fidl::VectorView< ::fuchsia_component_test::wire::Capability> capabilities, ::fuchsia_component_decl::wire::Ref from, ::fidl::VectorView< ::fuchsia_component_decl::wire::Ref> to)
Identical to `AddRouteFromDictionary`, except it does not accept `from_dictionary` which
it always sets to ".".
Allocates 32 bytes of response buffer on the stack. Request is heap-allocated.
::fidl::WireResult< ::fuchsia_component_test::Realm::AddRouteFromDictionary> AddRouteFromDictionary (::fidl::VectorView< ::fuchsia_component_test::wire::Capability> capabilities, ::fuchsia_component_decl::wire::Ref from, ::fidl::StringView from_dictionary, ::fidl::VectorView< ::fuchsia_component_decl::wire::Ref> to)
Mutates component manifests in the realm such that every component in
`to` will have a valid capability route for each item in `capabilities`
provided by `from`.
Errors:
- `NO_SUCH_SOURCE`: `from` references a non-existent child.
- `NO_SUCH_TARGET`: `to` references a non-existent child.
- `CAPABILITIES_EMPTY`: `capabilities` is empty.
- `TARGETS_EMPTY`: `to` is empty.
- `SOURCE_AND_TARGET_MATCH`: `from` is equal to one of the elements in
`to`.
- `INVALID_COMPONENT_DECL`: The requested route caused one of the
involved manifests to fail validation.
- `BUILD_ALREADY_CALLED`: The `Builder.Build` function has been called
for this realm, and thus this `Realm` channel can no longer be used.
Allocates 32 bytes of response buffer on the stack. Request is heap-allocated.
::fidl::WireResult< ::fuchsia_component_test::Realm::ReadOnlyDirectory> ReadOnlyDirectory (::fidl::StringView name, ::fidl::VectorView< ::fuchsia_component_decl::wire::Ref> to, ::fuchsia_component_test::wire::DirectoryContents && directory_contents)
Offers a directory capability to a component in this realm. The
directory will be read-only (i.e. have `r*` rights), and will have the
contents described in `directory_contents`.
Errors:
- `NO_SUCH_TARGET`: `offer-to` references a non-existent child.
- `BUILD_ALREADY_CALLED`: The `Builder.Build` function has been called
for this realm, and thus this `Realm` channel can no longer be used.
Allocates 32 bytes of response buffer on the stack. Request is heap-allocated.
::fidl::WireResult< ::fuchsia_component_test::Realm::AddStorage> AddStorage (::fidl::StringView name, ::fidl::VectorView< ::fuchsia_component_decl::wire::Ref> to, ::fidl::ServerEnd< ::fuchsia_component::StorageAdmin> && storage_admin)
Creates and routes a new storage capability to the provided targets.
Optionally can connect the provided channel the the
`fuchsia.sys2.StorageAdmin` protocol for this storage capability.
Allocates 32 bytes of response buffer on the stack. Request is heap-allocated.
::fidl::WireResult< ::fuchsia_component_test::Realm::InitMutableConfigFromPackage> InitMutableConfigFromPackage (::fidl::StringView name)
Load any packaged configuration for `name` before using values provided to
the builder.
Allows calling `SetConfigValue` to override packaged configuration.
Allocates 320 bytes of message buffer on the stack. No heap allocation necessary.
::fidl::WireResult< ::fuchsia_component_test::Realm::InitMutableConfigToEmpty> InitMutableConfigToEmpty (::fidl::StringView name)
Use only values provided to the builder for `name`'s configuration.
Allows calling `SetConfigValue` to provide configuration.
Allocates 320 bytes of message buffer on the stack. No heap allocation necessary.
::fidl::WireResult< ::fuchsia_component_test::Realm::AddCapability> AddCapability (::fuchsia_component_decl::wire::Capability capability)
Add a capability to the realm.
Allocates 32 bytes of response buffer on the stack. Request is heap-allocated.
::fidl::WireResult< ::fuchsia_component_test::Realm::AddCollection> AddCollection (::fuchsia_component_decl::wire::Collection collection)
Adds a collection to the realm.
Allocates 352 bytes of message buffer on the stack. No heap allocation necessary.
::fidl::WireResult< ::fuchsia_component_test::Realm::AddEnvironment> AddEnvironment (::fuchsia_component_decl::wire::Environment environment)
Adds an environment to the realm.
Allocates 32 bytes of response buffer on the stack. Request is heap-allocated.
::fidl::WireResult< ::fuchsia_component_test::Realm::SetConfigValue> SetConfigValue (::fidl::StringView name, ::fidl::StringView key, ::fuchsia_component_decl::wire::ConfigValueSpec value)
Sets the configuration value for a field specified by `key`.
The component specified must have a config schema with this field.
The value must conform to all constraints as defined by the schema.
This method must be called after either `InitMutableConfigFromPackage` or
`InitMutableConfigToEmpty`.
Errors:
- `NO_CONFIG_SCHEMA`: component does not have a config schema
- `NO_SUCH_CONFIG_FIELD`: `key` could not be found in component's config schema
- `CONFIG_VALUE_INVALID`: `value` does not meet config schema constraints
Allocates 32 bytes of response buffer on the stack. Request is heap-allocated.