template <typename BuilderImpl>
class WireTableBaseBuilder
Defined at line 2511 of file fidling/gen/sdk/fidl/fuchsia.component/fuchsia.component/cpp/fidl/fuchsia.component/cpp/wire_types.h
Public Methods
::fuchsia_component::wire::CreateChildArgs Build ()
Build and return the table. The builder should not be used after this.
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 to pass to the component instance.
If the runner for the component does not support the numbered handles it is
expected to close the handles.
BuilderImpl & numbered_handles (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView< ::fuchsia_process::wire::HandleInfo>>> elem)
The numbered handles to pass to the component instance.
If the runner for the component does not support the numbered handles it is
expected to close the handles.
bool has_dynamic_offers ()
void clear_dynamic_offers ()
Clears the dynamic_offers field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fidl::VectorView< ::fuchsia_component_decl::wire::Offer> & dynamic_offers ()
Dynamic offers that will target the component instance.
Including `OfferDecl`s in this vector will cause additional capabilities
to be offered to the newly created child, beyond the `OfferDecl`s in the
parent's `ComponentDecl` that target the collection.
Any kind of offer (e.g., protocol, directory) can be used as a dynamic
offer. Any source that would be valid for a static offer is also valid
for a dynamic offer. Additionally, unlike static offers, dynamic offers
can use a "sibling" dynamic child component as a source by setting the
source to a `ChildRef` that sets the `collection` field.
Dynamic offers always target the newly created child component. As a
result, `OfferDecl`s in `dynamic_offers` must not set the `target`
field, as its value is implied.
If either the source (that is, the component named in the `source` field
of the `OfferDecl`) or the target of a dynamic offer is destroyed, the
offer itself is destroyed simultaneously.
In order to set this field to a non-empty value, the collection in which
the child component is being created must specify
`ComponentDecl.allowed_offers = STATIC_AND_DYNAMIC`.
BuilderImpl & dynamic_offers (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView< ::fuchsia_component_decl::wire::Offer>>> elem)
Dynamic offers that will target the component instance.
Including `OfferDecl`s in this vector will cause additional capabilities
to be offered to the newly created child, beyond the `OfferDecl`s in the
parent's `ComponentDecl` that target the collection.
Any kind of offer (e.g., protocol, directory) can be used as a dynamic
offer. Any source that would be valid for a static offer is also valid
for a dynamic offer. Additionally, unlike static offers, dynamic offers
can use a "sibling" dynamic child component as a source by setting the
source to a `ChildRef` that sets the `collection` field.
Dynamic offers always target the newly created child component. As a
result, `OfferDecl`s in `dynamic_offers` must not set the `target`
field, as its value is implied.
If either the source (that is, the component named in the `source` field
of the `OfferDecl`) or the target of a dynamic offer is destroyed, the
offer itself is destroyed simultaneously.
In order to set this field to a non-empty value, the collection in which
the child component is being created must specify
`ComponentDecl.allowed_offers = STATIC_AND_DYNAMIC`.
bool has_controller ()
void clear_controller ()
Clears the controller field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fidl::ServerEnd< ::fuchsia_component::Controller> & controller ()
The controller for this component, which may be used to influence the
component's lifecycle.
BuilderImpl & controller (::fidl::ServerEnd< ::fuchsia_component::Controller> elem)
The controller for this component, which may be used to influence the
component's lifecycle.
bool has_dictionary ()
void clear_dictionary ()
Clears the 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 & dictionary ()
A dictionary that contains extra capabilities for the component instance.
This field should be considered deprecated in favor of
`additional_inputs`. If both are set, an `INVALID_ARGUMENTS` error will
be returned.
BuilderImpl & dictionary (::fuchsia_component_sandbox::wire::DictionaryRef elem)
A dictionary that contains extra capabilities for the component instance.
This field should be considered deprecated in favor of
`additional_inputs`. If both are set, an `INVALID_ARGUMENTS` error will
be returned.
bool has_additional_inputs ()
void clear_additional_inputs ()
Clears the additional_inputs field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::zx::eventpair & additional_inputs ()
A handle to a dictionary created using
fuchsia.component.runtime.Capabilities that contains additional
capabilities that should be added to the inputs of the created child.
BuilderImpl & additional_inputs (::zx::eventpair elem)
A handle to a dictionary created using
fuchsia.component.runtime.Capabilities that contains additional
capabilities that should be added to the inputs of the created child.
Protected Methods
void WireTableBaseBuilder< ::fuchsia_component::wire::CreateChildArgs, BuilderImpl> (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_component::wire::CreateChildArgs>> && frame)