aboutsummaryrefslogtreecommitdiff
path: root/src/base/QXmppMixInvitation.h
diff options
context:
space:
mode:
authorMelvin Keskin <melvo@olomono.de>2021-03-08 20:11:22 +0100
committerGitHub <noreply@github.com>2021-03-08 20:11:22 +0100
commit8efc8ea6aef64455bca04b11c3c4b0e20b532484 (patch)
tree8eced49da7e56f833cfb8534f4ead5261493e67f /src/base/QXmppMixInvitation.h
parent9a1134a415cd550dcb6efd35bd1cf98b8faa236e (diff)
downloadqxmpp-8efc8ea6aef64455bca04b11c3c4b0e20b532484.tar.gz
Implement MIX-MISC XEP-0407: Invitation message extension (#329)
This implements the message extension for MIX invitations from XEP-0407: Mediated Information eXchange (MIX): Miscellaneous Capabilities in version 0.1.2. https://xmpp.org/extensions/xep-0407.html#usecase-user-invite
Diffstat (limited to 'src/base/QXmppMixInvitation.h')
-rw-r--r--src/base/QXmppMixInvitation.h74
1 files changed, 74 insertions, 0 deletions
diff --git a/src/base/QXmppMixInvitation.h b/src/base/QXmppMixInvitation.h
new file mode 100644
index 00000000..72691265
--- /dev/null
+++ b/src/base/QXmppMixInvitation.h
@@ -0,0 +1,74 @@
+/*
+ * Copyright (C) 2008-2021 The QXmpp developers
+ *
+ * Author:
+ * Melvin Keskin
+ *
+ * Source:
+ * https://github.com/qxmpp-project/qxmpp
+ *
+ * This file is a part of QXmpp library.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ */
+
+#ifndef QXMPPMIXINVITATION_H
+#define QXMPPMIXINVITATION_H
+
+#include "QXmppElement.h"
+
+#include <QSharedDataPointer>
+
+class QXmppMixInvitationPrivate;
+
+///
+/// \brief The QXmppMixInvitation class is used to invite a user to a
+/// \xep{0369}: Mediated Information eXchange (MIX) channel as defined by
+/// \xep{0407}: Mediated Information eXchange (MIX): Miscellaneous Capabilities.
+///
+/// \ingroup Stanzas
+///
+/// \since QXmpp 1.4
+///
+class QXMPP_EXPORT QXmppMixInvitation
+{
+public:
+ QXmppMixInvitation();
+ QXmppMixInvitation(const QXmppMixInvitation &other);
+ ~QXmppMixInvitation();
+
+ QXmppMixInvitation &operator=(const QXmppMixInvitation &other);
+
+ QString inviterJid() const;
+ void setInviterJid(const QString &inviterJid);
+
+ QString inviteeJid() const;
+ void setInviteeJid(const QString &inviteeJid);
+
+ QString channelJid() const;
+ void setChannelJid(const QString &channelJid);
+
+ QString token() const;
+ void setToken(const QString &token);
+
+ /// \cond
+ void parse(const QDomElement &element);
+ void toXml(QXmlStreamWriter *writer) const;
+ /// \endcond
+
+ static bool isMixInvitation(const QDomElement &element);
+
+private:
+ QSharedDataPointer<QXmppMixInvitationPrivate> d;
+};
+
+#endif // QXMPPMIXINVITATION_H