• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# oh_pasteboard.h
2<!--Kit: Basic Services Kit-->
3<!--Subsystem: MiscServices-->
4<!--Owner: @yangxiaodong41-->
5<!--Designer: @guo867-->
6<!--Tester: @maxiaorong2-->
7<!--Adviser: @fang-jinxu-->
8
9## 概述
10
11提供访问系统剪贴板的接口、数据结构、枚举类型。
12
13**引用文件:** <database/pasteboard/oh_pasteboard.h>
14
15**库:** libpasteboard.so
16
17**系统能力:** SystemCapability.MiscServices.Pasteboard
18
19**起始版本:** 13
20
21**相关模块:** [Pasteboard](capi-pasteboard.md)
22
23## 汇总
24
25### 结构体
26
27| 名称 | typedef关键字 | 描述 |
28| -- | -- | -- |
29| [Pasteboard_ProgressInfo](capi-pasteboard-progressinfo.md) | Pasteboard_ProgressInfo | 定义进度上报的数据结构。 |
30| [Pasteboard_GetDataParams](capi-pasteboard-getdataparams.md) | Pasteboard_GetDataParams | 表示从剪贴板获取粘贴数据和进度时需要写入的参数。 |
31| [OH_PasteboardObserver](capi-pasteboard-oh-pasteboardobserver.md) | OH_PasteboardObserver | 定义剪贴板数据变更观察者。 |
32| [OH_Pasteboard](capi-pasteboard-oh-pasteboard.md) | OH_Pasteboard | 定义剪贴板对象,用以操作系统剪贴板。 |
33
34### 枚举
35
36| 名称 | typedef关键字 | 描述 |
37| -- | -- | -- |
38| [Pasteboard_NotifyType](#pasteboard_notifytype) | Pasteboard_NotifyType | 剪贴板的数据变更类型。 |
39| [Pasteboard_FileConflictOptions](#pasteboard_fileconflictoptions) | Pasteboard_FileConflictOptions | 定义文件拷贝冲突时的选项。 |
40| [Pasteboard_ProgressIndicator](#pasteboard_progressindicator) | Pasteboard_ProgressIndicator | 定义进度条指示选项,可选择是否采用系统默认进度显示。 |
41
42### 函数
43
44| 名称 | typedef关键字 | 描述 |
45| -- | -- | -- |
46| [typedef void (\*OH_Pasteboard_ProgressListener)(Pasteboard_ProgressInfo* progressInfo)](#oh_pasteboard_progresslistener) | OH_Pasteboard_ProgressListener | 用于在不使用系统默认进度显示时,通知应用拷贝粘贴任务进度。 |
47| [typedef void (\*Pasteboard_Notify)(void* context, Pasteboard_NotifyType type)](#pasteboard_notify) | Pasteboard_Notify | 定义剪贴板内容变更时触发的回调函数。 |
48| [typedef void (\*Pasteboard_Finalize)(void* context)](#pasteboard_finalize) | Pasteboard_Finalize | 定义用于释放上下文的回调函数,剪贴板数据变更观察者对象销毁时触发。 |
49| [OH_PasteboardObserver* OH_PasteboardObserver_Create()](#oh_pasteboardobserver_create) | - | 创建一个剪贴板数据变更观察者[OH_PasteboardObserver](capi-pasteboard-oh-pasteboardobserver.md)指针及实例对象。 |
50| [int OH_PasteboardObserver_Destroy(OH_PasteboardObserver* observer)](#oh_pasteboardobserver_destroy) | - | 销毁剪贴板数据变更观察者[OH_PasteboardObserver](capi-pasteboard-oh-pasteboardobserver.md)指针指向的实例对象。 |
51| [int OH_PasteboardObserver_SetData(OH_PasteboardObserver* observer, void* context,const Pasteboard_Notify callback, const Pasteboard_Finalize finalize)](#oh_pasteboardobserver_setdata) | - | 向剪贴板数据变更观察者设置回调函数。 |
52| [OH_Pasteboard* OH_Pasteboard_Create()](#oh_pasteboard_create) | - | 创建剪贴板[OH_Pasteboard](capi-pasteboard-oh-pasteboard.md)指针及实例对象。 |
53| [void OH_Pasteboard_Destroy(OH_Pasteboard* pasteboard)](#oh_pasteboard_destroy) | - | 销毁剪贴板[OH_Pasteboard](capi-pasteboard-oh-pasteboard.md)实例对象。 |
54| [int OH_Pasteboard_Subscribe(OH_Pasteboard* pasteboard, int type, const OH_PasteboardObserver* observer)](#oh_pasteboard_subscribe) | - | 订阅剪贴板的数据变更事件。 |
55| [int OH_Pasteboard_Unsubscribe(OH_Pasteboard* pasteboard, int type, const OH_PasteboardObserver* observer)](#oh_pasteboard_unsubscribe) | - | 取消对剪贴板数据变更事件的订阅。 |
56| [bool OH_Pasteboard_IsRemoteData(OH_Pasteboard* pasteboard)](#oh_pasteboard_isremotedata) | - | 判断剪贴板中的数据是否来自远端设备。 |
57| [int OH_Pasteboard_GetDataSource(OH_Pasteboard* pasteboard, char* source, unsigned int len)](#oh_pasteboard_getdatasource) | - | 获取剪贴板中数据的数据源。 |
58| [bool OH_Pasteboard_HasType(OH_Pasteboard* pasteboard, const char* type)](#oh_pasteboard_hastype) | - | 判断剪贴板中是否有指定类型的数据。 |
59| [bool OH_Pasteboard_HasData(OH_Pasteboard* pasteboard)](#oh_pasteboard_hasdata) | - | 判断剪贴板中是否有数据。 |
60| [OH_UdmfData* OH_Pasteboard_GetData(OH_Pasteboard* pasteboard, int* status)](#oh_pasteboard_getdata) | - | 获取剪贴板中的数据。 |
61| [int OH_Pasteboard_SetData(OH_Pasteboard* pasteboard, OH_UdmfData* data)](#oh_pasteboard_setdata) | - | 将统一数据对象数据写入剪贴板。 |
62| [int OH_Pasteboard_ClearData(OH_Pasteboard* pasteboard)](#oh_pasteboard_cleardata) | - | 清空剪贴板中的数据。 |
63| [char **OH_Pasteboard_GetMimeTypes(OH_Pasteboard *pasteboard, unsigned int *count)](#oh_pasteboard_getmimetypes) | - | 获取剪贴板中的MIME类型。 |
64| [Pasteboard_GetDataParams *OH_Pasteboard_GetDataParams_Create(void)](#oh_pasteboard_getdataparams_create) | - | 创建剪贴板[Pasteboard_GetDataParams](capi-pasteboard-getdataparams.md)指针及实例对象。 |
65| [void OH_Pasteboard_GetDataParams_Destroy(Pasteboard_GetDataParams* params)](#oh_pasteboard_getdataparams_destroy) | - | 销毁剪贴板[Pasteboard_GetDataParams](capi-pasteboard-getdataparams.md)指针指向的实例对象。 |
66| [void OH_Pasteboard_GetDataParams_SetProgressIndicator(Pasteboard_GetDataParams* params,Pasteboard_ProgressIndicator progressIndicator)](#oh_pasteboard_getdataparams_setprogressindicator) | - | 向剪贴板[Pasteboard_GetDataParams](capi-pasteboard-getdataparams.md)设置进度条指示选项,可选择是否采用系统默认进度显示。 |
67| [void OH_Pasteboard_GetDataParams_SetDestUri(Pasteboard_GetDataParams* params, const char* destUri, uint32_t destUriLen)](#oh_pasteboard_getdataparams_setdesturi) | - | 向剪贴板[Pasteboard_GetDataParams](capi-pasteboard-getdataparams.md)设置拷贝文件时目标路径。若不支持文件处理,则不需要设置此参数;若应用涉及复杂文件处理策略或需要区分文件多路径存储,建议不设置此参数,由应用自行完成文件copy处理。 |
68| [void OH_Pasteboard_GetDataParams_SetFileConflictOptions(Pasteboard_GetDataParams* params,Pasteboard_FileConflictOptions option)](#oh_pasteboard_getdataparams_setfileconflictoptions) | - | 向剪贴板[Pasteboard_GetDataParams](capi-pasteboard-getdataparams.md)设置文件冲突选项。 |
69| [void OH_Pasteboard_GetDataParams_SetProgressListener(Pasteboard_GetDataParams* params,const OH_Pasteboard_ProgressListener listener)](#oh_pasteboard_getdataparams_setprogresslistener) | - | 向剪贴板[Pasteboard_GetDataParams](capi-pasteboard-getdataparams.md)设置进度上报回调函数。 |
70| [int OH_Pasteboard_ProgressInfo_GetProgress(Pasteboard_ProgressInfo* progressInfo)](#oh_pasteboard_progressinfo_getprogress) | - | 从[Pasteboard_ProgressInfo](capi-pasteboard-progressinfo.md)获取粘贴进度。 |
71| [void OH_Pasteboard_ProgressCancel(Pasteboard_GetDataParams* params)](#oh_pasteboard_progresscancel) | - | 定义取消函数,用于在获取粘贴数据时取消正在进行的粘贴动作。 |
72| [OH_UdmfData* OH_Pasteboard_GetDataWithProgress(OH_Pasteboard* pasteboard, Pasteboard_GetDataParams* params,int* status)](#oh_pasteboard_getdatawithprogress) | - | 获取剪贴板的数据以及粘贴进度,不支持对文件夹的拷贝。 |
73| [uint32_t OH_Pasteboard_GetChangeCount(OH_Pasteboard *pasteboard)](#oh_pasteboard_getchangecount) | - | 获取剪贴板内容的变化次数。 |
74
75## 枚举类型说明
76
77### Pasteboard_NotifyType
78
79```
80enum Pasteboard_NotifyType
81```
82
83**描述:**
84
85剪贴板的数据变更类型。
86
87**起始版本:** 13
88
89| 枚举项 | 描述 |
90| -- | -- |
91| NOTIFY_LOCAL_DATA_CHANGE = 1 | 本地设备剪贴板数据变更。 |
92| NOTIFY_REMOTE_DATA_CHANGE = 2 | 组网内的非本地设备剪贴板数据变更。 |
93
94### Pasteboard_FileConflictOptions
95
96```
97enum Pasteboard_FileConflictOptions
98```
99
100**描述:**
101
102定义文件拷贝冲突时的选项。
103
104**起始版本:** 15
105
106| 枚举项 | 描述 |
107| -- | -- |
108| PASTEBOARD_OVERWRITE = 0 | 目标路径存在同文件名时覆盖。 |
109| PASTEBOARD_SKIP = 1 | 目标路径存在同文件名时跳过。 |
110
111### Pasteboard_ProgressIndicator
112
113```
114enum Pasteboard_ProgressIndicator
115```
116
117**描述:**
118
119定义进度条指示选项,可选择是否采用系统默认进度显示。
120
121**起始版本:** 15
122
123| 枚举项 | 描述 |
124| -- | -- |
125| PASTEBOARD_NONE = 0 | 不采用系统默认进度显示。 |
126| PASTEBOARD_DEFAULT = 1 | 采用系统默认进度显示。 |
127
128
129## 函数说明
130
131### OH_Pasteboard_ProgressListener()
132
133```
134typedef void (*OH_Pasteboard_ProgressListener)(Pasteboard_ProgressInfo* progressInfo)
135```
136
137**描述:**
138
139用于在不使用系统默认进度显示时,通知应用拷贝粘贴任务进度。
140
141**起始版本:** 15
142
143
144**参数:**
145
146| 参数项 | 描述 |
147| -- | -- |
148| [Pasteboard_ProgressInfo](capi-pasteboard-progressinfo.md)* progressInfo | 定义进度上报的数据结构,且仅当进度指示选项[Pasteboard_ProgressInfo](capi-pasteboard-progressinfo.md)设置为NONE时才会上报此信息。 |
149
150### Pasteboard_Notify()
151
152```
153typedef void (*Pasteboard_Notify)(void* context, Pasteboard_NotifyType type)
154```
155
156**描述:**
157
158定义剪贴板内容变更时触发的回调函数。
159
160**起始版本:** 13
161
162
163**参数:**
164
165| 参数项 | 描述 |
166| -- | -- |
167| void* context | 上下文信息,由函数[OH_PasteboardObserver_SetData](capi-oh-pasteboard-h.md#oh_pasteboardobserver_setdata)传入。 |
168| [Pasteboard_NotifyType](capi-oh-pasteboard-h.md#pasteboard_notifytype) type | 数据变更的类型。详见:[Pasteboard_NotifyType](capi-oh-pasteboard-h.md#pasteboard_notifytype)。 |
169
170### Pasteboard_Finalize()
171
172```
173typedef void (*Pasteboard_Finalize)(void* context)
174```
175
176**描述:**
177
178定义用于释放上下文的回调函数,剪贴板数据变更观察者对象销毁时触发。
179
180**起始版本:** 13
181
182
183**参数:**
184
185| 参数项 | 描述 |
186| -- | -- |
187| void* context | 要释放的上下文指针。 |
188
189### OH_PasteboardObserver_Create()
190
191```
192OH_PasteboardObserver* OH_PasteboardObserver_Create()
193```
194
195**描述:**
196
197创建一个剪贴板数据变更观察者[OH_PasteboardObserver](capi-pasteboard-oh-pasteboardobserver.md)指针及实例对象。
198
199**起始版本:** 13
200
201**返回:**
202
203| 类型 | 说明 |
204| -- | -- |
205| [OH_PasteboardObserver](capi-pasteboard-oh-pasteboardobserver.md)* | 执行成功时返回一个指向剪贴板数据变更观察者[OH_PasteboardObserver](capi-pasteboard-oh-pasteboardobserver.md)实例对象的指针,否则返回空指针。<br> 当不再需要使用指针时,请使用[OH_PasteboardObserver_Destroy](capi-oh-pasteboard-h.md#oh_pasteboardobserver_destroy)销毁实例对象,否则会导致内存泄漏。 |
206
207### OH_PasteboardObserver_Destroy()
208
209```
210int OH_PasteboardObserver_Destroy(OH_PasteboardObserver* observer)
211```
212
213**描述:**
214
215销毁剪贴板数据变更观察者[OH_PasteboardObserver](capi-pasteboard-oh-pasteboardobserver.md)指针指向的实例对象。
216
217**起始版本:** 13
218
219
220**参数:**
221
222| 参数项 | 描述 |
223| -- | -- |
224| [OH_PasteboardObserver](capi-pasteboard-oh-pasteboardobserver.md)* observer | 表示指向剪贴板数据变更观察者[OH_PasteboardObserver](capi-pasteboard-oh-pasteboardobserver.md)实例的指针。 |
225
226**返回:**
227
228| 类型 | 说明                                                                                                                                                                                                                                  |
229| -- |-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
230| int | 返回执行的错误码。错误码定义详见[PASTEBOARD_ErrCode](capi-oh-pasteboard-err-code-h.md#pasteboard_errcode)。<br>         若返回[ERR_OK](capi-oh-pasteboard-err-code-h.md#pasteboard_errcode),表示指向成功。<br>         若返回[ERR_INVALID_PARAMETER](capi-oh-pasteboard-err-code-h.md#pasteboard_errcode),表示传入了无效参数。 |
231
232### OH_PasteboardObserver_SetData()
233
234```
235int OH_PasteboardObserver_SetData(OH_PasteboardObserver* observer, void* context,const Pasteboard_Notify callback, const Pasteboard_Finalize finalize)
236```
237
238**描述:**
239
240向剪贴板数据变更观察者设置回调函数。
241
242**起始版本:** 13
243
244
245**参数:**
246
247| 参数项                                                              | 描述 |
248|------------------------------------------------------------------| -- |
249| [OH_PasteboardObserver](capi-pasteboard-oh-pasteboardobserver.md)* observer | 表示指向剪贴板数据变更观察者[OH_PasteboardObserver](capi-pasteboard-oh-pasteboardobserver.md)实例的指针。 |
250| void* context                                                    | 表示指向上下文数据的指针,将作为第一个参数传入[Pasteboard_Notify](capi-oh-pasteboard-h.md#pasteboard_notify)。 |
251| const [Pasteboard_Notify](capi-oh-pasteboard-h.md#pasteboard_notify) callback           | 表示数据变更回调函数。详见:[Pasteboard_Notify](capi-oh-pasteboard-h.md#pasteboard_notify)。 |
252| const [Pasteboard_Finalize](capi-oh-pasteboard-h.md#pasteboard_finalize) finalize                               | 表示可选的回调函数,可以用于剪贴板数据变更观察者销毁时释放上下文数据。详见:[Pasteboard_Finalize](capi-oh-pasteboard-h.md#pasteboard_finalize)。 |
253
254**返回:**
255
256| 类型 | 说明 |
257| -- | -- |
258| int | 返回执行的错误码。错误码定义详见[PASTEBOARD_ErrCode](capi-oh-pasteboard-err-code-h.md#pasteboard_errcode)。<br>         若返回[ERR_OK](capi-oh-pasteboard-err-code-h.md#pasteboard_errcode),表示指向成功。<br>         若返回[ERR_INVALID_PARAMETER](capi-oh-pasteboard-err-code-h.md#pasteboard_errcode),表示传入了无效参数。 |
259
260### OH_Pasteboard_Create()
261
262```
263OH_Pasteboard* OH_Pasteboard_Create()
264```
265
266**描述:**
267
268创建剪贴板[OH_Pasteboard](capi-pasteboard-oh-pasteboard.md)指针及实例对象。
269
270**起始版本:** 13
271
272**返回:**
273
274| 类型 | 说明 |
275| -- | -- |
276| [OH_Pasteboard](capi-pasteboard-oh-pasteboard.md)* | 执行成功则返回一个指向剪贴板[OH_Pasteboard](capi-pasteboard-oh-pasteboard.md)实例对象的指针,否则返回nulllptr。 |
277
278### OH_Pasteboard_Destroy()
279
280```
281void OH_Pasteboard_Destroy(OH_Pasteboard* pasteboard)
282```
283
284**描述:**
285
286销毁剪贴板[OH_Pasteboard](capi-pasteboard-oh-pasteboard.md)实例对象。
287
288**起始版本:** 13
289
290
291**参数:**
292
293| 参数项 | 描述 |
294| -- | -- |
295| [OH_Pasteboard](capi-pasteboard-oh-pasteboard.md)* pasteboard | 表示指向剪贴板[OH_Pasteboard](capi-pasteboard-oh-pasteboard.md)实例的指针。 |
296
297### OH_Pasteboard_Subscribe()
298
299```
300int OH_Pasteboard_Subscribe(OH_Pasteboard* pasteboard, int type, const OH_PasteboardObserver* observer)
301```
302
303**描述:**
304
305订阅剪贴板的数据变更事件。
306
307**起始版本:** 13
308
309
310**参数:**
311
312| 参数项 | 描述 |
313| -- | -- |
314| [OH_Pasteboard](capi-pasteboard-oh-pasteboard.md)* pasteboard | 表示指向剪贴板[OH_Pasteboard](capi-pasteboard-oh-pasteboard.md)实例的指针。 |
315| int type | 表示订阅的剪贴板数据变更类型,详见:[Pasteboard_NotifyType](capi-oh-pasteboard-h.md#pasteboard_notifytype)。 |
316| const [OH_PasteboardObserver](capi-pasteboard-oh-pasteboardobserver.md)* observer | 表示指向剪贴板数据变更观察者[OH_PasteboardObserver](capi-pasteboard-oh-pasteboardobserver.md)实例的指针。它指定了剪贴板数据变更时触发的回调函数,详见:[OH_PasteboardObserver](capi-pasteboard-oh-pasteboardobserver.md)。 |
317
318**返回:**
319
320| 类型 | 说明 |
321| -- | -- |
322| int | 返回执行的错误码。错误码定义详见[PASTEBOARD_ErrCode](capi-oh-pasteboard-err-code-h.md#pasteboard_errcode)。<br>         若返回[ERR_OK](capi-oh-pasteboard-err-code-h.md#pasteboard_errcode),表示指向成功。<br>         若返回[ERR_INVALID_PARAMETER](capi-oh-pasteboard-err-code-h.md#pasteboard_errcode),表示传入了无效参数。 |
323
324### OH_Pasteboard_Unsubscribe()
325
326```
327int OH_Pasteboard_Unsubscribe(OH_Pasteboard* pasteboard, int type, const OH_PasteboardObserver* observer)
328```
329
330**描述:**
331
332取消对剪贴板数据变更事件的订阅。
333
334**起始版本:** 13
335
336
337**参数:**
338
339| 参数项 | 描述 |
340| -- | -- |
341| [OH_Pasteboard](capi-pasteboard-oh-pasteboard.md)* pasteboard | 表示指向剪贴板[OH_Pasteboard](capi-pasteboard-oh-pasteboard.md)实例的指针。 |
342| int type | 表示订阅的剪贴板数据变更类型,详见:[Pasteboard_NotifyType](capi-oh-pasteboard-h.md#pasteboard_notifytype)。 |
343| const [OH_PasteboardObserver](capi-pasteboard-oh-pasteboardobserver.md)* observer | 表示指向剪贴板数据变更观察者[OH_PasteboardObserver](capi-pasteboard-oh-pasteboardobserver.md)实例的指针。它指定了剪贴板数据变更时触发的回调函数,详见:[OH_PasteboardObserver](capi-pasteboard-oh-pasteboardobserver.md)。 |
344
345**返回:**
346
347| 类型 | 说明 |
348| -- | -- |
349| int | 返回执行的错误码。错误码定义详见[PASTEBOARD_ErrCode](capi-oh-pasteboard-err-code-h.md#pasteboard_errcode)。<br>         若返回[ERR_OK](capi-oh-pasteboard-err-code-h.md#pasteboard_errcode),表示指向成功。<br>         若返回[ERR_INVALID_PARAMETER](capi-oh-pasteboard-err-code-h.md#pasteboard_errcode),表示传入了无效参数。 |
350
351### OH_Pasteboard_IsRemoteData()
352
353```
354bool OH_Pasteboard_IsRemoteData(OH_Pasteboard* pasteboard)
355```
356
357**描述:**
358
359判断剪贴板中的数据是否来自远端设备。
360
361**起始版本:** 13
362
363
364**参数:**
365
366| 参数项 | 描述 |
367| -- | -- |
368| [OH_Pasteboard](capi-pasteboard-oh-pasteboard.md)* pasteboard | 表示指向剪贴板[OH_Pasteboard](capi-pasteboard-oh-pasteboard.md)实例的指针。 |
369
370**返回:**
371
372| 类型 | 说明 |
373| -- | -- |
374| bool | 返回剪贴板中的数据是否来自远端设备。返回true表示剪贴板中的数据来自远端设备,返回false表示剪贴板中数据来自本端设备。 |
375
376### OH_Pasteboard_GetDataSource()
377
378```
379int OH_Pasteboard_GetDataSource(OH_Pasteboard* pasteboard, char* source, unsigned int len)
380```
381
382**描述:**
383
384获取剪贴板中数据的数据源。
385
386**起始版本:** 13
387
388
389**参数:**
390
391| 参数项 | 描述 |
392| -- | -- |
393| [OH_Pasteboard](capi-pasteboard-oh-pasteboard.md)* pasteboard | 表示指向剪贴板[OH_Pasteboard](capi-pasteboard-oh-pasteboard.md)实例的指针。 |
394| char* source | 表示用于存放剪贴板数据数据源实例的指针,开发者需在调用接口前申请指针指向的内存。 |
395| unsigned int len | 表示source指针对应的内存长度,当内存长度不足时调用接口会失败,建议长度:128。 |
396
397**返回:**
398
399| 类型 | 说明 |
400| -- | -- |
401| int | 返回执行的错误码。错误码定义详见[PASTEBOARD_ErrCode](capi-oh-pasteboard-err-code-h.md#pasteboard_errcode)。<br>         若返回[ERR_OK](capi-oh-pasteboard-err-code-h.md#pasteboard_errcode),表示指向成功。<br>         若返回[ERR_INVALID_PARAMETER](capi-oh-pasteboard-err-code-h.md#pasteboard_errcode),表示传入了无效参数。 |
402
403### OH_Pasteboard_HasType()
404
405```
406bool OH_Pasteboard_HasType(OH_Pasteboard* pasteboard, const char* type)
407```
408
409**描述:**
410
411判断剪贴板中是否有指定类型的数据。
412
413**起始版本:** 13
414
415
416**参数:**
417
418| 参数项 | 描述 |
419| -- | -- |
420| [OH_Pasteboard](capi-pasteboard-oh-pasteboard.md)* pasteboard | 表示指向剪贴板[OH_Pasteboard](capi-pasteboard-oh-pasteboard.md)实例的指针。 |
421| const char* type | 表示要检查的数据类型。包含剪贴板基础数据类型与自定义数据类型,其中剪贴板基础数据类型有:"text/plain"、"text/html"、"text/uri"、"text/want"和"pixelMap"。 |
422
423**返回:**
424
425| 类型 | 说明 |
426| -- | -- |
427| bool | 返回剪贴板中是否有指定类型的数据。返回true表示剪贴板中包含指定类型的数据,返回false表示剪贴板中没有指定类型的数据。 |
428
429### OH_Pasteboard_HasData()
430
431```
432bool OH_Pasteboard_HasData(OH_Pasteboard* pasteboard)
433```
434
435**描述:**
436
437判断剪贴板中是否有数据。
438
439**起始版本:** 13
440
441
442**参数:**
443
444| 参数项 | 描述 |
445| -- | -- |
446| [OH_Pasteboard](capi-pasteboard-oh-pasteboard.md)* pasteboard | 表示指向剪贴板[OH_Pasteboard](capi-pasteboard-oh-pasteboard.md)实例的指针。 |
447
448**返回:**
449
450| 类型 | 说明 |
451| -- | -- |
452| bool | 返回剪贴板中是否有数据。返回true表示剪贴板中有数据,返回false表示剪贴板中没有数据。 |
453
454### OH_Pasteboard_GetData()
455
456```
457OH_UdmfData* OH_Pasteboard_GetData(OH_Pasteboard* pasteboard, int* status)
458```
459
460**描述:**
461
462获取剪贴板中的数据。
463
464**起始版本:** 13
465
466**需要权限**:ohos.permission.READ_PASTEBOARD,应用访问剪贴板内容需[申请访问剪贴板权限](../../basic-services/pasteboard/get-pastedata-permission-guidelines.md)。使用[安全控件](../../security/AccessToken/pastebutton.md)访问剪贴板内容的应用,可以无需申请权限。
467
468
469**参数:**
470
471| 参数项 | 描述 |
472| -- | -- |
473| [OH_Pasteboard](capi-pasteboard-oh-pasteboard.md)* pasteboard | 表示指向剪贴板[OH_Pasteboard](capi-pasteboard-oh-pasteboard.md)实例的指针。 |
474| int* status | 该参数是输出参数,表示执行的错误码。错误码定义详见[PASTEBOARD_ErrCode](capi-oh-pasteboard-err-code-h.md#pasteboard_errcode)。 |
475
476**返回:**
477
478| 类型 | 说明 |
479| -- | -- |
480| [OH_UdmfData](../apis-arkdata/capi-udmf-oh-udmfdata.md)* | 执行成功时返回统一数据对象[OH_UdmfData](../apis-arkdata/capi-udmf-oh-udmfdata.md)实例的指针。否则返回空指针。 |
481
482### OH_Pasteboard_SetData()
483
484```
485int OH_Pasteboard_SetData(OH_Pasteboard* pasteboard, OH_UdmfData* data)
486```
487
488**描述:**
489
490将统一数据对象数据写入剪贴板。
491
492**起始版本:** 13
493
494
495**参数:**
496
497| 参数项 | 描述 |
498| -- | -- |
499| [OH_Pasteboard](capi-pasteboard-oh-pasteboard.md)* pasteboard | 表示指向剪贴板[OH_Pasteboard](capi-pasteboard-oh-pasteboard.md)实例的指针。 |
500| [OH_UdmfData](../apis-arkdata/capi-udmf-oh-udmfdata.md)* data | 表示指向统一数据对象[OH_UdmfData](../apis-arkdata/capi-udmf-oh-udmfdata.md)实例的指针。 |
501
502**返回:**
503
504| 类型 | 说明 |
505| -- | -- |
506| int | 返回执行的错误码。错误码定义详见[PASTEBOARD_ErrCode](capi-oh-pasteboard-err-code-h.md#pasteboard_errcode)。<br>         若返回[ERR_OK](capi-oh-pasteboard-err-code-h.md#pasteboard_errcode),表示指向成功。<br>         若返回[ERR_INVALID_PARAMETER](capi-oh-pasteboard-err-code-h.md#pasteboard_errcode),表示传入了无效参数。 |
507
508### OH_Pasteboard_ClearData()
509
510```
511int OH_Pasteboard_ClearData(OH_Pasteboard* pasteboard)
512```
513
514**描述:**
515
516清空剪贴板中的数据。
517
518**起始版本:** 13
519
520
521**参数:**
522
523| 参数项 | 描述 |
524| -- | -- |
525| [OH_Pasteboard](capi-pasteboard-oh-pasteboard.md)* pasteboard | 表示指向剪贴板[OH_Pasteboard](capi-pasteboard-oh-pasteboard.md)实例的指针。 |
526
527**返回:**
528
529| 类型 | 说明 |
530| -- | -- |
531| int | 返回执行的错误码。错误码定义详见[PASTEBOARD_ErrCode](capi-oh-pasteboard-err-code-h.md#pasteboard_errcode)。<br>         若返回[ERR_OK](capi-oh-pasteboard-err-code-h.md#pasteboard_errcode),表示指向成功。<br>         若返回[ERR_INVALID_PARAMETER](capi-oh-pasteboard-err-code-h.md#pasteboard_errcode),表示传入了无效参数。 |
532
533### OH_Pasteboard_GetMimeTypes()
534
535```
536char **OH_Pasteboard_GetMimeTypes(OH_Pasteboard *pasteboard, unsigned int *count)
537```
538
539**描述:**
540
541获取剪贴板中的MIME类型。
542
543**起始版本:** 14
544
545
546**参数:**
547
548| 参数项 | 描述 |
549| -- | -- |
550| [OH_Pasteboard](capi-pasteboard-oh-pasteboard.md) *pasteboard | 表示指向剪贴板[OH_Pasteboard](capi-pasteboard-oh-pasteboard.md)实例的指针。 |
551| unsigned int *count | 该参数是输出参数,结果集中的类型数量会写入该变量。 |
552
553**返回:**
554
555| 类型 | 说明 |
556| -- | -- |
557| char | 执行成功时返回剪贴板所有内容的MIME类型,否则返回nullptr。 |
558
559### OH_Pasteboard_GetDataParams_Create()
560
561```
562Pasteboard_GetDataParams *OH_Pasteboard_GetDataParams_Create(void)
563```
564
565**描述:**
566
567创建剪贴板[Pasteboard_GetDataParams](capi-pasteboard-getdataparams.md)指针及实例对象。
568
569**起始版本:** 15
570
571**返回:**
572
573| 类型 | 说明 |
574| -- | -- |
575| [Pasteboard_GetDataParams](capi-pasteboard-getdataparams.md) | 执行成功时返回一个指向剪贴板[Pasteboard_GetDataParams](capi-pasteboard-getdataparams.md)实例对象的指针,否则返回空指针。 当不再需要使用指针时,<br> 请使用[OH_Pasteboard_GetDataParams_Destroy](capi-oh-pasteboard-h.md#oh_pasteboard_getdataparams_destroy)销毁实例对象,否则会导致内存泄漏。 |
576
577### OH_Pasteboard_GetDataParams_Destroy()
578
579```
580void OH_Pasteboard_GetDataParams_Destroy(Pasteboard_GetDataParams* params)
581```
582
583**描述:**
584
585销毁剪贴板[Pasteboard_GetDataParams](capi-pasteboard-getdataparams.md)指针指向的实例对象。
586
587**起始版本:** 15
588
589
590**参数:**
591
592| 参数项 | 描述 |
593| -- | -- |
594| [Pasteboard_GetDataParams](capi-pasteboard-getdataparams.md)* params | 表示指向剪贴板OH_Pasteboard_GetDataParams的指针。 |
595
596### OH_Pasteboard_GetDataParams_SetProgressIndicator()
597
598```
599void OH_Pasteboard_GetDataParams_SetProgressIndicator(Pasteboard_GetDataParams* params,Pasteboard_ProgressIndicator progressIndicator)
600```
601
602**描述:**
603
604向剪贴板[Pasteboard_GetDataParams](capi-pasteboard-getdataparams.md)设置进度条指示选项,可选择是否采用系统默认进度显示。
605
606**起始版本:** 15
607
608
609**参数:**
610
611| 参数项 | 描述 |
612| -- | -- |
613| [Pasteboard_GetDataParams](capi-pasteboard-getdataparams.md)* params | 表示指向剪贴板OH_Pasteboard_GetDataParams的指针。 |
614| [Pasteboard_ProgressIndicator](#pasteboard_progressindicator) progressIndicator | 定义进度条指示选项。 |
615
616### OH_Pasteboard_GetDataParams_SetDestUri()
617
618```
619void OH_Pasteboard_GetDataParams_SetDestUri(Pasteboard_GetDataParams* params, const char* destUri, uint32_t destUriLen)
620```
621
622**描述:**
623
624设置拷贝文件时目标路径。若不支持文件处理,则不需要设置此参数;若应用涉及复杂文件处理策略或需要区分文件多路径存储,建议不设置此参数,由应用自行完成文件copy处理。
625
626**起始版本:** 15
627
628
629**参数:**
630
631| 参数项 | 描述 |
632| -- | -- |
633| [Pasteboard_GetDataParams](capi-pasteboard-getdataparams.md)* params | 表示指向剪贴板OH_Pasteboard_GetDataParams的指针。 |
634| const char* destUri | 定义拷贝文件目标路径。 |
635| uint32_t destUriLen | 定义拷贝文件目标路径长度。 |
636
637### OH_Pasteboard_GetDataParams_SetFileConflictOptions()
638
639```
640void OH_Pasteboard_GetDataParams_SetFileConflictOptions(Pasteboard_GetDataParams* params,Pasteboard_FileConflictOptions option)
641```
642
643**描述:**
644
645向剪贴板[Pasteboard_GetDataParams](capi-pasteboard-getdataparams.md)设置文件冲突选项。
646
647**起始版本:** 15
648
649
650**参数:**
651
652| 参数项 | 描述 |
653| -- | -- |
654| [Pasteboard_GetDataParams](capi-pasteboard-getdataparams.md)* params | 表示指向剪贴板OH_Pasteboard_GetDataParams的指针。 |
655| [Pasteboard_FileConflictOptions](#pasteboard_fileconflictoptions) option | 定义文件拷贝冲突时的选项,默认为PASTEBOARD_OVERWRITE。 |
656
657### OH_Pasteboard_GetDataParams_SetProgressListener()
658
659```
660void OH_Pasteboard_GetDataParams_SetProgressListener(Pasteboard_GetDataParams* params,const OH_Pasteboard_ProgressListener listener)
661```
662
663**描述:**
664
665向剪贴板[Pasteboard_GetDataParams](capi-pasteboard-getdataparams.md)设置进度上报回调函数。
666
667**起始版本:** 15
668
669
670**参数:**
671
672| 参数项                                                                              | 描述 |
673|----------------------------------------------------------------------------------| -- |
674| [Pasteboard_GetDataParams](capi-pasteboard-getdataparams.md)* params             | 表示指向剪贴板OH_Pasteboard_GetDataParams的指针。 |
675| const [OH_Pasteboard_ProgressListener](#oh_pasteboard_progresslistener) listener | 表示进度上报回调函数。 |
676
677### OH_Pasteboard_ProgressInfo_GetProgress()
678
679```
680int OH_Pasteboard_ProgressInfo_GetProgress(Pasteboard_ProgressInfo* progressInfo)
681```
682
683**描述:**
684
685从[Pasteboard_ProgressInfo](capi-pasteboard-progressinfo.md)获取粘贴进度。
686
687**起始版本:** 15
688
689
690**参数:**
691
692| 参数项 | 描述 |
693| -- | -- |
694| [Pasteboard_ProgressInfo](capi-pasteboard-progressinfo.md)* progressInfo | 表示指向剪贴板[Pasteboard_ProgressInfo](capi-pasteboard-progressinfo.md)的指针。 |
695
696**返回:**
697
698| 类型 | 说明 |
699| -- | -- |
700| int | 返回粘贴进度百分比。 |
701
702### OH_Pasteboard_ProgressCancel()
703
704```
705void OH_Pasteboard_ProgressCancel(Pasteboard_GetDataParams* params)
706```
707
708**描述:**
709
710定义取消函数,用于在获取粘贴数据时取消正在进行的粘贴动作。
711
712**起始版本:** 15
713
714
715**参数:**
716
717| 参数项 | 描述 |
718| -- | -- |
719| [Pasteboard_GetDataParams](capi-pasteboard-getdataparams.md)* params | 表示指向剪贴板OH_Pasteboard_GetDataParams的指针。 |
720
721### OH_Pasteboard_GetDataWithProgress()
722
723```
724OH_UdmfData* OH_Pasteboard_GetDataWithProgress(OH_Pasteboard* pasteboard, Pasteboard_GetDataParams* params,int* status)
725```
726
727**描述:**
728
729获取剪贴板的数据以及粘贴进度,不支持对文件夹的拷贝。
730
731**起始版本:** 15
732
733**需要权限**:ohos.permission.READ_PASTEBOARD,应用访问剪贴板内容需[申请访问剪贴板权限](../../basic-services/pasteboard/get-pastedata-permission-guidelines.md)。使用[安全控件](../../security/AccessToken/pastebutton.md)访问剪贴板内容的应用,可以无需申请权限。
734
735
736**参数:**
737
738| 参数项 | 描述 |
739| -- | -- |
740| [OH_Pasteboard](capi-pasteboard-oh-pasteboard.md)* pasteboard | 表示指向剪贴板[OH_Pasteboard](capi-pasteboard-oh-pasteboard.md)实例的指针。 |
741| [Pasteboard_GetDataParams](capi-pasteboard-getdataparams.md)* params | 表示指向剪贴板OH_Pasteboard_GetDataParams的指针。 |
742| int* status | 该参数是输出参数,表示执行的错误码。错误码定义详见[PASTEBOARD_ErrCode](capi-oh-pasteboard-err-code-h.md#pasteboard_errcode)。 |
743
744**返回:**
745
746| 类型 | 说明 |
747| -- | -- |
748| [OH_UdmfData](../apis-arkdata/capi-udmf-oh-udmfdata.md)* | 执行成功时返回统一数据对象OH_PasteData实例的指针。否则返回空指针。 |
749
750### OH_Pasteboard_GetChangeCount()
751
752```
753uint32_t OH_Pasteboard_GetChangeCount(OH_Pasteboard *pasteboard)
754```
755
756**描述:**
757
758获取剪贴板内容的变化次数。
759
760**起始版本:** 18
761
762
763**参数:**
764
765| 参数项 | 描述 |
766| -- | -- |
767| [OH_Pasteboard](capi-pasteboard-oh-pasteboard.md) *pasteboard | 表示指向剪贴板[OH_Pasteboard](capi-pasteboard-oh-pasteboard.md)实例的指针。 |
768
769**返回:**
770
771| 类型 | 说明 |
772| -- | -- |
773| uint32_t | 执行成功时返回剪贴板内容的变化次数,否则返回0。<br> 当剪贴板内容过期或调用OH_Pasteboard_ClearData等接口导致剪贴板内容为空时,内容变化次数不会因此改变。<br> 系统重启或剪贴板服务异常重启时,剪贴板内容变化次数重新从0开始计数。对同一内容连续多次复制会被视作多次更改,每次复制均会导致内容变化次数增加。 |
774
775
776