From 16346472e77565f35e3221b3713ec217f8685b20 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Sat, 3 Aug 2024 20:20:03 +0200 Subject: a --- src/bin/cli/main.rs | 3 --- src/bin/daemon/main.rs | 10 ---------- src/daemon.rs | 14 ++++++++++++++ src/main.rs | 29 +++++++++++++++++++++++++++++ 4 files changed, 43 insertions(+), 13 deletions(-) delete mode 100644 src/bin/cli/main.rs delete mode 100644 src/bin/daemon/main.rs create mode 100644 src/daemon.rs create mode 100644 src/main.rs (limited to 'src') diff --git a/src/bin/cli/main.rs b/src/bin/cli/main.rs deleted file mode 100644 index 08cf702..0000000 --- a/src/bin/cli/main.rs +++ /dev/null @@ -1,3 +0,0 @@ -fn main() { - println!("Hello, CLI!"); -} diff --git a/src/bin/daemon/main.rs b/src/bin/daemon/main.rs deleted file mode 100644 index 7f3d7b9..0000000 --- a/src/bin/daemon/main.rs +++ /dev/null @@ -1,10 +0,0 @@ -use std::process::Command; -use xdg::BaseDirectories; - -fn main() { - println!("Hello, daemon!"); - - // TODO db connection öffnen; idk welche db bisher - - // TODO für jedes netzwerk -} diff --git a/src/daemon.rs b/src/daemon.rs new file mode 100644 index 0000000..c88912f --- /dev/null +++ b/src/daemon.rs @@ -0,0 +1,14 @@ +use std::net::TcpListener; +use thiserror::Error; + +#[derive(Debug, Error)] +pub enum DaemonError { + #[error("{0}")] + Io(#[from] std::io::Error), +} + +pub fn daemon() -> Result<(), DaemonError> { + let listener = TcpListener::bind("0.0.0.0")?; // TODO + + Ok(()) +} diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..6bc049b --- /dev/null +++ b/src/main.rs @@ -0,0 +1,29 @@ +pub mod daemon; + +use clap::{Parser, Subcommand}; +use daemon::daemon; +use log::error; + +#[derive(Parser)] +struct Args { + #[clap(subcommand)] + action: Action, +} + +#[derive(Subcommand)] +enum Action { + Daemon, +} + +fn main() { + env_logger::init_from_env("LOG"); + let args = Args::parse(); + + match args.action { + Action::Daemon => { + if let Err(e) = daemon() { + error!("fatal error: {e}"); + } + } + } +} -- cgit v1.2.3-70-g09d2