class DriverStartArgs

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

Arguments for starting a driver.

Public Methods

void DriverStartArgs ()

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

void DriverStartArgs (DriverStartArgs && )

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

void DriverStartArgs (Storage_ storage)
bool IsEmpty ()
const std::optional< ::fidl::ClientEnd< ::fuchsia_driver_framework::Node>> & node ()

Node that the driver is bound to.

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

Node that the driver is bound to.

DriverStartArgs & node (std::optional< ::fidl::ClientEnd< ::fuchsia_driver_framework::Node>> value)

Node that the driver is bound to.

const std::optional< ::std::vector< ::fuchsia_driver_framework::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.

::std::optional< ::std::vector< ::fuchsia_driver_framework::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.

DriverStartArgs & symbols (std::optional< ::std::vector< ::fuchsia_driver_framework::NodeSymbol>> value)

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.

const std::optional< ::std::string> & url ()

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

used only to provide data for inspect.

::std::optional< ::std::string> & url ()

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

used only to provide data for inspect.

DriverStartArgs & url (std::optional< ::std::string> value)

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

used only to provide data for inspect.

const std::optional< ::fuchsia_data::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.

::std::optional< ::fuchsia_data::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.

DriverStartArgs & program (std::optional< ::fuchsia_data::Dictionary> value)

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.

const std::optional< ::std::vector< ::fuchsia_component_runner::ComponentNamespaceEntry>> & incoming ()

Incoming namespace provided to the driver.

::std::optional< ::std::vector< ::fuchsia_component_runner::ComponentNamespaceEntry>> & incoming ()

Incoming namespace provided to the driver.

DriverStartArgs & incoming (std::optional< ::std::vector< ::fuchsia_component_runner::ComponentNamespaceEntry>> value)

Incoming namespace provided to the driver.

const std::optional< ::fidl::ServerEnd< ::fuchsia_io::Directory>> & outgoing_dir ()

Outgoing directory served by the driver.

::std::optional< ::fidl::ServerEnd< ::fuchsia_io::Directory>> & outgoing_dir ()

Outgoing directory served by the driver.

DriverStartArgs & outgoing_dir (std::optional< ::fidl::ServerEnd< ::fuchsia_io::Directory>> value)

Outgoing directory served by the driver.

const std::optional< ::zx::vmo> & config ()

Configuration passed to the driver.

::std::optional< ::zx::vmo> & config ()

Configuration passed to the driver.

DriverStartArgs & config (std::optional< ::zx::vmo> value)

Configuration passed to the driver.

const std::optional< ::std::string> & node_name ()

The name of the node the driver is bound to.

::std::optional< ::std::string> & node_name ()

The name of the node the driver is bound to.

DriverStartArgs & node_name (std::optional< ::std::string> value)

The name of the node the driver is bound to.

const std::optional< ::std::vector< ::fuchsia_driver_framework::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.

::std::optional< ::std::vector< ::fuchsia_driver_framework::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.

DriverStartArgs & node_properties (std::optional< ::std::vector< ::fuchsia_driver_framework::NodePropertyEntry>> value)

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.

const std::optional< ::std::vector< ::fuchsia_driver_framework::Offer>> & node_offers ()

Node offers of the node the driver is bound to.

::std::optional< ::std::vector< ::fuchsia_driver_framework::Offer>> & node_offers ()

Node offers of the node the driver is bound to.

DriverStartArgs & node_offers (std::optional< ::std::vector< ::fuchsia_driver_framework::Offer>> value)

Node offers of the node the driver is bound to.

const std::optional< ::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.

::std::optional< ::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.

DriverStartArgs & node_token (std::optional< ::zx::event> value)

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

driver framework to discern additional information about this node.

const std::optional< ::std::vector< ::fuchsia_driver_framework::NodePropertyEntry2>> & node_properties_2 ()
::std::optional< ::std::vector< ::fuchsia_driver_framework::NodePropertyEntry2>> & node_properties_2 ()
DriverStartArgs & node_properties_2 (std::optional< ::std::vector< ::fuchsia_driver_framework::NodePropertyEntry2>> value)

Setter for node_properties_2.

const std::optional< ::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.

::std::optional< ::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.

DriverStartArgs & vmar (std::optional< ::zx::vmar> value)

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.

const std::optional< ::fuchsia_driver_framework::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.

::std::optional< ::fuchsia_driver_framework::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.

DriverStartArgs & power_element_args (std::optional< ::fuchsia_driver_framework::PowerElementArgs> value)

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.

void DriverStartArgs (::fidl::internal::DefaultConstructPossiblyInvalidObjectTag )
DriverStartArgs & operator= (DriverStartArgs && )

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

Friends

class MemberVisitor
class NaturalTableCodingTraits