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 "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 &);
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 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
The QXmppIq class is the base class for all IQs.
Definition QXmppIq.h:23
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:33
QXmppRosterIq::Item::SubscriptionType
SubscriptionType
An enumeration for type of subscription with the bareJid in the roster.
Definition QXmppRosterIq.h:36
QXmppRosterIq::Item::Item
Item(Item &&)
Default move-constructor.
QXmppRosterIq::Item::operator=
Item & operator=(const Item &other)
Default assignment operator.
QXmppRosterIq::Item::operator=
Item & operator=(Item &&)
Default assignment operator.
QXmppRosterIq::Item::Item
Item(const Item &other)
Default copy-constructor.
QXmppRosterIq
The QXmppRosterIq class represents a roster IQ.
Definition QXmppRosterIq.h:27
QXmppRosterIq::QXmppRosterIq
QXmppRosterIq(const QXmppRosterIq &)
Default copy-constructor.
QXmppRosterIq::operator=
QXmppRosterIq & operator=(const QXmppRosterIq &)
Default assignment operator.
QXmppRosterIq::operator=
QXmppRosterIq & operator=(QXmppRosterIq &&)
Default move-assignment operator.
QXmppRosterIq::QXmppRosterIq
QXmppRosterIq(QXmppRosterIq &&)
Default move-constructor.