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;
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()
}

View File

@ -4,22 +4,27 @@ pub enum CompareMode {
Local2Local
}
pub struct SysCompare {
pub struct SysCompareApp {
mode: CompareMode,
left: Snapshot,
right: Snapshot,
args: Vec<String>
}
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<String>) -> 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);
}