mirror of
https://github.com/NohamR/RMHook-Win.git
synced 2026-05-25 12:27:12 +00:00
65 lines
1.9 KiB
C++
65 lines
1.9 KiB
C++
// Copyright (C) 2022 The Qt Company Ltd.
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
|
|
|
#ifndef QHTTP1CONFIGURATION_H
|
|
#define QHTTP1CONFIGURATION_H
|
|
|
|
#include <QtNetwork/qtnetworkglobal.h>
|
|
|
|
#include <utility>
|
|
#include <cstdint>
|
|
|
|
#ifndef Q_CLANG_QDOC
|
|
QT_REQUIRE_CONFIG(http);
|
|
#endif
|
|
|
|
QT_BEGIN_NAMESPACE
|
|
|
|
class QHttp1ConfigurationPrivate;
|
|
class QHttp1Configuration
|
|
{
|
|
public:
|
|
Q_NETWORK_EXPORT QHttp1Configuration();
|
|
Q_NETWORK_EXPORT QHttp1Configuration(const QHttp1Configuration &other);
|
|
QHttp1Configuration(QHttp1Configuration &&other) noexcept
|
|
: u{other.u} { other.u.d = nullptr; }
|
|
|
|
Q_NETWORK_EXPORT QHttp1Configuration &operator=(const QHttp1Configuration &other);
|
|
QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_PURE_SWAP(QHttp1Configuration)
|
|
|
|
Q_NETWORK_EXPORT ~QHttp1Configuration();
|
|
|
|
Q_NETWORK_EXPORT void setNumberOfConnectionsPerHost(qsizetype amount);
|
|
Q_NETWORK_EXPORT qsizetype numberOfConnectionsPerHost() const;
|
|
|
|
void swap(QHttp1Configuration &other) noexcept
|
|
{ std::swap(u, other.u); }
|
|
|
|
private:
|
|
struct ShortData {
|
|
std::uint8_t numConnectionsPerHost;
|
|
char reserved[sizeof(void*) - sizeof(numConnectionsPerHost)];
|
|
};
|
|
union U {
|
|
U(ShortData _data) : data(_data) {}
|
|
QHttp1ConfigurationPrivate *d;
|
|
ShortData data;
|
|
} u;
|
|
|
|
Q_NETWORK_EXPORT bool equals(const QHttp1Configuration &other) const noexcept;
|
|
Q_NETWORK_EXPORT size_t hash(size_t seed) const noexcept;
|
|
|
|
friend bool operator==(const QHttp1Configuration &lhs, const QHttp1Configuration &rhs) noexcept
|
|
{ return lhs.equals(rhs); }
|
|
friend bool operator!=(const QHttp1Configuration &lhs, const QHttp1Configuration &rhs) noexcept
|
|
{ return !lhs.equals(rhs); }
|
|
|
|
friend size_t qHash(const QHttp1Configuration &key, size_t seed = 0) noexcept { return key.hash(seed); }
|
|
};
|
|
|
|
Q_DECLARE_SHARED(QHttp1Configuration)
|
|
|
|
QT_END_NAMESPACE
|
|
|
|
#endif // QHTTP1CONFIGURATION_H
|