From: Christian Kamm Date: Wed, 26 Apr 2017 10:40:32 +0000 (+0200) Subject: Port PollJob responses to Qt5's QJson #5710 X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~749 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=f1b42cedda44fb253e631daf3840bd0b75eb07d0;p=nextcloud-desktop.git Port PollJob responses to Qt5's QJson #5710 --- diff --git a/src/libsync/propagateupload.cpp b/src/libsync/propagateupload.cpp index 97261644b..e5f693995 100644 --- a/src/libsync/propagateupload.cpp +++ b/src/libsync/propagateupload.cpp @@ -27,10 +27,11 @@ #include "propagateremotedelete.h" #include "asserts.h" -#include #include #include #include +#include +#include #include #include @@ -141,26 +142,26 @@ bool PollJob::finished() return false; } - bool ok = false; QByteArray jsonData = reply()->readAll().trimmed(); qDebug() << Q_FUNC_INFO << ">" << jsonData << "<" << reply()->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(); - QVariantMap status = QtJson::parse(QString::fromUtf8(jsonData), ok).toMap(); - if (!ok || status.isEmpty()) { + QJsonParseError jsonParseError; + QJsonObject status = QJsonDocument::fromJson(jsonData, &jsonParseError).object(); + if (jsonParseError.error != QJsonParseError::NoError) { _item->_errorString = tr("Invalid JSON reply from the poll URL"); _item->_status = SyncFileItem::NormalError; emit finishedSignal(); return true; } - if (status["unfinished"].isValid()) { + if (status["unfinished"].toBool()) { start(); return false; } _item->_errorString = status["error"].toString(); _item->_status = _item->_errorString.isEmpty() ? SyncFileItem::Success : SyncFileItem::NormalError; - _item->_fileId = status["fileid"].toByteArray(); - _item->_etag = status["etag"].toByteArray(); + _item->_fileId = status["fileid"].toString().toUtf8(); + _item->_etag = status["etag"].toString().toUtf8(); _item->_responseTimeStamp = responseTimestamp(); SyncJournalDb::PollInfo info;