summaryrefslogtreecommitdiff
path: root/vdagent.c
AgeCommit message (Collapse)AuthorFilesLines
2011-03-28udscs: Let the read call back take owner ship of the dataHans de Goede1-1/+8
This avoids the need to do a memcpy if the read callback wants to keep the data around. This makes the read callback responsible for freeing the buffer.
2011-03-17vdagent: Add daemonizing support, daemonize by defaultHans de Goede1-11/+49
gnome-session will wait for autostartup "apps" marked with X-GNOME-Autostart-Phase=Initialization to signal they've completed starting or do an exit 0, before continuing with the next startup phase. Since we were doing neither, it would wait for a timeout until continueing causing a noticable delay before gdm showing the greeter, and after login. By daemonizing immediately after startup we avoid this delay without needing to go talk XSMP or something similar.
2010-10-30Rename user visible files from vdagent* to spice-vdagent*Hans de Goede1-2/+2
vdagent is a bit of a generic name and thus might create file conflicts, also just vdagent just not make it clear to the user that vdagent belongs to spice.
2010-10-29vdagent: catch quit / int signals and make them quit the main loop (iow exit ↵Hans de Goede1-1/+17
cleanly)
2010-10-28vdagent: do not use exit()Hans de Goede1-8/+10
Instead break from the main loop and properly cleanup behind ourselves This stops us from not flushing "Fatal ..." messages to the log.
2010-10-28vdagent: log to fileHans de Goede1-5/+27
2010-10-28vdagent-x11: add support for logging to a fileHans de Goede1-1/+1
2010-10-28reject non option cmdline argumentsHans de Goede1-1/+1
2010-10-27udscs: sync up callback disconnect handlingHans de Goede1-2/+1
2010-10-01vdagent FD_SET -> FD_ISSETHans de Goede1-1/+1
Thanks to kraxel (Gerd Hoffmann) for finding this.
2010-10-01Handle clipboard release messagesHans de Goede1-0/+3
2010-09-30finish client -> guest copy pasteHans de Goede1-2/+5
Also put selection requests in a queue so that we are sure to answer them in the same order as received.
2010-09-30client -> guest copy paste wipHans de Goede1-0/+4
Also make the grab_clipboard message argument a list of supported types, rather then assuming that the clipboard will always contain only one type.
2010-09-29Add message logging to udscsHans de Goede1-1/+4
2010-09-29Add preliminary guest -> client copy paste support to the x11 agent clientHans de Goede1-4/+8
2010-09-19Add VDAgentMonitorsConfig supportHans de Goede1-8/+5
2010-09-19vdagentd: Cache monitor configuration and forwardHans de Goede1-0/+13
When we receive monitor configuratin, cache it and forward it to currently connected vdagent clients. When a new vdagent connects send it the cahced monitor info (if we have any cached monitor info).
2010-09-17Add -d (debug) cmdline option to vdagentHans de Goede1-4/+28
2010-09-15Handle client / server disconnectHans de Goede1-7/+6
2010-09-15vdagent (client) Get resolution from the X-serverHans de Goede1-9/+18
Get the resolution from the X-server and send it to vdagentd which needs it for the size of the uinput device. Also notify vdagentd if the resolution changes.
2010-09-15Rename .c files to match new client server architectureHans de Goede1-301/+41
2010-09-14Add unix domain client server supportHans de Goede1-3/+76
To get a properly functioning agent we will need to split the functionality into a daemon (vdagentd, which has the rights to open the virtio device and to create fake input devices for the mouse) and into a client (vdagent) which runs under Xorg and thus can read / set things like the resolution and the clipboard and talks to the spice server / client through the daemon. Since we can have multiple xorg sessions active (through switch user for example), the daemon supports multiple agent connections. Security still needs to be filled in I'm afraid (see TODO). The protocol between the 2 is "described" in vdagentd-proto.h, currently there is only one vdagentd command, which allows vdagent to tell vdagentd the xorg screen resolution so that it knows what resolution to use for the fake absolute input device, and so that it can adjust that resolution if the xorg resolution changes. The client included in this commit is purely a test client, which just sends a hardcoded resolution once and then sits there and does nothing.
2010-05-07switch to spice-protocol headers.Gerd Hoffmann1-40/+49
2010-04-21redhat is .com not .orgGerd Hoffmann1-1/+1
2010-04-21initial commit.Gerd Hoffmann1-0/+254