Time for action – Parsing the server's reply

In the constructor, we have connected the manager's finished() signal to the finished() slot of the MainWindow class. It will thus be called after the request has been posted:

void MainWindow::finished(QNetworkReply *reply)
{
    if (m_reply != reply) {
        reply->deleteLater();
        return;
    }
    //...
}

First, we check whether the reply that was passed is the one that we have requested through m_network_manager. If this is not the case, we delete the reply and exit the function. This can happen if a reply was aborted by the sendRequest() slot. Since we are now sure that it is our request, we set m_reply to nullptr, because we have handled it and do not need this information any more:

m_reply = nullptr; if (reply->error() ...

Get Game Programming using Qt 5 Beginner's Guide - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.