use core::fmt;
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum PartitionError {
InvalidMagic,
InvalidType(u8),
InvalidSubType(u8),
InvalidUserType(u8),
InvalidOtaNumber(u8),
InvalidString,
InvalidAlignment,
InvalidMd5,
NotEnoughData,
TooManyData,
}
impl fmt::Display for PartitionError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
use PartitionError::*;
match self {
InvalidMagic => "Invalid magic".fmt(f),
InvalidType(ty) => {
"Invalid type: ".fmt(f)?;
ty.fmt(f)
}
InvalidSubType(ty) => {
"Invalid sub type: ".fmt(f)?;
ty.fmt(f)
}
InvalidUserType(ty) => {
"Invalid user type: ".fmt(f)?;
ty.fmt(f)
}
InvalidOtaNumber(no) => {
"Invalid OTA: #".fmt(f)?;
no.fmt(f)
}
InvalidString => "Invalid string".fmt(f),
InvalidAlignment => "Invalid alignment".fmt(f),
InvalidMd5 => "Invalid MD5".fmt(f),
NotEnoughData => "Not enough data".fmt(f),
TooManyData => "Too many data".fmt(f),
}
}
}