FreeRDP
Loading...
Searching...
No Matches
client_cliprdr_file.h
1
21#ifndef FREERDP_CLIENT_X11_CLIPRDR_FILE_H
22#define FREERDP_CLIENT_X11_CLIPRDR_FILE_H
23
24#include <winpr/clipboard.h>
25
26#include <freerdp/client/cliprdr.h>
27
28#ifdef __cplusplus
29extern "C"
30{
31#endif
32
33 typedef struct cliprdr_file_context CliprdrFileContext;
34
35 FREERDP_API void cliprdr_file_context_free(CliprdrFileContext* file);
36
37 WINPR_ATTR_MALLOC(cliprdr_file_context_free, 1)
38 WINPR_ATTR_NODISCARD
39 FREERDP_API CliprdrFileContext* cliprdr_file_context_new(void* context);
40
47 WINPR_ATTR_NODISCARD
48 FREERDP_API BOOL cliprdr_file_context_has_local_support(CliprdrFileContext* file);
49
58 WINPR_ATTR_NODISCARD
59 FREERDP_API BOOL cliprdr_file_context_set_locally_available(CliprdrFileContext* file,
60 BOOL available);
61
62 WINPR_ATTR_NODISCARD
63 FREERDP_API BOOL cliprdr_file_context_remote_set_flags(CliprdrFileContext* file, UINT32 flags);
64
65 WINPR_ATTR_NODISCARD
66 FREERDP_API UINT32 cliprdr_file_context_remote_get_flags(CliprdrFileContext* file);
67
68 WINPR_ATTR_NODISCARD
69 FREERDP_API UINT32 cliprdr_file_context_current_flags(CliprdrFileContext* file);
70
71 WINPR_ATTR_NODISCARD
72 FREERDP_API void* cliprdr_file_context_get_context(CliprdrFileContext* file);
73
74 FREERDP_API BOOL cliprdr_file_context_init(CliprdrFileContext* file,
75 CliprdrClientContext* cliprdr);
76
77 FREERDP_API BOOL cliprdr_file_context_uninit(CliprdrFileContext* file,
78 CliprdrClientContext* cliprdr);
79
80 FREERDP_API BOOL cliprdr_file_context_clear(CliprdrFileContext* file);
81
82 WINPR_ATTR_NODISCARD
83 FREERDP_API UINT
84 cliprdr_file_context_notify_new_server_format_list(CliprdrFileContext* file_context);
85
86 WINPR_ATTR_NODISCARD
87 FREERDP_API UINT
88 cliprdr_file_context_notify_new_client_format_list(CliprdrFileContext* file_context);
89
98 FREERDP_API BOOL cliprdr_file_context_update_client_data(CliprdrFileContext* file,
99 const char* data, size_t size);
109 WINPR_ATTR_NODISCARD
110 FREERDP_API BOOL cliprdr_file_context_update_server_data(CliprdrFileContext* file,
111 wClipboard* clip, const void* data,
112 size_t size);
113
123 typedef const void* (*cliprdr_file_context_data_fkt)(void* userdata, const char* mime_type,
124 size_t* size);
125
149 WINPR_ATTR_NODISCARD
150 FREERDP_API BOOL cliprdr_file_context_set_local_clipboard_data(
151 CliprdrFileContext* file, cliprdr_file_context_data_fkt fkt, void* userdata,
152 const char** mime_types, size_t count);
153
166 WINPR_ATTR_MALLOC(free, 1)
167 WINPR_ATTR_NODISCARD
168 FREERDP_API char* cliprdr_file_context_get_local_uri_list(CliprdrFileContext* file,
169 size_t* size);
170
171#ifdef __cplusplus
172}
173#endif
174
175#endif /* FREERDP_CLIENT_X11_CLIPRDR_FILE_H */