Inline old QNetworkRequest transferTimeout int overloads

Qt 6.7 introduced new std::chrono variants of the transfer
timeout functions. We can now inline the old 'int milliseconds'
functions to reduce the  number of DLL entry points when one
isn't needed.

Task-number: QTBUG-122023
Change-Id: Iedcb6d0035bc6c3f03b87de543e9b02937b755e6
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
bb10
Juha Vuolle 2024-02-12 11:18:55 +02:00
parent f21af7f88b
commit 6c213653d0
3 changed files with 29 additions and 8 deletions

View File

@ -985,18 +985,16 @@ void QNetworkRequest::setDecompressedSafetyCheckThreshold(qint64 threshold)
#if QT_CONFIG(http) || defined (Q_OS_WASM)
/*!
\fn int QNetworkRequest::transferTimeout() const
\since 5.15
Returns the timeout used for transfers, in milliseconds.
\sa setTransferTimeout()
*/
int QNetworkRequest::transferTimeout() const
{
return int(d->transferTimeout.count());
}
/*!
\fn void QNetworkRequest::setTransferTimeout(int timeout)
\since 5.15
Sets \a timeout as the transfer timeout in milliseconds.
@ -1004,10 +1002,6 @@ int QNetworkRequest::transferTimeout() const
\sa setTransferTimeout(std::chrono::milliseconds),
transferTimeout(), transferTimeoutAsDuration()
*/
void QNetworkRequest::setTransferTimeout(int timeout)
{
d->transferTimeout = std::chrono::milliseconds(timeout);
}
/*!
\since 6.7

View File

@ -168,8 +168,11 @@ public:
#endif // QT_CONFIG(http)
#if QT_CONFIG(http) || defined (Q_OS_WASM)
QT_NETWORK_INLINE_SINCE(6, 8)
int transferTimeout() const;
QT_NETWORK_INLINE_SINCE(6, 8)
void setTransferTimeout(int timeout);
std::chrono::milliseconds transferTimeoutAsDuration() const;
void setTransferTimeout(std::chrono::milliseconds duration = DefaultTransferTimeout);
#endif // QT_CONFIG(http) || defined (Q_OS_WASM)
@ -180,6 +183,20 @@ private:
Q_DECLARE_SHARED(QNetworkRequest)
#if QT_NETWORK_INLINE_IMPL_SINCE(6, 8)
#if QT_CONFIG(http) || defined (Q_OS_WASM)
int QNetworkRequest::transferTimeout() const
{
return int(transferTimeoutAsDuration().count());
}
void QNetworkRequest::setTransferTimeout(int timeout)
{
setTransferTimeout(std::chrono::milliseconds(timeout));
}
#endif // QT_CONFIG(http) || defined (Q_OS_WASM)
#endif // INLINE_SINCE 6.8
QT_END_NAMESPACE
QT_DECL_METATYPE_EXTERN(QNetworkRequest, Q_NETWORK_EXPORT)

View File

@ -55,3 +55,13 @@ QList<QNetworkCookie> QNetworkCookie::parseCookies(const QByteArray &cookieStrin
// order sections alphabetically
#endif // QT_NETWORK_REMOVED_SINCE(6, 7)
#if QT_NETWORK_REMOVED_SINCE(6, 8)
#include "qnetworkrequest.h" // inlined API
// #include "qotherheader.h"
// // implement removed functions from qotherheader.h
// order sections alphabetically
#endif // QT_NETWORK_REMOVED_SINCE(6, 8)