|
1 | | -use std::{env, io}; |
2 | | -use system76_keyboard_configurator::backend::{Daemon, DaemonClient, DaemonServer}; |
3 | | - |
4 | | -fn daemon_server() -> Result<DaemonServer<io::Stdin, io::Stdout>, String> { |
5 | | - DaemonServer::new(io::stdin(), io::stdout()) |
6 | | -} |
| 1 | +use std::env; |
| 2 | +use system76_keyboard_configurator::backend::{run_daemon, Backend}; |
7 | 3 |
|
8 | 4 | #[cfg(target_os = "linux")] |
9 | | -fn with_daemon<F: Fn(Box<dyn Daemon>)>(f: F) { |
| 5 | +fn with_daemon<F: Fn(Backend)>(f: F) { |
10 | 6 | if unsafe { libc::geteuid() == 0 } { |
11 | 7 | eprintln!("Already running as root"); |
12 | | - let server = daemon_server().expect("Failed to create server"); |
13 | | - f(Box::new(server)); |
| 8 | + let server = Backend::new().expect("Failed to create server"); |
| 9 | + f(server); |
14 | 10 | return; |
15 | 11 | } |
16 | 12 |
|
17 | | - f(Box::new(DaemonClient::new_pkexec())); |
| 13 | + f(Backend::new_pkexec().unwrap()); |
18 | 14 | } |
19 | 15 |
|
20 | 16 | #[cfg(not(target_os = "linux"))] |
21 | 17 | fn with_daemon<F: Fn(Box<dyn Daemon>)>(f: F) { |
22 | | - let server = daemon_server().expect("Failed to create server"); |
23 | | - f(Box::new(server)); |
| 18 | + let server = Backend::new().expect("Failed to create server"); |
| 19 | + f(server); |
24 | 20 | } |
25 | 21 |
|
26 | 22 | fn main() { |
27 | 23 | for arg in env::args().skip(1) { |
28 | 24 | if arg.as_str() == "--daemon" { |
29 | | - let server = daemon_server().expect("Failed to create server"); |
30 | | - server.run().expect("Failed to run server"); |
31 | | - return; |
| 25 | + run_daemon() |
32 | 26 | } |
33 | 27 | } |
34 | 28 |
|
35 | | - with_daemon(|daemon| { |
36 | | - println!("boards: {:?}", daemon.boards()); |
| 29 | + with_daemon(|_daemon| { |
| 30 | + // println!("boards: {:?}", daemon.boards()); |
37 | 31 | }); |
38 | 32 | } |
0 commit comments