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.