diff -r 000000000000 -r 5f000ab63145 phoneengine/phonemodel/inc/talogger.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/phonemodel/inc/talogger.h Mon Jan 18 20:18:27 2010 +0200 @@ -0,0 +1,223 @@ +/* +* Copyright (c) 2004 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: Provides macros for logging +* +*/ + + + +#ifndef __TALOGGER_H__ +#define __TALOGGER_H__ + +// INCLUDES +#include + +/* +----------------------------------------------------------------------------- + + USER LOG SELECTION + +----------------------------------------------------------------------------- +*/ + +inline TUint KTALOGMASK() + { + return 0x8fffffff; // This is default mask value. + } // User can change mask value to get different king of logging. + +#ifndef _DEBUG + +/*************************** +* Logging method variants: +* 0 = No logging +* 1 = Flogger +* 2 = RDebug +***************************/ + +#define TEF_LOGGING_METHOD 0 // UREL BUILD + +#else + +#ifdef __WINS__ +#define TEF_LOGGING_METHOD 2 // UDEB BUILD, WINS +#else +#define TEF_LOGGING_METHOD 2 // UDEB BUILD, HW +#endif // __WINS__ + +#endif // _DEBUG + + +// Next is for backward compatibility +#if TEF_LOGGING_METHOD > 0 +#define TEF_LOGGING_ENABLED +#define TF_LOGGING_ENABLED +#endif + + +/* +----------------------------------------------------------------------------- + + LOGGING OPTIONS + +----------------------------------------------------------------------------- +*/ + +#define KTAOBJECT 0x00000001 // Construction and destruction + +#define KTAERROR 0x00000002 // Error that can be handled. Describe reason for error situation. +#define KTAPANIC 0x00000004 // Critical error: Panic. + +#define KTAMESIN 0x00000008 // From client to TELE message +#define KTAMESOUT 0x00000010 // From TELE to client message +#define KTAMESINT 0x00000020 // TELE internal message + +#define KTAREQIN 0x00000040 // Public interface methods +#define KTAREQOUT 0x00000080 // Set outgoing request +#define KTAREQEND 0x00000100 // Complete request + +#define KTAINT 0x00000200 // Internal activity + +#define KTAMSTATE 0x00000400 // Component state changes + +#define KTAGENERAL 0x00000800 // For deprecated TFLOGxxx-macros and for temporary usage + + +/* +----------------------------------------------------------------------------- + + LOG SETTINGS + +----------------------------------------------------------------------------- +*/ + +#if TEF_LOGGING_METHOD == 1 // Flogger + +#include +_LIT(KTfLogFolder,"PE"); +_LIT(KTfLogFile,"TALOG.TXT"); + +#elif TEF_LOGGING_METHOD == 2 // RDebug + +#include + +#endif + + +/* +----------------------------------------------------------------------------- + + LOGGING MACROs + + USE THESE MACROS IN YOUR CODE ! + +----------------------------------------------------------------------------- +*/ +#define MESSAGE(A) _L(A) + +#if TEF_LOGGING_METHOD == 1 // Flogger + +#define TEFLOGTEXT(Type,AAA) { \ + if((KTALOGMASK()&(Type))==(Type)) \ + { \ + RFileLogger::Write(KTfLogFolder(),KTfLogFile(), \ + EFileLoggingModeAppend, AAA); \ + } \ + } +#define TEFLOGSTRING(Type,AAA) { \ + if((KTALOGMASK()&(Type))==(Type)) \ + { \ + _LIT(tempLogDes,AAA); \ + RFileLogger::Write(KTfLogFolder(),KTfLogFile(), \ + EFileLoggingModeAppend,tempLogDes()); \ + } \ + } +#define TEFLOGSTRING2(Type,AAA,BBB) { \ + if((KTALOGMASK()&(Type))==(Type)) \ + { \ + _LIT(tempLogDes,AAA); \ + RFileLogger::WriteFormat(KTfLogFolder(),KTfLogFile(), \ + EFileLoggingModeAppend, \ + TRefByValue(tempLogDes()),BBB); \ + } \ + } +#define TEFLOGSTRING3(Type,AAA,BBB,CCC) { \ + if((KTALOGMASK()&(Type))==(Type)) \ + { \ + _LIT(tempLogDes,AAA); \ + RFileLogger::WriteFormat(KTfLogFolder(),KTfLogFile(), \ + EFileLoggingModeAppend, \ + TRefByValue(tempLogDes()),BBB,CCC); \ + } \ + } +#define TEFLOGSTRING4(Type,AAA,BBB,CCC,DDD) { \ + if((KTALOGMASK()&(Type))==(Type)) \ + { \ + _LIT(tempLogDes,AAA); \ + RFileLogger::WriteFormat(KTfLogFolder(), \ + KTfLogFile(),EFileLoggingModeAppend, \ + TRefByValue(tempLogDes()), \ + BBB,CCC,DDD); \ + } \ + } + +#elif TEF_LOGGING_METHOD == 2 // RDebug + +#define TEFLOGTEXT(Type,AAA) { \ + if((KTALOGMASK()&(Type))==(Type)) RDebug::Print(AAA); \ + } +#define TEFLOGSTRING(Type,AAA) { \ + if((KTALOGMASK()&(Type))== \ + (Type)) RDebug::Print(_L(AAA)); \ + } +#define TEFLOGSTRING2(Type,AAA,BBB) { \ + if((KTALOGMASK()&(Type))== \ + (Type)) RDebug::Print(_L(AAA),BBB); \ + } +#define TEFLOGSTRING3(Type,AAA,BBB,CCC) { \ + if((KTALOGMASK()&(Type))== \ + (Type)) RDebug::Print(_L(AAA),BBB,CCC); \ + } +#define TEFLOGSTRING4(Type,AAA,BBB,CCC,DDD) { \ + if((KTALOGMASK()&(Type))== \ + (Type)) RDebug::Print(_L(AAA),BBB,CCC,DDD); \ + } + +#else // TEF_LOGGING_METHOD == 0 or invalid + +#define TEFLOGTEXT(Type,AAA) // Example: TFLOGTEXT(KTAMESOUT, own_desc) +#define TEFLOGSTRING(Type,AAA) // Example: TFLOGSTRING(KTAMESIN, "Test") +#define TEFLOGSTRING2(Type,AAA,BBB) // Example: TFLOGSTRING(KTAMESINT, "Test %i", aValue) +#define TEFLOGSTRING3(Type,AAA,BBB,CCC) // Example: TFLOGSTRING(KTAMESOUT, "Test %i %i", aValue1, aValue2) +#define TEFLOGSTRING4(Type,AAA,BBB,CCC,DDD) // Example: TFLOGSTRING(KTAMESOUT, "Test %i %i %i", aValue1, aValue2, aValue3) + +#endif // TEF_LOGGING_METHOD + + +/* +----------------------------------------------------------------------------- + + DEPRECATED LOGGING MACROs + + DON'T USE THESE MACROS IN YOUR CODE ANYMORE! + +----------------------------------------------------------------------------- +*/ + +#define TFLOGTEXT(AAA) TEFLOGTEXT(KTAGENERAL,AAA); +#define TFLOGSTRING(AAA) TEFLOGSTRING(KTAGENERAL,AAA); +#define TFLOGSTRING2(AAA,BBB) TEFLOGSTRING2(KTAGENERAL,AAA,BBB); +#define TFLOGSTRING3(AAA,BBB,CCC) TEFLOGSTRING3(KTAGENERAL,AAA,BBB,CCC); +#define TFLOGSTRING4(AAA,BBB,CCC,DDD) TEFLOGSTRING4(KTAGENERAL,AAA,BBB,CCC,DDD); + +#endif // TALOGGER_H