I am attempting to use the QT QNetworkAccessManager class to manage some downloads in a multi-threaded C++/QT application.
On worker thread (edit: the thread is seperate for other reasons aside from doing the download), I'm would like to do a get to an external server and be ready to receive the results with the code:
...
m_nam = new QNetworkAccessManager(this);
QNetworkReply *reply = m_nam->get(request);
connect(m_nam, SIGNAL(finished(QNetworkReply *)), this,
SIGNAL(finished(QNetworkReply *)));
...
But I might decide, before the download is finished, that I'm not interested in the result.
So I'd like to set up a way to disconnect the connection from another thread by emitting a signal do_abort().
What suggests itself is:
connect(this, SIGNAL(do_abort()), reply, SLOT(abort()));
But I don't think that will work because abort is not slot of QNetworkReply.
So how can I set a mechanism where I can stop this download from another thread? I could subclass QNetworkReply and give that class the appropriate slot. But I'd like to understand the situation also.