diff -r 7fdc9a71d314 -r 8ad140f3dd41 stif/Logger/src/LoggerOverFlow.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/stif/Logger/src/LoggerOverFlow.cpp Wed Oct 13 16:17:58 2010 +0300 @@ -0,0 +1,296 @@ +/* +* Copyright (c) 2009 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: This module contains implementation of +* TDesLoggerOverflowHandler class member functions. +* +*/ + +// INCLUDE FILES +#include +#include "LoggerOverFlow.h" + +// EXTERNAL DATA STRUCTURES +// None + +// EXTERNAL FUNCTION PROTOTYPES +// None + +// CONSTANTS +// None + +// MACROS +// None + +// LOCAL CONSTANTS AND MACROS +// None + +// MODULE DATA STRUCTURES +// None + +// LOCAL FUNCTION PROTOTYPES +// None + +// FORWARD DECLARATIONS +// None + +// ==================== LOCAL FUNCTIONS ======================================= +// None + +// ================= MEMBER FUNCTIONS ========================================= + +/* +------------------------------------------------------------------------------- + + Class: TDesLoggerOverflowHandler + + Method: TDesLoggerOverflowHandler + + Description: Default constructor + + Parameters: CStifLogger* aLogger: in: Pointer to CStifLogger object + TInt aOverFlowSource: in: Over flow source + + Return Values: None + + Errors/Exceptions: None + + Status: Approved + +------------------------------------------------------------------------------- +*/ +TDesLoggerOverflowHandler::TDesLoggerOverflowHandler( CStifLogger* aLogger, + TInt aOverFlowSource ) + { + iLogger = aLogger; + iOverFlowSource = aOverFlowSource; + + } + +/* +------------------------------------------------------------------------------- + + Class: TDesLoggerOverflowHandler + + Method: TDesLoggerOverflowHandler + + Description: Default constructor + + Parameters: CRDebugOutput* aRDebugOutput: in: Pointer to CFileOutput object + TInt aOverFlowSource: in: Over flow source + + Return Values: None + + Errors/Exceptions: None + + Status: Approved + +------------------------------------------------------------------------------- +*/ +// For future needs +// TDesLoggerOverflowHandler::TDesLoggerOverflowHandler( +// CRDebugOutput* aRDebugOutput, +// TInt aOverFlowSource ) +// { +// iRDebugOutput = aRDebugOutput; +// iOverFlowSource = aOverFlowSource; +// +// } + +/* +------------------------------------------------------------------------------- + + Class: TDesLoggerOverflowHandler + + Method: Overflow + + Description: Simple overflow handling(16 bit) + + Parameters: TDes16 &aDes: in: Reference to over flow data + + Return Values: None + + Errors/Exceptions: None + + Status: Approved + +------------------------------------------------------------------------------- +*/ +void TDesLoggerOverflowHandler::Overflow( TDes16& aDes ) + { + __TRACE( KError, ( _L( "STIFLOGGER: Over flow" ) ) ); + + // If overflow + TInt len( 0 ); + len = aDes.Length(); + + // const TInt to TInt avoiding warnings + TInt maxLogData = KMaxLogData; + TInt maxTestFileName = KMaxFileName; + + // Overflow: Log() without aStyle or Log() with aStyle + if ( ( iOverFlowSource == 1 || iOverFlowSource == 2 ) + && maxLogData > 60 ) + { + // Log overflow info if info is in allowed limits + aDes[len-2] = 13; // 13 or '\' in Symbian OS + aDes[len-1] = 10; // 10 or 'n' in Symbian OS + // ~60 + iLogger->Send( 0, _L("Log() OVERFLOW: Check aLogInfo and KMaxLogData !!!") ); + } + // Overflow: WriteDelimiter() + if ( iOverFlowSource == 3 && maxLogData > 70 ) + { + // Log overflow info if info is in allowed limits, ~70 + iLogger->Send( 0, _L( "WriteDelimiter() OVERFLOW: Check delimiter and KMaxLogData !!!" ) ); + } + // Overflow: StartHtmlPage() + if ( iOverFlowSource == 4 && maxTestFileName > 70 ) + { + // Log overflow info if info is in allowed limits, ~70 + iLogger->Send( 0, _L( "aTestFile OVERFLOW: Check aTestFile and KMaxFileName !!!" ) ); + } + + } + +/* +------------------------------------------------------------------------------- + + DESCRIPTION + + This module contains implementation of TDes8LoggerOverflowHandler class + member functions. + +------------------------------------------------------------------------------- +*/ + +// ================= MEMBER FUNCTIONS ========================================= + +/* +------------------------------------------------------------------------------- + + Class: TDes8OverflowHandler + + Method: TDes8LoggerOverflowHandler + + Description: Default constructor + + Parameters: CStifLogger* aLogger: in: Pointer to CStifLogger object + TInt aOverFlowSource: in: Over flow source + + Return Values: None + + Errors/Exceptions: None + + Status: Approved + +------------------------------------------------------------------------------- +*/ +TDes8LoggerOverflowHandler::TDes8LoggerOverflowHandler( CStifLogger* aLogger, + TInt aOverFlowSource ) + { + iLogger = aLogger; + iOverFlowSource = aOverFlowSource; + + } + +/* +------------------------------------------------------------------------------- + + Class: TDes8LoggerOverflowHandler + + Method: TDes8LoggerOverflowHandler + + Description: Default constructor + + Parameters: CRDebugOutput* aRDebugOutput: in: Pointer to CFileOutput object + TInt aOverFlowSource: in: Over flow source + + Return Values: None + + Errors/Exceptions: None + + Status: Approved + +------------------------------------------------------------------------------- +*/ +// For future needs +// TDes8LoggerOverflowHandler::TDes8LoggerOverflowHandler( +// CRDebugOutput* aRDebugOutput, +// TInt aOverFlowSource ) +// { +// iRDebugOutput = aRDebugOutput; +// iOverFlowSource = aOverFlowSource; + +// } + +/* +------------------------------------------------------------------------------- + + Class: TDes8LoggerOverflowHandler + + Method: Overflow + + Description: Simple overflow handling(8 bit) + + Parameters: TDes8 &aDes: in: Reference to over flow data + + Return Values: None + + Errors/Exceptions: None + + Status: Approved + +------------------------------------------------------------------------------- +*/ +void TDes8LoggerOverflowHandler::Overflow( TDes8& aDes ) + { + __TRACE( KError, ( _L( "STIFLOGGER: Over flow" ) ) ); + + // If overflow + TInt len( 0 ); + len = aDes.Length(); + + // const TInt to TInt avoiding warnings + TInt maxLogData = KMaxLogData; + TInt maxTestFileName = KMaxFileName; + + // Overflow: Log() without aStyle or Log() with aStyle + if ( ( iOverFlowSource == 1 || iOverFlowSource == 2 ) + && maxLogData > 60 ) + { + // Log overflow info if info is in allowed limits + aDes[len-2] = 13; // 13 or '\' in Symbian OS + aDes[len-1] = 10; // 10 or 'n' in Symbian OS + // ~60 + iLogger->Send( 0, _L("Log() OVERFLOW: Check aLogInfo and KMaxLogData !!!") ); + } + // Overflow: WriteDelimiter() + if ( iOverFlowSource == 3 && maxLogData > 70 ) + { + // Log overflow info if info is in allowed limits, ~70 + iLogger->Send( 0, _L( "WriteDelimiter() OVERFLOW: Check delimiter and KMaxLogData !!!" ) ); + } + // Overflow: StartHtmlPage() + if ( iOverFlowSource == 4 && maxTestFileName > 70 ) + { + // Log overflow info if info is in allowed limits, ~70 + iLogger->Send( 0, _L( "aTestFile OVERFLOW: Check aTestFile and KMaxFileName !!!" ) ); + } + + } + +// ================= OTHER EXPORTED FUNCTIONS ================================= +// None + +// End of File