The component depends of FileManager. UploadManager and NetworkListener components depends of it.

UploadManager listen for a signal to tell it to upload some chunks. The signal signature may be void getChunks(QList<QSharedPointer<FM::IChunk>> chunks, int offset, QSharedPointer<PM:ISocket> socket). The offset corresponds to the the first chunk of the list, the uploader will send all the given chunks in the order.

PM:ISocket should be moved in the Common namespace.

The http ISocket implementation can limits the bandwidth.

The method QList<QSharedPointer<IChunk>> getAllChunks(const Protos::Common::Entry& localEntry) const should be added to IFileManager.