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(())