diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-09-12 13:54:12 +0200 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-09-12 13:54:12 +0200 |
| commit | 80f977677d9cc579ad957a91e8f4931176526d80 (patch) | |
| tree | 2873ddeb3e8c3b9439fac5a1a4fe4945b7f13608 /src/client/QXmppMucManager.cpp | |
| parent | 8c743b33c7baccd4910b68acdee6d2b8dccd6642 (diff) | |
| download | qxmpp-80f977677d9cc579ad957a91e8f4931176526d80.tar.gz | |
explicitly parse XEP-0249: Direct MUC Invitations message attributes
Diffstat (limited to 'src/client/QXmppMucManager.cpp')
| -rw-r--r-- | src/client/QXmppMucManager.cpp | 15 |
1 files changed, 5 insertions, 10 deletions
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); } |
