FreeRDP
Loading...
Searching...
No Matches
libwinpr/clipboard/clipboard.h
1
20#ifndef WINPR_CLIPBOARD_PRIVATE_H
21#define WINPR_CLIPBOARD_PRIVATE_H
22
23#include <winpr/winpr.h>
24#include <winpr/clipboard.h>
25
26#include <winpr/collections.h>
27
28typedef struct
29{
30 UINT32 syntheticId;
31 CLIPBOARD_SYNTHESIZE_FN pfnSynthesize;
32 CLIPBOARD_SYNTHESIZE_FN pfnSynthesizeEx;
34
35typedef struct
36{
37 UINT32 formatId;
38 char* formatName;
39
40 UINT32 numSynthesizers;
41 wClipboardSynthesizer* synthesizers;
43
45{
46 UINT64 ownerId;
47
48 /* clipboard formats */
49
50 UINT32 numFormats;
51 UINT32 maxFormats;
52 UINT32 nextFormatId;
53 wClipboardFormat* formats;
54
55 /* clipboard data */
56
57 UINT32 size;
58 void* data;
59 UINT32 formatId;
60 UINT32 sequenceNumber;
61
62 /* clipboard file handling */
63
64 wArrayList* localFiles;
65 UINT32 fileListSequenceNumber;
66
67 wClipboardDelegate delegate;
68
70};
71
72WINPR_LOCAL WINPR_ATTR_NODISCARD BOOL ClipboardInitSynthesizers(wClipboard* clipboard);
73
74WINPR_LOCAL WINPR_ATTR_NODISCARD char* parse_uri_to_local_file(const char* uri, size_t uri_len);
75
76extern const char* const mime_text_plain;
77extern const char* const mime_text_utf8;
78extern const char* const mime_text_UTF8_STRING;
79
93WINPR_ATTR_NODISCARD
94WINPR_LOCAL BOOL ClipboardRegisterSynthesizerEx(wClipboard* clipboard, UINT32 formatId,
95 UINT32 syntheticId,
96 CLIPBOARD_SYNTHESIZE_FN pfnSynthesize);
97
98#endif /* WINPR_CLIPBOARD_PRIVATE_H */