QXmpp  Version: 1.5.1
QXmppVersionManager.h
1 // SPDX-FileCopyrightText: 2010 Manjeet Dahiya <manjeetdahiya@gmail.com>
2 //
3 // SPDX-License-Identifier: LGPL-2.1-or-later
4 
5 #ifndef QXMPPVERSIONMANAGER_H
6 #define QXMPPVERSIONMANAGER_H
7 
8 #include "QXmppClientExtension.h"
9 
10 class QXmppVersionIq;
11 class QXmppVersionManagerPrivate;
12 
23 class QXMPP_EXPORT QXmppVersionManager : public QXmppClientExtension
24 {
25  Q_OBJECT
26 
27 public:
29  ~QXmppVersionManager() override;
30 
31  QString requestVersion(const QString &jid);
32 
33  void setClientName(const QString &);
34  void setClientVersion(const QString &);
35  void setClientOs(const QString &);
36 
37  QString clientName() const;
38  QString clientVersion() const;
39  QString clientOs() const;
40 
42  QStringList discoveryFeatures() const override;
43  bool handleStanza(const QDomElement &element) override;
44  QXmppVersionIq handleIq(QXmppVersionIq &&iq);
46 
47 Q_SIGNALS:
50 
51 private:
52  const std::unique_ptr<QXmppVersionManagerPrivate> d;
53 };
54 
55 #endif // QXMPPVERSIONMANAGER_H
The QXmppClientExtension class is the base class for QXmppClient extensions.
Definition: QXmppClientExtension.h:33
virtual QStringList discoveryFeatures() const
Definition: QXmppClientExtension.cpp:22
virtual bool handleStanza(const QDomElement &stanza)
You need to implement this method to process incoming XMPP stanzas.
Definition: QXmppClientExtension.cpp:51
The QXmppVersionIq class represents an IQ for conveying a software version as defined by XEP-0092: So...
Definition: QXmppVersionIq.h:16
The QXmppVersionManager class makes it possible to request for the software version of an entity as d...
Definition: QXmppVersionManager.h:24
void versionReceived(const QXmppVersionIq &)
This signal is emitted when a version response is received.