From 798ae583f51633c5c38b46116194c6f1256f18be Mon Sep 17 00:00:00 2001 From: Manjeet Dahiya Date: Tue, 5 Oct 2010 07:25:51 +0000 Subject: use setCapability.. functions to set the caps values --- src/QXmppClient.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'src/QXmppClient.cpp') diff --git a/src/QXmppClient.cpp b/src/QXmppClient.cpp index ed126496..7deeb323 100644 --- a/src/QXmppClient.cpp +++ b/src/QXmppClient.cpp @@ -66,6 +66,7 @@ public: QHash interfaces; + void addProperCapability(QXmppPresence& presence); QXmppElementList presenceExtensions() const; QXmppClient *client; @@ -97,6 +98,17 @@ QXmppElementList QXmppClientPrivate::presenceExtensions() const return extensions; } +void QXmppClientPrivate::addProperCapability(QXmppPresence& presence) +{ + QXmppDiscoveryManager* ext = client->findExtension(); + if(ext) + { + presence.setCapabilityHash("sha-1"); + presence.setCapabilityNode(QString(capabilities_node)); + presence.setCapabilityVer(ext->capabilities().verificationString().toBase64()); + } +} + /// \mainpage /// /// QXmpp is a cross-platform C++ XMPP client library based on the Qt @@ -146,7 +158,7 @@ QXmppClient::QXmppClient(QObject *parent) d(new QXmppClientPrivate(this)) { d->stream = new QXmppOutgoingClient(this); - d->clientPresence.setExtensions(d->presenceExtensions()); + d->addProperCapability(d->clientPresence); bool check = connect(d->stream, SIGNAL(elementReceived(const QDomElement&, bool&)), this, SLOT(slotElementReceived(const QDomElement&, bool&))); @@ -320,7 +332,7 @@ void QXmppClient::connectToServer(const QXmppConfiguration& config, } d->clientPresence = initialPresence; - d->clientPresence.setExtensions(d->presenceExtensions()); + d->addProperCapability(d->clientPresence); d->stream->connectToHost(); } @@ -518,7 +530,7 @@ void QXmppClient::setClientPresence(const QXmppPresence& presence) else { d->clientPresence = presence; - d->clientPresence.setExtensions(d->presenceExtensions()); + d->addProperCapability(d->clientPresence); sendPacket(d->clientPresence); } } -- cgit v1.2.3