19#include <freerdp/config.h>
21#include <freerdp/channels/cliprdr.h>
25#include "shadow_channels.h"
26#include "shadow_cliprdr.h"
28UINT shadow_client_channels_post_connect(rdpShadowClient* client)
30 if (WTSVirtualChannelManagerIsChannelJoined(client->vcm, ENCOMSP_SVC_CHANNEL_NAME))
32 if (shadow_client_encomsp_init(client) < 0)
33 return ERROR_NOT_READY;
36 if (WTSVirtualChannelManagerIsChannelJoined(client->vcm, REMDESK_SVC_CHANNEL_NAME))
38 if (shadow_client_remdesk_init(client) < 0)
39 return ERROR_NOT_READY;
42 if (WTSVirtualChannelManagerIsChannelJoined(client->vcm, RDPSND_CHANNEL_NAME))
44 if (shadow_client_rdpsnd_init(client) < 0)
45 return ERROR_NOT_READY;
48 if (!shadow_client_audin_init(client))
49 return ERROR_NOT_READY;
51 if (WTSVirtualChannelManagerIsChannelJoined(client->vcm, CLIPRDR_SVC_CHANNEL_NAME))
53 if (shadow_client_cliprdr_init(client) < 0)
54 return ERROR_NOT_READY;
57 if (shadow_client_rdpgfx_init(client) < 0)
58 return ERROR_NOT_READY;
63void shadow_client_channels_free(rdpShadowClient* client)
65 shadow_client_rdpgfx_uninit(client);
66 shadow_client_cliprdr_uninit(client);
67 shadow_client_audin_uninit(client);
68 shadow_client_rdpsnd_uninit(client);
69 shadow_client_remdesk_uninit(client);
70 shadow_client_encomsp_uninit(client);