#![allow(non_camel_case_types)]
#![allow(non_upper_case_globals)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[repr(i32)]
pub enum EContentDownloadSourceType {
    Invalid = 0,
    CS = 1,
    CDN = 2,
    LCS = 3,
    ProxyCache = 4,
    LANPeer = 5,
    SLS = 6,
    SteamCache = 7,
    OpenCache = 8,
    LANCache = 9,
}

impl EContentDownloadSourceType {
    pub fn from_i32(val: i32) -> Option<Self> {
        match val {
            x if x == Self::Invalid as i32 => Some(Self::Invalid),
            x if x == Self::CS as i32 => Some(Self::CS),
            x if x == Self::CDN as i32 => Some(Self::CDN),
            x if x == Self::LCS as i32 => Some(Self::LCS),
            x if x == Self::ProxyCache as i32 => Some(Self::ProxyCache),
            x if x == Self::LANPeer as i32 => Some(Self::LANPeer),
            x if x == Self::SLS as i32 => Some(Self::SLS),
            x if x == Self::SteamCache as i32 => Some(Self::SteamCache),
            x if x == Self::OpenCache as i32 => Some(Self::OpenCache),
            x if x == Self::LANCache as i32 => Some(Self::LANCache),
            _ => None,
        }
    }
}
