--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/inc/muslogger.h Thu Dec 17 08:44:37 2009 +0200
@@ -0,0 +1,148 @@
+/*
+* Copyright (c) 2006 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: ?Description
+*
+*/
+
+
+#ifndef MUSLOGGER_H
+#define MUSLOGGER_H
+
+// Disabled PC_lint warning for "Undefined preprocessor variable 'UNIT_TESTING'"
+/*lint -e553 */
+#if ( !_DEBUG || UNIT_TESTING ) // release or unit test build; no logs
+
+#define MUS_LOG_TDESC( aPrefix, aString )
+#define MUS_LOG_TDESC8( aPrefix, aString )
+#define MUS_LOG( aFmt )
+#define MUS_LOG1( aFmt, aVar1 )
+#define MUS_LOG2( aFmt, aVar1, aVar2 )
+#define MUS_LOG3( aFmt, aVar1, aVar2, aVar3 )
+
+#else // debug build; logs
+
+#include <e32debug.h>
+#include <flogger.h>
+
+_LIT( KMusLogDir, "mus" ); // MultimediaSharing logging directory.
+_LIT( KMusLogFile, "musdebug.txt" ); // MultimediaSharing log file name.
+
+// File logging can be disabled by commenting above definition.
+#define MUS_FILE_LOGGING_ENABLED
+
+#if ( defined __WINSCW__ ) || ( defined __WINS__ )
+// No sense to have file logging enabled in wins
+#undef MUS_FILE_LOGGING_ENABLED
+#endif
+
+#ifdef MUS_FILE_LOGGING_ENABLED
+const TBool KMusFileLoggingEnabled = ETrue;
+#else
+const TBool KMusFileLoggingEnabled = EFalse;
+#endif
+
+#define MUS_LOG_TDESC( aPrefix, aString )\
+ {\
+ _LIT( KLogPrefix, aPrefix );\
+ HBufC* logString = HBufC::NewLC( KLogPrefix().Length()+\
+ aString.Length() );\
+ logString->Des().Append( KLogPrefix() );\
+ logString->Des().Append( aString );\
+ if ( KMusFileLoggingEnabled )\
+ {\
+ RFileLogger::Write( KMusLogDir, KMusLogFile,\
+ EFileLoggingModeAppend,\
+ *logString );\
+ }\
+ RDebug::Print( *logString );\
+ CleanupStack::PopAndDestroy( logString );\
+ }
+
+#define MUS_LOG_TDESC8( aPrefix, aString )\
+ {\
+ _LIT8( KLogPrefix8, aPrefix );\
+ HBufC8* logString8 = HBufC8::NewLC( KLogPrefix8().Length()+\
+ aString.Length() );\
+ logString8->Des().Append( KLogPrefix8() );\
+ logString8->Des().Append( aString );\
+ if ( KMusFileLoggingEnabled )\
+ {\
+ RFileLogger::Write( KMusLogDir, KMusLogFile,\
+ EFileLoggingModeAppend,\
+ *logString8 );\
+ }\
+ RDebug::RawPrint( *logString8 );\
+ CleanupStack::PopAndDestroy( logString8 );\
+ }
+
+#define MUS_LOG( aFmt )\
+ {\
+ _LIT( KLogMsg, aFmt );\
+ if ( KMusFileLoggingEnabled )\
+ {\
+ RFileLogger::WriteFormat( KMusLogDir, KMusLogFile,\
+ EFileLoggingModeAppend,\
+ KLogMsg() );\
+ }\
+ RDebug::Print( KLogMsg() );\
+ }
+
+#define MUS_LOG1( aFmt, aVar1 )\
+ {\
+ _LIT( KLogMsg, aFmt );\
+ if ( KMusFileLoggingEnabled )\
+ {\
+ RFileLogger::WriteFormat( KMusLogDir, KMusLogFile,\
+ EFileLoggingModeAppend,\
+ KLogMsg(), aVar1 );\
+ }\
+ RDebug::Print( KLogMsg(), aVar1 );\
+ }
+
+#define MUS_LOG2( aFmt, aVar1, aVar2 )\
+ {\
+ _LIT( KLogMsg, aFmt );\
+ if ( KMusFileLoggingEnabled )\
+ {\
+ RFileLogger::WriteFormat( KMusLogDir, KMusLogFile,\
+ EFileLoggingModeAppend,\
+ KLogMsg(), aVar1, aVar2 );\
+ }\
+ RDebug::Print( KLogMsg(), aVar1, aVar2 );\
+ }
+
+#define MUS_LOG3( aFmt, aVar1, aVar2, aVar3 )\
+ {\
+ _LIT( KLogMsg, aFmt );\
+ if ( KMusFileLoggingEnabled )\
+ {\
+ RFileLogger::WriteFormat( KMusLogDir, KMusLogFile,\
+ EFileLoggingModeAppend,\
+ KLogMsg(), aVar1, aVar2, aVar3 );\
+ }\
+ RDebug::Print( KLogMsg(), aVar1, aVar2, aVar3 );\
+ }
+
+#endif
+
+#define LEAVE_IF_NOT( x, y ) \
+ if( x != y && x != KErrNone )\
+ {\
+ MUS_LOG1( "mus: [ ] Leaving with code %d", x )\
+ User::Leave( x );\
+ }
+
+#endif // MUSLOGGER_H
+
+// End of File