mmappcomponents/mmmtpdataprovider/tsrc/mtpdataprovidertestmodule/inc/logging.h
changeset 0 a2952bb97e68
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmappcomponents/mmmtpdataprovider/tsrc/mtpdataprovidertestmodule/inc/logging.h	Thu Dec 17 08:55:47 2009 +0200
@@ -0,0 +1,104 @@
+/*
+* Copyright (c) 2009 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:  Logging definitions for test module
+*
+*/
+
+
+#ifndef LOGGING_H
+#define LOGGING_H
+
+//  INCLUDES
+#include <e32std.h>
+#include <e32base.h>
+
+// CONSTANTS
+const TUint KError              = 0x1;
+const TUint KInit               = 0x2;
+const TUint KPrint              = 0x4;
+const TUint KMessage            = 0x10;
+const TUint KFunction           = 0x20;
+const TUint KVerbose            = 0x40;
+const TUint KAlways             = 0xFFFFFFFF;
+const TUint KDebugLevel         = ( KFunction | KPrint | KError | KMessage | KVerbose );
+
+// Logging path
+_LIT( KMtpDataProviderTestModuleLogPath, "\\logs\\testframework\\mtp\\" ); 
+// Log file
+_LIT( KMtpDataProviderTestModuleLogFile, "MtpDataProviderTestModule.txt" ); 
+_LIT( KMtpDataProviderTestModuleLogFileWithTitle, "MtpDataProviderTestModule_[%S].txt" );
+
+_LIT( KTestObserverLogFile, "TestObserver.txt" ); 
+_LIT( KTestObserverLogFileWithTitle, "TestObserver_[%S].txt" );
+
+_LIT( KFuncTraceFormat, "%S - %S" );
+
+// MACROS
+#define __TRACING_ENABLED
+
+#ifdef __TRACING_ENABLED
+    #define PRINTTESTMODULEIF
+    #define PRINTTESTMODULE
+    // target can be CStifLogger::ERDebug or CStifLogger::EFile
+    #define TRACE_TARGET CStifLogger::EFile
+     // Disable conditional expression is constant -warning
+    #pragma warning( disable : 4127 )
+
+    // General tracing function
+    #define __TRACE(level,p) if ( ( (level) & KDebugLevel ) && LOGGER )\
+                                          {LOGGER->Log p;}
+              
+    // Direct RDebug::Print                            
+    #define __RDEBUG(p) if( KVerbose & KDebugLevel ){ RDebug::Print p ; } 
+
+     // Log function name
+    #define __TRACEFUNC() if( ( KFunction & KDebugLevel ) && LOGGER ){\
+                                const char* func = __FUNCTION__;\
+                                TPtrC8 F((const unsigned char*)func);\
+                                LOGGER->Log(F);}
+
+    #define PRINT0( level, p ) __TRACE( level, ( p ) ); \
+        if ( ( level ) & KMessage ) { \
+            PRINTTESTMODULEIF( p ); } \
+        if ( ( level ) & KError ) { \
+            PRINTTESTMODULE( p ); }
+    #define PRINTn( level, p ) __TRACE( level, ( p ) );
+    #define PRINTM0( p ) PRINT0( KMessage, ( _L( p ) ) )
+    #define PRINTM1( p, a ) __TRACE( KMessage, ( _L( p ), a ) )
+    #define PRINTM2( p, a, b ) __TRACE( KMessage, ( _L( p ), a, b ) )
+    #define PRINTE0( p ) PRINT0( KError, ( _L( p ) ) )
+    #define PRINTE1( p, a ) __TRACE( KError, ( _L( p ), a ) )
+    #define PRINTE2( p, a, b ) __TRACE( KError, ( _L( p ), a, b ) )
+    #define PRINTN0( p ) __TRACE( KPrint, ( _L( p ) ) )
+    #define PRINTN1( p, a ) __TRACE( KPrint, ( _L( p ), a ) )
+    #define PRINTN2( p, a, b ) __TRACE( KPrint, ( _L( p ), a, b ) )
+    #define PRINTV0( p ) __TRACE( KVerbose, ( _L( p ) ) )
+    #define PRINTV1( p, a ) __TRACE( KVerbose, ( _L( p ), a ) )
+    #define PRINTV2( p, a, b ) __TRACE( KVerbose, ( _L( p ), a, b ) )
+    #define PRINTV3( p, a, b, c ) __TRACE( KVerbose, ( _L( p ), a, b, c ) )
+    #define PRINTV4( p, a, b, c, d ) __TRACE( KVerbose, ( _L( p ), a, b, c, d ) )
+    #define PRINTF0( p ) __TRACE( KFunction, ( _L( p ) ) )
+    #define PRINTF1( p, a ) __TRACE( KFunction, ( _L( p ), a ) )
+    #define PRINTF2( p, a, b ) __TRACE( KFunction, ( _L( p ), a, b ) )
+    #define PRINTF3( p, a, b, c ) __TRACE( KFunction, ( _L( p ), a, b, c ) )
+
+#else // __TRACING_ENABLED
+     // No tracing
+    #define __TRACE(level,p)
+    #define __RDEBUG(p)
+    #define __TRACEFUNC()
+#endif // __TRACING_ENABLED
+
+#endif // LOGGING_H
+