22#ifndef FREERDP_CHANNEL_CLIPRDR_SERVER_CLIPRDR_H 
   23#define FREERDP_CHANNEL_CLIPRDR_SERVER_CLIPRDR_H 
   25#include <freerdp/api.h> 
   26#include <freerdp/types.h> 
   27#include <freerdp/channels/wtsvc.h> 
   29#include <freerdp/channels/cliprdr.h> 
   30#include <freerdp/client/cliprdr.h> 
   43  typedef UINT (*psCliprdrOpen)(CliprdrServerContext* context);
 
   44  typedef UINT (*psCliprdrClose)(CliprdrServerContext* context);
 
   45  typedef UINT (*psCliprdrStart)(CliprdrServerContext* context);
 
   46  typedef UINT (*psCliprdrStop)(CliprdrServerContext* context);
 
   47  typedef HANDLE (*psCliprdrGetEventHandle)(CliprdrServerContext* context);
 
   48  typedef UINT (*psCliprdrCheckEventHandle)(CliprdrServerContext* context);
 
   50  typedef UINT (*psCliprdrServerCapabilities)(CliprdrServerContext* context,
 
   52  typedef UINT (*psCliprdrClientCapabilities)(CliprdrServerContext* context,
 
   54  typedef UINT (*psCliprdrMonitorReady)(CliprdrServerContext* context,
 
   56  typedef UINT (*psCliprdrTempDirectory)(CliprdrServerContext* context,
 
   58  typedef UINT (*psCliprdrClientFormatList)(CliprdrServerContext* context,
 
   60  typedef UINT (*psCliprdrServerFormatList)(CliprdrServerContext* context,
 
   62  typedef UINT (*psCliprdrClientFormatListResponse)(
 
   64  typedef UINT (*psCliprdrServerFormatListResponse)(
 
   66  typedef UINT (*psCliprdrClientLockClipboardData)(
 
   68  typedef UINT (*psCliprdrServerLockClipboardData)(
 
   70  typedef UINT (*psCliprdrClientUnlockClipboardData)(
 
   72  typedef UINT (*psCliprdrServerUnlockClipboardData)(
 
   74  typedef UINT (*psCliprdrClientFormatDataRequest)(
 
   76  typedef UINT (*psCliprdrServerFormatDataRequest)(
 
   78  typedef UINT (*psCliprdrClientFormatDataResponse)(
 
   80  typedef UINT (*psCliprdrServerFormatDataResponse)(
 
   82  typedef UINT (*psCliprdrClientFileContentsRequest)(
 
   84  typedef UINT (*psCliprdrServerFileContentsRequest)(
 
   86  typedef UINT (*psCliprdrClientFileContentsResponse)(
 
   88  typedef UINT (*psCliprdrServerFileContentsResponse)(
 
   98    BOOL useLongFormatNames;
 
   99    BOOL streamFileClipEnabled;
 
  100    BOOL fileClipNoFilePaths;
 
  101    BOOL canLockClipData;
 
  104    psCliprdrClose Close;
 
  105    psCliprdrStart Start;
 
  107    psCliprdrGetEventHandle GetEventHandle;
 
  108    psCliprdrCheckEventHandle CheckEventHandle;
 
  110    psCliprdrServerCapabilities ServerCapabilities;
 
  111    psCliprdrClientCapabilities ClientCapabilities;
 
  112    psCliprdrMonitorReady MonitorReady;
 
  113    psCliprdrTempDirectory TempDirectory;
 
  114    psCliprdrClientFormatList ClientFormatList;
 
  115    psCliprdrServerFormatList ServerFormatList;
 
  116    psCliprdrClientFormatListResponse ClientFormatListResponse;
 
  117    psCliprdrServerFormatListResponse ServerFormatListResponse;
 
  118    psCliprdrClientLockClipboardData ClientLockClipboardData;
 
  119    psCliprdrServerLockClipboardData ServerLockClipboardData;
 
  120    psCliprdrClientUnlockClipboardData ClientUnlockClipboardData;
 
  121    psCliprdrServerUnlockClipboardData ServerUnlockClipboardData;
 
  122    psCliprdrClientFormatDataRequest ClientFormatDataRequest;
 
  123    psCliprdrServerFormatDataRequest ServerFormatDataRequest;
 
  124    psCliprdrClientFormatDataResponse ClientFormatDataResponse;
 
  125    psCliprdrServerFormatDataResponse ServerFormatDataResponse;
 
  126    psCliprdrClientFileContentsRequest ClientFileContentsRequest;
 
  127    psCliprdrServerFileContentsRequest ServerFileContentsRequest;
 
  128    psCliprdrClientFileContentsResponse ClientFileContentsResponse;
 
  129    psCliprdrServerFileContentsResponse ServerFileContentsResponse;
 
  131    rdpContext* rdpcontext;
 
  132    BOOL autoInitializationSequence;
 
  133    UINT32 lastRequestedFormatId;
 
  134    BOOL hasHugeFileSupport;
 
 
  137  FREERDP_API 
void cliprdr_server_context_free(CliprdrServerContext* context);
 
  139  WINPR_ATTR_MALLOC(cliprdr_server_context_free, 1)
 
  140  FREERDP_API CliprdrServerContext* cliprdr_server_context_new(HANDLE vcm);