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;
103 NoPermanentStore = 1 << 0,
109 QXmppMessage(
const QString &from = QString(),
const QString &to = QString(),
110 const QString &body = QString(),
const QString &thread = QString());
121 QString body()
const;
122 void setBody(
const QString &);
124 QString e2eeFallbackBody()
const;
125 void setE2eeFallbackBody(
const QString &fallbackBody);
127 QString subject()
const;
128 void setSubject(
const QString &);
130 QString thread()
const;
131 void setThread(
const QString &);
133 QString parentThread()
const;
134 void setParentThread(
const QString &);
140 QString outOfBandUrl()
const;
141 void setOutOfBandUrl(
const QString &);
143 QVector<QXmppOutOfBandUrl> outOfBandUrls()
const;
144 void setOutOfBandUrls(
const QVector<QXmppOutOfBandUrl> &urls);
147 QString xhtml()
const;
148 void setXhtml(
const QString &xhtml);
155 QDateTime stamp()
const;
156 void setStamp(
const QDateTime &stamp);
159 bool isReceiptRequested()
const;
160 void setReceiptRequested(
bool requested);
162 QString receiptId()
const;
163 void setReceiptId(
const QString &
id);
166 bool isAttentionRequested()
const;
167 void setAttentionRequested(
bool requested);
175 static bool isSlashMeCommand(
const QString &body);
176 bool isSlashMeCommand()
const;
177 static QString slashMeCommandText(
const QString &body);
178 QString slashMeCommandText()
const;
181 QString mucInvitationJid()
const;
182 void setMucInvitationJid(
const QString &jid);
184 QString mucInvitationPassword()
const;
185 void setMucInvitationPassword(
const QString &password);
187 QString mucInvitationReason()
const;
188 void setMucInvitationReason(
const QString &reason);
191 bool isPrivate()
const;
192 void setPrivate(
const bool);
193 bool isCarbonForwarded()
const;
194 void setCarbonForwarded(
bool);
197 QString replaceId()
const;
198 void setReplaceId(
const QString &);
201 bool isMarkable()
const;
202 void setMarkable(
const bool);
204 QString markedId()
const;
205 void setMarkerId(
const QString &);
207 QString markedThread()
const;
208 void setMarkedThread(
const QString &);
211 void setMarker(
const Marker);
214 bool hasHint(
const Hint hint)
const;
215 void addHint(
const Hint hint);
216 void removeHint(
const Hint hint);
217 void removeAllHints();
220 std::optional<QXmppJingleMessageInitiationElement> jingleMessageInitiationElement()
const;
221 void setJingleMessageInitiationElement(
const std::optional<QXmppJingleMessageInitiationElement> &jingleMessageInitiationElement);
224#if QXMPP_DEPRECATED_SINCE(1, 8)
225 [[deprecated(
"Use stanzaIds() instead.")]]
226 QString stanzaId()
const;
227 [[deprecated(
"Use setStanzaIds() instead.")]]
228 void setStanzaId(
const QString &
id);
230 [[deprecated(
"Use stanzaIds() instead.")]]
231 QString stanzaIdBy()
const;
232 [[deprecated(
"Use setStanzaIds() instead.")]]
233 void setStanzaIdBy(
const QString &
id);
236 QVector<QXmppStanzaId> stanzaIds()
const;
237 void setStanzaIds(
const QVector<QXmppStanzaId> &);
239 QString originId()
const;
240 void setOriginId(
const QString &
id);
243 QString attachId()
const;
244 void setAttachId(
const QString &);
247 QString mixParticipantId()
const;
249 QString mixUserJid()
const;
250 void setMixUserJid(
const QString &);
252 QString mixUserNick()
const;
253 void setMixUserNick(
const QString &);
258 QString encryptionMethodNs()
const;
259 void setEncryptionMethodNs(
const QString &);
261 QString encryptionName()
const;
262 void setEncryptionName(
const QString &);
265 bool isSpoiler()
const;
266 void setIsSpoiler(
bool);
268 QString spoilerHint()
const;
269 void setSpoilerHint(
const QString &);
272 std::optional<QXmppMixInvitation> mixInvitation()
const;
273 void setMixInvitation(
const std::optional<QXmppMixInvitation> &mixInvitation);
276#if QXMPP_DEPRECATED_SINCE(1, 7)
277 [[deprecated(
"Use fallbackMarkers()")]]
bool isFallback()
const;
278 [[deprecated(
"Use setFallbackMarkers()")]]
void setIsFallback(
bool isFallback);
280 const QVector<QXmppFallback> &fallbackMarkers()
const;
281 void setFallbackMarkers(
const QVector<QXmppFallback> &);
284 std::optional<QXmppTrustMessageElement> trustMessageElement()
const;
285 void setTrustMessageElement(
const std::optional<QXmppTrustMessageElement> &trustMessageElement);
288 std::optional<QXmppMessageReaction> reaction()
const;
289 void setReaction(
const std::optional<QXmppMessageReaction> &reaction);
292 const QVector<QXmppFileShare> &sharedFiles()
const;
293 void setSharedFiles(
const QVector<QXmppFileShare> &sharedFiles);
294 QVector<QXmppFileSourcesAttachment> fileSourcesAttachments()
const;
295 void setFileSourcesAttachments(
const QVector<QXmppFileSourcesAttachment> &);
298 std::optional<QXmppCallInviteElement> callInviteElement()
const;
299 void setCallInviteElement(std::optional<QXmppCallInviteElement> callInviteElement);
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;
314 void parseExtensions(
const QDomElement &element,
QXmpp::SceMode sceMode);
315 virtual bool parseExtension(
const QDomElement &element,
QXmpp::SceMode);
316 virtual void serializeExtensions(QXmlStreamWriter *writer,
QXmpp::SceMode,
const QString &baseNamespace = {})
const;
319 QSharedDataPointer<QXmppMessagePrivate> d;