mirror of
https://github.com/containers/youki
synced 2024-05-23 07:56:07 +02:00
3fe7d04ae4
Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com>
37 lines
958 B
Rust
37 lines
958 B
Rust
use super::{serialize::Variant, utils::SystemdClientError};
|
|
use std::collections::HashMap;
|
|
use std::path::PathBuf;
|
|
|
|
pub trait SystemdClient {
|
|
fn is_system(&self) -> bool;
|
|
|
|
fn transient_unit_exists(&self, unit_name: &str) -> bool;
|
|
|
|
fn start_transient_unit(
|
|
&self,
|
|
container_name: &str,
|
|
pid: u32,
|
|
parent: &str,
|
|
unit_name: &str,
|
|
) -> Result<(), SystemdClientError>;
|
|
|
|
fn stop_transient_unit(&self, unit_name: &str) -> Result<(), SystemdClientError>;
|
|
|
|
fn set_unit_properties(
|
|
&self,
|
|
unit_name: &str,
|
|
properties: &HashMap<&str, Variant>,
|
|
) -> Result<(), SystemdClientError>;
|
|
|
|
fn systemd_version(&self) -> Result<u32, SystemdClientError>;
|
|
|
|
fn control_cgroup_root(&self) -> Result<PathBuf, SystemdClientError>;
|
|
|
|
fn add_process_to_unit(
|
|
&self,
|
|
unit_name: &str,
|
|
subcgroup: &str,
|
|
pid: u32,
|
|
) -> Result<(), SystemdClientError>;
|
|
}
|