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