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 OHOS_FILEMGMT_DFS_ERROR_H 17 #define OHOS_FILEMGMT_DFS_ERROR_H 18 19 #include <string_view> 20 #include <sys/types.h> 21 #include <unordered_map> 22 23 #include "errors.h" 24 25 namespace OHOS::FileManagement { 26 constexpr int STORAGE_SERVICE_SYS_CAP_TAG = 13600000; 27 constexpr int FILEIO_SYS_CAP_TAG = 13900000; 28 constexpr int USER_FILE_MANAGER_SYS_CAP_TAG = 14000000; 29 constexpr int DISTRIBUTEDFILE_SERVICE_SYS_CAP_TAG = 22400000; 30 31 enum CloudSyncServiceErrCode : ErrCode { 32 E_OK = 0, 33 E_SEVICE_DIED, 34 E_INVAL_ARG, 35 E_BROKEN_IPC, 36 E_SA_LOAD_FAILED, 37 E_SERVICE_DESCRIPTOR_IS_EMPTY, 38 E_PERMISSION_DENIED, 39 E_PERMISSION_SYSTEM, 40 E_GET_PHYSICAL_PATH_FAILED, 41 E_GET_TOKEN_INFO_ERROR, 42 E_SYNCER_NUM_OUT_OF_RANGE, 43 E_SYNC_FAILED_BATTERY_LOW, 44 E_SYNC_FAILED_BATTERY_TOO_LOW, 45 E_SYNC_FAILED_NETWORK_NOT_AVAILABLE, 46 E_GET_NETWORK_MANAGER_FAILED, 47 E_DELETE_FAILED, 48 E_NO_SUCH_FILE, 49 E_RENAME_FAIL, 50 E_SYSTEM_LOAD_OVER, 51 E_EXCEED_MAX_SIZE, 52 E_ILLEGAL_URI, 53 54 /* data syncer */ 55 E_CLOUD_SDK, 56 E_RDB, 57 E_CONTEXT, 58 E_STOP, 59 E_PENDING, 60 E_SCHEDULE, 61 E_ASYNC_RUN, 62 E_PATH, 63 E_DATA, 64 E_NOTIFY, 65 E_UNKNOWN, 66 E_CLOUD_STORAGE_FULL, 67 E_LOCAL_STORAGE_FULL, 68 E_OSACCOUNT, 69 E_USER_LOCKED, 70 E_GET_SIZE_ERROR, 71 72 E_IPC_READ_FAILED, 73 E_IPC_WRITE_FAILED, 74 E_SOFTBUS_SESSION_FAILED, 75 E_GET_DEVICE_ID, 76 E_GET_USER_ID, 77 E_NULLPTR, 78 /* session */ 79 E_CREATE_SESSION, 80 E_OPEN_SESSION, 81 E_WAIT_SESSION_OPENED, 82 E_FILE_NOT_EXIST, 83 E_SEND_FILE, 84 E_MEMORY, 85 86 /* eventhandler */ 87 E_EVENT_HANDLER, 88 E_ZIP, 89 }; 90 91 enum DFSErrCode { 92 ERR_OK = 0, 93 ERR_BAD_VALUE = -1, 94 95 ERR_APPLY_RESULT = 1, 96 ERR_DLOPEN, 97 ERR_PUBLISH_STATE, 98 ERR_ALLCONNECT, 99 }; 100 101 enum IPCErrCode { 102 E_DEAD_REPLY = 29189, 103 }; 104 105 enum JsErrCode { 106 E_PERMISSION = 201, 107 E_PERMISSION_SYS = 202, 108 E_DFS_CANCEL_SUCCESS = 204, 109 E_PARAMS_ = 401, 110 E_IPCSS = STORAGE_SERVICE_SYS_CAP_TAG + 1, 111 E_UNKNOWN_ERR = FILEIO_SYS_CAP_TAG + 42, 112 E_INVALID_URI = USER_FILE_MANAGER_SYS_CAP_TAG + 2, 113 E_CLOUD_NOT_READY = DISTRIBUTEDFILE_SERVICE_SYS_CAP_TAG + 1, 114 E_NETWORK_ERR = DISTRIBUTEDFILE_SERVICE_SYS_CAP_TAG + 2, 115 E_BATTERY_WARNING = DISTRIBUTEDFILE_SERVICE_SYS_CAP_TAG + 3, 116 E_EXCEED_MAX_LIMIT = DISTRIBUTEDFILE_SERVICE_SYS_CAP_TAG + 4, 117 E_DATABASE_FAILED = DISTRIBUTEDFILE_SERVICE_SYS_CAP_TAG + 5 118 }; 119 120 const std::unordered_map<int32_t, int32_t> errCodeTable { 121 { E_PERMISSION_DENIED, E_PERMISSION }, 122 { E_PERMISSION_SYSTEM, E_PERMISSION_SYS }, 123 { E_INVAL_ARG, E_PARAMS_ }, 124 { E_BROKEN_IPC, E_IPCSS }, 125 { E_CLOUD_SDK, E_CLOUD_NOT_READY }, 126 { E_ILLEGAL_URI, E_INVALID_URI }, 127 { E_SYNC_FAILED_NETWORK_NOT_AVAILABLE, E_NETWORK_ERR }, 128 { E_SYNC_FAILED_BATTERY_TOO_LOW, E_BATTERY_WARNING }, 129 { E_EXCEED_MAX_SIZE, E_EXCEED_MAX_LIMIT }, 130 { E_RDB, E_DATABASE_FAILED }, 131 { E_DEAD_REPLY, E_IPCSS } 132 }; 133 134 int32_t Convert2JsErrNum(int32_t errNum); 135 } // namespace OHOS::FileManagement 136 137 #endif // OHOS_FILEMGMT_DFS_ERROR_H