QtDebugger/include/signaldumper.h

56 lines
1.2 KiB
C++

#pragma once
#include <QObject>
#include <QString>
#include <QFile>
class QProcess;
class SignalDumper : public QObject {
Q_OBJECT
public:
static void dumpStr(QString str);
explicit SignalDumper(QObject* parent);
virtual ~SignalDumper();
void startDump();
void endDump();
private:
static SignalDumper* Dumper;
void dump(QString str);
QProcess* displayProc = nullptr;
QFile* fifo = nullptr;
};
// declaration of "hidden" qt features
#define registerCall _Z32qt_register_signal_spy_callbacksP21QSignalSpyCallbackSet
QT_BEGIN_NAMESPACE
struct QSignalSpyCallbackSet
{
typedef void (*BeginCallback)(QObject* caller, int signal_or_method_index, void** argv);
typedef void (*EndCallback)(QObject* caller, int signal_or_method_index);
BeginCallback signal_begin_callback, slot_begin_callback;
EndCallback signal_end_callback, slot_end_callback;
};
// from qcoreapplication.cpp:263 : qt_register_signal_spy_callbacks
// or qobject_p.h:82
extern "C" void Q_CORE_EXPORT _Z32qt_register_signal_spy_callbacksP21QSignalSpyCallbackSet(const QSignalSpyCallbackSet &callback_set);
struct QMetaObjectPrivate
{
Q_CORE_EXPORT static QMetaMethod signal(const QMetaObject* m, int signal_index);
};
QT_END_NAMESPACE