1 /*
2  * Copyright (c) 2022-2024 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 COMMON_NATIVE_INCLUDE_EDM_ERRORS_H
17 #define COMMON_NATIVE_INCLUDE_EDM_ERRORS_H
18 
19 #include <stdint.h>
20 
21 #include "errors.h"
22 
23 namespace OHOS {
24 namespace EDM {
25 enum {
26     EDM_MODULE_EDMSERVICE = 0x00,
27     EDM_MODULE_ADMINMGR = 0x02,
28     EDM_MODULE_POLICYMGR = 0x03,
29     EDM_MODULE_PLUGINMGR = 0x04,
30     EDM_MODULE_EXTERNAL = 0x05,
31     EDM_MODULE_TOOLS = 0x06,
32     // Reserved 0x04 ~ 0x0f for new modules, Event related modules start from 0x10
33 };
34 
35 namespace EdmReturnErrCode {
36     constexpr uint32_t PARAM_ERROR = 401;
37     constexpr uint32_t PERMISSION_DENIED = 201;
38     constexpr uint32_t SYSTEM_API_DENIED = 202;
39     constexpr uint32_t INTERFACE_UNSUPPORTED = 801;
40 
41     constexpr uint32_t ADMIN_INACTIVE = 9200001;
42     constexpr uint32_t ADMIN_EDM_PERMISSION_DENIED = 9200002;
43     constexpr uint32_t COMPONENT_INVALID = 9200003;
44     constexpr uint32_t ENABLE_ADMIN_FAILED = 9200004;
45     constexpr uint32_t DISABLE_ADMIN_FAILED = 9200005;
46     constexpr uint32_t UID_INVALID = 9200006;
47     constexpr uint32_t SYSTEM_ABNORMALLY = 9200007;
48     constexpr uint32_t MANAGED_EVENTS_INVALID = 9200008;
49     constexpr uint32_t AUTHORIZE_PERMISSION_FAILED = 9200009;
50     constexpr uint32_t CONFIGURATION_CONFLICT_FAILED = 9200010;
51 
52     constexpr uint32_t MANAGED_CERTIFICATE_FAILED = 9201001;
53     constexpr uint32_t APPLICATION_INSTALL_FAILED = 9201002;
54     constexpr uint32_t ADD_OS_ACCOUNT_FAILED = 9201003;
55     constexpr uint32_t UPGRADE_PACKAGES_ANALYZE_FAILED = 9201004;
56 };
57 
58 // Error code for SERVICE: 0x2000000,value:33554432
59 constexpr ErrCode EDM_SERVICE_ERR_OFFSET = ErrCodeOffset(SUBSYS_CUSTOMIZATION, EDM_MODULE_EDMSERVICE);
60 enum {
61     ERR_EDM_SERVICE_NOT_READY = EDM_SERVICE_ERR_OFFSET + 1,
62     ERR_EDM_PARAM_ERROR,
63     ERR_EDM_PERMISSION_ERROR,
64     ERR_EDM_ADD_ADMIN_FAILED,
65     ERR_EDM_DEL_ADMIN_FAILED,
66     ERR_EDM_GET_PERMISSION_REQ_FAILED,
67     ERR_EDM_GET_PLUGIN_MGR_FAILED,
68     ERR_EDM_GET_ADMIN_MGR_FAILED,
69     ERR_EDM_HANDLE_POLICY_FAILED,
70     ERR_EDM_GET_POLICY_FAILED,
71     ERR_EDM_BMS_ERROR,
72     ERR_EDM_DEL_SUPER_ADMIN_FAILED,
73     ERR_EDM_GET_ENTINFO_FAILED,
74     ERR_EDM_SET_ENTINFO_FAILED,
75     ERR_EDM_DUMP_FAILED,
76     ERR_EDM_SA_LOAD_FAILED,
77     ERR_GET_STORAGE_RDB_FAILED,
78     ERR_SAVE_AUTHORIZED_ADMIN_FAILED,
79 };
80 
81 // Error code for ADMINMGR: 0x2020000,value:33685504
82 constexpr ErrCode EDM_ADMINMGR_ERR_OFFSET = ErrCodeOffset(SUBSYS_CUSTOMIZATION, EDM_MODULE_ADMINMGR);
83 enum {
84     // the install error code from 0x0001 ~ 0x0060.
85     ERR_EDM_UNKNOWN_PERMISSION = EDM_ADMINMGR_ERR_OFFSET + 0x0001,
86     ERR_EDM_EMPTY_PERMISSIONS = EDM_ADMINMGR_ERR_OFFSET + 0x0002,
87     ERR_EDM_DENY_ADMIN = EDM_ADMINMGR_ERR_OFFSET + 0x0003,
88     ERR_EDM_DENY_PERMISSION = EDM_ADMINMGR_ERR_OFFSET + 0x0004,
89     ERR_EDM_UNKNOWN_ADMIN = EDM_ADMINMGR_ERR_OFFSET + 0x0005,
90     ERR_EDM_SUPER_ADMIN_NOT_FOUND = EDM_ADMINMGR_ERR_OFFSET + 0x0006,
91 };
92 
93 // Error code for POLICYMGR: 0x2030000,value:33751040
94 constexpr ErrCode EDM_POLICYMGR_ERR_OFFSET = ErrCodeOffset(SUBSYS_CUSTOMIZATION, EDM_MODULE_POLICYMGR);
95 enum {
96     ERR_EDM_POLICY_OPEN_JSON_FAILED = EDM_POLICYMGR_ERR_OFFSET + 1,
97     ERR_EDM_POLICY_LOAD_JSON_FAILED = EDM_POLICYMGR_ERR_OFFSET + 2,
98     ERR_EDM_POLICY_PARSE_JSON_FAILED = EDM_POLICYMGR_ERR_OFFSET + 3,
99     ERR_EDM_POLICY_NOT_FIND = EDM_POLICYMGR_ERR_OFFSET + 4,
100     ERR_EDM_POLICY_SET_FAILED = EDM_POLICYMGR_ERR_OFFSET + 5,
101     ERR_EDM_POLICY_NOT_FOUND = EDM_POLICYMGR_ERR_OFFSET + 6,
102     ERR_EDM_POLICY_DEL_FAILED = EDM_POLICYMGR_ERR_OFFSET + 7,
103 };
104 
105 // Error code for POLICYMGR: 0x2040000,value:33816576
106 constexpr ErrCode EDM_PLUGINMGR_ERR_OFFSET = ErrCodeOffset(SUBSYS_CUSTOMIZATION, EDM_MODULE_PLUGINMGR);
107 enum {
108     ERR_EDM_OPERATE_JSON = EDM_PLUGINMGR_ERR_OFFSET + 1,
109     ERR_EDM_WRITE_JSON = EDM_PLUGINMGR_ERR_OFFSET + 2,
110     ERR_EDM_READ_PARCEL = EDM_PLUGINMGR_ERR_OFFSET + 3,
111     ERR_EDM_OPERATE_PARCEL = EDM_PLUGINMGR_ERR_OFFSET + 4,
112     ERR_EDM_NOT_EXIST_POLICY = EDM_PLUGINMGR_ERR_OFFSET + 5,
113     ERR_EDM_NOT_EXIST_FUNC = EDM_PLUGINMGR_ERR_OFFSET + 6,
114 };
115 
116 // Error code for EXTERNAL_MGR: 0x2050000,value:33882112
117 constexpr ErrCode EDM_EXTERNAL_ERR_OFFSET = ErrCodeOffset(SUBSYS_CUSTOMIZATION, EDM_MODULE_EXTERNAL);
118 enum {
119     ERR_BUNDLE_SERVICE_ABNORMALLY = EDM_EXTERNAL_ERR_OFFSET + 1,
120     ERR_APPLICATION_SERVICE_ABNORMALLY = EDM_EXTERNAL_ERR_OFFSET + 2,
121 };
122 
123 // Error code for EDM_TOOLS_COMMAND: 0x2060000,value:33882112
124 constexpr ErrCode EDM_TOOLS_ERR_OFFSET = ErrCodeOffset(SUBSYS_CUSTOMIZATION, EDM_MODULE_TOOLS);
125 enum {
126     ERR_EDM_TOOLS_COMMAND_HELP = EDM_TOOLS_ERR_OFFSET + 1,
127     ERR_EDM_TOOLS_COMMAND_NO_OPTION,
128     ERR_EDM_TOOLS_COMMAND_N_OPTION_REQUIRES_AN_ARGUMENT,
129     ERR_EDM_TOOLS_COMMAND_A_OPTION_REQUIRES_AN_ARGUMENT,
130     ERR_EDM_TOOLS_COMMAND_UNKNOWN_OPTION,
131     ERR_EDM_TOOLS_COMMAND_NO_BUNDLE_NAME_OPTION,
132     ERR_EDM_TOOLS_COMMAND_NO_ABILITY_NAME_OPTION,
133 };
134 
135 #define RETURN_IF_FAILED(errcode) if (FAILED(errcode)) { return errcode; }
136 } // namespace EDM
137 } // namespace OHOS
138 
139 #endif // COMMON_NATIVE_INCLUDE_EDM_ERRORS_H
140