--- a/phoneapp/phoneuiutils/src/cphoneLogger.cpp Fri May 14 15:51:57 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,589 +0,0 @@
-/*
-* Copyright (c) 2005 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 CPhoneLogger class.
-*
-*/
-
-
-// INCLUDE FILES
-// System includes
-#include <f32file.h> // for TParse, in Flogger stuff
-#include <flogger.h>
-#include <pevirtualengine.h>
-#include <featmgr.h> // for FeatureManager
-
-#include "phoneconstants.h"
-#include "phonelogger.h"
-
-// Local includes
-#include "phonestatestrings.h" // also includes StringPool.h
-#include "phonestatestringsgsm.h" // also includes StringPool.h
-#include "phoneloggerviewcommands.h" // also includes StringPool.h
-#include "phoneui.pan"
-
-// Class signature
-#include "cphonelogger.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CPhoneLogger::CPhoneLogger
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// Constructed with destructionPriority = -1, CPhoneLogger will then be
-// destroyed after the CCoeAppUi object is destroyed.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CPhoneLogger::CPhoneLogger( TUid aUid ) : CCoeStatic( aUid, -1 )
- {
- // Logging levels for each component is setted here
- iLogLevelArray[ EPhoneAbstractFactoryClient ] = ENo;
- iLogLevelArray[ EPhoneControl ] = EAll;
- iLogLevelArray[ EPhonePhoneapp ] = EAll;
- iLogLevelArray[ EPhoneUIStates ] = EAll;
- iLogLevelArray[ EPhoneUIView ] = EAll;
- iLogLevelArray[ EPhoneUIUtils ] = EAll;
- iLogLevelArray[ PhoneUIVoIPExtension ] = EAll;
- iLogLevelArray[ EPhoneMediatorCenter ] = EAll;
- }
-
-
-// Destructor
-EXPORT_C
-CPhoneLogger::~CPhoneLogger()
- {
-#if (PHONEUI_LOGGING_OUTPUT == RDEBUG_LOGGING || PHONEUI_LOGGING_OUTPUT == FILE_LOGGING)
- iPool.Close();
-#endif
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneLogger::CheckLogLevel
-// Checks if component that tries to log has big enough log level.
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneLogger::CheckLogLevel(
- TPhoneUILoggingLevel aLevel,
- TPhoneUILoggingComponent aLoggingComponent )
- {
- __ASSERT_DEBUG( aLoggingComponent < iLogLevelArray.Count(),
- Panic( EPhoneUtilsIndexOutOfBounds ) );
-
- return ( aLevel <= iLogLevelArray[aLoggingComponent] );
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneLogger::LogIt
-// Messages to the log file.
-// -----------------------------------------------------------------------------
-//
-#if (PHONEUI_LOGGING_OUTPUT == RDEBUG_LOGGING || PHONEUI_LOGGING_OUTPUT == FILE_LOGGING)
-void CPhoneLogger::LogIt( TRefByValue<const TDesC> aFmt, ...)
- {
- VA_LIST list;
- VA_START( list, aFmt );
-
- TBuf<KMaxLogLineLength> buf;
-
- buf.AppendFormatList( aFmt, list, this );
- VA_END( list );
-
- WriteComment( buf );
-
- }
-#else
-void CPhoneLogger::LogIt( TRefByValue<const TDesC> /*aFmt*/, ...) {}
-#endif
-
-// -----------------------------------------------------------------------------
-// CPhoneLogger::LogIt
-// Writes messages to the log.
-// -----------------------------------------------------------------------------
-//
-#if (PHONEUI_LOGGING_OUTPUT == RDEBUG_LOGGING || PHONEUI_LOGGING_OUTPUT == FILE_LOGGING)
-EXPORT_C void CPhoneLogger::LogIt(
- TPhoneUILoggingLevel aLevel,
- TPhoneUILoggingComponent aLoggingComponent,
- TRefByValue<const TDesC> aFmt, ...)
- {
- if ( this == NULL ) return;
- if ( CheckLogLevel( aLevel, aLoggingComponent ) )
- {
- VA_LIST list;
- VA_START( list, aFmt );
-
- TBuf<KMaxLogLineLength> buf;
-
- buf.AppendFormatList( aFmt, list, this );
- VA_END( list );
-
- WriteComment( buf );
- }
- }
-#else
-EXPORT_C void CPhoneLogger::LogIt(
- TPhoneUILoggingLevel /*aLevel*/,
- TPhoneUILoggingComponent,
- TRefByValue<const TDesC> /*aFmt*/, ...) {}
-#endif
-
-// -----------------------------------------------------------------------------
-// CPhoneLogger::WriteComment
-// Do a write of the supplied data, literally where possible
-// -----------------------------------------------------------------------------
-//
-#if (PHONEUI_LOGGING_OUTPUT == RDEBUG_LOGGING || PHONEUI_LOGGING_OUTPUT == FILE_LOGGING)
-void CPhoneLogger::WriteComment( const TDesC& aComment )
- {
-#if ( PHONEUI_LOGGING_OUTPUT == RDEBUG_LOGGING )
- RDebug::Print( aComment );
-#endif
-#if (PHONEUI_LOGGING_OUTPUT == FILE_LOGGING)
- RFileLogger::Write(
- KPhoneLogFolder(),
- KPhoneLogFileName(),
- EFileLoggingModeAppend,
- aComment);
-#endif
- }
-// Logging method == 0 (no logging at all) is handled so
-// that no code is generated at all.
-#else
-void CPhoneLogger::WriteComment( const TDesC& )
-{
-//TInt test;
-}
-#endif
-
-// -----------------------------------------------------------------------------
-// CPhoneLogger::Overflow
-// Implements overflow handler derived from TDes16Overflow.
-// Used by TDes16::AppendFormatList().
-// -----------------------------------------------------------------------------
-//
-EXPORT_C
-#if (PHONEUI_LOGGING_OUTPUT == RDEBUG_LOGGING || PHONEUI_LOGGING_OUTPUT == FILE_LOGGING)
-void CPhoneLogger::Overflow( TDes16& aDes )
- {
- // Overflow has occured - end log line with '...'
- _LIT( KErrOverflowMsg, "..." );
- if ( aDes.MaxLength() >= KErrOverflowMsg().Length() + aDes.Length() )
- {
- aDes.Append( KErrOverflowMsg );
- }
- }
-#else
-void CPhoneLogger::Overflow( TDes& ) {}
-#endif
-
-// -----------------------------------------------------------------------------
-// CPhoneLogger::LogMsgFromPhoneUIToPE
-// LogPECommand:
-// Creates a PE specified log message by given command and
-// call id and writes it in the log file.
-//
-// NOTE:
-// If You make changes to enum TPACommandId, please do same
-// changes to paloggermessagestophoneenginestrings.st and run abld
-// makefile.
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C
-#if (PHONEUI_LOGGING_OUTPUT == RDEBUG_LOGGING || PHONEUI_LOGGING_OUTPUT == FILE_LOGGING)
-void CPhoneLogger::LogMsgFromPhoneUIToPE(
- const TInt aMessage,
- const TInt /*aCallId*/ )
- {
- // Log only if logging level for control is big enough.
- if ( iLogLevelArray[EPhoneControl] >= EBasic )
- {
- TBuf<KMaxAppendLength> buf;
- GetPhoneUIToPEStringById( buf, aMessage );
- LogIt( KPEDefaultMsgToPE, &buf );
- }
- }
-
-#else
-void CPhoneLogger::LogMsgFromPhoneUIToPE( const TInt, const TInt ) {}
-#endif //_DEBUG
-
-
-// -----------------------------------------------------------------------------
-// CPhoneLogger::LogMsgFromControlToView
-// -----------------------------------------------------------------------------
-//
-EXPORT_C
-#if (PHONEUI_LOGGING_OUTPUT == RDEBUG_LOGGING || PHONEUI_LOGGING_OUTPUT == FILE_LOGGING)
-void CPhoneLogger::LogMsgFromControlToView(
- const TInt aMessage,
- const TInt /*aCallId*/ )
- {
- // Log only if logging level for Phoneapp is big enough.
- if ( iLogLevelArray[EPhoneUIView] >= EBasic )
- {
- TBuf<KMaxAppendLength> buf;
- GetPhoneUIToViewStringById( buf, aMessage );
- LogIt( KPEDefaultMsgToView, &buf );
- }
- }
-
-#else
-// -----------------------------------------------------------------------------
-// CPhoneLogger::LogMsgFromControlToView
-// -----------------------------------------------------------------------------
-//
-void CPhoneLogger::LogMsgFromControlToView( const TInt, const TInt ) {}
-#endif //_DEBUG
-
-// -----------------------------------------------------------------------------
-// CPhoneLogger::LogStateChange
-// Writes state chage to log file
-// -----------------------------------------------------------------------------
-//
-EXPORT_C
-#if (PHONEUI_LOGGING_OUTPUT == RDEBUG_LOGGING || PHONEUI_LOGGING_OUTPUT == FILE_LOGGING)
-void CPhoneLogger::LogStateChange(
- const TInt aCurrentState,
- const TInt aNewState )
- {
- // Log only if logging level for Phone UI control is big enough.
- if ( ( iLogLevelArray[EPhoneControl] >= EBasic ) ||
- ( iLogLevelArray[EPhoneUIStates] >= EBasic ) )
- {
- TBuf<KMaxAppendLength> currentState;
- TBuf<KMaxAppendLength> newState;
-
- GetStateName( currentState, aCurrentState );
- GetStateName( newState, aNewState );
-
- LogIt( KPEDefaultStateChange, ¤tState, &newState );
- }
- }
-
-#else
-void CPhoneLogger::LogStateChange( const TInt, const TInt ) {}
-#endif //_DEBUG
-
-// -----------------------------------------------------------------------------
-// CPhoneLogger::LogMsgFromPEToPhoneUI
-// LogPEMessage:
-// Creates a PE specified log message by given parameters
-// and writes it in the log file.
-//
-// NOTE:
-// If You make changes to enum TPEMessagesFromPhoneEngine, please do same
-// changes to phoneloggermessagesfromphoneenginestrings.st and run abld
-// makefile.
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C
-#if (PHONEUI_LOGGING_OUTPUT == RDEBUG_LOGGING || PHONEUI_LOGGING_OUTPUT == FILE_LOGGING)
-void CPhoneLogger::LogMsgFromPEToPhoneUI(
- const TInt aMessage,
- const TInt aCallId )
- {
- // Log only if logging level for application control is big enough.
- if ( iLogLevelArray[EPhoneControl] >= EBasic )
- {
- TBuf<KMaxAppendLength> buf;
- GetPEToPhoneUIStringById( buf, aMessage );
- LogIt( KPEDefaultMsgToPhoneUI, &buf, aCallId );
- }
- }
-
-#else
-void CPhoneLogger::LogMsgFromPEToPhoneUI ( const TInt, const TInt ) {}
-#endif //_DEBUG
-
-// -----------------------------------------------------------------------------
-// CPhoneLogger::LogMsgFromPEToPhoneUIEnd
-// -----------------------------------------------------------------------------
-//
-EXPORT_C
-#if (PHONEUI_LOGGING_OUTPUT == RDEBUG_LOGGING || PHONEUI_LOGGING_OUTPUT == FILE_LOGGING)
-void CPhoneLogger::LogMsgFromPEToPhoneUIEnd( const TInt aMessage )
- {
- // Log only if logging level for application control is big enough.
- if ( iLogLevelArray[EPhoneControl] >= EBasic )
- {
- TBuf<KMaxAppendLength> buf;
- GetPEToPhoneUIStringById( buf, aMessage );
- LogIt( KPEDefaultMsgToPhoneUIEnd, &buf );
- }
- }
-
-#else
-void CPhoneLogger::LogMsgFromPEToPhoneUIEnd ( const TInt ) {}
-#endif //_DEBUG
-
-
-// -----------------------------------------------------------------------------
-// CPhoneLogger::GetPEToPhoneUIStringById
-// Provides string representation for TPEMessagesFromPhoneEngine enums by
-// ordinal number.
-//
-// NOTE:
-// If You make changes to enum TPEMessagesFromPhoneEngine, please do same
-// changes to phoneloggermessagesfromphoneenginestrings.st and run abld
-// makefile.
-//
-// -----------------------------------------------------------------------------
-//
-#if (PHONEUI_LOGGING_OUTPUT == RDEBUG_LOGGING || PHONEUI_LOGGING_OUTPUT == FILE_LOGGING)
-void CPhoneLogger::GetPEToPhoneUIStringById( TDes16& aDes, const TInt aID )
- {
- ASSERT( iPhoneEngine );
- aDes.Copy( iPhoneEngine->NameByMessageFromPhoneEngine( aID ) );
- }
-
-#else
-void CPhoneLogger::GetPEToPhoneUIStringById( TDes16& , const TInt ) {}
-#endif //_DEBUG
-
-
-// -----------------------------------------------------------------------------
-// CPhoneLogger::GetStateName
-// -----------------------------------------------------------------------------
-//
-#if (PHONEUI_LOGGING_OUTPUT == RDEBUG_LOGGING || PHONEUI_LOGGING_OUTPUT == FILE_LOGGING)
-void CPhoneLogger::GetStateName( TDes16& aDes, const TInt aID )
- {
- TStringTable table;
- TInt stateID;
- if ( aID < KPhoneStateProtocolFirst )
- {
- table = PhoneStateStrings::Table;
- stateID = aID;
- }
- else
- {
- stateID = aID - KPhoneStateProtocolFirst;
-
- if ( FeatureManager::FeatureSupported( KFeatureIdProtocolGsm ) ||
- FeatureManager::FeatureSupported( KFeatureIdProtocolWcdma ) )
- {
- table = PhoneStateStringsGSM::Table;
- }
- }
-
- TRAPD( err, iPool.OpenL( table ) );
- if ( err == KErrNone )
- {
- aDes.Copy( iPool.StringF( stateID, table ).DesC() );
- iPool.Close();
- }
-
- if ( ( aDes.Length() == 0 ) || ( err != KErrNone ) )
- {
- aDes.AppendNum( (TInt)aID );
- }
- }
-
-#else
-void CPhoneLogger::GetStateName( TDes16& , const TInt ) {}
-#endif //_DEBUG
-/*
-// ==========================================================
-// GetViewName:
-// Appends view name to given buf.
-//
-// ==========================================================
-#if (PHONEUI_LOGGING_OUTPUT == 1 || PHONEUI_LOGGING_OUTPUT == 2)
-void CPhoneLogger::GetViewName( TDes16& aDes, const TInt aID )
- {
- TRAPD( err, iPool->OpenL( PhoneUIViewStrings::Table ) );
- if( err == KErrNone )
- {
- aDes.Copy(iPool->StringF( aID, PAViewStrings::Table ).DesC());
- iPool->Close();
- }
-
- if( ( aDes.Length() == 0 ) || ( err != KErrNone ) )
- {
- aDes.AppendNum( (TInt)aID );
- }
- }
-
-#else
-void CPhoneLogger::GetViewName( TDes16& , const TInt ) {}
-#endif //_DEBUG
-*/
-
-// -----------------------------------------------------------------------------
-// CPhoneLogger::GetPhoneUIToPEStringById
-// Provides string representation for TPACommandId enums by
-// ordinal number.
-//
-// NOTE:
-// If You make changes to enum TPACommandId, please do same
-// changes to paloggermessagestophoneenginestrings.st and run abld
-// makefile.
-//
-// -----------------------------------------------------------------------------
-//
-#if (PHONEUI_LOGGING_OUTPUT == RDEBUG_LOGGING || PHONEUI_LOGGING_OUTPUT == FILE_LOGGING)
-void CPhoneLogger::GetPhoneUIToPEStringById( TDes16& aDes, const TInt aID )
- {
- ASSERT( iPhoneEngine );
- aDes.Copy( iPhoneEngine->NameByMessageToPhoneEngine( aID ) );
- }
-
-#else
-void CPhoneLogger::GetPhoneUIToPEStringById( TDes16& , const TInt ) {}
-#endif //_DEBUG
-
-// -----------------------------------------------------------------------------
-// CPhoneLogger::GetPhoneUIToViewStringById
-// Provides string representation for TPACommandId enums by
-// ordinal number.
-//
-// NOTE:
-// If You make changes to enum TPACommandId, please do same
-// changes to paloggermessagestophoneenginestrings.st and run abld
-// makefile.
-//
-// -----------------------------------------------------------------------------
-//
-#if (PHONEUI_LOGGING_OUTPUT == RDEBUG_LOGGING || PHONEUI_LOGGING_OUTPUT == FILE_LOGGING)
-void CPhoneLogger::GetPhoneUIToViewStringById( TDes16& aDes, const TInt aID )
- {
- TRAPD( err, iPool.OpenL( PhoneLoggerviewCommands::Table ) );
- if ( err == KErrNone )
- {
- aDes.Copy( iPool.StringF( aID,
- PhoneLoggerviewCommands::Table ).DesC() );
- iPool.Close();
- }
-
- if ( ( aDes.Length() == 0 ) || ( err != KErrNone ) )
- {
- aDes.AppendNum( (TInt)aID );
- }
- }
-
-#else
-void CPhoneLogger::GetPhoneUIToViewStringById( TDes16& , const TInt ) {}
-#endif //_DEBUG
-
-// ---------------------------------------------------------
-// CPhoneLogger::SetPhoneEngine
-// ---------------------------------------------------------
-//
-EXPORT_C void CPhoneLogger::SetPhoneEngine(
- MPEPhoneModel* aPhoneEngine )
- {
- iPhoneEngine = aPhoneEngine;
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneLogger::CPhoneMethodLogger
-// Method logger contructor. Logs method start.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CPhoneMethodLogger::CPhoneMethodLogger(
- TPhoneUILoggingComponent aLoggingComponent,
- TPtrC aString )
- {
- iLoggingComponent = aLoggingComponent;
- iString = aString;
- TBuf<KMaxLogLineLength> str;
- switch( iLoggingComponent )
- {
- case EPhoneControl:
- str.Append( KPhoneUIControl );
- break;
-
- case EPhonePhoneapp:
- str.Append( KPhoneUI );
- break;
-
- case EPhoneUIView:
- str.Append( KPhoneUIView );
- break;
-
- case EPhoneUIStates:
- str.Append( KPhoneUIStates );
- break;
-
- case EPhoneUIUtils:
- str.Append( KPhoneUIUtils );
- break;
-
- case EPhoneMediatorCenter:
- str.Append( KPhoneMediatorCenter );
- break;
-
- default:
- break;
- }
-
- str.Append( iString );
- str.Append( KLessThan );
-
- CPhoneLogger * logger = static_cast<CPhoneLogger*>(
- CCoeEnv::Static( KUidPhoneUILoggerSingleton ) );
- if ( logger )
- {
- logger->LogIt( EMethodStartEnd, iLoggingComponent, str );
- }
- }
-
-// Destructor
-EXPORT_C CPhoneMethodLogger::~CPhoneMethodLogger()
- {
- TBuf<KMaxLogLineLength> str;
- switch( iLoggingComponent )
- {
- case EPhoneControl:
- str.Append( KPhoneUIControl );
- break;
-
- case EPhonePhoneapp:
- str.Append( KPhoneUI );
- break;
-
- case EPhoneUIView:
- str.Append( KPhoneUIView );
- break;
-
- case EPhoneUIStates:
- str.Append( KPhoneUIStates );
- break;
-
- case EPhoneUIUtils:
- str.Append( KPhoneUIUtils );
- break;
-
- case EPhoneMediatorCenter:
- str.Append( KPhoneMediatorCenter );
- break;
-
- default:
- break;
- }
- str.Append( iString );
- str.Append( KGreaterThan );
-
- CPhoneLogger * logger = static_cast<CPhoneLogger*>(
- CCoeEnv::Static( KUidPhoneUILoggerSingleton ) );
- if ( logger )
- {
- logger->LogIt( EMethodStartEnd, iLoggingComponent, str );
- }
- }
-
-// End of File
-