rnetmon/src/monitors/mod.rs

24 lines
792 B
Rust
Raw Normal View History

2019-02-14 07:21:22 +00:00
pub mod dhcp_leases;
2020-10-20 15:31:25 +00:00
pub mod dns;
2019-02-14 07:21:22 +00:00
pub mod dummy_sender;
2020-10-20 15:31:25 +00:00
pub mod nmap_scanner;
pub mod ping;
2019-02-14 07:21:22 +00:00
pub mod wifi_availability;
use crate::monitor::*;
pub fn factory(
name: &str,
2019-02-23 17:45:43 +00:00
config: serde_yaml::Value,
2019-02-14 07:21:22 +00:00
) -> Result<Box<Monitor>, Box<dyn std::error::Error>> {
match name {
2019-02-23 17:45:43 +00:00
"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)?)),
2020-10-20 15:31:25 +00:00
"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)?)),
2019-02-14 07:21:22 +00:00
_ => panic!("Unknown monitor name: {}", name),
}
}