19 lines
601 B
Rust
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),
|
|
}
|
|
}
|