rust_lum/src/config.rs
2022-03-09 17:58:31 +01:00

20 lines
573 B
Rust

use crate::runner::DeviceSequence;
use serde_derive::{Deserialize, Serialize};
use std::collections::HashSet;
use std::fs;
pub(crate) type Config<const N: usize> = Vec<Device<N>>;
#[derive(Deserialize, Serialize)]
pub struct Device<const N: usize> {
pub mac_addresses: Option<HashSet<String>>,
name: Option<String>,
pub sequence: DeviceSequence<N>,
}
pub fn load_from_file<const N: usize>(file: &std::path::Path) -> Config<N> {
let file = fs::read_to_string(file).unwrap();
let config: Config<N> = serde_yaml::from_str(&*file).unwrap();
config
}