diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-09-10 13:41:58 +0200 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-09-10 13:41:58 +0200 |
| commit | 973a7a6a0b905f75e10955dca3c6af37f93e853a (patch) | |
| tree | 099129c0a319b5d897391b5e6de88a233e5565b2 /src/server/QXmppServer.cpp | |
| parent | fcf89b7834cd253eb5993f03d891d0b6ab1a9953 (diff) | |
more plumbing for stat counters
Diffstat (limited to 'src/server/QXmppServer.cpp')
| -rw-r--r-- | src/server/QXmppServer.cpp | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/src/server/QXmppServer.cpp b/src/server/QXmppServer.cpp index b329053d..0027aa6f 100644 --- a/src/server/QXmppServer.cpp +++ b/src/server/QXmppServer.cpp @@ -391,14 +391,24 @@ QXmppLogger *QXmppServer::logger() void QXmppServer::setLogger(QXmppLogger *logger) { - if (d->logger) - QObject::disconnect(this, SIGNAL(logMessage(QXmppLogger::MessageType,QString)), - d->logger, SLOT(log(QXmppLogger::MessageType,QString))); - d->logger = logger; - d->logger = logger; - if (d->logger) - connect(this, SIGNAL(logMessage(QXmppLogger::MessageType,QString)), - d->logger, SLOT(log(QXmppLogger::MessageType,QString))); + if (logger != d->logger) { + if (d->logger) { + disconnect(this, SIGNAL(incrementCounter(QString)), + d->logger, SLOT(incrementCounter(QString))); + disconnect(this, SIGNAL(logMessage(QXmppLogger::MessageType,QString)), + d->logger, SLOT(log(QXmppLogger::MessageType,QString))); + } + + d->logger = logger; + if (d->logger) { + connect(this, SIGNAL(incrementCounter(QString)), + d->logger, SLOT(incrementCounter(QString))); + connect(this, SIGNAL(logMessage(QXmppLogger::MessageType,QString)), + d->logger, SLOT(log(QXmppLogger::MessageType,QString))); + } + + emit loggerChanged(d->logger); + } } /// Returns the password checker used to verify client credentials. |
