mod config; mod engine; mod gui; fn main() { let cfg = config::build_config().unwrap(); if cfg.streams.input.engine.name == "gui" { gui::main().unwrap(); } else { main_cli(cfg); } } fn main_cli(cfg: config::Config) { let input_engine = engine::build_input_engine(&cfg.streams.input.engine); let output_engine = engine::build_output_engine(&cfg.streams.output.engine); println!("{:?} => {}", cfg.streams.input.engine.name, input_engine.is_ok()); println!("{:?} => {}", cfg.streams.output.engine.name, output_engine.is_ok()); let mut input_engine = input_engine.unwrap(); let mut output_engine = output_engine.unwrap(); loop { output_engine.put(input_engine.get()); } }