X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fcoretransfermanager.cpp;h=c8f79dda641797f10b2cee982f5119ff7baf6dc9;hb=a20c9bf454288c998cb2a5d2a1fdf0927c93f1f3;hp=981ac28494150ab8db6c950a6cda6758ce14f3ed;hpb=100a2678adf2016b7b4753d09d868929de83294e;p=quassel.git diff --git a/src/core/coretransfermanager.cpp b/src/core/coretransfermanager.cpp index 981ac284..c8f79dda 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-2014 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -20,12 +20,36 @@ #include "coretransfermanager.h" -#include "transfer.h" - +#include "coretransfer.h" INIT_SYNCABLE_OBJECT(CoreTransferManager) CoreTransferManager::CoreTransferManager(QObject *parent) : TransferManager(parent) { + connect(this, SIGNAL(transferAdded(const Transfer*)), SLOT(onTransferAdded(const Transfer*))); +} + + +CoreTransfer *CoreTransferManager::transfer(const QUuid &uuid) const +{ + return qobject_cast(transfer_(uuid)); +} + + +void CoreTransferManager::addTransfer(CoreTransfer *transfer) +{ + TransferManager::addTransfer(transfer); +} + + +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); }