rnetmon/src/monitors/mod.rs

19 lines
601 B
Rust

pub mod dhcp_leases;
pub mod dummy_sender;
pub mod wifi_availability;
use crate::monitor::*;
use std::collections::HashMap;
pub fn factory(
name: &str,
config: &HashMap<String, serde_yaml::Value>,
) -> Result<Box<Monitor>, Box<dyn std::error::Error>> {
match name {
"dummy_sender" => Ok(Box::new(dummy_sender::DummySender::new(&config)?)),
"wifi_availability" => Ok(Box::new(wifi_availability::WifiAvailability::new(&config)?)),
"dhcp_leases" => Ok(Box::new(dhcp_leases::DHCPLeases::new(&config)?)),
_ => panic!("Unknown monitor name: {}", name),
}
}