diff options
| author | Manjeet Dahiya <manjeetdahiya@gmail.com> | 2010-09-07 14:35:16 +0000 |
|---|---|---|
| committer | Manjeet Dahiya <manjeetdahiya@gmail.com> | 2010-09-07 14:35:16 +0000 |
| commit | 3d1bfc3c4c221122b7fb3f81cd4ebf3d6f81dedf (patch) | |
| tree | ebc50271440b783150a8505661f5065e735c47c9 /src/QXmppVersionManager.cpp | |
| parent | c4787804affb92d6b1427c476dba7abc4e9723a4 (diff) | |
| download | qxmpp-3d1bfc3c4c221122b7fb3f81cd4ebf3d6f81dedf.tar.gz | |
move the Version Result code to the versionManager class
Diffstat (limited to 'src/QXmppVersionManager.cpp')
| -rw-r--r-- | src/QXmppVersionManager.cpp | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/src/QXmppVersionManager.cpp b/src/QXmppVersionManager.cpp index fe546ad4..9f746e82 100644 --- a/src/QXmppVersionManager.cpp +++ b/src/QXmppVersionManager.cpp @@ -23,6 +23,8 @@ #include "QXmppVersionManager.h"
#include "QXmppOutgoingClient.h"
+#include "QXmppVersionIq.h"
+#include <QCoreApplication>
QXmppVersionManager::QXmppVersionManager(QXmppOutgoingClient* stream, QObject *parent)
: QObject(parent),
@@ -34,7 +36,23 @@ QXmppVersionManager::QXmppVersionManager(QXmppOutgoingClient* stream, QObject *p Q_UNUSED(check);
}
-void QXmppVersionManager::versionIqReceived(const QXmppVersionIq& verIq)
+void QXmppVersionManager::versionIqReceived(const QXmppVersionIq& versionIq)
{
- emit versionReceived(verIq);
+ if(versionIq.type() == QXmppIq::Get)
+ {
+ // respond to query
+ QXmppVersionIq responseIq;
+ responseIq.setType(QXmppIq::Result);
+ responseIq.setId(versionIq.id());
+ responseIq.setTo(versionIq.from());
+ QString name = qApp->applicationName();
+ if(name.isEmpty())
+ name = "Based on QXmpp";
+ responseIq.setName(name);
+ // TODO set OS aswell
+ responseIq.setVersion(qApp->applicationVersion());
+ m_stream->sendPacket(responseIq);
+ }
+
+ emit versionReceived(versionIq);
}
|
