pub trait LauncherClientSender {
type Transport: Transport;
// Required methods
fn launch<___R>(
&self,
request: ___R,
) -> Result<ResponseFuture<'_, Self::Transport, Launch>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherLaunchRequest<'static>>;
fn create_without_starting<___R>(
&self,
request: ___R,
) -> Result<ResponseFuture<'_, Self::Transport, CreateWithoutStarting>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherCreateWithoutStartingRequest<'static>>;
fn add_args<___R>(
&self,
request: ___R,
) -> Result<SendFuture<'_, Self::Transport>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherAddArgsRequest<'static>>;
fn add_environs<___R>(
&self,
request: ___R,
) -> Result<SendFuture<'_, Self::Transport>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherAddEnvironsRequest<'static>>;
fn add_names<___R>(
&self,
request: ___R,
) -> Result<SendFuture<'_, Self::Transport>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherAddNamesRequest<'static>>;
fn add_handles<___R>(
&self,
request: ___R,
) -> Result<SendFuture<'_, Self::Transport>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherAddHandlesRequest<'static>>;
fn set_options<___R>(
&self,
request: ___R,
) -> Result<SendFuture<'_, Self::Transport>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherSetOptionsRequest>;
}
Expand description
A helper trait for the Launcher
client sender.
Required Associated Types§
Required Methods§
Sourcefn launch<___R>(
&self,
request: ___R,
) -> Result<ResponseFuture<'_, Self::Transport, Launch>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherLaunchRequest<'static>>,
fn launch<___R>(
&self,
request: ___R,
) -> Result<ResponseFuture<'_, Self::Transport, Launch>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherLaunchRequest<'static>>,
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
.
Sourcefn create_without_starting<___R>(
&self,
request: ___R,
) -> Result<ResponseFuture<'_, Self::Transport, CreateWithoutStarting>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherCreateWithoutStartingRequest<'static>>,
fn create_without_starting<___R>(
&self,
request: ___R,
) -> Result<ResponseFuture<'_, Self::Transport, CreateWithoutStarting>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherCreateWithoutStartingRequest<'static>>,
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
.
Sourcefn add_args<___R>(
&self,
request: ___R,
) -> Result<SendFuture<'_, Self::Transport>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherAddArgsRequest<'static>>,
fn add_args<___R>(
&self,
request: ___R,
) -> Result<SendFuture<'_, Self::Transport>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherAddArgsRequest<'static>>,
Adds the given arguments to the command-line for the process.
Calling this method multiple times concatenates the arguments.
Sourcefn add_environs<___R>(
&self,
request: ___R,
) -> Result<SendFuture<'_, Self::Transport>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherAddEnvironsRequest<'static>>,
fn add_environs<___R>(
&self,
request: ___R,
) -> Result<SendFuture<'_, Self::Transport>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherAddEnvironsRequest<'static>>,
Adds the given variables to the environment variables for the process.
Calling this method multiple times concatenates the variables.
Sourcefn add_names<___R>(
&self,
request: ___R,
) -> Result<SendFuture<'_, Self::Transport>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherAddNamesRequest<'static>>,
fn add_names<___R>(
&self,
request: ___R,
) -> Result<SendFuture<'_, Self::Transport>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherAddNamesRequest<'static>>,
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.
Sourcefn add_handles<___R>(
&self,
request: ___R,
) -> Result<SendFuture<'_, Self::Transport>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherAddHandlesRequest<'static>>,
fn add_handles<___R>(
&self,
request: ___R,
) -> Result<SendFuture<'_, Self::Transport>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherAddHandlesRequest<'static>>,
Adds the given handles to the startup handles for the process.
Calling this method multiple times concatenates the handles.
Sourcefn set_options<___R>(
&self,
request: ___R,
) -> Result<SendFuture<'_, Self::Transport>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherSetOptionsRequest>,
fn set_options<___R>(
&self,
request: ___R,
) -> Result<SendFuture<'_, Self::Transport>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherSetOptionsRequest>,
Sets the options with which the process is created.
Calling this method multiple times will overwrite the current options.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl<___T> LauncherClientSender for ClientSender<___T, Launcher>where
___T: Transport,
impl<___T> LauncherClientSender for ClientSender<___T, Launcher>where
___T: Transport,
Source§fn launch<___R>(
&self,
request: ___R,
) -> Result<ResponseFuture<'_, Self::Transport, Launch>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherLaunchRequest<'static>>,
fn launch<___R>(
&self,
request: ___R,
) -> Result<ResponseFuture<'_, Self::Transport, Launch>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherLaunchRequest<'static>>,
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
.
Source§fn create_without_starting<___R>(
&self,
request: ___R,
) -> Result<ResponseFuture<'_, Self::Transport, CreateWithoutStarting>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherCreateWithoutStartingRequest<'static>>,
fn create_without_starting<___R>(
&self,
request: ___R,
) -> Result<ResponseFuture<'_, Self::Transport, CreateWithoutStarting>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherCreateWithoutStartingRequest<'static>>,
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
.
Source§fn add_args<___R>(
&self,
request: ___R,
) -> Result<SendFuture<'_, Self::Transport>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherAddArgsRequest<'static>>,
fn add_args<___R>(
&self,
request: ___R,
) -> Result<SendFuture<'_, Self::Transport>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherAddArgsRequest<'static>>,
Adds the given arguments to the command-line for the process.
Calling this method multiple times concatenates the arguments.
Source§fn add_environs<___R>(
&self,
request: ___R,
) -> Result<SendFuture<'_, Self::Transport>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherAddEnvironsRequest<'static>>,
fn add_environs<___R>(
&self,
request: ___R,
) -> Result<SendFuture<'_, Self::Transport>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherAddEnvironsRequest<'static>>,
Adds the given variables to the environment variables for the process.
Calling this method multiple times concatenates the variables.
Source§fn add_names<___R>(
&self,
request: ___R,
) -> Result<SendFuture<'_, Self::Transport>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherAddNamesRequest<'static>>,
fn add_names<___R>(
&self,
request: ___R,
) -> Result<SendFuture<'_, Self::Transport>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherAddNamesRequest<'static>>,
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.
Source§fn add_handles<___R>(
&self,
request: ___R,
) -> Result<SendFuture<'_, Self::Transport>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherAddHandlesRequest<'static>>,
fn add_handles<___R>(
&self,
request: ___R,
) -> Result<SendFuture<'_, Self::Transport>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherAddHandlesRequest<'static>>,
Adds the given handles to the startup handles for the process.
Calling this method multiple times concatenates the handles.
Source§fn set_options<___R>(
&self,
request: ___R,
) -> Result<SendFuture<'_, Self::Transport>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherSetOptionsRequest>,
fn set_options<___R>(
&self,
request: ___R,
) -> Result<SendFuture<'_, Self::Transport>, EncodeError>where
___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLauncherSetOptionsRequest>,
Sets the options with which the process is created.
Calling this method multiple times will overwrite the current options.