Something went wrong. Try again.
This repository has no description
Something went wrong. Try again.
1.0 kB · 35 lines
Rust
at master
123456789101112131415161718192021222324252627282930313233343536use std::sync;use tokio::sync::mpsc;
pub struct Service { _connection: zbus::Connection,}
impl Service { pub async fn start( sessions: sync::Arc<sync::Mutex<crate::SessionAccessState>>, requests: mpsc::Sender<crate::BacklightRequest>, power_allowed: sync::Arc<sync::Mutex<crate::PowerCapabilities>>, power_requests: mpsc::Sender<crate::PowerRequest>, ) -> anyhow::Result<Self> { let connection = zbus::connection::Builder::system()? .serve_at( "/org/freedesktop/login1/session/auto", crate::backlight::Login1Session { sessions, requests }, )? .serve_at( "/org/freedesktop/login1", crate::power::Login1Manager { power_allowed, power_requests, }, )? .name("org.freedesktop.login1")? .build() .await?;
Ok(Self { _connection: connection, }) }}