• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# AbilityBase
2
3## 概述
4
5作为Ability Kit的基础定义模块,AbilityBase提供了组件启动参数[Want](want__8h.md)的定义与接口,可以用于应用组件间的信息传递。
6
7**系统能力:** SystemCapability.Ability.AbilityBase
8
9**起始版本:** 15
10
11## 汇总
12
13
14### 文件
15
16| 名称 | 描述 |
17| -------- | -------- |
18| [ability_base_common.h](ability__base__common_8h.md) | 声明AbilityBase相关错误码。<br/>**引用文件**:<AbilityKit/ability_base/ability_base_common.h><br/>**库**:libability_base_want.so |
19| [want.h](want__8h.md) | 声明[Want](want__8h.md)相关能力。<br/>**引用文件**:<AbilityKit/ability_base/want.h><br/>**库**:libability_base_want.so |
20
21### 枚举
22
23| 名称                                                         | 描述                   |
24| ------------------------------------------------------------ | ---------------------- |
25| [AbilityBase_ErrorCode](#abilitybase_errorcode) {<br>    ABILITY_RUNTIME_ERROR_CODE_NO_ERROR = 0,<br>    ABILITY_RUNTIME_ERROR_CODE_PARAM_INVALID = 401,<br/>} | 定义AbilityBase相关错误码。 |
26
27### 结构体
28
29| 名称                                                         | 描述                         |
30| ------------------------------------------------------------ | ---------------------------- |
31| [AbilityBase_Element](_ability_base_element.md#abilitybase_element) {<br/>    char* bundleName;<br/>    char* moduleName;<br/>    char* abilityName;<br/>} | Element数据结构。 |
32| [AbilityBase_Want](#abilitybase_want)  | Want数据结构。 |
33
34### 函数
35
36| 名称                                                         | 描述                         |
37| ------------------------------------------------------------ | ---------------------------- |
38| [AbilityBase_Want](#abilitybase_want)* [OH_AbilityBase_CreateWant](#oh_abilitybase_createwant)([AbilityBase_Element](_ability_base_element.md#abilitybase_element) element) | 创建Want。 |
39| [AbilityBase_ErrorCode](#abilitybase_errorcode) [OH_AbilityBase_DestroyWant](#oh_abilitybase_destroywant)([AbilityBase_Want](#abilitybase_want)* want) | 销毁Want。销毁后的Want不可使用,否则会导致未定义行为。 |
40| [AbilityBase_ErrorCode](#abilitybase_errorcode) [OH_AbilityBase_SetWantElement](#oh_abilitybase_setwantelement)([AbilityBase_Want](#abilitybase_want)* want, [AbilityBase_Element](_ability_base_element.md#abilitybase_element) element) | 设置Want中由bundleName、moduleName与abilityName组成的Element结构体。 |
41| [AbilityBase_ErrorCode](#abilitybase_errorcode) [OH_AbilityBase_GetWantElement](#oh_abilitybase_getwantelement)([AbilityBase_Want](#abilitybase_want)* want, [AbilityBase_Element](_ability_base_element.md#abilitybase_element)* element) | 获取Want中由bundleName、moduleName与abilityName组成的Element结构体。 |
42| [AbilityBase_ErrorCode](#abilitybase_errorcode) [OH_AbilityBase_SetWantCharParam](#oh_abilitybase_setwantcharparam)([AbilityBase_Want](#abilitybase_want)* want, const char* key, const char* value) | 设置Want Param参数,Param可参考[Want中的parameters参数](js-apis-inner-ability-want.md)。 |
43| [AbilityBase_ErrorCode](#abilitybase_errorcode) [OH_AbilityBase_GetWantCharParam](#oh_abilitybase_getwantcharparam)([AbilityBase_Want](#abilitybase_want)* want, const char* key, char* value, size_t valueSize) | 获取[OH_AbilityBase_SetWantCharParam](#oh_abilitybase_setwantcharparam)方法设置的Want Param参数。 |
44| [AbilityBase_ErrorCode](#abilitybase_errorcode) [OH_AbilityBase_AddWantFd](#oh_abilitybase_addwantfd)([AbilityBase_Want](#abilitybase_want)* want, const char* key, int32_t fd) | 添加Want文件描述符,文件描述符可通过[fs.open](../apis-core-file-kit/js-apis-file-fs.md#fsopen)获取。 |
45| [AbilityBase_ErrorCode](#abilitybase_errorcode) [OH_AbilityBase_GetWantFd](#oh_abilitybase_getwantfd)([AbilityBase_Want](#abilitybase_want)* want, const char* key, int32_t* fd) |  获取Want文件描述符。 |
46
47
48## 枚举类型说明
49
50### AbilityBase_ErrorCode
51
52```
53enum AbilityBase_ErrorCode
54```
55
56**描述**
57
58定义AbilityBase相关错误码。
59
60**起始版本:** 15
61
62| 枚举值                                        | 描述           |
63| --------------------------------------------- | -------------- |
64| ABILITY_BASE_ERROR_CODE_NO_ERROR           | 操作成功。     |
65| ABILITY_BASE_ERROR_CODE_PARAM_INVALID      | 无效参数。     |
66
67
68## 结构体说明
69
70### AbilityBase_Want
71
72```
73AbilityBase_Want
74```
75
76**描述**
77
78Want数据结构。
79
80**起始版本:** 15
81
82
83## 函数说明
84
85
86### OH_AbilityBase_CreateWant
87
88```
89AbilityBase_Want* OH_AbilityBase_CreateWant(AbilityBase_Element element)
90```
91**描述**
92
93创建Want。
94
95**起始版本:** 15
96
97**参数:**
98
99| 名称 | 描述 |
100| -------- | -------- |
101| element | Element数据结构。 |
102
103**返回:**
104
105AbilityBase_Want - want数据结构。
106
107
108### OH_AbilityBase_DestroyWant
109
110```
111AbilityBase_ErrorCode OH_AbilityBase_DestroyWant(AbilityBase_Want* want)
112```
113**描述**
114
115销毁Want。销毁后的Want不可使用,否则会导致未定义行为。
116
117**起始版本:** 15
118
119**参数:**
120
121| 名称 | 描述 |
122| -------- | -------- |
123| want | Want指针。 |
124
125**返回:**
126
127ABILITY_BASE_ERROR_CODE_NO_ERROR - 销毁want成功。
128
129ABILITY_BASE_ERROR_CODE_PARAM_INVALID - element参数无效。
130
131### OH_AbilityBase_SetWantElement
132
133```
134AbilityBase_ErrorCode OH_AbilityBase_SetWantElement(AbilityBase_Want* want, AbilityBase_Element element)
135```
136**描述**
137
138设置Want中由bundleName、moduleName与abilityName组成的Element结构体。
139
140**起始版本:** 15
141
142**参数:**
143
144| 名称 | 描述 |
145| -------- | -------- |
146| want | Want指针。 |
147| element | Element结构体。 |
148
149**返回:**
150
151ABILITY_BASE_ERROR_CODE_NO_ERROR - 设置element成功。
152
153ABILITY_BASE_ERROR_CODE_PARAM_INVALID - want为空,element参数无效。
154
155### OH_AbilityBase_GetWantElement
156
157```
158AbilityBase_ErrorCode OH_AbilityBase_GetWantElement(AbilityBase_Want* want, AbilityBase_Element* element)
159```
160**描述**
161
162获取Want中由bundleName、moduleName与abilityName组成的Element结构体。
163
164**起始版本:** 15
165
166**参数:**
167
168| 名称 | 描述 |
169| -------- | -------- |
170| want | Want指针。 |
171| element | Element结构体指针。 |
172
173**返回:**
174
175ABILITY_BASE_ERROR_CODE_NO_ERROR - 获取element成功。
176
177ABILITY_BASE_ERROR_CODE_PARAM_INVALID - want为空,element参数无效。
178
179### OH_AbilityBase_SetWantCharParam
180
181```
182AbilityBase_ErrorCode OH_AbilityBase_SetWantCharParam(AbilityBase_Want* want, const char* key, const char* value)
183```
184**描述**
185
186设置Want Param参数,Param可参考[Want中的parameters参数](js-apis-inner-ability-want.md)。
187
188**起始版本:** 15
189
190**参数:**
191
192| 名称 | 描述 |
193| -------- | -------- |
194| want | Want指针。 |
195| key | Want中字符串参数索引。 |
196| value | Want中字符串。 |
197
198**返回:**
199
200ABILITY_BASE_ERROR_CODE_NO_ERROR - 设置param成功。
201
202ABILITY_BASE_ERROR_CODE_PARAM_INVALID - want为空或非法入参。
203
204### OH_AbilityBase_GetWantCharParam
205
206```
207AbilityBase_ErrorCode OH_AbilityBase_GetWantCharParam(AbilityBase_Want* want, const char* key, char* value, size_t valueSize)
208```
209**描述**
210
211获取[OH_AbilityBase_SetWantCharParam](#oh_abilitybase_setwantcharparam)方法设置的Want Param参数。
212
213**起始版本:** 15
214
215**参数:**
216
217| 名称 | 描述 |
218| -------- | -------- |
219| want | Want指针。 |
220| key | Want中字符串参数索引。 |
221| value | Want中字符串。 |
222| valueSize | value字符串长度。如果valueSize小于实际需要获取的value长度,则会报ABILITY_BASE_ERROR_CODE_PARAM_INVALID错误。 |
223
224**返回:**
225
226ABILITY_BASE_ERROR_CODE_NO_ERROR - 获取param成功。
227
228ABILITY_BASE_ERROR_CODE_PARAM_INVALID - want为空或非法入参。
229
230### OH_AbilityBase_AddWantFd
231
232```
233AbilityBase_ErrorCode OH_AbilityBase_AddWantFd(AbilityBase_Want* want, const char* key, int32_t fd)
234```
235**描述**
236
237添加Want文件描述符,文件描述符可通过[fs.open](../apis-core-file-kit/js-apis-file-fs.md#fsopen)获取。
238
239**起始版本:** 15
240
241**参数:**
242
243| 名称 | 描述 |
244| -------- | -------- |
245| want | Want指针。 |
246| key | Want中字符串参数索引。 |
247| fd | 文件描述符,可通过[fs.open](../apis-core-file-kit/js-apis-file-fs.md#fsopen)获取。 |
248
249**返回:**
250
251ABILITY_BASE_ERROR_CODE_NO_ERROR - 添加want文件描述符成功。
252
253ABILITY_BASE_ERROR_CODE_PARAM_INVALID - want为空或非法入参。
254
255### OH_AbilityBase_GetWantFd
256
257```
258AbilityBase_ErrorCode OH_AbilityBase_GetWantFd(AbilityBase_Want* want, const char* key, int32_t* fd)
259```
260**描述**
261
262获取Want文件描述符。
263
264**起始版本:** 15
265
266**参数:**
267
268| 名称 | 描述 |
269| -------- | -------- |
270| want | Want指针。 |
271| key | Want中字符串参数索引。 |
272| fd | 文件描述符。 |
273
274**返回:**
275
276ABILITY_BASE_ERROR_CODE_NO_ERROR - 获取want文件描述符成功。
277
278ABILITY_BASE_ERROR_CODE_PARAM_INVALID - want为空或非法入参。
279