Convert RedChannelClient hierarchy to GObject

Enterprise / Virtualization / SPICE - Frediano Ziglio [redhat.com] - 7 October 2016 14:46 UTC

Convert the RedChannelClient heirarchy into GObjects. Since the existing constructors could fail and return NULL, I inherited the base channel client from GInitable, which introduces a dependency on gio.

When using private structs with GObject, there's a maximum size of (I think) 64k, which was exceeded by some of the private structs. To avoid this limitation I changed some members to dynamically allocated.

5193360 Convert RedChannelClient hierarchy to GObject
configure.ac | 4 +-
server/Makefile.am | 2 +
server/cursor-channel-client.c | 67 +++--
server/cursor-channel-client.h | 39 ++-
server/dcc-private.h | 8 -
server/dcc.c | 195 ++++++++++--
server/dcc.h | 42 ++-
server/display-channel.c | 4 +-
server/dummy-channel-client.c | 158 ++++++++++
server/dummy-channel-client.h | 64 ++++
server/inputs-channel-client.c | 58 ++--
server/inputs-channel-client.h | 51 +++-
server/main-channel-client.c | 139 +++++++--
server/main-channel-client.h | 39 ++-
server/red-channel-client-private.h | 4 +-
server/red-channel-client.c | 561 +++++++++++++++++++++++------------
server/red-channel-client.h | 85 ++++--
server/red-channel.h | 31 +-
server/smartcard-channel-client.c | 118 ++++++++
server/smartcard-channel-client.h | 47 ++-
server/smartcard.c | 16 +-
server/sound.c | 9 +-
server/spice-server.h | 16 +
server/spicevmc.c | 6 +-
24 files changed, 1376 insertions(+), 387 deletions(-)

Upstream: cgit.freedesktop.org


  • Share