1use thiserror::Error;
2
3#[derive(Error, Debug)]
5#[non_exhaustive]
6pub enum SimConnectError {
7 #[error("SimConnect error: {0}")]
9 SimConnectError(i32),
10 #[error("SimConnect exception: {0}")]
12 SimConnectException(u32),
13 #[error("Unimplemented event in the SDK: {0}")]
15 UnimplementedEventType(u32),
16 #[error("Unimplemented notification in the SDK: {0}")]
18 UnimplementedNotification(i32),
19 #[error("Object `{0}` has already been registered")]
21 ObjectAlreadyRegistered(String),
22 #[error("Object `{0}` has not been registered")]
24 ObjectNotRegistered(String),
25 #[error("Event `{0}` has already been subscribed to")]
26 EventAlreadySubscribedTo(String),
27 #[error("Event `{0}` has not been subscribed to")]
28 EventNotSubscribedTo(String),
29 #[error("Tried to convert object of type {actual} to {expected}")]
31 ObjectMismatch { actual: String, expected: String },
32 #[error("Conversion error: {0}")]
34 ConversionError(#[from] std::num::TryFromIntError),
35 #[error("Unexpected error: {0}")]
37 UnexpectedError(String),
38}