As soon as we get the reply for each request, QNetworkAccessManager::finished(QNetworkReply * reply) signal is emitted. The reply parameter will contain a pointer to the reply that has just finished.

So, the list currentDownloads holds all the information regarding the reply for our url requests.

Now, it's time to process the list of replies. It's doing it in downloadFinished which is actually a slot for the finished() signal that our QNetworkAccessManager's instance has sent by signal and slot mechanism.