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::job::{JobManager, JobManagerService};
|
||||
use crate::manager::user::SteamOSManager;
|
||||
use crate::manager::user::create_interfaces;
|
||||
use crate::path;
|
||||
use crate::udev::UdevMonitor;
|
||||
use crate::Service;
|
||||
|
@ -112,14 +112,10 @@ async fn create_connections(
|
|||
.build()
|
||||
.await?;
|
||||
|
||||
let (tx, rx) = unbounded_channel();
|
||||
let (jm_tx, rx) = unbounded_channel();
|
||||
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());
|
||||
connection
|
||||
.object_server()
|
||||
.at("/com/steampowered/SteamOSManager1", manager)
|
||||
.await?;
|
||||
create_interfaces(connection.clone(), system.clone(), channel, jm_tx).await?;
|
||||
|
||||
Ok((connection, system, service))
|
||||
}
|
||||
|
|
|
@ -89,7 +89,7 @@ macro_rules! setter {
|
|||
};
|
||||
}
|
||||
|
||||
pub struct SteamOSManager {
|
||||
struct SteamOSManager {
|
||||
proxy: Proxy<'static>,
|
||||
hdmi_cec: HdmiCecControl<'static>,
|
||||
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)]
|
||||
mod test {
|
||||
use super::*;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue