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