diff -r 000000000000 -r 164170e6151a gba/common/GBALogger.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gba/common/GBALogger.cpp Tue Jan 26 15:20:08 2010 +0200 @@ -0,0 +1,194 @@ +/* +* 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: Implementation of loggers +* +*/ + + +#ifdef _DEBUG + +#include "GBALogger.h" +#include + +const TInt KDebugBufferSize1024 = 1024; +const TInt KDebugBufferSize240 = 240; +const TInt KDebugBufferSize120 = 120; + +_LIT(KTimeFormat, "%F%D/%M/%Y %J:%T:%S"); + +void debuglineL(const char *a, void *arg1, void* arg1b, void *arg2, void *arg3, const char *arg4) + { + + HBufC8* logbuf = HBufC8::NewLC( KDebugBufferSize1024 ); + TPtr8 ptrlogbuf = logbuf->Des(); + + TPtrC8 p((const unsigned char *)a); + TPtrC8 temp_arg4((TUint8 *)arg4); + ptrlogbuf.Format(p, arg1,arg1b, arg2, arg3); + ptrlogbuf.Append(temp_arg4); + + if ( logbuf->Length() <= KDebugBufferSize120 ) + { + RFileLogger::WriteFormat( KGBALogDir, KGBALogFileName, + EFileLoggingModeAppend, + *logbuf ); + } + else + { + RFileLogger::WriteFormat( KGBALogDir, KGBALogFileName, + EFileLoggingModeAppend, + logbuf->Left( KDebugBufferSize120 ) ); + //max length is 150, print another line + if (logbuf->Mid(KDebugBufferSize120).Length()<= KDebugBufferSize120 ) + { + RFileLogger::WriteFormat( KGBALogDir, KGBALogFileName, + EFileLoggingModeAppend, + logbuf->Mid(KDebugBufferSize120) ); + } + else + { + RFileLogger::WriteFormat( KGBALogDir, KGBALogFileName, + EFileLoggingModeAppend, + logbuf->Mid(KDebugBufferSize120, KDebugBufferSize120) ); + RFileLogger::WriteFormat( KGBALogDir, KGBALogFileName, + EFileLoggingModeAppend, + logbuf->Mid(KDebugBufferSize240) ); + } + + } + CleanupStack::PopAndDestroy( logbuf ); + } + + +void debuglineL(const char *a, void *arg1, void* arg1b, void *arg2, void *arg3, const TDesC &arg4) + { + + HBufC8* logbuf = HBufC8::NewLC( KDebugBufferSize1024 ); + TPtr8 ptrlogbuf = logbuf->Des(); + + TPtrC8 p((const unsigned char *)a); + ptrlogbuf.Format(p, arg1,arg1b, arg2, arg3); + ptrlogbuf.Append(arg4); + + if ( logbuf->Length() <= KDebugBufferSize120 ) + { + RFileLogger::WriteFormat( KGBALogDir, KGBALogFileName, + EFileLoggingModeAppend, + *logbuf ); + } + else + { + RFileLogger::WriteFormat( KGBALogDir, KGBALogFileName, + EFileLoggingModeAppend, + logbuf->Left( KDebugBufferSize120 ) ); + //max length is 150, print another line + if (logbuf->Mid(KDebugBufferSize120).Length()<= KDebugBufferSize120 ) + { + RFileLogger::WriteFormat( KGBALogDir, KGBALogFileName, + EFileLoggingModeAppend, + logbuf->Mid(KDebugBufferSize120) ); + } + else + { + RFileLogger::WriteFormat( KGBALogDir, KGBALogFileName, + EFileLoggingModeAppend, + logbuf->Mid(KDebugBufferSize120, KDebugBufferSize120) ); + RFileLogger::WriteFormat( KGBALogDir, KGBALogFileName, + EFileLoggingModeAppend, + logbuf->Mid(KDebugBufferSize240) ); + } + + } + CleanupStack::PopAndDestroy( logbuf ); + } + +void debuglineL(const char *a, void *arg1, void *arg1b, void *arg2, void *arg3, const TDesC8 &arg4) + { + HBufC8* logbuf = HBufC8::NewLC( KDebugBufferSize1024 ); + TPtr8 ptrlogbuf = logbuf->Des(); + TPtrC8 p((const unsigned char *)a); + ptrlogbuf.Format(p, arg1,arg1b, arg2, arg3); + ptrlogbuf.Append(arg4); + if ( logbuf->Length() <= KDebugBufferSize120 ) + { + RFileLogger::WriteFormat( KGBALogDir, KGBALogFileName, + EFileLoggingModeAppend, + *logbuf ); + } + else + { + RFileLogger::WriteFormat( KGBALogDir, KGBALogFileName, + EFileLoggingModeAppend, + logbuf->Left(KDebugBufferSize120) ); + //max length is 150, print another line + + if (logbuf->Mid(KDebugBufferSize120).Length()<= KDebugBufferSize120 ) + { + RFileLogger::WriteFormat( KGBALogDir, KGBALogFileName, + EFileLoggingModeAppend, + logbuf->Mid(KDebugBufferSize120) ); + } + else + { + RFileLogger::WriteFormat( KGBALogDir, KGBALogFileName, + EFileLoggingModeAppend, + logbuf->Mid(KDebugBufferSize120, KDebugBufferSize120) ); + RFileLogger::WriteFormat( KGBALogDir, KGBALogFileName, + EFileLoggingModeAppend, + logbuf->Mid(KDebugBufferSize240) ); + } + } + CleanupStack::PopAndDestroy( logbuf ); + } + +void debuglineL(const char *a, void *arg1, void *arg1b, void *arg2, void *arg3, const char *arg4, const TInt& aNum ) + { + HBufC8* logbuf = HBufC8::NewLC( KDebugBufferSize120 ); + TPtr8 ptrlogbuf = logbuf->Des(); + TPtrC8 temp_arg4((TUint8 *)arg4); + ptrlogbuf.Format( temp_arg4, aNum ); + + debuglineL(a, arg1, arg1b, arg2, arg3, *logbuf); + CleanupStack::PopAndDestroy( logbuf ); + } + +void debuglineL(const char *a, void *arg1, void *arg1b, void *arg2, void *arg3, const TDesC &arg4, const TInt& aNum ) + { + HBufC* logbuf = HBufC::NewLC(KDebugBufferSize120); + TPtr ptrlogbuf = logbuf->Des(); + ptrlogbuf.Format( arg4, aNum ); + + debuglineL(a, arg1, arg1b, arg2, arg3, *logbuf); + CleanupStack::PopAndDestroy( logbuf ); + } + +void DebugBinary( const TDesC8 &buf ) + { + RFileLogger::HexDump( KGBALogDir, KGBALogFileName, + EFileLoggingModeAppend, + NULL, NULL , buf.Ptr(), buf.Length() ); + } + +void debugTTimeL( TTime& aTime ) + { + TBuf buf; + aTime.FormatL( buf, KTimeFormat); + RFileLogger::WriteFormat( KGBALogDir, KGBALogFileName, + EFileLoggingModeAppend, + buf ); + } + +#endif + +//EOF