aboutsummaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2010-06-07 11:06:53 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2010-06-07 11:06:53 +0000
commit5cc6867063c060abe3748240813bff865f731a69 (patch)
treea8df823b4bf6c2c3abe6684bd197e98136165bc4 /source
parent5095697943a9d8fd7c9d875b0be842ae099c669b (diff)
downloadqxmpp-5cc6867063c060abe3748240813bff865f731a69.tar.gz
make QXmppStream emit signal for XEP-0045 owner IQs
Diffstat (limited to 'source')
-rw-r--r--source/QXmppStream.cpp24
-rw-r--r--source/QXmppStream.h4
2 files changed, 20 insertions, 8 deletions
diff --git a/source/QXmppStream.cpp b/source/QXmppStream.cpp
index 7509abaa..636a2437 100644
--- a/source/QXmppStream.cpp
+++ b/source/QXmppStream.cpp
@@ -22,17 +22,16 @@
*/
-#include "QXmppStream.h"
-#include "QXmppPacket.h"
#include "QXmppUtils.h"
-#include "QXmppClient.h"
-#include "QXmppPresence.h"
-#include "QXmppIq.h"
#include "QXmppBind.h"
-#include "QXmppSession.h"
+#include "QXmppIq.h"
+#include "QXmppLogger.h"
#include "QXmppMessage.h"
+#include "QXmppPacket.h"
+#include "QXmppPresence.h"
+#include "QXmppSession.h"
#include "QXmppConstants.h"
-#include "QXmppVCard.h"
+#include "QXmppStream.h"
#include "QXmppNonSASLAuth.h"
#include "QXmppInformationRequestResult.h"
@@ -41,11 +40,12 @@
#include "QXmppByteStreamIq.h"
#include "QXmppDiscoveryIq.h"
#include "QXmppIbbIq.h"
-#include "QXmppLogger.h"
+#include "QXmppMucIq.h"
#include "QXmppPingIq.h"
#include "QXmppRpcIq.h"
#include "QXmppRosterIq.h"
#include "QXmppStreamInitiationIq.h"
+#include "QXmppVCard.h"
#include "QXmppVersionIq.h"
#include <QCoreApplication>
@@ -539,6 +539,14 @@ void QXmppStream::parser(const QByteArray& data)
emit iqReceived(discoIq);
}
+ // XEP-0045: Multi-User Chat
+ else if (QXmppMucOwnerIq::isMucOwnerIq(element))
+ {
+ QXmppMucOwnerIq mucIq;
+ mucIq.parse(element);
+ emit mucOwnerIqReceived(mucIq);
+ emit iqReceived(mucIq);
+ }
// XEP-0047 In-Band Bytestreams
else if(QXmppIbbCloseIq::isIbbCloseIq(nodeRecv))
{
diff --git a/source/QXmppStream.h b/source/QXmppStream.h
index d9c684ed..0332d885 100644
--- a/source/QXmppStream.h
+++ b/source/QXmppStream.h
@@ -53,6 +53,7 @@ class QXmppDiscoveryIq;
class QXmppIbbCloseIq;
class QXmppIbbDataIq;
class QXmppIbbOpenIq;
+class QXmppMucOwnerIq;
class QXmppStreamInitiationIq;
class QXmppVersionIq;
@@ -116,6 +117,9 @@ signals:
void ibbOpenIqReceived(const QXmppIbbOpenIq&);
void streamInitiationIqReceived(const QXmppStreamInitiationIq&);
+ // XEP-0045: Multi-User Chat
+ void mucOwnerIqReceived(const QXmppMucOwnerIq&);
+
private slots:
void socketHostFound();
void socketReadReady();