#include "syncableobject.h"
+#include <QHash>
+#include <QList>
#include <QUuid>
class Transfer;
Q_OBJECT
SYNCABLE_OBJECT
+ Q_PROPERTY(TransferManager::TransferIdList transferIds READ transferIds WRITE setTransferIds)
+
public:
- using SyncableObject::SyncableObject;
+ using TransferIdList = QList<QUuid>;
+
+ TransferManager(QObject *parent = nullptr);
inline virtual const QMetaObject *syncMetaObject() const { return &staticMetaObject; }
Transfer *transfer(const QUuid &uuid) const;
- QList<QUuid> transferIds() const;
+ TransferIdList transferIds() const;
signals:
void transferAdded(const QUuid &uuid);
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<QUuid, Transfer *> _transfers;
-
};
+
+Q_DECLARE_METATYPE(TransferManager::TransferIdList)
+
+QDataStream &operator<<(QDataStream &out, const TransferManager::TransferIdList &transferIds);
+QDataStream &operator>>(QDataStream &in, TransferManager::TransferIdList &state);