QXmpp Version: 1.10.4
 
Loading...
Searching...
No Matches
QXmppDiscoveryIq.h
1// SPDX-FileCopyrightText: 2010 Jeremy Lainé <jeremy.laine@m4x.org>
2//
3// SPDX-License-Identifier: LGPL-2.1-or-later
4
5#ifndef QXMPPDISCOVERY_H
6#define QXMPPDISCOVERY_H
7
8#include "QXmppDataForm.h"
9#include "QXmppIq.h"
10
11#include <QSharedDataPointer>
12
13class QXmppDiscoveryIdentityPrivate;
14class QXmppDiscoveryItemPrivate;
15class QXmppDiscoveryIqPrivate;
16
17class QXMPP_EXPORT QXmppDiscoveryIq : public QXmppIq
18{
19public:
20 class QXMPP_EXPORT Identity
21 {
22 public:
23 Identity();
24 Identity(const Identity &other);
25 Identity(Identity &&);
26 ~Identity();
27
28 Identity &operator=(const Identity &other);
29 Identity &operator=(Identity &&);
30
31 QString category() const;
32 void setCategory(const QString &category);
33
34 QString language() const;
35 void setLanguage(const QString &language);
36
37 QString name() const;
38 void setName(const QString &name);
39
40 QString type() const;
41 void setType(const QString &type);
42
43 private:
44 QSharedDataPointer<QXmppDiscoveryIdentityPrivate> d;
45 };
46
47 class QXMPP_EXPORT Item
48 {
49 public:
50 Item();
51 Item(const Item &);
52 Item(Item &&);
53 ~Item();
54
55 Item &operator=(const Item &);
56 Item &operator=(Item &&);
57
58 QString jid() const;
59 void setJid(const QString &jid);
60
61 QString name() const;
62 void setName(const QString &name);
63
64 QString node() const;
65 void setNode(const QString &node);
66
67 private:
68 QSharedDataPointer<QXmppDiscoveryItemPrivate> d;
69 };
70
71 QXmppDiscoveryIq();
72 QXmppDiscoveryIq(const QXmppDiscoveryIq &);
73 QXmppDiscoveryIq(QXmppDiscoveryIq &&);
74 ~QXmppDiscoveryIq() override;
75
76 QXmppDiscoveryIq &operator=(const QXmppDiscoveryIq &);
77 QXmppDiscoveryIq &operator=(QXmppDiscoveryIq &&);
78
79 enum QueryType {
80 InfoQuery,
81 ItemsQuery
82 };
83
84 QStringList features() const;
85 void setFeatures(const QStringList &features);
86
87 QList<QXmppDiscoveryIq::Identity> identities() const;
88 void setIdentities(const QList<QXmppDiscoveryIq::Identity> &identities);
89
90 QList<QXmppDiscoveryIq::Item> items() const;
91 void setItems(const QList<QXmppDiscoveryIq::Item> &items);
92
93 QXmppDataForm form() const;
94 void setForm(const QXmppDataForm &form);
95
96 QString queryNode() const;
97 void setQueryNode(const QString &node);
98
99 enum QueryType queryType() const;
100 void setQueryType(enum QueryType type);
101
102 QByteArray verificationString() const;
103
104 static bool isDiscoveryIq(const QDomElement &element);
106 static bool checkIqType(const QString &tagName, const QString &xmlNamespace);
107
108protected:
109 void parseElementFromChild(const QDomElement &element) override;
110 void toXmlElementFromChild(QXmlStreamWriter *writer) const override;
112
113private:
114 QSharedDataPointer<QXmppDiscoveryIqPrivate> d;
115};
116
117#endif
Definition QXmppDataForm.h:27
void setLanguage(const QString &language)
Definition QXmppDiscoveryIq.cpp:118
QString name() const
Definition QXmppDiscoveryIq.cpp:126
Identity & operator=(Identity &&)
Default move-assignment operator.
void setCategory(const QString &category)
Definition QXmppDiscoveryIq.cpp:96
QString category() const
Definition QXmppDiscoveryIq.cpp:85
QString language() const
Definition QXmppDiscoveryIq.cpp:107
Identity(const Identity &other)
Default copy-constructor.
Identity(Identity &&)
Default move-constructor.
Identity & operator=(const Identity &other)
Default assignment operator.
QString type() const
Definition QXmppDiscoveryIq.cpp:144
void setName(const QString &name)
Definition QXmppDiscoveryIq.cpp:134
QString jid() const
Definition QXmppDiscoveryIq.cpp:192
Item(const Item &)
Default copy-constructor.
Item & operator=(const Item &)
Default assignment operator.
QString node() const
Definition QXmppDiscoveryIq.cpp:224
void setName(const QString &name)
Definition QXmppDiscoveryIq.cpp:216
void setJid(const QString &jid)
Definition QXmppDiscoveryIq.cpp:200
Item(Item &&)
Default move-constructor.
void setNode(const QString &node)
Definition QXmppDiscoveryIq.cpp:232
Item & operator=(Item &&)
Default move-assignment operator.
QString name() const
Definition QXmppDiscoveryIq.cpp:208
QXmppDiscoveryIq & operator=(QXmppDiscoveryIq &&)
Default move-assignment operator.
QXmppDiscoveryIq(const QXmppDiscoveryIq &)
Default copy-constructor.
QXmppDiscoveryIq(QXmppDiscoveryIq &&)
Default move-constructor.
QXmppDiscoveryIq & operator=(const QXmppDiscoveryIq &)
Default assignment operator.
QueryType
Definition QXmppDiscoveryIq.h:79
QXmppIq(QXmppIq::Type type=QXmppIq::Get)
Definition QXmppIq.cpp:34
void setType(QXmppIq::Type)
Definition QXmppIq.cpp:65
QXmppIq::Type type() const
Definition QXmppIq.cpp:55