use zbus::proxy;
#[proxy(
interface = "org.freedesktop.login1.Seat",
gen_blocking = false,
default_service = "org.freedesktop.login1",
assume_defaults = false
)]
pub trait Seat {
fn activate_session(&self, session_id: &str) -> zbus::Result<()>;
fn switch_to(&self, vtnr: u32) -> zbus::Result<()>;
fn switch_to_next(&self) -> zbus::Result<()>;
fn switch_to_previous(&self) -> zbus::Result<()>;
fn terminate(&self) -> zbus::Result<()>;
#[zbus(property)]
fn active_session(&self) -> zbus::Result<(String, zbus::zvariant::OwnedObjectPath)>;
#[zbus(property)]
fn can_graphical(&self) -> zbus::Result<bool>;
#[zbus(property, name = "CanTTY")]
fn can_tty(&self) -> zbus::Result<bool>;
#[zbus(property)]
fn id(&self) -> zbus::Result<String>;
#[zbus(property)]
fn idle_hint(&self) -> zbus::Result<bool>;
#[zbus(property)]
fn idle_since_hint(&self) -> zbus::Result<u64>;
#[zbus(property)]
fn idle_since_hint_monotonic(&self) -> zbus::Result<u64>;
#[zbus(property)]
fn sessions(&self) -> zbus::Result<Vec<(String, zbus::zvariant::OwnedObjectPath)>>;
}