class Launcher

Defined at line 1171 of file fidling/gen/sdk/fidl/fuchsia.process/fuchsia.process/hlcpp/fuchsia/process/cpp/fidl.h

A low-level interface for launching processes.

This interface is used for manually assembling a process. The caller supplies

all the capabilities for the newly created process.

That create processes typically use `fdio_spawn` or `fdio_spawn_etc` rather

than using this interface directly. The `fdio_spawn` and `fdio_spawn_etc`

functions are implemented using this interface.

Debuggers and other clients that need to create processes in a suspended

state often use this interface directly. These clients use the

`CreateWithoutStarting` method to create the process without actually

starting it.

Public Members

static const char[] Name_

Public Methods

void ~Launcher ()
void Launch (::fuchsia::process::LaunchInfo info, LaunchCallback callback)

Creates and starts the process described by `info`.

After processing this message, the `Launcher` is reset to its initial

state and is ready to launch another process.

`process` is present if, and only if, `status` is `ZX_OK`.

void CreateWithoutStarting (::fuchsia::process::LaunchInfo info, CreateWithoutStartingCallback callback)

Creates the process described by `info` but does not start it.

After processing this message, the `Launcher` is reset to its initial

state and is ready to launch another process.

The caller is responsible for calling `zx_process_start` using the data

in `ProcessStartData` to actually start the process.

`data` is present if, and only if, `status` is `ZX_OK`.

void AddArgs (::std::vector< ::std::vector<uint8_t>> args)

Adds the given arguments to the command-line for the process.

Calling this method multiple times concatenates the arguments.

void AddEnvirons (::std::vector< ::std::vector<uint8_t>> environ)

Adds the given variables to the environment variables for the process.

Calling this method multiple times concatenates the variables.

void AddNames (::std::vector< ::fuchsia::process::NameInfo> names)

Adds the given names to the namespace for the process.

The paths in the namespace must be non-overlapping. See

<https

://fuchsia.dev/fuchsia-src/concepts/process/namespaces> for details.

Calling this method multiple times concatenates the names.

void AddHandles (::std::vector< ::fuchsia::process::HandleInfo> handles)

Adds the given handles to the startup handles for the process.

Calling this method multiple times concatenates the handles.

void SetOptions (uint32_t options)

Sets the options with which the process is created.

Calling this method multiple times will overwrite the current options.