FreeRDP
Loading...
Searching...
No Matches
shadow_remdesk.c
1
21#include <freerdp/config.h>
22
23#include "shadow.h"
24
25#include "shadow_remdesk.h"
26
27int shadow_client_remdesk_init(rdpShadowClient* client)
28{
29 WINPR_ASSERT(client);
30 RemdeskServerContext* remdesk = client->remdesk = remdesk_server_context_new(client->vcm);
31 if (!remdesk)
32 return -1;
33
34 remdesk->rdpcontext = &client->context;
35
36 remdesk->custom = (void*)client;
37
38 if (client->remdesk)
39 {
40 const UINT rc = client->remdesk->Start(client->remdesk);
41 if (rc != CHANNEL_RC_OK)
42 return -1;
43 }
44
45 return 1;
46}
47
48void shadow_client_remdesk_uninit(rdpShadowClient* client)
49{
50 WINPR_ASSERT(client);
51 if (client->remdesk)
52 {
53 client->remdesk->Stop(client->remdesk);
54 remdesk_server_context_free(client->remdesk);
55 client->remdesk = nullptr;
56 }
57}