X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcommon%2Ftransfermanager.h;h=2d09a1e7633409e58bbaf8c24cd687296898a102;hb=050a92232c0a7ff2251305a030dbd87943c3d467;hp=72f9fb99e4141bce3bfb0ad36d4613cf5e90be02;hpb=dd711790dddee81442e2138b3917764dac39c487;p=quassel.git diff --git a/src/common/transfermanager.h b/src/common/transfermanager.h index 72f9fb99..2d09a1e7 100644 --- a/src/common/transfermanager.h +++ b/src/common/transfermanager.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2015 by the Quassel Project * + * Copyright (C) 2005-2016 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -18,11 +18,12 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#ifndef TRANSFERMANAGER_H -#define TRANSFERMANAGER_H +#pragma once #include "syncableobject.h" +#include +#include #include class Transfer; @@ -32,25 +33,34 @@ class TransferManager : public SyncableObject Q_OBJECT SYNCABLE_OBJECT + Q_PROPERTY(TransferManager::TransferIdList transferIds READ transferIds WRITE setTransferIds) + public: - TransferManager(QObject *parent = 0); + using TransferIdList = QList; + + TransferManager(QObject *parent = nullptr); inline virtual const QMetaObject *syncMetaObject() const { return &staticMetaObject; } Transfer *transfer(const QUuid &uuid) const; - QList transferIds() const; + TransferIdList transferIds() const; signals: - void transferAdded(const Transfer *transfer); + void transferAdded(const QUuid &uuid); + void transferRemoved(const QUuid &uuid); protected: void addTransfer(Transfer *transfer); + void removeTransfer(const QUuid &uuid); protected slots: + virtual void setTransferIds(const TransferIdList &transferIds) { Q_UNUSED(transferIds) }; virtual void onCoreTransferAdded(const QUuid &uuid) { Q_UNUSED(uuid) }; private: QHash _transfers; - }; -#endif +Q_DECLARE_METATYPE(TransferManager::TransferIdList) + +QDataStream &operator<<(QDataStream &out, const TransferManager::TransferIdList &transferIds); +QDataStream &operator>>(QDataStream &in, TransferManager::TransferIdList &state);