diff -r 000000000000 -r e686773b3f54 predictivesearch/PcsUtils/inc/CPcsDebug.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/predictivesearch/PcsUtils/inc/CPcsDebug.h Tue Feb 02 10:12:17 2010 +0200 @@ -0,0 +1,147 @@ +/* +* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: PCS Server Debug macros +* +*/ + +#ifndef __PCS_DEBUG_H__ +#define __PCS_DEBUG_H__ + +#include +#include +#include +#include + + +#ifdef _DEBUG + +#ifdef __WINS__ +#define PRINT( txt ) \ + { TBuf<512> __buf; __buf.Format(txt); RDebug::Print( _L("[PCS] %S"), &__buf ); } +#define PRINT1( txt, arg1 ) \ + { TBuf<512> __buf; __buf.Format(txt,arg1); RDebug::Print( _L("[PCS] %S"), &__buf ); } +#define PRINT2( txt, arg1, arg2 ) \ + { TBuf<512> __buf; __buf.Format(txt,arg1,arg2); RDebug::Print( _L("[PCS] %S"), &__buf ); } +#define PRINT3( txt, arg1, arg2, arg3 ) \ + { TBuf<512> __buf; __buf.Format(txt,arg1,arg2,arg3); RDebug::Print( _L("[PCS] %S"), &__buf ); } +#define PRINT4( txt, arg1, arg2, arg3, arg4 ) \ + { TBuf<512> __buf; __buf.Format(txt, arg1,arg2,arg3,arg4); RDebug::Print( _L("[PCS] %S"), &__buf ); } +#define PRINT5( txt, arg1, arg2, arg3, arg4, arg5 ) \ + { TBuf<512> __buf; __buf.Format(txt,arg1,arg2,arg3,arg4,arg5); RDebug::Print( _L("[PCS] %S"), &__buf ); } + +#else + +#include + +_LIT(KLogDirFullName, "c:\\logs\\"); +_LIT(KLogDir, "Pcs"); +_LIT(KLogFile, "PcsServer.txt"); + +#define PRINT( txt ) \ + RFileLogger::Write(KLogDir,KLogFile,EFileLoggingModeAppend,txt); +#define PRINT1( txt, arg1 ) \ + RFileLogger::WriteFormat(KLogDir,KLogFile,EFileLoggingModeAppend,TRefByValue(txt),arg1); +#define PRINT2( txt, arg1, arg2 ) \ + RFileLogger::WriteFormat(KLogDir,KLogFile,EFileLoggingModeAppend,TRefByValue(txt),arg1,arg2); +#define PRINT3( txt, arg1, arg2, arg3 ) \ + RFileLogger::WriteFormat(KLogDir,KLogFile,EFileLoggingModeAppend,TRefByValue(txt),arg1,arg2,arg3); +#define PRINT4( txt, arg1, arg2, arg3, arg4 ) \ + RFileLogger::WriteFormat(KLogDir,KLogFile,EFileLoggingModeAppend,TRefByValue(txt),arg1,arg2,arg3,arg4); +#define PRINT5( txt, arg1, arg2, arg3, arg4, arg5 ) \ + RFileLogger::WriteFormat(KLogDir,KLogFile,EFileLoggingModeAppend,TRefByValue(txt),arg1,arg2,arg3,arg4,arg5); + +#endif // __WINS__ + +#else + +#define PRINT( txt ) +#define PRINT1( txt, arg1 ) +#define PRINT2( txt, arg1, arg2 ) +#define PRINT3( txt, arg1, arg2, arg3 ) +#define PRINT4( txt, arg1, arg2, arg3, arg4 ) +#define PRINT5( txt, arg1, arg2, arg3, arg4, arg5 ) + +#endif // _DEBUG + +#ifdef _DEBUG + +#define PRINTQUERY( txt, queryArg ) CPcsDebug::PrintQueryL(txt, queryArg); +#define PRINTQUERYLIST( txt, queryListArg ) CPcsDebug::PrintQueryListL(txt, queryListArg); +#define PRINTMATCHLOC( txt, matchLocsArg ) CPcsDebug::PrintMatchLoc(txt, matchLocsArg); +#define PRINTMATCHSET( txt, matchSetArg ) CPcsDebug::PrintMatchSet(txt, matchSetArg); + +#else + +#define PRINTQUERY( txt, queryArg ) +#define PRINTQUERYLIST( txt, queryListArg ) +#define PRINTMATCHLOC( txt, matchLocsArg ) +#define PRINTMATCHSET( txt, matchSetArg ) + +#endif // _DEBUG + +#define __LATENCY_MARK( str ) CPcsDebugWrapper::__LatencyMarkStartL(str); +#define __LATENCY_MARKEND( str ) CPcsDebugWrapper::__LatencyMarkEnd(str); + +// Forward declarations +class CPsQueryItem; +class CPsQuery; +class TPsMatchLocation; + + +class CPcsDebug : public CBase +{ + public: + IMPORT_C static CPcsDebug* NewL(); + IMPORT_C void Mark(TRefByValue str,...); + IMPORT_C void UnMark(TRefByValue str,...); + IMPORT_C static void PrintQueryL(const TDesC& aPreTxt, CPsQuery& aQuery); + IMPORT_C static void PrintQueryListL(const TDesC& aPreTxt, RPointerArray& aPsQueryList); + IMPORT_C static void PrintMatchLoc(const TDesC& aPreTxt, RArray& aMatchLocs); + IMPORT_C static void PrintMatchSet(const TDesC& aPreTxt, RPointerArray& aMatchSet); + IMPORT_C static void PrintMatchSet(const TDesC& aPreTxt, CDesCArray& aMatchSet); + + private: + void ConstructL(); + + private: + TTime startTime; + TTime endTime; +}; + + +class CPcsDebugArr : public CBase +{ + public: + IMPORT_C static CPcsDebugArr* NewL(); + IMPORT_C void Push(CPcsDebug& dbg); + IMPORT_C CPcsDebug* Pop(); + IMPORT_C TBool IsEmpty(); + + public: + ~CPcsDebugArr(); + + private: + RPointerArray debugArray; +}; + +class CPcsDebugWrapper : public CBase +{ + public: + IMPORT_C static void __LatencyMarkStartL(TRefByValue str); + IMPORT_C static void __LatencyMarkEnd(TRefByValue str); +}; + +#endif // __PCS_DEBUG_H__ + +// End of File