QXmpp Version: 1.8.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
15class QDateTime;
16class QXmppExternalServicePrivate;
17class QXMPP_EXPORT QXmppExternalServiceDiscoveryManager : public QXmppClientExtension
18{
19 Q_OBJECT
20
21public:
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:17