use crate::lib_enum;
use crate::result::Error;
lib_enum! {
Xpc: u8 {
default: LowPower,
error: Error,
LowPower = 0,
HighPower = 1,
}
}
impl Xpc {
pub const fn from_bool(val: bool) -> Self {
match val {
false => Self::LowPower,
true => Self::HighPower,
}
}
pub const fn into_bool(self) -> bool {
(self as u8) != 0
}
}
impl From<bool> for Xpc {
fn from(val: bool) -> Self {
Self::from_bool(val)
}
}
impl From<Xpc> for bool {
fn from(val: Xpc) -> Self {
val.into_bool()
}
}