diff --git a/src/network/kernel/qnetworkinformation.cpp b/src/network/kernel/qnetworkinformation.cpp index c1e184f961b..42eb6cbb23c 100644 --- a/src/network/kernel/qnetworkinformation.cpp +++ b/src/network/kernel/qnetworkinformation.cpp @@ -470,21 +470,6 @@ QNetworkInformationBackendFactory::~QNetworkInformationBackendFactory() \sa QNetworkInformation::reachability */ -/*! - \enum QNetworkInformation::TriState - \since 6.2 - - A bool with a 3rd, unknown, state. - - \value False - Known to be \c{false}. - \value True - Known to be \c{true}. - \value Unknown - The state cannot be determined at present, either because the query is - not supported on this platform or because the OS lacks the information. -*/ - /*! \internal ctor */ @@ -494,7 +479,7 @@ QNetworkInformation::QNetworkInformation(QNetworkInformationBackend *backend) connect(backend, &QNetworkInformationBackend::reachabilityChanged, this, [this]() { emit reachabilityChanged(d_func()->backend->reachability()); }); connect(backend, &QNetworkInformationBackend::behindCaptivePortalChanged, this, [this]() { - emit behindCaptivePortalChanged(d_func()->backend->behindCaptivePortal()); + emit isBehindCaptivePortalChanged(d_func()->backend->behindCaptivePortal()); }); } @@ -523,19 +508,17 @@ QNetworkInformation::Reachability QNetworkInformation::reachability() const } /*! - \property QNetworkInformation::behindCaptivePortal + \property QNetworkInformation::isBehindCaptivePortal \brief Lets you know if the user's device is behind a captive portal. \since 6.2 - This property indicates if the user's device is currently behind a captive - portal. This functionality relies on the operating system's detection of - captive portals and is not supported on systems that don't report this. - On systems where this is not supported this will always return - TriState::Unknown. - - \sa TriState + This property indicates if the user's device is currently known to be + behind a captive portal. This functionality relies on the operating system's + detection of captive portals and is not supported on systems that don't + report this. On systems where this is not supported this will always return + \c{false}. */ -QNetworkInformation::TriState QNetworkInformation::behindCaptivePortal() const +bool QNetworkInformation::isBehindCaptivePortal() const { return d_func()->backend->behindCaptivePortal(); } diff --git a/src/network/kernel/qnetworkinformation.h b/src/network/kernel/qnetworkinformation.h index 6e700747bb3..7fa43a41876 100644 --- a/src/network/kernel/qnetworkinformation.h +++ b/src/network/kernel/qnetworkinformation.h @@ -55,7 +55,7 @@ class Q_NETWORK_EXPORT QNetworkInformation : public QObject Q_OBJECT Q_DECLARE_PRIVATE(QNetworkInformation) Q_PROPERTY(Reachability reachability READ reachability NOTIFY reachabilityChanged) - Q_PROPERTY(TriState behindCaptivePortal READ behindCaptivePortal NOTIFY behindCaptivePortalChanged) + Q_PROPERTY(bool isBehindCaptivePortal READ isBehindCaptivePortal NOTIFY isBehindCaptivePortalChanged) public: enum class Reachability { Unknown, @@ -66,13 +66,6 @@ public: }; Q_ENUM(Reachability) - enum class TriState { - False, - True, - Unknown, - }; - Q_ENUM(TriState) - enum class Feature { Reachability = 0x1, CaptivePortal = 0x2, @@ -82,7 +75,7 @@ public: Reachability reachability() const; - TriState behindCaptivePortal() const; + bool isBehindCaptivePortal() const; QString backendName() const; @@ -95,7 +88,7 @@ public: Q_SIGNALS: void reachabilityChanged(Reachability newReachability); - void behindCaptivePortalChanged(TriState state); + void isBehindCaptivePortalChanged(bool state); private: friend struct QNetworkInformationDeleter; diff --git a/src/network/kernel/qnetworkinformation_p.h b/src/network/kernel/qnetworkinformation_p.h index c71e7787a4e..73ef96e724c 100644 --- a/src/network/kernel/qnetworkinformation_p.h +++ b/src/network/kernel/qnetworkinformation_p.h @@ -70,7 +70,7 @@ public: virtual QNetworkInformation::Features featuresSupported() const = 0; QNetworkInformation::Reachability reachability() const { return m_reachability; } - QNetworkInformation::TriState behindCaptivePortal() const { return m_behindCaptivePortal; } + bool behindCaptivePortal() const { return m_behindCaptivePortal; } Q_SIGNALS: void reachabilityChanged(); @@ -85,7 +85,7 @@ protected: } } - void setBehindCaptivePortal(QNetworkInformation::TriState behindPortal) + void setBehindCaptivePortal(bool behindPortal) { if (m_behindCaptivePortal != behindPortal) { m_behindCaptivePortal = behindPortal; @@ -95,8 +95,7 @@ protected: private: QNetworkInformation::Reachability m_reachability = QNetworkInformation::Reachability::Unknown; - QNetworkInformation::TriState m_behindCaptivePortal = - QNetworkInformation::TriState::Unknown; + bool m_behindCaptivePortal = false; Q_DISABLE_COPY_MOVE(QNetworkInformationBackend) friend class QNetworkInformation; diff --git a/src/plugins/networkinformationbackends/android/qandroidnetworkinformationbackend.cpp b/src/plugins/networkinformationbackends/android/qandroidnetworkinformationbackend.cpp index 130b10d558f..9eef471989b 100644 --- a/src/plugins/networkinformationbackends/android/qandroidnetworkinformationbackend.cpp +++ b/src/plugins/networkinformationbackends/android/qandroidnetworkinformationbackend.cpp @@ -128,10 +128,7 @@ QAndroidNetworkInformationBackend::QAndroidNetworkInformationBackend() }); connect(conman, &AndroidConnectivityManager::captivePortalChanged, this, - [this](bool state) { - using TriState = QNetworkInformation::TriState; - setBehindCaptivePortal(state ? TriState::True : TriState::False); - }); + &QAndroidNetworkInformationBackend::setBehindCaptivePortal); } QT_END_NAMESPACE diff --git a/src/plugins/networkinformationbackends/networklistmanager/qnetworklistmanagernetworkinformationbackend.cpp b/src/plugins/networkinformationbackends/networklistmanager/qnetworklistmanagernetworkinformationbackend.cpp index ffed43aac77..d37f83832bd 100644 --- a/src/plugins/networkinformationbackends/networklistmanager/qnetworklistmanagernetworkinformationbackend.cpp +++ b/src/plugins/networkinformationbackends/networklistmanager/qnetworklistmanagernetworkinformationbackend.cpp @@ -365,10 +365,7 @@ void QNetworkListManagerNetworkInformationBackend::setConnectivity(NLM_CONNECTIV void QNetworkListManagerNetworkInformationBackend::checkCaptivePortal() { - const bool behindPortal = managerEvents->checkBehindCaptivePortal(); - using TriState = QNetworkInformation::TriState; - const auto triState = behindPortal ? TriState::True : TriState::False; - setBehindCaptivePortal(triState); + setBehindCaptivePortal(managerEvents->checkBehindCaptivePortal()); } bool QNetworkListManagerNetworkInformationBackend::event(QEvent *event) diff --git a/src/plugins/networkinformationbackends/networkmanager/qnetworkmanagernetworkinformationbackend.cpp b/src/plugins/networkinformationbackends/networkmanager/qnetworkmanagernetworkinformationbackend.cpp index a22be93f6c4..bfb04ae4a6e 100644 --- a/src/plugins/networkinformationbackends/networkmanager/qnetworkmanagernetworkinformationbackend.cpp +++ b/src/plugins/networkinformationbackends/networkmanager/qnetworkmanagernetworkinformationbackend.cpp @@ -144,16 +144,15 @@ QNetworkManagerNetworkInformationBackend::QNetworkManagerNetworkInformationBacke }); using ConnectivityState = QNetworkManagerInterface::NMConnectivityState; - using TriState = QNetworkInformation::TriState; const auto connectivityState = iface.connectivityState(); const bool behindPortal = (connectivityState == ConnectivityState::NM_CONNECTIVITY_PORTAL); - setBehindCaptivePortal(behindPortal ? TriState::True : TriState::False); + setBehindCaptivePortal(behindPortal); connect(&iface, &QNetworkManagerInterface::connectivityChanged, this, [this](ConnectivityState state) { const bool behindPortal = (state == ConnectivityState::NM_CONNECTIVITY_PORTAL); - setBehindCaptivePortal(behindPortal ? TriState::True : TriState::False); + setBehindCaptivePortal(behindPortal); }); } diff --git a/tests/auto/network/kernel/qnetworkinformation/tst_qnetworkinformation.cpp b/tests/auto/network/kernel/qnetworkinformation/tst_qnetworkinformation.cpp index 188355d3738..92dba1e7c1c 100644 --- a/tests/auto/network/kernel/qnetworkinformation/tst_qnetworkinformation.cpp +++ b/tests/auto/network/kernel/qnetworkinformation/tst_qnetworkinformation.cpp @@ -57,7 +57,7 @@ public: Q_ASSERT(!instance); instance = this; setReachability(QNetworkInformation::Reachability::Online); - setNewBehindCaptivePortal(QNetworkInformation::TriState::False); + setNewBehindCaptivePortal(false); } ~MockBackend() { instance = nullptr; } @@ -74,7 +74,7 @@ public: instance->setReachability(value); } - static void setNewBehindCaptivePortal(QNetworkInformation::TriState value) + static void setNewBehindCaptivePortal(bool value) { Q_ASSERT(instance); instance->setBehindCaptivePortal(value); @@ -164,25 +164,25 @@ void tst_QNetworkInformation::reachability() void tst_QNetworkInformation::behindCaptivePortal() { auto info = QNetworkInformation::instance(); - QNetworkInformation::TriState behindPortal = QNetworkInformation::TriState::Unknown; + bool behindPortal = false; bool signalEmitted = false; - connect(info, &QNetworkInformation::behindCaptivePortalChanged, this, - [&, info](QNetworkInformation::TriState state) { + connect(info, &QNetworkInformation::isBehindCaptivePortalChanged, this, + [&, info](bool state) { signalEmitted = true; - QCOMPARE(state, info->behindCaptivePortal()); - behindPortal = info->behindCaptivePortal(); + QCOMPARE(state, info->isBehindCaptivePortal()); + behindPortal = info->isBehindCaptivePortal(); }); - QCOMPARE(info->behindCaptivePortal(), QNetworkInformation::TriState::False); - MockBackend::setNewBehindCaptivePortal(QNetworkInformation::TriState::True); + QVERIFY(!info->isBehindCaptivePortal()); + MockBackend::setNewBehindCaptivePortal(true); QCoreApplication::processEvents(); QVERIFY(signalEmitted); - QCOMPARE(info->behindCaptivePortal(), QNetworkInformation::TriState::True); - QCOMPARE(behindPortal, QNetworkInformation::TriState::True); + QVERIFY(info->isBehindCaptivePortal()); + QVERIFY(behindPortal); // Set the same value again, signal should not be emitted again signalEmitted = false; - MockBackend::setNewBehindCaptivePortal(QNetworkInformation::TriState::True); + MockBackend::setNewBehindCaptivePortal(true); QCoreApplication::processEvents(); QVERIFY(!signalEmitted); } diff --git a/tests/manual/qnetworkinformation/tst_qnetworkinformation.cpp b/tests/manual/qnetworkinformation/tst_qnetworkinformation.cpp index 79ca27a4d1e..953ae132bf4 100644 --- a/tests/manual/qnetworkinformation/tst_qnetworkinformation.cpp +++ b/tests/manual/qnetworkinformation/tst_qnetworkinformation.cpp @@ -48,13 +48,13 @@ int main(int argc, char **argv) qDebug() << "Updated:" << newStatus; }); - QObject::connect(info, &QNetworkInformation::behindCaptivePortalChanged, - [](QNetworkInformation::TriState status) { + QObject::connect(info, &QNetworkInformation::isBehindCaptivePortalChanged, + [](bool status) { qDebug() << "Updated, behind captive portal:" << status; }); qDebug() << "Initial reachability:" << info->reachability(); - qDebug() << "Behind captive portal:" << info->behindCaptivePortal(); + qDebug() << "Behind captive portal:" << info->isBehindCaptivePortal(); return app.exec(); }