Here is a new set of patches. Fairly similar to the last set but with the following changes: - patch 1 was merged - remove patch 2 (add typedef for virtual functiosn) - combine patches 4, 5, 6 - rebased everything - added 3 new patches with minor RedCharDevice cleanups I investigated changing patch 5 so that read_one_msg_from_device() would return a AgentDataPipeItem instead of a VDIReadBuf (as mentioned in my review), but decided it was too invasive, so I'm planning to defer that to after the refactory branch is fully merged. Christophe Fergeau (10): Introduce simple RedPipeItem class reds: Derive VDIPortReadBuf from RedPipeItem smartcard: Derive MsgItem from RedPipeItem spicevmc: Derive SpiceVmcPipeItem from RedPipeItem char-device: Replace RedCharDeviceMsgToClient with RedPipeItem char-device: Remove RedCharDeviceClass::{un, }ref_msg_to_client Replace RedCharDevice::on_free_self_token with a signal Remove use of opaque from vdi_port_read_one_msg_from_device Use GQueue for RedCharDevice::send_queue Use weak gobject ref instead of reds_on_char_device_state_destroy Jonathon Jongsma (3): char-device: notify when device instance is changed char device: use 'device' rather than 'state' for var names char device: use _reset_dev_instance() to set 'sin' server/Makefile.am | 2 + server/char-device.c | 172 ++++++++++++++++++++++--------------------------- server/char-device.h | 19 ++---- server/red-channel.c | 6 -- server/red-channel.h | 13 +--- server/red-pipe-item.c | 65 +++++++++++++++++++ server/red-pipe-item.h | 60 +++++++++++++++++ server/reds.c | 125 ++++++++++++++++++----------------- server/reds.h | 1 - server/smartcard.c | 56 +++++----------- server/spicevmc.c | 51 ++++----------- 11 files changed, 299 insertions(+), 271 deletions(-) create mode 100644 server/red-pipe-item.c create mode 100644 server/red-pipe-item.h -- 2.4.11 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel