#![allow(non_camel_case_types)]
#![allow(non_upper_case_globals)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[repr(i32)]
pub enum EGCSystemMsg {
    Invalid = 0,
    Multi = 1,
    GenericReply = 10,
    SystemBase = 50,
    AchievementAwarded = 51,
    ConCommand = 52,
    StartPlaying = 53,
    StopPlaying = 54,
    StartGameserver = 55,
    StopGameserver = 56,
    WGRequest = 57,
    WGResponse = 58,
    GetUserGameStatsSchema = 59,
    GetUserGameStatsSchemaResponse = 60,
    GetUserStatsDEPRECATED = 61,
    GetUserStatsResponse = 62,
    AppInfoUpdated = 63,
    ValidateSession = 64,
    ValidateSessionResponse = 65,
    LookupAccountFromInput = 66,
    SendHTTPRequest = 67,
    SendHTTPRequestResponse = 68,
    PreTestSetup = 69,
    RecordSupportAction = 70,
    DEPRECATED = 71,
    ReceiveInterAppMessage = 73,
    FindAccounts = 74,
    PostAlert = 75,
    GetLicenses = 76,
    GetUserStats = 77,
    GetCommands = 78,
    GetCommandsResponse = 79,
    AddFreeLicense = 80,
    AddFreeLicenseResponse = 81,
    GetIPLocation = 82,
    GetIPLocationResponse = 83,
    SystemStatsSchema = 84,
    GetSystemStats = 85,
    GetSystemStatsResponse = 86,
    SendEmail = 87,
    SendEmailResponse = 88,
    GetEmailTemplate = 89,
    GetEmailTemplateResponse = 90,
    GrantGuestPass = 91,
    GrantGuestPassResponse = 92,
    GetAccountDetails = 93,
    GetAccountDetailsResponse = 94,
    GetPersonaNames = 95,
    GetPersonaNamesResponse = 96,
    MultiplexMsg = 97,
    MultiplexMsgResponse = 98,
    WebAPIRegisterInterfaces = 101,
    WebAPIJobRequest = 102,
    WebAPIJobRequestHttpResponse = 104,
    WebAPIJobRequestForwardResponse = 105,
    MemCachedGet = 200,
    MemCachedGetResponse = 201,
    MemCachedSet = 202,
    MemCachedDelete = 203,
    MemCachedStats = 204,
    MemCachedStatsResponse = 205,
    MasterSetDirectory = 220,
    MasterSetDirectoryResponse = 221,
    MasterSetWebAPIRouting = 222,
    MasterSetWebAPIRoutingResponse = 223,
    MasterSetClientMsgRouting = 224,
    MasterSetClientMsgRoutingResponse = 225,
    SetOptions = 226,
    SetOptionsResponse = 227,
    SystemBase2 = 500,
    GetPurchaseTrustStatus = 501,
    GetPurchaseTrustStatusResponse = 502,
    UpdateSession = 503,
    GCAccountVacStatusChange = 504,
    CheckFriendship = 505,
    CheckFriendshipResponse = 506,
    GetPartnerAccountLink = 507,
    GetPartnerAccountLinkResponse = 508,
    DPPartnerMicroTxns = 512,
    DPPartnerMicroTxnsResponse = 513,
    VacVerificationChange = 518,
    AccountPhoneNumberChange = 519,
    InviteUserToLobby = 523,
    GetGamePersonalDataCategoriesRequest = 524,
    GetGamePersonalDataCategoriesResponse = 525,
    GetGamePersonalDataEntriesRequest = 526,
    GetGamePersonalDataEntriesResponse = 527,
    TerminateGamePersonalDataEntriesRequest = 528,
    TerminateGamePersonalDataEntriesResponse = 529,
    RecurringSubscriptionStatusChange = 530,
    DirectServiceMethod = 531,
    DirectServiceMethodResponse = 532,
}

impl EGCSystemMsg {
    pub fn from_i32(val: i32) -> Option<Self> {
        match val {
            x if x == Self::Invalid as i32 => Some(Self::Invalid),
            x if x == Self::Multi as i32 => Some(Self::Multi),
            x if x == Self::GenericReply as i32 => Some(Self::GenericReply),
            x if x == Self::SystemBase as i32 => Some(Self::SystemBase),
            x if x == Self::AchievementAwarded as i32 => Some(Self::AchievementAwarded),
            x if x == Self::ConCommand as i32 => Some(Self::ConCommand),
            x if x == Self::StartPlaying as i32 => Some(Self::StartPlaying),
            x if x == Self::StopPlaying as i32 => Some(Self::StopPlaying),
            x if x == Self::StartGameserver as i32 => Some(Self::StartGameserver),
            x if x == Self::StopGameserver as i32 => Some(Self::StopGameserver),
            x if x == Self::WGRequest as i32 => Some(Self::WGRequest),
            x if x == Self::WGResponse as i32 => Some(Self::WGResponse),
            x if x == Self::GetUserGameStatsSchema as i32 => Some(Self::GetUserGameStatsSchema),
            x if x == Self::GetUserGameStatsSchemaResponse as i32 => Some(Self::GetUserGameStatsSchemaResponse),
            x if x == Self::GetUserStatsDEPRECATED as i32 => Some(Self::GetUserStatsDEPRECATED),
            x if x == Self::GetUserStatsResponse as i32 => Some(Self::GetUserStatsResponse),
            x if x == Self::AppInfoUpdated as i32 => Some(Self::AppInfoUpdated),
            x if x == Self::ValidateSession as i32 => Some(Self::ValidateSession),
            x if x == Self::ValidateSessionResponse as i32 => Some(Self::ValidateSessionResponse),
            x if x == Self::LookupAccountFromInput as i32 => Some(Self::LookupAccountFromInput),
            x if x == Self::SendHTTPRequest as i32 => Some(Self::SendHTTPRequest),
            x if x == Self::SendHTTPRequestResponse as i32 => Some(Self::SendHTTPRequestResponse),
            x if x == Self::PreTestSetup as i32 => Some(Self::PreTestSetup),
            x if x == Self::RecordSupportAction as i32 => Some(Self::RecordSupportAction),
            x if x == Self::DEPRECATED as i32 => Some(Self::DEPRECATED),
            x if x == Self::ReceiveInterAppMessage as i32 => Some(Self::ReceiveInterAppMessage),
            x if x == Self::FindAccounts as i32 => Some(Self::FindAccounts),
            x if x == Self::PostAlert as i32 => Some(Self::PostAlert),
            x if x == Self::GetLicenses as i32 => Some(Self::GetLicenses),
            x if x == Self::GetUserStats as i32 => Some(Self::GetUserStats),
            x if x == Self::GetCommands as i32 => Some(Self::GetCommands),
            x if x == Self::GetCommandsResponse as i32 => Some(Self::GetCommandsResponse),
            x if x == Self::AddFreeLicense as i32 => Some(Self::AddFreeLicense),
            x if x == Self::AddFreeLicenseResponse as i32 => Some(Self::AddFreeLicenseResponse),
            x if x == Self::GetIPLocation as i32 => Some(Self::GetIPLocation),
            x if x == Self::GetIPLocationResponse as i32 => Some(Self::GetIPLocationResponse),
            x if x == Self::SystemStatsSchema as i32 => Some(Self::SystemStatsSchema),
            x if x == Self::GetSystemStats as i32 => Some(Self::GetSystemStats),
            x if x == Self::GetSystemStatsResponse as i32 => Some(Self::GetSystemStatsResponse),
            x if x == Self::SendEmail as i32 => Some(Self::SendEmail),
            x if x == Self::SendEmailResponse as i32 => Some(Self::SendEmailResponse),
            x if x == Self::GetEmailTemplate as i32 => Some(Self::GetEmailTemplate),
            x if x == Self::GetEmailTemplateResponse as i32 => Some(Self::GetEmailTemplateResponse),
            x if x == Self::GrantGuestPass as i32 => Some(Self::GrantGuestPass),
            x if x == Self::GrantGuestPassResponse as i32 => Some(Self::GrantGuestPassResponse),
            x if x == Self::GetAccountDetails as i32 => Some(Self::GetAccountDetails),
            x if x == Self::GetAccountDetailsResponse as i32 => Some(Self::GetAccountDetailsResponse),
            x if x == Self::GetPersonaNames as i32 => Some(Self::GetPersonaNames),
            x if x == Self::GetPersonaNamesResponse as i32 => Some(Self::GetPersonaNamesResponse),
            x if x == Self::MultiplexMsg as i32 => Some(Self::MultiplexMsg),
            x if x == Self::MultiplexMsgResponse as i32 => Some(Self::MultiplexMsgResponse),
            x if x == Self::WebAPIRegisterInterfaces as i32 => Some(Self::WebAPIRegisterInterfaces),
            x if x == Self::WebAPIJobRequest as i32 => Some(Self::WebAPIJobRequest),
            x if x == Self::WebAPIJobRequestHttpResponse as i32 => Some(Self::WebAPIJobRequestHttpResponse),
            x if x == Self::WebAPIJobRequestForwardResponse as i32 => Some(Self::WebAPIJobRequestForwardResponse),
            x if x == Self::MemCachedGet as i32 => Some(Self::MemCachedGet),
            x if x == Self::MemCachedGetResponse as i32 => Some(Self::MemCachedGetResponse),
            x if x == Self::MemCachedSet as i32 => Some(Self::MemCachedSet),
            x if x == Self::MemCachedDelete as i32 => Some(Self::MemCachedDelete),
            x if x == Self::MemCachedStats as i32 => Some(Self::MemCachedStats),
            x if x == Self::MemCachedStatsResponse as i32 => Some(Self::MemCachedStatsResponse),
            x if x == Self::MasterSetDirectory as i32 => Some(Self::MasterSetDirectory),
            x if x == Self::MasterSetDirectoryResponse as i32 => Some(Self::MasterSetDirectoryResponse),
            x if x == Self::MasterSetWebAPIRouting as i32 => Some(Self::MasterSetWebAPIRouting),
            x if x == Self::MasterSetWebAPIRoutingResponse as i32 => Some(Self::MasterSetWebAPIRoutingResponse),
            x if x == Self::MasterSetClientMsgRouting as i32 => Some(Self::MasterSetClientMsgRouting),
            x if x == Self::MasterSetClientMsgRoutingResponse as i32 => Some(Self::MasterSetClientMsgRoutingResponse),
            x if x == Self::SetOptions as i32 => Some(Self::SetOptions),
            x if x == Self::SetOptionsResponse as i32 => Some(Self::SetOptionsResponse),
            x if x == Self::SystemBase2 as i32 => Some(Self::SystemBase2),
            x if x == Self::GetPurchaseTrustStatus as i32 => Some(Self::GetPurchaseTrustStatus),
            x if x == Self::GetPurchaseTrustStatusResponse as i32 => Some(Self::GetPurchaseTrustStatusResponse),
            x if x == Self::UpdateSession as i32 => Some(Self::UpdateSession),
            x if x == Self::GCAccountVacStatusChange as i32 => Some(Self::GCAccountVacStatusChange),
            x if x == Self::CheckFriendship as i32 => Some(Self::CheckFriendship),
            x if x == Self::CheckFriendshipResponse as i32 => Some(Self::CheckFriendshipResponse),
            x if x == Self::GetPartnerAccountLink as i32 => Some(Self::GetPartnerAccountLink),
            x if x == Self::GetPartnerAccountLinkResponse as i32 => Some(Self::GetPartnerAccountLinkResponse),
            x if x == Self::DPPartnerMicroTxns as i32 => Some(Self::DPPartnerMicroTxns),
            x if x == Self::DPPartnerMicroTxnsResponse as i32 => Some(Self::DPPartnerMicroTxnsResponse),
            x if x == Self::VacVerificationChange as i32 => Some(Self::VacVerificationChange),
            x if x == Self::AccountPhoneNumberChange as i32 => Some(Self::AccountPhoneNumberChange),
            x if x == Self::InviteUserToLobby as i32 => Some(Self::InviteUserToLobby),
            x if x == Self::GetGamePersonalDataCategoriesRequest as i32 => Some(Self::GetGamePersonalDataCategoriesRequest),
            x if x == Self::GetGamePersonalDataCategoriesResponse as i32 => Some(Self::GetGamePersonalDataCategoriesResponse),
            x if x == Self::GetGamePersonalDataEntriesRequest as i32 => Some(Self::GetGamePersonalDataEntriesRequest),
            x if x == Self::GetGamePersonalDataEntriesResponse as i32 => Some(Self::GetGamePersonalDataEntriesResponse),
            x if x == Self::TerminateGamePersonalDataEntriesRequest as i32 => Some(Self::TerminateGamePersonalDataEntriesRequest),
            x if x == Self::TerminateGamePersonalDataEntriesResponse as i32 => Some(Self::TerminateGamePersonalDataEntriesResponse),
            x if x == Self::RecurringSubscriptionStatusChange as i32 => Some(Self::RecurringSubscriptionStatusChange),
            x if x == Self::DirectServiceMethod as i32 => Some(Self::DirectServiceMethod),
            x if x == Self::DirectServiceMethodResponse as i32 => Some(Self::DirectServiceMethodResponse),
            _ => None,
        }
    }
}
