From 2940809bf50c2874487ba55efb17ba03c52dd9c2 Mon Sep 17 00:00:00 2001 From: tom barrett Date: Mon, 16 Apr 2018 02:28:33 -0500 Subject: -removed trait objects and went to structs with enumerations completely --- src/bin/client.rs | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'src/bin/client.rs') diff --git a/src/bin/client.rs b/src/bin/client.rs index b690094..1766a59 100644 --- a/src/bin/client.rs +++ b/src/bin/client.rs @@ -2,11 +2,12 @@ extern crate space; extern crate serde_json; use std::io; -use std::io::prelude::*; use std::io::BufReader; +use std::io::prelude::*; use std::net::TcpStream; +use std::collections::BTreeMap; -use space::module::ModuleType; +use space::module::{Module, ModuleType}; use space::client::mining::client_mining; use space::client::engines::client_engines; use space::client::dashboard::client_dashboard; @@ -31,24 +32,24 @@ fn main() { let mut recv = String::new(); buff_r.read_line(&mut recv).unwrap(); - let modules : Vec = serde_json::from_str(&recv.replace("\n","")).unwrap(); + let modules : BTreeMap = serde_json::from_str(&recv.replace("\n","")).unwrap(); println!("Choose your module:"); - for (i, module) in modules.iter().enumerate() { + for (i, module) in modules.keys().enumerate() { println!("{}) {:?}", i, module); } let mut choice = String::new(); io::stdin().read_line(&mut choice).expect("Failed"); - let module = modules[choice.replace("\n", "").parse::().unwrap()].clone(); + let module = modules.values().nth(choice.replace("\n", "").parse::().unwrap()).unwrap(); let send = serde_json::to_string(&module).unwrap() + "\n"; stream.write(send.as_bytes()).unwrap(); - match module { - ModuleType::Mining => client_mining(stream, buff_r), + match module.module_type { ModuleType::Dashboard => client_dashboard(buff_r), ModuleType::Engines => client_engines(stream, buff_r), - ModuleType::Navigation => client_navigation(name, stream, buff_r), + ModuleType::Mining{..} => client_mining(stream, buff_r), + ModuleType::Navigation{..} => client_navigation(name, stream, buff_r), } } -- cgit v1.2.3