use phidget::net::{Server as PhidgetServer, ServerType as PhidgetServerType};
use std::{process, thread};
fn on_server_added(srvr: PhidgetServer) {
println!("Server added: {:?}", srvr);
}
fn on_server_removed(srvr: PhidgetServer) {
println!("Server removed: {:?}", srvr);
}
fn main() -> anyhow::Result<()> {
println!("Phidget server monitor.\n");
phidget::net::set_on_server_added_handler(on_server_added)?;
phidget::net::set_on_server_removed_handler(on_server_removed)?;
if let Err(err) = phidget::net::enable_server_discovery(PhidgetServerType::DeviceRemote) {
eprintln!("{}", err);
process::exit(1);
}
ctrlc::set_handler({
let thr = thread::current();
move || {
println!("\nExiting...");
thr.unpark();
}
})
.expect("Error setting Ctrl-C handler");
thread::park();
Ok(())
}