QNetworkInformation: Private the destructor

It wasn't meant to be public.

Change-Id: Ifa7fff48f82b96bdfa277677d3988dc8881b8c2a
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit b1fe3e3d80cb23dee4de683e03711d1ac0614de2)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Mårten Nordheim 2021-04-12 16:38:19 +02:00 committed by Qt Cherry-pick Bot
parent e6870c6570
commit 6c00b2e8a4
2 changed files with 9 additions and 3 deletions

View File

@ -56,6 +56,11 @@ QT_BEGIN_NAMESPACE
Q_DECLARE_LOGGING_CATEGORY(lcNetInfo) Q_DECLARE_LOGGING_CATEGORY(lcNetInfo)
Q_LOGGING_CATEGORY(lcNetInfo, "qt.network.info"); Q_LOGGING_CATEGORY(lcNetInfo, "qt.network.info");
struct QNetworkInformationDeleter
{
void operator()(QNetworkInformation *information) { delete information; }
};
Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader, Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader,
(QNetworkInformationBackendFactory_iid, (QNetworkInformationBackendFactory_iid,
QStringLiteral("/networkinformationbackends"))) QStringLiteral("/networkinformationbackends")))
@ -63,7 +68,7 @@ Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader,
struct QStaticNetworkInformationDataHolder struct QStaticNetworkInformationDataHolder
{ {
QMutex instanceMutex; QMutex instanceMutex;
std::unique_ptr<QNetworkInformation> instanceHolder; std::unique_ptr<QNetworkInformation, QNetworkInformationDeleter> instanceHolder;
QList<QNetworkInformationBackendFactory *> factories; QList<QNetworkInformationBackendFactory *> factories;
}; };
Q_GLOBAL_STATIC(QStaticNetworkInformationDataHolder, dataHolder); Q_GLOBAL_STATIC(QStaticNetworkInformationDataHolder, dataHolder);

View File

@ -49,6 +49,7 @@ QT_BEGIN_NAMESPACE
class QNetworkInformationBackend; class QNetworkInformationBackend;
class QNetworkInformationPrivate; class QNetworkInformationPrivate;
struct QNetworkInformationDeleter;
class Q_NETWORK_EXPORT QNetworkInformation : public QObject class Q_NETWORK_EXPORT QNetworkInformation : public QObject
{ {
Q_OBJECT Q_OBJECT
@ -70,8 +71,6 @@ public:
Q_DECLARE_FLAGS(Features, Feature) Q_DECLARE_FLAGS(Features, Feature)
Q_FLAG(Features) Q_FLAG(Features)
~QNetworkInformation() override;
Reachability reachability() const; Reachability reachability() const;
QString backendName() const; QString backendName() const;
@ -87,8 +86,10 @@ Q_SIGNALS:
void reachabilityChanged(Reachability newReachability); void reachabilityChanged(Reachability newReachability);
private: private:
friend struct QNetworkInformationDeleter;
friend class QNetworkInformationPrivate; friend class QNetworkInformationPrivate;
QNetworkInformation(QNetworkInformationBackend *backend); QNetworkInformation(QNetworkInformationBackend *backend);
~QNetworkInformation() override;
Q_DISABLE_COPY_MOVE(QNetworkInformation) Q_DISABLE_COPY_MOVE(QNetworkInformation)
}; };