diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-12-13 13:48:24 +0000 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-12-13 13:48:24 +0000 |
| commit | 098d88d826e317c0562693eb4756adb7947b3dec (patch) | |
| tree | 798ba4de5b5e8d2525f2696927365fb22acf0a5c | |
| parent | c8ccbd25b076b4c640e0f57eed5759136e2d6c49 (diff) | |
| download | qxmpp-098d88d826e317c0562693eb4756adb7947b3dec.tar.gz | |
don't load QXmppArchiveManager by default
| -rw-r--r-- | examples/example_7_archiveHandling/xmppClient.cpp | 19 | ||||
| -rw-r--r-- | examples/example_7_archiveHandling/xmppClient.h | 4 | ||||
| -rw-r--r-- | src/QXmppArchiveManager.h | 8 | ||||
| -rw-r--r-- | src/QXmppClient.cpp | 14 | ||||
| -rw-r--r-- | src/QXmppClient.h | 2 |
5 files changed, 24 insertions, 23 deletions
diff --git a/examples/example_7_archiveHandling/xmppClient.cpp b/examples/example_7_archiveHandling/xmppClient.cpp index 32959653..bf1df80d 100644 --- a/examples/example_7_archiveHandling/xmppClient.cpp +++ b/examples/example_7_archiveHandling/xmppClient.cpp @@ -33,16 +33,21 @@ xmppClient::xmppClient(QObject *parent) : QXmppClient(parent) { + // add archive manager + archiveManager = new QXmppArchiveManager; + addExtension(archiveManager); + + // connect signals bool check = connect(this, SIGNAL(connected()), - SLOT(clientConnected())); + this, SLOT(clientConnected())); Q_ASSERT(check); - check = connect(&archiveManager(), SIGNAL(archiveChatReceived(const QXmppArchiveChat &)), - SLOT(archiveChatReceived(const QXmppArchiveChat &))); + check = connect(archiveManager, SIGNAL(archiveChatReceived(QXmppArchiveChat)), + SLOT(archiveChatReceived(QXmppArchiveChat))); Q_ASSERT(check); - check = connect(&archiveManager(), SIGNAL(archiveListReceived(const QList<QXmppArchiveChat> &)), - SLOT(archiveListReceived(const QList<QXmppArchiveChat> &))); + check = connect(archiveManager, SIGNAL(archiveListReceived(QList<QXmppArchiveChat>)), + SLOT(archiveListReceived(QList<QXmppArchiveChat>))); Q_ASSERT(check); } @@ -54,7 +59,7 @@ xmppClient::~xmppClient() void xmppClient::clientConnected() { std::cout << "example_7_archiveHandling:: CONNECTED" << std::endl; - archiveManager().listCollections("", + archiveManager->listCollections("", QDateTime::currentDateTime().addDays(-7)); } @@ -62,7 +67,7 @@ void xmppClient::archiveListReceived(const QList<QXmppArchiveChat> &chats) { std::cout << "example_7_archiveHandling:: LIST RECEIVED" << std::endl; foreach (const QXmppArchiveChat &chat, chats) - archiveManager().retrieveCollection(chat.with(), chat.start()); + archiveManager->retrieveCollection(chat.with(), chat.start()); } void xmppClient::archiveChatReceived(const QXmppArchiveChat &chat) diff --git a/examples/example_7_archiveHandling/xmppClient.h b/examples/example_7_archiveHandling/xmppClient.h index a672e98d..2ebb029e 100644 --- a/examples/example_7_archiveHandling/xmppClient.h +++ b/examples/example_7_archiveHandling/xmppClient.h @@ -28,6 +28,7 @@ #include "QXmppClient.h" class QXmppArchiveChat; +class QXmppArchiveManager; class xmppClient : public QXmppClient { @@ -41,6 +42,9 @@ public slots: void clientConnected(); void archiveListReceived(const QList<QXmppArchiveChat> &chats); void archiveChatReceived(const QXmppArchiveChat &chat); + +private: + QXmppArchiveManager *archiveManager; }; #endif // XMPPCLIENT_H diff --git a/src/QXmppArchiveManager.h b/src/QXmppArchiveManager.h index 10008000..073bf0b6 100644 --- a/src/QXmppArchiveManager.h +++ b/src/QXmppArchiveManager.h @@ -36,6 +36,14 @@ class QXmppArchivePrefIq; /// \brief The QXmppArchiveManager class makes it possible to access message /// archives as defined by XEP-0136: Message Archiving. /// +/// To make use of this manager, you need to instantiate it and load it into +/// the QXmppClient instance as follows: +/// +/// \code +/// QXmppArchiveManager *manager = new QXmppArchiveManager(client); +/// client->addExtension(manager); +/// \endcode +/// /// \note Few servers support message archiving. Check if the server in use supports /// this XEP. /// diff --git a/src/QXmppClient.cpp b/src/QXmppClient.cpp index 96f5e27f..bcc2e88b 100644 --- a/src/QXmppClient.cpp +++ b/src/QXmppClient.cpp @@ -30,7 +30,6 @@ #include "QXmppMessage.h" #include "QXmppUtils.h" -#include "QXmppArchiveManager.h" #include "QXmppMucManager.h" #include "QXmppReconnectionManager.h" #include "QXmppRosterManager.h" @@ -52,7 +51,6 @@ public: ///< TCP socket and XMPP protocol QXmppPresence clientPresence; ///< Stores the current presence of the connected client - QXmppArchiveManager *archiveManager; ///< Pointer to the archive manager QXmppMucManager *mucManager; ///< Pointer to the multi-user chat manager QXmppReconnectionManager *reconnectionManager; ///< Pointer to the reconnection manager QXmppRosterManager *rosterManager; ///< Pointer to the roster manager @@ -179,9 +177,6 @@ QXmppClient::QXmppClient(QObject *parent) d->rosterManager = new QXmppRosterManager(this); addExtension(d->rosterManager); - d->archiveManager = new QXmppArchiveManager; - addExtension(d->archiveManager); - d->mucManager = new QXmppMucManager(this); addExtension(d->mucManager); @@ -585,15 +580,6 @@ void QXmppClient::slotElementReceived(const QDomElement &element, bool &handled) } } -/// Returns the reference to QXmppArchiveManager, implementation of XEP-0136. -/// http://xmpp.org/extensions/xep-0136.html -/// - -QXmppArchiveManager& QXmppClient::archiveManager() -{ - return *d->archiveManager; -} - /// Returns the reference to QXmppMucManager, implementation of XEP-0045. /// http://xmpp.org/extensions/xep-045.html /// diff --git a/src/QXmppClient.h b/src/QXmppClient.h index 0f870256..89921f9e 100644 --- a/src/QXmppClient.h +++ b/src/QXmppClient.h @@ -41,7 +41,6 @@ class QXmppIq; class QXmppStream; // managers -class QXmppArchiveManager; class QXmppDiscoveryIq; class QXmppMucManager; class QXmppReconnectionManager; @@ -134,7 +133,6 @@ public: QAbstractSocket::SocketError socketError(); QXmppStanza::Error::Condition xmppStreamError(); - QXmppArchiveManager& archiveManager(); QXmppMucManager& mucManager(); QXmppRosterManager& rosterManager(); QXmppTransferManager& transferManager(); |
