[Spice-devel] [spice-gtk v2 00/16] separate SpiceFileTransferTask logic from channel-main

Victor Toso victortoso at redhat.com
Mon May 23 11:50:37 UTC 2016


The idea is mainly to have a design improvement over the current file-transfer
logic by trying to detach it from channel-main and the agent logic plus a few
simple tests.

One interesting change is about creating a FileTransfereOperation per
drag-and-drop operation in channel-main, which removes the progress_callback
logic from SpiceFileTransferTask as we don't want to call progress_callback on
SpiceFileTransferTask but rather on channel-main;

We are also calling the application callback for each finalized
SpiceFileTransferTask which means that it could be several callback calls per
operation. I suggested to fix that on patch 07.

Let me know your thoughts about this.
  Thanks

Victor Toso (16):
  file-xfer: make handle_status agnostic of channel-main (Acked by Pavel)
  file-xfer: introduce flush_callback and flush_done
  file-xfer: introduce create_tasks and start_task
  file-xfer: introduce file-info signal
  file-xfer: inform agent of errors only when task finished
  file-xfer: a FileTransferOperation per transfer call
  file-xfer: call user callback once per operation
  file-xfer: move to spice-file-transfer-task.c
  tests: file-transfer include simple tests
  tests: fix build with smartcard enabled
  channel: avoid crash on CHANNEL_DEBUG due NULL channel
  tests: file-transfer cancel on task start
  channel: avoid crash on spice_channel_wakupe due NULL channel
  tests: file-transfer cancel on file-info
  tests: file-transfer cancel on read file
  tests: file-transfer agent send error/cancel

 src/Makefile.am                     |   2 +
 src/channel-main.c                  | 910 ++++++++++--------------------------
 src/spice-channel-priv.h            |   4 +-
 src/spice-channel.c                 |   5 +-
 src/spice-file-transfer-task-priv.h |  56 +++
 src/spice-file-transfer-task.c      | 698 +++++++++++++++++++++++++++
 tests/Makefile.am                   |   3 +
 tests/file-transfer.c               | 412 ++++++++++++++++
 8 files changed, 1419 insertions(+), 671 deletions(-)
 create mode 100644 src/spice-file-transfer-task-priv.h
 create mode 100644 src/spice-file-transfer-task.c
 create mode 100644 tests/file-transfer.c

-- 
2.5.5



More information about the Spice-devel mailing list