/*
* 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 the License "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:
*
*/
// INCLUDE FILES
#include "config.h"
#include "WebKitLogger.h"
#include <string.h>
#include <E32HAL.H>
// EXTERNAL DATA STRUCTURES
// EXTERNAL FUNCTION PROTOTYPES
// CONSTANTS
// MACROS
// LOCAL CONSTANTS AND MACROS
// MODULE DATA STRUCTURES
// LOCAL FUNCTION PROTOTYPES
// FORWARD DECLARATIONS
// ============================= LOCAL FUNCTIONS ===============================
// ============================ MEMBER FUNCTIONS ===============================
LogStream::LogStream() : iLoggerReady( EFalse )
{
iString.Zero();
}
LogStream& LogStream::LogStream::operator<<(
TInt aInt )
{
TBuf<10> num;
num.Num( aInt );
return *this << num;
}
LogStream& LogStream::operator<<(
TUint aUint )
{
TBuf<10> num;
num.Num( aUint );
return *this << num;
}
LogStream& LogStream::operator<<(
TReal aReal )
{
TBuf<32> buffer;
buffer.Num( TReal( aReal ), TRealFormat() );
return *this<<buffer;
}
LogStream& LogStream::operator<<(
const char* aString )
{
iString.Append( (unsigned char*)aString, (TInt)strlen( aString ) );
return *this;
}
LogStream& LogStream::operator<<(
const TDesC& aString )
{
iString.Append( aString );
return *this;
}
LogStream& LogStream::operator<<(
const TDesC8& aString )
{
iString.Append( aString );
return *this;
}
LogStream& LogStream::operator<<(
TAny* aAny )
{
TBuf8<32> buffer;
buffer.Num( (TUint)aAny, EHex );
return *this << buffer;
}
// LogStream& LogStream::operator<<(const LogStreamManipulator& );
void LogStream::flush()
{
if( !iLoggerReady )
{
RFileLogger::Write( _L("Browser"), _L("webkit_tot.html"), EFileLoggingModeAppend,
_L("<html><head></head><body>") );
iLoggerReady = ETrue;
}
(*this)<<"<br>";
RFileLogger::Write( _L("Browser"), _L("webkit_tot.html"), EFileLoggingModeAppend, iString );
iString.Zero();
}
LogStream& flush(
LogStream& aStream )
{
// flush the string to output
aStream.flush();
return aStream;
}
void LogStream::mem()
{
flush();
TMemoryInfoV1Buf meminfo;
UserHal::MemoryInfo( meminfo );
(*this)<<"Mem available:";
(*this)<<meminfo().iFreeRamInBytes;
}
LogStream& mem(
LogStream& aStream )
{
// flush the string to output
aStream.mem();
return aStream;
}
// End of File