5#ifndef QXMPPDISCOVERY_H
6#define QXMPPDISCOVERY_H
8#include "QXmppDataForm.h"
11#include <QSharedDataPointer>
13class QXmppDiscoveryIdentityPrivate;
14class QXmppDiscoveryItemPrivate;
15class QXmppDiscoveryIqPrivate;
17class QXMPP_EXPORT QXmppDiscoveryIq :
public QXmppIq
20 class QXMPP_EXPORT Identity
24 QXMPP_PRIVATE_DECLARE_RULE_OF_SIX(Identity)
39 static constexpr std::tuple XmlTag = { u
"identity", QXmpp::Private::ns_disco_info };
40 static std::optional<Identity> fromDom(
const QDomElement &el);
41 void toXml(QXmlStreamWriter *writer)
const;
45 QSharedDataPointer<QXmppDiscoveryIdentityPrivate> d;
48 class QXMPP_EXPORT Item
52 QXMPP_PRIVATE_DECLARE_RULE_OF_SIX(Item)
64 static constexpr std::tuple XmlTag = { u
"item", QXmpp::Private::ns_disco_items };
65 static std::optional<Item> fromDom(
const QDomElement &el);
66 void toXml(QXmlStreamWriter *writer)
const;
70 QSharedDataPointer<QXmppDiscoveryItemPrivate> d;
74 QXMPP_PRIVATE_DECLARE_RULE_OF_SIX(QXmppDiscoveryIq)
81 QStringList features()
const;
82 void setFeatures(
const QStringList &features);
84 QList<QXmppDiscoveryIq::Identity> identities()
const;
85 void setIdentities(
const QList<QXmppDiscoveryIq::Identity> &identities);
87 QList<QXmppDiscoveryIq::Item> items()
const;
88 void setItems(
const QList<QXmppDiscoveryIq::Item> &items);
93 QString queryNode()
const;
94 void setQueryNode(
const QString &node);
96 enum QueryType queryType()
const;
97 void setQueryType(
enum QueryType type);
99 QByteArray verificationString()
const;
102 [[deprecated(
"Use QXmpp::isIqElement()")]]
103 static bool isDiscoveryIq(
const QDomElement &element);
104 static bool checkIqType(
const QString &tagName,
const QString &xmlNamespace);
107 void parseElementFromChild(
const QDomElement &element)
override;
108 void toXmlElementFromChild(QXmlStreamWriter *writer)
const override;
112 QSharedDataPointer<QXmppDiscoveryIqPrivate> d;
void setLanguage(const QString &language)
Definition QXmppDiscoveryIq.cpp:111
QString name() const
Definition QXmppDiscoveryIq.cpp:119
void setCategory(const QString &category)
Definition QXmppDiscoveryIq.cpp:89
QString category() const
Definition QXmppDiscoveryIq.cpp:78
QString language() const
Definition QXmppDiscoveryIq.cpp:100
QString type() const
Definition QXmppDiscoveryIq.cpp:137
void setName(const QString &name)
Definition QXmppDiscoveryIq.cpp:127
QString jid() const
Definition QXmppDiscoveryIq.cpp:200
QString node() const
Definition QXmppDiscoveryIq.cpp:232
void setName(const QString &name)
Definition QXmppDiscoveryIq.cpp:224
void setJid(const QString &jid)
Definition QXmppDiscoveryIq.cpp:208
void setNode(const QString &node)
Definition QXmppDiscoveryIq.cpp:240
QString name() const
Definition QXmppDiscoveryIq.cpp:216
QueryType
Definition QXmppDiscoveryIq.h:76
QXmppIq(QXmppIq::Type type=QXmppIq::Get)
Definition QXmppIq.cpp:39
void setType(QXmppIq::Type)
Definition QXmppIq.cpp:70
QXmppIq::Type type() const
Definition QXmppIq.cpp:60
virtual void toXml(QXmlStreamWriter *writer) const =0