// as this is (still) also correct.
ValidateChecksumHeader *validator = new ValidateChecksumHeader(this);
connect(validator, SIGNAL(validated(QByteArray,QByteArray)),
- SLOT(downloadFinished()));
+ SLOT(downloadFinished(QByteArray,QByteArray)));
connect(validator, SIGNAL(validationFailed(QString)),
SLOT(slotChecksumFail(QString)));
auto checksumHeader = job->reply()->rawHeader(checkSumHeaderC);
}
} // end namespace
-void PropagateDownloadFileQNAM::downloadFinished()
+void PropagateDownloadFileQNAM::downloadFinished(const QByteArray& transportChecksumType,
+ const QByteArray& transportChecksum)
{
+ // by default, reuse the transport checksum as content checksum
+ _item->_contentChecksum = transportChecksum;
+ _item->_contentChecksumType = transportChecksumType;
+
QString fn = _propagator->getFilePath(_item->_file);
// In case of file name clash, report an error
private slots:
void slotGetFinished();
void abort() Q_DECL_OVERRIDE;
- void downloadFinished();
+ void downloadFinished(const QByteArray& transportChecksumType = QByteArray(),
+ const QByteArray &transportChecksum = QByteArray());
void slotDownloadProgress(qint64,qint64);
void slotChecksumFail( const QString& errMsg );
_transmissionChecksum = transmissionChecksum;
_transmissionChecksumType = transmissionChecksumType;
+ if (_item->_contentChecksum.isEmpty() && _item->_contentChecksumType.isEmpty()) {
+ // If the _contentChecksum was not set, reuse the transmission checksum as the content checksum.
+ _item->_contentChecksum = transmissionChecksum;
+ _item->_contentChecksumType = transmissionChecksumType;
+ }
+
const QString fullFilePath = _propagator->getFilePath(_item->_file);
if (!FileSystem::fileExists(fullFilePath)) {