diff -r f742655b05bf -r d38647835c2e sipvoipprovider/inc/svplogger.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sipvoipprovider/inc/svplogger.h Wed Sep 01 12:29:57 2010 +0100 @@ -0,0 +1,157 @@ +/* +* Copyright (c) 2006 - 2008 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: Provides macros for logging and debugging. +* +*/ + +#ifndef SVPLOGGER_H +#define SVPLOGGER_H + +#ifdef _DEBUG // enable debug macros + +#ifndef COMPONENT +#define COMPONENT +_LIT( KComponent, "SVP" ); +#endif // COMPONENT + +#include +#include +#include "svpconsts.h" + +/***************************************************** +* Format string for adding component to prints. +* +* Parameters passed within macros from code are +* formatted with string that came as a parameter +*****************************************************/ +_LIT( KSVPPrintFormatString, "%S: %S" ); + +/* + * Prints for text without params + */ +static inline void PrintL( const TDesC& aStr ) + { + HBufC* line = HBufC::NewLC( KSvpMaxDebugBufferSize ); + TPtr ptr( line->Des() ); + ptr.Format( KSVPPrintFormatString(), &KComponent(), &aStr ); + RDebug::Print( line->Des() ); + CleanupStack::PopAndDestroy( line ); + } +static inline void Print( const TDesC& aStr ) + { + TRAP_IGNORE( PrintL( aStr ) ) + } + +/* + * Prints for text with TInt as a param + */ +static inline void PrintL( const TDesC& aStr, const TInt& aTInt ) + { + HBufC* line1 = HBufC::NewLC( KSvpMaxDebugBufferSize ); + TPtr ptr1( line1->Des() ); + ptr1.Format( aStr, aTInt ); + + HBufC* line2 = HBufC::NewLC( KSvpMaxDebugBufferSize ); + TPtr ptr2( line2->Des() ); + ptr2.Format( KSVPPrintFormatString(), &KComponent(), line1 ); + RDebug::Print( line2->Des() ); + CleanupStack::PopAndDestroy( 2 ); + } +static inline void Print( const TDesC& aStr, const TInt& aTInt ) + { + TRAP_IGNORE( PrintL( aStr, aTInt ) ) + } + +/* + * Prints for text with any pointer as a param + */ +static inline void PrintL( const TDesC& aStr, const TAny* aPtr ) + { + HBufC* line1 = HBufC::NewLC( KSvpMaxDebugBufferSize ); + TPtr ptr1( line1->Des() ); + ptr1.Format( aStr, aPtr ); + + HBufC* line2 = HBufC::NewLC( KSvpMaxDebugBufferSize ); + TPtr ptr2( line2->Des() ); + ptr2.Format( KSVPPrintFormatString(), &KComponent(), line1 ); + RDebug::Print( line2->Des() ); + CleanupStack::PopAndDestroy( 2 ); + } +static inline void Print( const TDesC& aStr, const TAny* aPtr ) + { + TRAP_IGNORE( PrintL( aStr, aPtr ) ) + } + +/* + * Prints for text with two TInt as a param + */ +static inline void PrintL( const TDesC& aStr, + const TInt& aTInt1, + const TInt& aTInt2 ) + { + HBufC* line1 = HBufC::NewLC( KSvpMaxDebugBufferSize ); + TPtr ptr1( line1->Des() ); + ptr1.Format( aStr, aTInt1, aTInt2 ); + + HBufC* line2 = HBufC::NewLC( KSvpMaxDebugBufferSize ); + TPtr ptr2( line2->Des() ); + ptr2.Format( KSVPPrintFormatString(), &KComponent(), line1 ); + RDebug::Print( line2->Des() ); + CleanupStack::PopAndDestroy( 2 ); + } +static inline void Print( const TDesC& aStr, + const TInt& aTInt1, + const TInt& aTInt2 ) + { + TRAP_IGNORE( PrintL( aStr, aTInt1, aTInt2 ) ) + } + +/* + * Prints for text with TInt and a string as a parameter + */ +static inline void PrintL( const TDesC& aStr1, + const TInt& aTInt, + const TDesC* aStr2 ) + { + HBufC* line1 = HBufC::NewLC( KSvpMaxDebugBufferSize ); + TPtr ptr1( line1->Des() ); + ptr1.Format( aStr1, aTInt, aStr2 ); + + HBufC* line2 = HBufC::NewLC( KSvpMaxDebugBufferSize ); + TPtr ptr2( line2->Des() ); + ptr2.Format( KSVPPrintFormatString(), &KComponent(), line1 ); + RDebug::Print( line2->Des() ); + CleanupStack::PopAndDestroy( 2 ); + } +static inline void Print( const TDesC& aStr1, + const TInt& aTInt, + const TDesC* aStr2 ) + { + TRAP_IGNORE( PrintL( aStr1, aTInt, aStr2 ) ) + } + + +#define SVPDEBUG1( a ) { _LIT( KStr, a ); Print( KStr() ); } +#define SVPDEBUG2( a, b ){ _LIT( KStr, a ); Print( KStr(), b ); } +#define SVPDEBUG3( a, b, c ){ _LIT( KStr, a ); Print( KStr(), b, c ); } + +#else // _DEBUG + +#define SVPDEBUG1( a ) +#define SVPDEBUG2( a, b ) +#define SVPDEBUG3( a, b, c ) + +#endif // _DEBUG + +#endif // SVPLOGGER_H