#![allow(non_camel_case_types)]
#![allow(non_upper_case_globals)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[repr(i32)]
pub enum EStreamControlMessage {
    AuthenticationRequest = 1,
    AuthenticationResponse = 2,
    NegotiationInit = 3,
    NegotiationSetConfig = 4,
    NegotiationComplete = 5,
    ClientHandshake = 6,
    ServerHandshake = 7,
    StartNetworkTest = 8,
    KeepAlive = 9,
    LAST_SETUP_MESSAGE = 15,
    StartAudioData = 50,
    StopAudioData = 51,
    StartVideoData = 52,
    StopVideoData = 53,
    InputMouseMotion = 54,
    InputMouseWheel = 55,
    InputMouseDown = 56,
    InputMouseUp = 57,
    InputKeyDown = 58,
    InputKeyUp = 59,
    OBSOLETE_60 = 60,
    OBSOLETE_61 = 61,
    OBSOLETE_62 = 62,
    ShowCursor = 63,
    HideCursor = 64,
    SetCursor = 65,
    GetCursorImage = 66,
    SetCursorImage = 67,
    DeleteCursor = 68,
    SetTargetFramerate = 69,
    InputLatencyTest = 70,
    OBSOLETE_71 = 71,
    OverlayEnabled = 74,
    OBSOLETE_75 = 75,
    OBSOLETE_76 = 76,
    OBSOLETE_77 = 77,
    OBSOLETE_78 = 78,
    VideoDecoderInfo = 80,
    SetTitle = 81,
    SetIcon = 82,
    QuitRequest = 83,
    SetQoS = 87,
    OBSOLETE_88 = 88,
    SetGammaRamp = 89,
    VideoEncoderInfo = 90,
    OBSOLETE_93 = 93,
    SetTargetBitrate = 94,
    OBSOLETE_95 = 95,
    OBSOLETE_96 = 96,
    OBSOLETE_97 = 97,
    SetActivity = 98,
    SetStreamingClientConfig = 99,
    SystemSuspend = 100,
    OBSOLETE_101 = 101,
    VirtualHereRequest = 102,
    VirtualHereReady = 103,
    VirtualHereShareDevice = 104,
    SetSpectatorMode = 105,
    RemoteHID = 106,
    StartMicrophoneData = 107,
    StopMicrophoneData = 108,
    InputText = 109,
    TouchConfigActive = 110,
    GetTouchConfigData = 111,
    SetTouchConfigData = 112,
    SaveTouchConfigLayout = 113,
    TouchActionSetActive = 114,
    GetTouchIconData = 115,
    SetTouchIconData = 116,
    InputTouchFingerDown = 117,
    InputTouchFingerMotion = 118,
    InputTouchFingerUp = 119,
    SetCaptureSize = 120,
    SetFlashState = 121,
    Pause = 122,
    Resume = 123,
    EnableHighResCapture = 124,
    DisableHighResCapture = 125,
    ToggleMagnification = 126,
    SetCapslock = 127,
    SetKeymap = 128,
    StopRequest = 129,
    TouchActionSetLayerAdded = 130,
    TouchActionSetLayerRemoved = 131,
    RemotePlayTogetherGroupUpdate = 132,
    SetInputTemporarilyDisabled = 133,
    SetQualityOverride = 134,
    SetBitrateOverride = 135,
    ShowOnScreenKeyboard = 136,
    ControllerConfigMsg = 137,
    ControllerPersonalizationUpdate = 138,
    OBSOLETE_139 = 139,
    OBSOLETE_140 = 140,
    OBSOLETE_141 = 141,
    OBSOLETE_142 = 142,
    PauseControllerInput = 143,
    ResumeControllerInput = 144,
    VRConnectionReady = 145,
    SetCursorScale = 146,
}

impl EStreamControlMessage {
    pub fn from_i32(val: i32) -> Option<Self> {
        match val {
            x if x == Self::AuthenticationRequest as i32 => Some(Self::AuthenticationRequest),
            x if x == Self::AuthenticationResponse as i32 => Some(Self::AuthenticationResponse),
            x if x == Self::NegotiationInit as i32 => Some(Self::NegotiationInit),
            x if x == Self::NegotiationSetConfig as i32 => Some(Self::NegotiationSetConfig),
            x if x == Self::NegotiationComplete as i32 => Some(Self::NegotiationComplete),
            x if x == Self::ClientHandshake as i32 => Some(Self::ClientHandshake),
            x if x == Self::ServerHandshake as i32 => Some(Self::ServerHandshake),
            x if x == Self::StartNetworkTest as i32 => Some(Self::StartNetworkTest),
            x if x == Self::KeepAlive as i32 => Some(Self::KeepAlive),
            x if x == Self::LAST_SETUP_MESSAGE as i32 => Some(Self::LAST_SETUP_MESSAGE),
            x if x == Self::StartAudioData as i32 => Some(Self::StartAudioData),
            x if x == Self::StopAudioData as i32 => Some(Self::StopAudioData),
            x if x == Self::StartVideoData as i32 => Some(Self::StartVideoData),
            x if x == Self::StopVideoData as i32 => Some(Self::StopVideoData),
            x if x == Self::InputMouseMotion as i32 => Some(Self::InputMouseMotion),
            x if x == Self::InputMouseWheel as i32 => Some(Self::InputMouseWheel),
            x if x == Self::InputMouseDown as i32 => Some(Self::InputMouseDown),
            x if x == Self::InputMouseUp as i32 => Some(Self::InputMouseUp),
            x if x == Self::InputKeyDown as i32 => Some(Self::InputKeyDown),
            x if x == Self::InputKeyUp as i32 => Some(Self::InputKeyUp),
            x if x == Self::OBSOLETE_60 as i32 => Some(Self::OBSOLETE_60),
            x if x == Self::OBSOLETE_61 as i32 => Some(Self::OBSOLETE_61),
            x if x == Self::OBSOLETE_62 as i32 => Some(Self::OBSOLETE_62),
            x if x == Self::ShowCursor as i32 => Some(Self::ShowCursor),
            x if x == Self::HideCursor as i32 => Some(Self::HideCursor),
            x if x == Self::SetCursor as i32 => Some(Self::SetCursor),
            x if x == Self::GetCursorImage as i32 => Some(Self::GetCursorImage),
            x if x == Self::SetCursorImage as i32 => Some(Self::SetCursorImage),
            x if x == Self::DeleteCursor as i32 => Some(Self::DeleteCursor),
            x if x == Self::SetTargetFramerate as i32 => Some(Self::SetTargetFramerate),
            x if x == Self::InputLatencyTest as i32 => Some(Self::InputLatencyTest),
            x if x == Self::OBSOLETE_71 as i32 => Some(Self::OBSOLETE_71),
            x if x == Self::OverlayEnabled as i32 => Some(Self::OverlayEnabled),
            x if x == Self::OBSOLETE_75 as i32 => Some(Self::OBSOLETE_75),
            x if x == Self::OBSOLETE_76 as i32 => Some(Self::OBSOLETE_76),
            x if x == Self::OBSOLETE_77 as i32 => Some(Self::OBSOLETE_77),
            x if x == Self::OBSOLETE_78 as i32 => Some(Self::OBSOLETE_78),
            x if x == Self::VideoDecoderInfo as i32 => Some(Self::VideoDecoderInfo),
            x if x == Self::SetTitle as i32 => Some(Self::SetTitle),
            x if x == Self::SetIcon as i32 => Some(Self::SetIcon),
            x if x == Self::QuitRequest as i32 => Some(Self::QuitRequest),
            x if x == Self::SetQoS as i32 => Some(Self::SetQoS),
            x if x == Self::OBSOLETE_88 as i32 => Some(Self::OBSOLETE_88),
            x if x == Self::SetGammaRamp as i32 => Some(Self::SetGammaRamp),
            x if x == Self::VideoEncoderInfo as i32 => Some(Self::VideoEncoderInfo),
            x if x == Self::OBSOLETE_93 as i32 => Some(Self::OBSOLETE_93),
            x if x == Self::SetTargetBitrate as i32 => Some(Self::SetTargetBitrate),
            x if x == Self::OBSOLETE_95 as i32 => Some(Self::OBSOLETE_95),
            x if x == Self::OBSOLETE_96 as i32 => Some(Self::OBSOLETE_96),
            x if x == Self::OBSOLETE_97 as i32 => Some(Self::OBSOLETE_97),
            x if x == Self::SetActivity as i32 => Some(Self::SetActivity),
            x if x == Self::SetStreamingClientConfig as i32 => Some(Self::SetStreamingClientConfig),
            x if x == Self::SystemSuspend as i32 => Some(Self::SystemSuspend),
            x if x == Self::OBSOLETE_101 as i32 => Some(Self::OBSOLETE_101),
            x if x == Self::VirtualHereRequest as i32 => Some(Self::VirtualHereRequest),
            x if x == Self::VirtualHereReady as i32 => Some(Self::VirtualHereReady),
            x if x == Self::VirtualHereShareDevice as i32 => Some(Self::VirtualHereShareDevice),
            x if x == Self::SetSpectatorMode as i32 => Some(Self::SetSpectatorMode),
            x if x == Self::RemoteHID as i32 => Some(Self::RemoteHID),
            x if x == Self::StartMicrophoneData as i32 => Some(Self::StartMicrophoneData),
            x if x == Self::StopMicrophoneData as i32 => Some(Self::StopMicrophoneData),
            x if x == Self::InputText as i32 => Some(Self::InputText),
            x if x == Self::TouchConfigActive as i32 => Some(Self::TouchConfigActive),
            x if x == Self::GetTouchConfigData as i32 => Some(Self::GetTouchConfigData),
            x if x == Self::SetTouchConfigData as i32 => Some(Self::SetTouchConfigData),
            x if x == Self::SaveTouchConfigLayout as i32 => Some(Self::SaveTouchConfigLayout),
            x if x == Self::TouchActionSetActive as i32 => Some(Self::TouchActionSetActive),
            x if x == Self::GetTouchIconData as i32 => Some(Self::GetTouchIconData),
            x if x == Self::SetTouchIconData as i32 => Some(Self::SetTouchIconData),
            x if x == Self::InputTouchFingerDown as i32 => Some(Self::InputTouchFingerDown),
            x if x == Self::InputTouchFingerMotion as i32 => Some(Self::InputTouchFingerMotion),
            x if x == Self::InputTouchFingerUp as i32 => Some(Self::InputTouchFingerUp),
            x if x == Self::SetCaptureSize as i32 => Some(Self::SetCaptureSize),
            x if x == Self::SetFlashState as i32 => Some(Self::SetFlashState),
            x if x == Self::Pause as i32 => Some(Self::Pause),
            x if x == Self::Resume as i32 => Some(Self::Resume),
            x if x == Self::EnableHighResCapture as i32 => Some(Self::EnableHighResCapture),
            x if x == Self::DisableHighResCapture as i32 => Some(Self::DisableHighResCapture),
            x if x == Self::ToggleMagnification as i32 => Some(Self::ToggleMagnification),
            x if x == Self::SetCapslock as i32 => Some(Self::SetCapslock),
            x if x == Self::SetKeymap as i32 => Some(Self::SetKeymap),
            x if x == Self::StopRequest as i32 => Some(Self::StopRequest),
            x if x == Self::TouchActionSetLayerAdded as i32 => Some(Self::TouchActionSetLayerAdded),
            x if x == Self::TouchActionSetLayerRemoved as i32 => Some(Self::TouchActionSetLayerRemoved),
            x if x == Self::RemotePlayTogetherGroupUpdate as i32 => Some(Self::RemotePlayTogetherGroupUpdate),
            x if x == Self::SetInputTemporarilyDisabled as i32 => Some(Self::SetInputTemporarilyDisabled),
            x if x == Self::SetQualityOverride as i32 => Some(Self::SetQualityOverride),
            x if x == Self::SetBitrateOverride as i32 => Some(Self::SetBitrateOverride),
            x if x == Self::ShowOnScreenKeyboard as i32 => Some(Self::ShowOnScreenKeyboard),
            x if x == Self::ControllerConfigMsg as i32 => Some(Self::ControllerConfigMsg),
            x if x == Self::ControllerPersonalizationUpdate as i32 => Some(Self::ControllerPersonalizationUpdate),
            x if x == Self::OBSOLETE_139 as i32 => Some(Self::OBSOLETE_139),
            x if x == Self::OBSOLETE_140 as i32 => Some(Self::OBSOLETE_140),
            x if x == Self::OBSOLETE_141 as i32 => Some(Self::OBSOLETE_141),
            x if x == Self::OBSOLETE_142 as i32 => Some(Self::OBSOLETE_142),
            x if x == Self::PauseControllerInput as i32 => Some(Self::PauseControllerInput),
            x if x == Self::ResumeControllerInput as i32 => Some(Self::ResumeControllerInput),
            x if x == Self::VRConnectionReady as i32 => Some(Self::VRConnectionReady),
            x if x == Self::SetCursorScale as i32 => Some(Self::SetCursorScale),
            _ => None,
        }
    }
}
