aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2010-12-13 14:15:12 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2010-12-13 14:15:12 +0000
commit165729e2647e9337f18a0c81230ba914698fdf26 (patch)
tree3963ebc713858f57885c45449b1604c5f519e822 /src
parent10fd5cc901313f59d859eec88e3110c6c0f34766 (diff)
downloadqxmpp-165729e2647e9337f18a0c81230ba914698fdf26.tar.gz
do not load QXmppMucManager by default
Diffstat (limited to 'src')
-rw-r--r--src/QXmppClient.cpp13
-rw-r--r--src/QXmppClient.h2
-rw-r--r--src/QXmppClientExtension.h2
-rw-r--r--src/QXmppMucManager.cpp8
-rw-r--r--src/QXmppMucManager.h15
5 files changed, 17 insertions, 23 deletions
diff --git a/src/QXmppClient.cpp b/src/QXmppClient.cpp
index bcc2e88b..8a02f4bb 100644
--- a/src/QXmppClient.cpp
+++ b/src/QXmppClient.cpp
@@ -30,7 +30,6 @@
#include "QXmppMessage.h"
#include "QXmppUtils.h"
-#include "QXmppMucManager.h"
#include "QXmppReconnectionManager.h"
#include "QXmppRosterManager.h"
#include "QXmppTransferManager.h"
@@ -51,7 +50,6 @@ public:
///< TCP socket and XMPP protocol
QXmppPresence clientPresence; ///< Stores the current presence of the connected client
- QXmppMucManager *mucManager; ///< Pointer to the multi-user chat manager
QXmppReconnectionManager *reconnectionManager; ///< Pointer to the reconnection manager
QXmppRosterManager *rosterManager; ///< Pointer to the roster manager
QXmppTransferManager *transferManager;///< Pointer to the transfer manager
@@ -177,9 +175,6 @@ QXmppClient::QXmppClient(QObject *parent)
d->rosterManager = new QXmppRosterManager(this);
addExtension(d->rosterManager);
- d->mucManager = new QXmppMucManager(this);
- addExtension(d->mucManager);
-
d->transferManager = new QXmppTransferManager(this);
addExtension(d->transferManager);
@@ -580,14 +575,6 @@ void QXmppClient::slotElementReceived(const QDomElement &element, bool &handled)
}
}
-/// Returns the reference to QXmppMucManager, implementation of XEP-0045.
-/// http://xmpp.org/extensions/xep-045.html
-///
-QXmppMucManager& QXmppClient::mucManager()
-{
- return *d->mucManager;
-}
-
/// Returns the reference to QXmppTransferManager, implementation of:
///
/// * XEP-0047: In-Band Bytestreams
diff --git a/src/QXmppClient.h b/src/QXmppClient.h
index 89921f9e..f6aca92b 100644
--- a/src/QXmppClient.h
+++ b/src/QXmppClient.h
@@ -42,7 +42,6 @@ class QXmppStream;
// managers
class QXmppDiscoveryIq;
-class QXmppMucManager;
class QXmppReconnectionManager;
class QXmppRosterManager;
class QXmppTransferManager;
@@ -133,7 +132,6 @@ public:
QAbstractSocket::SocketError socketError();
QXmppStanza::Error::Condition xmppStreamError();
- QXmppMucManager& mucManager();
QXmppRosterManager& rosterManager();
QXmppTransferManager& transferManager();
QXmppVCardManager& vCardManager();
diff --git a/src/QXmppClientExtension.h b/src/QXmppClientExtension.h
index 8e82181f..4c6a33d7 100644
--- a/src/QXmppClientExtension.h
+++ b/src/QXmppClientExtension.h
@@ -65,9 +65,9 @@ public:
protected:
QXmppClient *client();
+ virtual void setClient(QXmppClient *client);
private:
- void setClient(QXmppClient *client);
QXmppClientExtensionPrivate * const d;
friend class QXmppClient;
diff --git a/src/QXmppMucManager.cpp b/src/QXmppMucManager.cpp
index 32dd4078..1e92b8e9 100644
--- a/src/QXmppMucManager.cpp
+++ b/src/QXmppMucManager.cpp
@@ -30,12 +30,10 @@
#include "QXmppMucManager.h"
#include "QXmppUtils.h"
-/// Constructs a QXmppMucManager to interact with multi-user chat rooms.
-///
-/// \param client
-
-QXmppMucManager::QXmppMucManager(QXmppClient* client)
+void QXmppMucManager::setClient(QXmppClient* client)
{
+ QXmppClientExtension::setClient(client);
+
bool check = connect(client, SIGNAL(messageReceived(QXmppMessage)),
this, SLOT(messageReceived(QXmppMessage)));
Q_ASSERT(check);
diff --git a/src/QXmppMucManager.h b/src/QXmppMucManager.h
index 2f57d168..f50507d5 100644
--- a/src/QXmppMucManager.h
+++ b/src/QXmppMucManager.h
@@ -38,6 +38,14 @@ class QXmppMucOwnerIq;
/// \brief The QXmppMucManager class makes it possible to interact with
/// multi-user chat rooms as defined by XEP-0045: Multi-User Chat.
///
+/// To make use of this manager, you need to instantiate it and load it into
+/// the QXmppClient instance as follows:
+///
+/// \code
+/// QXmppMucManager *manager = new QXmppMucManager;
+/// client->addExtension(manager);
+/// \endcode
+///
/// \ingroup Managers
class QXmppMucManager : public QXmppClientExtension
@@ -45,8 +53,6 @@ class QXmppMucManager : public QXmppClientExtension
Q_OBJECT
public:
- QXmppMucManager(QXmppClient* client);
-
bool joinRoom(const QString &roomJid, const QString &nickName, const QString &password = QString());
bool leaveRoom(const QString &roomJid);
@@ -82,6 +88,11 @@ signals:
/// \sa roomParticipants()
void roomParticipantChanged(const QString &roomJid, const QString &nickName);
+protected:
+ /// \cond
+ void setClient(QXmppClient* client);
+ /// \endcond
+
private slots:
void messageReceived(const QXmppMessage &message);
void mucAdminIqReceived(const QXmppMucAdminIq &iq);