diff --git a/Cargo.toml b/Cargo.toml index a2aeb1d..a6eb931 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,3 +6,4 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] +Fasching = "0.1.15" diff --git a/src/main.rs b/src/main.rs index e7a11a9..7d91988 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,28 @@ +pub mod syscompare; + +use std::env::args; +use crate::syscompare::{SysCompare}; +use crate::syscompare::CompareMode::Local2Local; + fn main() { - println!("Hello, world!"); + let args: Vec = args().collect(); + println!("{:#?}", args); + + let app = match args.get(1) { + None => { + panic!("Missing Mode Argument"); + SysCompare::default() + } + Some(mode) => { + let m = mode.as_str(); + + let app_mode = match m { + "local" => {Local2Local} + _ => {Local2Local} + }; + + SysCompare::new(app_mode) + } + }; + } diff --git a/src/syscompare.rs b/src/syscompare.rs new file mode 100644 index 0000000..a4e11d9 --- /dev/null +++ b/src/syscompare.rs @@ -0,0 +1,25 @@ +use Fasching::snapshot::Snapshot; + +pub enum CompareMode { + Local2Local +} + +pub struct SysCompare { + mode: CompareMode, + left: Snapshot, + right: Snapshot, +} + + +impl SysCompare { + pub fn new(mode: CompareMode) -> SysCompare { + SysCompare { mode: CompareMode::Local2Local, left: Default::default(), right: Default::default() } + } + pub fn compare() {} +} + +impl Default for SysCompare { + fn default() -> Self { + SysCompare { mode: CompareMode::Local2Local, left: Default::default(), right: Default::default() } + } +}