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 enum class Message { 41 ON_STATUS_NOTIFY, 42 ON_FINISHED, 43 }; 44 45 enum { 46 SUCCESS = 0, 47 ERR_INSTALL_INTERNAL_ERROR, 48 ERR_INSTALL_HOST_INSTALLER_FAILED, 49 ERR_INSTALL_PARSE_FAILED, 50 ERR_INSTALL_VERSION_DOWNGRADE, 51 ERR_INSTALL_VERIFICATION_FAILED, 52 ERR_INSTALL_PARAM_ERROR, 53 ERR_INSTALL_PERMISSION_DENIED, 54 ERR_INSTALL_ENTRY_ALREADY_EXIST, 55 ERR_INSTALL_STATE_ERROR, 56 ERR_INSTALL_FILE_PATH_INVALID, 57 ERR_INSTALL_INVALID_HAP_NAME, 58 ERR_INSTALL_INVALID_BUNDLE_FILE, 59 ERR_INSTALL_INVALID_HAP_SIZE, 60 ERR_INSTALL_GENERATE_UID_ERROR, 61 ERR_INSTALL_INSTALLD_SERVICE_ERROR, 62 ERR_INSTALL_BUNDLE_MGR_SERVICE_ERROR, 63 ERR_INSTALL_ALREADY_EXIST, 64 ERR_INSTALL_BUNDLENAME_NOT_SAME, 65 ERR_INSTALL_VERSIONCODE_NOT_SAME, 66 ERR_INSTALL_VERSIONNAME_NOT_SAME, 67 ERR_INSTALL_VENDOR_NOT_SAME, 68 ERR_INSTALL_RELEASETYPE_TARGET_NOT_SAME, 69 ERR_INSTALL_RELEASETYPE_COMPATIBLE_NOT_SAME, 70 ERR_INSTALL_VERSION_NOT_COMPATIBLE, 71 ERR_INSTALL_INVALID_NUMBER_OF_ENTRY_HAP, 72 ERR_INSTALL_DISK_MEM_INSUFFICIENT, 73 ERR_INSTALL_GRANT_REQUEST_PERMISSIONS_FAILED, 74 ERR_INSTALL_UPDATE_HAP_TOKEN_FAILED, 75 ERR_INSTALL_SINGLETON_NOT_SAME, 76 ERR_INSTALL_ZERO_USER_WITH_NO_SINGLETON, 77 ERR_INSTALL_CHECK_SYSCAP_FAILED, 78 ERR_INSTALL_APPTYPE_NOT_SAME, 79 ERR_INSTALL_URI_DUPLICATE, 80 ERR_INSTALL_NOT_UNIQUE_DISTRO_MODULE_NAME, 81 ERR_INSTALL_INCONSISTENT_MODULE_NAME, 82 83 // signature errcode 84 ERR_INSTALL_FAILED_INVALID_SIGNATURE_FILE_PATH, 85 ERR_INSTALL_FAILED_BAD_BUNDLE_SIGNATURE_FILE, 86 ERR_INSTALL_FAILED_NO_BUNDLE_SIGNATURE, 87 ERR_INSTALL_FAILED_VERIFY_APP_PKCS7_FAIL, 88 ERR_INSTALL_FAILED_PROFILE_PARSE_FAIL, 89 ERR_INSTALL_FAILED_APP_SOURCE_NOT_TRUESTED, 90 ERR_INSTALL_FAILED_BAD_DIGEST, 91 ERR_INSTALL_FAILED_BUNDLE_INTEGRITY_VERIFICATION_FAILURE, 92 ERR_INSTALL_FAILED_FILE_SIZE_TOO_LARGE, 93 ERR_INSTALL_FAILED_BAD_PUBLICKEY, 94 ERR_INSTALL_FAILED_BAD_BUNDLE_SIGNATURE, 95 ERR_INSTALL_FAILED_NO_PROFILE_BLOCK_FAIL, 96 ERR_INSTALL_FAILED_BUNDLE_SIGNATURE_VERIFICATION_FAILURE, 97 ERR_INSTALL_FAILED_VERIFY_SOURCE_INIT_FAIL, 98 ERR_INSTALL_FAILED_INCOMPATIBLE_SIGNATURE, 99 ERR_INSTALL_FAILED_INCONSISTENT_SIGNATURE, 100 101 ERR_INSTALL_PARSE_UNEXPECTED, 102 ERR_INSTALL_PARSE_MISSING_BUNDLE, 103 ERR_INSTALL_PARSE_MISSING_ABILITY, 104 ERR_INSTALL_PARSE_NO_PROFILE, 105 ERR_INSTALL_PARSE_BAD_PROFILE, 106 ERR_INSTALL_PARSE_PROFILE_PROP_TYPE_ERROR, 107 ERR_INSTALL_PARSE_PROFILE_MISSING_PROP, 108 ERR_INSTALL_PARSE_PERMISSION_ERROR, 109 ERR_INSTALL_PARSE_PROFILE_PROP_CHECK_ERROR, 110 ERR_INSTALL_PARSE_PROFILE_PROP_SIZE_CHECK_ERROR, 111 ERR_INSTALL_PARSE_RPCID_FAILED, 112 113 ERR_INSTALLD_PARAM_ERROR, 114 ERR_INSTALLD_GET_PROXY_ERROR, 115 ERR_INSTALLD_CREATE_DIR_FAILED, 116 ERR_INSTALLD_CREATE_DIR_EXIST, 117 ERR_INSTALLD_CHOWN_FAILED, 118 ERR_INSTALLD_REMOVE_DIR_FAILED, 119 ERR_INSTALLD_EXTRACT_FILES_FAILED, 120 ERR_INSTALLD_RNAME_DIR_FAILED, 121 ERR_INSTALLD_CLEAN_DIR_FAILED, 122 123 ERR_UNINSTALL_SYSTEM_APP_ERROR, 124 ERR_UNINSTALL_KILLING_APP_ERROR, 125 ERR_UNINSTALL_INVALID_NAME, 126 ERR_UNINSTALL_PARAM_ERROR, 127 ERR_UNINSTALL_PERMISSION_DENIED, 128 ERR_UNINSTALL_BUNDLE_MGR_SERVICE_ERROR, 129 ERR_UNINSTALL_MISSING_INSTALLED_BUNDLE, 130 ERR_UNINSTALL_MISSING_INSTALLED_MODULE, 131 ERR_UNKNOWN, 132 133 ERR_FAILED_GET_INSTALLER_PROXY, 134 ERR_FAILED_SERVICE_DIED, 135 ERR_OPERATION_TIME_OUT, 136 137 ERR_RECOVER_GET_BUNDLEPATH_ERROR = 201, 138 ERR_RECOVER_INVALID_BUNDLE_NAME, 139 140 ERR_USER_NOT_EXIST = 301, 141 ERR_USER_CREATE_FALIED, 142 ERR_USER_REMOVE_FALIED, 143 ERR_USER_NOT_INSTALL_HAP, 144 }; 145 }; 146 } // namespace AppExecFwk 147 } // namespace OHOS 148 #endif // FOUNDATION_APPEXECFWK_INTERFACES_INNERKITS_APPEXECFWK_CORE_INCLUDE_BUNDLEMGR_STATUS_RECEIVER_INTERFACE_H 149