11#include "qxmpp_export.h"
19#define QXMPP_AUTOTEST_EXPORT
20#define QXMPP_PRIVATE_EXPORT QXMPP_EXPORT
31#define QXMPP_VERSION QT_VERSION_CHECK(QXMPP_VERSION_MAJOR, QXMPP_VERSION_MINOR, QXMPP_VERSION_PATCH)
36inline QLatin1String QXmppVersion()
39 QT_STRINGIFY(QXMPP_VERSION_MAJOR)
"." QT_STRINGIFY(QXMPP_VERSION_MINOR)
"." QT_STRINGIFY(QXMPP_VERSION_PATCH));
44#ifndef QXMPP_DISABLE_DEPRECATED_BEFORE
45#define QXMPP_DISABLE_DEPRECATED_BEFORE 0x0
49#define QXMPP_DEPRECATED_SINCE(major, minor) (QT_VERSION_CHECK(major, minor, 0) > QXMPP_DISABLE_DEPRECATED_BEFORE)
52#ifndef Q_DECL_ENUMERATOR_DEPRECATED_X
53#define Q_DECL_ENUMERATOR_DEPRECATED_X(msg)
56#ifndef QT_WARNING_DISABLE_DEPRECATED
57#define QT_WARNING_DISABLE_DEPRECATED
62#define QXMPP_PRIVATE_DECLARE_RULE_OF_SIX(name) \
64 name(name &&) noexcept; \
66 name &operator=(const name &); \
67 name &operator=(name &&) noexcept;
71#define QXMPP_PRIVATE_DEFINE_RULE_OF_SIX(name) \
72 name::name(const name &) = default; \
73 name::name(name &&) noexcept = default; \
74 name::~name() = default; \
75 name &name::operator=(const name &) = default; \
76 name &name::operator=(name &&) noexcept = default;
78#define QXMPP_PRIVATE_DEFINE_RULE_OF_SIX_INNER(outer, name) \
79 outer::name::name(const outer::name &) = default; \
80 outer::name::name(outer::name &&) noexcept = default; \
81 outer::name::~name() = default; \
82 outer::name &outer::name::operator=(const outer::name &) = default; \
83 outer::name &outer::name::operator=(outer::name &&) noexcept = default;
121#if QXMPP_DEPRECATED_SINCE(1, 5)
164 return mode1 ==
SceAll || mode1 == mode2;
208template<
typename T = Success>
209using Result = std::variant<T, QXmppError>;
Definition Algorithms.h:14
std::variant< T, QXmppError > Result
Definition QXmppGlobal.h:209
Cipher
Definition QXmppGlobal.h:172
const T & getValue(const Result< T > &r)
Definition QXmppGlobal.h:232
bool hasValue(const Result< T > &r)
Definition QXmppGlobal.h:216
constexpr bool operator&(SceMode mode1, SceMode mode2)
Definition QXmppGlobal.h:162
SceMode
Definition QXmppGlobal.h:148
@ SceSensitive
Only processes sensitive elements that should be encrypted.
Definition QXmppGlobal.h:151
@ SceAll
Processes all known elements.
Definition QXmppGlobal.h:149
@ ScePublic
Only processes 'public' elements (e.g. needed for routing).
Definition QXmppGlobal.h:150
bool hasError(const Result< T > &r)
Definition QXmppGlobal.h:224
EncryptionMethod
Definition QXmppGlobal.h:101
@ LegacyOpenPgp
XEP-0027: Current Jabber OpenPGP Usage
Definition QXmppGlobal.h:109
@ OMEMO
Definition QXmppGlobal.h:137
@ Omemo0
XEP-0384: OMEMO Encryption
Definition QXmppGlobal.h:113
@ Ox
XEP-0373: OpenPGP for XMPP
Definition QXmppGlobal.h:111
@ Omemo2
XEP-0384: OMEMO Encryption since version 0.8
Definition QXmppGlobal.h:117
@ OTR
Definition QXmppGlobal.h:125
@ Otr
XEP-0364: Current Off-the-Record Messaging Usage
Definition QXmppGlobal.h:107
@ NoEncryption
No encryption.
Definition QXmppGlobal.h:103
@ OX
Definition QXmppGlobal.h:133
@ LegacyOpenPGP
Definition QXmppGlobal.h:129
@ Omemo1
XEP-0384: OMEMO Encryption since version 0.4
Definition QXmppGlobal.h:115
@ UnknownEncryption
Unknown encryption.
Definition QXmppGlobal.h:105
Definition QXmppError.h:17
Definition QXmppGlobal.h:190
Definition QXmppGlobal.h:183
Definition QXmppGlobal.h:199