mirror of
https://gitlab.steamos.cloud/holo/steamos-manager.git
synced 2025-07-08 07:30:36 -04:00
manager/user: Move interface setup to manager module
This commit is contained in:
parent
5ddb709f0b
commit
c75ac60c9d
2 changed files with 19 additions and 8 deletions
|
@ -19,7 +19,7 @@ use zbus::ConnectionBuilder;
|
||||||
|
|
||||||
use crate::daemon::{channel, Daemon, DaemonCommand, DaemonContext};
|
use crate::daemon::{channel, Daemon, DaemonCommand, DaemonContext};
|
||||||
use crate::job::{JobManager, JobManagerService};
|
use crate::job::{JobManager, JobManagerService};
|
||||||
use crate::manager::user::SteamOSManager;
|
use crate::manager::user::create_interfaces;
|
||||||
use crate::path;
|
use crate::path;
|
||||||
use crate::udev::UdevMonitor;
|
use crate::udev::UdevMonitor;
|
||||||
use crate::Service;
|
use crate::Service;
|
||||||
|
@ -112,14 +112,10 @@ async fn create_connections(
|
||||||
.build()
|
.build()
|
||||||
.await?;
|
.await?;
|
||||||
|
|
||||||
let (tx, rx) = unbounded_channel();
|
let (jm_tx, rx) = unbounded_channel();
|
||||||
let job_manager = JobManager::new(connection.clone()).await?;
|
let job_manager = JobManager::new(connection.clone()).await?;
|
||||||
let manager = SteamOSManager::new(connection.clone(), system.clone(), channel, tx).await?;
|
|
||||||
let service = JobManagerService::new(job_manager, rx, system.clone());
|
let service = JobManagerService::new(job_manager, rx, system.clone());
|
||||||
connection
|
create_interfaces(connection.clone(), system.clone(), channel, jm_tx).await?;
|
||||||
.object_server()
|
|
||||||
.at("/com/steampowered/SteamOSManager1", manager)
|
|
||||||
.await?;
|
|
||||||
|
|
||||||
Ok((connection, system, service))
|
Ok((connection, system, service))
|
||||||
}
|
}
|
||||||
|
|
|
@ -89,7 +89,7 @@ macro_rules! setter {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct SteamOSManager {
|
struct SteamOSManager {
|
||||||
proxy: Proxy<'static>,
|
proxy: Proxy<'static>,
|
||||||
hdmi_cec: HdmiCecControl<'static>,
|
hdmi_cec: HdmiCecControl<'static>,
|
||||||
channel: Sender<Command>,
|
channel: Sender<Command>,
|
||||||
|
@ -388,6 +388,21 @@ impl SteamOSManager {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub(crate) async fn create_interfaces(
|
||||||
|
session: Connection,
|
||||||
|
system: Connection,
|
||||||
|
daemon: Sender<Command>,
|
||||||
|
job_manager: UnboundedSender<JobManagerCommand>,
|
||||||
|
) -> Result<()> {
|
||||||
|
let manager = SteamOSManager::new(session.clone(), system.clone(), daemon, job_manager).await?;
|
||||||
|
session
|
||||||
|
.object_server()
|
||||||
|
.at("/com/steampowered/SteamOSManager1", manager)
|
||||||
|
.await?;
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod test {
|
mod test {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue