X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=trace.h;h=870bd87ce03a2d9f7db322e19e30744ed84dc4c0;hb=a972500f457b9d2259d3e7f6ea87624bd9a6f7d2;hp=d3ceb40a1652052dfc5493fe4f97665e69537538;hpb=7eeee0f83bd4f8118c2692045458ced9fbdb4491;p=dorian diff --git a/trace.h b/trace.h index d3ceb40..870bd87 100644 --- a/trace.h +++ b/trace.h @@ -1,28 +1,42 @@ #ifndef TRACE_H #define TRACE_H +#include #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; + static void setFileName(const QString &fileName); + static QString fileName(); protected: + static QString prefix(); QString name; static int indent; + typedef struct {int type; const char *name;} EventName; + static EventName eventTab[]; + static QFile file; }; #endif // TRACE_H