we don't need this right now
All checks were successful
CI / Rust checks (push) Successful in 2m2s

This commit is contained in:
2024-10-20 13:13:22 +02:00
parent 3a74467bb5
commit c50bb6c344

View File

@@ -1,76 +1,76 @@
use simconnect_sdk::{FacilityType, Notification, SimConnect}; // use simconnect_sdk::{FacilityType, Notification, SimConnect};
fn main() -> Result<(), Box<dyn std::error::Error>> { fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = SimConnect::new("Facilities example"); // let client = SimConnect::new("Facilities example");
match client { // match client {
Ok(mut client) => loop { // Ok(mut client) => loop {
let notification = client.get_next_dispatch()?; // let notification = client.get_next_dispatch()?;
match notification { // match notification {
Some(Notification::Open) => { // Some(Notification::Open) => {
println!("Connection opened."); // println!("Connection opened.");
// After the connection is successfully open // // After the connection is successfully open
// We request the existing list of airports in the facilities cache // // We request the existing list of airports in the facilities cache
client.request_facilities_list(FacilityType::Airport)?; // client.request_facilities_list(FacilityType::Airport)?;
// We subscribe to the current list and future additions of waypoints, NDBs and VORs // // We subscribe to the current list and future additions of waypoints, NDBs and VORs
client.subscribe_to_facilities(FacilityType::Waypoint)?; // client.subscribe_to_facilities(FacilityType::Waypoint)?;
client.subscribe_to_facilities(FacilityType::NDB)?; // client.subscribe_to_facilities(FacilityType::NDB)?;
client.subscribe_to_facilities(FacilityType::VOR)?; // client.subscribe_to_facilities(FacilityType::VOR)?;
} // }
Some(Notification::AirportList(data)) => { // Some(Notification::AirportList(data)) => {
for record in data { // for record in data {
// The returned list is quite large, so we look for a particular record // // The returned list is quite large, so we look for a particular record
// if record.icao == "EGSC" { // // if record.icao == "EGSC" {
// println!("{record:?}"); // // println!("{record:?}");
// // there's no need to unsubscribe // // // there's no need to unsubscribe
// // because this is a one-off request, not a subscription // // // because this is a one-off request, not a subscription
// } // // }
} // }
} // }
Some(Notification::WaypointList(data)) => { // Some(Notification::WaypointList(data)) => {
for record in data { // for record in data {
// The returned list is quite large, so we look for a particular record // // The returned list is quite large, so we look for a particular record
// if record.icao == "BRAIN" { // // if record.icao == "BRAIN" {
// println!("{record:?}"); // // println!("{record:?}");
// // we've got the entry we're interesting in - we can unsubscribe now // // // we've got the entry we're interesting in - we can unsubscribe now
// client.unsubscribe_to_facilities(FacilityType::Waypoint)?; // // client.unsubscribe_to_facilities(FacilityType::Waypoint)?;
// } // // }
} // }
} // }
Some(Notification::NdbList(data)) => { // Some(Notification::NdbList(data)) => {
for record in data { // for record in data {
// The returned list is quite large, so we look for a particular record // // The returned list is quite large, so we look for a particular record
// if record.icao == "CAM" { // // if record.icao == "CAM" {
// println!("{record:?}"); // // println!("{record:?}");
// // we've got the entry we're interesting in - we can unsubscribe now // // // we've got the entry we're interesting in - we can unsubscribe now
// client.unsubscribe_to_facilities(FacilityType::NDB)?; // // client.unsubscribe_to_facilities(FacilityType::NDB)?;
// } // // }
} // }
} // }
Some(Notification::VorList(data)) => { // Some(Notification::VorList(data)) => {
for record in data { // for record in data {
// The returned list is quite large, so we look for a particular record // // The returned list is quite large, so we look for a particular record
// if record.icao == "LON" { // // if record.icao == "LON" {
// println!("{record:?}"); // // println!("{record:?}");
// // we've got the entry we're interesting in - we can unsubscribe now // // // we've got the entry we're interesting in - we can unsubscribe now
// client.unsubscribe_to_facilities(FacilityType::VOR)?; // // client.unsubscribe_to_facilities(FacilityType::VOR)?;
// } // // }
} // }
} // }
_ => (), // _ => (),
} // }
// sleep for about a frame to reduce CPU usage // // sleep for about a frame to reduce CPU usage
std::thread::sleep(std::time::Duration::from_millis(16)); // std::thread::sleep(std::time::Duration::from_millis(16));
}, // },
Err(e) => { // Err(e) => {
println!("Error: {e:?}") // println!("Error: {e:?}")
} // }
} // }
Ok(()) Ok(())
} }