class ComponentStartInfo

Defined at line 277 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

Parameters for starting a new component instance.

Public Members

static const fidl_type_t * FidlType

Public Methods

bool IsEmpty ()

Returns whether no field is set.

ComponentStartInfo & set_resolved_url (::std::string _value)
ComponentStartInfo & set_program (::fuchsia::data::Dictionary _value)
ComponentStartInfo & set_ns (::std::vector< ::fuchsia::component::runner::ComponentNamespaceEntry> _value)
ComponentStartInfo & set_outgoing_dir (::fidl::InterfaceRequest< ::fuchsia::io::Directory> _value)
ComponentStartInfo & set_runtime_dir (::fidl::InterfaceRequest< ::fuchsia::io::Directory> _value)
ComponentStartInfo & set_numbered_handles (::std::vector< ::fuchsia::process::HandleInfo> _value)
ComponentStartInfo & set_encoded_config (::fuchsia::mem::Data _value)
ComponentStartInfo & set_break_on_start (::zx::eventpair _value)
ComponentStartInfo & set_component_instance (::zx::event _value)
ComponentStartInfo & set_escrowed_dictionary (::fuchsia::component::sandbox::DictionaryRef _value)
ComponentStartInfo & set_escrowed_dictionary_handle (::zx::eventpair _value)
void ComponentStartInfo ()
void ComponentStartInfo (ComponentStartInfo && other)
void ~ComponentStartInfo ()
ComponentStartInfo & operator= (ComponentStartInfo && other)
::std::unique_ptr<ComponentStartInfo> New ()
void Encode (::fidl::Encoder * _encoder, size_t _offset, std::optional< ::fidl::HandleInformation> maybe_handle_info)
void Decode (::fidl::Decoder * _decoder, ComponentStartInfo * _value, size_t _offset)
zx_status_t Clone (ComponentStartInfo * _result)
const ::std::string & resolved_url ()

The URL of the component. Called `resolved_url` instead of just `url`

for historical reasons.

Defined at line 285 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

bool has_resolved_url ()

Defined at line 289 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

::std::string * mutable_resolved_url ()

The URL of the component. Called `resolved_url` instead of just `url`

for historical reasons.

Defined at line 295 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

void clear_resolved_url ()

Defined at line 303 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

const ::fuchsia::data::Dictionary & program ()

The component's program declaration.

This information originates from `ComponentDecl.program`.

Defined at line 313 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

bool has_program ()

Defined at line 317 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

::fuchsia::data::Dictionary * mutable_program ()

The component's program declaration.

This information originates from `ComponentDecl.program`.

Defined at line 323 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

void clear_program ()

Defined at line 331 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

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

The namespace to provide to the component instance.

A namespace specifies the set of directories that a component instance

receives at start-up. Through the namespace directories, a component

may access capabilities available to it. The contents of the namespace

are mainly determined by the component's `use` declarations but may

also contain additional capabilities automatically provided by the

framework.

By convention, a component's namespace typically contains some or all

of the following directories:

- "/svc": A directory containing services that the component requested

to use via its "import" declarations.

- "/pkg": A directory containing the component's package, including its

binaries, libraries, and other assets.

The mount points specified in each entry must be unique and

non-overlapping. For example, [{"/foo", ..}, {"/foo/bar", ..}] is

invalid.

Defined at line 359 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

bool has_ns ()

Defined at line 363 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

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

The namespace to provide to the component instance.

A namespace specifies the set of directories that a component instance

receives at start-up. Through the namespace directories, a component

may access capabilities available to it. The contents of the namespace

are mainly determined by the component's `use` declarations but may

also contain additional capabilities automatically provided by the

framework.

By convention, a component's namespace typically contains some or all

of the following directories:

- "/svc": A directory containing services that the component requested

to use via its "import" declarations.

- "/pkg": A directory containing the component's package, including its

binaries, libraries, and other assets.

The mount points specified in each entry must be unique and

non-overlapping. For example, [{"/foo", ..}, {"/foo/bar", ..}] is

invalid.

Defined at line 387 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

void clear_ns ()

Defined at line 395 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

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

The directory this component serves.

Defined at line 404 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

bool has_outgoing_dir ()

Defined at line 408 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

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

The directory this component serves.

Defined at line 413 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

void clear_outgoing_dir ()

Defined at line 421 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

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

The directory served by the runner to present runtime information about

the component. The runner must either serve it, or drop it to avoid

blocking any consumers indefinitely.

Defined at line 432 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

bool has_runtime_dir ()

Defined at line 436 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

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

The directory served by the runner to present runtime information about

the component. The runner must either serve it, or drop it to avoid

blocking any consumers indefinitely.

Defined at line 443 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

void clear_runtime_dir ()

Defined at line 451 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

const ::std::vector< ::fuchsia::process::HandleInfo> & numbered_handles ()

The numbered handles that were passed to the component.

If the component does not support numbered handles, the runner is expected

to close the handles.

Defined at line 463 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

bool has_numbered_handles ()

Defined at line 467 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

::std::vector< ::fuchsia::process::HandleInfo> * mutable_numbered_handles ()

The numbered handles that were passed to the component.

If the component does not support numbered handles, the runner is expected

to close the handles.

Defined at line 475 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

void clear_numbered_handles ()

Defined at line 483 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

const ::fuchsia::mem::Data & encoded_config ()

Binary representation of the component's configuration.

# Layout

The first 2 bytes of the data should be interpreted as an unsigned 16-bit

little-endian integer which denotes the number of bytes following it that

contain the configuration checksum. After the checksum, all the remaining

bytes are a persistent FIDL message of a top-level struct. The struct's

fields match the configuration fields of the component's compiled manifest

in the same order.

Defined at line 501 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

bool has_encoded_config ()

Defined at line 505 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

::fuchsia::mem::Data * mutable_encoded_config ()

Binary representation of the component's configuration.

# Layout

The first 2 bytes of the data should be interpreted as an unsigned 16-bit

little-endian integer which denotes the number of bytes following it that

contain the configuration checksum. After the checksum, all the remaining

bytes are a persistent FIDL message of a top-level struct. The struct's

fields match the configuration fields of the component's compiled manifest

in the same order.

Defined at line 519 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

void clear_encoded_config ()

Defined at line 527 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

const ::zx::eventpair & break_on_start ()

An eventpair that debuggers can use to defer the launch of the component.

For example, ELF runners hold off from creating processes in the component

until ZX_EVENTPAIR_PEER_CLOSED is signaled on this eventpair. They also

ensure that runtime_dir is served before waiting on this eventpair.

ELF debuggers can query the runtime_dir to decide whether to attach before

they drop the other side of the eventpair, which is sent in the payload of

the DebugStarted event in fuchsia.component.events.

Defined at line 543 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

bool has_break_on_start ()

Defined at line 547 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

::zx::eventpair * mutable_break_on_start ()

An eventpair that debuggers can use to defer the launch of the component.

For example, ELF runners hold off from creating processes in the component

until ZX_EVENTPAIR_PEER_CLOSED is signaled on this eventpair. They also

ensure that runtime_dir is served before waiting on this eventpair.

ELF debuggers can query the runtime_dir to decide whether to attach before

they drop the other side of the eventpair, which is sent in the payload of

the DebugStarted event in fuchsia.component.events.

Defined at line 559 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

void clear_break_on_start ()

Defined at line 567 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

const ::zx::event & component_instance ()

An opaque token that represents the component instance.

The `fuchsia.component/Introspector` protocol may be used to get the

string moniker of the instance from this token.

Runners may publish this token as part of diagnostics information, to

identify the running component without knowing its moniker.

The token is invalidated when the component instance is destroyed.

Defined at line 584 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

bool has_component_instance ()

Defined at line 588 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

::zx::event * mutable_component_instance ()

An opaque token that represents the component instance.

The `fuchsia.component/Introspector` protocol may be used to get the

string moniker of the instance from this token.

Runners may publish this token as part of diagnostics information, to

identify the running component without knowing its moniker.

The token is invalidated when the component instance is destroyed.

Defined at line 601 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

void clear_component_instance ()

Defined at line 609 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

const ::fuchsia::component::sandbox::DictionaryRef & escrowed_dictionary ()

A dictionary containing data and handles that the component has escrowed

during its previous execution via [`ComponentController.OnEscrow`]. Note

that this field is considered deprecated, please use

`escrowed_dictionary_handle` instead.

Defined at line 621 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

bool has_escrowed_dictionary ()

Defined at line 625 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

::fuchsia::component::sandbox::DictionaryRef * mutable_escrowed_dictionary ()

A dictionary containing data and handles that the component has escrowed

during its previous execution via [`ComponentController.OnEscrow`]. Note

that this field is considered deprecated, please use

`escrowed_dictionary_handle` instead.

Defined at line 633 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

void clear_escrowed_dictionary ()

Defined at line 641 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

const ::zx::eventpair & escrowed_dictionary_handle ()

A dictionary containing data and handles that the component has escrowed

during its previous execution via [`ComponentController.OnEscrow`].

Defined at line 651 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

bool has_escrowed_dictionary_handle ()

Defined at line 655 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

::zx::eventpair * mutable_escrowed_dictionary_handle ()

A dictionary containing data and handles that the component has escrowed

during its previous execution via [`ComponentController.OnEscrow`].

Defined at line 661 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h

void clear_escrowed_dictionary_handle ()

Defined at line 669 of file fidling/gen/sdk/fidl/fuchsia.component.runner/fuchsia.component.runner/hlcpp/fuchsia/component/runner/cpp/fidl.h