phoneapp/phoneuiutils/inc/cphonelogger.h
changeset 36 2eacb6118286
parent 30 ebdbd102c78a
child 37 ba76fc04e6c2
--- 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__
-