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 UnimplementedMessageType(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("Tried to convert object of type {actual} to {expected}")]
27 ObjectMismatch { actual: String, expected: String },
28 #[error("Conversion error: {0}")]
30 ConversionError(#[from] std::num::TryFromIntError),
31 #[error("Unexpected error: {0}")]
33 UnexpectedError(String),
34}