aboutsummaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2010-06-04 12:32:54 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2010-06-04 12:32:54 +0000
commit6661d96e0379bdf4092f191040fddd0f4f14ec49 (patch)
tree15979396eb8b7fce5bef8dc75de85d48edbe7e59 /source
parentc82cdbb0bfd43e1c48300d41031c00245f8bbe87 (diff)
downloadqxmpp-6661d96e0379bdf4092f191040fddd0f4f14ec49.tar.gz
move archive management to QXmppArchiveManager
Diffstat (limited to 'source')
-rw-r--r--source/QXmppArchiveManager.cpp23
-rw-r--r--source/QXmppArchiveManager.h8
-rw-r--r--source/QXmppClient.cpp7
-rw-r--r--source/QXmppClient.h1
-rw-r--r--source/QXmppStream.cpp18
-rw-r--r--source/QXmppStream.h3
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;