use crate::time::SystemTime;
#[derive(Debug)]
#[allow(clippy::module_name_repetitions)]
pub enum SystemTimeSpec {
SymbolicNow,
Absolute(SystemTime),
}
impl SystemTimeSpec {
#[inline]
pub const fn from_std(std: fs_set_times::SystemTimeSpec) -> Self {
match std {
fs_set_times::SystemTimeSpec::SymbolicNow => SystemTimeSpec::SymbolicNow,
fs_set_times::SystemTimeSpec::Absolute(time) => {
SystemTimeSpec::Absolute(SystemTime::from_std(time))
}
}
}
#[inline]
pub const fn into_std(self) -> fs_set_times::SystemTimeSpec {
match self {
SystemTimeSpec::SymbolicNow => fs_set_times::SystemTimeSpec::SymbolicNow,
SystemTimeSpec::Absolute(time) => {
fs_set_times::SystemTimeSpec::Absolute(time.into_std())
}
}
}
}
impl From<SystemTime> for SystemTimeSpec {
fn from(time: SystemTime) -> Self {
Self::Absolute(time)
}
}