aboutsummaryrefslogtreecommitdiff
path: root/src/QXmppVersionManager.cpp
diff options
context:
space:
mode:
authorManjeet Dahiya <manjeetdahiya@gmail.com>2010-09-16 09:28:38 +0000
committerManjeet Dahiya <manjeetdahiya@gmail.com>2010-09-16 09:28:38 +0000
commit4de7cdced4bea96df1a9fde5610057ddb70adc3c (patch)
tree0fb5ec30c112c16769a42dde2cfb7b70f7f3edfb /src/QXmppVersionManager.cpp
parentddbfd7423e339213241d8df0c396733b435ccc7e (diff)
downloadqxmpp-4de7cdced4bea96df1a9fde5610057ddb70adc3c.tar.gz
functions to specify client's software version
Diffstat (limited to 'src/QXmppVersionManager.cpp')
-rw-r--r--src/QXmppVersionManager.cpp52
1 files changed, 43 insertions, 9 deletions
diff --git a/src/QXmppVersionManager.cpp b/src/QXmppVersionManager.cpp
index efec26a0..0dc93e7b 100644
--- a/src/QXmppVersionManager.cpp
+++ b/src/QXmppVersionManager.cpp
@@ -30,6 +30,17 @@
#include "QXmppVersionManager.h"
#include "QXmppVersionIq.h"
+QXmppVersionManager::QXmppVersionManager() : QXmppClientExtension(),
+ m_name(qApp->applicationName()),
+ m_version(qApp->applicationVersion())
+{
+ if(m_name.isEmpty())
+ m_name = "Based on QXmpp";
+
+ if(m_version.isEmpty())
+ m_version = QXmppVersion();
+}
+
QStringList QXmppVersionManager::discoveryFeatures() const
{
// XEP-0092: Software Version
@@ -51,15 +62,9 @@ bool QXmppVersionManager::handleStanza(QXmppStream *stream, const QDomElement &e
responseIq.setId(versionIq.id());
responseIq.setTo(versionIq.from());
- QString name = qApp->applicationName();
- if(name.isEmpty())
- name = "Based on QXmpp";
- responseIq.setName(name);
-
- QString version = qApp->applicationVersion();
- if(version.isEmpty())
- version = QXmppVersion();
- responseIq.setVersion(version);
+ responseIq.setName(name());
+ responseIq.setVersion(version());
+ responseIq.setOs(os());
// TODO set OS aswell
stream->sendPacket(responseIq);
@@ -81,3 +86,32 @@ void QXmppVersionManager::requestVersion(const QString& jid)
client()->sendPacket(request);
}
+void QXmppVersionManager::setName(const QString& name)
+{
+ m_name = name;
+}
+
+void QXmppVersionManager::setVersion(const QString& version)
+{
+ m_version = version;
+}
+
+void QXmppVersionManager::setOs(const QString& os)
+{
+ m_os = os;
+}
+
+QString QXmppVersionManager::name()
+{
+ return m_name;
+}
+
+QString QXmppVersionManager::version()
+{
+ return m_version;
+}
+
+QString QXmppVersionManager::os()
+{
+ return m_os;
+}