#![allow(non_camel_case_types)]
#![allow(non_upper_case_globals)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[repr(i32)]
pub enum EBrowserFeatureStatus {
    Invalid = 0,
    NotFound = 1,
    Unknown = 2,
    DisabledSoftware = 3,
    DisabledOff = 4,
    DisabledOffOk = 5,
    UnavailableSoftware = 6,
    UnavailableOff = 7,
    UnavailableOffOk = 8,
    EnabledReadback = 9,
    EnabledForce = 10,
    Enabled = 11,
    EnabledOn = 12,
    EnabledForceOn = 13,
}

impl EBrowserFeatureStatus {
    pub fn from_i32(val: i32) -> Option<Self> {
        match val {
            x if x == Self::Invalid as i32 => Some(Self::Invalid),
            x if x == Self::NotFound as i32 => Some(Self::NotFound),
            x if x == Self::Unknown as i32 => Some(Self::Unknown),
            x if x == Self::DisabledSoftware as i32 => Some(Self::DisabledSoftware),
            x if x == Self::DisabledOff as i32 => Some(Self::DisabledOff),
            x if x == Self::DisabledOffOk as i32 => Some(Self::DisabledOffOk),
            x if x == Self::UnavailableSoftware as i32 => Some(Self::UnavailableSoftware),
            x if x == Self::UnavailableOff as i32 => Some(Self::UnavailableOff),
            x if x == Self::UnavailableOffOk as i32 => Some(Self::UnavailableOffOk),
            x if x == Self::EnabledReadback as i32 => Some(Self::EnabledReadback),
            x if x == Self::EnabledForce as i32 => Some(Self::EnabledForce),
            x if x == Self::Enabled as i32 => Some(Self::Enabled),
            x if x == Self::EnabledOn as i32 => Some(Self::EnabledOn),
            x if x == Self::EnabledForceOn as i32 => Some(Self::EnabledForceOn),
            _ => None,
        }
    }
}
