From 51780c91a3d7b969b06d656bda04d5ad40402c29 Mon Sep 17 00:00:00 2001 From: Eshan Roy Date: Fri, 22 Nov 2024 06:21:14 +0530 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9E=20fix(=5Fnetwork):=20fix=20interne?= =?UTF-8?q?t=20connection=20detection?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- qt/snigdhaosblackbox.cpp | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/qt/snigdhaosblackbox.cpp b/qt/snigdhaosblackbox.cpp index 928200d..997e40a 100644 --- a/qt/snigdhaosblackbox.cpp +++ b/qt/snigdhaosblackbox.cpp @@ -31,7 +31,35 @@ SnigdhaOSBlackBox::~SnigdhaOSBlackBox() } void SnigdhaOSBlackBox::doInternetUpRequest(){ - + QNetworkAccessManager* network_manager = new QNetworkAccessManager(); + aut network_reply = network_manager->head(QNetworkRequest(QString(INTERNET_CHECK_URL))); + + QTimer* timer = new QTimer(this); + timer->setSingleShot(true); + timer->start(5000); + + //Try again fuction! + connect(timer, &QTimer::timeout, this, [this, timer, network_reply, network_manager]() { + timer->deleteLater(); + network_reply->abort(); + network_reply->deleteLater(); + network_manager->deleteLater(); + doInternetUpRequest(); + }); + + connect(network_reply, &QNetworkReply::finished, this, [this, timer, network_reply, network_manager]() { + timer->stop(); + timer->deleteLater(); + network_reply->deleteLater(); + network_manager->deleteLater(); + + if (network_reply->error() == network_reply->NoError) { + updateState(State::UPDATE); + } + else { + doInternetUpRequest(); + } + }); } void SnigdhaOSBlackBox::doUpdate(){