This commit is contained in:
jamesk 2024-03-18 17:36:14 -04:00
parent 969d5ea060
commit 05d5474b58
3 changed files with 40 additions and 14 deletions

19
src/localmode.rs Normal file
View File

@ -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) {
}
}

View File

@ -1,7 +1,8 @@
pub mod syscompare; pub mod syscompare;
mod localmode;
use std::env::args; use std::env::args;
use crate::syscompare::{SysCompare}; use crate::syscompare::{SysCompareApp};
use crate::syscompare::CompareMode::Local2Local; use crate::syscompare::CompareMode::Local2Local;
fn main() { fn main() {
@ -11,18 +12,19 @@ fn main() {
let app = match args.get(1) { let app = match args.get(1) {
None => { None => {
panic!("Missing Mode Argument"); panic!("Missing Mode Argument");
SysCompare::default() SysCompareApp::default()
} }
Some(mode) => { Some(mode) => {
// app mode
let m = mode.as_str(); let m = mode.as_str();
let app_mode = match m { let app_mode = match m {
"local" => {Local2Local} "local" => {Local2Local}
_ => {Local2Local} _ => {panic!("Invalid MODE argument")}
}; };
SysCompare::new(app_mode) SysCompareApp::new(app_mode, args)
} }
}; };
app.run()
} }

View File

@ -4,22 +4,27 @@ pub enum CompareMode {
Local2Local Local2Local
} }
pub struct SysCompare { pub struct SysCompareApp {
mode: CompareMode, mode: CompareMode,
left: Snapshot, args: Vec<String>
right: Snapshot,
} }
impl SysCompare { impl SysCompareApp {
pub fn new(mode: CompareMode) -> SysCompare { pub fn new(mode: CompareMode, args: Vec<String>) -> SysCompareApp {
SysCompare { mode: CompareMode::Local2Local, left: Default::default(), right: Default::default() } SysCompareApp { mode, args }
}
pub fn run(&self) {
println!("running");
} }
pub fn compare() {}
} }
impl Default for SysCompare { impl Default for SysCompareApp {
fn default() -> Self { 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);
}