added config deserializing
This commit is contained in:
@ -0,0 +1,30 @@
|
||||
extern crate serde;
|
||||
extern crate serde_derive;
|
||||
extern crate serde_json;
|
||||
|
||||
use std::fs::File;
|
||||
use std::io::{BufReader, Read};
|
||||
use std::path::Path;
|
||||
|
||||
use serde::Deserialize;
|
||||
use serde_json::Result;
|
||||
|
||||
// config structure
|
||||
#[derive(Deserialize, Debug)]
|
||||
pub struct Configuration {
|
||||
pub ipaddr: String,
|
||||
pub port: i32,
|
||||
pub tv: String,
|
||||
pub active_app: String,
|
||||
}
|
||||
|
||||
// grab the config
|
||||
pub fn init_config() -> Configuration {
|
||||
let mut file = File::open(&Path::new("config.json")).expect("Couldn't grab JSON!");
|
||||
let mut data = String::new();
|
||||
file.read_to_string(&mut data).expect("Poop");
|
||||
|
||||
let config: Configuration = serde_json::from_str(&data).expect("Couldn't parse JSON!");
|
||||
|
||||
config
|
||||
}
|
||||
|
Reference in New Issue
Block a user