[PATCH spice-protocol V3] vd_agent.h: drag-and-drop support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



At present, Vmware and Virtualbox has supported file drag&drop feature,
I think it's a good feature for users, so we want qemu/spice to
supports it.

This patch first adds communication protocol between client and guest,
we must make the agent protocol stable before coding, this is what we
want this patch to do.

This feature has been discussed on spice mailing list.

The more details are available at following pages:
http://lists.freedesktop.org/archives/spice-devel/2012-November/011400.html
and
http://lists.freedesktop.org/archives/spice-devel/2012-November/011485.html

Signed-off-by: Dunrong Huang <riegamaths@xxxxxxxxx>
Cc: Hans de Goede <hdegoede@xxxxxxxxxx>
Cc: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Cc: Alon Levy <alevy@xxxxxxxxxx>
Cc: Uri Lublin <uril@xxxxxxxxxx>
---
V2 -> V3:
   * Use key-value text as data included in start message
   * s/VD_AGENT_FILE_XFER_RESULT_/VD_AGENT_FILE_XFER_STATUS_/
   	 s/VD_AGENT_FILE_XFER_RESULT_SUCCESS/VD_AGENT_FILE_XFER_STATUS_CAN_SEND_DATA/
   * Drop data compression

V1 -> V2:
   Address Hans's comment
 spice/vd_agent.h | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/spice/vd_agent.h b/spice/vd_agent.h
index 2b9884e..b05da3e 100644
--- a/spice/vd_agent.h
+++ b/spice/vd_agent.h
@@ -69,9 +69,34 @@ enum {
     VD_AGENT_CLIPBOARD_GRAB,
     VD_AGENT_CLIPBOARD_REQUEST,
     VD_AGENT_CLIPBOARD_RELEASE,
+    VD_AGENT_FILE_XFER_START,
+    VD_AGENT_FILE_XFER_STATUS,
+    VD_AGENT_FILE_XFER_DATA,
     VD_AGENT_END_MESSAGE,
 };
 
+enum {
+    VD_AGENT_FILE_XFER_STATUS_CAN_SEND_DATA,
+    VD_AGENT_FILE_XFER_STATUS_CANCELLED,
+    VD_AGENT_FILE_XFER_STATUS_ERROR,
+};
+
+typedef struct SPICE_ATTR_PACKED VDAgentFileXferStatusMessage {
+   uint32_t id;
+   uint32_t result;
+} VDAgentFileXferStatusMessage;
+
+typedef struct SPICE_ATTR_PACKED VDAgentFileXferStartMessage {
+   uint32_t id;
+   uint8_t data[0];
+} VDAgentFileXferStartMessage;
+
+typedef struct SPICE_ATTR_PACKED VDAgentFileXferDataMessage {
+   uint32_t id;
+   uint64_t size;
+   uint8_t data[0];
+} VDAgentFileXferDataMessage;
+
 typedef struct SPICE_ATTR_PACKED VDAgentMonConfig {
     uint32_t height;
     uint32_t width;
-- 
1.8.0

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]