X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Ftransfer.h;h=2bf852661d1e0a22878f32944a0be07552757c55;hp=5091b3f1dcbc041a9fd0f9c686e1281d73bc671f;hb=a95ad2de573027f9bee36db972bcae4195168d0c;hpb=2c62efdfd7e99e7af18704292acc2a0bcdcbbb95 diff --git a/src/common/transfer.h b/src/common/transfer.h index 5091b3f1..2bf85266 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-2020 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,22 +28,23 @@ #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 { + enum class Status + { New, Pending, Connecting, @@ -54,15 +56,21 @@ public: }; Q_ENUMS(State) - enum class Direction { + enum class Direction + { Send, Receive }; Q_ENUMS(Direction) - 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 const QMetaObject *syncMetaObject() const override { return &staticMetaObject; } + Transfer(const QUuid& uuid, QObject* parent = nullptr); // for creating a syncable object client-side + Transfer(Direction direction, + QString nick, + QString fileName, + const QHostAddress& address, + quint16 port, + quint64 size = 0, + QObject* parent = nullptr); QUuid uuid() const; Status status() const; @@ -78,7 +86,7 @@ public: public slots: // called on the client side - virtual void accept(const QString &savePath) const { Q_UNUSED(savePath); } + virtual void accept(const QString& savePath) const { Q_UNUSED(savePath); } virtual void reject() const {} // called on the core side through sync calls @@ -88,24 +96,24 @@ public slots: signals: void statusChanged(Transfer::Status state); void directionChanged(Transfer::Direction direction); - void addressChanged(const QHostAddress &address); + void addressChanged(const QHostAddress& address); void portChanged(quint16 port); - void fileNameChanged(const QString &fileName); + void fileNameChanged(const QString& fileName); void fileSizeChanged(quint64 fileSize); void transferredChanged(quint64 transferred); - void nickChanged(const QString &nick); + void nickChanged(const QString& nick); - void error(const QString &errorString); + void error(const QString& errorString); - void accepted(PeerPtr peer = 0) const; - void rejected(PeerPtr peer = 0) const; + void accepted(PeerPtr peer = nullptr) const; + void rejected(PeerPtr peer = nullptr) const; protected slots: void setStatus(Transfer::Status status); - void setError(const QString &errorString); + void setError(const QString& errorString); // called on the client side through sync calls - virtual void dataReceived(PeerPtr, const QByteArray &data) { Q_UNUSED(data); } + virtual void dataReceived(PeerPtr, const QByteArray& data) { Q_UNUSED(data); } virtual void cleanUp() = 0; @@ -113,12 +121,11 @@ private: void init(); void setDirection(Direction direction); - void setAddress(const QHostAddress &address); + void setAddress(const QHostAddress& address); void setPort(quint16 port); - void setFileName(const QString &fileName); + void setFileName(const QString& fileName); void setFileSize(quint64 fileSize); - void setNick(const QString &nick); - + void setNick(const QString& nick); Status _status; Direction _direction; @@ -133,9 +140,7 @@ private: Q_DECLARE_METATYPE(Transfer::Status) Q_DECLARE_METATYPE(Transfer::Direction) -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 +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);