mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice-protocol
synced 2026-01-11 16:51:34 +00:00
vd_agent: add protocol messages for clipboard/selection-owner model
-VD_AGENT_CLIPBOARD_GRAB(type) - tell the other side that an application in our side ("we") got ownership of the clipboard.
-VD_AGENT_CLIPBOARD_REQUEST(type) - after we know the other side owns the clipboard (GRAB received), we notify the os we are the owner. when we are asked by the os/app for the clipboard data, we send this REQUEST msg to the other side.
-VD_AGENT_CLIPBOARD(type, data) - the existing message for sending the clipboard, is now sent only in response to REQUEST.
-VD_AGENT_CLIPBOARD_RELEASE - tell the other side that we are no longer the owner of the clipboard (e.g. the owner app was closed).
this patch will be followed by agent & client patches handling the above messages.
This commit is contained in:
parent
57872d7887
commit
5fdd0ba665
@ -65,6 +65,9 @@ enum {
|
||||
VD_AGENT_CLIPBOARD,
|
||||
VD_AGENT_DISPLAY_CONFIG,
|
||||
VD_AGENT_ANNOUNCE_CAPABILITIES,
|
||||
VD_AGENT_CLIPBOARD_GRAB,
|
||||
VD_AGENT_CLIPBOARD_REQUEST,
|
||||
VD_AGENT_CLIPBOARD_RELEASE,
|
||||
VD_AGENT_END_MESSAGE,
|
||||
};
|
||||
|
||||
@ -121,7 +124,6 @@ enum {
|
||||
VD_AGENT_ERROR,
|
||||
};
|
||||
|
||||
//FIXME: size required?
|
||||
typedef struct SPICE_ATTR_PACKED VDAgentClipboard {
|
||||
uint32_t type;
|
||||
uint8_t data[0];
|
||||
@ -129,8 +131,17 @@ typedef struct SPICE_ATTR_PACKED VDAgentClipboard {
|
||||
|
||||
enum {
|
||||
VD_AGENT_CLIPBOARD_UTF8_TEXT = 1,
|
||||
VD_AGENT_CLIPBOARD_BITMAP,
|
||||
};
|
||||
|
||||
typedef struct SPICE_ATTR_PACKED VDAgentClipboardGrab {
|
||||
uint32_t type;
|
||||
} VDAgentClipboardGrab;
|
||||
|
||||
typedef struct SPICE_ATTR_PACKED VDAgentClipboardRequest {
|
||||
uint32_t type;
|
||||
} VDAgentClipboardRequest;
|
||||
|
||||
enum {
|
||||
VD_AGENT_CAP_MOUSE_STATE = 0,
|
||||
VD_AGENT_CAP_MONITORS_CONFIG,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user