Loading...
Searching...
No Matches
QXmppRosterIq.h
// SPDX-FileCopyrightText: 2009 Manjeet Dahiya <manjeetdahiya@gmail.com>
// SPDX-FileCopyrightText: 2010 Jeremy Lainé <jeremy.laine@m4x.org>
//
// SPDX-License-Identifier: LGPL-2.1-or-later
#ifndef QXMPPROSTERIQ_H
#define QXMPPROSTERIQ_H
#include "QXmppConstants_p.h"
#include "QXmppIq.h"
#include <QList>
#include <QSet>
#include <QSharedDataPointer>
namespace QXmpp::Private {
struct RosterData;
}
class QXmppRosterIqPrivate;
class QXMPP_EXPORT QXmppRosterIq : public QXmppIq
{
public:
class ItemPrivate;
class QXMPP_EXPORT Item
{
public:
enum SubscriptionType {
None = 0,
From = 1,
To = 2,
Both = 3,
Remove = 4,
NotSet = 8
};
Item();
Item(const Item &other);
Item(Item &&);
~Item();
Item &operator=(const Item &other);
Item &operator=(Item &&);
QString bareJid() const;
QSet<QString> groups() const;
QString name() const;
QString subscriptionStatus() const;
SubscriptionType subscriptionType() const;
bool isApproved() const;
void setBareJid(const QString &);
void setGroups(const QSet<QString> &);
void setName(const QString &);
void setSubscriptionStatus(const QString &);
void setSubscriptionType(SubscriptionType);
void setIsApproved(bool);
// XEP-0405: Mediated Information eXchange (MIX): Participant Server Requirements
bool isMixChannel() const;
void setIsMixChannel(bool);
QString mixParticipantId() const;
void setMixParticipantId(const QString &);
static constexpr std::tuple XmlTag = { u"item", QXmpp::Private::ns_roster };
void parse(const QDomElement &element);
void toXml(QXmlStreamWriter *writer) const;
private:
friend struct QXmpp::Private::RosterData;
void toXml(QXmlStreamWriter *writer, bool external) const;
QString getSubscriptionTypeStr() const;
void setSubscriptionTypeFromStr(const QString &);
QSharedDataPointer<ItemPrivate> d;
};
QXmppRosterIq();
QXmppRosterIq(const QXmppRosterIq &);
QXmppRosterIq(QXmppRosterIq &&);
~QXmppRosterIq() override;
QXmppRosterIq &operator=(const QXmppRosterIq &);
QXmppRosterIq &operator=(QXmppRosterIq &&);
QString version() const;
void setVersion(const QString &);
QList<Item> items() const;
void setItems(const QList<Item> &);
void addItem(const Item &);
// XEP-0405: Mediated Information eXchange (MIX): Participant Server Requirements
bool mixAnnotate() const;
void setMixAnnotate(bool);
static constexpr std::tuple PayloadXmlTag = { u"query", QXmpp::Private::ns_roster };
[[deprecated("Use QXmpp::isIqElement()")]]
static bool isRosterIq(const QDomElement &element);
protected:
void parseElementFromChild(const QDomElement &element) override;
void toXmlElementFromChild(QXmlStreamWriter *writer) const override;
private:
QSharedDataPointer<QXmppRosterIqPrivate> d;
};
#endif // QXMPPROSTERIQ_H
QXmppIq::QXmppIq
QXmppIq(QXmppIq::Type type=QXmppIq::Get)
Definition QXmppIq.cpp:39
QXmppNonza::parse
virtual void parse(const QDomElement &)=0
QXmppNonza::toXml
virtual void toXml(QXmlStreamWriter *writer) const =0
QXmppRosterIq::Item
The QXmppRosterIq::Item class represents a roster entry.
Definition QXmppRosterIq.h:34
QXmppRosterIq::Item::SubscriptionType
SubscriptionType
An enumeration for type of subscription with the bareJid in the roster.
Definition QXmppRosterIq.h:37
QXmppRosterIq::Item::From
@ From
Definition QXmppRosterIq.h:41
QXmppRosterIq::Item::Remove
@ Remove
to delete a roster item
Definition QXmppRosterIq.h:47
QXmppRosterIq::Item::None
@ None
Definition QXmppRosterIq.h:38
QXmppRosterIq::Item::NotSet
@ NotSet
the subscription state was not specified
Definition QXmppRosterIq.h:48
QXmppRosterIq::Item::Both
@ Both
Definition QXmppRosterIq.h:45
QXmppRosterIq::Item::To
@ To
Definition QXmppRosterIq.h:43
QXmppRosterIq::Item::subscriptionType
SubscriptionType subscriptionType() const
Definition QXmppRosterIq.cpp:268
QXmppRosterIq::Item::isApproved
bool isApproved() const
Definition QXmppRosterIq.cpp:288
QXmppRosterIq::Item::mixParticipantId
QString mixParticipantId() const
Definition QXmppRosterIq.cpp:373
QXmppRosterIq::Item::bareJid
QString bareJid() const
Definition QXmppRosterIq.cpp:186
QXmppRosterIq::Item::setMixParticipantId
void setMixParticipantId(const QString &)
Definition QXmppRosterIq.cpp:383
QXmppRosterIq::Item::setName
void setName(const QString &)
Definition QXmppRosterIq.cpp:235
QXmppRosterIq::Item::Item
Item()
Definition QXmppRosterIq.cpp:166
QXmppRosterIq::Item::setIsApproved
void setIsApproved(bool)
Definition QXmppRosterIq.cpp:302
QXmppRosterIq::Item::isMixChannel
bool isMixChannel() const
Definition QXmppRosterIq.cpp:353
QXmppRosterIq::Item::Item
Item(Item &&)
Default move-constructor.
QXmppRosterIq::Item::groups
QSet< QString > groups() const
Definition QXmppRosterIq.cpp:205
QXmppRosterIq::Item::operator=
Item & operator=(const Item &other)
Default assignment operator.
QXmppRosterIq::Item::setIsMixChannel
void setIsMixChannel(bool)
Definition QXmppRosterIq.cpp:363
QXmppRosterIq::Item::setSubscriptionType
void setSubscriptionType(SubscriptionType)
Definition QXmppRosterIq.cpp:278
QXmppRosterIq::Item::setBareJid
void setBareJid(const QString &)
Definition QXmppRosterIq.cpp:195
QXmppRosterIq::Item::operator=
Item & operator=(Item &&)
Default assignment operator.
QXmppRosterIq::Item::setGroups
void setGroups(const QSet< QString > &)
Definition QXmppRosterIq.cpp:215
QXmppRosterIq::Item::Item
Item(const Item &other)
Default copy-constructor.
QXmppRosterIq::Item::subscriptionStatus
QString subscriptionStatus() const
Definition QXmppRosterIq.cpp:247
QXmppRosterIq::Item::setSubscriptionStatus
void setSubscriptionStatus(const QString &)
Definition QXmppRosterIq.cpp:259
QXmppRosterIq::Item::name
QString name() const
Definition QXmppRosterIq.cpp:225
QXmppRosterIq
The QXmppRosterIq class represents a roster IQ.
Definition QXmppRosterIq.h:28
QXmppRosterIq::QXmppRosterIq
QXmppRosterIq(const QXmppRosterIq &)
Default copy-constructor.
QXmppRosterIq::operator=
QXmppRosterIq & operator=(const QXmppRosterIq &)
Default assignment operator.
QXmppRosterIq::setMixAnnotate
void setMixAnnotate(bool)
Definition QXmppRosterIq.cpp:113
QXmppRosterIq::setVersion
void setVersion(const QString &)
Definition QXmppRosterIq.cpp:92
QXmppRosterIq::operator=
QXmppRosterIq & operator=(QXmppRosterIq &&)
Default move-assignment operator.
QXmppRosterIq::items
QList< Item > items() const
Definition QXmppRosterIq.cpp:58
QXmppRosterIq::version
QString version() const
Definition QXmppRosterIq.cpp:80
QXmppRosterIq::addItem
void addItem(const Item &)
Definition QXmppRosterIq.cpp:50
QXmppRosterIq::setItems
void setItems(const QList< Item > &)
Definition QXmppRosterIq.cpp:68
QXmppRosterIq::QXmppRosterIq
QXmppRosterIq(QXmppRosterIq &&)
Default move-constructor.
QXmppRosterIq::mixAnnotate
bool mixAnnotate() const
Definition QXmppRosterIq.cpp:102