QXmpp Version: 1.13.0
Loading...
Searching...
No Matches
QXmppMixIq.h
1// SPDX-FileCopyrightText: 2019 Linus Jahn <lnj@kaidan.im>
2// SPDX-FileCopyrightText: 2023 Melvin Keskin <melvo@olomono.de>
3//
4// SPDX-License-Identifier: LGPL-2.1-or-later
5
6#ifndef QXMPPMIXIQ_H
7#define QXMPPMIXIQ_H
8
9#include "QXmppIq.h"
10#include "QXmppMixConfigItem.h"
11
12#include <QSharedDataPointer>
13
14class QXmppMixInvitation;
15class QXmppMixIqPrivate;
16
17class QXMPP_EXPORT QXmppMixIq : public QXmppIq
18{
19public:
20 enum Type {
26#if QXMPP_DEPRECATED_SINCE(1, 7)
27 UpdateSubscription [[deprecated("Use QXmppMixManager")]],
28#endif
32 };
33
34 QXmppMixIq();
35 QXmppMixIq(const QXmppMixIq &);
36 QXmppMixIq(QXmppMixIq &&);
37 ~QXmppMixIq() override;
38
39 QXmppMixIq &operator=(const QXmppMixIq &);
40 QXmppMixIq &operator=(QXmppMixIq &&);
41
44
45#if QXMPP_DEPRECATED_SINCE(1, 7)
46 [[deprecated("Use participantId() and channelJid()")]]
47 QString jid() const;
48 [[deprecated("Use setParticipantId() and setChannelJid()")]]
49 void setJid(const QString &);
50#endif
51
52 QString participantId() const;
53 void setParticipantId(const QString &);
54
55#if QXMPP_DEPRECATED_SINCE(1, 7)
56 [[deprecated("Use channelId()")]]
57 QString channelName() const;
58 [[deprecated("Use setChannelId()")]]
59 void setChannelName(const QString &);
60#endif
61
62 QString channelId() const;
63 void setChannelId(const QString &);
64
65 QString channelJid() const;
66 void setChannelJid(const QString &);
67
68#if QXMPP_DEPRECATED_SINCE(1, 7)
69 [[deprecated("Use subscriptions()")]]
70 QStringList nodes() const;
71 [[deprecated("Use setSubscriptions()")]]
72 void setNodes(const QStringList &);
73#endif
74
75 QXmppMixConfigItem::Nodes subscriptions() const;
76 void setSubscriptions(QXmppMixConfigItem::Nodes);
77
78 QString nick() const;
79 void setNick(const QString &);
80
81 std::optional<QXmppMixInvitation> invitation() const;
82 void setInvitation(const std::optional<QXmppMixInvitation> &);
83
85 static bool isMixIq(const QDomElement &);
87
88protected:
90 void parseElementFromChild(const QDomElement &) override;
91 void toXmlElementFromChild(QXmlStreamWriter *) const override;
93
94private:
95 QSharedDataPointer<QXmppMixIqPrivate> d;
96};
97
98Q_DECLARE_METATYPE(QXmppMixIq::Type)
99
100#endif // QXMPPMIXIQ_H
QXmppIq(QXmppIq::Type type=QXmppIq::Get)
Definition QXmppIq.cpp:39
Definition QXmppMixIq.h:18
std::optional< QXmppMixInvitation > invitation() const
Definition QXmppMixIq.cpp:547
void setSubscriptions(QXmppMixConfigItem::Nodes)
Definition QXmppMixIq.cpp:515
void setChannelName(const QString &)
Definition QXmppMixIq.cpp:414
Type
Definition QXmppMixIq.h:20
@ Destroy
Definition QXmppMixIq.h:31
@ Leave
Definition QXmppMixIq.h:25
@ None
Definition QXmppMixIq.h:21
@ ClientLeave
Definition QXmppMixIq.h:23
@ ClientJoin
Definition QXmppMixIq.h:22
@ Join
Definition QXmppMixIq.h:24
@ UpdateSubscription
Definition QXmppMixIq.h:27
@ Create
Definition QXmppMixIq.h:30
@ SetNick
Definition QXmppMixIq.h:29
QXmppMixIq & operator=(QXmppMixIq &&)
Default move-assignment operator.
void setParticipantId(const QString &)
Definition QXmppMixIq.cpp:385
QStringList nodes() const
Definition QXmppMixIq.cpp:478
QXmppMixIq::Type actionType() const
Definition QXmppMixIq.cpp:568
void setNick(const QString &)
Definition QXmppMixIq.cpp:535
QString participantId() const
Definition QXmppMixIq.cpp:373
QXmppMixIq(QXmppMixIq &&)
Default move-constructor.
void setActionType(QXmppMixIq::Type)
Definition QXmppMixIq.cpp:578
void setChannelJid(const QString &)
Definition QXmppMixIq.cpp:466
QString channelJid() const
Definition QXmppMixIq.cpp:454
void setNodes(const QStringList &)
Definition QXmppMixIq.cpp:491
QXmppMixIq & operator=(const QXmppMixIq &)
Default assignment operator.
QString jid() const
Definition QXmppMixIq.cpp:333
void setInvitation(const std::optional< QXmppMixInvitation > &)
Definition QXmppMixIq.cpp:559
QString channelName() const
Definition QXmppMixIq.cpp:399
QString channelId() const
Definition QXmppMixIq.cpp:428
QString nick() const
Definition QXmppMixIq.cpp:525
void setChannelId(const QString &)
Definition QXmppMixIq.cpp:442
QXmppMixIq(const QXmppMixIq &)
Default copy-constructor.
void setJid(const QString &)
Definition QXmppMixIq.cpp:354
QXmppMixConfigItem::Nodes subscriptions() const
Definition QXmppMixIq.cpp:503