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