Commit Graph

27 Commits

Author SHA1 Message Date
Marc-André Lureau
a95e445606 Add a port channel
A Spice port channel carry arbitrary data between the Spice client and
the Spice server. It may be used to provide additional services on top
of a Spice connection. For example, a channel can be associated with
the qemu monitor for the client to interact with it, just like any
qemu chardev. Or it may be used with various protocols, such as the
Spice Controller.

A port kind is identified simply by a fqdn, such as org.qemu.monitor,
org.spice.spicy.test or org.ovirt.controller...
2012-12-05 11:26:35 +01:00
Marc-André Lureau
a1beca2fa1 channel: add flush_async()
Add spice_channel_flush_async() that asynchronously will write all the
pending channel data.
2012-12-05 11:26:34 +01:00
Marc-André Lureau
92f04cbcb8 inputs: add spice_inputs_key_press_and_release()
If the server is capable of SPICE_INPUTS_CAP_SCANCODE, then we send
can send a single message with key press and release, to avoid
unwanted guest side key repeatition due to network jitter.

If the server is not capable, spice-gtk will use some compatibility
mode and send the existing DOWN and UP key events seperately.
2012-08-28 18:50:11 +02:00
Marc-André Lureau
db1929a970 Release v0.13 2012-08-28 18:32:24 +02:00
Marc-André Lureau
66deab923d widget: add monitor property with ctor 2012-07-16 17:46:41 +02:00
Marc-André Lureau
05a203af12 build-sys: move codegen & proto to spice-common
With this iteration, all the spice_codegen.py/proto/marshaller
generation has been moved to spice-common.

The spice-common directory will ship spice-protocol, since it's needed
there too to build libspice-common.

Again, make distcheck passes. Build with mingw & fedora linux.
2012-03-25 19:22:52 +02:00
Marc-André Lureau
b9b658f6ea doc: gtk-doc cleanup
Fix all the unused symbols and a few warnings (a lot left)
2012-03-20 02:15:21 +01:00
Marc-André Lureau
126794d301 Add SPICE_DISABLE_DEPRECATED guard 2012-03-20 00:52:38 +01:00
Marc-André Lureau
5f39af6b88 Do not grab/release the clipboard on guest without clipboard support
Add an agent capability check before calling those functions from
gtk-session. Avoid extra warnings.
2012-01-31 23:23:22 +01:00
Hans de Goede
bf0350423c Add a USB device selection widget
This patch adds a SpiceUsbDeviceWidget which apps can use to easily
add an UI to select USB devices to redirect (or unredirect).

See spicy for an example usage.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2012-01-31 14:31:38 +01:00
Hans de Goede
fde996526b Remove auto-generated .gitignore files from git
Auto-generated files do not belong in git. Having these in git causes
changes to them accidentally ending up in other commits.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2011-10-10 11:55:57 +02:00
Hans de Goede
971eb9be73 usb-device-manager: One instance per session instead of a singleton
Since usb device manager keeps track of which usb channels there are and
if they have usb devices attached there should be one usb-device-manager
instance per session, rather then one global singleton.

Tying the usb-device-manager to the session also allows us to get rid of
spice_usb_device_manager_[un]register_channel and the need for SpiceDisplay
to call these.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2011-10-07 10:59:14 +02:00
Hans de Goede
91eeacbeef Move clipboard handling to SpiceGtkSession
This fixes copy and paste with multi-monitor guests. There still is
one small issue left with this patch, changing the setting for auto-clipboard
in one spicy window, does not get reflected in the Options menu of the
other spicy windows.

This can be fixed by listening to the notify signal, this also requires
SpiceDisplay to listen to property changes on its SpiceGtkSession and
then do a g_object_set on itself to update its own property (and also
emit its own notify signal.

I'll write a separate patch for this.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2011-10-06 11:36:39 +02:00
Hans de Goede
f6766163d2 Add a SpiceGtkSession Class
This initial commit of the SpiceGtkSession Class only adds the empty
class and the 1:1 linkage to SpiceSession through 2 new private methods
added to SpiceSession: spice_session_{get|set}_gtk_session.

The following commits will move things which are currently per SpiceDisplay,
but which really should be global, such as the clipboard, over to
SpiceGtkSession.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2011-10-06 11:36:39 +02:00
Hans de Goede
03b67fe957 usb-device-manager: Add a spice_usb_device_get_description() method
This is just a place holder for now. A better implementation requires
gusb changes, and I hope there will be an official gusb release by the
time I get around to fixing this up.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2011-09-01 11:51:14 +02:00
Marc-André Lureau
097356b437 doc: various improvements 2011-08-31 14:28:12 +02:00
Marc-André Lureau
4479fc4eb5 doc: update to include USB redirection 2011-08-31 14:26:17 +02:00
Marc-André Lureau
8d1d79d29b gtk: add spice_get_option_group() 2011-07-17 16:43:41 +02:00
Marc-André Lureau
fd0c76a889 gtk/doc: improve the generated gtk-doc a bit 2011-07-13 19:00:46 +02:00
Christophe Fergeau
f3c48f9985 smartcard: add smartcard API doc 2011-07-13 18:16:46 +02:00
Marc-André Lureau
ab516817d2 gtk: move channel verification parameter to session 2011-01-25 16:53:59 +01:00
Marc-André Lureau
d27f761325 gtk: rename s/spice-channel-enums/spice-glib-enums 2011-01-25 16:53:23 +01:00
Marc-André Lureau
7ee5ee8d08 gtk: add channel certificate 'verify' property 2011-01-24 14:51:48 +01:00
Daniel P. Berrange
a75f4eb21b Adapt build system to allow building with GTK3
The new configure flag '--with-gtk' can be used to choose
which GTK version to build against, defaulting to GTK2.
To enable GTK3 use

   ./configure --with-gtk=3.0

The libspice-client-glib-2.0.la library is unchanged, building
against glib-2.0 at all times.

The GTK3 build will produce a libspice-client-gtk-3.0.la
The include files will also live in $prefix/spice-client-gtk-3.0
and the pkgconfig is called spice-client-gtk-3.0 too.

This allows for full parallel install of GTK2 and GTK3 builds
2011-01-14 21:13:28 +01:00
Marc-André Lureau
e8e8457495 gtk: continue API documentation 2010-12-09 10:58:47 +01:00
Marc-André Lureau
2cd0637c78 gtk: s/vnc/spice/ grab_sequence, break API 2010-12-06 19:33:02 +01:00
Marc-André Lureau
165000de77 gtk: first stab at gtk-doc documentation 2010-12-05 22:19:16 +01:00