<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div><span>Hi Dunrong,</span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'times new roman', 'new york', times, serif; background-color: transparent; font-style: normal; "><span><span class="Apple-tab-span" style="white-space:pre">      </span>I suppose you mean drag-and-drop between 'client' and guest. Then you may want to read this plan </span><a href="http://spice-space.org/page/Features/LocalFolderAccess" style="font-size: 12pt; ">http://spice-space.org/page/Features/LocalFolderAccess</a><span style="background-color: transparent; ">.</span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'times new roman', 'new york', times, serif; background-color: transparent; font-style: normal; "><span style="background-color: transparent; "><span class="Apple-tab-span" style="white-space:pre">
        </span>And yes, drag-and-drop is cool :)</span></div><div><span><br></span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'times new roman', 'new york', times, serif; background-color: transparent; font-style: normal; "><span>Regards,</span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'times new roman', 'new york', times, serif; background-color: transparent; font-style: normal; "><span>Daimon</span></div><div><br></div>  <div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; "> <div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; "> <div dir="ltr"> <font size="2" face="Arial"> <hr size="1">  <b><span style="font-weight:bold;">From:</span></b> Dunrong Huang <riegamaths@gmail.com><br> <b><span style="font-weight: bold;">To:</span></b> spice-devel <spice-devel@lists.freedesktop.org> <br> <b><span style="font-weight:
 bold;">Sent:</span></b> Saturday, October 20, 2012 5:06 PM<br> <b><span style="font-weight: bold;">Subject:</span></b> [Spice-devel] [RFC] Implement of file drag-and-drop between host and guest<br> </font> </div> <br>
Hi, all<br><br>I want to implement the feature: file drag-and-drop between the host and<br>guest. But i dont know whether someone is working on it, if this feature<br>has not been implemented, i want to implement it in my spare time.<br><br>Any suggestion is welcome.<br><br>My idea is:<br><br>0) Now i only consider file drag-n-drog from host to linux guest.<br><br>1) On QEMU side. virtserialport and spicevmc are used as communication<br>channel, e.g.<br>$ qemu -chardev spicevmc,id=charchannel0,name=filetrans -device<br>virtserialport,chardev=charchannel0,name=filetransfer<br><br>Because Hans has made spicevmc generic channel(commit c03038), we dont<br>need to change any code in QEMU for using spicevmc as backend of<br>virtualserialport.<br><br>2) On guest side. Use a simple daemon, or hack spice-agent to read/write<br>virtserialport mentioned above for receiving/sending file content.<br><br>Since we just want to receive/send file, the message protocol is
 simple.<br><br>3) On spice server side. Attach a new SpiceCharDevice for communication<br>with spice client and guset, rather than creating a new channel.<br>e.g.<br>static int spice_server_char_device_add_interface(SpiceServer *s,<br>                                           SpiceBaseInstance *sin)<br>{<br>    // [..snip..]<br>    if (strcmp(char_device->subtype, SUBTYPE_FILETRANSFER) == 0) {<br>        dev_state = attach_to_filetransfer(char_device);<br>    }<br>    // [..snip..]<br>}<br><br>The reason why i dont create a new channel is: a new channel wont<br>register util guest open the virtserialport. in this case, if spice client<br>connects to spice server, it can not receive any information about<br>the channel we created and will not create client channel for it.<br><br>4) On
 spice client. Spice client receives the message server passed to<br>it, handles the signal related "drag-n-drog", provide the callback for<br>handling it.<br><br><br>hans, Marc-André, any suggestion?<br><br>-- <br>Best Regards,<br><br>Dunrong Huang<br>_______________________________________________<br>Spice-devel mailing list<br><a ymailto="mailto:Spice-devel@lists.freedesktop.org" href="mailto:Spice-devel@lists.freedesktop.org">Spice-devel@lists.freedesktop.org</a><br>http://lists.freedesktop.org/mailman/listinfo/spice-devel<br><br><br> </div> </div>  </div></body></html>