From 2983fe8f0900778a668bc4fdaf00d38ed299b6d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A5rten=20Nordheim?= Date: Mon, 8 Feb 2021 17:13:54 +0100 Subject: [PATCH] QNetworkInformation fixups Addressing feedback that came after the reviews ended from both bot and people. Added CLASS_NAME to the CMakeLists files for the plugins so that cmake can generate the correct import. Fixes: QTBUG-91061 Change-Id: Ib3f1e863100c1c421a6c0a4081b1d40696d67b23 Reviewed-by: Thiago Macieira (cherry picked from commit 92b15beb9aa09467583230a018c23114bb666a8e) --- src/network/kernel/qnetworkinformation.cpp | 5 ++--- src/network/kernel/qnetworkinformation.h | 2 +- src/network/kernel/qnetworkinformation_p.h | 4 +++- .../networkinformationbackends/android/CMakeLists.txt | 1 + .../networklistmanager/CMakeLists.txt | 1 + .../networkinformationbackends/networkmanager/CMakeLists.txt | 1 + .../qnetworkmanagernetworkinformationbackend.cpp | 4 ++++ .../scnetworkreachability/CMakeLists.txt | 1 + 8 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/network/kernel/qnetworkinformation.cpp b/src/network/kernel/qnetworkinformation.cpp index 2b0493ee269..9696a4fcc23 100644 --- a/src/network/kernel/qnetworkinformation.cpp +++ b/src/network/kernel/qnetworkinformation.cpp @@ -91,7 +91,6 @@ private: static bool initializeList(); std::unique_ptr backend; - bool m_isOnline = true; // cached }; bool QNetworkInformationPrivate::initializeList() @@ -461,7 +460,7 @@ QNetworkInformation::QNetworkInformation(QNetworkInformationBackend *backend) : QObject(*(new QNetworkInformationPrivate(backend))) { connect(backend, &QNetworkInformationBackend::reachabilityChanged, this, - [this]() { emit reachabilityChanged(d_func()->backend->m_reachability); }); + [this]() { emit reachabilityChanged(d_func()->backend->reachability()); }); } /*! @@ -485,7 +484,7 @@ QNetworkInformation::~QNetworkInformation() = default; QNetworkInformation::Reachability QNetworkInformation::reachability() const { - return d_func()->backend->m_reachability; + return d_func()->backend->reachability(); } /*! diff --git a/src/network/kernel/qnetworkinformation.h b/src/network/kernel/qnetworkinformation.h index eddabc9707a..a04e7253006 100644 --- a/src/network/kernel/qnetworkinformation.h +++ b/src/network/kernel/qnetworkinformation.h @@ -70,7 +70,7 @@ public: Q_ENUM(Feature) Q_DECLARE_FLAGS(Features, Feature) - ~QNetworkInformation(); + ~QNetworkInformation() override; Reachability reachability() const; diff --git a/src/network/kernel/qnetworkinformation_p.h b/src/network/kernel/qnetworkinformation_p.h index 389310cc431..8cb31e66414 100644 --- a/src/network/kernel/qnetworkinformation_p.h +++ b/src/network/kernel/qnetworkinformation_p.h @@ -64,11 +64,13 @@ class Q_NETWORK_EXPORT QNetworkInformationBackend : public QObject Q_OBJECT public: QNetworkInformationBackend() = default; - virtual ~QNetworkInformationBackend(); + ~QNetworkInformationBackend() override; virtual QString name() const = 0; virtual QNetworkInformation::Features featuresSupported() const = 0; + QNetworkInformation::Reachability reachability() const { return m_reachability; } + Q_SIGNALS: void reachabilityChanged(); diff --git a/src/plugins/networkinformationbackends/android/CMakeLists.txt b/src/plugins/networkinformationbackends/android/CMakeLists.txt index d5d3fa5eb6e..724dfd6788f 100644 --- a/src/plugins/networkinformationbackends/android/CMakeLists.txt +++ b/src/plugins/networkinformationbackends/android/CMakeLists.txt @@ -16,6 +16,7 @@ install_jar(Qt${QtBase_VERSION_MAJOR}AndroidNetworkInformationBackend qt_internal_add_plugin(QAndroidNetworkInformationBackend OUTPUT_NAME androidnetworkinformationbackend + CLASS_NAME QAndroidNetworkInformationBackendFactory TYPE networkinformationbackends DEFAULT_IF ANDROID SOURCES diff --git a/src/plugins/networkinformationbackends/networklistmanager/CMakeLists.txt b/src/plugins/networkinformationbackends/networklistmanager/CMakeLists.txt index e3dcbfee97f..363f22e18b5 100644 --- a/src/plugins/networkinformationbackends/networklistmanager/CMakeLists.txt +++ b/src/plugins/networkinformationbackends/networklistmanager/CMakeLists.txt @@ -1,5 +1,6 @@ qt_internal_add_plugin(QNetworkListManagerNetworkInformationBackend OUTPUT_NAME networklistmanagernetworkinformationbackend + CLASS_NAME QNetworkListManagerNetworkInformationBackendFactory TYPE networkinformationbackends DEFAULT_IF WINDOWS AND QT_FEATURE_networklistmanager SOURCES qnetworklistmanagernetworkinformationbackend.cpp diff --git a/src/plugins/networkinformationbackends/networkmanager/CMakeLists.txt b/src/plugins/networkinformationbackends/networkmanager/CMakeLists.txt index 44a6e0f38d3..c5fa1db526e 100644 --- a/src/plugins/networkinformationbackends/networkmanager/CMakeLists.txt +++ b/src/plugins/networkinformationbackends/networkmanager/CMakeLists.txt @@ -1,5 +1,6 @@ qt_internal_add_plugin(QNetworkManagerNetworkInformationBackend OUTPUT_NAME networkmanagernetworkinformationbackend + CLASS_NAME QNetworkManagerNetworkInformationBackendFactory TYPE networkinformationbackends DEFAULT_IF LINUX SOURCES diff --git a/src/plugins/networkinformationbackends/networkmanager/qnetworkmanagernetworkinformationbackend.cpp b/src/plugins/networkinformationbackends/networkmanager/qnetworkmanagernetworkinformationbackend.cpp index 1677f36fe11..1356078ee0a 100644 --- a/src/plugins/networkinformationbackends/networkmanager/qnetworkmanagernetworkinformationbackend.cpp +++ b/src/plugins/networkinformationbackends/networkmanager/qnetworkmanagernetworkinformationbackend.cpp @@ -97,6 +97,8 @@ public: bool isValid() const { return iface.isValid(); } private: + Q_DISABLE_COPY_MOVE(QNetworkManagerNetworkInformationBackend) + QNetworkManagerInterface iface; QNetworkManagerInterface::NMState prevState; }; @@ -128,6 +130,8 @@ public: delete std::exchange(backend, nullptr); return backend; } +private: + Q_DISABLE_COPY_MOVE(QNetworkManagerNetworkInformationBackendFactory) }; QNetworkManagerNetworkInformationBackend::QNetworkManagerNetworkInformationBackend() diff --git a/src/plugins/networkinformationbackends/scnetworkreachability/CMakeLists.txt b/src/plugins/networkinformationbackends/scnetworkreachability/CMakeLists.txt index d4a1c52c3fa..e0b61fe141e 100644 --- a/src/plugins/networkinformationbackends/scnetworkreachability/CMakeLists.txt +++ b/src/plugins/networkinformationbackends/scnetworkreachability/CMakeLists.txt @@ -1,5 +1,6 @@ qt_internal_add_plugin(QSCNetworkReachabilityNetworkInformationBackend OUTPUT_NAME scnetworkreachabilitynetworkinformationbackend + CLASS_NAME QSCNetworkReachabilityNetworkInformationBackendFactory TYPE networkinformationbackends DEFAULT_IF APPLE SOURCES