Delete remaining network replies and local redirct server in destructor

This commit is contained in:
Jonas Kvinge
2020-05-12 21:28:42 +02:00
parent 4bfad9dad8
commit e35501ff0a
46 changed files with 424 additions and 30 deletions

View File

@@ -57,6 +57,12 @@ AcoustidClient::AcoustidClient(QObject *parent)
network_(new NetworkAccessManager(this)),
timeouts_(new NetworkTimeouts(kDefaultTimeout, this)) {}
AcoustidClient::~AcoustidClient() {
CancelAll();
}
void AcoustidClient::SetTimeout(const int msec) { timeouts_->SetTimeout(msec); }
void AcoustidClient::Start(const int id, const QString &fingerprint, int duration_msec) {
@@ -82,10 +88,13 @@ void AcoustidClient::Start(const int id, const QString &fingerprint, int duratio
requests_[id] = reply;
timeouts_->AddReply(reply);
}
void AcoustidClient::Cancel(const int id) {
if (requests_.contains(id)) delete requests_.take(id);
}
void AcoustidClient::CancelAll() {
@@ -113,6 +122,7 @@ struct IdSource {
void AcoustidClient::RequestFinished(QNetworkReply *reply, const int request_id) {
disconnect(reply, nullptr, this, nullptr);
reply->deleteLater();
requests_.remove(request_id);