rnetmon/src/monitors/mod.rs

24 lines
792 B
Rust

pub mod dhcp_leases;
pub mod dns;
pub mod dummy_sender;
pub mod nmap_scanner;
pub mod ping;
pub mod wifi_availability;
use crate::monitor::*;
pub fn factory(
name: &str,
config: 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)?)),
"nmap_scanner" => Ok(Box::new(nmap_scanner::NmapScanner::new(config)?)),
"ping" => Ok(Box::new(ping::Ping::new(config)?)),
"dns" => Ok(Box::new(dns::DNS::new(config)?)),
_ => panic!("Unknown monitor name: {}", name),
}
}