• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 std::string_view SPACE_NOT_ENOUGH = "30184039";
27 constexpr std::string_view AT_FAILED = "31000401";
28 constexpr std::string_view NAME_CONFLICT = "31084932";
29 constexpr std::string_view INVALID_FILE = "31004002";
30 constexpr int STORAGE_SERVICE_SYS_CAP_TAG = 13600000;
31 constexpr int DISTRIBUTEDFILE_SERVICE_SYS_CAP_TAG = 22400000;
32 
33 enum CloudSyncServiceErrCode : ErrCode {
34     E_OK = 0,
35     E_SEVICE_DIED,
36     E_INVAL_ARG,
37     E_BROKEN_IPC,
38     E_SA_LOAD_FAILED,
39     E_SERVICE_DESCRIPTOR_IS_EMPTY,
40     E_PERMISSION_DENIED,
41     E_PERMISSION_SYSTEM,
42     E_GET_TOKEN_INFO_ERROR,
43     E_SYNCER_NUM_OUT_OF_RANGE,
44     E_SYNC_FAILED_BATTERY_LOW,
45     E_SYNC_FAILED_BATTERY_TOO_LOW,
46     E_SYNC_FAILED_NETWORK_NOT_AVAILABLE,
47     E_GET_NETWORK_MANAGER_FAILED,
48 
49     /* data syncer */
50     E_CLOUD_SDK,
51     E_RDB,
52     E_CONTEXT,
53     E_STOP,
54     E_PENDING,
55     E_SCHEDULE,
56     E_ASYNC_RUN,
57     E_PATH,
58     E_DATA,
59     E_NOTIFY,
60     E_CLOUD_STORAGE_FULL,
61     E_LOCAL_STORAGE_FULL
62 };
63 
64 enum JsErrCode {
65     E_PERMISSION = 201,
66     E_PERMISSION_SYS = 202,
67     E_PARAMS_ = 401,
68     E_IPCSS = STORAGE_SERVICE_SYS_CAP_TAG + 1,
69     E_CLOUD_NOT_READY = DISTRIBUTEDFILE_SERVICE_SYS_CAP_TAG + 1,
70     E_NETWORK_ERR = DISTRIBUTEDFILE_SERVICE_SYS_CAP_TAG + 2,
71     E_BATTERY_WARNING = DISTRIBUTEDFILE_SERVICE_SYS_CAP_TAG + 3,
72 };
73 
74 const std::unordered_map<int32_t, int32_t> errCodeTable {
75     { E_PERMISSION_DENIED, E_PERMISSION },
76     { E_PERMISSION_SYSTEM, E_PERMISSION_SYS },
77     { E_INVAL_ARG, E_PARAMS_ },
78     { E_BROKEN_IPC, E_IPCSS },
79     { E_CLOUD_SDK, E_CLOUD_NOT_READY },
80     { E_SYNC_FAILED_NETWORK_NOT_AVAILABLE, E_NETWORK_ERR },
81     { E_SYNC_FAILED_BATTERY_TOO_LOW, E_BATTERY_WARNING },
82 };
83 
84 int32_t Convert2JsErrNum(int32_t errNum);
85 } // namespace OHOS::FileManagement
86 
87 #endif // OHOS_FILEMGMT_DFS_ERROR_H
88