template <typename BuilderImpl>

class WireTableBaseBuilder

Defined at line 2843 of file fidling/gen/sdk/fidl/fuchsia.driver.framework/fuchsia.driver.framework/cpp/fidl/fuchsia.driver.framework/cpp/wire_types.h

Public Methods

::fuchsia_driver_framework::wire::DriverStartArgs Build ()

Build and return the table. The builder should not be used after this.

bool has_node ()
void clear_node ()

Clears the node field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fidl::ClientEnd< ::fuchsia_driver_framework::Node> & node ()

Node that the driver is bound to.

BuilderImpl & node (::fidl::ClientEnd< ::fuchsia_driver_framework::Node> elem)

Node that the driver is bound to.

bool has_symbols ()
void clear_symbols ()

Clears the symbols field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fidl::VectorView< ::fuchsia_driver_framework::wire::NodeSymbol> & symbols ()

Symbols provided to the driver, for |node|. These come from the driver

that added |node|, and are filtered to the symbols requested in the bind

program.

BuilderImpl & symbols (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView< ::fuchsia_driver_framework::wire::NodeSymbol>>> elem)

Symbols provided to the driver, for |node|. These come from the driver

that added |node|, and are filtered to the symbols requested in the bind

program.

bool has_url ()
void clear_url ()

Clears the url field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fidl::StringView & url ()

URL of the package containing the driver. This is purely informational,

used only to provide data for inspect.

BuilderImpl & url (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::StringView>> elem)

URL of the package containing the driver. This is purely informational,

used only to provide data for inspect.

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 ()

Information about the driver to start. Currently, we support the

following entries:

1. "binary": a string containing the package-relative path to the

driver binary.

2. "colocate" (optional): a string containing "true" or "false"

specifying whether the driver should be colocated in the same

driver host as the driver that added |node|. If not specified, the

driver will be launched in a new driver host.

3. "default_dispatcher_opts" (optional): an array of strings specifying

the options for creating the default dispatcher. A string can be one

of the following:

* `allow_sync_calls`: allows synchronous calls to be done on the

default dispatcher's thread.

4. "default_dispatcher_scheduler_role" (optional): the scheduler role to

set for the default dispatcher created for the driver.

BuilderImpl & program (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fuchsia_data::wire::Dictionary>> elem)

Information about the driver to start. Currently, we support the

following entries:

1. "binary": a string containing the package-relative path to the

driver binary.

2. "colocate" (optional): a string containing "true" or "false"

specifying whether the driver should be colocated in the same

driver host as the driver that added |node|. If not specified, the

driver will be launched in a new driver host.

3. "default_dispatcher_opts" (optional): an array of strings specifying

the options for creating the default dispatcher. A string can be one

of the following:

* `allow_sync_calls`: allows synchronous calls to be done on the

default dispatcher's thread.

4. "default_dispatcher_scheduler_role" (optional): the scheduler role to

set for the default dispatcher created for the driver.

bool has_incoming ()
void clear_incoming ()

Clears the incoming 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> & incoming ()

Incoming namespace provided to the driver.

BuilderImpl & incoming (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView< ::fuchsia_component_runner::wire::ComponentNamespaceEntry>>> elem)

Incoming namespace provided to the driver.

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 ()

Outgoing directory served by the driver.

BuilderImpl & outgoing_dir (::fidl::ServerEnd< ::fuchsia_io::Directory> elem)

Outgoing directory served by the driver.

bool has_config ()
void clear_config ()

Clears the config field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::zx::vmo & config ()

Configuration passed to the driver.

BuilderImpl & config (::zx::vmo elem)

Configuration passed to the driver.

bool has_node_name ()
void clear_node_name ()

Clears the node_name field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fidl::StringView & node_name ()

The name of the node the driver is bound to.

BuilderImpl & node_name (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::StringView>> elem)

The name of the node the driver is bound to.

bool has_node_properties ()
void clear_node_properties ()

Clears the node_properties field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fidl::VectorView< ::fuchsia_driver_framework::wire::NodePropertyEntry> & node_properties ()

Node properties of the node the driver is bound to.

If the node is non-composite then the "default" entry will contain the

node's own properties.

If the node is a composite then there is an entry for each of its parents

and the "default" entry will reference the primary composite parent

node's properties. The composite parent node's properties are those that

were provided in the composite node specification and not the original

properties of the parent.

BuilderImpl & node_properties (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView< ::fuchsia_driver_framework::wire::NodePropertyEntry>>> elem)

Node properties of the node the driver is bound to.

If the node is non-composite then the "default" entry will contain the

node's own properties.

If the node is a composite then there is an entry for each of its parents

and the "default" entry will reference the primary composite parent

node's properties. The composite parent node's properties are those that

were provided in the composite node specification and not the original

properties of the parent.

bool has_node_offers ()
void clear_node_offers ()

Clears the node_offers field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fidl::VectorView< ::fuchsia_driver_framework::wire::Offer> & node_offers ()

Node offers of the node the driver is bound to.

BuilderImpl & node_offers (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView< ::fuchsia_driver_framework::wire::Offer>>> elem)

Node offers of the node the driver is bound to.

bool has_node_token ()
void clear_node_token ()

Clears the node_token field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::zx::event & node_token ()

Provides a token representing this node which can be exchanged with the

driver framework to discern additional information about this node.

BuilderImpl & node_token (::zx::event elem)

Provides a token representing this node which can be exchanged with the

driver framework to discern additional information about this node.

bool has_node_properties_2 ()
void clear_node_properties_2 ()

Clears the node_properties_2 field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fidl::VectorView< ::fuchsia_driver_framework::wire::NodePropertyEntry2> & node_properties_2 ()

Getter for node_properties_2.

BuilderImpl & node_properties_2 (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView< ::fuchsia_driver_framework::wire::NodePropertyEntry2>>> elem)

Setter for node_properties_2.

bool has_vmar ()
void clear_vmar ()

Clears the vmar field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::zx::vmar & vmar ()

Root VMAR the driver is mapped into. All child mappings should be placed into this VMAR

if they want to have the same scheduler profile applied to them.

BuilderImpl & vmar (::zx::vmar elem)

Root VMAR the driver is mapped into. All child mappings should be placed into this VMAR

if they want to have the same scheduler profile applied to them.

bool has_power_element_args ()
void clear_power_element_args ()

Clears the power_element_args field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fuchsia_driver_framework::wire::PowerElementArgs & power_element_args ()

Handles related to the driver's power elements on products where suspend is enabled by the

`fuchsia.power.SuspendEnabled` config capability.

If the driver's manifest contains `suspend_enabled = "true"` in the program section of its

manifest, the `element_server`, `lessor_client`, and `token` are passed to the driver,

otherwise the handles are retained by the driver host. `control_client` is always retained

by the driver host and never passed to the driver.

BuilderImpl & power_element_args (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fuchsia_driver_framework::wire::PowerElementArgs>> elem)

Handles related to the driver's power elements on products where suspend is enabled by the

`fuchsia.power.SuspendEnabled` config capability.

If the driver's manifest contains `suspend_enabled = "true"` in the program section of its

manifest, the `element_server`, `lessor_client`, and `token` are passed to the driver,

otherwise the handles are retained by the driver host. `control_client` is always retained

by the driver host and never passed to the driver.

Protected Methods

void WireTableBaseBuilder< ::fuchsia_driver_framework::wire::DriverStartArgs, BuilderImpl> (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_driver_framework::wire::DriverStartArgs>> && frame)

Records