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 O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.