• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021-2025 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_APPEXECFWK_INTERFACES_INNERKITS_APPEXECFWK_CORE_INCLUDE_BUNDLEMGR_STATUS_RECEIVER_INTERFACE_H
17 #define FOUNDATION_APPEXECFWK_INTERFACES_INNERKITS_APPEXECFWK_CORE_INCLUDE_BUNDLEMGR_STATUS_RECEIVER_INTERFACE_H
18 
19 #include "iremote_broker.h"
20 
21 namespace OHOS {
22 namespace AppExecFwk {
23 class IStatusReceiver : public IRemoteBroker {
24 public:
25     DECLARE_INTERFACE_DESCRIPTOR(u"ohos.appexecfwk.StatusReceiver");
26 
27     /**
28      * @brief Called when install status changed, with the percentage of installation progress
29      * @param progress Indicates the percentage of the installation progress.
30      */
31     virtual void OnStatusNotify(const int progress) = 0;
32     /**
33      * @brief Called when an application is installed, updated, or uninstalled.
34      * @param resultCode Indicates the status code returned for the application installation, update, or uninstallation
35      *                   result.
36      * @param resultMsg Indicates the result message returned with the status code.
37      */
38     virtual void OnFinished(const int32_t resultCode, const std::string &resultMsg) = 0;
39 
OnFinished(const int32_t resultCode,const std::string & resultMsg,const int32_t innerCode)40     virtual void OnFinished(const int32_t resultCode, const std::string &resultMsg, const int32_t innerCode)
41     {
42         OnFinished(resultCode, resultMsg);
43     }
44 
45     virtual void SetStreamInstallId(uint32_t installerId) = 0;
46 
47     enum {
48         SUCCESS = 0,
49         ERR_INSTALL_INTERNAL_ERROR = 9568260,
50         ERR_INSTALL_HOST_INSTALLER_FAILED = 9568261,
51         ERR_INSTALL_PARSE_FAILED = 9568262,
52         ERR_INSTALL_VERSION_DOWNGRADE = 9568263,
53         ERR_INSTALL_VERIFICATION_FAILED = 9568264,
54         ERR_INSTALL_PARAM_ERROR = 9568265,
55         ERR_INSTALL_PERMISSION_DENIED = 9568266,
56         ERR_INSTALL_ENTRY_ALREADY_EXIST = 9568267,
57         ERR_INSTALL_STATE_ERROR = 9568268,
58         ERR_INSTALL_FILE_PATH_INVALID = 9568269,
59         ERR_INSTALL_INVALID_HAP_NAME = 9568270,
60         ERR_INSTALL_INVALID_BUNDLE_FILE = 9568271,
61         ERR_INSTALL_INVALID_HAP_SIZE = 9568272,
62         ERR_INSTALL_GENERATE_UID_ERROR = 9568273,
63         ERR_INSTALL_INSTALLD_SERVICE_ERROR = 9568274,
64         ERR_INSTALL_BUNDLE_MGR_SERVICE_ERROR = 9568275,
65         ERR_INSTALL_ALREADY_EXIST = 9568276,
66         ERR_INSTALL_BUNDLENAME_NOT_SAME = 9568277,
67         ERR_INSTALL_VERSIONCODE_NOT_SAME = 9568278,
68         ERR_INSTALL_VERSIONNAME_NOT_SAME = 9568279,
69         ERR_INSTALL_MINCOMPATIBLE_VERSIONCODE_NOT_SAME = 9568280,
70         ERR_INSTALL_VENDOR_NOT_SAME = 9568281,
71         ERR_INSTALL_RELEASETYPE_TARGET_NOT_SAME = 9568282,
72         ERR_INSTALL_RELEASETYPE_NOT_SAME = 9568258,
73         ERR_INSTALL_RELEASETYPE_COMPATIBLE_NOT_SAME = 9568283,
74         ERR_INSTALL_VERSION_NOT_COMPATIBLE = 9568284,
75         ERR_INSTALL_APP_DISTRIBUTION_TYPE_NOT_SAME = 9568285,
76         ERR_INSTALL_APP_PROVISION_TYPE_NOT_SAME = 9568286,
77         ERR_INSTALL_INVALID_NUMBER_OF_ENTRY_HAP = 9568287,
78         ERR_INSTALL_DISK_MEM_INSUFFICIENT = 9568288,
79         ERR_INSTALL_GRANT_REQUEST_PERMISSIONS_FAILED = 9568289,
80         ERR_INSTALL_UPDATE_HAP_TOKEN_FAILED = 9568290,
81         ERR_INSTALL_SINGLETON_NOT_SAME = 9568291,
82         ERR_INSTALL_ZERO_USER_WITH_NO_SINGLETON = 9568292,
83         ERR_INSTALL_CHECK_SYSCAP_FAILED = 9568293,
84         ERR_INSTALL_APPTYPE_NOT_SAME = 9568294,
85         ERR_INSTALL_URI_DUPLICATE = 9568295,
86         ERR_INSTALL_TYPE_ERROR = 9568296,
87         ERR_INSTALL_SDK_INCOMPATIBLE = 9568297,
88         ERR_INSTALL_SO_INCOMPATIBLE = 9568298,
89         ERR_INSTALL_AN_INCOMPATIBLE = 9568299,
90         ERR_INSTALL_NOT_UNIQUE_DISTRO_MODULE_NAME = 9568300,
91         ERR_INSTALL_INCONSISTENT_MODULE_NAME = 9568301,
92         ERR_INSTALL_SINGLETON_INCOMPATIBLE = 9568302,
93         ERR_INSTALL_DISALLOWED = 9568303,
94         ERR_INSTALL_DEVICE_TYPE_NOT_SUPPORTED = 9568304,
95         ERR_INSTALL_DEPENDENT_MODULE_NOT_EXIST = 9568305,
96         ERR_INSTALL_ASAN_ENABLED_NOT_SAME = 9568306,
97         ERR_INSTALL_ASAN_ENABLED_NOT_SUPPORT = 9568307,
98         ERR_INSTALL_BUNDLE_TYPE_NOT_SAME = 9568308,
99         ERR_INSTALL_SHARE_APP_LIBRARY_NOT_ALLOWED = 9568309,
100         ERR_INSTALL_COMPATIBLE_POLICY_NOT_SAME = 9568310,
101         ERR_APPEXECFWK_UNINSTALL_SHARE_APP_LIBRARY_IS_NOT_EXIST = 9568311,
102         ERR_APPEXECFWK_UNINSTALL_SHARE_APP_LIBRARY_IS_RELIED = 9568312,
103         ERR_APPEXECFWK_UNINSTALL_BUNDLE_IS_SHARED_LIBRARY = 9568313,
104         ERR_INSTALL_FILE_IS_SHARED_LIBRARY = 9568314,
105         ERR_INSATLL_CHECK_PROXY_DATA_URI_FAILED = 9568315,
106         ERR_INSATLL_CHECK_PROXY_DATA_PERMISSION_FAILED = 9568316,
107         ERR_INSTALL_ISOLATION_MODE_FAILED = 9568317,
108 
109         // signature errcode
110         ERR_INSTALL_FAILED_INVALID_SIGNATURE_FILE_PATH = 9568318,
111         ERR_INSTALL_FAILED_BAD_BUNDLE_SIGNATURE_FILE = 9568319,
112         ERR_INSTALL_FAILED_NO_BUNDLE_SIGNATURE = 9568320,
113         ERR_INSTALL_FAILED_VERIFY_APP_PKCS7_FAIL = 9568257,
114         ERR_INSTALL_FAILED_PROFILE_PARSE_FAIL = 9568321,
115         ERR_INSTALL_FAILED_APP_SOURCE_NOT_TRUESTED = 9568322,
116         ERR_INSTALL_FAILED_BAD_DIGEST = 9568323,
117         ERR_INSTALL_FAILED_BUNDLE_INTEGRITY_VERIFICATION_FAILURE = 9568324,
118         ERR_INSTALL_FAILED_FILE_SIZE_TOO_LARGE = 9568325,
119         ERR_INSTALL_FAILED_BAD_PUBLICKEY = 9568326,
120         ERR_INSTALL_FAILED_BAD_BUNDLE_SIGNATURE = 9568327,
121         ERR_INSTALL_FAILED_NO_PROFILE_BLOCK_FAIL = 9568328,
122         ERR_INSTALL_FAILED_BUNDLE_SIGNATURE_VERIFICATION_FAILURE = 9568329,
123         ERR_INSTALL_FAILED_VERIFY_SOURCE_INIT_FAIL = 9568330,
124         ERR_INSTALL_FAILED_INCOMPATIBLE_SIGNATURE = 9568331,
125         ERR_INSTALL_FAILED_INCONSISTENT_SIGNATURE = 9568332,
126         ERR_INSTALL_FAILED_MODULE_NAME_EMPTY = 9568333,
127         ERR_INSTALL_FAILED_MODULE_NAME_DUPLICATE = 9568334,
128         ERR_INSTALL_FAILED_CHECK_HAP_HASH_PARAM = 9568335,
129         ERR_INSTALL_FAILED_DEBUG_NOT_SAME = 9568336,
130 
131         ERR_INSTALL_PARSE_UNEXPECTED = 9568337,
132         ERR_INSTALL_PARSE_MISSING_BUNDLE = 9568338,
133         ERR_INSTALL_PARSE_MISSING_ABILITY = 9568339,
134         ERR_INSTALL_PARSE_NO_PROFILE = 9568340,
135         ERR_INSTALL_PARSE_BAD_PROFILE = 9568341,
136         ERR_INSTALL_PARSE_PROFILE_PROP_TYPE_ERROR = 9568342,
137         ERR_INSTALL_PARSE_PROFILE_MISSING_PROP = 9568259,
138         ERR_INSTALL_PARSE_PERMISSION_ERROR = 9568343,
139         ERR_INSTALL_PARSE_PROFILE_PROP_CHECK_ERROR = 9568344,
140         ERR_INSTALL_PARSE_PROFILE_PROP_SIZE_CHECK_ERROR = 9568345,
141         ERR_INSTALL_PARSE_RPCID_FAILED = 9568346,
142         ERR_INSTALL_PARSE_NATIVE_SO_FAILED = 9568347,
143         ERR_INSTALL_PARSE_AN_FAILED = 9568348,
144 
145         ERR_INSTALLD_PARAM_ERROR = 9568349,
146         ERR_INSTALLD_GET_PROXY_ERROR = 9568350,
147         ERR_INSTALLD_CREATE_DIR_FAILED = 9568351,
148         ERR_INSTALLD_CREATE_DIR_EXIST = 9568352,
149         ERR_INSTALLD_CHOWN_FAILED = 9568353,
150         ERR_INSTALLD_REMOVE_DIR_FAILED = 9568354,
151         ERR_INSTALLD_EXTRACT_FILES_FAILED = 9568355,
152         ERR_INSTALLD_RNAME_DIR_FAILED = 9568356,
153         ERR_INSTALLD_CLEAN_DIR_FAILED = 9568357,
154         ERR_INSTALLD_PERMISSION_DENIED = 9568358,
155         ERR_INSTALLD_SET_SELINUX_LABEL_FAILED = 9568359,
156 
157         // overlay installation
158         ERR_OVERLAY_INSTALLATION_FAILED_INTERNAL_ERROR = 9568360,
159         ERR_OVERLAY_INSTALLATION_FAILED_INVALID_BUNDLE_NAME = 9568361,
160         ERR_OVERLAY_INSTALLATION_FAILED_INVALID_MODULE_NAME = 9568362,
161         ERR_OVERLAY_INSTALLATION_FAILED_ERROR_HAP_TYPE = 9568363,
162         ERR_OVERLAY_INSTALLATION_FAILED_ERROR_BUNDLE_TYPE = 9568364,
163         ERR_OVERLAY_INSTALLATION_FAILED_TARGET_BUNDLE_NAME_MISSED = 9568365,
164         ERR_OVERLAY_INSTALLATION_FAILED_TARGET_MODULE_NAME_MISSED = 9568366,
165         ERR_OVERLAY_INSTALLATION_FAILED_TARGET_BUNDLE_NAME_NOT_SAME = 9568367,
166         ERR_OVERLAY_INSTALLATION_FAILED_INTERNAL_EXTERNAL_OVERLAY_EXISTED_SIMULTANEOUSLY = 9568368,
167         ERR_OVERLAY_INSTALLATION_FAILED_TARGET_PRIORITY_NOT_SAME = 9568369,
168         ERR_OVERLAY_INSTALLATION_FAILED_INVALID_PRIORITY = 9568370,
169         ERR_OVERLAY_INSTALLATION_FAILED_INCONSISTENT_VERSION_CODE = 9568371,
170         ERR_OVERLAY_INSTALLATION_FAILED_SERVICE_EXCEPTION = 9568372,
171         ERR_OVERLAY_INSTALLATION_FAILED_BUNDLE_NAME_SAME_WITH_TARGET_BUNDLE_NAME = 9568373,
172         ERR_OVERLAY_INSTALLATION_FAILED_NO_SYSTEM_APPLICATION_FOR_EXTERNAL_OVERLAY = 9568374,
173         ERR_OVERLAY_INSTALLATION_FAILED_DIFFERENT_SIGNATURE_CERTIFICATE = 9568375,
174         ERR_OVERLAY_INSTALLATION_FAILED_TARGET_BUNDLE_IS_OVERLAY_BUNDLE = 9568376,
175         ERR_OVERLAY_INSTALLATION_FAILED_TARGET_MODULE_IS_OVERLAY_MODULE = 9568377,
176         ERR_OVERLAY_INSTALLATION_FAILED_OVERLAY_TYPE_NOT_SAME = 9568378,
177         ERR_OVERLAY_INSTALLATION_FAILED_INVALID_BUNDLE_DIR = 9568379,
178 
179         ERR_UNINSTALL_SYSTEM_APP_ERROR = 9568380,
180         ERR_UNINSTALL_KILLING_APP_ERROR = 9568381,
181         ERR_UNINSTALL_INVALID_NAME = 9568382,
182         ERR_UNINSTALL_PARAM_ERROR = 9568383,
183         ERR_UNINSTALL_PERMISSION_DENIED = 9568384,
184         ERR_UNINSTALL_BUNDLE_MGR_SERVICE_ERROR = 9568385,
185         ERR_UNINSTALL_MISSING_INSTALLED_BUNDLE = 9568386,
186         ERR_UNINSTALL_MISSING_INSTALLED_MODULE = 9568387,
187         ERR_UNINSTALL_DISALLOWED = 9568388,
188         ERR_UNKNOWN = 9568389,
189 
190         ERR_FAILED_GET_INSTALLER_PROXY = 9568390,
191         ERR_FAILED_SERVICE_DIED = 9568391,
192         ERR_OPERATION_TIME_OUT = 9568392,
193 
194         ERR_INSTALL_CODE_SIGNATURE_FAILED = 9568393,
195         ERR_INSTALL_CODE_SIGNATURE_FILE_IS_INVALID = 9568394,
196 
197         ERR_UNINSTALL_FROM_BMS_EXTENSION_FAILED = 9568395,
198 
199         ERR_INSTALL_SELF_UPDATE_NOT_MDM = 9568396,
200         ERR_INSTALL_SELF_UPDATE_BUNDLENAME_NOT_SAME = 9568397,
201         ERR_INSTALL_ENTERPRISE_BUNDLE_NOT_ALLOWED = 9568398,
202         ERR_INSTALLD_COPY_FILE_FAILED = 9568399,
203         ERR_INSTALL_GWP_ASAN_ENABLED_NOT_SAME = 9568400,
204         ERR_INSTALL_DEBUG_BUNDLE_NOT_ALLOWED = 9568401,
205         ERR_INSTALL_RELEASE_BUNDLE_NOT_ALLOWED_FOR_SHELL = 9568402,
206         ERR_INSTALL_CHECK_ENCRYPTION_FAILED = 9568403,
207         ERR_INSTALL_CODE_SIGNATURE_DELIVERY_FILE_FAILED = 9568404,
208         ERR_INSTALL_CODE_SIGNATURE_REMOVE_FILE_FAILED = 9568405,
209         ERR_UNINSTALL_AND_RECOVER_NOT_PREINSTALLED_BUNDLE = 9568406,
210 
211         // native bundle
212         ERR_INSTALL_NATIVE_FAILED = 9568407,
213         ERR_UNINSTALL_NATIVE_FAILED = 9568408,
214         ERR_NATIVE_HNP_EXTRACT_FAILED = 9568409,
215 
216         ERR_INSTALL_CODE_APP_CONTROLLED_FAILED = 9568410,
217         ERR_UNINSTALL_CONTROLLED = 9568412,
218         // install bundle
219         ERR_INSTALL_CHECK_SYSCAP_FAILED_AND_DEVICE_TYPE_NOT_SUPPORTED = 9568413,
220 
221         ERR_INSTALL_EXISTED_ENTERPRISE_BUNDLE_NOT_ALLOWED = 9568414,
222         ERR_INSTALL_DEBUG_ENCRYPTED_BUNDLE_FAILED = 9568415,
223         ERR_INSTALL_ENCRYPTED_BUNDLE_NOT_ALLOWED_FOR_SHELL = 9568416,
224         ERR_INSTALL_APPID_NOT_SAME_WITH_PREINSTALLED = 9568417,
225         ERR_UNINSTALL_DISPOSED_RULE_DENIED = 9568418,
226         ERR_INSTALL_BUNDLE_NOT_ALLOWED_FOR_SHELL_IN_OOBE = 9568419,
227         ERR_APPEXECFWK_INSTALL_OS_INTEGRATION_BUNDLE_NOT_ALLOWED_FOR_SHELL = 9568420,
228         ERR_APP_DISTRIBUTION_TYPE_NOT_ALLOW_INSTALL_ISR = 9568421,
229         ERR_INSTALL_FAILED_AND_RESTORE_TO_PREINSTALLED = 9568422,
230         ERR_INSTALL_FAILED_DEVICE_UNAUTHORIZED = 9568423,
231 
232         // force uninstall
233         ERR_APPEXECFWK_INSTALL_FORCE_UNINSTALLED_BUNDLE_NOT_ALLOW_RECOVER = 9568430,
234         ERR_APPEXECFWK_INSTALL_PREINSTALL_BUNDLE_ONLY_ALLOW_FORCE_UNINSTALLED_BY_EDC = 9568431,
235 
236         // plugin
237         ERR_PLUGIN_INSTALL_CHECK_PLUGINID_ERROR = 9568432,
238         ERR_PLUGIN_SUPPORT_PLUGIN_PERMISSION_ERROR = 9568433,
239         ERR_DEVICE_NOT_SUPPORT_PLUGIN = 9568434,
240         ERR_HOST_APP_NOT_FOUND = 9568435,
241         ERR_MULTIPLE_HSP_INFO_INCONSISTENT = 9568436,
242         ERR_PLUGIN_ID_PARSE_FAILED = 9568437,
243         ERR_PLUGIN_APP_NOT_FOUND = 9568438,
244         ERR_PLUGIN_SAME_BUNDLE_NAME = 9568439,
245 
246         // U1 application
247         ERR_INSTALL_U1ENABLE_CAN_ONLY_INSTALL_IN_U1_WITH_NOT_SINGLETON = 9568440,
248         ERR_INSTALL_BUNDLE_CAN_NOT_BOTH_EXISTED_IN_U1_AND_OTHER_USERS = 9568441,
249         ERR_INSTALL_U1_ENABLE_NOT_SAME_IN_ALL_BUNDLE_INFOS = 9568442,
250         ERR_INSTALL_U1_ENABLE_NOT_SUPPORT_APP_SERVICE_AND_SHARED_BUNDLE = 9568443,
251 
252         ERR_INSTALL_NOT_SUPPORT_STATIC_ATOMIC_SERVICE = 9568444,
253 
254         ERR_RECOVER_GET_BUNDLEPATH_ERROR = 201,
255         ERR_RECOVER_INVALID_BUNDLE_NAME,
256         ERR_RECOVER_NOT_ALLOWED,
257 
258         ERR_USER_NOT_EXIST = 301,
259         ERR_USER_CREATE_FAILED,
260         ERR_USER_REMOVE_FAILED,
261         ERR_USER_NOT_INSTALL_HAP,
262     };
263 };
264 }  // namespace AppExecFwk
265 }  // namespace OHOS
266 #endif  // FOUNDATION_APPEXECFWK_INTERFACES_INNERKITS_APPEXECFWK_CORE_INCLUDE_BUNDLEMGR_STATUS_RECEIVER_INTERFACE_H
267