X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcommon%2Ftransfer.h;h=aa9da69be538dda31a4fdb6d43beb6de2de34d77;hb=92fc8c5b119111a35ab8423c3cbde5b2a022badf;hp=9a22253a5bfb3456410635ca696db84cdea49237;hpb=b89aafc0e3cdacca18224e2c1ceb4c5440e077f1;p=quassel.git diff --git a/src/common/transfer.h b/src/common/transfer.h index 9a22253a..aa9da69b 100644 --- a/src/common/transfer.h +++ b/src/common/transfer.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2015 by the Quassel Project * + * Copyright (C) 2005-2018 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -18,8 +18,9 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#ifndef TRANSFER_H -#define TRANSFER_H +#pragma once + +#include "common-export.h" #include #include @@ -27,19 +28,19 @@ #include "peer.h" #include "syncableobject.h" -class Transfer : public SyncableObject +class COMMON_EXPORT Transfer : public SyncableObject { Q_OBJECT SYNCABLE_OBJECT - Q_PROPERTY(QUuid uuid READ uuid); - Q_PROPERTY(Transfer::Status status READ status WRITE setStatus NOTIFY statusChanged); - Q_PROPERTY(Transfer::Direction direction READ direction WRITE setDirection NOTIFY directionChanged); - Q_PROPERTY(QHostAddress address READ address WRITE setAddress NOTIFY addressChanged); - Q_PROPERTY(quint16 port READ port WRITE setPort NOTIFY portChanged); - Q_PROPERTY(QString fileName READ fileName WRITE setFileName NOTIFY fileNameChanged); - Q_PROPERTY(quint64 fileSize READ fileSize WRITE setFileSize NOTIFY fileSizeChanged); - Q_PROPERTY(QString nick READ nick WRITE setNick NOTIFY nickChanged); + Q_PROPERTY(QUuid uuid READ uuid) + Q_PROPERTY(Transfer::Status status READ status WRITE setStatus NOTIFY statusChanged) + Q_PROPERTY(Transfer::Direction direction READ direction WRITE setDirection NOTIFY directionChanged) + Q_PROPERTY(QHostAddress address READ address WRITE setAddress NOTIFY addressChanged) + Q_PROPERTY(quint16 port READ port WRITE setPort NOTIFY portChanged) + Q_PROPERTY(QString fileName READ fileName WRITE setFileName NOTIFY fileNameChanged) + Q_PROPERTY(quint64 fileSize READ fileSize WRITE setFileSize NOTIFY fileSizeChanged) + Q_PROPERTY(QString nick READ nick WRITE setNick NOTIFY nickChanged) public: enum class Status { @@ -62,7 +63,6 @@ public: Transfer(const QUuid &uuid, QObject *parent = 0); // for creating a syncable object client-side Transfer(Direction direction, const QString &nick, const QString &fileName, const QHostAddress &address, quint16 port, quint64 size = 0, QObject *parent = 0); - inline virtual const QMetaObject *syncMetaObject() const { return &staticMetaObject; } QUuid uuid() const; Status status() const; @@ -74,6 +74,8 @@ public: quint64 fileSize() const; QString nick() const; + virtual quint64 transferred() const = 0; + public slots: // called on the client side virtual void accept(const QString &savePath) const { Q_UNUSED(savePath); } @@ -84,12 +86,13 @@ public slots: virtual void requestRejected(PeerPtr peer) { Q_UNUSED(peer); } signals: - void statusChanged (Transfer::Status state); + void statusChanged(Transfer::Status state); void directionChanged(Transfer::Direction direction); void addressChanged(const QHostAddress &address); void portChanged(quint16 port); void fileNameChanged(const QString &fileName); void fileSizeChanged(quint64 fileSize); + void transferredChanged(quint64 transferred); void nickChanged(const QString &nick); void error(const QString &errorString); @@ -134,5 +137,3 @@ QDataStream &operator<<(QDataStream &out, Transfer::Status state); QDataStream &operator>>(QDataStream &in, Transfer::Status &state); QDataStream &operator<<(QDataStream &out, Transfer::Direction direction); QDataStream &operator>>(QDataStream &in, Transfer::Direction &direction); - -#endif