X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=trace.h;h=bd5acfcdfca1983bdf0684f5a0a5be287da1aa7f;hb=43016b923e18dff40c53a116316110f2fe5c4820;hp=d3ceb40a1652052dfc5493fe4f97665e69537538;hpb=7eeee0f83bd4f8118c2692045458ced9fbdb4491;p=dorian diff --git a/trace.h b/trace.h index d3ceb40..bd5acfc 100644 --- a/trace.h +++ b/trace.h @@ -1,28 +1,38 @@ #ifndef TRACE_H #define TRACE_H +#include #include +#include +#include +#include +#ifdef Q_OS_SYMBIAN +# ifdef __PRETTY_FUNCTION__ +# define TRACE Trace _(__PRETTY_FUNCTION__) +# else +# define TRACE Trace _(__FUNCTION__) +# endif +#else +# define TRACE Trace _(Q_FUNC_INFO) +#endif + +/** Trace helper. */ class Trace { public: - Trace(const QString &s): name(s) { - qDebug() << QString(" ").repeated(indent) + ">" + name; - indent++; - } - ~Trace() { - if (--indent < 0) { - indent = 0; - } - qDebug() << QString(" ").repeated(indent) + "<" + name; - } - void trace(const QString &s) const { - qDebug() << QString(" ").repeated(indent) + name + ": " + s; - } + Trace(const QString &s); + ~Trace(); + static QString event(QEvent::Type t); + static void messageHandler(QtMsgType type, const char *msg); + static QtMsgType level; protected: + static QString prefix(); QString name; static int indent; + typedef struct {int type; const char *name;} EventName; + static EventName eventTab[]; }; #endif // TRACE_H