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 <thiago.macieira@intel.com>
(cherry picked from commit 92b15beb9aa09467583230a018c23114bb666a8e)
This commit is contained in:
Mårten Nordheim 2021-02-08 17:13:54 +01:00
parent 2c55e121c2
commit 2983fe8f09
8 changed files with 14 additions and 5 deletions

View File

@ -91,7 +91,6 @@ private:
static bool initializeList();
std::unique_ptr<QNetworkInformationBackend> 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();
}
/*!

View File

@ -70,7 +70,7 @@ public:
Q_ENUM(Feature)
Q_DECLARE_FLAGS(Features, Feature)
~QNetworkInformation();
~QNetworkInformation() override;
Reachability reachability() const;

View File

@ -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();

View File

@ -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

View File

@ -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

View File

@ -1,5 +1,6 @@
qt_internal_add_plugin(QNetworkManagerNetworkInformationBackend
OUTPUT_NAME networkmanagernetworkinformationbackend
CLASS_NAME QNetworkManagerNetworkInformationBackendFactory
TYPE networkinformationbackends
DEFAULT_IF LINUX
SOURCES

View File

@ -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()

View File

@ -1,5 +1,6 @@
qt_internal_add_plugin(QSCNetworkReachabilityNetworkInformationBackend
OUTPUT_NAME scnetworkreachabilitynetworkinformationbackend
CLASS_NAME QSCNetworkReachabilityNetworkInformationBackendFactory
TYPE networkinformationbackends
DEFAULT_IF APPLE
SOURCES