From 80f977677d9cc579ad957a91e8f4931176526d80 Mon Sep 17 00:00:00 2001 From: Jeremy Lainé Date: Wed, 12 Sep 2012 13:54:12 +0200 Subject: explicitly parse XEP-0249: Direct MUC Invitations message attributes --- src/client/QXmppMucManager.cpp | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) (limited to 'src/client/QXmppMucManager.cpp') diff --git a/src/client/QXmppMucManager.cpp b/src/client/QXmppMucManager.cpp index e1fbed0e..7669a834 100644 --- a/src/client/QXmppMucManager.cpp +++ b/src/client/QXmppMucManager.cpp @@ -162,15 +162,9 @@ void QXmppMucManager::_q_messageReceived(const QXmppMessage &msg) return; // process room invitations - foreach (const QXmppElement &extension, msg.extensions()) - { - if (extension.tagName() == "x" && extension.attribute("xmlns") == ns_conference) - { - const QString roomJid = extension.attribute("jid"); - if (!roomJid.isEmpty() && (!d->rooms.contains(roomJid) || !d->rooms.value(roomJid)->isJoined())) - emit invitationReceived(roomJid, msg.from(), extension.attribute("reason")); - break; - } + const QString roomJid = msg.mucInvitationJid(); + if (!roomJid.isEmpty() && (!d->rooms.contains(roomJid) || !d->rooms.value(roomJid)->isJoined())) { + emit invitationReceived(roomJid, msg.from(), msg.mucInvitationReason()); } } @@ -373,7 +367,8 @@ bool QXmppMucRoom::sendInvitation(const QString &jid, const QString &reason) QXmppMessage message; message.setTo(jid); message.setType(QXmppMessage::Normal); - message.setExtensions(QXmppElementList() << x); + message.setMucInvitationJid(jid); + message.setMucInvitationReason(reason); return d->client->sendPacket(message); } -- cgit v1.2.3