/** \brief Possible Error codes for bios API. * This is the list of errors that can be returned from bios API. * Errors after UNKNOWN are extended errors that are not present in the native API. */ enum EBiosError { //! 0 - No error. Can be returned from any call. OK, //! 1 - The operation was cancelled. See individual calls for details. CANCEL //! 2 - Atleast one of the input parameters is incorrect BAD_PARAMETER, //! 3 - The call could not find some data. See individual calls for details. NOT_FOUND, //! 4 - The call is not supported for the current platform. Can be returned from any call. NOT_IMPLEMENTED, //! 5 - [XB] The action cannot be performed because the user does not own the content. PURCHASE_REQUIRED, //! 6 - The action is not allowed. (restricted, not enough permission) NOT_ALLOWED, //! 7 - [XB] The user is banned from some action. BANNED, //! 8 - API usage error. For example, usage of objects whos native lifetime ended. Can be returned from any call. LOGICAL, //! 9 - Response was of unexpected format WRONG_RESPONSE_DATA, //! 10 - Server is no longer registered SERVER_HEARTBEAT_SERVER_NOT_FOUND, //! 11 - Server was already registered SERVER_REGISTER_ALREADY_EXISTS, //! 12 - Failed to open the request REQUEST_CREATE_FAIL_XHR, //! 13 - Failed to send the data REQUEST_SEND_FAIL, //! 14 - Failed to wait for the operation to end - only in a synchronous call REQUEST_WAIT_FAIL, //! 15 - Response was expected to be in JSON format, but it was not NON_JSON_RESPONSE, // RESERVED SPACE OF REDUNDANT ERRORS //! 21 - [PS] Mandatory update exist and is required. UPDATE_REQUIRED, //! 22 - [PS] Mandatory update exist and is ready to install. UPDATE_REQUIRED_AND_DOWNLOADED, //! 23 - Resource is unreachable or unavailable, can be 404 or no internet connection (etc.) - general communication error. COMUNICATION_ERROR, //! 24 - Any other error. Can be returned from any call. UNKNOWN, //! 25 - Extended error. Script not properly linked with engine. May be removed in future. BAD_SCRIPT, //! 26 - Connection has timed out. COMMUNICATION_TIMED_OUT, //! 27 - Connection was reset. COMMUNICATION_RESET, //! 28 - Connection was aborted. COMMUNICATION_ABORTED }; class BIOSErrorModule : ErrorHandlerModuleScript { void BIOSErrorModule() { SetCategory(ErrorCategory.BIOSError); } override void InitOptionalVariables() { super.InitOptionalVariables(); m_Header = "#STR_BIOS_BIOSError"; } override void FillErrorDataMap() { super.FillErrorDataMap(); InsertErrorProperties(EBiosError.OK); // Not an error, so no message InsertBIOSError(EBiosError.CANCEL , "#STR_BIOS_OperationCancelled"); InsertBIOSError(EBiosError.BAD_PARAMETER , "#STR_BIOS_BadParameter"); InsertBIOSError(EBiosError.NOT_FOUND , "#STR_BIOS_NotFound"); InsertBIOSError(EBiosError.NOT_IMPLEMENTED , "#STR_BIOS_NotImplemented"); InsertBIOSError(EBiosError.PURCHASE_REQUIRED , "#STR_BIOS_PurchaseRequired"); InsertBIOSError(EBiosError.NOT_ALLOWED , "#STR_BIOS_ActionRestricted"); InsertBIOSError(EBiosError.BANNED , "#STR_auth_publisher_ban"); InsertBIOSError(EBiosError.LOGICAL , "#STR_BIOS_APILogicError"); InsertBIOSError(EBiosError.WRONG_RESPONSE_DATA , "#STR_BIOS_UnexpectedFormat"); InsertBIOSError(EBiosError.SERVER_HEARTBEAT_SERVER_NOT_FOUND , "#STR_BIOS_ServerNotRegistered"); InsertBIOSError(EBiosError.SERVER_REGISTER_ALREADY_EXISTS , "#STR_BIOS_ServerAlreadyRegistered"); InsertBIOSError(EBiosError.REQUEST_CREATE_FAIL_XHR , "#STR_BIOS_FailedToOpenRequest"); InsertBIOSError(EBiosError.REQUEST_SEND_FAIL , "#STR_BIOS_FailedToSendData"); InsertBIOSError(EBiosError.REQUEST_WAIT_FAIL , "#STR_BIOS_FailedToWaitOperationEnd"); InsertBIOSError(EBiosError.NON_JSON_RESPONSE , "#STR_BIOS_UnexpectedFormat"); InsertBIOSError(EBiosError.UPDATE_REQUIRED , "#STR_BIOS_UpdateRequired"); InsertBIOSError(EBiosError.UPDATE_REQUIRED_AND_DOWNLOADED , "#STR_BIOS_UpdateRequiredAndDownloaded"); InsertBIOSError(EBiosError.COMUNICATION_ERROR , "#STR_BIOS_CommunicationError"); InsertBIOSError(EBiosError.UNKNOWN , "#server_browser_error_unknown"); InsertBIOSError(EBiosError.BAD_SCRIPT , "#STR_BIOS_LinkageError"); InsertBIOSError(EBiosError.COMMUNICATION_TIMED_OUT , "#STR_BIOS_CommTimeOutError"); InsertBIOSError(EBiosError.COMMUNICATION_RESET , "#STR_BIOS_CommResetError"); InsertBIOSError(EBiosError.COMMUNICATION_ABORTED , "#STR_BIOS_CommAbortError"); } void InsertBIOSError(int code, string message) { #ifdef PLATFORM_CONSOLE InsertDialogueErrorProperties(code, message); #else InsertErrorProperties(code, message); #endif } }