--- a/phoneapp/phoneuiutils/inc/cphonelogger.h Fri May 14 15:51:57 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,355 +0,0 @@
-/*
-* Copyright (c) 2002 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:
-* Phone logger
-*
-*/
-
-
-#ifndef __CPHONELOGGER_H
-#define __CPHONELOGGER_H
-
-// INCLUDES
-#include <e32std.h>
-#include <coemain.h>
-#include "phoneconstants.h"
-#include "stringpool.h"
-
-// FORWARD DECLARATIONS
-class RFileLogger;
-class MPEEngineInfo;
-class MPEPhoneModel;
-
-enum TPhoneUILoggingLevel
- {
- ENo, // No logging at all.
- EOnlyFatal, // Only fatal errors etc. are logged
- EBasic, // Normal logging (fatals + PE mesages etc),
- EMethodStartEnd, // All above & function starts and ends are logged
- // (where added)
- EAll // All above & extra logging
- };
-
-enum TPhoneUILoggingComponent
- {
- EPhoneAbstractFactoryClient,
- EPhoneControl,
- EPhonePhoneapp,
- EPhoneUIView,
- EPhoneUIStates,
- EPhoneUIUtils,
- PhoneUIVoIPExtension,
- EPhoneMediatorCenter,
- EPhoneAmountOfLoggingComponents
- };
-
-// CLASS DECLARATION
-
-/**
- @private
- @class CPhone
- @since 7.0
- A utility used in phone application for logging in debug builds. Log
- files are placed in the directory %EPOCROOT%/epoc32/wins/c/logs/phoneapp
- */
-class CPhoneLogger : public TDesOverflow , public CCoeStatic
- {
- public: // New methods
-
- /**
- * C++ constructor
- * @param aUid Uid for CCoeStatic uid.
- */
- IMPORT_C CPhoneLogger(TUid aUid);
-
- /**
- * C++ destructor. Closes the log file.
- */
- IMPORT_C virtual ~CPhoneLogger();
-
- /**
- * Formats a log message by given numerous parameters and writes it in
- * the log file.
- * @param aLevel is the logging level. log messages below chosen
- * level are not printed out.
- * @param aLoggingComponent identifies the component where the log
- * message originates from.
- * @param aFmt is the log message, it may include formatting
- * @return None.
- */
- IMPORT_C void LogIt(
- TPhoneUILoggingLevel aLevel,
- TPhoneUILoggingComponent aLoggingComponent,
- TRefByValue<const TDesC> aFmt, ...);
-
- /**
- * Checks if logging components level is enough to log.
- * @aLevel is level of the log message whose printage needs to be judged
- * @aLoggingComponent is the component where the log message
- * originates from
- * @return ETrue if logging is needed, based on aLevel,
- * aLoggingComponent and current log level.
- */
- TBool CheckLogLevel(
- TPhoneUILoggingLevel aLevel,
- TPhoneUILoggingComponent aLoggingComponent );
-
- /**
- * Writes comment to log file.
- *
- * @param aComment - A comment descriptor to be logged.
- * @return None.
- */
- void WriteComment( const TDesC& aComment );
-
- /**
- * Creates a specified log message by given parameters and writes it
- * in the log file.
- *
- * @param aMessage - Ordinal of enumerated phone engine command.
- * Converts it in to descriptor.
- * @param aCallId - ID of current call.
- * @return None.
- */
- IMPORT_C void LogMsgFromControlToView (
- const TInt aMessage,
- const TInt aCallId );
-
- /**
- * Creates a PE specified log message by given parameters and writes
- * it in the log file.
- *
- * @param aMessage - Ordinal of enumerated phone engine command.
- * Converts it in to descriptor.
- * @param aCallId - ID of current call.
- * @return None.
- */
- IMPORT_C void LogMsgFromPEToPhoneUI (
- const TInt aMessage,
- const TInt aCallId );
-
- /**
- * Creates a PE specified log message by given TPEMessage id and call
- * id and writes it in the log file.
- *
- * @param aMessage - Ordinal of enumerated phone engine command.
- * Converts it in to descriptor.
- * @param aCallId - ID of current call.
- * @return None.
- */
- IMPORT_C void LogMsgFromPhoneUIToPE(
- const TInt aMessage,
- const TInt aCallId );
-
- /**
- * Logs message from Phone Engine to Phoneapp execution ending.
- * (When message is executed succesfully, this function is called).
- *
- * @param aMessage - Ordinal of enumerated phone engine command.
- * Converts it in to descriptor.
- * @return None.
- */
- IMPORT_C void LogMsgFromPEToPhoneUIEnd( const TInt aMessage );
-
- /**
- * Logs state change.
- *
- * @param aCurrentState Current state of phoneapp.
- * @param aNewState Next state of phoneapp.
- * @return None.
- */
- IMPORT_C void LogStateChange(
- const TInt aCurrentState,
- const TInt aNewState );
-
- /**
- * Sets pointer to Phone Engine
- * @param aPhoneEngine pointer to Phone Engine instance
- */
- IMPORT_C void SetPhoneEngine( MPEPhoneModel* aPhoneEngine );
-
- private: // Methods from TDesOverflow
-
- /**
- * Formats a log message by given numerous parameters and writes
- * it in the log file.
- *
- * @param aFmt -
- * @return None.
- */
- void LogIt( TRefByValue<const TDesC> aFmt, ...);
-
- /**
- * Handles the overflow. This function is called when the
- * TDes16::AppendFormat() variant, which takes an overflow handler
- * argument, fails. TDes16::AppendFormat() variant called by LogIt().
- *
- * @param aDes - The 16 bit modifiable descriptor whose overflow
- * results in the call to this overflow handler.
- * @return None.
- */
- IMPORT_C virtual void Overflow(TDes16& aDes);
-
- private: // New methods
-
- /**
- * Provides string representation for TPEMessagesFromPhoneEngine.
- *
- * @param aDes - Descriptor for copying string representation.
- * @return None.
- */
- void GetPEToPhoneUIStringById( TDes16& aDes, const TInt aID );
-
- /**
- * Provides string representation for TPACommandId.
- *
- * @param aDes - Descriptor for copying string representation.
- * @param aID - Descriptor for copying string representation.
- * @return None.
- */
- void GetPhoneUIToPEStringById( TDes16& aDes, const TInt aID );
-
- /**
- * Provides string representation for MPhoneViewCommandId.
- *
- * @param aDes - Descriptor for copying string representation.
- * @param aID - Descriptor for copying string representation.
- * @return None.
- */
- void GetPhoneUIToViewStringById( TDes16& aDes, const TInt aID );
-
- /**
- * Recounts TPhoneStateId enumeration values for logger.
- *
- * @param aID - TPhoneStateId enumeration value
- * @return - Value of recounted enumeration id
- */
- TInt RecountStateId( TInt aId );
-
- /**
- * Recounts TPhoneStateId GSM-variant enumeration values for logger.
- *
- * @param aID - TPhoneStateId enumeration value
- * @return - Value of recounted enumeration id
- */
- TInt RecountStateIdGSM( TInt aId );
-
- /**
- * Provides string representation for state
- *
- * @param aDes - Descriptor for copying string representation.
- * @param aID - Id of the state.
- * @return - None.
- */
- void GetStateName( TDes16& aDes, const TInt aID );
-
- /** Array of logging levels for each component */
- TFixedArray<TPhoneUILoggingLevel, EPhoneAmountOfLoggingComponents>
- iLogLevelArray;
-
- private: // attributes
-
- // String pool handle
- RStringPool iPool;
-
- /**
- * Pointer to Phone Engine - uses relation
- */
- MPEPhoneModel* iPhoneEngine;
- };
-
-class CPhoneMethodLogger: public CBase
- {
- public:
-
- /** Method logger constructor. constructor.
- * Writes time lable and "Enter: " + the given string.
- */
- IMPORT_C CPhoneMethodLogger(
- TPhoneUILoggingComponent aLoggingComponent,
- TPtrC aString);
-
- /** Destructor.
- * Writes time lable and "Leave: " + the given string.
- */
- IMPORT_C ~CPhoneMethodLogger();
-
- private:
-
- TBuf<128> iString;
- TPhoneUILoggingComponent iLoggingComponent;
- };
-
-// These are empty logging macros when PHONEUI_LOGGING_OUTPUT==0
-
-#if (PHONEUI_LOGGING_OUTPUT==0)
- #define __PHONELOG(A, B, C)
- #define __PHONELOG1(A,B, C, X)
- #define __PHONELOG2(A,B, C, X, Y)
- #define __PHONELOG3(A,B, C, X, Y, Z)
- #define __PHONELOGENGINEMSG( C, X )
- #define __PHONELOGENGINEMSGEND( C)
- #define __PHONELOGENGINECMD( C)
- #define __PHONELOGSTATECHANGE( C, X)
- #define __LOGMETHODSTARTEND(A,C)
- #define __PHONELOGVIEWMSG( C, X )
-
-// These are the real logging macros that uses CPhoneLogger class.
-#else
-
-//If logging method == 2 define log file name.
-
- #define __PHONELOG(A, B, C) (static_cast<CPhoneLogger*> \
- (CCoeEnv::Static(KUidPhoneUILoggerSingleton)))-> \
- LogIt(A, B, _L(C) );
-
- #define __PHONELOG1(A, B, C, X) (static_cast<CPhoneLogger*> \
- (CCoeEnv::Static(KUidPhoneUILoggerSingleton)))-> \
- LogIt(A, B, _L(C), X);
-
- #define __PHONELOG2(A, B, C, X, Y) (static_cast<CPhoneLogger*> \
- (CCoeEnv::Static(KUidPhoneUILoggerSingleton)))-> \
- LogIt(A, B, _L(C), X, Y);
-
- #define __PHONELOG3(A, B, C, X, Y, Z) (static_cast<CPhoneLogger*> \
- (CCoeEnv::Static(KUidPhoneUILoggerSingleton)))-> \
- LogIt(A, B, _L(C), X, Y, Z);
-
- #define __PHONELOGENGINEMSG( C, X ) (static_cast<CPhoneLogger*> \
- (CCoeEnv::Static(KUidPhoneUILoggerSingleton)))-> \
- LogMsgFromPEToPhoneUI( (TInt)C, X);
-
- #define __PHONELOGENGINEMSGEND( C ) (static_cast<CPhoneLogger*> \
- (CCoeEnv::Static(KUidPhoneUILoggerSingleton)))-> \
- LogMsgFromPEToPhoneUIEnd( (TInt)C );
-
- #define __PHONELOGENGINECMD( C ) (static_cast<CPhoneLogger*> \
- (CCoeEnv::Static(KUidPhoneUILoggerSingleton)))-> \
- LogMsgFromPhoneUIToPE( (TInt)C, 0 );
-
- #define __PHONELOGVIEWMSG( C, X ) (static_cast<CPhoneLogger*> \
- (CCoeEnv::Static(KUidPhoneUILoggerSingleton)))-> \
- LogMsgFromControlToView( (TInt)C, X);
-
- #define __PHONELOGSTATECHANGE( C, X ) (static_cast<CPhoneLogger*> \
- (CCoeEnv::Static(KUidPhoneUILoggerSingleton)))-> \
- LogStateChange( (TInt)C, TInt(X) );
-
- #define __LOGMETHODSTARTEND( A, C ) CPhoneMethodLogger __log( A, ( _L(C) ) );
-
-
-#endif // else --> #if (PHONE_LOGGING_METHOD==0 )
-
-#endif // #ifndef __CPhoneLogger_H__
-