--- a/phoneengine/phonemodel/inc/qtphonelog.h Fri Sep 17 17:09:12 2010 +0300
+++ b/phoneengine/phonemodel/inc/qtphonelog.h Mon Oct 04 16:06:10 2010 +0300
@@ -15,29 +15,53 @@
*
*/
-
-
#ifndef __QTPHONELOG_H__
#define __QTPHONELOG_H__
// INCLUDES
#include <e32def.h>
#include <QDebug>
+#include <QTime>
+#include <QString>
+
+#ifdef _DEBUG
+// simple class to do the timing.
+class ElapsedTimer{
+public:
+ ElapsedTimer(QString a):
+ m_blockName(a){
+ qDebug() << m_blockName << " start";
+ m_startTime = QTime::currentTime();
+ }
+ virtual ~ElapsedTimer(){
+ qDebug() << m_blockName << " end - elapsed time ms" << milliseconds();
+ }
+private:
+ ulong milliseconds(){
+ QTime now = QTime::currentTime();
+ return ((now.second()*1000 + now.msec()) -
+ ( m_startTime.second()*1000 + m_startTime.msec()));
+ }
+private:
+ QString m_blockName;
+ QTime m_startTime;
+};
+#endif
// Q_FUNC_INFO does not print function signature in Symbian..
#ifdef _DEBUG
-#define PHONE_DEBUG(A) qDebug() <<A;
+#define PHONE_DEBUG(A) qDebug() <<A
#define PHONE_DEBUG2(A, B) qDebug() <<A <<B
#define PHONE_DEBUG3(A, B, C) qDebug() <<A <<B <<C
#define PHONE_DEBUG4(A, B, C, D) qDebug() <<A <<B <<C <<D
#ifdef Q_OS_SYMBIAN
-#define PHONE_TRACE qDebug() <<__PRETTY_FUNCTION__;
-#define PHONE_TRACE1(A) qDebug() <<__PRETTY_FUNCTION__ <<A;
-#define PHONE_TRACE2(A, B) qDebug() <<__PRETTY_FUNCTION__ <<A <<B
-#define PHONE_TRACE3(A, B, C) qDebug() <<__PRETTY_FUNCTION__ <<A <<B <<C
-#define PHONE_TRACE4(A, B, C, D) qDebug() <<__PRETTY_FUNCTION__ <<A <<B <<C <<D
+#define PHONE_TRACE ElapsedTimer __elapsedTime(QString( "%1").arg( __PRETTY_FUNCTION__));
+#define PHONE_TRACE1(A) ElapsedTimer __elapsedTime1(QString( "%1 %2").arg( __PRETTY_FUNCTION__ ).arg(A));
+#define PHONE_TRACE2(A, B) ElapsedTimer __elapsedTime2(QString( "%1 %2 %3").arg( __PRETTY_FUNCTION__).arg(A).arg(B));
+#define PHONE_TRACE3(A, B, C) ElapsedTimer __elapsedTime3(QString( "%1 %2 %3 %4").arg( __PRETTY_FUNCTION__).arg(A).arg(B).arg(C));
+#define PHONE_TRACE4(A, B, C, D) ElapsedTimer __elapsedTime4(QString( "%1 %2 %3 %4 %5").arg( __PRETTY_FUNCTION__).arg(A).arg(B).arg(C).arg(D));
#else //cannot use __PRETTY_FUNCTION__ in win32
#define PHONE_TRACE
#define PHONE_TRACE1(A) PHONE_DEBUG(A)