QXmpp  Version: 1.15.1
QXmppExternalServiceDiscoveryIq.h
1 // SPDX-FileCopyrightText: 2023 Tibor Csötönyi <work@taibsu.de>
2 //
3 // SPDX-License-Identifier: LGPL-2.1-or-later
4 
5 #ifndef QXMPPEXTERNALSERVICEDISCOVERYIQ_H
6 #define QXMPPEXTERNALSERVICEDISCOVERYIQ_H
7 
8 #include "QXmppExternalService.h"
9 #include "QXmppIq.h"
10 
11 class QXmppExternalServiceDiscoveryIqPrivate;
12 
13 class QXMPP_EXPORT QXmppExternalServiceDiscoveryIq : public QXmppIq
14 {
15 public:
16  QXmppExternalServiceDiscoveryIq();
17 
18  QXMPP_PRIVATE_DECLARE_RULE_OF_SIX(QXmppExternalServiceDiscoveryIq)
19 
20  QVector<QXmppExternalService> externalServices() const;
21  void setExternalServices(const QVector<QXmppExternalService> &);
22  void addExternalService(const QXmppExternalService &);
23 
24  static constexpr std::tuple PayloadXmlTag = { u"services", QXmpp::Private::ns_external_service_discovery };
25  [[deprecated("Use QXmpp::isIqElement()")]]
26  static bool isExternalServiceDiscoveryIq(const QDomElement &);
27  static bool checkIqType(const QString &tagName, const QString &xmlNamespace);
28 
29 protected:
31  void parseElementFromChild(const QDomElement &) override;
32  void toXmlElementFromChild(QXmlStreamWriter *) const override;
34 
35 private:
36  QSharedDataPointer<QXmppExternalServiceDiscoveryIqPrivate> d;
37 };
38 
39 #endif // QXMPPEXTERNALSERVICEDISCOVERYIQ_H
The QXmppIq class is the base class for all IQs.
Definition: QXmppIq.h:22
Definition: QXmppExternalService.h:20