QXmpp  Version: 1.15.1
QXmppMixInvitation.h
1 // SPDX-FileCopyrightText: 2021 Melvin Keskin <melvo@olomono.de>
2 //
3 // SPDX-License-Identifier: LGPL-2.1-or-later
4 
5 #ifndef QXMPPMIXINVITATION_H
6 #define QXMPPMIXINVITATION_H
7 
8 #include "QXmppConstants_p.h"
9 #include "QXmppElement.h"
10 
11 #include <QSharedDataPointer>
12 
13 class QXmppMixInvitationPrivate;
14 
15 class QXMPP_EXPORT QXmppMixInvitation
16 {
17 public:
18  QXmppMixInvitation();
19  QXmppMixInvitation(const QXmppMixInvitation &other);
20  QXmppMixInvitation(QXmppMixInvitation &&);
21  ~QXmppMixInvitation();
22 
23  QXmppMixInvitation &operator=(const QXmppMixInvitation &other);
24  QXmppMixInvitation &operator=(QXmppMixInvitation &&);
25 
26  QString inviterJid() const;
27  void setInviterJid(const QString &inviterJid);
28 
29  QString inviteeJid() const;
30  void setInviteeJid(const QString &inviteeJid);
31 
32  QString channelJid() const;
33  void setChannelJid(const QString &channelJid);
34 
35  QString token() const;
36  void setToken(const QString &token);
37 
39  static constexpr std::tuple XmlTag = { u"invitation", QXmpp::Private::ns_mix_misc };
40  void parse(const QDomElement &element);
41  void toXml(QXmlStreamWriter *writer) const;
43 
44  static bool isMixInvitation(const QDomElement &element);
45 
46 private:
47  QSharedDataPointer<QXmppMixInvitationPrivate> d;
48 };
49 
50 #endif // QXMPPMIXINVITATION_H