1 /* 2 * Copyright (c) 2021-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 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 40 virtual void SetStreamInstallId(uint32_t installerId) = 0; 41 42 enum class Message { 43 ON_STATUS_NOTIFY, 44 ON_FINISHED, 45 }; 46 47 enum { 48 SUCCESS = 0, 49 ERR_INSTALL_INTERNAL_ERROR, 50 ERR_INSTALL_HOST_INSTALLER_FAILED, 51 ERR_INSTALL_PARSE_FAILED, 52 ERR_INSTALL_VERSION_DOWNGRADE, 53 ERR_INSTALL_VERIFICATION_FAILED, 54 ERR_INSTALL_PARAM_ERROR, 55 ERR_INSTALL_PERMISSION_DENIED, 56 ERR_INSTALL_ENTRY_ALREADY_EXIST, 57 ERR_INSTALL_STATE_ERROR, 58 ERR_INSTALL_FILE_PATH_INVALID, 59 ERR_INSTALL_INVALID_HAP_NAME, 60 ERR_INSTALL_INVALID_BUNDLE_FILE, 61 ERR_INSTALL_INVALID_HAP_SIZE, 62 ERR_INSTALL_GENERATE_UID_ERROR, 63 ERR_INSTALL_INSTALLD_SERVICE_ERROR, 64 ERR_INSTALL_BUNDLE_MGR_SERVICE_ERROR, 65 ERR_INSTALL_ALREADY_EXIST, 66 ERR_INSTALL_BUNDLENAME_NOT_SAME, 67 ERR_INSTALL_VERSIONCODE_NOT_SAME, 68 ERR_INSTALL_VERSIONNAME_NOT_SAME, 69 ERR_INSTALL_MINCOMPATIBLE_VERSIONCODE_NOT_SAME, 70 ERR_INSTALL_VENDOR_NOT_SAME, 71 ERR_INSTALL_RELEASETYPE_TARGET_NOT_SAME, 72 ERR_INSTALL_RELEASETYPE_NOT_SAME, 73 ERR_INSTALL_RELEASETYPE_COMPATIBLE_NOT_SAME, 74 ERR_INSTALL_VERSION_NOT_COMPATIBLE, 75 ERR_INSTALL_APP_DISTRIBUTION_TYPE_NOT_SAME, 76 ERR_INSTALL_APP_PROVISION_TYPE_NOT_SAME, 77 ERR_INSTALL_INVALID_NUMBER_OF_ENTRY_HAP, 78 ERR_INSTALL_DISK_MEM_INSUFFICIENT, 79 ERR_INSTALL_GRANT_REQUEST_PERMISSIONS_FAILED, 80 ERR_INSTALL_UPDATE_HAP_TOKEN_FAILED, 81 ERR_INSTALL_SINGLETON_NOT_SAME, 82 ERR_INSTALL_ZERO_USER_WITH_NO_SINGLETON, 83 ERR_INSTALL_CHECK_SYSCAP_FAILED, 84 ERR_INSTALL_APPTYPE_NOT_SAME, 85 ERR_INSTALL_URI_DUPLICATE, 86 ERR_INSTALL_TYPE_ERROR, 87 ERR_INSTALL_SDK_INCOMPATIBLE, 88 ERR_INSTALL_SO_INCOMPATIBLE, 89 ERR_INSTALL_AN_INCOMPATIBLE, 90 ERR_INSTALL_NOT_UNIQUE_DISTRO_MODULE_NAME, 91 ERR_INSTALL_INCONSISTENT_MODULE_NAME, 92 ERR_INSTALL_SINGLETON_INCOMPATIBLE, 93 ERR_INSTALL_DISALLOWED, 94 ERR_INSTALL_DEVICE_TYPE_NOT_SUPPORTED, 95 ERR_INSTALL_DEPENDENT_MODULE_NOT_EXIST, 96 ERR_INSTALL_ASAN_ENABLED_NOT_SAME, 97 ERR_INSTALL_ASAN_ENABLED_NOT_SUPPORT, 98 ERR_INSTALL_BUNDLE_TYPE_NOT_SAME, 99 100 // signature errcode 101 ERR_INSTALL_FAILED_INVALID_SIGNATURE_FILE_PATH, 102 ERR_INSTALL_FAILED_BAD_BUNDLE_SIGNATURE_FILE, 103 ERR_INSTALL_FAILED_NO_BUNDLE_SIGNATURE, 104 ERR_INSTALL_FAILED_VERIFY_APP_PKCS7_FAIL, 105 ERR_INSTALL_FAILED_PROFILE_PARSE_FAIL, 106 ERR_INSTALL_FAILED_APP_SOURCE_NOT_TRUESTED, 107 ERR_INSTALL_FAILED_BAD_DIGEST, 108 ERR_INSTALL_FAILED_BUNDLE_INTEGRITY_VERIFICATION_FAILURE, 109 ERR_INSTALL_FAILED_FILE_SIZE_TOO_LARGE, 110 ERR_INSTALL_FAILED_BAD_PUBLICKEY, 111 ERR_INSTALL_FAILED_BAD_BUNDLE_SIGNATURE, 112 ERR_INSTALL_FAILED_NO_PROFILE_BLOCK_FAIL, 113 ERR_INSTALL_FAILED_BUNDLE_SIGNATURE_VERIFICATION_FAILURE, 114 ERR_INSTALL_FAILED_VERIFY_SOURCE_INIT_FAIL, 115 ERR_INSTALL_FAILED_INCOMPATIBLE_SIGNATURE, 116 ERR_INSTALL_FAILED_INCONSISTENT_SIGNATURE, 117 ERR_INSTALL_FAILED_MODULE_NAME_EMPTY, 118 ERR_INSTALL_FAILED_MODULE_NAME_DUPLICATE, 119 ERR_INSTALL_FAILED_CHECK_HAP_HASH_PARAM, 120 121 ERR_INSTALL_PARSE_UNEXPECTED, 122 ERR_INSTALL_PARSE_MISSING_BUNDLE, 123 ERR_INSTALL_PARSE_MISSING_ABILITY, 124 ERR_INSTALL_PARSE_NO_PROFILE, 125 ERR_INSTALL_PARSE_BAD_PROFILE, 126 ERR_INSTALL_PARSE_PROFILE_PROP_TYPE_ERROR, 127 ERR_INSTALL_PARSE_PROFILE_MISSING_PROP, 128 ERR_INSTALL_PARSE_PERMISSION_ERROR, 129 ERR_INSTALL_PARSE_PROFILE_PROP_CHECK_ERROR, 130 ERR_INSTALL_PARSE_PROFILE_PROP_SIZE_CHECK_ERROR, 131 ERR_INSTALL_PARSE_RPCID_FAILED, 132 ERR_INSTALL_PARSE_NATIVE_SO_FAILED, 133 ERR_INSTALL_PARSE_AN_FAILED, 134 135 ERR_INSTALLD_PARAM_ERROR, 136 ERR_INSTALLD_GET_PROXY_ERROR, 137 ERR_INSTALLD_CREATE_DIR_FAILED, 138 ERR_INSTALLD_CREATE_DIR_EXIST, 139 ERR_INSTALLD_CHOWN_FAILED, 140 ERR_INSTALLD_REMOVE_DIR_FAILED, 141 ERR_INSTALLD_EXTRACT_FILES_FAILED, 142 ERR_INSTALLD_RNAME_DIR_FAILED, 143 ERR_INSTALLD_CLEAN_DIR_FAILED, 144 ERR_INSTALLD_PERMISSION_DENIED, 145 146 ERR_UNINSTALL_SYSTEM_APP_ERROR, 147 ERR_UNINSTALL_KILLING_APP_ERROR, 148 ERR_UNINSTALL_INVALID_NAME, 149 ERR_UNINSTALL_PARAM_ERROR, 150 ERR_UNINSTALL_PERMISSION_DENIED, 151 ERR_UNINSTALL_BUNDLE_MGR_SERVICE_ERROR, 152 ERR_UNINSTALL_MISSING_INSTALLED_BUNDLE, 153 ERR_UNINSTALL_MISSING_INSTALLED_MODULE, 154 ERR_UNINSTALL_DISALLOWED, 155 ERR_UNKNOWN, 156 157 ERR_FAILED_GET_INSTALLER_PROXY, 158 ERR_FAILED_SERVICE_DIED, 159 ERR_OPERATION_TIME_OUT, 160 161 ERR_RECOVER_GET_BUNDLEPATH_ERROR = 201, 162 ERR_RECOVER_INVALID_BUNDLE_NAME, 163 ERR_RECOVER_NOT_ALLOWED, 164 165 ERR_USER_NOT_EXIST = 301, 166 ERR_USER_CREATE_FAILED, 167 ERR_USER_REMOVE_FAILED, 168 ERR_USER_NOT_INSTALL_HAP, 169 }; 170 }; 171 } // namespace AppExecFwk 172 } // namespace OHOS 173 #endif // FOUNDATION_APPEXECFWK_INTERFACES_INNERKITS_APPEXECFWK_CORE_INCLUDE_BUNDLEMGR_STATUS_RECEIVER_INTERFACE_H