bool JsonApiJob::finished() { if (reply()->error() != QNetworkReply::NoError) { qWarning() << "Network error: " << path() << reply()->errorString() << reply()->attribute(QNetworkRequest::HttpStatusCodeAttribute); emit jsonRecieved(QVariantMap()); return true; } bool success = false; QString jsonStr = QString::fromUtf8(reply()->readAll()); QVariantMap json = QtJson::parse(jsonStr, success).toMap(); // empty or invalid response if (!success || json.isEmpty()) { qWarning() << "invalid JSON!" << jsonStr; emit jsonRecieved(QVariantMap()); return true; } emit jsonRecieved(json); return true; }
LocHisWidget::LocHisWidget(QWidget *parent) : QWidget(parent) { search = new LocationHistorySearchWidget(); results = new LocHisSearchResultsWidget(); layout = new QVBoxLayout(); layout->addWidget(search); layout->addWidget(results); setLayout(layout); tracker = new NetTracker(); connect(search,SIGNAL(request(QUrl)), tracker,SLOT(getUrl(QUrl))); connect(tracker,SIGNAL(stringRecieved(QString)), results,SLOT(stringReply(QString))); connect(tracker,SIGNAL(jsonRecieved(QVariant)), results,SLOT(jsonReply(QVariant))); }
void ConnectionValidator::checkServerCapabilities() { JsonApiJob *job = new JsonApiJob(_account, QLatin1String("ocs/v1.php/cloud/capabilities"), this); QObject::connect(job, SIGNAL(jsonRecieved(QVariantMap)), this, SLOT(slotCapabilitiesRecieved(QVariantMap))); job->start(); }