X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fcoretransfermanager.cpp;h=eb01263fa4a9895f029ee333ef07ac58e4f419f0;hb=07b0587b932ccbfb0d93f59109b23b97ba85f4cf;hp=a11927abcc0e4156155b5f6833ded2d577834e8a;hpb=f5bb6544096b45cde4642e821654c48e26a9f79c;p=quassel.git diff --git a/src/core/coretransfermanager.cpp b/src/core/coretransfermanager.cpp index a11927ab..eb01263f 100644 --- a/src/core/coretransfermanager.cpp +++ b/src/core/coretransfermanager.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2013 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -20,8 +20,7 @@ #include "coretransfermanager.h" -#include "transfer.h" - +#include "coretransfer.h" INIT_SYNCABLE_OBJECT(CoreTransferManager) CoreTransferManager::CoreTransferManager(QObject *parent) @@ -31,20 +30,26 @@ CoreTransferManager::CoreTransferManager(QObject *parent) } -void CoreTransferManager::onTransferAdded(const Transfer *transfer) +CoreTransfer *CoreTransferManager::transfer(const QUuid &uuid) const { - connect(transfer, SIGNAL(accepted(PeerPtr)), SLOT(onTransferAccepted(PeerPtr))); - connect(transfer, SIGNAL(rejected(PeerPtr)), SLOT(onTransferRejected(PeerPtr))); + return qobject_cast(transfer_(uuid)); } -void CoreTransferManager::onTransferAccepted(PeerPtr peer) +void CoreTransferManager::addTransfer(CoreTransfer *transfer) { - + TransferManager::addTransfer(transfer); } -void CoreTransferManager::onTransferRejected(PeerPtr peer) +void CoreTransferManager::onTransferAdded(const Transfer *transfer) { - + // for core-side use, publishing a non-const pointer is ok + CoreTransfer *t = const_cast(qobject_cast(transfer)); + if (!t) { + qWarning() << "Invalid Transfer added to CoreTransferManager!"; + return; + } + + emit transferAdded(t); }