161847f8eSopenharmony_ci/* 261847f8eSopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd. 361847f8eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 461847f8eSopenharmony_ci * you may not use this file except in compliance with the License. 561847f8eSopenharmony_ci * You may obtain a copy of the License at 661847f8eSopenharmony_ci * 761847f8eSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 861847f8eSopenharmony_ci * 961847f8eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1061847f8eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1161847f8eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1261847f8eSopenharmony_ci * See the License for the specific language governing permissions and 1361847f8eSopenharmony_ci * limitations under the License. 1461847f8eSopenharmony_ci */ 1561847f8eSopenharmony_ci 1661847f8eSopenharmony_ci/** 1761847f8eSopenharmony_ci * @file 1861847f8eSopenharmony_ci * @kit AbilityKit 1961847f8eSopenharmony_ci */ 2061847f8eSopenharmony_ci 2161847f8eSopenharmony_ciimport { Callback } from './@ohos.base'; 2261847f8eSopenharmony_ci 2361847f8eSopenharmony_ci/** 2461847f8eSopenharmony_ci * Bundle monitor 2561847f8eSopenharmony_ci * 2661847f8eSopenharmony_ci * @namespace bundleMonitor 2761847f8eSopenharmony_ci * @syscap SystemCapability.BundleManager.BundleFramework.Core 2861847f8eSopenharmony_ci * @systemapi 2961847f8eSopenharmony_ci * @since 9 3061847f8eSopenharmony_ci */ 3161847f8eSopenharmony_cideclare namespace bundleMonitor { 3261847f8eSopenharmony_ci /** 3361847f8eSopenharmony_ci * This module defines the result information of monitoring install, update and uninstall. 3461847f8eSopenharmony_ci * 3561847f8eSopenharmony_ci * @typedef BundleChangedInfo 3661847f8eSopenharmony_ci * @syscap SystemCapability.BundleManager.BundleFramework.Core 3761847f8eSopenharmony_ci * @systemapi 3861847f8eSopenharmony_ci * @since 9 3961847f8eSopenharmony_ci */ 4061847f8eSopenharmony_ci interface BundleChangedInfo { 4161847f8eSopenharmony_ci /** 4261847f8eSopenharmony_ci * The bundle name 4361847f8eSopenharmony_ci * 4461847f8eSopenharmony_ci * @type { string } 4561847f8eSopenharmony_ci * @syscap SystemCapability.BundleManager.BundleFramework.Core 4661847f8eSopenharmony_ci * @systemapi 4761847f8eSopenharmony_ci * @since 9 4861847f8eSopenharmony_ci */ 4961847f8eSopenharmony_ci readonly bundleName: string; 5061847f8eSopenharmony_ci /** 5161847f8eSopenharmony_ci * The user id 5261847f8eSopenharmony_ci * 5361847f8eSopenharmony_ci * @type { number } 5461847f8eSopenharmony_ci * @syscap SystemCapability.BundleManager.BundleFramework.Core 5561847f8eSopenharmony_ci * @systemapi 5661847f8eSopenharmony_ci * @since 9 5761847f8eSopenharmony_ci */ 5861847f8eSopenharmony_ci readonly userId: number; 5961847f8eSopenharmony_ci /** 6061847f8eSopenharmony_ci * The app index of clone app 6161847f8eSopenharmony_ci * 6261847f8eSopenharmony_ci * @type { number } 6361847f8eSopenharmony_ci * @syscap SystemCapability.BundleManager.BundleFramework.Core 6461847f8eSopenharmony_ci * @systemapi 6561847f8eSopenharmony_ci * @since 12 6661847f8eSopenharmony_ci */ 6761847f8eSopenharmony_ci readonly appIndex: number; 6861847f8eSopenharmony_ci } 6961847f8eSopenharmony_ci 7061847f8eSopenharmony_ci /** 7161847f8eSopenharmony_ci * Indicates the event type of bundle change 7261847f8eSopenharmony_ci * 7361847f8eSopenharmony_ci * @typedef { 'add' | 'update' | 'remove' } 7461847f8eSopenharmony_ci * @syscap SystemCapability.BundleManager.BundleFramework.Core 7561847f8eSopenharmony_ci * @systemapi 7661847f8eSopenharmony_ci * @since 9 7761847f8eSopenharmony_ci */ 7861847f8eSopenharmony_ci type BundleChangedEvent = 'add' | 'update' | 'remove'; 7961847f8eSopenharmony_ci 8061847f8eSopenharmony_ci /** 8161847f8eSopenharmony_ci * Register to monitor the installation status 8261847f8eSopenharmony_ci * 8361847f8eSopenharmony_ci * @permission ohos.permission.LISTEN_BUNDLE_CHANGE 8461847f8eSopenharmony_ci * @param { BundleChangedEvent } type - Indicates the command should be implement. 8561847f8eSopenharmony_ci * @param { Callback<BundleChangedInfo> } callback - Indicates the callback to be register. 8661847f8eSopenharmony_ci * @throws { BusinessError } 201 - Verify permission denied. 8761847f8eSopenharmony_ci * @throws { BusinessError } 202 - Permission denied, non-system app called system api. 8861847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. 8961847f8eSopenharmony_ci * @syscap SystemCapability.BundleManager.BundleFramework.Core 9061847f8eSopenharmony_ci * @systemapi 9161847f8eSopenharmony_ci * @since 9 9261847f8eSopenharmony_ci */ 9361847f8eSopenharmony_ci function on(type: BundleChangedEvent, callback: Callback<BundleChangedInfo>): void; 9461847f8eSopenharmony_ci 9561847f8eSopenharmony_ci /** 9661847f8eSopenharmony_ci * Unregister to monitor the installation status 9761847f8eSopenharmony_ci * 9861847f8eSopenharmony_ci * @permission ohos.permission.LISTEN_BUNDLE_CHANGE 9961847f8eSopenharmony_ci * @param { BundleChangedEvent } type -type Indicates the command should be implement. 10061847f8eSopenharmony_ci * @param { Callback<BundleChangedInfo> } callback - Indicates the callback to be unregister. 10161847f8eSopenharmony_ci * @throws { BusinessError } 201 - Verify permission denied. 10261847f8eSopenharmony_ci * @throws { BusinessError } 202 - Permission denied, non-system app called system api. 10361847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. 10461847f8eSopenharmony_ci * @syscap SystemCapability.BundleManager.BundleFramework.Core 10561847f8eSopenharmony_ci * @systemapi 10661847f8eSopenharmony_ci * @since 9 10761847f8eSopenharmony_ci */ 10861847f8eSopenharmony_ci function off(type: BundleChangedEvent, callback?: Callback<BundleChangedInfo>): void; 10961847f8eSopenharmony_ci} 11061847f8eSopenharmony_ci 11161847f8eSopenharmony_ciexport default bundleMonitor; 112