@@ -0,0 +1,9 @@
|
||||
[package]
|
||||
name = "device"
|
||||
version = "0.1.0"
|
||||
edition = "2024"
|
||||
|
||||
[dependencies]
|
||||
anyhow = "1"
|
||||
clap = { version = "4", features = ["derive"] }
|
||||
ipc = { path = "../libs/ipc" }
|
||||
@@ -0,0 +1,18 @@
|
||||
mod trigger;
|
||||
|
||||
use clap::Parser;
|
||||
|
||||
#[derive(Debug, Parser)]
|
||||
enum Cli {
|
||||
Trigger(trigger::Cli),
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let cli = Cli::parse();
|
||||
let result = match cli {
|
||||
Cli::Trigger(cli) => trigger::main(cli),
|
||||
};
|
||||
if let Err(err) = result {
|
||||
eprintln!("device: error: {err}");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
use clap::Parser;
|
||||
use ipc::client::Client;
|
||||
|
||||
#[derive(Debug, Parser)]
|
||||
pub struct Cli {
|
||||
#[arg(short, long, default_value = "all")]
|
||||
set: String,
|
||||
|
||||
#[arg(short, long, default_value = "change")]
|
||||
action: String,
|
||||
}
|
||||
|
||||
pub fn main(cli: Cli) -> anyhow::Result<()> {
|
||||
let mut client = Client::connect()?;
|
||||
client.trigger(cli.set, cli.action)?;
|
||||
Ok(())
|
||||
}
|
||||
Reference in New Issue
Block a user