• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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}