10 #define QXMPPMESSAGE_H 12 #include "QXmppFileShare.h" 13 #include "QXmppStanza.h" 20 class QXmppMessagePrivate;
26 class QXmppOmemoElement;
40 #if QXMPP_DEPRECATED_SINCE(1, 5) 44 static const EncryptionMethod NoEncryption = EncryptionMethod::NoEncryption;
45 static const EncryptionMethod UnknownEncryption = EncryptionMethod::UnknownEncryption;
46 static const EncryptionMethod OTR = EncryptionMethod::Otr;
47 static const EncryptionMethod LegacyOpenPGP = EncryptionMethod::LegacyOpenPgp;
48 static const EncryptionMethod OX = EncryptionMethod::Ox;
49 static const EncryptionMethod OMEMO = EncryptionMethod::Omemo0;
95 NoPermanentStore = 1 << 0,
101 QXmppMessage(
const QString &from = QString(),
const QString &to = QString(),
102 const QString &body = QString(),
const QString &thread = QString());
113 QString body()
const;
114 void setBody(
const QString &);
116 QString e2eeFallbackBody()
const;
117 void setE2eeFallbackBody(
const QString &fallbackBody);
119 QString subject()
const;
120 void setSubject(
const QString &);
122 QString thread()
const;
123 void setThread(
const QString &);
125 QString parentThread()
const;
126 void setParentThread(
const QString &);
132 QString outOfBandUrl()
const;
133 void setOutOfBandUrl(
const QString &);
135 QVector<QXmppOutOfBandUrl> outOfBandUrls()
const;
136 void setOutOfBandUrls(
const QVector<QXmppOutOfBandUrl> &urls);
139 QString xhtml()
const;
140 void setXhtml(
const QString &xhtml);
147 QDateTime stamp()
const;
148 void setStamp(
const QDateTime &stamp);
151 bool isReceiptRequested()
const;
152 void setReceiptRequested(
bool requested);
154 QString receiptId()
const;
155 void setReceiptId(
const QString &
id);
158 bool isAttentionRequested()
const;
159 void setAttentionRequested(
bool requested);
167 static bool isSlashMeCommand(
const QString &body);
168 bool isSlashMeCommand()
const;
169 static QString slashMeCommandText(
const QString &body);
170 QString slashMeCommandText()
const;
173 QString mucInvitationJid()
const;
174 void setMucInvitationJid(
const QString &jid);
176 QString mucInvitationPassword()
const;
177 void setMucInvitationPassword(
const QString &password);
179 QString mucInvitationReason()
const;
180 void setMucInvitationReason(
const QString &reason);
183 bool isPrivate()
const;
184 void setPrivate(
const bool);
185 bool isCarbonForwarded()
const;
186 void setCarbonForwarded(
bool);
189 QString replaceId()
const;
190 void setReplaceId(
const QString &);
193 bool isMarkable()
const;
194 void setMarkable(
const bool);
196 QString markedId()
const;
197 void setMarkerId(
const QString &);
199 QString markedThread()
const;
200 void setMarkedThread(
const QString &);
202 Marker marker()
const;
203 void setMarker(
const Marker);
206 bool hasHint(
const Hint hint)
const;
207 void addHint(
const Hint hint);
208 void removeHint(
const Hint hint);
209 void removeAllHints();
212 std::optional<QXmppJingleMessageInitiationElement> jingleMessageInitiationElement()
const;
213 void setJingleMessageInitiationElement(
const std::optional<QXmppJingleMessageInitiationElement> &jingleMessageInitiationElement);
216 QString stanzaId()
const;
217 void setStanzaId(
const QString &
id);
219 QString stanzaIdBy()
const;
220 void setStanzaIdBy(
const QString &
id);
222 QString originId()
const;
223 void setOriginId(
const QString &
id);
226 QString attachId()
const;
227 void setAttachId(
const QString &);
230 QString mixUserJid()
const;
231 void setMixUserJid(
const QString &);
233 QString mixUserNick()
const;
234 void setMixUserNick(
const QString &);
239 QString encryptionMethodNs()
const;
240 void setEncryptionMethodNs(
const QString &);
242 QString encryptionName()
const;
243 void setEncryptionName(
const QString &);
246 bool isSpoiler()
const;
247 void setIsSpoiler(
bool);
249 QString spoilerHint()
const;
250 void setSpoilerHint(
const QString &);
253 std::optional<QXmppMixInvitation> mixInvitation()
const;
254 void setMixInvitation(
const std::optional<QXmppMixInvitation> &mixInvitation);
257 bool isFallback()
const;
258 void setIsFallback(
bool isFallback);
261 std::optional<QXmppTrustMessageElement> trustMessageElement()
const;
262 void setTrustMessageElement(
const std::optional<QXmppTrustMessageElement> &trustMessageElement);
265 std::optional<QXmppMessageReaction> reaction()
const;
266 void setReaction(
const std::optional<QXmppMessageReaction> &reaction);
269 const QVector<QXmppFileShare> &sharedFiles()
const;
270 void setSharedFiles(
const QVector<QXmppFileShare> &sharedFiles);
273 std::optional<QXmppCallInviteElement> callInviteElement()
const;
274 void setCallInviteElement(std::optional<QXmppCallInviteElement> callInviteElement);
279 std::optional<QXmppOmemoElement> omemoElement()
const;
280 void setOmemoElement(
const std::optional<QXmppOmemoElement> &omemoElement);
283 void parse(
const QDomElement &element)
override final;
285 void toXml(QXmlStreamWriter *writer)
const override final;
289 void parseExtensions(
const QDomElement &element,
QXmpp::SceMode sceMode);
290 virtual bool parseExtension(
const QDomElement &element,
QXmpp::SceMode);
291 virtual void serializeExtensions(QXmlStreamWriter *writer,
QXmpp::SceMode,
const QString &baseNamespace = {})
const;
294 QSharedDataPointer<QXmppMessagePrivate> d;
299 #endif // QXMPPMESSAGE_H State
Definition: QXmppMessage.h:68
virtual bool isXmppStanza() const
Definition: QXmppNonza.h:19
The QXmppCallInviteElement class represents a Call Invite element as specified by XEP-0482: Call Invi...
Definition: QXmppJingleData.h:661
The QXmppStanza class is the base class for all XMPP stanzas.
Definition: QXmppStanza.h:87
User is composing a message.
Definition: QXmppMessage.h:73
User has effectively ended their participation in the chat session.
Definition: QXmppMessage.h:72
virtual void parse(const QDomElement &)=0
Marker
Definition: QXmppMessage.h:82
User is actively participating in the chat session.
Definition: QXmppMessage.h:70
SceMode
Definition: QXmppGlobal.h:136
Definition: QXmppBitsOfBinaryDataList.h:15
Definition: QXmppOutOfBandUrl.h:18
User has not been actively participating in the chat session.
Definition: QXmppMessage.h:71
The QXmppTrustMessageElement class represents a trust message element as defined by XEP-0434: Trust M...
Definition: QXmppTrustMessageElement.h:17
Type
This enum describes a message type.
Definition: QXmppMessage.h:54
The QXmppMessage class represents an XMPP message.
Definition: QXmppMessage.h:37
EncryptionMethod
Definition: QXmppGlobal.h:89
virtual void toXml(QXmlStreamWriter *writer) const =0
The QXmppJingleMessageInitiationElement class represents a Jingle Message Initiation element as speci...
Definition: QXmppJingleData.h:614
The Error class represents a stanza error.
Definition: QXmppStanza.h:93
Hint
Definition: QXmppMessage.h:94
The QXmppMixInvitation class is used to invite a user to a XEP-0369: Mediated Information eXchange (M...
Definition: QXmppMixInvitation.h:23
The QXmppMessageReaction class represents a reaction to a message in the form of emojis as specified ...
Definition: QXmppMessageReaction.h:16
QXmppStanza & operator=(const QXmppStanza &other)
Assigns other to this stanza.