summaryrefslogtreecommitdiffstats
path: root/client/red_client.h
Commit message (Collapse)AuthorAgeFilesLines
* spicec: name host paramArnon Gilboa2010-10-171-1/+1
|
* spicec: don't send agent messages directly from ClipboardListener callbacksHans de Goede2010-10-061-0/+32
| | | | | | | | ClipboardListener callbacks can run from another thread then the main channel loop thread, where agent messages are normally dispatched from. So they may not send agent messages directly, instead they should post events to the main channel loop.
* Keep track of clipboard ownershipHans de Goede2010-10-021-0/+1
| | | | | | | | | | | | | Given that all clipboard handling is async, it is possible to for example receive a request for clipboard data from the agent while the client no longer owns the clipboard (ie a VD_AGENT_CLIPBOARD_RELEASE message is in transit to the agent). 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.
* Change VD_AGENT_CLIPBOARD_GRAB to an array of typesHans de Goede2010-10-011-3/+14
| | | | | | | A clipboard owner can indicate that it can supply the data the clipboard owns in multiple formats, so make the data passed with a VD_AGENT_CLIPBOARD_GRAB message an array of types rather then a single type.
* client: support clipboard/selection-owner model (v2)Arnon Gilboa2010-10-011-6/+24
| | | | | | | | | | | | | | | | | | | | | | | | | -includes most of Hans' review fixes (up to the SelectionRequest comment [4]) & X11 wips sent by Hans (10x!) -use the VD_AGENT_CLIPBOARD_* types in the platform code -add ifs for VD_AGENT_CAP_CLIPBOARD_BY_DEMAND in both sides -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) -set client as clipboard listener instead of application -add atexit(cleanup) in win platform linux: -instead of clipboard atom selection instead of XA_PRIMARY -enable USE_XRANDR_1_2 and support clipboard in MultyMonScreen -send utf8 with no null termination, remove ++size -add xfixes in configure.ac & Makefile.am windows: -bonus: support image cut & paste, currently only on windows not done yet: -clipboards formats are still uint32_t, not mime types stores as strings -platform_win is still used, not the root window -not replaced the ugly windows CF_DIB in agent/winclient
* client: add announce_capabilitiesAlon Levy2010-08-311-0/+5
|
* client: Fix for clipboard sending; It wasn't thread safe.Yonit Halperin2010-08-231-1/+8
|
* client: add clipboard supportArnon Gilboa2010-07-191-0/+7
| | | | | | | | * windows - untested * linux - small strings both ways, large implemented differently: * client to guest - support INCR * guest to client - we supply a single possibly very large property * requires server changes in next patch to work with spice-vmc
* client: command line arguments for setting windows guest monitors'Yonit Halperin2010-07-191-0/+25
| | | | color depth and disabling some display options (helpful on WAN)
* client: Support connecting to a major==1 serverAlexander Larsson2010-06-221-0/+3
|
* Make all message structs internal to spiceAlexander Larsson2010-06-181-1/+1
| | | | | | | We move all message structs from spice-protocol to spice as we want to be able to change these as needed internally. The on-network format is no longer defined by these structures anyway, but rather by the spice protocol description.
* Relicense everything from GPL to LGPL 2.1+Alexander Larsson2010-04-131-9/+9
|
* client: handling SPICE_MSG_MAIN_MIGRATE_SWITCH_HOSTYonit Halperin2010-04-061-0/+3
| | | | disconnecting from the current host and connecting to the target host.
* client: add command line support for ciphers, ca file, and host certificate ↵Yonit Halperin2010-03-181-0/+3
| | | | subject
* Use the new header namesAlexander Larsson2010-02-041-2/+2
| | | | | | I just ran: find -name "*.[ch]" | xargs sed -i -f ../spice-protocol/includes.sed find -name "*.cpp" | xargs sed -i -f ../spice-protocol/includes.sed
* Rename symbols that were changed in spice-protocolAlexander Larsson2010-02-041-3/+3
| | | | | | This is an automatic change using: $ find -name "*.[ch]" | xargs ../spice-protocol/rename-identifiers.sh ../spice-protocol/renames $ find -name "*.cpp" | xargs ../spice-protocol/rename-identifiers.sh ../spice-protocol/renames
* server,client: server authentication for secured channels.Yonit Halperin2010-01-111-0/+3
| | | | | | | | | 3 available mechanisms: by public key, by host name, and by certificate subject name. In the former method, chain of trust verification is not performed. The CA certificate files are looked for under <spice-config-dir>/spice_truststore.pem windows <spice-config-dir>=%APPDATA%\spicec\ linux <spice-config-dir>=$HOME/.spicec/
* client: add GUI infrastructure + functional login dialogYaniv Kamay2009-12-281-6/+6
|
* client: interactive screen layerYaniv Kamay2009-11-301-0/+7
|
* spice client: remove timer interface from platform - use Application (via ↵Yonit Halperin2009-11-091-1/+7
| | | | ProcessLoop interface).
* spice client: creating a general process loop.Yonit Halperin2009-11-091-1/+1
| | | | | | | | | | | The process loop is responsible for: 1) waiting for events 2) timers 3) events queue for actions that should be performed in the context of the thread and are pushed from other threads. The benefits: 1) remove duplicity: till now, there was one implementaion of events loop for the channels and another one for the main thread. 2) timers can be executed on each thread and not only on the main thread. 3) events can be pushed to each thread and not only to the main thread. In this commit, only the main thread was modified to use the new process loop.
* fresh startYaniv Kamay2009-10-141-0/+234