19 #ifndef FREERDP_SERVER_SHADOW_MCEVENT_H
20 #define FREERDP_SERVER_SHADOW_MCEVENT_H
22 #include <freerdp/server/shadow.h>
24 #include <winpr/crt.h>
25 #include <winpr/synch.h>
26 #include <winpr/collections.h>
39 void shadow_multiclient_free(rdpShadowMultiClientEvent* event);
41 WINPR_ATTR_MALLOC(shadow_multiclient_free, 1)
42 rdpShadowMultiClientEvent* shadow_multiclient_new(
void);
44 void shadow_multiclient_publish(rdpShadowMultiClientEvent* event);
45 void shadow_multiclient_wait(rdpShadowMultiClientEvent* event);
46 void shadow_multiclient_publish_and_wait(rdpShadowMultiClientEvent* event);
47 void* shadow_multiclient_get_subscriber(rdpShadowMultiClientEvent* event);
48 void shadow_multiclient_release_subscriber(
void* subscriber);
49 BOOL shadow_multiclient_consume(
void* subscriber);
50 HANDLE shadow_multiclient_getevent(
void* subscriber);