From 485073f1ca665a9a77be9673cf0ad96e473a93c2 Mon Sep 17 00:00:00 2001 From: wangtiantian Date: Tue, 11 Oct 2022 16:08:16 +0800 Subject: [PATCH] IssueNo:#I5V49P Description: add distributed interface Sig:SIG_ApplicaitonFramework Feature or Bugfix:Bugfix Binary Source:No Signed-off-by: wangtiantian --- api/@ohos.bundle.distributedBundle.d.ts | 185 +++++++++++++++++++++++ api/@ohos.distributedBundle.d.ts | 6 + api/bundle/elementName.d.ts | 2 + api/bundle/remoteAbilityInfo.d.ts | 2 + api/bundleManager/elementName.d.ts | 72 +++++++++ api/bundleManager/remoteAbilityInfo.d.ts | 49 ++++++ 6 files changed, 316 insertions(+) create mode 100644 api/@ohos.bundle.distributedBundle.d.ts create mode 100644 api/bundleManager/elementName.d.ts create mode 100644 api/bundleManager/remoteAbilityInfo.d.ts diff --git a/api/@ohos.bundle.distributedBundle.d.ts b/api/@ohos.bundle.distributedBundle.d.ts new file mode 100644 index 0000000000..76c67d47bd --- /dev/null +++ b/api/@ohos.bundle.distributedBundle.d.ts @@ -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 } 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): 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 } 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; + + /** + * Obtains information about the abilities info of the remote device. + * @permission ohos.permission.GET_BUNDLE_INFO_PRIVILEGED + * @param { Array } elementNames - Indicates the elementNames, Maximum array length ten. + * @param { AsyncCallback> } 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, callback: AsyncCallback>): void; + + /** + * Obtains information about the abilities info of the remote device. + * @permission ohos.permission.GET_BUNDLE_INFO_PRIVILEGED + * @param { Array } elementNames - Indicates the elementNames, Maximum array length ten. + * @returns { Promise> } 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): Promise>; + + /** + * 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 } 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): 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> } 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; + + /** + * Obtains information about the ability info of the remote device. + * @permission ohos.permission.GET_BUNDLE_INFO_PRIVILEGED + * @param { Array } 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, locale: string, callback: AsyncCallback>): void; + + /** + * Obtains information about the abilities info of the remote device. + * @permission ohos.permission.GET_BUNDLE_INFO_PRIVILEGED + * @param { Array } elementNames - Indicates the elementNames, Maximum array length ten. + * @param { string } locale - Indicates the locale info + * @returns { Promise> } 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, locale: string): Promise>; + + /** + * Contains basic remote ability information. + * @syscap SystemCapability.BundleManager.DistributedBundleFramework + * @systemapi + * @since 9 + */ + export type RemoteAbilityInfo = _RemoteAbilityInfo; +} + +export default distributedBundle; diff --git a/api/@ohos.distributedBundle.d.ts b/api/@ohos.distributedBundle.d.ts index beaf21575a..619ab50a1a 100644 --- a/api/@ohos.distributedBundle.d.ts +++ b/api/@ohos.distributedBundle.d.ts @@ -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): void; function getRemoteAbilityInfo(elementName: ElementName): Promise; @@ -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, callback: AsyncCallback>): void; function getRemoteAbilityInfos(elementNames: Array): Promise>; diff --git a/api/bundle/elementName.d.ts b/api/bundle/elementName.d.ts index 3eeff9218e..c03c120ec3 100644 --- a/api/bundle/elementName.d.ts +++ b/api/bundle/elementName.d.ts @@ -22,6 +22,8 @@ * @syscap SystemCapability.BundleManager.BundleFramework * * @permission N/A + * @deprecated since 9 + * @useinstead ohos.bundle.bundleManager.ElementName */ export interface ElementName { /** diff --git a/api/bundle/remoteAbilityInfo.d.ts b/api/bundle/remoteAbilityInfo.d.ts index e9a1585c26..176c28d969 100644 --- a/api/bundle/remoteAbilityInfo.d.ts +++ b/api/bundle/remoteAbilityInfo.d.ts @@ -22,6 +22,8 @@ import { ElementName } from './elementName'; * @systemapi * * @permission N/A + * @deprecated since 9 + * @useinstead ohos.bundle.distributedBundle.RemoteAbilityInfo */ export interface RemoteAbilityInfo { /** diff --git a/api/bundleManager/elementName.d.ts b/api/bundleManager/elementName.d.ts new file mode 100644 index 0000000000..612986c3e5 --- /dev/null +++ b/api/bundleManager/elementName.d.ts @@ -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; +} diff --git a/api/bundleManager/remoteAbilityInfo.d.ts b/api/bundleManager/remoteAbilityInfo.d.ts new file mode 100644 index 0000000000..16b91e7641 --- /dev/null +++ b/api/bundleManager/remoteAbilityInfo.d.ts @@ -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; +} \ No newline at end of file -- Gitee