template <typename BuilderImpl>
class WireTableBaseBuilder
Defined at line 534 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/cpp/fidl/fuchsia.component.runner/cpp/wire_types.h
Public Methods
::fuchsia_component_runner::wire::ComponentStartInfo Build ()
Build and return the table. The builder should not be used after this.
bool has_resolved_url ()
void clear_resolved_url ()
Clears the resolved_url field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fidl::StringView & resolved_url ()
The URL of the component. Called `resolved_url` instead of just `url`
for historical reasons.
BuilderImpl & resolved_url (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::StringView>> elem)
The URL of the component. Called `resolved_url` instead of just `url`
for historical reasons.
bool has_program ()
void clear_program ()
Clears the program field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fuchsia_data::wire::Dictionary & program ()
The component's program declaration.
This information originates from `ComponentDecl.program`.
BuilderImpl & program (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fuchsia_data::wire::Dictionary>> elem)
The component's program declaration.
This information originates from `ComponentDecl.program`.
bool has_ns ()
void clear_ns ()
Clears the ns field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fidl::VectorView< ::fuchsia_component_runner::wire::ComponentNamespaceEntry> & ns ()
The namespace to provide to the component instance.
A namespace specifies the set of directories that a component instance
receives at start-up. Through the namespace directories, a component
may access capabilities available to it. The contents of the namespace
are mainly determined by the component's `use` declarations but may
also contain additional capabilities automatically provided by the
framework.
By convention, a component's namespace typically contains some or all
of the following directories:
- "/svc": A directory containing services that the component requested
to use via its "import" declarations.
- "/pkg": A directory containing the component's package, including its
binaries, libraries, and other assets.
The mount points specified in each entry must be unique and
non-overlapping. For example, [{"/foo", ..}, {"/foo/bar", ..}] is
invalid.
BuilderImpl & ns (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView< ::fuchsia_component_runner::wire::ComponentNamespaceEntry>>> elem)
The namespace to provide to the component instance.
A namespace specifies the set of directories that a component instance
receives at start-up. Through the namespace directories, a component
may access capabilities available to it. The contents of the namespace
are mainly determined by the component's `use` declarations but may
also contain additional capabilities automatically provided by the
framework.
By convention, a component's namespace typically contains some or all
of the following directories:
- "/svc": A directory containing services that the component requested
to use via its "import" declarations.
- "/pkg": A directory containing the component's package, including its
binaries, libraries, and other assets.
The mount points specified in each entry must be unique and
non-overlapping. For example, [{"/foo", ..}, {"/foo/bar", ..}] is
invalid.
bool has_outgoing_dir ()
void clear_outgoing_dir ()
Clears the outgoing_dir field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fidl::ServerEnd< ::fuchsia_io::Directory> & outgoing_dir ()
The directory this component serves.
BuilderImpl & outgoing_dir (::fidl::ServerEnd< ::fuchsia_io::Directory> elem)
The directory this component serves.
bool has_runtime_dir ()
void clear_runtime_dir ()
Clears the runtime_dir field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fidl::ServerEnd< ::fuchsia_io::Directory> & runtime_dir ()
The directory served by the runner to present runtime information about
the component. The runner must either serve it, or drop it to avoid
blocking any consumers indefinitely.
BuilderImpl & runtime_dir (::fidl::ServerEnd< ::fuchsia_io::Directory> elem)
The directory served by the runner to present runtime information about
the component. The runner must either serve it, or drop it to avoid
blocking any consumers indefinitely.
bool has_numbered_handles ()
void clear_numbered_handles ()
Clears the numbered_handles field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fidl::VectorView< ::fuchsia_process::wire::HandleInfo> & numbered_handles ()
The numbered handles that were passed to the component.
If the component does not support numbered handles, the runner is expected
to close the handles.
BuilderImpl & numbered_handles (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView< ::fuchsia_process::wire::HandleInfo>>> elem)
The numbered handles that were passed to the component.
If the component does not support numbered handles, the runner is expected
to close the handles.
bool has_encoded_config ()
void clear_encoded_config ()
Clears the encoded_config field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fuchsia_mem::wire::Data & encoded_config ()
Binary representation of the component's configuration.
# Layout
The first 2 bytes of the data should be interpreted as an unsigned 16-bit
little-endian integer which denotes the number of bytes following it that
contain the configuration checksum. After the checksum, all the remaining
bytes are a persistent FIDL message of a top-level struct. The struct's
fields match the configuration fields of the component's compiled manifest
in the same order.
BuilderImpl & encoded_config (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fuchsia_mem::wire::Data>> elem)
Binary representation of the component's configuration.
# Layout
The first 2 bytes of the data should be interpreted as an unsigned 16-bit
little-endian integer which denotes the number of bytes following it that
contain the configuration checksum. After the checksum, all the remaining
bytes are a persistent FIDL message of a top-level struct. The struct's
fields match the configuration fields of the component's compiled manifest
in the same order.
bool has_break_on_start ()
void clear_break_on_start ()
Clears the break_on_start field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::zx::eventpair & break_on_start ()
An eventpair that debuggers can use to defer the launch of the component.
For example, ELF runners hold off from creating processes in the component
until ZX_EVENTPAIR_PEER_CLOSED is signaled on this eventpair. They also
ensure that runtime_dir is served before waiting on this eventpair.
ELF debuggers can query the runtime_dir to decide whether to attach before
they drop the other side of the eventpair, which is sent in the payload of
the DebugStarted event in fuchsia.component.events.
BuilderImpl & break_on_start (::zx::eventpair elem)
An eventpair that debuggers can use to defer the launch of the component.
For example, ELF runners hold off from creating processes in the component
until ZX_EVENTPAIR_PEER_CLOSED is signaled on this eventpair. They also
ensure that runtime_dir is served before waiting on this eventpair.
ELF debuggers can query the runtime_dir to decide whether to attach before
they drop the other side of the eventpair, which is sent in the payload of
the DebugStarted event in fuchsia.component.events.
bool has_component_instance ()
void clear_component_instance ()
Clears the component_instance field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::zx::event & component_instance ()
An opaque token that represents the component instance.
The `fuchsia.component/Introspector` protocol may be used to get the
string moniker of the instance from this token.
Runners may publish this token as part of diagnostics information, to
identify the running component without knowing its moniker.
The token is invalidated when the component instance is destroyed.
BuilderImpl & component_instance (::zx::event elem)
An opaque token that represents the component instance.
The `fuchsia.component/Introspector` protocol may be used to get the
string moniker of the instance from this token.
Runners may publish this token as part of diagnostics information, to
identify the running component without knowing its moniker.
The token is invalidated when the component instance is destroyed.
bool has_escrowed_dictionary ()
void clear_escrowed_dictionary ()
Clears the escrowed_dictionary field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fuchsia_component_sandbox::wire::DictionaryRef & escrowed_dictionary ()
A dictionary containing data and handles that the component has escrowed
during its previous execution via [`ComponentController.OnEscrow`]. Note
that this field is considered deprecated, please use
`escrowed_dictionary_handle` instead.
BuilderImpl & escrowed_dictionary (::fuchsia_component_sandbox::wire::DictionaryRef elem)
A dictionary containing data and handles that the component has escrowed
during its previous execution via [`ComponentController.OnEscrow`]. Note
that this field is considered deprecated, please use
`escrowed_dictionary_handle` instead.
bool has_escrowed_dictionary_handle ()
void clear_escrowed_dictionary_handle ()
Clears the escrowed_dictionary_handle field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::zx::eventpair & escrowed_dictionary_handle ()
A dictionary containing data and handles that the component has escrowed
during its previous execution via [`ComponentController.OnEscrow`].
BuilderImpl & escrowed_dictionary_handle (::zx::eventpair elem)
A dictionary containing data and handles that the component has escrowed
during its previous execution via [`ComponentController.OnEscrow`].
Protected Methods
void WireTableBaseBuilder< ::fuchsia_component_runner::wire::ComponentStartInfo, BuilderImpl> (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_component_runner::wire::ComponentStartInfo>> && frame)