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)

Records