simconnect_sdk/
errors.rs

1use thiserror::Error;
2
3/// SimConnect SDK error.
4#[derive(Error, Debug)]
5#[non_exhaustive]
6pub enum SimConnectError {
7    /// SimConnect error.
8    #[error("SimConnect error: {0}")]
9    SimConnectError(i32),
10    /// SimConnect error.
11    #[error("SimConnect exception: {0}")]
12    SimConnectException(u32),
13    /// An unimplemented event type has been received by the SDK.
14    #[error("Unimplemented event in the SDK: {0}")]
15    UnimplementedEventType(u32),
16    /// An unimplemented message type has been received by the SDK.
17    #[error("Unimplemented notification in the SDK: {0}")]
18    UnimplementedMessageType(i32),
19    /// Object already registered with the client instance.
20    #[error("Object `{0}` has already been registered")]
21    ObjectAlreadyRegistered(String),
22    /// Object already registered with the client instance.
23    #[error("Object `{0}` has not been registered")]
24    ObjectNotRegistered(String),
25    /// Object mismatch.
26    #[error("Tried to convert object of type {actual} to {expected}")]
27    ObjectMismatch { actual: String, expected: String },
28    /// Conversation error.
29    #[error("Conversion error: {0}")]
30    ConversionError(#[from] std::num::TryFromIntError),
31    /// Unexpected error.
32    #[error("Unexpected error: {0}")]
33    UnexpectedError(String),
34}