From af304a474785b6e8af6188aba4cb4386425fa02e Mon Sep 17 00:00:00 2001 From: AntwortEinesLebens Date: Sat, 9 Nov 2024 01:32:28 +0100 Subject: [PATCH] =?UTF-8?q?feat:=20=E2=9C=A8=20Add=20generator=20command?= =?UTF-8?q?=20with=20clap?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/cli.rs | 3 ++- src/generator.rs | 18 ++++++++++++++++++ src/main.rs | 2 ++ 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 src/generator.rs diff --git a/src/cli.rs b/src/cli.rs index 809dd46..0b80eb0 100644 --- a/src/cli.rs +++ b/src/cli.rs @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: GPL-3.0-or-later -use crate::traces::Traces; +use crate::{generator::Generator, traces::Traces}; use clap::{Parser, Subcommand}; #[derive(Debug, Parser)] @@ -16,4 +16,5 @@ pub struct Arguments { #[derive(Debug, Subcommand)] pub enum Commands { Traces(Traces), + Generator(Generator), } diff --git a/src/generator.rs b/src/generator.rs new file mode 100644 index 0000000..0ec30a1 --- /dev/null +++ b/src/generator.rs @@ -0,0 +1,18 @@ +// SPDX-FileCopyrightText: 2023 The MalwareTracesGenerator development team +// +// SPDX-License-Identifier: GPL-3.0-or-later + +use clap::Parser; +use std::{error::Error, path::PathBuf}; + +#[derive(Debug, Parser)] +pub struct Generator { + #[clap(required = true, help = "Path to the configuration file")] + path: PathBuf, +} + +impl Generator { + pub fn generate(&self) -> Result<(), Box> { + Ok(()) + } +} diff --git a/src/main.rs b/src/main.rs index 17a0eae..e621d6d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,6 +3,7 @@ // SPDX-License-Identifier: GPL-3.0-or-later mod cli; +mod generator; mod traces; mod windows; @@ -14,6 +15,7 @@ use traces::Runnable; fn main() -> Result<(), Box> { match Arguments::parse().command { Commands::Traces(action) => action.run()?, + Commands::Generator(generator) => generator.generate()?, }; Ok(())