9#include "QXmppConstants_p.h"
14#include <QSharedDataPointer>
16namespace QXmpp::Private {
20class QXmppRosterIqPrivate;
27class QXMPP_EXPORT QXmppRosterIq :
public QXmppIq
60 QSet<QString>
groups()
const;
81 static constexpr std::tuple XmlTag = { u
"item", QXmpp::Private::ns_roster };
82 void parse(
const QDomElement &element);
83 void toXml(QXmlStreamWriter *writer)
const;
87 friend struct QXmpp::Private::RosterData;
89 void toXml(QXmlStreamWriter *writer,
bool external)
const;
91 QString getSubscriptionTypeStr()
const;
92 void setSubscriptionTypeFromStr(
const QString &);
94 QSharedDataPointer<ItemPrivate> d;
100 ~QXmppRosterIq()
override;
108 QList<Item>
items()
const;
117 static constexpr std::tuple PayloadXmlTag = { u
"query", QXmpp::Private::ns_roster };
118 [[deprecated(
"Use QXmpp::isIqElement()")]]
119 static bool isRosterIq(
const QDomElement &element);
124 void parseElementFromChild(
const QDomElement &element)
override;
125 void toXmlElementFromChild(QXmlStreamWriter *writer)
const override;
129 QSharedDataPointer<QXmppRosterIqPrivate> d;
QXmppIq(QXmppIq::Type type=QXmppIq::Get)
Definition QXmppIq.cpp:39
virtual void parse(const QDomElement &)=0
virtual void toXml(QXmlStreamWriter *writer) const =0
The QXmppRosterIq::Item class represents a roster entry.
Definition QXmppRosterIq.h:34
SubscriptionType
An enumeration for type of subscription with the bareJid in the roster.
Definition QXmppRosterIq.h:37
@ From
Definition QXmppRosterIq.h:41
@ Remove
to delete a roster item
Definition QXmppRosterIq.h:47
@ None
Definition QXmppRosterIq.h:38
@ NotSet
the subscription state was not specified
Definition QXmppRosterIq.h:48
@ Both
Definition QXmppRosterIq.h:45
@ To
Definition QXmppRosterIq.h:43
SubscriptionType subscriptionType() const
Definition QXmppRosterIq.cpp:268
bool isApproved() const
Definition QXmppRosterIq.cpp:288
QString mixParticipantId() const
Definition QXmppRosterIq.cpp:373
QString bareJid() const
Definition QXmppRosterIq.cpp:186
void setMixParticipantId(const QString &)
Definition QXmppRosterIq.cpp:383
void setName(const QString &)
Definition QXmppRosterIq.cpp:235
Item()
Definition QXmppRosterIq.cpp:166
void setIsApproved(bool)
Definition QXmppRosterIq.cpp:302
bool isMixChannel() const
Definition QXmppRosterIq.cpp:353
Item(Item &&)
Default move-constructor.
QSet< QString > groups() const
Definition QXmppRosterIq.cpp:205
Item & operator=(const Item &other)
Default assignment operator.
void setIsMixChannel(bool)
Definition QXmppRosterIq.cpp:363
void setSubscriptionType(SubscriptionType)
Definition QXmppRosterIq.cpp:278
void setBareJid(const QString &)
Definition QXmppRosterIq.cpp:195
Item & operator=(Item &&)
Default assignment operator.
void setGroups(const QSet< QString > &)
Definition QXmppRosterIq.cpp:215
Item(const Item &other)
Default copy-constructor.
QString subscriptionStatus() const
Definition QXmppRosterIq.cpp:247
void setSubscriptionStatus(const QString &)
Definition QXmppRosterIq.cpp:259
QString name() const
Definition QXmppRosterIq.cpp:225
The QXmppRosterIq class represents a roster IQ.
Definition QXmppRosterIq.h:28
QXmppRosterIq(const QXmppRosterIq &)
Default copy-constructor.
QXmppRosterIq & operator=(const QXmppRosterIq &)
Default assignment operator.
void setMixAnnotate(bool)
Definition QXmppRosterIq.cpp:113
void setVersion(const QString &)
Definition QXmppRosterIq.cpp:92
QXmppRosterIq & operator=(QXmppRosterIq &&)
Default move-assignment operator.
QList< Item > items() const
Definition QXmppRosterIq.cpp:58
QString version() const
Definition QXmppRosterIq.cpp:80
void addItem(const Item &)
Definition QXmppRosterIq.cpp:50
void setItems(const QList< Item > &)
Definition QXmppRosterIq.cpp:68
QXmppRosterIq(QXmppRosterIq &&)
Default move-constructor.
bool mixAnnotate() const
Definition QXmppRosterIq.cpp:102