spice/server
Christophe Fergeau c1b7f67b82 Add reference counting to PipeItem class
A user-defined callback is called when the refcount drops to 0.

Reference counting is manually coded for several classes deriving from
PipeItem, so this change will help to share this code, and allow to remove
some ref/unref virtual functions in some interfaces when we can assume
every instance derives from this base class.

Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Reviewed-by: Jonathon Jongsma <jjongsma@redhat.com>
2016-04-15 09:50:18 -05:00
..
tests replay: skip the first N (slow) commands 2016-03-16 10:09:07 +00:00
.gitignore Update the .gitignore files for the new manual, 2015-10-16 15:48:23 -05:00
agent-msg-filter.c agent: Sync AgentMsgFilter state upon agent connection 2016-03-21 10:34:29 +00:00
agent-msg-filter.h agent: Sync AgentMsgFilter state upon agent connection 2016-03-21 10:34:29 +00:00
cache-item.h server: rename files 2015-12-03 23:54:32 +00:00
cache-item.tmpl.c Rename red_channel_pipe_item_init to pipe_item_init 2016-03-10 11:36:52 +00:00
char-device.c Move RedCharDeviceCallbacks into RedCharDeviceClass 2016-04-07 11:42:37 -05:00
char-device.h Move RedCharDeviceCallbacks into RedCharDeviceClass 2016-04-07 11:42:37 -05:00
cursor-channel.c Add more red_qxl_ methods 2016-03-17 16:26:56 +00:00
cursor-channel.h reduce header dependencies 2016-03-04 14:24:54 +00:00
dcc-encoders.c Simplify red_drawable_unref() 2016-02-15 12:29:08 +00:00
dcc-encoders.h Remove RedGlzDrawable::group_id 2016-02-15 12:29:13 +00:00
dcc-send.c Use QXLInstance instead of QXLState in red_qxl_* 2016-03-17 16:26:33 +00:00
dcc.c Rename red_channel_pipe_item_init to pipe_item_init 2016-03-10 11:36:52 +00:00
dcc.h CommonChannel -> CommonGraphicsChannel 2016-02-17 12:58:40 +00:00
demarshallers.h Remove trailing blank lines 2012-01-13 18:11:59 +02:00
dispatcher.c Convert Dispatcher and MainDispatcher to GObjects 2016-03-30 17:19:24 +01:00
dispatcher.h Convert Dispatcher and MainDispatcher to GObjects 2016-03-30 17:19:24 +01:00
display-channel.c Remove last usage of global 'reds' variable 2016-03-23 08:21:57 +00:00
display-channel.h Remove use of global 'reds' within RedWorker 2016-03-05 10:29:26 +00:00
display-limits.h worker: start a DisplayChannelClient unit 2015-11-19 12:43:02 +00:00
event-loop.c revert new event-loop code for timers 2016-02-12 17:44:57 +00:00
glz-encode-match.tmpl.c server: rename _tmpl files 2015-11-26 13:33:36 +00:00
glz-encode.tmpl.c server: rename _tmpl files 2015-11-26 13:33:36 +00:00
glz-encoder-dict.c remove glz_encoder_config.h 2015-12-04 11:57:18 +00:00
glz-encoder-dict.h remove glz_encoder_config.h 2015-12-04 11:57:18 +00:00
glz-encoder-priv.h server: misc header cleanups 2015-12-09 22:17:51 +00:00
glz-encoder.c server: rename files 2015-12-03 23:54:32 +00:00
glz-encoder.h server: misc header cleanups 2015-12-09 22:17:51 +00:00
image-cache.c server: rename files 2015-12-03 23:54:32 +00:00
image-cache.h server: rename files 2015-12-03 23:54:32 +00:00
inputs-channel.c Remove red_channel_set_data() 2016-03-17 18:54:52 +00:00
inputs-channel.h Add RedsState arg to inputs_channel_new() 2016-02-12 15:32:47 +00:00
jpeg-encoder.c server: rename files 2015-12-03 23:54:32 +00:00
jpeg-encoder.h server: rename files 2015-12-03 23:54:32 +00:00
lz4-encoder.c server: rename files 2015-12-03 23:54:32 +00:00
lz4-encoder.h server: rename files 2015-12-03 23:54:32 +00:00
main-channel.c Remove red_channel_set_data() 2016-03-17 18:54:52 +00:00
main-channel.h reds: Move RedsState typedef to red-common.h 2016-04-06 10:30:00 +02:00
main-dispatcher.c Convert Dispatcher and MainDispatcher to GObjects 2016-03-30 17:19:24 +01:00
main-dispatcher.h Convert Dispatcher and MainDispatcher to GObjects 2016-03-30 17:19:24 +01:00
Makefile.am Add reference counting to PipeItem class 2016-04-15 09:50:18 -05:00
memslot.c memslot: do not crash if guest provide a wrong address 2016-02-18 10:36:26 +00:00
memslot.h server: rename files 2015-12-03 23:54:32 +00:00
migration-protocol.h server: rename files 2015-12-03 23:54:32 +00:00
mjpeg-encoder.c mjpeg: Add missing space to debug string 2016-04-01 15:16:27 +02:00
mjpeg-encoder.h server: Store the opaque pointer in VideoEncoderRateControlCbs 2016-03-03 11:47:49 +00:00
pixmap-cache.c syntax-check: Add missing #include <config.h> 2015-10-19 14:25:36 +02:00
pixmap-cache.h server: rename files 2015-12-03 23:54:32 +00:00
red-channel.c Add reference counting to PipeItem class 2016-04-15 09:50:18 -05:00
red-channel.h Add reference counting to PipeItem class 2016-04-15 09:50:18 -05:00
red-common.h reds: Move RedsState typedef to red-common.h 2016-04-06 10:30:00 +02:00
red-parse-qxl.c make RedDataChunk structure private inside red-parse-qxl.c 2016-02-16 13:13:00 +00:00
red-parse-qxl.h make RedDataChunk structure private inside red-parse-qxl.c 2016-02-16 13:13:00 +00:00
red-pipe-item.c Add reference counting to PipeItem class 2016-04-15 09:50:18 -05:00
red-pipe-item.h Add reference counting to PipeItem class 2016-04-15 09:50:18 -05:00
red-qxl.c Convert Dispatcher and MainDispatcher to GObjects 2016-03-30 17:19:24 +01:00
red-qxl.h qxl: Remove duplicate QXLState typedef 2016-04-06 10:30:00 +02:00
red-record-qxl.c server: Use '%zu' to print size_t variables 2015-12-15 17:50:05 +00:00
red-record-qxl.h server: rename files 2015-12-03 23:54:32 +00:00
red-replay-qxl.c server: Remove an unnecessary cast in spice_replay_next_cmd() 2016-02-25 09:18:06 +00:00
red-replay-qxl.h server: rename files 2015-12-03 23:54:32 +00:00
red-worker.c dispatcher: move channel final initialization to red-worker 2016-03-29 09:26:23 +01:00
red-worker.h dispatcher: move channel final initialization to red-worker 2016-03-29 09:26:23 +01:00
reds-private.h Rename VDIPortState to RedCharDeviceVDIPort 2016-04-06 11:45:28 -05:00
reds-stream.c Introduce reds_core_watch_* 2016-03-03 16:45:36 +00:00
reds-stream.h reds: Move RedsState typedef to red-common.h 2016-04-06 10:30:00 +02:00
reds.c char-device: Fix el6 compilation 2016-04-11 09:28:46 +02:00
reds.h reds: Move RedsState typedef to red-common.h 2016-04-06 10:30:00 +02:00
smartcard.c Move RedCharDeviceCallbacks into RedCharDeviceClass 2016-04-07 11:42:37 -05:00
smartcard.h smartcard: Turn RedCharDeviceSmartcard into a GObject 2016-04-06 11:37:07 -05:00
sound.c audio: Improve snd_receive type-safety 2016-04-05 16:49:40 +02:00
sound.h Remove use of global 'reds' from sound.c 2016-02-16 10:54:30 +00:00
spice-audio.h Split spice.h 2014-11-27 14:27:18 +01:00
spice-bitmap-utils.c do not compile dump_bitmap if not necessary 2016-03-24 13:11:46 +00:00
spice-bitmap-utils.h server: misc header cleanups 2015-12-09 22:17:51 +00:00
spice-bitmap-utils.tmpl.c server: rename _tmpl files 2015-11-26 13:33:36 +00:00
spice-char.h Split spice.h 2014-11-27 14:27:18 +01:00
spice-core.h Split spice.h 2014-11-27 14:27:18 +01:00
spice-experimental.h Add missing license headers 2015-10-19 14:25:36 +02:00
spice-input.h Split spice.h 2014-11-27 14:27:18 +01:00
spice-migration.h Move spice_server_get_num_clients() declaration 2014-11-27 15:03:38 +01:00
spice-qxl.h Add new spice-gl stubs API 2016-02-09 14:01:12 +00:00
spice-server.h Remove spice_server_set_keepalive_timeout 2016-03-11 18:27:51 +01:00
spice-server.syms Remove spice_server_set_keepalive_timeout 2016-03-11 18:27:51 +01:00
spice-version.h.in build-sys: generate spice-version.h 2014-11-27 14:27:33 +01:00
spice.h Split spice.h 2014-11-27 14:27:18 +01:00
spicevmc.c Move RedCharDeviceCallbacks into RedCharDeviceClass 2016-04-07 11:42:37 -05:00
stat.h Add RedsState arg to all stat functions 2016-02-15 12:04:02 +00:00
stream.c Rename red_channel_pipe_item_init to pipe_item_init 2016-03-10 11:36:52 +00:00
stream.h server: Add time constants to go with spice_get_monotonic_time_ms() 2015-12-14 11:24:47 +00:00
sw-canvas.c server: misc header cleanups 2015-12-09 22:17:51 +00:00
sw-canvas.h server: rename files 2015-12-03 23:54:32 +00:00
tree.c pass proper type to SPICE_CONTAINEROF 2015-12-04 13:33:54 +00:00
tree.h Move some tree item functions to tree.[ch] 2015-11-17 17:22:05 +00:00
utils.c worker: move dcc_add_surface_area_image 2015-11-23 13:50:44 +00:00
utils.h server: Add time constants to go with spice_get_monotonic_time_ms() 2015-12-14 11:24:47 +00:00
zlib-encoder.c server: rename files 2015-12-03 23:54:32 +00:00
zlib-encoder.h server: rename files 2015-12-03 23:54:32 +00:00