QXmpp  Version: 1.6.0
QXmppExternalServiceDiscoveryManager.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 QXMPPEXTERNALSERVICEDISCOVERYMANAGER_H
6 #define QXMPPEXTERNALSERVICEDISCOVERYMANAGER_H
7 
8 #include "QXmppClientExtension.h"
9 #include "QXmppError.h"
10 #include "QXmppExternalService.h"
11 #include "QXmppTask.h"
12 
13 #include <variant>
14 
15 class QDateTime;
16 class QXmppExternalServicePrivate;
17 class QXMPP_EXPORT QXmppExternalServiceDiscoveryManager : public QXmppClientExtension
18 {
19  Q_OBJECT
20 
21 public:
22  QXmppExternalServiceDiscoveryManager();
23  ~QXmppExternalServiceDiscoveryManager();
24 
25  using ServicesResult = std::variant<QVector<QXmppExternalService>, QXmppError>;
26 
27  QXmppTask<ServicesResult> requestServices(const QString &jid, const QString &node = {});
28 
30  QStringList discoveryFeatures() const override;
32 };
33 
34 #endif // QXMPPEXTERNALSERVICEDISCOVERYMANAGER_H
The QXmppClientExtension class is the base class for QXmppClient extensions.
Definition: QXmppClientExtension.h:33
virtual QStringList discoveryFeatures() const
Definition: QXmppClientExtension.cpp:22
Definition: QXmppTask.h:62
Definition: QXmppError.h:18