diff options
author | Alexandru Croitor <alexandru.croitor@qt.io> | 2019-06-14 12:59:07 +0200 |
---|---|---|
committer | Alexandru Croitor <alexandru.croitor@qt.io> | 2019-06-14 16:31:09 +0200 |
commit | fe3bd212fc85b6c3a64bb8bd5beca4ff4d3493a1 (patch) | |
tree | b96dd84abfb6ac25b26539999bf2d7d427f347dd /src/network/bearer/qsharednetworksession_p.h | |
parent | 72066a3a585b4f4fed499c64464ca5ad2ba9f71d (diff) | |
parent | ae97d11589dd03edeea0475163e6110869143b35 (diff) |
Merge remote-tracking branch 'origin/wip/qt6' into wip/cmake
This changes many different CMake places to mention Qt6 instead of
Qt5.
Note that some old qt5 cmake config files in corelib are probably not
needed anymore, but I still renamed and kept them for now.
Change-Id: Ie69e81540386a5af153f76c0242e18d48211bec4
Diffstat (limited to 'src/network/bearer/qsharednetworksession_p.h')
-rw-r--r-- | src/network/bearer/qsharednetworksession_p.h | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/network/bearer/qsharednetworksession_p.h b/src/network/bearer/qsharednetworksession_p.h index 001b8af02a..f22f9eeacb 100644 --- a/src/network/bearer/qsharednetworksession_p.h +++ b/src/network/bearer/qsharednetworksession_p.h @@ -54,16 +54,26 @@ #include <QtNetwork/private/qtnetworkglobal_p.h> #include "qnetworksession.h" #include "qnetworkconfiguration.h" -#include <QHash> #include <QSharedPointer> #include <QWeakPointer> #include <QMutex> +#include <unordered_map> + #ifndef QT_NO_BEARERMANAGEMENT QT_BEGIN_NAMESPACE -uint qHash(const QNetworkConfiguration& config); +namespace QtPrivate { +struct NetworkConfigurationHash { + using result_type = size_t; + using argument_type = QNetworkConfiguration; + size_t operator()(const QNetworkConfiguration &config) const noexcept + { + return std::hash<size_t>{}(size_t(config.type()) | (size_t(config.bearerType()) << 8) | (size_t(config.purpose()) << 16)); + } +}; +} class QSharedNetworkSessionManager { @@ -71,7 +81,7 @@ public: static QSharedPointer<QNetworkSession> getSession(const QNetworkConfiguration &config); static void setSession(const QNetworkConfiguration &config, QSharedPointer<QNetworkSession> session); private: - QHash<QNetworkConfiguration, QWeakPointer<QNetworkSession> > sessions; + std::unordered_map<QNetworkConfiguration, QWeakPointer<QNetworkSession>, QtPrivate::NetworkConfigurationHash> sessions; }; QT_END_NAMESPACE |