Basic infrastructure for file transfers
authorManuel Nickschas <sputnick@quassel-irc.org>
Thu, 26 Dec 2013 19:57:34 +0000 (20:57 +0100)
committerManuel Nickschas <sputnick@quassel-irc.org>
Thu, 26 Dec 2013 20:02:59 +0000 (21:02 +0100)
commit100a2678adf2016b7b4753d09d868929de83294e
treef36a69b5a052ab1c607a6be48c16b83bb6a63fd0
parentf44459818f34b556df8ff2f400098c50b78501eb
Basic infrastructure for file transfers

This introduces the Transfer class as well as TransferManager and the
specialized versions for client and core. It also adds the needed accessors
in Client and CoreSession as well as the SyncableObject stuff to make it all
work together.

To make something happen, a Transfer needs to be created on the core side with
the appropriate attributes; it needs then to be synchronized and handed over
to CoreTransferManager::addTransfer(). This will trigger the creation of the
appropriate Transfer object on the client side, adding this to the
ClientTransferManager as soon as synchronization is complete (meaning, the
transferAdded() signal will be fired with a fully synchronized Transfer object).

Note that the list of transfers is not synchronized (yet?), so there won't be a
transfer history on re-sync.
16 files changed:
src/client/CMakeLists.txt
src/client/client.cpp
src/client/client.h
src/client/clienttransfermanager.cpp [new file with mode: 0644]
src/client/clienttransfermanager.h [new file with mode: 0644]
src/common/CMakeLists.txt
src/common/quassel.cpp
src/common/transfer.cpp [new file with mode: 0644]
src/common/transfer.h [new file with mode: 0644]
src/common/transfermanager.cpp [new file with mode: 0644]
src/common/transfermanager.h [new file with mode: 0644]
src/core/CMakeLists.txt
src/core/coresession.cpp
src/core/coresession.h
src/core/coretransfermanager.cpp [new file with mode: 0644]
src/core/coretransfermanager.h [new file with mode: 0644]