#![allow(non_camel_case_types)]
#![allow(non_upper_case_globals)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[repr(i32)]
pub enum EAppInfoSection {
    Unknown = 0,
    All = 1,
    Common = 2,
    Extended = 3,
    Config = 4,
    Stats = 5,
    Install = 6,
    Depots = 7,
    VAC = 8,
    DRM = 9,
    UFS = 10,
    OGG = 11,
    Items = 12,
    Policies = 13,
    SysReqs = 14,
    Community = 15,
    Store = 16,
    Localization = 17,
    Broadcastgamedata = 18,
    Computed = 19,
    Albummetadata = 20,
}

impl EAppInfoSection {
    pub fn from_i32(val: i32) -> Option<Self> {
        match val {
            x if x == Self::Unknown as i32 => Some(Self::Unknown),
            x if x == Self::All as i32 => Some(Self::All),
            x if x == Self::Common as i32 => Some(Self::Common),
            x if x == Self::Extended as i32 => Some(Self::Extended),
            x if x == Self::Config as i32 => Some(Self::Config),
            x if x == Self::Stats as i32 => Some(Self::Stats),
            x if x == Self::Install as i32 => Some(Self::Install),
            x if x == Self::Depots as i32 => Some(Self::Depots),
            x if x == Self::VAC as i32 => Some(Self::VAC),
            x if x == Self::DRM as i32 => Some(Self::DRM),
            x if x == Self::UFS as i32 => Some(Self::UFS),
            x if x == Self::OGG as i32 => Some(Self::OGG),
            x if x == Self::Items as i32 => Some(Self::Items),
            x if x == Self::Policies as i32 => Some(Self::Policies),
            x if x == Self::SysReqs as i32 => Some(Self::SysReqs),
            x if x == Self::Community as i32 => Some(Self::Community),
            x if x == Self::Store as i32 => Some(Self::Store),
            x if x == Self::Localization as i32 => Some(Self::Localization),
            x if x == Self::Broadcastgamedata as i32 => Some(Self::Broadcastgamedata),
            x if x == Self::Computed as i32 => Some(Self::Computed),
            x if x == Self::Albummetadata as i32 => Some(Self::Albummetadata),
            _ => None,
        }
    }
}
