use crate::log::sink::SinkSpecifierError;
pub(crate) enum Status {
CantConstructSink = -7,
CantOpenSinkToFile = -6,
MissingFilePath = -5,
UnknownSinkType = -4,
SpecifierNotUtf8 = -3,
#[allow(dead_code)]
NoLogger = -2,
CantSetLogger = -1,
Success = 0,
}
impl From<anyhow::Error> for Status {
fn from(_err: anyhow::Error) -> Status {
Status::CantSetLogger
}
}
impl From<SinkSpecifierError> for Status {
fn from(err: SinkSpecifierError) -> Status {
match err {
SinkSpecifierError::UnknownSinkType { .. } => {
Status::UnknownSinkType
}
SinkSpecifierError::MissingFilePath { .. } => {
Status::MissingFilePath
}
SinkSpecifierError::CantMakeFile { .. } => {
Status::CantOpenSinkToFile
}
}
}
}