ServiceInstallCtx

Struct ServiceInstallCtx 

Source
pub struct ServiceInstallCtx {
    pub label: ServiceLabel,
    pub program: PathBuf,
    pub args: Vec<OsString>,
    pub contents: Option<String>,
    pub username: Option<String>,
    pub working_directory: Option<PathBuf>,
    pub environment: Option<Vec<(String, String)>>,
    pub autostart: bool,
    pub disable_restart_on_failure: bool,
}
Expand description

Context provided to the install function of ServiceManager

Fields§

§label: ServiceLabel

Label associated with the service

E.g. org.example.my_application

§program: PathBuf

Path to the program to run

E.g. /usr/local/bin/my-program

§args: Vec<OsString>

Arguments to use for the program

E.g. --arg, value, --another-arg

§contents: Option<String>

Optional contents of the service file for a given ServiceManager to use instead of the default template.

§username: Option<String>

Optionally supply the user the service will run as

If not specified, the service will run as the root or Administrator user.

§working_directory: Option<PathBuf>

Optionally specify a working directory for the process launched by the service

§environment: Option<Vec<(String, String)>>

Optionally specify a list of environment variables to be passed to the process launched by the service

§autostart: bool

Specify whether the service should automatically start on reboot

§disable_restart_on_failure: bool

Optionally disable a service from restarting when it exits with a failure

This could overwrite the platform specific service manager config.

Implementations§

Source§

impl ServiceInstallCtx

Source

pub fn cmd_iter(&self) -> impl Iterator<Item = &OsStr>

Iterator over the program and its arguments

Source

pub fn args_iter(&self) -> impl Iterator<Item = &OsStr>

Iterator over the program arguments

Trait Implementations§

Source§

impl Clone for ServiceInstallCtx

Source§

fn clone(&self) -> ServiceInstallCtx

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ServiceInstallCtx

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for ServiceInstallCtx

Source§

fn eq(&self, other: &ServiceInstallCtx) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for ServiceInstallCtx

Source§

impl StructuralPartialEq for ServiceInstallCtx

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.