20#ifndef FREERDP_CHANNEL_RDPGFX_SERVER_RDPGFX_H
21#define FREERDP_CHANNEL_RDPGFX_SERVER_RDPGFX_H
23#include <freerdp/channels/rdpgfx.h>
24#include <freerdp/types.h>
34 typedef BOOL (*psRdpgfxServerOpen)(RdpgfxServerContext* context);
35 typedef BOOL (*psRdpgfxServerClose)(RdpgfxServerContext* context);
37 typedef BOOL (*psRdpgfxServerChannelIdAssigned)(RdpgfxServerContext* context, UINT32 channelId);
39 typedef BOOL (*psRdpgfxServerInitialize)(RdpgfxServerContext* context, BOOL externalThread);
41 typedef UINT (*psRdpgfxResetGraphics)(RdpgfxServerContext* context,
43 typedef UINT (*psRdpgfxStartFrame)(RdpgfxServerContext* context,
45 typedef UINT (*psRdpgfxEndFrame)(RdpgfxServerContext* context,
47 typedef UINT (*psRdpgfxSurfaceCommand)(RdpgfxServerContext* context,
49 typedef UINT (*psRdpgfxSurfaceFrameCommand)(RdpgfxServerContext* context,
53 typedef UINT (*psRdpgfxDeleteEncodingContext)(
54 RdpgfxServerContext* context,
56 typedef UINT (*psRdpgfxCreateSurface)(RdpgfxServerContext* context,
58 typedef UINT (*psRdpgfxDeleteSurface)(RdpgfxServerContext* context,
60 typedef UINT (*psRdpgfxSolidFill)(RdpgfxServerContext* context,
62 typedef UINT (*psRdpgfxSurfaceToSurface)(RdpgfxServerContext* context,
64 typedef UINT (*psRdpgfxSurfaceToCache)(RdpgfxServerContext* context,
66 typedef UINT (*psRdpgfxCacheToSurface)(RdpgfxServerContext* context,
68 typedef UINT (*psRdpgfxCacheImportOffer)(RdpgfxServerContext* context,
70 typedef UINT (*psRdpgfxCacheImportReply)(RdpgfxServerContext* context,
72 typedef UINT (*psRdpgfxEvictCacheEntry)(RdpgfxServerContext* context,
74 typedef UINT (*psRdpgfxMapSurfaceToOutput)(
76 typedef UINT (*psRdpgfxMapSurfaceToWindow)(
78 typedef UINT (*psRdpgfxMapSurfaceToScaledOutput)(
79 RdpgfxServerContext* context,
81 typedef UINT (*psRdpgfxMapSurfaceToScaledWindow)(
82 RdpgfxServerContext* context,
84 typedef UINT (*psRdpgfxCapsAdvertise)(RdpgfxServerContext* context,
86 typedef UINT (*psRdpgfxCapsConfirm)(RdpgfxServerContext* context,
88 typedef UINT (*psRdpgfxFrameAcknowledge)(RdpgfxServerContext* context,
90 typedef UINT (*psRdpgfxQoeFrameAcknowledge)(
98 WINPR_ATTR_NODISCARD psRdpgfxServerOpen Open;
99 WINPR_ATTR_NODISCARD psRdpgfxServerClose Close;
101 WINPR_ATTR_NODISCARD psRdpgfxResetGraphics ResetGraphics;
102 WINPR_ATTR_NODISCARD psRdpgfxStartFrame StartFrame;
103 WINPR_ATTR_NODISCARD psRdpgfxEndFrame EndFrame;
104 WINPR_ATTR_NODISCARD psRdpgfxSurfaceCommand SurfaceCommand;
105 WINPR_ATTR_NODISCARD psRdpgfxSurfaceFrameCommand SurfaceFrameCommand;
106 WINPR_ATTR_NODISCARD psRdpgfxDeleteEncodingContext DeleteEncodingContext;
107 WINPR_ATTR_NODISCARD psRdpgfxCreateSurface CreateSurface;
108 WINPR_ATTR_NODISCARD psRdpgfxDeleteSurface DeleteSurface;
109 WINPR_ATTR_NODISCARD psRdpgfxSolidFill SolidFill;
110 WINPR_ATTR_NODISCARD psRdpgfxSurfaceToSurface SurfaceToSurface;
111 WINPR_ATTR_NODISCARD psRdpgfxSurfaceToCache SurfaceToCache;
112 WINPR_ATTR_NODISCARD psRdpgfxCacheToSurface CacheToSurface;
113 WINPR_ATTR_NODISCARD psRdpgfxCacheImportOffer CacheImportOffer;
114 WINPR_ATTR_NODISCARD psRdpgfxCacheImportReply CacheImportReply;
115 WINPR_ATTR_NODISCARD psRdpgfxEvictCacheEntry EvictCacheEntry;
116 WINPR_ATTR_NODISCARD psRdpgfxMapSurfaceToOutput MapSurfaceToOutput;
117 WINPR_ATTR_NODISCARD psRdpgfxMapSurfaceToWindow MapSurfaceToWindow;
118 WINPR_ATTR_NODISCARD psRdpgfxMapSurfaceToScaledOutput MapSurfaceToScaledOutput;
119 WINPR_ATTR_NODISCARD psRdpgfxMapSurfaceToScaledWindow MapSurfaceToScaledWindow;
120 WINPR_ATTR_NODISCARD psRdpgfxCapsAdvertise CapsAdvertise;
121 WINPR_ATTR_NODISCARD psRdpgfxCapsConfirm CapsConfirm;
122 WINPR_ATTR_NODISCARD psRdpgfxFrameAcknowledge FrameAcknowledge;
123 WINPR_ATTR_NODISCARD psRdpgfxQoeFrameAcknowledge QoeFrameAcknowledge;
125 RdpgfxServerPrivate* priv;
126 rdpContext* rdpcontext;
142 FREERDP_API
void rdpgfx_server_context_free(RdpgfxServerContext* context);
144 WINPR_ATTR_MALLOC(rdpgfx_server_context_free, 1)
146 FREERDP_API RdpgfxServerContext* rdpgfx_server_context_new(HANDLE vcm);
149 FREERDP_API BOOL rdpgfx_server_set_own_thread(RdpgfxServerContext* context,
150 BOOL internalThread);
153 FREERDP_API HANDLE rdpgfx_server_get_event_handle(RdpgfxServerContext* context);
156 FREERDP_API UINT rdpgfx_server_handle_messages(RdpgfxServerContext* context);
WINPR_ATTR_NODISCARD psRdpgfxServerInitialize Initialize
WINPR_ATTR_NODISCARD psRdpgfxServerChannelIdAssigned ChannelIdAssigned