[Pkg-owncloud-commits] [owncloud-client] 85/175: TransmissionChecksumming: Remove SyncFileItem dependency.

Sandro Knauß hefee-guest at moszumanska.debian.org
Sat Aug 8 10:36:29 UTC 2015


This is an automated email from the git hooks/post-receive script.

hefee-guest pushed a commit to branch master
in repository owncloud-client.

commit 8f277e46d6922839406118d645a6ccec47054353
Author: Klaas Freitag <freitag at owncloud.com>
Date:   Thu May 21 15:51:48 2015 +0200

    TransmissionChecksumming: Remove SyncFileItem dependency.
---
 src/libsync/propagatedownload.cpp             |  2 +-
 src/libsync/propagateupload.cpp               |  8 ++++---
 src/libsync/propagateupload.h                 |  2 +-
 src/libsync/transmissionchecksumvalidator.cpp | 31 ++++++++++++---------------
 src/libsync/transmissionchecksumvalidator.h   |  8 +++----
 test/testtranschecksumvalidator.h             | 29 +++++++++++++------------
 6 files changed, 40 insertions(+), 40 deletions(-)

diff --git a/src/libsync/propagatedownload.cpp b/src/libsync/propagatedownload.cpp
index 76fa59c..58ba5f6 100644
--- a/src/libsync/propagatedownload.cpp
+++ b/src/libsync/propagatedownload.cpp
@@ -490,7 +490,7 @@ void PropagateDownloadFileQNAM::slotGetFinished()
     // will also emit the validated() signal to continue the flow in slot downloadFinished()
     // as this is (still) also correct.
     TransmissionChecksumValidator *validator = new TransmissionChecksumValidator(_tmpFile.fileName(), this);
-    connect(validator, SIGNAL(validated()), this, SLOT(downloadFinished()));
+    connect(validator, SIGNAL(validated(QByteArray)), this, SLOT(downloadFinished()));
     connect(validator, SIGNAL(validationFailed(QString)), this, SLOT(slotChecksumFail(QString)));
     validator->downloadValidation(job->reply()->rawHeader(checkSumHeaderC));
 
diff --git a/src/libsync/propagateupload.cpp b/src/libsync/propagateupload.cpp
index dfbba20..12e6c38 100644
--- a/src/libsync/propagateupload.cpp
+++ b/src/libsync/propagateupload.cpp
@@ -211,14 +211,16 @@ void PropagateUploadFileQNAM::start()
     // in any case, the validator will emit signal startUpload to let the flow
     // continue in slotStartUpload here.
     TransmissionChecksumValidator *validator = new TransmissionChecksumValidator(filePath, this);
-    connect(validator, SIGNAL(validated()), this, SLOT(slotStartUpload()));
-    validator->uploadValidation( &_item );
+    connect(validator, SIGNAL(validated(QByteArray)), this, SLOT(slotStartUpload(QByteArray)));
+    validator->uploadValidation();
 }
 
-void PropagateUploadFileQNAM::slotStartUpload()
+void PropagateUploadFileQNAM::slotStartUpload(const QByteArray& checksum)
 {
     const QString fullFilePath(_propagator->getFilePath(_item._file));
 
+    _item._checksum = checksum;
+
     if (!FileSystem::fileExists(fullFilePath)) {
         done(SyncFileItem::SoftError, tr("File Removed"));
         return;
diff --git a/src/libsync/propagateupload.h b/src/libsync/propagateupload.h
index 3746ff4..2a34faa 100644
--- a/src/libsync/propagateupload.h
+++ b/src/libsync/propagateupload.h
@@ -183,7 +183,7 @@ private slots:
     void startNextChunk();
     void finalize(const SyncFileItem&);
     void slotJobDestroyed(QObject *job);
-    void slotStartUpload();
+    void slotStartUpload(const QByteArray &checksum);
 
 private:
     void startPollJob(const QString& path);
diff --git a/src/libsync/transmissionchecksumvalidator.cpp b/src/libsync/transmissionchecksumvalidator.cpp
index 32a5dc8..34b57dd 100644
--- a/src/libsync/transmissionchecksumvalidator.cpp
+++ b/src/libsync/transmissionchecksumvalidator.cpp
@@ -45,39 +45,38 @@ QString TransmissionChecksumValidator::checksumType() const
     return checksumType;
 }
 
-void TransmissionChecksumValidator::uploadValidation( SyncFileItem *item )
+void TransmissionChecksumValidator::uploadValidation()
 {
     const QString csType = checksumType();
 
-    if( csType.isEmpty() || !item ) {
+    if( csType.isEmpty() ) {
         // if there is no checksum defined, continue to upload
-        emit validated();
+        emit validated(QByteArray());
     } else {
-        _item = item;
         // Calculate the checksum in a different thread first.
 
         connect( &_watcher, SIGNAL(finished()),
                  this, SLOT(slotUploadChecksumCalculated()));
         if( csType == checkSumMD5C ) {
-            item->_checksum = checkSumMD5C;
-            item->_checksum += ":";
+            _checksumHeader = checkSumMD5C;
+            _checksumHeader += ":";
             _watcher.setFuture(QtConcurrent::run(FileSystem::calcMd5, _filePath));
 
         } else if( csType == checkSumSHA1C ) {
-            item->_checksum = checkSumSHA1C;
-            item->_checksum += ":";
+            _checksumHeader = checkSumSHA1C;
+            _checksumHeader += ":";
             _watcher.setFuture(QtConcurrent::run( FileSystem::calcSha1, _filePath));
         }
 #ifdef ZLIB_FOUND
         else if( csType == checkSumAdlerC) {
-            item->_checksum = checkSumAdlerC;
-            item->_checksum += ":";
+            _checksumHeader = checkSumAdlerC;
+            _checksumHeader += ":";
             _watcher.setFuture(QtConcurrent::run(FileSystem::calcAdler32, _filePath));
         }
 #endif
         else {
             // for an unknown checksum, continue to upload
-            emit validated();
+            emit validated(QByteArray());
         }
     }
 }
@@ -87,12 +86,10 @@ void TransmissionChecksumValidator::slotUploadChecksumCalculated( )
     QByteArray checksum = _watcher.future().result();
 
     if( !checksum.isEmpty() ) {
-        _item->_checksum.append(checksum);
-    } else {
-        _item->_checksum.clear();
+        checksum.prepend( _checksumHeader );
     }
 
-    emit validated();
+    emit validated(checksum);
 }
 
 
@@ -104,7 +101,7 @@ void TransmissionChecksumValidator::downloadValidation( const QByteArray& checks
 
     // for empty checksum type, everything is valid.
     if( csType.isEmpty() ) {
-        emit validated();
+        emit validated(QByteArray());
         return;
     }
 
@@ -146,7 +143,7 @@ void TransmissionChecksumValidator::slotDownloadChecksumCalculated()
         emit validationFailed(tr("The downloaded file does not match the checksum, it will be resumed."));
     } else {
         // qDebug() << "Checksum checked and matching: " << _expectedHash;
-        emit validated();
+        emit validated(hash);
     }
 }
 
diff --git a/src/libsync/transmissionchecksumvalidator.h b/src/libsync/transmissionchecksumvalidator.h
index 81f2727..24a289d 100644
--- a/src/libsync/transmissionchecksumvalidator.h
+++ b/src/libsync/transmissionchecksumvalidator.h
@@ -19,7 +19,6 @@
 #include <QFutureWatcher>
 
 namespace OCC {
-class SyncFileItem;
 
 class TransmissionChecksumValidator : public QObject
 {
@@ -36,7 +35,7 @@ public:
      * the object will emit the signal validated(). The item->_checksum is than either
      * set to a proper value or empty.
      */
-    void uploadValidation( SyncFileItem *item );
+    void uploadValidation();
 
     /**
      * method to verify the checksum coming with requests in a checksum header. The required
@@ -54,7 +53,7 @@ public:
     QString checksumType() const;
 
 signals:
-    void validated();
+    void validated(const QByteArray& checksum);
     void validationFailed( const QString& errMsg );
 
 private slots:
@@ -64,8 +63,9 @@ private slots:
 private:
     QByteArray    _checksumType;
     QByteArray    _expectedHash;
+    QByteArray    _checksumHeader;
+
     QString       _filePath;
-    SyncFileItem *_item;
 
     // watcher for the checksum calculation thread
     QFutureWatcher<QByteArray> _watcher;
diff --git a/test/testtranschecksumvalidator.h b/test/testtranschecksumvalidator.h
index 58aa52d..5f0ac77 100644
--- a/test/testtranschecksumvalidator.h
+++ b/test/testtranschecksumvalidator.h
@@ -13,7 +13,6 @@
 
 #include "transmissionchecksumvalidator.h"
 #include "networkjobs.h"
-#include "syncfileitem.h"
 #include "utility.h"
 #include "filesystem.h"
 #include "propagatorjobs.h"
@@ -28,7 +27,6 @@ using namespace OCC;
         QString _root;
         QString _testfile;
         QString _expectedError;
-        SyncFileItem *_item;
         QEventLoop     _loop;
         QByteArray     _expected;
         bool           _successDown;
@@ -42,9 +40,9 @@ using namespace OCC;
 
     public slots:
 
-    void slotUpValidated() {
-         qDebug() << "Checksum: " << _item->_checksum;
-         QVERIFY(_expected == _item->_checksum );
+    void slotUpValidated(const QByteArray& checksum) {
+         qDebug() << "Checksum: " << checksum;
+         QVERIFY(_expected == checksum );
     }
 
     void slotDownValidated() {
@@ -67,7 +65,6 @@ using namespace OCC;
         _testfile = _root+"/csFile";
         Utility::writeRandomFile( _testfile);
 
-        _item = new SyncFileItem;
     }
 
     void testUploadChecksummingAdler() {
@@ -75,47 +72,50 @@ using namespace OCC;
         TransmissionChecksumValidator *vali = new TransmissionChecksumValidator(_testfile, this);
         vali->setChecksumType("Adler32");
 
-        connect(vali, SIGNAL(validated()), this, SLOT(slotUpValidated()));
+        connect(vali, SIGNAL(validated(QByteArray)), this, SLOT(slotUpValidated(QByteArray)));
 
         QString testfile = _testfile;
         _expected = "Adler32:"+FileSystem::calcAdler32( testfile );
         qDebug() << "XX Expected Checksum: " << _expected;
-        vali->uploadValidation(_item);
+        vali->uploadValidation();
 
         usleep(5000);
 
         _loop.processEvents();
+        delete vali;
     }
 
     void testUploadChecksummingMd5() {
 
         TransmissionChecksumValidator *vali = new TransmissionChecksumValidator(_testfile, this);
         vali->setChecksumType( OCC::checkSumMD5C );
-        connect(vali, SIGNAL(validated()), this, SLOT(slotUpValidated()));
+        connect(vali, SIGNAL(validated(QByteArray)), this, SLOT(slotUpValidated(QByteArray)));
 
         _expected = checkSumMD5C;
         _expected.append(":"+FileSystem::calcMd5( _testfile ));
-        vali->uploadValidation(_item);
+        vali->uploadValidation();
 
         usleep(2000);
 
         _loop.processEvents();
+        delete vali;
     }
 
     void testUploadChecksummingSha1() {
 
         TransmissionChecksumValidator *vali = new TransmissionChecksumValidator(_testfile, this);
         vali->setChecksumType( OCC::checkSumSHA1C );
-        connect(vali, SIGNAL(validated()), this, SLOT(slotUpValidated()));
+        connect(vali, SIGNAL(validated(QByteArray)), this, SLOT(slotUpValidated(QByteArray)));
 
         _expected = checkSumSHA1C;
         _expected.append(":"+FileSystem::calcSha1( _testfile ));
 
-        vali->uploadValidation(_item);
+        vali->uploadValidation();
 
         usleep(2000);
 
         _loop.processEvents();
+        delete vali;
     }
 
     void testDownloadChecksummingAdler() {
@@ -126,7 +126,8 @@ using namespace OCC;
         _successDown = false;
 
         TransmissionChecksumValidator *vali = new TransmissionChecksumValidator(_testfile, this);
-        connect(vali, SIGNAL(validated()), this, SLOT(slotDownValidated()));
+        vali->setChecksumType("Adler32");
+        connect(vali, SIGNAL(validated(QByteArray)), this, SLOT(slotDownValidated()));
         connect(vali, SIGNAL(validationFailed(QString)), this, SLOT(slotDownError(QString)));
         vali->downloadValidation(adler);
 
@@ -149,10 +150,10 @@ using namespace OCC;
         _loop.processEvents();
         QVERIFY(_errorSeen);
 
+        delete vali;
     }
 
 
     void cleanupTestCase() {
-        delete _item;
     }
 };

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud-client.git



More information about the Pkg-owncloud-commits mailing list