systemd_run/
sd.rs

1use zbus::proxy;
2use zbus::zvariant::Value;
3
4#[proxy(
5    interface = "org.freedesktop.systemd1.Job",
6    default_service = "org.freedesktop.systemd1"
7)]
8pub trait SystemdJob {
9    // This is a dummy.  We can't rely on systemd job objects because they
10    // are finished very quickly and then removed.
11}
12
13#[proxy(
14    interface = "org.freedesktop.systemd1.Manager",
15    default_service = "org.freedesktop.systemd1",
16    default_path = "/org/freedesktop/systemd1"
17)]
18pub trait SystemdManager {
19    #[zbus(object = "SystemdJob")]
20    fn start_transient_unit(
21        &self,
22        name: &str,
23        mode: &str,
24        properties: &[(&str, &Value<'_>)],
25        _unused: &[(&str, &[(&str, &Value<'_>)])],
26    );
27
28    #[zbus(object = "SystemdJob")]
29    fn stop_unit(&self, name: &str, mode: &str);
30}