From 7674e823b96c0fa6e4813171cdbe53953ea41927 Mon Sep 17 00:00:00 2001 From: primardj Date: Sun, 7 Apr 2024 19:27:08 +0100 Subject: [PATCH] create module executor and pass to it all it's parametters. --- 01_phase_rust_src/sv/src/executor.rs | 11 ++++++++++ 01_phase_rust_src/sv/src/main.rs | 31 +++++++++++++++------------- 2 files changed, 28 insertions(+), 14 deletions(-) create mode 100644 01_phase_rust_src/sv/src/executor.rs diff --git a/01_phase_rust_src/sv/src/executor.rs b/01_phase_rust_src/sv/src/executor.rs new file mode 100644 index 0000000..6641cc9 --- /dev/null +++ b/01_phase_rust_src/sv/src/executor.rs @@ -0,0 +1,11 @@ + + +pub fn execute(svdir_var: String, svwait_var: i32, verbose: i8, command: &str, services: Vec){ + println!("execute in exec"); + dbg!(svdir_var); + dbg!(svwait_var); + dbg!(verbose); + dbg!(command); + dbg!(services); + +} diff --git a/01_phase_rust_src/sv/src/main.rs b/01_phase_rust_src/sv/src/main.rs index 3861aff..b1498d0 100644 --- a/01_phase_rust_src/sv/src/main.rs +++ b/01_phase_rust_src/sv/src/main.rs @@ -1,5 +1,6 @@ mod parser; +mod executor; use std::env; use std::process::exit; @@ -23,10 +24,10 @@ fn main() { Err(..) => 7, }; - let mut verbose = 0; + let mut verbose: i8 = 0; - dbg!(svdir_var); - dbg!(svwait_var); + //dbg!(svdir_var); + //dbg!(svwait_var); // run the parser @@ -34,18 +35,18 @@ fn main() { let arg_parser: Vec = parser::parse_args(args); - //dbg!(arg_parser); - - let mut i = 0; - let mut command; + let mut command = "INVALID"; + let mut services: Vec = Vec::new(); + + // make data from parser. for val in arg_parser.iter() { if i == 0 { if val == "-v" { verbose = 1; - dbg!(verbose); + //dbg!(verbose); } else if val == "-w" { i = 3; @@ -70,22 +71,24 @@ fn main() { } else if i == 1 { command = val; - dbg!(command); + //dbg!(command); i += 1; } - // TODO: Exec the command on all given services. + else if i == 2 { + // case services to control. + //dbg!(val); + services.push(val.to_string()); + } else if i == 3 { svwait_var = match val.parse::() { Ok(val) => val, Err(..) => svwait_var, }; - dbg!(svwait_var); + //dbg!(svwait_var); i = 0; } } + executor::execute(svdir_var, svwait_var, verbose, command, services); - - - }