22 #ifndef FREERDP_CHANNEL_CLIPRDR_SERVER_CLIPRDR_H
23 #define FREERDP_CHANNEL_CLIPRDR_SERVER_CLIPRDR_H
25 #include <freerdp/api.h>
26 #include <freerdp/types.h>
27 #include <freerdp/channels/wtsvc.h>
29 #include <freerdp/channels/cliprdr.h>
30 #include <freerdp/client/cliprdr.h>
43 typedef UINT (*psCliprdrOpen)(CliprdrServerContext* context);
44 typedef UINT (*psCliprdrClose)(CliprdrServerContext* context);
45 typedef UINT (*psCliprdrStart)(CliprdrServerContext* context);
46 typedef UINT (*psCliprdrStop)(CliprdrServerContext* context);
47 typedef HANDLE (*psCliprdrGetEventHandle)(CliprdrServerContext* context);
48 typedef UINT (*psCliprdrCheckEventHandle)(CliprdrServerContext* context);
50 typedef UINT (*psCliprdrServerCapabilities)(CliprdrServerContext* context,
52 typedef UINT (*psCliprdrClientCapabilities)(CliprdrServerContext* context,
54 typedef UINT (*psCliprdrMonitorReady)(CliprdrServerContext* context,
56 typedef UINT (*psCliprdrTempDirectory)(CliprdrServerContext* context,
58 typedef UINT (*psCliprdrClientFormatList)(CliprdrServerContext* context,
60 typedef UINT (*psCliprdrServerFormatList)(CliprdrServerContext* context,
62 typedef UINT (*psCliprdrClientFormatListResponse)(
64 typedef UINT (*psCliprdrServerFormatListResponse)(
66 typedef UINT (*psCliprdrClientLockClipboardData)(
68 typedef UINT (*psCliprdrServerLockClipboardData)(
70 typedef UINT (*psCliprdrClientUnlockClipboardData)(
72 typedef UINT (*psCliprdrServerUnlockClipboardData)(
74 typedef UINT (*psCliprdrClientFormatDataRequest)(
76 typedef UINT (*psCliprdrServerFormatDataRequest)(
78 typedef UINT (*psCliprdrClientFormatDataResponse)(
80 typedef UINT (*psCliprdrServerFormatDataResponse)(
82 typedef UINT (*psCliprdrClientFileContentsRequest)(
84 typedef UINT (*psCliprdrServerFileContentsRequest)(
86 typedef UINT (*psCliprdrClientFileContentsResponse)(
88 typedef UINT (*psCliprdrServerFileContentsResponse)(
98 BOOL useLongFormatNames;
99 BOOL streamFileClipEnabled;
100 BOOL fileClipNoFilePaths;
101 BOOL canLockClipData;
104 psCliprdrClose Close;
105 psCliprdrStart Start;
107 psCliprdrGetEventHandle GetEventHandle;
108 psCliprdrCheckEventHandle CheckEventHandle;
110 psCliprdrServerCapabilities ServerCapabilities;
111 psCliprdrClientCapabilities ClientCapabilities;
112 psCliprdrMonitorReady MonitorReady;
113 psCliprdrTempDirectory TempDirectory;
114 psCliprdrClientFormatList ClientFormatList;
115 psCliprdrServerFormatList ServerFormatList;
116 psCliprdrClientFormatListResponse ClientFormatListResponse;
117 psCliprdrServerFormatListResponse ServerFormatListResponse;
118 psCliprdrClientLockClipboardData ClientLockClipboardData;
119 psCliprdrServerLockClipboardData ServerLockClipboardData;
120 psCliprdrClientUnlockClipboardData ClientUnlockClipboardData;
121 psCliprdrServerUnlockClipboardData ServerUnlockClipboardData;
122 psCliprdrClientFormatDataRequest ClientFormatDataRequest;
123 psCliprdrServerFormatDataRequest ServerFormatDataRequest;
124 psCliprdrClientFormatDataResponse ClientFormatDataResponse;
125 psCliprdrServerFormatDataResponse ServerFormatDataResponse;
126 psCliprdrClientFileContentsRequest ClientFileContentsRequest;
127 psCliprdrServerFileContentsRequest ServerFileContentsRequest;
128 psCliprdrClientFileContentsResponse ClientFileContentsResponse;
129 psCliprdrServerFileContentsResponse ServerFileContentsResponse;
131 rdpContext* rdpcontext;
132 BOOL autoInitializationSequence;
133 UINT32 lastRequestedFormatId;
134 BOOL hasHugeFileSupport;
137 FREERDP_API
void cliprdr_server_context_free(CliprdrServerContext* context);
139 WINPR_ATTR_MALLOC(cliprdr_server_context_free, 1)
140 FREERDP_API CliprdrServerContext* cliprdr_server_context_new(HANDLE vcm);