diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-06-04 12:32:54 +0000 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-06-04 12:32:54 +0000 |
| commit | 6661d96e0379bdf4092f191040fddd0f4f14ec49 (patch) | |
| tree | 15979396eb8b7fce5bef8dc75de85d48edbe7e59 /source | |
| parent | c82cdbb0bfd43e1c48300d41031c00245f8bbe87 (diff) | |
| download | qxmpp-6661d96e0379bdf4092f191040fddd0f4f14ec49.tar.gz | |
move archive management to QXmppArchiveManager
Diffstat (limited to 'source')
| -rw-r--r-- | source/QXmppArchiveManager.cpp | 23 | ||||
| -rw-r--r-- | source/QXmppArchiveManager.h | 8 | ||||
| -rw-r--r-- | source/QXmppClient.cpp | 7 | ||||
| -rw-r--r-- | source/QXmppClient.h | 1 | ||||
| -rw-r--r-- | source/QXmppStream.cpp | 18 | ||||
| -rw-r--r-- | source/QXmppStream.h | 3 |
6 files changed, 27 insertions, 33 deletions
diff --git a/source/QXmppArchiveManager.cpp b/source/QXmppArchiveManager.cpp index 635c30b1..5281bf26 100644 --- a/source/QXmppArchiveManager.cpp +++ b/source/QXmppArchiveManager.cpp @@ -23,13 +23,24 @@ #include "QXmppArchiveIq.h" #include "QXmppArchiveManager.h" -#include "QXmppClient.h" +#include "QXmppStream.h" #include <QDebug> -QXmppArchiveManager::QXmppArchiveManager(QXmppClient *client) : - QObject(client), m_client(client) +QXmppArchiveManager::QXmppArchiveManager(QXmppStream *stream) : + QObject(stream), m_stream(stream) { + bool check = QObject::connect(m_stream, SIGNAL(archiveChatIqReceived(const QXmppArchiveChatIq&)), + this, SLOT(archiveChatIqReceived(const QXmppArchiveChatIq&))); + Q_ASSERT(check); + + check = QObject::connect(m_stream, SIGNAL(archiveListIqReceived(const QXmppArchiveListIq&)), + this, SLOT(archiveListIqReceived(const QXmppArchiveListIq&))); + Q_ASSERT(check); + + check = QObject::connect(m_stream, SIGNAL(archivePrefIqReceived(const QXmppArchivePrefIq&)), + this, SLOT(archivePrefIqReceived(const QXmppArchivePrefIq&))); + Q_ASSERT(check); } void QXmppArchiveManager::archiveChatIqReceived(const QXmppArchiveChatIq &chatIq) @@ -55,7 +66,7 @@ void QXmppArchiveManager::listCollections(const QString &jid, const QDateTime &s packet.setWith(jid); packet.setStart(start); packet.setEnd(end); - m_client->sendPacket(packet); + m_stream->sendPacket(packet); } void QXmppArchiveManager::retrieveCollection(const QString &jid, const QDateTime &start, int max) @@ -64,11 +75,11 @@ void QXmppArchiveManager::retrieveCollection(const QString &jid, const QDateTime packet.setMax(max); packet.setStart(start); packet.setWith(jid); - m_client->sendPacket(packet); + m_stream->sendPacket(packet); } void QXmppArchiveManager::getPreferences() { QXmppArchivePrefIq packet; - m_client->sendPacket(packet); + m_stream->sendPacket(packet); } diff --git a/source/QXmppArchiveManager.h b/source/QXmppArchiveManager.h index bacdbc08..3ee243c0 100644 --- a/source/QXmppArchiveManager.h +++ b/source/QXmppArchiveManager.h @@ -31,14 +31,14 @@ class QXmppArchiveChat; class QXmppArchiveChatIq; class QXmppArchiveListIq; class QXmppArchivePrefIq; -class QXmppClient; +class QXmppStream; class QXmppArchiveManager : public QObject { Q_OBJECT public: - QXmppArchiveManager(QXmppClient* client); + QXmppArchiveManager(QXmppStream* stream); void listCollections(const QString &jid, const QDateTime &start = QDateTime(), const QDateTime &end = QDateTime(), int max = 0); void retrieveCollection(const QString &jid, const QDateTime &start, int max = 0); void getPreferences(); @@ -53,8 +53,8 @@ private slots: void archivePrefIqReceived(const QXmppArchivePrefIq&); private: - // reference to to client object (no ownership) - QXmppClient* m_client; + // reference to xmpp stream (no ownership) + QXmppStream* m_stream; }; #endif diff --git a/source/QXmppClient.cpp b/source/QXmppClient.cpp index eac98eda..fd4f841c 100644 --- a/source/QXmppClient.cpp +++ b/source/QXmppClient.cpp @@ -43,7 +43,6 @@ QXmppClient::QXmppClient(QObject *parent) { m_logger = QXmppLogger::getLogger(); m_stream = new QXmppStream(this); - m_roster = new QXmppRoster(m_stream); bool check = connect(m_stream, SIGNAL(messageReceived(const QXmppMessage&)), this, SIGNAL(messageReceived(const QXmppMessage&))); @@ -79,6 +78,10 @@ QXmppClient::QXmppClient(QObject *parent) check = setReconnectionManager(new QXmppReconnectionManager(this)); Q_ASSERT(check); + + // create managers + m_roster = new QXmppRoster(m_stream); + m_archiveManager = new QXmppArchiveManager(m_stream); } /// Destructor, destroys the QXmppClient object. @@ -508,7 +511,7 @@ QXmppRemoteMethodResult QXmppClient::callRemoteMethod( const QString &jid, QXmppArchiveManager& QXmppClient::getArchiveManager() { - return m_stream->getArchiveManager(); + return *m_archiveManager; } /// Returns the reference to QXmppTransferManager, implementation of: diff --git a/source/QXmppClient.h b/source/QXmppClient.h index 6732d048..23e8582a 100644 --- a/source/QXmppClient.h +++ b/source/QXmppClient.h @@ -208,6 +208,7 @@ private: QXmppConfiguration m_config; ///< This object provides the configuration ///< required for connecting to the XMPP server. QXmppPresence m_clientPresence; ///< Stores the current presence of the connected client + QXmppArchiveManager *m_archiveManager; ///< Pointer to the archive manager QXmppReconnectionManager* m_reconnectionManager; ///< Pointer to the reconnection manager QXmppRoster *m_roster; ///< Pointer to the roster manager QHash<QString,QXmppInvokable *> m_interfaces; diff --git a/source/QXmppStream.cpp b/source/QXmppStream.cpp index 7d6a0190..f3c8fc9d 100644 --- a/source/QXmppStream.cpp +++ b/source/QXmppStream.cpp @@ -63,7 +63,6 @@ static const QByteArray streamRootElementEnd = "</stream:stream>"; QXmppStream::QXmppStream(QXmppClient* client) : QObject(client), m_client(client), m_sessionAvaliable(false), - m_archiveManager(m_client), m_transferManager(m_client), m_vCardManager(m_client), m_authStep(0) @@ -99,18 +98,6 @@ QXmppStream::QXmppStream(QXmppClient* client) &m_vCardManager, SLOT(vCardIqReceived(const QXmppVCard&))); Q_ASSERT(check); - check = QObject::connect(this, SIGNAL(archiveChatIqReceived(const QXmppArchiveChatIq&)), - &m_archiveManager, SLOT(archiveChatIqReceived(const QXmppArchiveChatIq&))); - Q_ASSERT(check); - - check = QObject::connect(this, SIGNAL(archiveListIqReceived(const QXmppArchiveListIq&)), - &m_archiveManager, SLOT(archiveListIqReceived(const QXmppArchiveListIq&))); - Q_ASSERT(check); - - check = QObject::connect(this, SIGNAL(archivePrefIqReceived(const QXmppArchivePrefIq&)), - &m_archiveManager, SLOT(archivePrefIqReceived(const QXmppArchivePrefIq&))); - Q_ASSERT(check); - // XEP-0047: In-Band Bytestreams check = QObject::connect(this, SIGNAL(iqReceived(const QXmppIq&)), &m_transferManager, SLOT(iqReceived(const QXmppIq&))); @@ -1114,11 +1101,6 @@ void QXmppStream::flushDataBuffer() m_dataBuffer.clear(); } -QXmppArchiveManager& QXmppStream::getArchiveManager() -{ - return m_archiveManager; -} - QXmppTransferManager& QXmppStream::getTransferManager() { return m_transferManager; diff --git a/source/QXmppStream.h b/source/QXmppStream.h index 60738a62..90c8ef4f 100644 --- a/source/QXmppStream.h +++ b/source/QXmppStream.h @@ -66,8 +66,6 @@ public: void sendSubscriptionRequest(const QString& to); void disconnect(); bool isConnected() const; - QXmppArchiveManager& getArchiveManager(); - QXmppRoster& getRoster(); QXmppTransferManager& getTransferManager(); QXmppVCardManager& getVCardManager(); bool sendPacket(const QXmppPacket&); @@ -142,7 +140,6 @@ private: QTimer *m_pingTimer; QTimer *m_timeoutTimer; - QXmppArchiveManager m_archiveManager; QXmppTransferManager m_transferManager; QXmppVCardManager m_vCardManager; int m_authStep; |
