#[derive(Clone, Copy, Debug, PartialEq)]
pub enum ErrorCode {
UnsupportedVersion,
CorruptData,
InvalidCheckSum,
KeyNotFound,
KeyAlreadyExists,
RegionFull,
FlashFull,
ReadFail,
WriteFail,
EraseFail,
ObjectTooLarge,
BufferTooSmall(usize),
ReadNotReady(usize),
WriteNotReady(usize),
EraseNotReady(usize),
}
impl From<ErrorCode> for isize {
fn from(original: ErrorCode) -> isize {
match original {
ErrorCode::UnsupportedVersion => -1,
ErrorCode::CorruptData => -2,
ErrorCode::InvalidCheckSum => -3,
ErrorCode::KeyNotFound => -4,
ErrorCode::KeyAlreadyExists => -5,
ErrorCode::RegionFull => -6,
ErrorCode::FlashFull => -7,
ErrorCode::ReadFail => -8,
ErrorCode::WriteFail => -9,
ErrorCode::EraseFail => -10,
ErrorCode::ObjectTooLarge => -11,
ErrorCode::BufferTooSmall(_) => -12,
ErrorCode::ReadNotReady(_) => -13,
ErrorCode::WriteNotReady(_) => -14,
ErrorCode::EraseNotReady(_) => -15,
}
}
}
impl From<ErrorCode> for usize {
fn from(original: ErrorCode) -> usize {
isize::from(original) as usize
}
}