use thiserror::Error;
#[derive(Debug, Error)]
pub enum ParseError {
#[error("XML deserialization error: {0}")]
Deserialize(#[from] quick_xml::DeError),
#[error("XML deserialization error in {context}: {source}")]
DeserializeIn {
context: String,
#[source]
source: quick_xml::DeError,
},
#[error("XML serialization error: {0}")]
Serialize(#[from] quick_xml::SeError),
#[error("I/O error: {0}")]
Io(#[from] std::io::Error),
#[error("invalid envelope: {0}")]
InvalidEnvelope(String),
}