videditor/VideoEditorCommon/src/logfile.cpp
changeset 9 d87d32eab1a9
parent 0 951a5db380a0
--- a/videditor/VideoEditorCommon/src/logfile.cpp	Fri Jan 29 14:08:33 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,413 +0,0 @@
-/*
-* Copyright (c) 2010 Ixonos Plc.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the "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:
-* Ixonos Plc
-*
-* Description:  
-*
-*/
-
-
-
-#include <hal.h>
-#include <charconv.h>
-#include <bautils.h>
-#include "logfile.h"
-#include "logfile.pan"
-
-_LIT8(KCrLf8, "\r\n");
-_LIT(KCrLf, "\r\n");
-
-static const TInt KAsciiStart = 0x20;
-static const TInt KAsciiEnd = 0x7f;
-static const TInt KHexCharLeft = '<';
-static const TInt KHexCharRight = '>';
-
-//static const TInt KNumberOfDecimalPlaces = 3;
-
-EXPORT_C CLogFile* CLogFile::NewL(const TDesC& aFileName, TBool aInitialiseLog)
-	{
-    CLogFile* self = NewLC(aFileName, aInitialiseLog);
-    CleanupStack::Pop(self);
-    return(self);
-	}
-
-
-EXPORT_C CLogFile* CLogFile::NewLC(const TDesC& aFileName, TBool aInitialiseLog)
-	{
-    CLogFile* self = new (ELeave) CLogFile();
-    CleanupStack::PushL(self);
-    self->ConstructL(aFileName, aInitialiseLog);
-    return(self);
-	}
-
-
-CLogFile::CLogFile()
-	{
-    // No implementation required
-	}
-
-
-EXPORT_C CLogFile::~CLogFile()
-	{
-    iLogFile.Flush();
-    iLogFile.Close();
-    iSession.Close();
-	}
-
-
-void CLogFile::ConstructL(const TDesC& aFileName, TBool aInitialiseLog)
-	{
-
-#ifdef ORIGINAL_TIMESTAMP
-    TInt period;
-	User::LeaveIfError(HAL::Get(HALData::ESystemTickPeriod, period));
-
-    iLogMillisecsPerTick = period / 1000;
-
-    if (iLogMillisecsPerTick == 0)
-    	{
-        iLogMillisecsPerTick = 1;
-    	}
-#endif
-
-    User::LeaveIfError(iSession.Connect());
-
-    if (aInitialiseLog)
-    	{
-        User::LeaveIfError(iLogFile.Replace(iSession, aFileName, EFileShareAny | EFileWrite));
-    	}
-    else
-    	{
-        TInt err = iLogFile.Open(iSession, aFileName, EFileShareAny | EFileWrite);
-
-        switch (err)
-        	{
-            case KErrNone: // Opened ok, so seek to end of file
-                {
-                TInt position = 0;
-                User::LeaveIfError(iLogFile.Seek(ESeekEnd, position));
-                }
-                break;
-
-            case KErrNotFound: // File doesn't exist, so create it
-                User::LeaveIfError(iLogFile.Create(iSession, aFileName, EFileShareAny | EFileWrite));
-                break;
-
-            default: // Unexepected error
-                User::Leave(err);
-                break;
-        	}
-    	}
-	}
-
-
-EXPORT_C void CLogFile::LogTime()
-	{
-    StartWrite();
-    LogTimeInternal();
-    EndWrite();
-	}
-
-
-EXPORT_C void CLogFile::Log(const TDesC8& aText)
-	{
-    StartWrite();
-    LogTextInternal(aText);
-    EndWrite();
-	}
-
-
-EXPORT_C void CLogFile::Log(const TDesC& aText)
-	{
-    StartWrite();
-
-	TRAP_IGNORE( DoLogTextL(aText) );
-
-    EndWrite();
-	}
-
-void CLogFile::DoLogTextL(const TDesC& aText)
-	{
-    // Create character converter
-    CCnvCharacterSetConverter* characterConverter = CCnvCharacterSetConverter::NewLC();
-    CCnvCharacterSetConverter::TAvailability converterAvailability;
-    converterAvailability = characterConverter->PrepareToConvertToOrFromL(KCharacterSetIdentifierAscii, iSession);
-
-    for (TInt i = 0; i < aText.Length(); i++)
-    	{
-        if (aText.Mid(i).Find(KCrLf) == 0)
-        	{
-            LogNewline();
-            i++;
-        	}
-        else if (converterAvailability == CCnvCharacterSetConverter::EAvailable)
-        	{
-            // Convert character from unicode
-            TBuf<1> unicodeBuffer;
-            TBuf8<10> asciiBuffer;
-
-            unicodeBuffer.Append(aText[i]);
-            TInt status = characterConverter->ConvertFromUnicode(asciiBuffer, unicodeBuffer);
-
-            if (status >= 0)
-                {
-                LogTextInternal(asciiBuffer);
-                }
-            }
-        else // character converter not available
-            {
-            TBuf8<1> asciiBuffer;
-            asciiBuffer.Append(static_cast<TUint8>(aText[i]));
-            LogTextInternal(asciiBuffer);
-            }
-        }
-
-    CleanupStack::PopAndDestroy(characterConverter);
-	}
-
-EXPORT_C void CLogFile::Log(TUint8 aByte)
-	{
-    StartWrite();
-    LogByteInternal(aByte);
-    EndWrite();        
-	}
-
-
-EXPORT_C void CLogFile::Log(TUint aNumber)
-	{
-    StartWrite();
-    LogIntInternal(aNumber);
-    EndWrite();        
-	}
-
-
-EXPORT_C void CLogFile::LogBytes(const TDesC8& aBuffer)
-	{
-    StartWrite();
-
-    for (TInt i = 0; i < aBuffer.Length(); i++)
-    	{
-        LogByteInternal(aBuffer[i]);
-    	}
-
-    EndWrite();
-	}
-
-
-void CLogFile::LogTimeInternal()
-	{
-    TBuf8<50> text;
-    
-#ifdef ORIGINAL_TIMESTAMP
-
-    TInt timeInMillisecs = User::TickCount() * iLogMillisecsPerTick;
-    TInt secs = timeInMillisecs / 1000;
-    TInt millisecs = timeInMillisecs % 1000;
-    text.Num(secs);
-    text.Append('.');
-	Write(text);
-    text.Num(millisecs);
-
-    while (text.Length() < KNumberOfDecimalPlaces)
-    	{
-        text.Insert(0, _L8("0"));
-    	}
-
-    text.Append('-');
-   	Write(text);
-
-#else
-
-    TTime time;
-    time.HomeTime();
-    TBuf<31> dateString;
-    _LIT(KDateString4,"%-B%:0%J%:1%T%:2%S%.%*C4%:3%+B ");
-	TRAPD(err, time.FormatL(dateString,KDateString4) );
-	if (KErrNone == err)
-		{
-		text.Append(dateString);
-		}
-	else
-		{
-		text.Append( _L("### date string format error: ") );
-		text.AppendNum(err);
-		}
-	Write(text);
-
-#endif // ORIGINAL_TIMESTAMP
-	}	
-
-
-void CLogFile::LogTextInternal(const TDesC8& aText)
-	{
-	TPtrC8 tail(aText.Ptr(), aText.Length());
-
-    TInt newLinePosition = tail.Find(KCrLf8);
-	while (newLinePosition != KErrNotFound)
-		{
-		if (newLinePosition > 0)
-			{
-			Write(tail.Left(newLinePosition));
-			tail.Set(aText.Ptr() + newLinePosition, tail.Length() - newLinePosition);
-			}
-        LogNewline();
-		tail.Set(aText.Ptr() + KCrLf8.iTypeLength, tail.Length() - KCrLf8.iTypeLength);
-
-		newLinePosition = tail.Find(KCrLf8);
-		}
-
-	//	No more newlines left so print remainder
-	Write(tail);
-
-	}
-
-
-void CLogFile::LogByteInternal(TUint8 aByte)
-	{
-    if ((aByte >= KAsciiStart) && (aByte < KAsciiEnd))
-    	{
-        // Display as ASCII char
-        TBuf8<1> str;
-        str.Append(aByte);
-		Write(str);
-    	}
-    else
-    	{
-        // Display as hex number
-        TBuf8<4> str;
-        str.Append(KHexCharLeft);
-        str.AppendNum((TUint)aByte, EHex);
-        str.Append(KHexCharRight);
-		Write(str);
-    	}
-	}
-
-
-void CLogFile::LogIntInternal(TUint aNumber)
-	{
-    // Display as ASCII char
-    TBuf8<20> str;
-    str.Append(KHexCharLeft);
-    str.AppendNum(aNumber, EHex);
-    str.Append(KHexCharRight);
-	Write(str);
-	}
-
-
-EXPORT_C void CLogFile::LogNewline()
-	{
-    Write(KCrLf8);
-
-    if (iAutoTimestamp)
-    	{
-        LogTimeInternal();
-    	}
-	}
-
-
-void CLogFile::StartWrite()
-	{
-    ASSERT(iCheckNestDepth == 0);
-    iCheckNestDepth++;
-
-    if (iAutoNewline)
-    	{
-        LogNewline();
-    	}
-	}
-
-
-void CLogFile::EndWrite()
-	{
-    if (iAutoFlush)
-    	{
-        iLogFile.Flush();
-    	}
-
-    iCheckNestDepth--;
-    ASSERT(iCheckNestDepth == 0);
-	}
-
-void CLogFile::Write(const TDesC8& aText)
-    {
-
-    if (iLogFile.Write(aText) != KErrNone)
-        {
-        //  As the framework may be trapping User::Panic we need to
-        //  produce the panic at a lower level.
-        RThread().Panic(KLogFilePanic, ELogFileWriteFailed);
-        }
-    }
-
-EXPORT_C void CLogFile::SetAutoFlush(TBool aOn)
-	{
-    iAutoFlush = aOn;
-	}
-
-
-EXPORT_C void CLogFile::SetAutoTimeStamp(TBool aOn)
-	{
-    iAutoTimestamp = aOn;
-	}
-
-
-EXPORT_C void CLogFile::SetAutoNewline(TBool aOn)
-	{
-    iAutoNewline = aOn;
-	}
-
-
-EXPORT_C void CLogFile::StaticLog(const TDesC& aFileName, const TDesC8& aText)
-	{
-	// This needs to be inside a TRAP statement. Calling StaticLogL 
-	// from certain places, for example AppUi destructors, 
-	// would result in E32USER-CBase 66 panic.
-	TRAP_IGNORE( CLogFile::StaticLogL(aFileName,aText) );
-	}
-
-
-EXPORT_C void CLogFile::StaticLog(const TDesC& aFileName, const TDesC& aText)
-	{
-	// This needs to be inside a TRAP statement. Calling StaticLogL 
-	// from certain places, for example AppUi destructors, 
-	// would result in E32USER-CBase 66 panic.
-	TRAP_IGNORE( CLogFile::StaticLogL(aFileName,aText) );
-	}
-
-
-EXPORT_C void CLogFile::StaticLogL(const TDesC& aFileName, const TDesC8& aText)
-	{
-	CLogFile* logFile = NewLC(aFileName, EFalse);
-	logFile->SetAutoNewline(ETrue);
-	logFile->SetAutoTimeStamp(ETrue);
-	logFile->Log(aText);
-	CleanupStack::PopAndDestroy(logFile);
-	}
-
-
-EXPORT_C void CLogFile::StaticLogL(const TDesC& aFileName, const TDesC& aText)
-	{
-	CLogFile* logFile = NewLC(aFileName, EFalse);
-	logFile->SetAutoNewline(ETrue);
-	logFile->SetAutoTimeStamp(ETrue);
-	logFile->Log(aText);
-	CleanupStack::PopAndDestroy(logFile);
-	}
-
-void CLogFile::GetFileName(TDes& aFileName) const
-	{
-	iLogFile.FullName(aFileName);
-	}
-
-
-// End of File