IssueNo:#I5V49P

Description: add distributed interface
Sig:SIG_ApplicaitonFramework
Feature or Bugfix:Bugfix
Binary Source:No
Signed-off-by: wangtiantian <wangtiantian19@huawei.com>
This commit is contained in:
wangtiantian 2022-10-11 16:08:16 +08:00
parent 44bf10b6d9
commit 485073f1ca
6 changed files with 316 additions and 0 deletions

185
api/@ohos.bundle.distributedBundle.d.ts vendored Normal file
View File

@ -0,0 +1,185 @@
/*
* Copyright (c) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { AsyncCallback } from './basic';
import { ElementName } from './bundleManager/elementName';
import { RemoteAbilityInfo as _RemoteAbilityInfo } from './bundleManager/remoteAbilityInfo';
/**
* DistributedBundle manager.
* @namespace distributedBundle
* @syscap SystemCapability.BundleManager.DistributedBundleFramework
* @systemapi
* @since 9
*/
declare namespace distributedBundle {
/**
* Obtains information about the ability info of the remote device.
* @permission ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
* @param { ElementName } elementName - Indicates the elementName.
* @param { AsyncCallback<RemoteAbilityInfo> } callback - The callback of getting the ability info of the remote device.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 401 - The parameter check failed.
* @throws { BusinessError } 801 - Capability not supported.
* @throws { BusinessError } 17700001 - The specified bundle name is not found.
* @throws { BusinessError } 17700003 - The specified ability name is not found.
* @throws { BusinessError } 17700007 - The specified device id is not found.
* @throws { BusinessError } 17700027 - The distributed service is not running.
* @syscap SystemCapability.BundleManager.DistributedBundleFramework
* @systemapi
* @since 9
*/
function getRemoteAbilityInfo(elementName: ElementName, callback: AsyncCallback<RemoteAbilityInfo>): void;
/**
* Obtains information about the ability info of the remote device.
* @permission ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
* @param { ElementName } elementName - Indicates the elementName.
* @returns { Promise<RemoteAbilityInfo> } Returns the ability info of the remote device.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 401 - The parameter check failed.
* @throws { BusinessError } 801 - Capability not supported.
* @throws { BusinessError } 17700001 - The specified bundle name is not found.
* @throws { BusinessError } 17700003 - The specified ability name is not found.
* @throws { BusinessError } 17700007 - The specified device id is not found.
* @throws { BusinessError } 17700027 - The distributed service is not running.
* @syscap SystemCapability.BundleManager.DistributedBundleFramework
* @systemapi
* @since 9
*/
function getRemoteAbilityInfo(elementName: ElementName): Promise<RemoteAbilityInfo>;
/**
* Obtains information about the abilities info of the remote device.
* @permission ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
* @param { Array<ElementName> } elementNames - Indicates the elementNames, Maximum array length ten.
* @param { AsyncCallback<Array<RemoteAbilityInfo>> } callback - the callback of getting the abilities info of the remote device.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 401 - The parameter check failed.
* @throws { BusinessError } 801 - Capability not supported.
* @throws { BusinessError } 17700001 - The specified bundle name is not found.
* @throws { BusinessError } 17700003 - The specified ability name is not found.
* @throws { BusinessError } 17700007 - The specified device id is not found.
* @throws { BusinessError } 17700027 - The distributed service is not running.
* @syscap SystemCapability.BundleManager.DistributedBundleFramework
* @systemapi
* @since 9
*/
function getRemoteAbilityInfo(elementNames: Array<ElementName>, callback: AsyncCallback<Array<RemoteAbilityInfo>>): void;
/**
* Obtains information about the abilities info of the remote device.
* @permission ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
* @param { Array<ElementName> } elementNames - Indicates the elementNames, Maximum array length ten.
* @returns { Promise<Array<RemoteAbilityInfo>> } The result of getting the abilities info of the remote device.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 401 - The parameter check failed.
* @throws { BusinessError } 801 - Capability not supported.
* @throws { BusinessError } 17700001 - The specified bundle name is not found.
* @throws { BusinessError } 17700003 - The specified ability name is not found.
* @throws { BusinessError } 17700007 - The specified device id is not found.
* @throws { BusinessError } 17700027 - The distributed service is not running.
* @syscap SystemCapability.BundleManager.DistributedBundleFramework
* @systemapi
* @since 9
*/
function getRemoteAbilityInfo(elementNames: Array<ElementName>): Promise<Array<RemoteAbilityInfo>>;
/**
* Obtains information about the ability info of the remote device.
* @permission ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
* @param { ElementName } elementName - Indicates the elementName.
* @param { string } locale - Indicates the locale info
* @param { AsyncCallback<RemoteAbilityInfo> } callback - The callback of getting the ability info of the remote device.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 401 - The parameter check failed.
* @throws { BusinessError } 801 - Capability not supported.
* @throws { BusinessError } 17700001 - The specified bundle name is not found.
* @throws { BusinessError } 17700003 - The specified ability name is not found.
* @throws { BusinessError } 17700007 - The specified device id is not found.
* @throws { BusinessError } 17700027 - The distributed service is not running.
* @syscap SystemCapability.BundleManager.DistributedBundleFramework
* @systemapi
* @since 9
*/
function getRemoteAbilityInfo(elementName: ElementName, locale: string, callback: AsyncCallback<RemoteAbilityInfo>): void;
/**
* Obtains information about the ability info of the remote device.
* @permission ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
* @param { ElementName } elementName - Indicates the elementName.
* @param { string } locale - Indicates the locale info
* @returns { Promise<Array<RemoteAbilityInfo>> } The result of getting the ability info of the remote device.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 401 - The parameter check failed.
* @throws { BusinessError } 801 - Capability not supported.
* @throws { BusinessError } 17700001 - The specified bundle name is not found.
* @throws { BusinessError } 17700003 - The specified ability name is not found.
* @throws { BusinessError } 17700007 - The specified device id is not found.
* @throws { BusinessError } 17700027 - The distributed service is not running.
* @syscap SystemCapability.BundleManager.DistributedBundleFramework
* @systemapi
* @since 9
*/
function getRemoteAbilityInfo(elementName: ElementName, locale: string): Promise<RemoteAbilityInfo>;
/**
* Obtains information about the ability info of the remote device.
* @permission ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
* @param { Array<ElementName> } elementNames - Indicates the elementNames, Maximum array length ten.
* @param { string } locale - Indicates the locale info
* @param { AsyncCallback } callback - Returns the abilities info of the remote device.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 401 - The parameter check failed.
* @throws { BusinessError } 801 - Capability not supported.
* @throws { BusinessError } 17700001 - The specified bundle name is not found.
* @throws { BusinessError } 17700003 - The specified ability name is not found.
* @throws { BusinessError } 17700007 - The specified device id is not found.
* @throws { BusinessError } 17700027 - The distributed service is not running.
* @syscap SystemCapability.BundleManager.DistributedBundleFramework
* @systemapi
* @since 9
*/
function getRemoteAbilityInfo(elementNames: Array<ElementName>, locale: string, callback: AsyncCallback<Array<RemoteAbilityInfo>>): void;
/**
* Obtains information about the abilities info of the remote device.
* @permission ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
* @param { Array<ElementName> } elementNames - Indicates the elementNames, Maximum array length ten.
* @param { string } locale - Indicates the locale info
* @returns { Promise<Array<RemoteAbilityInfo>> } Returns the abilities info of the remote device.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 401 - The parameter check failed.
* @throws { BusinessError } 801 - Capability not supported.
* @throws { BusinessError } 17700001 - The specified bundle name is not found.
* @throws { BusinessError } 17700003 - The specified ability name is not found.
* @throws { BusinessError } 17700007 - The specified device id is not found.
* @throws { BusinessError } 17700027 - The distributed service is not running.
* @syscap SystemCapability.BundleManager.DistributedBundleFramework
* @systemapi
* @since 9
*/
function getRemoteAbilityInfo(elementNames: Array<ElementName>, locale: string): Promise<Array<RemoteAbilityInfo>>;
/**
* Contains basic remote ability information.
* @syscap SystemCapability.BundleManager.DistributedBundleFramework
* @systemapi
* @since 9
*/
export type RemoteAbilityInfo = _RemoteAbilityInfo;
}
export default distributedBundle;

View File

@ -24,6 +24,8 @@ import { RemoteAbilityInfo as _RemoteAbilityInfo } from './bundle/remoteAbilityI
* @syscap SystemCapability.BundleManager.DistributedBundleFramework
* @permission NA
* @systemapi Hide this for inner system use
* @deprecated since 9
* @useinstead ohos.bundle.distributeBundle
*/
declare namespace distributedBundle {
/**
@ -35,6 +37,8 @@ import { RemoteAbilityInfo as _RemoteAbilityInfo } from './bundle/remoteAbilityI
* @return Returns the ability info of the remote device.
* @permission ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
* @systemapi
* @deprecated since 9
* @useinstead ohos.bundle.distributeBundle#getRemoteAbilityInfo
*/
function getRemoteAbilityInfo(elementName: ElementName, callback: AsyncCallback<RemoteAbilityInfo>): void;
function getRemoteAbilityInfo(elementName: ElementName): Promise<RemoteAbilityInfo>;
@ -48,6 +52,8 @@ import { RemoteAbilityInfo as _RemoteAbilityInfo } from './bundle/remoteAbilityI
* @return Returns the ability infos of the remote device.
* @permission ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
* @systemapi
* @deprecated since 9
* @useinstead ohos.bundle.distributeBundle#getRemoteAbilityInfo
*/
function getRemoteAbilityInfos(elementNames: Array<ElementName>, callback: AsyncCallback<Array<RemoteAbilityInfo>>): void;
function getRemoteAbilityInfos(elementNames: Array<ElementName>): Promise<Array<RemoteAbilityInfo>>;

View File

@ -22,6 +22,8 @@
* @syscap SystemCapability.BundleManager.BundleFramework
*
* @permission N/A
* @deprecated since 9
* @useinstead ohos.bundle.bundleManager.ElementName
*/
export interface ElementName {
/**

View File

@ -22,6 +22,8 @@ import { ElementName } from './elementName';
* @systemapi
*
* @permission N/A
* @deprecated since 9
* @useinstead ohos.bundle.distributedBundle.RemoteAbilityInfo
*/
export interface RemoteAbilityInfo {
/**

72
api/bundleManager/elementName.d.ts vendored Normal file
View File

@ -0,0 +1,72 @@
/*
* Copyright (c) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Contains basic Ability information, which uniquely identifies an ability.
* You can use this class to obtain values of the fields set in an element,
* such as the device ID, bundle name, and ability name.
* @typedef ElementName
* @syscap SystemCapability.BundleManager.BundleFramework.Core
* @since 9
*/
export interface ElementName {
/**
* Indicates device id
* @type {?string}
* @syscap SystemCapability.BundleManager.BundleFramework.Core
* @since 9
*/
deviceId?: string;
/**
* @default Indicates bundle name
* @type {string}
* @syscap SystemCapability.BundleManager.BundleFramework.Core
* @since 9
*/
bundleName: string;
/**
* @default Indicates module name
* @type {?string}
* @syscap SystemCapability.BundleManager.BundleFramework.Core
* @since 9
*/
moduleName?: string;
/**
* Indicates ability name
* @type {string}
* @syscap SystemCapability.BundleManager.BundleFramework.Core
* @since 9
*/
abilityName: string;
/**
* Indicates uri
* @type {?string}
* @syscap SystemCapability.BundleManager.BundleFramework.Core
* @since 9
*/
uri?: string;
/**
* Indicates short name
* @type {?string}
* @syscap SystemCapability.BundleManager.BundleFramework.Core
* @since 9
*/
shortName?: string;
}

View File

@ -0,0 +1,49 @@
/*
* Copyright (c) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { ElementName } from './elementName';
/**
* Contains basic remote ability information.
* @typedef RemoteAbilityInfo
* @syscap SystemCapability.BundleManager.DistributedBundleFramework
* @systemapi
* @since 9
*/
export interface RemoteAbilityInfo {
/**
* Indicates the ability information
* @type {ElementName}
* @syscap SystemCapability.BundleManager.DistributedBundleFramework
* @since 9
*/
readonly elementName: ElementName;
/**
* Indicates the label of the ability
* @type {string}
* @syscap SystemCapability.BundleManager.DistributedBundleFramework
* @since 9
*/
readonly label: string;
/**
* Indicates the icon of the ability
* @type {string}
* @syscap SystemCapability.BundleManager.DistributedBundleFramework
* @since 9
*/
readonly icon: string;
}