1 /* 2 * Copyright (c) 2022 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef FOUNDATION_RESOURCESCHEDULE_BACKGROUND_TASK_MGR_FRAMEWORKS_COMMON_INCLUDE_BGTASKMGR_INNER_ERRORS_H 17 #define FOUNDATION_RESOURCESCHEDULE_BACKGROUND_TASK_MGR_FRAMEWORKS_COMMON_INCLUDE_BGTASKMGR_INNER_ERRORS_H 18 19 #include "errors.h" 20 #include <map> 21 22 namespace OHOS { 23 namespace BackgroundTaskMgr { 24 /** 25 * ErrCode layout 26 * 27 * +--+--+--+--+--+--+--+--+---+---+ 28 * |09|08|07|06|05|04|03|02| 01| 00| 29 * +--+--+--+--+--+--+--+--+---+---+ 30 * | Syscap | Code |Subcode| 31 * +--+--+--+--+--+--+--+--+---+---+ 32 */ 33 const int OFFSET = 100; 34 const int THRESHOLD = 1000; 35 // Bgtask Common Error Code Defined. 36 enum : int32_t { 37 // errcode for common 38 ERR_BGTASK_PERMISSION_DENIED = 201, 39 ERR_BGTASK_INVALID_PARAM = 401, 40 // errcode for Continuous Task 41 ERR_BGTASK_NO_MEMORY = 980000101, 42 ERR_BGTASK_PARCELABLE_FAILED = 980000201, 43 ERR_BGTASK_TRANSACT_FAILED = 980000301, 44 ERR_BGTASK_SYS_NOT_READY = 980000401, 45 ERR_BGTASK_SERVICE_NOT_CONNECTED, 46 ERR_BGTASK_OBJECT_EXISTS = 980000501, 47 ERR_BGTASK_OBJECT_NOT_EXIST, 48 ERR_BGTASK_WIFI_VOIP_VERIFY_ERR, 49 ERR_BGTASK_KEEPING_TASK_VERIFY_ERR, 50 ERR_BGTASK_INVALID_BGMODE, 51 ERR_BGTASK_NOTIFICATION_VERIFY_FAILED = 980000601, 52 ERR_BGTASK_NOTIFICATION_ERR, 53 ERR_BGTASK_CHECK_TASK_PARAM, 54 ERR_BGTASK_CREATE_FILE_ERR = 980000701, 55 ERR_BGTASK_GET_ACTUAL_FILE_ERR, 56 ERR_BGTASK_OPEN_FILE_ERR, 57 // errcode for Transient Task 58 ERR_BGTASK_INVALID_PID_OR_UID = 990000101, 59 ERR_BGTASK_INVALID_BUNDLE_NAME, 60 ERR_BGTASK_INVALID_REQUEST_ID, 61 ERR_BGTASK_INVALID_CALLBACK = 990000201, 62 ERR_BGTASK_CALLBACK_EXISTS, 63 ERR_BGTASK_CALLBACK_NOT_EXIST, 64 ERR_BGTASK_NOT_IN_PRESET_TIME, 65 ERR_BGTASK_EXCEEDS_THRESHOLD, 66 ERR_BGTASK_TIME_INSUFFICIENT, 67 // errcode for Efficiency Resource 68 ERR_BGTASK_RESOURCES_EXCEEDS_MAX = 1870000101, 69 ERR_BGTASK_RESOURCES_INVALID_PID_OR_UID, 70 // other inner errcode 71 ERR_BGTASK_METHOD_CALLED_FAILED, 72 ERR_BGTASK_DATA_STORAGE_ERR, 73 ERR_BGTASK_SERVICE_INNER_ERROR, 74 }; 75 76 enum ParamErr: int32_t { 77 ERR_PARAM_NUMBER_ERR = 9800401, 78 ERR_REASON_NULL_OR_TYPE_ERR, 79 ERR_CALLBACK_NULL_OR_TYPE_ERR, 80 ERR_REQUESTID_NULL_OR_ID_TYPE_ERR, 81 ERR_REQUESTID_ILLEGAL, 82 ERR_CONTEXT_NULL_OR_TYPE_ERR, 83 ERR_BGMODE_NULL_OR_TYPE_ERR, 84 ERR_WANTAGENT_NULL_OR_TYPE_ERR, 85 ERR_ABILITY_INFO_EMPTY, 86 ERR_GET_TOKEN_ERR, 87 ERR_BGMODE_RANGE_ERR, 88 ERR_APP_NAME_EMPTY, 89 ERR_RESOURCE_TYPES_INVALID, 90 ERR_ISAPPLY_NULL_OR_TYPE_ERR, 91 ERR_TIMEOUT_INVALID, 92 ERR_ISPERSIST_NULL_OR_TYPE_ERR, 93 ERR_ISPROCESS_NULL_OR_TYPE_ERR, 94 }; 95 96 static std::map<int32_t, std::string> saErrCodeMsgMap = { 97 {ERR_BGTASK_PERMISSION_DENIED, "Permission denied."}, 98 {ERR_BGTASK_NO_MEMORY, "Memory operation failed. Failed to allocate the memory."}, 99 {ERR_BGTASK_SYS_NOT_READY, "System service operation failed. The system service is not ready."}, 100 {ERR_BGTASK_SERVICE_NOT_CONNECTED, "System service operation failed. The system service is not connected."}, 101 {ERR_BGTASK_PARCELABLE_FAILED, "Parcel operation failed."}, 102 {ERR_BGTASK_TRANSACT_FAILED, "IPC communication failed."}, 103 {ERR_BGTASK_OBJECT_EXISTS, 104 "Background Task verification failed. The application has applied for a background task."}, 105 {ERR_BGTASK_OBJECT_NOT_EXIST, 106 "Background Task verification failed. The application has not applied for a background task."}, 107 {ERR_BGTASK_WIFI_VOIP_VERIFY_ERR, 108 "Background Task verification failed. Only system application can apply for WIFI_INTERACTION or VoIP."}, 109 {ERR_BGTASK_KEEPING_TASK_VERIFY_ERR, 110 "Background Task verification failed. TASK_KEEPING background mode only supported in particular device."}, 111 {ERR_BGTASK_INVALID_BGMODE, "Background Task verification failed. The bgMode is invalid."}, 112 {ERR_BGTASK_NOTIFICATION_VERIFY_FAILED, 113 "Notification verification failed. The title or text of the notification cannot be empty."}, 114 {ERR_BGTASK_NOTIFICATION_ERR, "Notification verification failed. Failed to send or cancel the notification."}, 115 {ERR_BGTASK_CREATE_FILE_ERR, "Task storage failed. Failed to create the storage task file."}, 116 {ERR_BGTASK_GET_ACTUAL_FILE_ERR, "Task storage failed. Failed to get the actual storage task file."}, 117 {ERR_BGTASK_OPEN_FILE_ERR, "Task storage failed. Failed to open the file."}, 118 {ERR_BGTASK_INVALID_PID_OR_UID, "Caller information verification failed. Invalid pid or uid."}, 119 {ERR_BGTASK_INVALID_BUNDLE_NAME, "Caller information verification failed. The bundleName cannot be found."}, 120 {ERR_BGTASK_INVALID_REQUEST_ID, "Caller information verification failed. Invalid requestId."}, 121 {ERR_BGTASK_INVALID_CALLBACK, "Caller information verification failed. The callback cannot be empty."}, 122 {ERR_BGTASK_CALLBACK_EXISTS, "SuspendDelay verification failed. The callback already exists."}, 123 {ERR_BGTASK_CALLBACK_NOT_EXIST, "SuspendDelay verification failed. The callback does not exist."}, 124 {ERR_BGTASK_NOT_IN_PRESET_TIME, 125 "SuspendDelay verification failed. Request is not allow after the preset time of entering background."}, 126 {ERR_BGTASK_EXCEEDS_THRESHOLD, "SuspendDelay verification failed. The number of request exceeds the threshold."}, 127 {ERR_BGTASK_TIME_INSUFFICIENT, 128 "SuspendDelay verification failed. The remaining time to run transient task is insufficient."}, 129 {ERR_BGTASK_RESOURCES_EXCEEDS_MAX, 130 "Caller information verification failed. The number of resources applied exceeds maximun."}, 131 {ERR_BGTASK_SERVICE_INNER_ERROR, "Service inner error."}, 132 }; 133 134 static std::map<int32_t, std::string> paramErrCodeMsgMap = { 135 {ERR_PARAM_NUMBER_ERR, "The number of arguments is wrong."}, 136 {ERR_REASON_NULL_OR_TYPE_ERR, "The reason cannot be null and its type must be string."}, 137 {ERR_CALLBACK_NULL_OR_TYPE_ERR, "The callback cannot be null and its type must be function."}, 138 {ERR_REQUESTID_NULL_OR_ID_TYPE_ERR, "The requestId cannot be null and its type must be integer."}, 139 {ERR_REQUESTID_ILLEGAL, "The requestId must be greater than 0."}, 140 {ERR_CONTEXT_NULL_OR_TYPE_ERR, "The context cannot be null and its type must be Context."}, 141 {ERR_BGMODE_NULL_OR_TYPE_ERR, "The bgMode cannot be null and its type must be BackgroundMode object."}, 142 {ERR_WANTAGENT_NULL_OR_TYPE_ERR, "The wantAgent cannot be null and its type must be WantAgent object."}, 143 {ERR_ABILITY_INFO_EMPTY, "The abilityInfo of context cannot be null."}, 144 {ERR_GET_TOKEN_ERR, "The token of context cannot be null."}, 145 {ERR_BGMODE_RANGE_ERR, "The value of bgMode ranges from BG_MODE_ID_BEGIN to BG_MODE_ID_END."}, 146 {ERR_APP_NAME_EMPTY, "The app name of abilityInfo in context cannot be null."}, 147 {ERR_RESOURCE_TYPES_INVALID, "The resourcesType cannot be null and must be integer greater than 0."}, 148 {ERR_ISAPPLY_NULL_OR_TYPE_ERR, "The isApply cannot be null and its type must be boolean."}, 149 {ERR_TIMEOUT_INVALID, "The timeOut cannot be null and must be integer greater than 0."}, 150 {ERR_ISPERSIST_NULL_OR_TYPE_ERR, "The isPersist cannot be null and must be boolean."}, 151 {ERR_ISPROCESS_NULL_OR_TYPE_ERR, "The isProcess cannot be null and must be boolean."}, 152 {ERR_BGTASK_INVALID_PARAM, "The input param is invalid."} 153 }; 154 155 } // namespace BackgroundTaskMgr 156 } // namespace OHOS 157 #endif // FOUNDATION_RESOURCESCHEDULE_BACKGROUND_TASK_MGR_FRAMEWORKS_COMMON_INCLUDE_BGTASKMGR_INNER_ERRORS_H