aboutsummaryrefslogtreecommitdiff
path: root/src/QXmppMucManager.cpp
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2010-10-04 12:35:22 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2010-10-04 12:35:22 +0000
commit9b834c408bf49ddc1a5a0423dc80c7909befdb8f (patch)
treebc744454662523bf3561010d7de88ecd1ab776e9 /src/QXmppMucManager.cpp
parent313e8f139f8200639048ca0dc8c3aa7e202bf9aa (diff)
downloadqxmpp-9b834c408bf49ddc1a5a0423dc80c7909befdb8f.tar.gz
add support for joining password-protected rooms
Diffstat (limited to 'src/QXmppMucManager.cpp')
-rw-r--r--src/QXmppMucManager.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/QXmppMucManager.cpp b/src/QXmppMucManager.cpp
index 574360a8..e82fedf1 100644
--- a/src/QXmppMucManager.cpp
+++ b/src/QXmppMucManager.cpp
@@ -77,11 +77,12 @@ bool QXmppMucManager::handleStanza(const QDomElement &element)
///
/// \param roomJid
/// \param nickName
+/// \param password an optional password if the room is password-protected
///
/// \return true if the request was sent, false otherwise
///
-bool QXmppMucManager::joinRoom(const QString &roomJid, const QString &nickName)
+bool QXmppMucManager::joinRoom(const QString &roomJid, const QString &nickName, const QString &password)
{
QXmppPresence packet;
packet.setTo(roomJid + "/" + nickName);
@@ -89,6 +90,13 @@ bool QXmppMucManager::joinRoom(const QString &roomJid, const QString &nickName)
QXmppElement x;
x.setTagName("x");
x.setAttribute("xmlns", ns_muc);
+ if (!password.isEmpty())
+ {
+ QXmppElement p;
+ p.setTagName("password");
+ p.setValue(password);
+ x.appendChild(p);
+ }
packet.setExtensions(x);
if (client()->sendPacket(packet))
{