clipboard: add events for file clipping.
This commit is contained in:
parent
4a6b1f358e
commit
353b4f8ba3
@ -252,6 +252,27 @@ static void cliprdr_process_monitor_ready(cliprdrPlugin* cliprdr, wStream* s, UI
|
||||
}
|
||||
}
|
||||
|
||||
static void cliprdr_process_filecontents_request(cliprdrPlugin* cliprdr, wStream* s, UINT32 length, UINT16 flags)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
static void cliprdr_process_filecontents_response(cliprdrPlugin* cliprdr, wStream* s, UINT32 length, UINT16 flags)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
static void cliprdr_process_lock_clipdata(cliprdrPlugin* cliprdr, wStream* s, UINT32 length, UINT16 flags)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
static void cliprdr_process_unlock_clipdata(cliprdrPlugin* cliprdr, wStream* s, UINT32 length, UINT16 flags)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
static void cliprdr_process_receive(rdpSvcPlugin* plugin, wStream* s)
|
||||
{
|
||||
UINT16 msgType;
|
||||
@ -296,6 +317,22 @@ static void cliprdr_process_receive(rdpSvcPlugin* plugin, wStream* s)
|
||||
cliprdr_process_format_data_response(cliprdr, s, dataLen, msgFlags);
|
||||
break;
|
||||
|
||||
case CB_FILECONTENTS_REQUEST:
|
||||
cliprdr_process_filecontents_request(cliprdr, s, dataLen, msgFlags);
|
||||
break;
|
||||
|
||||
case CB_FILECONTENTS_RESPONSE:
|
||||
cliprdr_process_filecontents_response(cliprdr, s, dataLen, msgFlags);
|
||||
break;
|
||||
|
||||
case CB_LOCK_CLIPDATA:
|
||||
cliprdr_process_lock_clipdata(cliprdr, s, dataLen, msgFlags);
|
||||
break;
|
||||
|
||||
case CB_UNLOCK_CLIPDATA:
|
||||
cliprdr_process_unlock_clipdata(cliprdr, s, dataLen, msgFlags);
|
||||
break;
|
||||
|
||||
default:
|
||||
DEBUG_WARN("unknown msgType %d", msgType);
|
||||
break;
|
||||
@ -304,6 +341,31 @@ static void cliprdr_process_receive(rdpSvcPlugin* plugin, wStream* s)
|
||||
Stream_Free(s, TRUE);
|
||||
}
|
||||
|
||||
static void cliprdr_process_filecontents_request_event(cliprdrPlugin* plugin, RDP_CB_FILECONTENTS_REQUEST_EVENT * event)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
static void cliprdr_process_filecontents_response_event(cliprdrPlugin* plugin, RDP_CB_FILECONTENTS_RESPONSE_EVENT * event)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
static void cliprdr_process_lock_clipdata_event(cliprdrPlugin* plugin, RDP_CB_LOCK_CLIPDATA_EVENT * event)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
static void cliprdr_process_unlock_clipdata_event(cliprdrPlugin* plugin, RDP_CB_UNLOCK_CLIPDATA_EVENT * event)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
static void cliprdr_process_tempdir_event(cliprdrPlugin* plugin, RDP_CB_TEMPDIR_EVENT * event)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
static void cliprdr_process_event(rdpSvcPlugin* plugin, wMessage* event)
|
||||
{
|
||||
switch (GetMessageType(event->id))
|
||||
@ -320,6 +382,26 @@ static void cliprdr_process_event(rdpSvcPlugin* plugin, wMessage* event)
|
||||
cliprdr_process_format_data_response_event((cliprdrPlugin*) plugin, (RDP_CB_DATA_RESPONSE_EVENT*) event);
|
||||
break;
|
||||
|
||||
case CliprdrChannel_FilecontentsRequest:
|
||||
cliprdr_process_filecontents_request_event((cliprdrPlugin*) plugin, (RDP_CB_FILECONTENTS_REQUEST_EVENT *) event);
|
||||
break;
|
||||
|
||||
case CliprdrChannel_FilecontentsResponse:
|
||||
cliprdr_process_filecontents_response_event((cliprdrPlugin*) plugin, (RDP_CB_FILECONTENTS_RESPONSE_EVENT *) event);
|
||||
break;
|
||||
|
||||
case CliprdrChannel_LockClipdata:
|
||||
cliprdr_process_lock_clipdata_event((cliprdrPlugin*) plugin, (RDP_CB_LOCK_CLIPDATA_EVENT *) event);
|
||||
break;
|
||||
|
||||
case CliprdrChannel_UnLockClipdata:
|
||||
cliprdr_process_unlock_clipdata_event((cliprdrPlugin*) plugin, (RDP_CB_UNLOCK_CLIPDATA_EVENT *) event);
|
||||
break;
|
||||
|
||||
case CliprdrChannel_TemporaryDirectory:
|
||||
cliprdr_process_tempdir_event((cliprdrPlugin*) plugin, (RDP_CB_TEMPDIR_EVENT *) event);
|
||||
break;
|
||||
|
||||
default:
|
||||
DEBUG_WARN("unknown event type %d", GetMessageType(event->id));
|
||||
break;
|
||||
|
@ -655,6 +655,26 @@ static void wf_cliprdr_process_cb_data_response_event(wfContext *wfc, RDP_CB_DAT
|
||||
SetEvent(cliprdr->response_data_event);
|
||||
}
|
||||
|
||||
static void wf_cliprdr_process_cb_filecontents_request_event(wfContext *wfc, RDP_CB_FILECONTENTS_REQUEST_EVENT *event)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
static void wf_cliprdr_process_cb_filecontents_response_event(wfContext *wfc, RDP_CB_FILECONTENTS_RESPONSE_EVENT *event)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
static void wf_cliprdr_process_cb_lock_clipdata_event(wfContext *wfc, RDP_CB_LOCK_CLIPDATA_EVENT *event)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
static void wf_cliprdr_process_cb_unlock_clipdata_event(wfContext *wfc, RDP_CB_UNLOCK_CLIPDATA_EVENT *event)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void wf_process_cliprdr_event(wfContext *wfc, wMessage *event)
|
||||
{
|
||||
switch (GetMessageType(event->id))
|
||||
@ -679,6 +699,22 @@ void wf_process_cliprdr_event(wfContext *wfc, wMessage *event)
|
||||
wf_cliprdr_process_cb_data_response_event(wfc, (RDP_CB_DATA_RESPONSE_EVENT *) event);
|
||||
break;
|
||||
|
||||
case CliprdrChannel_FilecontentsRequest:
|
||||
wf_cliprdr_process_cb_filecontents_request_event(wfc, (RDP_CB_FILECONTENTS_REQUEST_EVENT *) event);
|
||||
break;
|
||||
|
||||
case CliprdrChannel_FilecontentsResponse:
|
||||
wf_cliprdr_process_cb_filecontents_response_event(wfc, (RDP_CB_FILECONTENTS_RESPONSE_EVENT *) event);
|
||||
break;
|
||||
|
||||
case CliprdrChannel_LockClipdata:
|
||||
wf_cliprdr_process_cb_lock_clipdata_event(wfc, (RDP_CB_LOCK_CLIPDATA_EVENT *) event);
|
||||
break;
|
||||
|
||||
case CliprdrChannel_UnLockClipdata:
|
||||
wf_cliprdr_process_cb_unlock_clipdata_event(wfc, (RDP_CB_UNLOCK_CLIPDATA_EVENT *) event);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -113,4 +113,48 @@ struct _RDP_CB_DATA_RESPONSE_EVENT
|
||||
};
|
||||
typedef struct _RDP_CB_DATA_RESPONSE_EVENT RDP_CB_DATA_RESPONSE_EVENT;
|
||||
|
||||
|
||||
struct _RDP_CB_FILECONTENTS_REQUEST_EVENT
|
||||
{
|
||||
wMessage event;
|
||||
UINT32 streamId;
|
||||
UINT32 lindex;
|
||||
UINT32 dwFlags;
|
||||
UINT32 nPositionLow;
|
||||
UINT32 nPositionHigh;
|
||||
UINT32 cbRequested;
|
||||
UINT32 clipDataId;
|
||||
};
|
||||
typedef struct _RDP_CB_FILECONTENTS_REQUEST_EVENT RDP_CB_FILECONTENTS_REQUEST_EVENT;
|
||||
|
||||
struct _RDP_CB_FILECONTENTS_RESPONSE_EVENT
|
||||
{
|
||||
wMessage event;
|
||||
BYTE* data;
|
||||
UINT32 size;
|
||||
UINT32 streamId;
|
||||
};
|
||||
typedef struct _RDP_CB_FILECONTENTS_RESPONSE_EVENT RDP_CB_FILECONTENTS_RESPONSE_EVENT;
|
||||
|
||||
struct _RDP_CB_LOCK_CLIPDATA_EVENT
|
||||
{
|
||||
wMessage event;
|
||||
UINT32 clipDataId;
|
||||
};
|
||||
typedef struct _RDP_CB_LOCK_CLIPDATA_EVENT RDP_CB_LOCK_CLIPDATA_EVENT ;
|
||||
|
||||
struct _RDP_CB_UNLOCK_CLIPDATA_EVENT
|
||||
{
|
||||
wMessage event;
|
||||
UINT32 clipDataId;
|
||||
};
|
||||
typedef struct _RDP_CB_UNLOCK_CLIPDATA_EVENT RDP_CB_UNLOCK_CLIPDATA_EVENT ;
|
||||
|
||||
struct _RDP_CB_TEMPDIR_EVENT
|
||||
{
|
||||
wMessage event;
|
||||
char dirname[520];
|
||||
};
|
||||
typedef struct _RDP_CB_TEMPDIR_EVENT RDP_CB_TEMPDIR_EVENT;
|
||||
|
||||
#endif /* FREERDP_CHANNEL_CLIENT_CLIPRDR_H */
|
||||
|
@ -261,6 +261,11 @@
|
||||
#define CliprdrChannel_DataRequest 3
|
||||
#define CliprdrChannel_DataResponse 4
|
||||
#define CliprdrChannel_ClipCaps 5
|
||||
#define CliprdrChannel_FilecontentsRequest 6
|
||||
#define CliprdrChannel_FilecontentsResponse 7
|
||||
#define CliprdrChannel_LockClipdata 8
|
||||
#define CliprdrChannel_UnLockClipdata 9
|
||||
#define CliprdrChannel_TemporaryDirectory 10
|
||||
|
||||
#define FREERDP_CLIPRDR_CHANNEL_MONITOR_READY MakeMessageId(CliprdrChannel, MonitorReady)
|
||||
#define FREERDP_CLIPRDR_CHANNEL_FORMAT_LIST MakeMessageId(CliprdrChannel, FormatList)
|
||||
|
@ -73,9 +73,40 @@ static wMessage* freerdp_cliprdr_event_new(UINT16 event_type)
|
||||
ZeroMemory(event.v, sizeof(RDP_CB_CLIP_CAPS));
|
||||
event.m->id = MakeMessageId(CliprdrChannel, ClipCaps);
|
||||
break;
|
||||
|
||||
case CliprdrChannel_FilecontentsRequest:
|
||||
event.v = (wMessage*) malloc(sizeof(RDP_CB_FILECONTENTS_REQUEST_EVENT));
|
||||
ZeroMemory(event.v, sizeof(RDP_CB_FILECONTENTS_REQUEST_EVENT));
|
||||
event.m->id = MakeMessageId(CliprdrChannel, FilecontentsRequest);
|
||||
break;
|
||||
|
||||
case CliprdrChannel_FilecontentsResponse:
|
||||
event.v = (wMessage*) malloc(sizeof(RDP_CB_FILECONTENTS_RESPONSE_EVENT));
|
||||
ZeroMemory(event.v, sizeof(RDP_CB_FILECONTENTS_RESPONSE_EVENT));
|
||||
event.m->id = MakeMessageId(CliprdrChannel, FilecontentsResponse);
|
||||
break;
|
||||
|
||||
case CliprdrChannel_LockClipdata:
|
||||
event.v = (wMessage*) malloc(sizeof(RDP_CB_LOCK_CLIPDATA_EVENT));
|
||||
ZeroMemory(event.v, sizeof(RDP_CB_LOCK_CLIPDATA_EVENT));
|
||||
event.m->id = MakeMessageId(CliprdrChannel, LockClipdata);
|
||||
break;
|
||||
|
||||
case CliprdrChannel_UnLockClipdata:
|
||||
event.v = (wMessage*) malloc(sizeof(RDP_CB_UNLOCK_CLIPDATA_EVENT));
|
||||
ZeroMemory(event.v, sizeof(RDP_CB_UNLOCK_CLIPDATA_EVENT));
|
||||
event.m->id = MakeMessageId(CliprdrChannel, UnLockClipdata);
|
||||
break;
|
||||
|
||||
case CliprdrChannel_TemporaryDirectory:
|
||||
event.v = (wMessage*) malloc(sizeof(RDP_CB_TEMPDIR_EVENT));
|
||||
ZeroMemory(event.v, sizeof(RDP_CB_TEMPDIR_EVENT));
|
||||
event.m->id = MakeMessageId(CliprdrChannel, TemporaryDirectory);
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
return event.v;
|
||||
return event.m;
|
||||
}
|
||||
|
||||
static wMessage* freerdp_tsmf_event_new(UINT16 event_type)
|
||||
|
Loading…
x
Reference in New Issue
Block a user