Go to file
Marc-André Lureau 524277aab2 Running out of reserved space, break ABI
The change abc56811de actually added
a field in a public struct while changing overall struct size, the
fields were also reorder, all of this breaks ABI.

However, we are running out of free space in SpiceChannelClass
struct. And since the SPICE_RESERVED_PADDING was 44 bytes, that is
quite limited on 64bits (only 5 pointers fit).

I propose we break ABI during this cycle. This means that programs
using spice-gtk will need to be recompiled to use the new library.
(the old library should be parallel installable though). This let us:
- use a better SPICE_RESERVED_PADDING based on pointer size, since
  it is what is usually added for virtual methods
- reset the amount taken from the padding in the various struct
- reorder fields a little
- add some missing "priv" pointers
- whatever I am missing that we can still change before next release

Please comment if I am missing something, or correct me
2012-05-17 16:19:53 +02:00
build-aux Generate ChangeLog and ship it in the tarball 2012-01-15 22:07:05 +01:00
data controller: handle USB redirection messages 2012-04-04 10:22:00 +02:00
doc build-sys: move codegen & proto to spice-common 2012-03-25 19:22:52 +02:00
gtk Running out of reserved space, break ABI 2012-05-17 16:19:53 +02:00
m4 buildsys: Disable some warnings 2012-03-14 15:22:48 +01:00
po Release v0.11 2012-03-08 15:43:30 +01:00
spice-common@5f44094940 session: correctly set and unset ssl-verify flags 2012-05-17 15:45:31 +02:00
vapi build: fix vapigen error and warnings 2012-01-24 02:01:27 +01:00
.gitmodules build-sys: move codegen & proto to spice-common 2012-03-25 19:22:52 +02:00
.mailmap Release 0.8 2012-01-15 22:07:05 +01:00
AUTHORS Release 0.8 2012-01-15 22:07:05 +01:00
autogen.sh autogen.sh: default to --enable-vala when building from git 2012-04-04 10:29:04 +02:00
configure.ac build-sys: pyparsing req. moved to spice-common 2012-04-21 20:46:36 +02:00
COPYING Initial import from SPICE 2010-11-23 17:00:17 +01:00
git.mk build-sys: use new git.mk 2012-03-20 00:20:45 +01:00
Makefile.am build-sys: move codegen & proto to spice-common 2012-03-25 19:22:52 +02:00
NEWS Release v0.12 2012-04-24 13:10:23 +02:00
README build-sys: pyparsing req. moved to spice-common 2012-04-21 20:46:36 +02:00
spice-client-glib-2.0.pc.in build: move @SPICE_GLIB_REQUIRES@ to Requires.private 2012-03-07 21:07:20 +01:00
spice-client-gtk-2.0.pc.in build: fix .pc Requires 2011-07-16 15:47:37 +02:00
spice-client-gtk-3.0.pc.in build: fix .pc Requires 2011-07-16 15:47:37 +02:00
spice-controller.pc.in gtk/controller: install spice-controller library 2011-04-10 00:46:52 +02:00
THANKS Release v0.10 2012-02-23 19:02:52 +01:00
TODO Release v0.7 2011-07-18 20:28:07 +02:00

spice-gtk
=========

A Gtk client and libraries for SPICE remote desktop servers.

Please report bugs at: spice-devel@lists.freedesktop.org

What you can find here
----------------------

libspice-client-glib-2.0
   provides glib objects for spice protocol decoding and surface rendering.
      * SpiceSession (see spice-session.h).
      * SpiceChannel (see spice-channel.h).
      * SpiceAudio (see spice-audio.h).
      * Various Spice<Type>Channel (see channel-<type>.h).

libspice-client-gtk-{2.0,3.0}
   provides gtk widget to show spice display and accept user input.
      * SpiceDisplay (see spice-widget.h)

spicy
   gtk based spice client app.  Command line options are simliar
   to the spicec ones.

snappy
   Command line tool, connects to spice server and writes out a
   screen shot.

spicy-stats
   Command line tool, connects to spice server and writes out a
   summary of connection details, amount of bytes transferred...

SpiceClientGtk python module (only built with Gtk+ 2.0)

SpiceClientGlib and SpiceClientGtk GObject-introspection modules.

Build dependencies:
------------------

. On Fedora: (gtk2-devel if building with --with-gtk=2.0)

gtk3-devel spice-protocol intltool celt051-devel
openssl-devel pulseaudio-libs-devel pixman-devel
gobject-introspection-devel libjpeg-turbo-devel zlib-devel
cyrus-sasl-devel gtk-doc

. To build python bindings for virt-manager, you need gtk2, and:

pygtk2-devel python

. The experimental GStreamer backend needs:

gstreamer-devel gstreamer-plugins-base-devel

. If you build from git, you'll also need:

libtool automake vala perl-Text-CSV


current state
-------------

There are some known bugs, check the TODO list and
bugzilla.freedesktop.org.

Copyright 2009-2011 Red Hat, Inc. and/or its affiliates.

This program and libraries is free software; you can redistribute it
and/or modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, see <http://www.gnu.org/licenses/>.