class DriverStartArgs

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

Arguments for starting a driver.

Public Members

static const fidl_type_t * FidlType

Public Methods

bool IsEmpty ()

Returns whether no field is set.

DriverStartArgs & set_node (::fidl::InterfaceHandle< ::fuchsia::driver::framework::Node> _value)
DriverStartArgs & set_symbols (::std::vector< ::fuchsia::driver::framework::NodeSymbol> _value)
DriverStartArgs & set_url (::std::string _value)
DriverStartArgs & set_program (::fuchsia::data::Dictionary _value)
DriverStartArgs & set_incoming (::std::vector< ::fuchsia::component::runner::ComponentNamespaceEntry> _value)
DriverStartArgs & set_outgoing_dir (::fidl::InterfaceRequest< ::fuchsia::io::Directory> _value)
DriverStartArgs & set_config (::zx::vmo _value)
DriverStartArgs & set_node_name (::std::string _value)
DriverStartArgs & set_node_properties (::std::vector< ::fuchsia::driver::framework::NodePropertyEntry> _value)
DriverStartArgs & set_node_offers (::std::vector< ::fuchsia::driver::framework::Offer> _value)
DriverStartArgs & set_node_token (::zx::event _value)
DriverStartArgs & set_node_properties_2 (::std::vector< ::fuchsia::driver::framework::NodePropertyEntry2> _value)
DriverStartArgs & set_vmar (::zx::vmar _value)
DriverStartArgs & set_power_element_args (::fuchsia::driver::framework::PowerElementArgs _value)
DriverStartArgs & set_log_sink (::fidl::InterfaceHandle< ::fuchsia::logger::LogSink> _value)
void DriverStartArgs ()
void DriverStartArgs (DriverStartArgs && other)
void ~DriverStartArgs ()
DriverStartArgs & operator= (DriverStartArgs && other)
::std::unique_ptr<DriverStartArgs> New ()
void Encode (::fidl::Encoder * _encoder, size_t _offset, std::optional< ::fidl::HandleInformation> maybe_handle_info)
void Decode (::fidl::Decoder * _decoder, DriverStartArgs * _value, size_t _offset)
zx_status_t Clone (DriverStartArgs * _result)
const ::fidl::InterfaceHandle< ::fuchsia::driver::framework::Node> & node ()

Node that the driver is bound to.

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

bool has_node ()

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

::fidl::InterfaceHandle< ::fuchsia::driver::framework::Node> * mutable_node ()

Node that the driver is bound to.

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

void clear_node ()

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

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

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

bool has_symbols ()

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

::std::vector< ::fuchsia::driver::framework::NodeSymbol> * mutable_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.

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

void clear_symbols ()

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

const ::std::string & url ()

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

used only to provide data for inspect.

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

bool has_url ()

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

::std::string * mutable_url ()

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

used only to provide data for inspect.

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

void clear_url ()

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

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

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

bool has_program ()

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

::fuchsia::data::Dictionary * mutable_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.

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

void clear_program ()

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

const ::std::vector< ::fuchsia::component::runner::ComponentNamespaceEntry> & incoming ()

Incoming namespace provided to the driver.

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

bool has_incoming ()

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

::std::vector< ::fuchsia::component::runner::ComponentNamespaceEntry> * mutable_incoming ()

Incoming namespace provided to the driver.

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

void clear_incoming ()

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

const ::fidl::InterfaceRequest< ::fuchsia::io::Directory> & outgoing_dir ()

Outgoing directory served by the driver.

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

bool has_outgoing_dir ()

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

::fidl::InterfaceRequest< ::fuchsia::io::Directory> * mutable_outgoing_dir ()

Outgoing directory served by the driver.

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

void clear_outgoing_dir ()

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

const ::zx::vmo & config ()

Configuration passed to the driver.

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

bool has_config ()

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

::zx::vmo * mutable_config ()

Configuration passed to the driver.

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

void clear_config ()

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

const ::std::string & node_name ()

The name of the node the driver is bound to.

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

bool has_node_name ()

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

::std::string * mutable_node_name ()

The name of the node the driver is bound to.

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

void clear_node_name ()

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

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

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

bool has_node_properties ()

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

::std::vector< ::fuchsia::driver::framework::NodePropertyEntry> * mutable_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.

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

void clear_node_properties ()

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

const ::std::vector< ::fuchsia::driver::framework::Offer> & node_offers ()

Node offers of the node the driver is bound to.

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

bool has_node_offers ()

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

::std::vector< ::fuchsia::driver::framework::Offer> * mutable_node_offers ()

Node offers of the node the driver is bound to.

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

void clear_node_offers ()

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

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

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

bool has_node_token ()

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

::zx::event * mutable_node_token ()

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

driver framework to discern additional information about this node.

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

void clear_node_token ()

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

const ::std::vector< ::fuchsia::driver::framework::NodePropertyEntry2> & node_properties_2 ()

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

bool has_node_properties_2 ()

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

::std::vector< ::fuchsia::driver::framework::NodePropertyEntry2> * mutable_node_properties_2 ()

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

void clear_node_properties_2 ()

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

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

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

bool has_vmar ()

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

::zx::vmar * mutable_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.

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

void clear_vmar ()

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

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

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

bool has_power_element_args ()

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

::fuchsia::driver::framework::PowerElementArgs * mutable_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.

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

void clear_power_element_args ()

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

const ::fidl::InterfaceHandle< ::fuchsia::logger::LogSink> & log_sink ()

Log sink channel.

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

bool has_log_sink ()

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

::fidl::InterfaceHandle< ::fuchsia::logger::LogSink> * mutable_log_sink ()

Log sink channel.

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

void clear_log_sink ()

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