aboutsummaryrefslogtreecommitdiff
path: root/source/QXmppStream.cpp
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2010-06-23 11:37:08 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2010-06-23 11:37:08 +0000
commitc519dcec0915d0d22e8c5e4e40e6b61bc72d5979 (patch)
tree029c23d910f3be7cb68808c4064469c00c2e0425 /source/QXmppStream.cpp
parent9ed3b3203d9b9fe195f51602717d726e0dcab7c3 (diff)
downloadqxmpp-c519dcec0915d0d22e8c5e4e40e6b61bc72d5979.tar.gz
tidy up QXmppStream logging so that we can set a null logger
Diffstat (limited to 'source/QXmppStream.cpp')
-rw-r--r--source/QXmppStream.cpp19
1 files changed, 13 insertions, 6 deletions
diff --git a/source/QXmppStream.cpp b/source/QXmppStream.cpp
index ea137959..a46130ca 100644
--- a/source/QXmppStream.cpp
+++ b/source/QXmppStream.cpp
@@ -61,6 +61,7 @@ static const QByteArray streamRootElementEnd = "</stream:stream>";
QXmppStream::QXmppStream(QObject *parent)
: QObject(parent),
+ m_logger(0),
m_sessionAvailable(false),
m_authStep(0)
{
@@ -68,7 +69,7 @@ QXmppStream::QXmppStream(QObject *parent)
qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
// initialise logger
- m_logger = QXmppLogger::getLogger();
+ setLogger(QXmppLogger::getLogger());
bool check = QObject::connect(&m_socket, SIGNAL(hostFound()),
this, SLOT(socketHostFound()));
@@ -205,22 +206,28 @@ QXmppLogger *QXmppStream::logger()
void QXmppStream::setLogger(QXmppLogger *logger)
{
+ if (m_logger)
+ QObject::disconnect(this, SIGNAL(logMessage(QXmppLogger::MessageType, QString)),
+ m_logger, SLOT(log(QXmppLogger::MessageType, QString)));
m_logger = logger;
+ if (m_logger)
+ QObject::connect(this, SIGNAL(logMessage(QXmppLogger::MessageType, QString)),
+ m_logger, SLOT(log(QXmppLogger::MessageType, QString)));
}
void QXmppStream::debug(const QString &data)
{
- m_logger->log(QXmppLogger::DebugMessage, data);
+ emit logMessage(QXmppLogger::DebugMessage, data);
}
void QXmppStream::info(const QString &data)
{
- m_logger->log(QXmppLogger::InformationMessage, data);
+ emit logMessage(QXmppLogger::InformationMessage, data);
}
void QXmppStream::warning(const QString &data)
{
- m_logger->log(QXmppLogger::WarningMessage, data);
+ emit logMessage(QXmppLogger::WarningMessage, data);
}
void QXmppStream::parser(const QByteArray& data)
@@ -245,7 +252,7 @@ void QXmppStream::parser(const QByteArray& data)
if(doc.setContent(completeXml, true))
{
- m_logger->log(QXmppLogger::ReceivedMessage, QString::fromUtf8(m_dataBuffer));
+ emit logMessage(QXmppLogger::ReceivedMessage, QString::fromUtf8(m_dataBuffer));
flushDataBuffer();
QDomElement nodeRecv = doc.documentElement().firstChildElement();
@@ -750,7 +757,7 @@ void QXmppStream::sendStartStream()
bool QXmppStream::sendToServer(const QByteArray& packet)
{
- m_logger->log(QXmppLogger::SentMessage, QString::fromUtf8(packet));
+ emit logMessage(QXmppLogger::SentMessage, QString::fromUtf8(packet));
if (!isConnected())
return false;
return m_socket.write( packet ) == packet.size();