use super::*;
#[derive(Copy, Clone, PartialEq, Eq, Debug)]
pub enum Type {
U32,
U64,
String,
ExpandString,
MultiString,
Bytes,
Other(u32),
}
impl From<u32> for Type {
fn from(ty: u32) -> Self {
match ty {
REG_DWORD => Self::U32,
REG_QWORD => Self::U64,
REG_SZ => Self::String,
REG_EXPAND_SZ => Self::ExpandString,
REG_MULTI_SZ => Self::MultiString,
REG_BINARY => Self::Bytes,
rest => Self::Other(rest),
}
}
}
impl From<Type> for u32 {
fn from(ty: Type) -> Self {
match ty {
Type::U32 => REG_DWORD,
Type::U64 => REG_QWORD,
Type::String => REG_SZ,
Type::ExpandString => REG_EXPAND_SZ,
Type::MultiString => REG_MULTI_SZ,
Type::Bytes => REG_BINARY,
Type::Other(other) => other,
}
}
}