File indexing completed on 2024-05-26 05:14:35
0001 /*************************************************************************** 0002 * SPDX-FileCopyrightText: 2006 Tobias Koenig <tokoe@kde.org> * 0003 * * 0004 * SPDX-License-Identifier: LGPL-2.0-or-later * 0005 ***************************************************************************/ 0006 0007 #pragma once 0008 0009 #include <QObject> 0010 0011 #include "tracerinterface.h" 0012 0013 namespace Akonadi 0014 { 0015 namespace Server 0016 { 0017 /** 0018 * A tracer which forwards all tracing information as dbus signals. 0019 */ 0020 class DBusTracer : public QObject, public TracerInterface 0021 { 0022 Q_OBJECT 0023 0024 public: 0025 DBusTracer(); 0026 ~DBusTracer() override; 0027 0028 void beginConnection(const QString &identifier, const QString &msg) override; 0029 void endConnection(const QString &identifier, const QString &msg) override; 0030 void connectionInput(const QString &identifier, const QByteArray &msg) override; 0031 void connectionOutput(const QString &identifier, const QByteArray &msg) override; 0032 void signal(const QString &signalName, const QString &msg) override; 0033 void warning(const QString &componentName, const QString &msg) override; 0034 void error(const QString &componentName, const QString &msg) override; 0035 0036 TracerInterface::ConnectionFormat connectionFormat() const override 0037 { 0038 return TracerInterface::Json; 0039 } 0040 0041 Q_SIGNALS: 0042 void connectionStarted(const QString &identifier, const QString &msg); 0043 void connectionEnded(const QString &identifier, const QString &msg); 0044 void connectionDataInput(const QString &identifier, const QString &msg); 0045 void connectionDataOutput(const QString &identifier, const QString &msg); 0046 void signalEmitted(const QString &signalName, const QString &msg); 0047 void warningEmitted(const QString &componentName, const QString &msg); 0048 void errorEmitted(const QString &componentName, const QString &msg); 0049 }; 0050 0051 } // namespace Server 0052 } // namespace Akonadi