First working version of DCC Receive
[quassel.git] / src / common / transfer.cpp
index 523d9e3..4d71fc1 100644 (file)
@@ -29,10 +29,10 @@ Transfer::Transfer(const QUuid &uuid, QObject *parent)
     _fileSize(0),
     _uuid(uuid)
 {
-    renameObject(QString("Transfer/%1").arg(_uuid.toString()));
+    init();
 }
 
-Transfer::Transfer(Direction direction, const QString &fileName, const QHostAddress &address, quint16 port, quint64 fileSize, QObject *parent)
+Transfer::Transfer(Direction direction, const QString &nick, const QString &fileName, const QHostAddress &address, quint16 port, quint64 fileSize, QObject *parent)
     : SyncableObject(parent),
     _state(New),
     _direction(direction),
@@ -40,9 +40,17 @@ Transfer::Transfer(Direction direction, const QString &fileName, const QHostAddr
     _address(address),
     _port(port),
     _fileSize(fileSize),
+    _nick(nick),
     _uuid(QUuid::createUuid())
+{
+    init();
+}
+
+
+void Transfer::init()
 {
     renameObject(QString("Transfer/%1").arg(_uuid.toString()));
+    setAllowClientUpdates(true);
 }
 
 
@@ -147,3 +155,28 @@ void Transfer::setFileSize(quint64 fileSize)
         emit fileSizeChanged(fileSize);
     }
 }
+
+
+QString Transfer::nick() const
+{
+    return _nick;
+}
+
+
+void Transfer::setNick(const QString &nick)
+{
+    if (_nick != nick) {
+        _nick = nick;
+        SYNC(ARG(nick));
+        emit nickChanged(nick);
+    }
+}
+
+
+void Transfer::setError(const QString &errorString)
+{
+    qWarning() << Q_FUNC_INFO << errorString;
+    emit error(errorString);
+    setState(Failed);
+    cleanUp();
+}