Add unsubscribe to objects
This commit is contained in:
@@ -27,27 +27,40 @@
|
||||
//! let client = SimConnect::new("Simple Program");
|
||||
//!
|
||||
//! match client {
|
||||
//! Ok(mut client) => loop {
|
||||
//! let notification = client.get_next_dispatch()?;
|
||||
//! Ok(mut client) => {
|
||||
//! let mut notifications_received = 0;
|
||||
//!
|
||||
//! match notification {
|
||||
//! Some(Notification::Open) => {
|
||||
//! println!("Open");
|
||||
//! loop {
|
||||
//! let notification = client.get_next_dispatch()?;
|
||||
//!
|
||||
//! // After the connection is successfully open, we register the struct
|
||||
//! client.register_object::<GpsData>()?;
|
||||
//! }
|
||||
//! Some(Notification::Object(data)) => {
|
||||
//! if let Ok(gps_data) = GpsData::try_from(&data) {
|
||||
//! println!("{gps_data:?}");
|
||||
//! match notification {
|
||||
//! Some(Notification::Open) => {
|
||||
//! println!("Connection opened.");
|
||||
//!
|
||||
//! // After the connection is successfully open, we register the struct
|
||||
//! client.register_object::<GpsData>()?;
|
||||
//! }
|
||||
//! }
|
||||
//! _ => (),
|
||||
//! }
|
||||
//! Some(Notification::Object(data)) => {
|
||||
//! if let Ok(gps_data) = GpsData::try_from(&data) {
|
||||
//! println!("{gps_data:?}");
|
||||
//!
|
||||
//! // sleep for about a frame to reduce CPU usage
|
||||
//! std::thread::sleep(std::time::Duration::from_millis(16));
|
||||
//! },
|
||||
//! notifications_received += 1;
|
||||
//!
|
||||
//! // After we have received 10 notifications, we unregister the struct
|
||||
//! if notifications_received > 10 {
|
||||
//! client.unregister_object::<GpsData>()?;
|
||||
//! println!("Subscription stopped.");
|
||||
//! break;
|
||||
//! }
|
||||
//! }
|
||||
//! }
|
||||
//! _ => (),
|
||||
//! }
|
||||
//!
|
||||
//! // sleep for about a frame to reduce CPU usage
|
||||
//! std::thread::sleep(std::time::Duration::from_millis(16));
|
||||
//! }
|
||||
//! }
|
||||
//! Err(e) => {
|
||||
//! println!("Error: {e:?}")
|
||||
//! }
|
||||
|
Reference in New Issue
Block a user