Commit Graph

41 Commits

Author SHA1 Message Date
Alon Levy
db2d109d69 vdservice/vdi_port refactor: cosmetic changes
* move comment about ring to the proper file, vdi_port.h
 * introduce enums for EVENT indices (0,1 for Virtio, 0 for PCI)
 * move fill_events to cpp (leave the single lines inline).
2011-01-11 17:19:07 +02:00
Alon Levy
0f92cbea70 vdi_port refactor: introduce old pci_vdi_port
This patch is a little dirty due to EOL convertion to windows format.

 + add pci_vdi_port with PCIVDIPort taken from last commit before
  changing to virtio-serial (a17ccbf323)
 + move handle_error to VDIPort (identical in VIRTIOVDIPort and PCIVDIPort)
 + make VDService create first a virtio, then init, the pci, then init,
  stopping when the first init succeeds, and reporting to log which was
  created.
2011-01-11 17:18:47 +02:00
Alon Levy
935330f996 vdi_port refactor: move ring handling to VDIPort, split h file, remove some debug prints 2011-01-11 17:18:02 +02:00
Alon Levy
904b0860b3 vdi_port refactor: introduce interface
make VDIPort an abstract class.
rename old VDIPort VirtioVDIPort.
h file for virtio_vdi_port will be introduced later.
2011-01-11 17:17:47 +02:00
Alon Levy
842950d67c start refactoring vdi_port
introduce VDIPort::get_num_events and VDIPort::fill_events,
change VDService::_events to be dynamically allocated
document _events contents: STATIC events, then vdi_port, then agent.
2011-01-11 17:17:18 +02:00
Arnon Gilboa
32fd4e69a5 vdagent: use best match for resolution change
similar handling as linux agent
2010-12-14 17:40:38 +02:00
Arnon Gilboa
97f69ccade vdagent: add image copy-paste support
-currently png & bmp
-using wspice libs cximage.lib & png.lib
-jpg & tiff will follow
2010-11-23 17:19:55 +02:00
Arnon Gilboa
875cc05292 Revert "vdservice: add missing vdcommon.cpp"
This reverts commit 53b32d4db3 which becomes irrelevant due to previous revert.
2010-11-09 20:52:52 +02:00
Arnon Gilboa
35d1b7c835 Revert "vdservice: don't start when no qxl device present"
This reverts commit 349e6a5bf8 which breaks vsdervice on Windows 7
2010-11-09 20:50:21 +02:00
Arnon Gilboa
1e7f9e85a7 vdagent: handle multiple types on clipboard grab send & receive 2010-10-11 15:10:04 +02:00
Arnon Gilboa
d9c16de429 vdagent: remove clipboard_changer hack
Instead of keeping a flag, we simply check wether the new owner is usor not
2010-10-06 16:35:55 +02:00
Arnon Gilboa
f58826a83f vdagent: Keep track of clipboard ownership
Given that all clipboard handling is async, it is possible to for
example receive a request for clipboard data from the client
while the agent no longer owns the clipboard (ie a
VD_AGENT_CLIPBOARD_RELEASE message is in transit to the client).

Thus it is necessary to keep track of our notion of clipboard ownership
and check received clipboard messages (both from other apps on the client
machine and from the agent) to see if they match our notion and if not
drop, or in case were a counter message is expected nack the clipboard
message.(citing hansg)

clean ups: capability checks, return values
2010-10-06 13:31:15 +02:00
Arnon Gilboa
1d095da5d8 vdagent: receiving a clipboard request with an unsupported type is replied by data with a none type
Currently we send a VD_AGENT_CLIPBOARD_RELEASE when we receive a
VD_AGENT_CLIPBOARD_REQUEST with a type which we do not support. This is not
correct, as this means given up clipboard ownership while we may be able
to answer requests with different types. The correct response is to
nack the request by sending a VD_AGENT_CLIPBOARD (data) message with a type
of VD_AGENT_CLIPBOARD_NONE.(citing hansg)
2010-10-05 16:02:52 +02:00
Arnon Gilboa
9115c03973 vdagent: remove windows-specific bitmap cut & paste support
will wait until png comes in
2010-10-05 15:27:53 +02:00
Arnon Gilboa
23b5c1e068 vdagent: support & check VD_AGENT_CAP_CLIPBOARD_BY_DEMAND
cleanup, rename change -> grab, render->request
2010-09-29 14:24:44 +02:00
Arnon Gilboa
b5edf7c800 vdservice: use "com.redhat.spice.0" symbolic link as virtio-serial port path
remove get_device_path() by GUID & dependency on setupapi.lib
2010-09-22 08:55:03 +02:00
Arnon Gilboa
f2f2f874e1 vd_agent: support clipboard/selection-owner model
-enable the clipboard support
-support the GRAB/REQUEST/DATA/RELEASE verbs in both ways.
-pasting clipboard data is now "only-by-demand" from both sides (client and agent), whose behavior is symmetric.
-client and agent don't read or send the contents of the clipboard unnecessarily (e.g. copy, internal paste, repeating paste, focus change)
-bonus (no cost): support image cut & paste, currently only with win client
2010-09-21 19:14:17 +02:00
Arnon Gilboa
d3154e89a2 vdservice: replace VDAgentDataChunk with VDIChunkHeader 2010-09-21 19:03:09 +02:00
Arnon Gilboa
abf6905983 vdservice: cleanup vcprojs
-remove deprecated Detect64BitPortabilityProblems
-add setupapi.lib to AdditionalDependencies in x64
2010-09-21 19:00:05 +02:00
Alon Levy
f6bb602d07 vdagent: support announce_capabilities 2010-08-31 11:11:20 +03:00
Alon Levy
53b32d4db3 vdservice: add missing vdcommon.cpp 2010-08-29 15:07:47 +03:00
Alon Levy
349e6a5bf8 vdservice: don't start when no qxl device present 2010-08-24 14:56:28 +03:00
Alon Levy
53133102f6 Merge branch 'master' of git://anongit.freedesktop.org/spice/win32/vd_agent 2010-08-24 11:07:53 +03:00
Yonit Halperin
5833dc9760 Controlling Windows display settings (e.g., wallpaper, UI effects and font smoothing)
The configuration is received from Spice client.
The main usage of this option is for disabling display features in order to accelerate Spice performance over limited network connections.
2010-08-24 10:36:05 +03:00
Alon Levy
f064c627ef clipboard tester 2010-08-23 19:43:39 +03:00
Arnon Gilboa
8eb3e2e816 vdagent: support basic clipboard support (disabled by default)
-add CLIPBOARD_ENABLED ifdefs in the agent for disabling clipboard support
 -currently supports text only (UTF8)
2010-08-23 18:54:30 +03:00
Arnon Gilboa
81cd5620d2 vdservice/vdagent: fixes leading to clipboard (aka large) message handling
-add VDAgent::dispatch_message()
-in VDAgent::read_completion() handle multi-chunk msgs
-fix chunk size bug in VDService::handle_pipe_data()
-add size to VDPipeMessage
2010-08-23 18:54:25 +03:00
Alon Levy
feab057101 vdservice: change pipe write completion to use overlapped structure instead of completion routine 2010-08-23 18:54:18 +03:00
Alon Levy
f3277bd9b7 vdservice: add debug only define for standalone executable 2010-08-23 18:54:12 +03:00
Alon Levy
a32359a4dd vdservice: use enum for events in main loop 2010-08-23 18:54:05 +03:00
Alon Levy
a6c1ab59ca vdservice: remove dead defines in vdi_port.h 2010-08-23 18:53:56 +03:00
Alon Levy
1724de8a43 vdservice: replace vdiport device with virtio-serial device
replaced vdiport device by virtio-serial device which is also an easy
to use stream between guest and host but is already in qemu.

 * VDIPortBuffer split off from VDIPort
 * use setupapi to get device path
  * setupapi.lib dependency added, magic GUID instead of a magic filename
 * retry several times to open device, fixes startup race between driver
   initialization and service start on boot.
 * limit writes to device, a limitation of current windows driver.
 * virtio-serial uses overlapped structure and events for async read/write
   instead of vdi_port special event.
2010-08-23 18:53:49 +03:00
Alon Levy
a17ccbf323 include path fixes because of spice-protcol updates
* mutex.h inlined into common/vdcommon.h
 * vdagent.h renamed to spice/vd_agent.h
2010-08-23 18:53:24 +03:00
Arnon Gilboa
c909771c0e spice: vdagent: drop mouse event when SendInput fails due to DesktopSwitch event delay #598968 2010-08-23 18:52:34 +03:00
Arnon Gilboa
b850d5a8c7 spice: vdagent: return error code -1 on service install/uninstall failure #576625 2010-08-23 18:52:27 +03:00
Arnon Gilboa
ce07dc8a8d spice: vdagent: upgrade solution & projects to vs2008 2010-08-23 18:52:16 +03:00
Arnon Gilboa
8eafd5ef09 spice: vdagent: support x64 arch 2010-08-23 18:52:16 +03:00
Arnon Gilboa
c1b6d6a8a1 spice: vdagent: support x64 arch 2010-08-23 18:47:05 +03:00
Arnon Gilboa
f915fa4a72 vdagent: add win7 support to service for launching agent 2009-12-23 15:31:01 +02:00
Yaniv Kamay
6b670dfe5c change version to 0.5 2009-11-05 13:05:15 +02:00
Arnon Gilboa
5ee7b5b270 fresh start 2009-11-05 13:02:54 +02:00