12#include "QXmppFallback.h"
13#include "QXmppFileShare.h"
14#include "QXmppStanza.h"
21class QXmppMessagePrivate;
26class QXmppMixInvitation;
28class QXmppOmemoElement;
66#if QXMPP_DEPRECATED_SINCE(1, 5)
70 static const EncryptionMethod NoEncryption = EncryptionMethod::NoEncryption;
71 static const EncryptionMethod UnknownEncryption = EncryptionMethod::UnknownEncryption;
72 static const EncryptionMethod OTR = EncryptionMethod::Otr;
73 static const EncryptionMethod LegacyOpenPGP = EncryptionMethod::LegacyOpenPgp;
74 static const EncryptionMethod OX = EncryptionMethod::Ox;
75 static const EncryptionMethod OMEMO = EncryptionMethod::Omemo0;
126 Q_DECLARE_FLAGS(Hints, Hint)
128 QXmppMessage(
const QString &from = QString(),
const QString &to = QString(),
129 const QString &body = QString(),
const QString &thread = QString());
140 QString
body()
const;
166 QString
xhtml()
const;
174 QDateTime
stamp()
const;
243#if QXMPP_DEPRECATED_SINCE(1, 8)
244 [[deprecated(
"Use stanzaIds() instead.")]]
246 [[deprecated(
"Use setStanzaIds() instead.")]]
249 [[deprecated(
"Use stanzaIds() instead.")]]
251 [[deprecated(
"Use setStanzaIds() instead.")]]
255 QVector<QXmppStanzaId>
stanzaIds()
const;
299#if QXMPP_DEPRECATED_SINCE(1, 7)
300 [[deprecated(
"Use fallbackMarkers()")]]
302 [[deprecated(
"Use setFallbackMarkers()")]]
315 std::optional<QXmppMessageReaction>
reaction()
const;
319 const QVector<QXmppFileShare> &
sharedFiles()
const;
325 std::optional<QXmpp::Reply>
reply()
const;
326 void setReply(
const std::optional<QXmpp::Reply> &);
336 std::optional<QXmppOmemoElement> omemoElement()
const;
337 void setOmemoElement(
const std::optional<QXmppOmemoElement> &omemoElement);
340 void parse(
const QDomElement &element)
override final;
342 void toXml(QXmlStreamWriter *writer)
const override final;
351 QSharedDataPointer<QXmppMessagePrivate> d;
354Q_DECLARE_OPERATORS_FOR_FLAGS(QXmppMessage::Hints)
Definition QXmppBitsOfBinaryDataList.h:18
The QXmppCallInviteElement class represents a Call Invite element as specified by XEP-0482: Call Invi...
Definition QXmppJingleData.h:689
Definition QXmppFallback.h:20
Element
Definition QXmppFallback.h:22
The QXmppJingleMessageInitiationElement class represents a Jingle Message Initiation element as speci...
Definition QXmppJingleData.h:642
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:64
std::optional< QXmppTrustMessageElement > trustMessageElement() const
Definition QXmppMessage.cpp:1444
void setMucInvitationPassword(const QString &password)
Definition QXmppMessage.cpp:674
QString receiptId() const
Definition QXmppMessage.cpp:504
QString body() const
Returns the message's body.
Definition QXmppMessage.cpp:261
QString mucOccupantId() const
Definition QXmppMessage.cpp:1269
QString encryptionMethodNs() const
Definition QXmppMessage.cpp:1114
void setOutOfBandUrls(const QVector< QXmppOutOfBandUrl > &urls)
Definition QXmppMessage.cpp:405
QXmppMessage::Type type() const
Returns the message's type.
Definition QXmppMessage.cpp:303
void setMarkable(const bool)
Definition QXmppMessage.cpp:782
bool isPrivate() const
Definition QXmppMessage.cpp:707
void setReceiptId(const QString &id)
Definition QXmppMessage.cpp:514
QString subject() const
Returns the message's subject.
Definition QXmppMessage.cpp:315
QString mucInvitationPassword() const
Definition QXmppMessage.cpp:663
bool isMarkable() const
Definition QXmppMessage.cpp:772
QString thread() const
Returns the message's thread.
Definition QXmppMessage.cpp:327
std::optional< QXmppJingleMessageInitiationElement > jingleMessageInitiationElement() const
Definition QXmppMessage.cpp:891
std::optional< QXmpp::Reply > reply() const
Definition QXmppMessage.cpp:1532
void setIsFallback(bool isFallback)
Definition QXmppMessage.cpp:1310
QString markedThread() const
Definition QXmppMessage.cpp:812
void setEncryptionMethod(QXmpp::EncryptionMethod)
Definition QXmppMessage.cpp:1103
bool isFallback() const
Definition QXmppMessage.cpp:1295
void setReaction(const std::optional< QXmppMessageReaction > &reaction)
Definition QXmppMessage.cpp:1480
void addHint(const Hint hint)
Definition QXmppMessage.cpp:863
QString xhtml() const
Definition QXmppMessage.cpp:415
void setThread(const QString &)
Sets the message's thread.
Definition QXmppMessage.cpp:333
QString mixUserNick() const
Definition QXmppMessage.cpp:1060
void setState(QXmppMessage::State)
Definition QXmppMessage.cpp:445
virtual bool parseExtension(const QDomElement &element, QXmpp::SceMode)
Definition QXmppMessage.cpp:1659
QString encryptionName() const
Definition QXmppMessage.cpp:1137
QString stanzaId() const
Definition QXmppMessage.cpp:911
void setCallInviteElement(std::optional< QXmppCallInviteElement > callInviteElement)
Definition QXmppMessage.cpp:1579
void setMixUserJid(const QString &)
Definition QXmppMessage.cpp:1050
QString attachId() const
Definition QXmppMessage.cpp:1005
QDateTime stamp() const
Definition QXmppMessage.cpp:456
QString mucInvitationReason() const
Definition QXmppMessage.cpp:685
void parseExtensions(const QDomElement &element, QXmpp::SceMode sceMode)
Definition QXmppMessage.cpp:1629
void setSubject(const QString &)
Sets the message's subject.
Definition QXmppMessage.cpp:321
void setMixUserNick(const QString &)
Definition QXmppMessage.cpp:1070
std::optional< QXmppMixInvitation > mixInvitation() const
Definition QXmppMessage.cpp:1247
void setPrivate(const bool)
Definition QXmppMessage.cpp:719
QXmppMessage(const QString &from=QString(), const QString &to=QString(), const QString &body=QString(), const QString &thread=QString())
Definition QXmppMessage.cpp:232
QString mixParticipantId() const
Definition QXmppMessage.cpp:1030
bool isCarbonForwarded() const
Definition QXmppMessage.cpp:729
void removeHint(const Hint hint)
Definition QXmppMessage.cpp:873
QString e2eeFallbackBody() const
Definition QXmppMessage.cpp:282
void removeAllHints()
Definition QXmppMessage.cpp:883
void setMarkedThread(const QString &)
Definition QXmppMessage.cpp:822
bool isSpoiler() const
Definition QXmppMessage.cpp:1166
std::optional< QXmppMessageReaction > reaction() const
Definition QXmppMessage.cpp:1464
QVector< QXmppOutOfBandUrl > outOfBandUrls() const
Definition QXmppMessage.cpp:395
bool isReceiptRequested() const
Definition QXmppMessage.cpp:480
void setReplaceId(const QString &)
Definition QXmppMessage.cpp:762
QString outOfBandUrl() const
Definition QXmppMessage.cpp:367
std::optional< QXmppCallInviteElement > callInviteElement() const
Definition QXmppMessage.cpp:1571
void setReply(const std::optional< QXmpp::Reply > &)
Definition QXmppMessage.cpp:1542
QString readFallbackText(QXmppFallback::Element element, QStringView forNamespace) const
Definition QXmppMessage.cpp:1405
void setOutOfBandUrl(const QString &)
Definition QXmppMessage.cpp:383
QString mixUserJid() const
Definition QXmppMessage.cpp:1040
void setSharedFiles(const QVector< QXmppFileShare > &sharedFiles)
Definition QXmppMessage.cpp:1500
void setType(QXmppMessage::Type)
Sets the message's type.
Definition QXmppMessage.cpp:309
void setReceiptRequested(bool requested)
Definition QXmppMessage.cpp:490
QXmpp::EncryptionMethod encryptionMethod() const
Definition QXmppMessage.cpp:1089
void setMarkerId(const QString &)
Definition QXmppMessage.cpp:802
bool isAttentionRequested() const
Definition QXmppMessage.cpp:524
void setMarker(const Marker)
Definition QXmppMessage.cpp:842
void setOriginId(const QString &id)
Definition QXmppMessage.cpp:995
void setBitsOfBinaryData(const QXmppBitsOfBinaryDataList &bitsOfBinaryData)
Definition QXmppMessage.cpp:570
const QVector< QXmppFallback > & fallbackMarkers() const
Definition QXmppMessage.cpp:1324
void setXhtml(const QString &xhtml)
Definition QXmppMessage.cpp:425
void setStanzaIdBy(const QString &id)
Definition QXmppMessage.cpp:951
void setParentThread(const QString &)
Definition QXmppMessage.cpp:357
void setMucInvitationJid(const QString &jid)
Definition QXmppMessage.cpp:652
QString stanzaIdBy() const
Definition QXmppMessage.cpp:939
void setEncryptionName(const QString &)
Definition QXmppMessage.cpp:1153
void setStamp(const QDateTime &stamp)
Definition QXmppMessage.cpp:470
QString readFallbackRemovedText(QXmppFallback::Element element, const QVector< QString > &supportedNamespaces) const
Definition QXmppMessage.cpp:1348
QString originId() const
Definition QXmppMessage.cpp:985
QXmppMessage & operator=(QXmppMessage &&)
Move-assignment operator.
void setEncryptionMethodNs(const QString &)
Definition QXmppMessage.cpp:1125
QString mucInvitationJid() const
Definition QXmppMessage.cpp:641
QString markedId() const
Definition QXmppMessage.cpp:792
void setMucOccupantId(const QString &occupantId)
Definition QXmppMessage.cpp:1280
QXmppMessage & operator=(const QXmppMessage &other)
Assignment operator.
void setFileSourcesAttachments(const QVector< QXmppFileSourcesAttachment > &)
Definition QXmppMessage.cpp:1522
static QString slashMeCommandText(const QString &body)
Definition QXmppMessage.cpp:611
bool hasHint(const Hint hint) const
Definition QXmppMessage.cpp:853
void setFallbackMarkers(const QVector< QXmppFallback > &)
Definition QXmppMessage.cpp:1334
void setStanzaId(const QString &id)
Definition QXmppMessage.cpp:923
QXmppMessage::State state() const
Definition QXmppMessage.cpp:435
Type
This enum describes a message type.
Definition QXmppMessage.h:80
QString replaceId() const
Definition QXmppMessage.cpp:752
QXmppBitsOfBinaryDataList bitsOfBinaryData() const
Definition QXmppMessage.cpp:548
void setIsSpoiler(bool)
Definition QXmppMessage.cpp:1180
void setJingleMessageInitiationElement(const std::optional< QXmppJingleMessageInitiationElement > &jingleMessageInitiationElement)
Definition QXmppMessage.cpp:899
void setSpoilerHint(const QString &)
Definition QXmppMessage.cpp:1208
QVector< QXmppFileSourcesAttachment > fileSourcesAttachments() const
Definition QXmppMessage.cpp:1511
void setAttentionRequested(bool requested)
Definition QXmppMessage.cpp:536
static bool isSlashMeCommand(const QString &body)
Definition QXmppMessage.cpp:580
QString parentThread() const
Definition QXmppMessage.cpp:345
QVector< QXmppStanzaId > stanzaIds() const
Definition QXmppMessage.cpp:965
QString spoilerHint() const
Definition QXmppMessage.cpp:1192
void setBody(const QString &)
Sets the message's body.
Definition QXmppMessage.cpp:267
void setMixInvitation(const std::optional< QXmppMixInvitation > &mixInvitation)
Definition QXmppMessage.cpp:1258
void setTrustMessageElement(const std::optional< QXmppTrustMessageElement > &trustMessageElement)
Definition QXmppMessage.cpp:1454
QXmppMessage(QXmppMessage &&)
Move-constructor.
void setMucInvitationReason(const QString &reason)
Definition QXmppMessage.cpp:696
Marker
Definition QXmppMessage.h:108
Hint
Definition QXmppMessage.h:120
@ NoStore
Do not store at all.
Definition QXmppMessage.h:122
@ Store
Do store the message.
Definition QXmppMessage.h:124
@ NoPermanentStore
Do not allow permanent storage.
Definition QXmppMessage.h:121
@ NoCopy
Do not copy the message.
Definition QXmppMessage.h:123
State
Definition QXmppMessage.h:94
@ Active
User is actively participating in the chat session.
Definition QXmppMessage.h:96
@ Inactive
User has not been actively participating in the chat session.
Definition QXmppMessage.h:97
@ Composing
User is composing a message.
Definition QXmppMessage.h:99
@ Gone
User has effectively ended their participation in the chat session.
Definition QXmppMessage.h:98
@ None
The message does not contain any chat state information.
Definition QXmppMessage.h:95
@ Paused
User had been composing but now has stopped.
Definition QXmppMessage.h:100
Marker marker() const
Definition QXmppMessage.cpp:832
virtual void serializeExtensions(QXmlStreamWriter *writer, QXmpp::SceMode, const QString &baseNamespace={}) const
Definition QXmppMessage.cpp:1918
QString readReplyQuoteFromBody() const
Definition QXmppMessage.cpp:1553
QXmppMessage(const QXmppMessage &other)
Constructs a copy of other.
void setAttachId(const QString &)
Definition QXmppMessage.cpp:1019
const QVector< QXmppFileShare > & sharedFiles() const
Definition QXmppMessage.cpp:1490
void setStanzaIds(const QVector< QXmppStanzaId > &)
Definition QXmppMessage.cpp:975
void setCarbonForwarded(bool)
Definition QXmppMessage.cpp:741
void setE2eeFallbackBody(const QString &fallbackBody)
Definition QXmppMessage.cpp:297
virtual void parse(const QDomElement &)=0
virtual void toXml(QXmlStreamWriter *writer) const =0
virtual bool isXmppStanza() const
Definition QXmppNonza.h:19
Definition QXmppOutOfBandUrl.h:21
QXmppStanza(const QString &from=QString(), const QString &to=QString())
Definition QXmppStanza.cpp:693
The QXmppTrustMessageElement class represents a trust message element as defined by XEP-0434: Trust M...
Definition QXmppTrustMessageElement.h:19
Definition Algorithms.h:14
SceMode
Definition QXmppGlobal.h:148
EncryptionMethod
Definition QXmppGlobal.h:101
Stanza ID element as defined in XEP-0359: Unique and Stable Stanza IDs.
Definition QXmppMessage.h:51
QString by
JID of the generating entity.
Definition QXmppMessage.h:55
QString id
Identifier of the stanza element.
Definition QXmppMessage.h:53
Definition QXmppMessage.h:41
QString to
Definition QXmppMessage.h:44
QString id
ID of the referenced message.
Definition QXmppMessage.h:46