use thiserror::Error;
use crate::formats::spice::SpiceError;
#[derive(Debug, Error)]
pub enum SpiceContextError {
#[error("SPICE kernel error: {0}")]
Kernel(#[from] SpiceError),
#[error("SPICE context I/O error: {0}")]
Io(#[from] std::io::Error),
#[error("SPICE context: no {kernel_type} kernel loaded")]
KernelNotLoaded {
kernel_type: String,
},
#[error("SPICE context: unknown frame: {description}")]
UnknownFrame {
description: String,
},
#[error("SPICE context: time conversion error: {message}")]
TimeConversion {
message: String,
},
#[error("SPICE context: unsupported query: {message}")]
UnsupportedKernelQuery {
message: String,
},
}