diff --git a/src/localmode.rs b/src/localmode.rs new file mode 100644 index 0000000..23bb08f --- /dev/null +++ b/src/localmode.rs @@ -0,0 +1,19 @@ +use Fasching::snapshot::Snapshot; +use crate::syscompare::Comparer; + +struct LocalMode { + left: Snapshot, + right: Snapshot +} + +impl LocalMode { + fn new() -> LocalMode { + LocalMode { left: Default::default(), right: Default::default() } + } +} + +impl Comparer for LocalMode { + fn run(&self) { + + } +} diff --git a/src/main.rs b/src/main.rs index 7d91988..63030b0 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,7 +1,8 @@ pub mod syscompare; +mod localmode; use std::env::args; -use crate::syscompare::{SysCompare}; +use crate::syscompare::{SysCompareApp}; use crate::syscompare::CompareMode::Local2Local; fn main() { @@ -11,18 +12,19 @@ fn main() { let app = match args.get(1) { None => { panic!("Missing Mode Argument"); - SysCompare::default() + SysCompareApp::default() } Some(mode) => { + // app mode let m = mode.as_str(); - let app_mode = match m { "local" => {Local2Local} - _ => {Local2Local} + _ => {panic!("Invalid MODE argument")} }; - SysCompare::new(app_mode) + SysCompareApp::new(app_mode, args) } }; + app.run() } diff --git a/src/syscompare.rs b/src/syscompare.rs index a4e11d9..8413c8e 100644 --- a/src/syscompare.rs +++ b/src/syscompare.rs @@ -4,22 +4,27 @@ pub enum CompareMode { Local2Local } -pub struct SysCompare { +pub struct SysCompareApp { mode: CompareMode, - left: Snapshot, - right: Snapshot, + args: Vec } -impl SysCompare { - pub fn new(mode: CompareMode) -> SysCompare { - SysCompare { mode: CompareMode::Local2Local, left: Default::default(), right: Default::default() } +impl SysCompareApp { + pub fn new(mode: CompareMode, args: Vec) -> SysCompareApp { + SysCompareApp { mode, args } + } + pub fn run(&self) { + println!("running"); } - pub fn compare() {} } -impl Default for SysCompare { +impl Default for SysCompareApp { fn default() -> Self { - SysCompare { mode: CompareMode::Local2Local, left: Default::default(), right: Default::default() } + SysCompareApp { mode: CompareMode::Local2Local, args: vec![] } } } + +pub trait Comparer { + fn run(&self); +}