Example #1
0
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)));
}
Example #3
0
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();
}