#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[repr(u8)]
pub enum ObjectStatus {
Normal = 0,
ObjectDoesNotExist = 1,
EndOfGroup = 3,
EndOfTrackAndGroup = 4,
EndOfTrack = 5,
}
impl ObjectStatus {
pub const ALL: &[ObjectStatus] = &[
ObjectStatus::Normal,
ObjectStatus::ObjectDoesNotExist,
ObjectStatus::EndOfGroup,
ObjectStatus::EndOfTrackAndGroup,
ObjectStatus::EndOfTrack,
];
pub fn from_u64(v: u64) -> Option<Self> {
match v {
0 => Some(ObjectStatus::Normal),
1 => Some(ObjectStatus::ObjectDoesNotExist),
3 => Some(ObjectStatus::EndOfGroup),
4 => Some(ObjectStatus::EndOfTrackAndGroup),
5 => Some(ObjectStatus::EndOfTrack),
_ => None,
}
}
pub fn as_u64(self) -> u64 {
self as u64
}
}