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 psRdpgfxServerOpen Open;
99 psRdpgfxServerClose Close;
101 psRdpgfxResetGraphics ResetGraphics;
102 psRdpgfxStartFrame StartFrame;
103 psRdpgfxEndFrame EndFrame;
104 psRdpgfxSurfaceCommand SurfaceCommand;
105 psRdpgfxSurfaceFrameCommand SurfaceFrameCommand;
106 psRdpgfxDeleteEncodingContext DeleteEncodingContext;
107 psRdpgfxCreateSurface CreateSurface;
108 psRdpgfxDeleteSurface DeleteSurface;
109 psRdpgfxSolidFill SolidFill;
110 psRdpgfxSurfaceToSurface SurfaceToSurface;
111 psRdpgfxSurfaceToCache SurfaceToCache;
112 psRdpgfxCacheToSurface CacheToSurface;
113 psRdpgfxCacheImportOffer CacheImportOffer;
114 psRdpgfxCacheImportReply CacheImportReply;
115 psRdpgfxEvictCacheEntry EvictCacheEntry;
116 psRdpgfxMapSurfaceToOutput MapSurfaceToOutput;
117 psRdpgfxMapSurfaceToWindow MapSurfaceToWindow;
118 psRdpgfxMapSurfaceToScaledOutput MapSurfaceToScaledOutput;
119 psRdpgfxMapSurfaceToScaledWindow MapSurfaceToScaledWindow;
120 psRdpgfxCapsAdvertise CapsAdvertise;
121 psRdpgfxCapsConfirm CapsConfirm;
122 psRdpgfxFrameAcknowledge FrameAcknowledge;
123 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)
145 FREERDP_API RdpgfxServerContext* rdpgfx_server_context_new(HANDLE vcm);
147 FREERDP_API BOOL rdpgfx_server_set_own_thread(RdpgfxServerContext* context,
148 BOOL internalThread);
149 FREERDP_API HANDLE rdpgfx_server_get_event_handle(RdpgfxServerContext* context);
150 FREERDP_API UINT rdpgfx_server_handle_messages(RdpgfxServerContext* context);
psRdpgfxServerChannelIdAssigned ChannelIdAssigned
psRdpgfxServerInitialize Initialize