5#ifndef QXMPPDISCOVERYMANAGER_P_H
6#define QXMPPDISCOVERYMANAGER_P_H
8#include "QXmppDiscoveryManager.h"
9#include "QXmppPromise.h"
16using namespace QXmpp::Private;
18class QXmppDiscoveryManagerPrivate
24 std::weak_ptr<QXmppDiscoServicesWatch::Data> data;
26 std::optional<QString> type;
27 QStringList requiredFeatures;
31 QString clientCapabilitiesNode;
32 QList<QXmppDiscoIdentity> identities;
33 QList<QXmppDataForm> dataForms;
37 QCache<std::tuple<QString, QString>, QList<QXmppDiscoItem>> itemsCache;
44 QList<WatchEntry> watches;
45 QList<QXmppDiscoService> discoveredServices;
46 bool discoveryComplete =
false;
50 static QString defaultApplicationName();
53 std::variant<CompatIq<QXmppDiscoInfo>,
StanzaError> handleIq(GetIq<QXmppDiscoInfo> &&iq);
54 std::variant<CompatIq<QXmppDiscoItems>,
StanzaError> handleIq(GetIq<QXmppDiscoItems> &&iq);
56 void discoverServices();
57 void processServiceInfo(
const QString &jid,
const QXmppDiscoInfo &info);
58 void finalizeDiscovery();
59 void pruneExpiredWatches();
60 bool matchesFilter(
const WatchEntry &watch,
const QXmppDiscoInfo &info)
const;
Definition QXmppDiscoveryIq.h:147
Definition QXmppDiscoveryIq.h:206
The QXmppDiscoveryManager class makes it possible to discover information about other entities as def...
Definition QXmppDiscoveryManager.h:56
The Error class represents a stanza error.
Definition QXmppStanza.h:112
std::variant< T, QXmppError > Result
Definition QXmppGlobal.h:209