aboutsummaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2010-06-04 13:40:30 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2010-06-04 13:40:30 +0000
commita64de45ea1daec3a791c1e07f6b3381c0f6d5a97 (patch)
tree5f287a670204b527baed89a56ffd0e72ea9eb102 /source
parente155e5658c178bea1c01ea70f4d04539a71b9f0a (diff)
downloadqxmpp-a64de45ea1daec3a791c1e07f6b3381c0f6d5a97.tar.gz
transfer logger ownership to QXmppStream
Diffstat (limited to 'source')
-rw-r--r--source/QXmppClient.cpp11
-rw-r--r--source/QXmppClient.h1
-rw-r--r--source/QXmppStream.cpp27
-rw-r--r--source/QXmppStream.h5
4 files changed, 33 insertions, 11 deletions
diff --git a/source/QXmppClient.cpp b/source/QXmppClient.cpp
index 1ac82e9d..4a99d1a3 100644
--- a/source/QXmppClient.cpp
+++ b/source/QXmppClient.cpp
@@ -41,10 +41,9 @@
/// The default value is 0.
QXmppClient::QXmppClient(QObject *parent)
- : QObject(parent), m_logger(0), m_stream(0), m_clientPresence(QXmppPresence::Available),
+ : QObject(parent), m_stream(0), m_clientPresence(QXmppPresence::Available),
m_reconnectionManager(0)
{
- m_logger = QXmppLogger::getLogger();
m_stream = new QXmppStream(this);
bool check = connect(m_stream, SIGNAL(messageReceived(const QXmppMessage&)),
@@ -548,16 +547,18 @@ bool QXmppClient::handleStreamElement(const QDomElement &element)
return false;
}
-/// Return the QXmppLogger associated with the client.
+/// Returns the QXmppLogger associated with the current QXmppClient.
QXmppLogger *QXmppClient::logger()
{
- return m_logger;
+ return m_stream->logger();
}
+/// Sets the QXmppLogger associated with the current QXmppClient.
+
void QXmppClient::setLogger(QXmppLogger *logger)
{
- m_logger = logger;
+ m_stream->setLogger(logger);
}
/// At connection establishment, send initial presence.
diff --git a/source/QXmppClient.h b/source/QXmppClient.h
index dff4fbfa..b418a2c5 100644
--- a/source/QXmppClient.h
+++ b/source/QXmppClient.h
@@ -203,7 +203,6 @@ private slots:
void xmppConnected();
private:
- QXmppLogger* m_logger;
QXmppStream* m_stream; ///< Pointer to QXmppStream object a wrapper over
///< TCP socket and XMPP protocol
QXmppConfiguration m_config; ///< This object provides the configuration
diff --git a/source/QXmppStream.cpp b/source/QXmppStream.cpp
index aabf722b..31735fc9 100644
--- a/source/QXmppStream.cpp
+++ b/source/QXmppStream.cpp
@@ -69,6 +69,9 @@ QXmppStream::QXmppStream(QXmppClient* client)
// Make sure the random number generator is seeded
qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
+ // initialise logger
+ m_logger = QXmppLogger::getLogger();
+
bool check = QObject::connect(&m_socket, SIGNAL(hostFound()),
this, SLOT(socketHostFound()));
Q_ASSERT(check);
@@ -220,19 +223,33 @@ void QXmppStream::sendNonSASLAuthQuery( const QString &to )
sendPacket(authQuery);
}
+/// Returns the QXmppLogger associated with the current QXmppStream.
+
+QXmppLogger *QXmppStream::logger()
+{
+ return m_logger;
+}
+
+/// Sets the QXmppLogger associated with the current QXmppStream.
+
+void QXmppStream::setLogger(QXmppLogger *logger)
+{
+ m_logger = logger;
+}
+
void QXmppStream::debug(const QString &data)
{
- m_client->logger()->log(QXmppLogger::DebugMessage, data);
+ m_logger->log(QXmppLogger::DebugMessage, data);
}
void QXmppStream::info(const QString &data)
{
- m_client->logger()->log(QXmppLogger::InformationMessage, data);
+ m_logger->log(QXmppLogger::InformationMessage, data);
}
void QXmppStream::warning(const QString &data)
{
- m_client->logger()->log(QXmppLogger::WarningMessage, data);
+ m_logger->log(QXmppLogger::WarningMessage, data);
}
void QXmppStream::parser(const QByteArray& data)
@@ -257,7 +274,7 @@ void QXmppStream::parser(const QByteArray& data)
if(doc.setContent(completeXml, true))
{
- m_client->logger()->log(QXmppLogger::ReceivedMessage, QString::fromUtf8(m_dataBuffer));
+ m_logger->log(QXmppLogger::ReceivedMessage, QString::fromUtf8(m_dataBuffer));
flushDataBuffer();
QDomElement nodeRecv = doc.documentElement().firstChildElement();
@@ -744,7 +761,7 @@ void QXmppStream::sendStartStream()
bool QXmppStream::sendToServer(const QByteArray& packet)
{
- m_client->logger()->log(QXmppLogger::SentMessage, QString::fromUtf8(packet));
+ m_logger->log(QXmppLogger::SentMessage, QString::fromUtf8(packet));
if (!isConnected())
return false;
return m_socket.write( packet ) == packet.size();
diff --git a/source/QXmppStream.h b/source/QXmppStream.h
index 87f8dfa7..52e82155 100644
--- a/source/QXmppStream.h
+++ b/source/QXmppStream.h
@@ -37,6 +37,7 @@ class QTimer;
class QXmppClient;
class QXmppPacket;
+class QXmppLogger;
class QXmppPresence;
class QXmppIq;
class QXmppBind;
@@ -72,6 +73,9 @@ public:
QXmppConfiguration& getConfiguration();
+ QXmppLogger *logger();
+ void setLogger(QXmppLogger *logger);
+
signals:
// socket host found
void hostFound();
@@ -124,6 +128,7 @@ private slots:
private:
QXmppClient* m_client; // reverse pointer
+ QXmppLogger* m_logger;
QString m_sessionId;
QString m_bindId;
QByteArray m_dataBuffer;