diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-11-16 00:49:31 +0000 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-11-16 00:49:31 +0000 |
| commit | b6444ac7f5fcdc163eb14e98d052fc84e725fa29 (patch) | |
| tree | 46286778b58eda65c6b5d8f3ac16994c8007b3d4 /src | |
| parent | 6c50c77fd7b85a1db2c211b45acf394f5a55ca4e (diff) | |
| download | qxmpp-b6444ac7f5fcdc163eb14e98d052fc84e725fa29.tar.gz | |
make QXmppClient, QXmppClientExtension, QXmppServer and QXmppServerExtension inherit QXmppLoggable
Diffstat (limited to 'src')
| -rw-r--r-- | src/QXmppClient.cpp | 26 | ||||
| -rw-r--r-- | src/QXmppClient.h | 5 | ||||
| -rw-r--r-- | src/QXmppClientExtension.cpp | 27 | ||||
| -rw-r--r-- | src/QXmppClientExtension.h | 11 | ||||
| -rw-r--r-- | src/QXmppServer.cpp | 12 | ||||
| -rw-r--r-- | src/QXmppServer.h | 5 | ||||
| -rw-r--r-- | src/QXmppServerExtension.cpp | 33 | ||||
| -rw-r--r-- | src/QXmppServerExtension.h | 10 |
8 files changed, 30 insertions, 99 deletions
diff --git a/src/QXmppClient.cpp b/src/QXmppClient.cpp index 66d9a52b..f2979c3b 100644 --- a/src/QXmppClient.cpp +++ b/src/QXmppClient.cpp @@ -51,6 +51,7 @@ public: QXmppClientPrivate(QXmppClient *); QList<QXmppClientExtension*> extensions; + QXmppLogger *logger; QXmppOutgoingClient* stream; ///< Pointer to QXmppOutgoingClient object a wrapper over ///< TCP socket and XMPP protocol QXmppPresence clientPresence; ///< Stores the current presence of the connected client @@ -134,7 +135,7 @@ void QXmppClientPrivate::addProperCapability(QXmppPresence& presence) /// The default value is 0. QXmppClient::QXmppClient(QObject *parent) - : QObject(parent), + : QXmppLoggable(parent), d(new QXmppClientPrivate(this)) { d->stream = new QXmppOutgoingClient(this); @@ -181,9 +182,8 @@ QXmppClient::QXmppClient(QObject *parent) Q_ASSERT(check); // logging - check = connect(this, SIGNAL(logMessage(QXmppLogger::MessageType, QString)), - d->stream, SIGNAL(logMessage(QXmppLogger::MessageType, QString))); - Q_ASSERT(check); + d->logger = 0; + setLogger(QXmppLogger::getLogger()); // create managers // TODO move manager references to d->extensions @@ -193,8 +193,10 @@ QXmppClient::QXmppClient(QObject *parent) d->archiveManager = new QXmppArchiveManager; addExtension(d->archiveManager); +#if 0 d->callManager = new QXmppCallManager(this); addExtension(d->callManager); +#endif d->mucManager = new QXmppMucManager(this); addExtension(d->mucManager); @@ -246,12 +248,6 @@ bool QXmppClient::addExtension(QXmppClientExtension* extension) extension->setParent(this); extension->setClient(this); - // Logging - bool check = connect(extension, SIGNAL(logMessage(QXmppLogger::MessageType, QString)), - d->stream, SIGNAL(logMessage(QXmppLogger::MessageType, QString))); - Q_ASSERT(check); - Q_UNUSED(check); - // Features d->stream->addFeatures(extension->discoveryFeatures()); @@ -742,14 +738,20 @@ QXmppTransferManager& QXmppClient::transferManager() QXmppLogger *QXmppClient::logger() { - return d->stream->logger(); + return d->logger; } /// Sets the QXmppLogger associated with the current QXmppClient. void QXmppClient::setLogger(QXmppLogger *logger) { - d->stream->setLogger(logger); + if (d->logger) + QObject::disconnect(this, SIGNAL(logMessage(QXmppLogger::MessageType, QString)), + d->logger, SLOT(log(QXmppLogger::MessageType, QString))); + d->logger = logger; + if (d->logger) + connect(this, SIGNAL(logMessage(QXmppLogger::MessageType, QString)), + d->logger, SLOT(log(QXmppLogger::MessageType, QString))); } /// At connection establishment, send initial presence. diff --git a/src/QXmppClient.h b/src/QXmppClient.h index 8b654963..1c2ce5e7 100644 --- a/src/QXmppClient.h +++ b/src/QXmppClient.h @@ -77,7 +77,7 @@ class QXmppVersionManager; /// /// \ingroup Core -class QXmppClient : public QObject +class QXmppClient : public QXmppLoggable { Q_OBJECT @@ -265,9 +265,6 @@ signals: void discoveryIqReceived(const QXmppDiscoveryIq&); /// \endcond - /// This signal is emitted to send logging messages. - void logMessage(QXmppLogger::MessageType type, const QString &msg); - public slots: bool sendPacket(const QXmppPacket&); void sendMessage(const QString& bareJid, const QString& message); diff --git a/src/QXmppClientExtension.cpp b/src/QXmppClientExtension.cpp index 6761442f..d0d23749 100644 --- a/src/QXmppClientExtension.cpp +++ b/src/QXmppClientExtension.cpp @@ -73,30 +73,3 @@ void QXmppClientExtension::setClient(QXmppClient *client) d->client = client; } -/// Logs a debugging message. -/// -/// \param message - -void QXmppClientExtension::debug(const QString &message) -{ - emit logMessage(QXmppLogger::DebugMessage, message); -} - -/// Logs an informational message. -/// -/// \param message - -void QXmppClientExtension::info(const QString &message) -{ - emit logMessage(QXmppLogger::InformationMessage, message); -} - -/// Logs a warning message. -/// -/// \param message - -void QXmppClientExtension::warning(const QString &message) -{ - emit logMessage(QXmppLogger::WarningMessage, message); -} - diff --git a/src/QXmppClientExtension.h b/src/QXmppClientExtension.h index e6326688..c2051787 100644 --- a/src/QXmppClientExtension.h +++ b/src/QXmppClientExtension.h @@ -37,7 +37,7 @@ class QXmppStream; /// extensions. /// -class QXmppClientExtension : public QObject +class QXmppClientExtension : public QXmppLoggable { Q_OBJECT @@ -48,18 +48,9 @@ public: virtual QStringList discoveryFeatures() const; virtual bool handleStanza(const QDomElement &stanza) = 0; -signals: - /// This signal is emitted to send logging messages. - void logMessage(QXmppLogger::MessageType type, const QString &msg); - protected: QXmppClient *client(); - // Logging helpers - void debug(const QString&); - void info(const QString&); - void warning(const QString&); - private: void setClient(QXmppClient *client); QXmppClientExtensionPrivate * const d; diff --git a/src/QXmppServer.cpp b/src/QXmppServer.cpp index 212edd2d..579ad5b5 100644 --- a/src/QXmppServer.cpp +++ b/src/QXmppServer.cpp @@ -151,7 +151,7 @@ void QXmppServerPrivate::stopExtensions() /// \param parent QXmppServer::QXmppServer(QObject *parent) - : QObject(parent), + : QXmppLoggable(parent), d(new QXmppServerPrivate) { d->serverForClients = new QXmppSslServer(this); @@ -238,7 +238,14 @@ 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))); } /// Returns the password checker used to verify client credentials. @@ -362,7 +369,6 @@ QXmppOutgoingServer* QXmppServer::connectToDomain(const QString &domain) QXmppOutgoingServer *stream = new QXmppOutgoingServer(d->domain, this); stream->setObjectName("S2S-out-" + domain); stream->setLocalStreamKey(generateStanzaHash().toAscii()); - stream->setLogger(d->logger); bool check = connect(stream, SIGNAL(connected()), this, SLOT(slotStreamConnected())); @@ -575,7 +581,6 @@ void QXmppServer::slotClientConnection(QSslSocket *socket) { QXmppIncomingClient *stream = new QXmppIncomingClient(socket, d->domain, this); socket->setParent(stream); - stream->setLogger(d->logger); stream->setPasswordChecker(d->passwordChecker); bool check = connect(stream, SIGNAL(connected()), @@ -640,7 +645,6 @@ void QXmppServer::slotServerConnection(QSslSocket *socket) { QXmppIncomingServer *stream = new QXmppIncomingServer(socket, d->domain, this); socket->setParent(stream); - stream->setLogger(d->logger); bool check = connect(stream, SIGNAL(connected()), this, SLOT(slotStreamConnected())); diff --git a/src/QXmppServer.h b/src/QXmppServer.h index fc3352bc..38f9efed 100644 --- a/src/QXmppServer.h +++ b/src/QXmppServer.h @@ -26,11 +26,12 @@ #include <QTcpServer> +#include "QXmppLogger.h" + class QDomElement; class QSslSocket; class QXmppDialback; -class QXmppLogger; class QXmppOutgoingServer; class QXmppPasswordChecker; class QXmppServerExtension; @@ -43,7 +44,7 @@ class QXmppStream; /// /// \ingroup Core -class QXmppServer : public QObject +class QXmppServer : public QXmppLoggable { Q_OBJECT diff --git a/src/QXmppServerExtension.cpp b/src/QXmppServerExtension.cpp index 81454d70..48ae4bc9 100644 --- a/src/QXmppServerExtension.cpp +++ b/src/QXmppServerExtension.cpp @@ -61,7 +61,6 @@ QStringList QXmppServerExtension::discoveryItems() const return QStringList(); } - /// Returns the extension's name. /// @@ -145,35 +144,3 @@ void QXmppServerExtension::setServer(QXmppServer *server) d->server = server; } -/// Logs a debugging message. -/// -/// \param message - -void QXmppServerExtension::debug(const QString &message) -{ - QXmppLogger *logger = server()->logger(); - if (logger) - logger->log(QXmppLogger::DebugMessage, message); -} - -/// Logs an informational message. -/// -/// \param message - -void QXmppServerExtension::info(const QString &message) -{ - QXmppLogger *logger = server()->logger(); - if (logger) - logger->log(QXmppLogger::InformationMessage, message); -} - -/// Logs a warning message. -/// -/// \param message - -void QXmppServerExtension::warning(const QString &message) -{ - QXmppLogger *logger = server()->logger(); - if (logger) - logger->log(QXmppLogger::WarningMessage, message); -} diff --git a/src/QXmppServerExtension.h b/src/QXmppServerExtension.h index 23adfa43..7cb319e7 100644 --- a/src/QXmppServerExtension.h +++ b/src/QXmppServerExtension.h @@ -24,9 +24,10 @@ #ifndef QXMPPSERVEREXTENSION_H #define QXMPPSERVEREXTENSION_H -#include <QObject> #include <QVariant> +#include "QXmppLogger.h" + class QDomElement; class QStringList; @@ -38,7 +39,7 @@ class QXmppStream; /// extensions. /// -class QXmppServerExtension : public QObject +class QXmppServerExtension : public QXmppLoggable { Q_OBJECT @@ -61,11 +62,6 @@ public: protected: QXmppServer *server(); - // Logging helpers - void debug(const QString&); - void info(const QString&); - void warning(const QString&); - private: void setServer(QXmppServer *server); QXmppServerExtensionPrivate * const d; |
