12#include "QXmppFileShare.h"
13#include "QXmppStanza.h"
20class QXmppMessagePrivate;
25class QXmppMixInvitation;
27class QXmppOmemoElement;
48#if QXMPP_DEPRECATED_SINCE(1, 5)
52 static const EncryptionMethod NoEncryption = EncryptionMethod::NoEncryption;
53 static const EncryptionMethod UnknownEncryption = EncryptionMethod::UnknownEncryption;
54 static const EncryptionMethod OTR = EncryptionMethod::Otr;
55 static const EncryptionMethod LegacyOpenPGP = EncryptionMethod::LegacyOpenPgp;
56 static const EncryptionMethod OX = EncryptionMethod::Ox;
57 static const EncryptionMethod OMEMO = EncryptionMethod::Omemo0;
109 QXmppMessage(
const QString &from = QString(),
const QString &to = QString(),
110 const QString &body = QString(),
const QString &thread = QString());
121 QString
body()
const;
147 QString
xhtml()
const;
155 QDateTime
stamp()
const;
224#if QXMPP_DEPRECATED_SINCE(1, 8)
225 [[deprecated(
"Use stanzaIds() instead.")]]
227 [[deprecated(
"Use setStanzaIds() instead.")]]
230 [[deprecated(
"Use stanzaIds() instead.")]]
232 [[deprecated(
"Use setStanzaIds() instead.")]]
236 QVector<QXmppStanzaId>
stanzaIds()
const;
276#if QXMPP_DEPRECATED_SINCE(1, 7)
277 [[deprecated(
"Use fallbackMarkers()")]]
bool isFallback()
const;
288 std::optional<QXmppMessageReaction>
reaction()
const;
292 const QVector<QXmppFileShare> &
sharedFiles()
const;
304 std::optional<QXmppOmemoElement> omemoElement()
const;
305 void setOmemoElement(
const std::optional<QXmppOmemoElement> &omemoElement);
308 void parse(
const QDomElement &element)
override final;
310 void toXml(QXmlStreamWriter *writer)
const override final;
319 QSharedDataPointer<QXmppMessagePrivate> d;
Definition QXmppBitsOfBinaryDataList.h:16
The QXmppCallInviteElement class represents a Call Invite element as specified by XEP-0482: Call Invi...
Definition QXmppJingleData.h:649
Definition QXmppFallback.h:20
The QXmppJingleMessageInitiationElement class represents a Jingle Message Initiation element as speci...
Definition QXmppJingleData.h:602
The QXmppMessageReaction class represents a reaction to a message in the form of emojis as specified ...
Definition QXmppMessageReaction.h:17
The QXmppMessage class represents an XMPP message.
Definition QXmppMessage.h:46
std::optional< QXmppTrustMessageElement > trustMessageElement() const
Definition QXmppMessage.cpp:1313
void setMucInvitationPassword(const QString &password)
Definition QXmppMessage.cpp:646
QString receiptId() const
Definition QXmppMessage.cpp:473
QString body() const
Returns the message's body.
Definition QXmppMessage.cpp:223
QString encryptionMethodNs() const
Definition QXmppMessage.cpp:1102
void setOutOfBandUrls(const QVector< QXmppOutOfBandUrl > &urls)
Definition QXmppMessage.cpp:370
QXmppMessage::Type type() const
Returns the message's type.
Definition QXmppMessage.cpp:268
void setMarkable(const bool)
Definition QXmppMessage.cpp:758
bool isPrivate() const
Definition QXmppMessage.cpp:680
void setReceiptId(const QString &id)
Definition QXmppMessage.cpp:483
QString subject() const
Returns the message's subject.
Definition QXmppMessage.cpp:280
QString mucInvitationPassword() const
Definition QXmppMessage.cpp:635
bool isMarkable() const
Definition QXmppMessage.cpp:748
QString thread() const
Returns the message's thread.
Definition QXmppMessage.cpp:292
std::optional< QXmppJingleMessageInitiationElement > jingleMessageInitiationElement() const
Definition QXmppMessage.cpp:871
void setIsFallback(bool isFallback)
Definition QXmppMessage.cpp:1278
QString markedThread() const
Definition QXmppMessage.cpp:788
void setEncryptionMethod(QXmpp::EncryptionMethod)
Definition QXmppMessage.cpp:1091
bool isFallback() const
Definition QXmppMessage.cpp:1263
void setReaction(const std::optional< QXmppMessageReaction > &reaction)
Definition QXmppMessage.cpp:1349
void addHint(const Hint hint)
Definition QXmppMessage.cpp:840
QString xhtml() const
Definition QXmppMessage.cpp:380
void setThread(const QString &)
Sets the message's thread.
Definition QXmppMessage.cpp:298
QString mixUserNick() const
Definition QXmppMessage.cpp:1048
void setState(QXmppMessage::State)
Definition QXmppMessage.cpp:412
virtual bool parseExtension(const QDomElement &element, QXmpp::SceMode)
Definition QXmppMessage.cpp:1489
QString encryptionName() const
Definition QXmppMessage.cpp:1125
QString stanzaId() const
Definition QXmppMessage.cpp:893
void setCallInviteElement(std::optional< QXmppCallInviteElement > callInviteElement)
Definition QXmppMessage.cpp:1407
void setMixUserJid(const QString &)
Definition QXmppMessage.cpp:1038
QString attachId() const
Definition QXmppMessage.cpp:993
QDateTime stamp() const
Definition QXmppMessage.cpp:423
QString mucInvitationReason() const
Definition QXmppMessage.cpp:657
void parseExtensions(const QDomElement &element, QXmpp::SceMode sceMode)
Definition QXmppMessage.cpp:1459
void setSubject(const QString &)
Sets the message's subject.
Definition QXmppMessage.cpp:286
void setMixUserNick(const QString &)
Definition QXmppMessage.cpp:1058
std::optional< QXmppMixInvitation > mixInvitation() const
Definition QXmppMessage.cpp:1237
void setPrivate(const bool)
Definition QXmppMessage.cpp:692
QXmppMessage(const QString &from=QString(), const QString &to=QString(), const QString &body=QString(), const QString &thread=QString())
Definition QXmppMessage.cpp:193
QString mixParticipantId() const
Definition QXmppMessage.cpp:1018
bool isCarbonForwarded() const
Definition QXmppMessage.cpp:702
void removeHint(const Hint hint)
Definition QXmppMessage.cpp:851
QString e2eeFallbackBody() const
Definition QXmppMessage.cpp:247
void removeAllHints()
Definition QXmppMessage.cpp:862
void setMarkedThread(const QString &)
Definition QXmppMessage.cpp:798
bool isSpoiler() const
Definition QXmppMessage.cpp:1155
std::optional< QXmppMessageReaction > reaction() const
Definition QXmppMessage.cpp:1333
QVector< QXmppOutOfBandUrl > outOfBandUrls() const
Definition QXmppMessage.cpp:360
bool isReceiptRequested() const
Definition QXmppMessage.cpp:448
void setReplaceId(const QString &)
Definition QXmppMessage.cpp:737
QString outOfBandUrl() const
Definition QXmppMessage.cpp:332
std::optional< QXmppCallInviteElement > callInviteElement() const
Definition QXmppMessage.cpp:1399
void setOutOfBandUrl(const QString &)
Definition QXmppMessage.cpp:348
QString mixUserJid() const
Definition QXmppMessage.cpp:1028
void setSharedFiles(const QVector< QXmppFileShare > &sharedFiles)
Definition QXmppMessage.cpp:1369
void setType(QXmppMessage::Type)
Sets the message's type.
Definition QXmppMessage.cpp:274
void setReceiptRequested(bool requested)
Definition QXmppMessage.cpp:459
QXmpp::EncryptionMethod encryptionMethod() const
Definition QXmppMessage.cpp:1077
void setMarkerId(const QString &)
Definition QXmppMessage.cpp:778
bool isAttentionRequested() const
Definition QXmppMessage.cpp:494
void setMarker(const Marker)
Definition QXmppMessage.cpp:818
void setOriginId(const QString &id)
Definition QXmppMessage.cpp:982
void setBitsOfBinaryData(const QXmppBitsOfBinaryDataList &bitsOfBinaryData)
Definition QXmppMessage.cpp:541
const QVector< QXmppFallback > & fallbackMarkers() const
Definition QXmppMessage.cpp:1292
void setXhtml(const QString &xhtml)
Definition QXmppMessage.cpp:390
void setStanzaIdBy(const QString &id)
Definition QXmppMessage.cpp:936
void setParentThread(const QString &)
Definition QXmppMessage.cpp:322
void setMucInvitationJid(const QString &jid)
Definition QXmppMessage.cpp:624
QString stanzaIdBy() const
Definition QXmppMessage.cpp:923
void setEncryptionName(const QString &)
Definition QXmppMessage.cpp:1142
void setStamp(const QDateTime &stamp)
Definition QXmppMessage.cpp:437
QString originId() const
Definition QXmppMessage.cpp:971
QXmppMessage & operator=(QXmppMessage &&)
Move-assignment operator.
void setEncryptionMethodNs(const QString &)
Definition QXmppMessage.cpp:1113
QString mucInvitationJid() const
Definition QXmppMessage.cpp:613
QString markedId() const
Definition QXmppMessage.cpp:768
QXmppMessage & operator=(const QXmppMessage &other)
Assignment operator.
void setFileSourcesAttachments(const QVector< QXmppFileSourcesAttachment > &)
Definition QXmppMessage.cpp:1391
static QString slashMeCommandText(const QString &body)
Definition QXmppMessage.cpp:583
bool hasHint(const Hint hint) const
Definition QXmppMessage.cpp:829
void setFallbackMarkers(const QVector< QXmppFallback > &)
Definition QXmppMessage.cpp:1302
void setStanzaId(const QString &id)
Definition QXmppMessage.cpp:906
QXmppMessage::State state() const
Definition QXmppMessage.cpp:401
Type
This enum describes a message type.
Definition QXmppMessage.h:62
QString replaceId() const
Definition QXmppMessage.cpp:726
QXmppBitsOfBinaryDataList bitsOfBinaryData() const
Definition QXmppMessage.cpp:519
void setIsSpoiler(bool)
Definition QXmppMessage.cpp:1170
void setJingleMessageInitiationElement(const std::optional< QXmppJingleMessageInitiationElement > &jingleMessageInitiationElement)
Definition QXmppMessage.cpp:880
void setSpoilerHint(const QString &)
Definition QXmppMessage.cpp:1198
QVector< QXmppFileSourcesAttachment > fileSourcesAttachments() const
Definition QXmppMessage.cpp:1380
void setAttentionRequested(bool requested)
Definition QXmppMessage.cpp:507
static bool isSlashMeCommand(const QString &body)
Definition QXmppMessage.cpp:552
QString parentThread() const
Definition QXmppMessage.cpp:310
QVector< QXmppStanzaId > stanzaIds() const
Definition QXmppMessage.cpp:950
QString spoilerHint() const
Definition QXmppMessage.cpp:1182
void setBody(const QString &)
Definition QXmppMessage.cpp:232
void setMixInvitation(const std::optional< QXmppMixInvitation > &mixInvitation)
Definition QXmppMessage.cpp:1248
void setTrustMessageElement(const std::optional< QXmppTrustMessageElement > &trustMessageElement)
Definition QXmppMessage.cpp:1323
QXmppMessage(QXmppMessage &&)
Move-constructor.
void setMucInvitationReason(const QString &reason)
Definition QXmppMessage.cpp:668
Marker
Definition QXmppMessage.h:90
Hint
Definition QXmppMessage.h:102
@ NoStore
Do not store at all.
Definition QXmppMessage.h:104
@ Store
Do store the message.
Definition QXmppMessage.h:106
@ NoPermanentStore
Do not allow permanent storage.
Definition QXmppMessage.h:103
@ NoCopy
Do not copy the message.
Definition QXmppMessage.h:105
State
Definition QXmppMessage.h:76
@ Active
User is actively participating in the chat session.
Definition QXmppMessage.h:78
@ Inactive
User has not been actively participating in the chat session.
Definition QXmppMessage.h:79
@ Composing
User is composing a message.
Definition QXmppMessage.h:81
@ Gone
User has effectively ended their participation in the chat session.
Definition QXmppMessage.h:80
@ None
The message does not contain any chat state information.
Definition QXmppMessage.h:77
@ Paused
User had been composing but now has stopped.
Definition QXmppMessage.h:82
Marker marker() const
Definition QXmppMessage.cpp:808
virtual void serializeExtensions(QXmlStreamWriter *writer, QXmpp::SceMode, const QString &baseNamespace={}) const
Definition QXmppMessage.cpp:1741
QXmppMessage(const QXmppMessage &other)
Constructs a copy of other.
void setAttachId(const QString &)
Definition QXmppMessage.cpp:1007
const QVector< QXmppFileShare > & sharedFiles() const
Definition QXmppMessage.cpp:1359
void setStanzaIds(const QVector< QXmppStanzaId > &)
Definition QXmppMessage.cpp:960
void setCarbonForwarded(bool)
Definition QXmppMessage.cpp:714
void setE2eeFallbackBody(const QString &fallbackBody)
Definition QXmppMessage.cpp:262
virtual void parse(const QDomElement &)=0
virtual void toXml(QXmlStreamWriter *writer) const =0
virtual bool isXmppStanza() const
Definition QXmppNonza.h:19
Definition QXmppOutOfBandUrl.h:19
QXmppStanza(const QString &from=QString(), const QString &to=QString())
Definition QXmppStanza.cpp:810
The QXmppTrustMessageElement class represents a trust message element as defined by XEP-0434: Trust M...
Definition QXmppTrustMessageElement.h:18
SceMode
Definition QXmppGlobal.h:136
EncryptionMethod
Definition QXmppGlobal.h:89
Stanza ID element as defined in XEP-0359: Unique and Stable Stanza IDs.
Definition QXmppMessage.h:33
QString by
JID of the generating entity.
Definition QXmppMessage.h:37
QString id
Identifier of the stanza element.
Definition QXmppMessage.h:35