use thiserror::Error;
#[allow(dead_code)]
#[derive(Debug, Error)]
pub enum Error {
#[error(transparent)]
IO(#[from] std::io::Error),
#[error(transparent)]
UninitializedFieldError(#[from] derive_builder::UninitializedFieldError),
#[error("Wrong IEI for {0}. Expected {1} instead of {2}")]
WrongIEType(String, u8, u8),
#[error("Invalid MessageStatus: {0}")]
InvalidMessageStatus(i16),
#[error("Invalid SessionStatus: {0}")]
InvalidSessionStatus(u8),
#[error("Undefined error")]
Undefined,
}
pub(crate) type Result<T> = core::result::Result<T, Error>;