use zbus::proxy;
use crate::{Job, JobState, JobType, KeyValue};
#[proxy(
interface = "org.freedesktop.systemd1.Job",
default_service = "org.freedesktop.systemd1",
default_path = "/org/freedesktop/systemd1/job"
)]
pub trait Job {
fn cancel(&self) -> zbus::Result<()>;
fn get_after(&self) -> zbus::Result<Vec<Job>>;
fn get_before(&self) -> zbus::Result<Vec<Job>>;
#[zbus(property)]
fn activation_details(&self) -> zbus::Result<Vec<KeyValue<String, String>>>;
#[zbus(property)]
fn id(&self) -> zbus::Result<u32>;
#[zbus(property)]
fn job_type(&self) -> zbus::Result<JobType>;
#[zbus(property)]
fn state(&self) -> zbus::Result<JobState>;
#[zbus(property)]
fn unit(&self) -> zbus::Result<(String, zbus::zvariant::OwnedObjectPath)>;
}