use std::fmt::Display;
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd)]
pub enum ADBListItemType {
File(ADBListItem),
Directory(ADBListItem),
Symlink(ADBListItem),
}
impl Display for ADBListItemType {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
Self::File(item) => write!(f, "file: {item}"),
Self::Directory(item) => write!(f, "directory: {item}"),
Self::Symlink(item) => write!(f, "symlink: {item}"),
}
}
}
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd)]
pub struct ADBListItem {
pub name: String,
pub time: u32,
pub permissions: u32,
pub size: u32,
}
impl Display for ADBListItem {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(
f,
"name: {}, time: {}, size: {}, permissions: {:#o}",
self.name, self.time, self.size, self.permissions
)
}
}