class ComponentStartInfo

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

Parameters for starting a new component instance.

Public Methods

void ComponentStartInfo (Storage_ storage)
void ComponentStartInfo ()

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

void ComponentStartInfo (ComponentStartInfo && )

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

bool IsEmpty ()
ComponentStartInfo & operator= (ComponentStartInfo && )

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

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

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

for historical reasons.

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

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

for historical reasons.

ComponentStartInfo & resolved_url (std::optional< ::std::string> value)

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

for historical reasons.

const std::optional< ::fuchsia_data::Dictionary> & program ()

The component's program declaration.

This information originates from `ComponentDecl.program`.

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

The component's program declaration.

This information originates from `ComponentDecl.program`.

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

The component's program declaration.

This information originates from `ComponentDecl.program`.

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

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

ComponentStartInfo & ns (std::optional< ::std::vector< ::fuchsia_component_runner::ComponentNamespaceEntry>> value)

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.

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

The directory this component serves.

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

The directory this component serves.

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

The directory this component serves.

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

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

ComponentStartInfo & runtime_dir (std::optional< ::fidl::ServerEnd< ::fuchsia_io::Directory>> value)

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.

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

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

ComponentStartInfo & numbered_handles (std::optional< ::std::vector< ::fuchsia_process::HandleInfo>> value)

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.

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

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

ComponentStartInfo & encoded_config (std::optional< ::fuchsia_mem::Data> value)

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.

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

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

ComponentStartInfo & break_on_start (std::optional< ::zx::eventpair> value)

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.

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

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

ComponentStartInfo & component_instance (std::optional< ::zx::event> value)

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.

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

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

ComponentStartInfo & escrowed_dictionary (std::optional< ::fuchsia_component_sandbox::DictionaryRef> value)

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.

const std::optional< ::zx::eventpair> & escrowed_dictionary_handle ()

A dictionary containing data and handles that the component has escrowed

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

::std::optional< ::zx::eventpair> & escrowed_dictionary_handle ()

A dictionary containing data and handles that the component has escrowed

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

ComponentStartInfo & escrowed_dictionary_handle (std::optional< ::zx::eventpair> value)

A dictionary containing data and handles that the component has escrowed

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

void ComponentStartInfo (::fidl::internal::DefaultConstructPossiblyInvalidObjectTag )

Friends

class MemberVisitor
class NaturalTableCodingTraits