1/* 2 * Copyright (c) 2025 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/** 17 * @file 18 * @kit AbilityKit 19 */ 20 21/** 22 * Provides information about a plugin. 23 * 24 * @typedef PluginBundleInfo 25 * @syscap SystemCapability.BundleManager.BundleFramework.Core 26 * @systemapi 27 * @since 19 28 */ 29export interface PluginBundleInfo { 30 /** 31 * Indicates the label of the plugin 32 * 33 * @type { string } 34 * @readonly 35 * @syscap SystemCapability.BundleManager.BundleFramework.Core 36 * @systemapi 37 * @since 19 38 */ 39 readonly label: string; 40 41 /** 42 * Indicates the label id of the plugin 43 * 44 * @type { number } 45 * @readonly 46 * @syscap SystemCapability.BundleManager.BundleFramework.Core 47 * @systemapi 48 * @since 19 49 */ 50 readonly labelId: number; 51 52 /** 53 * Indicates the icon of the plugin 54 * 55 * @type { string } 56 * @readonly 57 * @syscap SystemCapability.BundleManager.BundleFramework.Core 58 * @systemapi 59 * @since 19 60 */ 61 readonly icon: string; 62 63 /** 64 * Indicates the icon id of the plugin 65 * 66 * @type { number } 67 * @readonly 68 * @syscap SystemCapability.BundleManager.BundleFramework.Core 69 * @systemapi 70 * @since 19 71 */ 72 readonly iconId: number; 73 74 /** 75 * Indicates the name of the plugin 76 * 77 * @type { string } 78 * @readonly 79 * @syscap SystemCapability.BundleManager.BundleFramework.Core 80 * @systemapi 81 * @since 19 82 */ 83 readonly pluginBundleName: string; 84 85 /** 86 * Indicates the version code of the plugin 87 * 88 * @type { number } 89 * @readonly 90 * @syscap SystemCapability.BundleManager.BundleFramework.Core 91 * @systemapi 92 * @since 19 93 */ 94 readonly versionCode: number; 95 96 /** 97 * Indicates the version name of the plugin 98 * 99 * @type { string } 100 * @readonly 101 * @syscap SystemCapability.BundleManager.BundleFramework.Core 102 * @systemapi 103 * @since 19 104 */ 105 readonly versionName: string; 106 107 /** 108 * Indicates the information about the plugin module 109 * 110 * @type { Array<PluginModuleInfo> } 111 * @readonly 112 * @syscap SystemCapability.BundleManager.BundleFramework.Core 113 * @systemapi 114 * @since 19 115 */ 116 readonly pluginModuleInfos: Array<PluginModuleInfo>; 117} 118 119/** 120 * Indicates the plugin module info. 121 * 122 * @typedef PluginModuleInfo 123 * @syscap SystemCapability.BundleManager.BundleFramework.Core 124 * @systemapi 125 * @since 19 126 */ 127export interface PluginModuleInfo { 128 /** 129 * Indicates the moduleName of the plugin 130 * 131 * @type { string } 132 * @readonly 133 * @syscap SystemCapability.BundleManager.BundleFramework.Core 134 * @systemapi 135 * @since 19 136 */ 137 readonly moduleName: string; 138 139 /** 140 * Indicates the description of the plugin 141 * 142 * @type { number } 143 * @readonly 144 * @syscap SystemCapability.BundleManager.BundleFramework.Core 145 * @systemapi 146 * @since 19 147 */ 148 readonly descriptionId: number; 149 150 /** 151 * Describes the plugin 152 * 153 * @type { string } 154 * @readonly 155 * @syscap SystemCapability.BundleManager.BundleFramework.Core 156 * @systemapi 157 * @since 19 158 */ 159 readonly description: string; 160}