use hadris_io as io;
#[derive(Debug, thiserror::Error)]
pub enum Error {
#[error("I/O error: {0}")]
Io(#[from] io::Error),
#[error("ISO error: {0}")]
Iso(#[from] hadris_iso::write::IsoCreationError),
#[error("UDF error: {0}")]
Udf(#[from] hadris_udf::Error),
#[error("Invalid file path: {0}")]
InvalidPath(String),
#[error("File not found: {0}")]
FileNotFound(String),
#[error("Directory not found: {0}")]
DirectoryNotFound(String),
#[error("Volume name too long (max {max} characters): {name}")]
VolumeNameTooLong {
name: String,
max: usize,
},
#[error("Invalid configuration: {0}")]
InvalidConfig(String),
}
pub type Result<T> = core::result::Result<T, Error>;