diff --git a/src/createmode.rs b/src/createmode.rs index 5f23294..0761f1c 100644 --- a/src/createmode.rs +++ b/src/createmode.rs @@ -1,13 +1,13 @@ use Fasching::snapshot::Snapshot; use crate::syscompare::Comparer; -struct CreateMode { +pub struct CreateMode { path: String, snapshot: Snapshot } impl CreateMode { - fn new() -> CreateMode { + pub fn new(path: &String) -> CreateMode { CreateMode { path: "".to_string(), snapshot: Default::default() } } } diff --git a/src/syscompare.rs b/src/syscompare.rs index c241b77..36504d0 100644 --- a/src/syscompare.rs +++ b/src/syscompare.rs @@ -1,6 +1,8 @@ use std::collections::HashMap; +use std::env::args; use std::sync::{Arc, Mutex}; use Fasching::snapshot::Snapshot; +use crate::createmode::CreateMode; pub enum CompareMode { Create, @@ -20,6 +22,17 @@ impl SysCompareApp { } pub fn run(&self) { println!("running"); + match self.mode { + CompareMode::Create => { + let path = match self.args.get(2) { + None => {panic!("Missing creation path as second argument")} + Some(r) => {r} + }; + let create = CreateMode::new(path); + create.run() + } + CompareMode::Compare => {} + } } }