diff -r 6b1d113cdff3 -r 6638e7f4bd8f smsprotocols/smsstack/common/inc/smsstacklog.h --- a/smsprotocols/smsstack/common/inc/smsstacklog.h Mon May 03 13:37:20 2010 +0300 +++ b/smsprotocols/smsstack/common/inc/smsstacklog.h Thu May 06 15:10:38 2010 +0100 @@ -1,310 +1,310 @@ -// Copyright (c) 2002-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: -// - -#ifndef _SMSSTACKLOG_H_ -#define _SMSSTACKLOG_H_ - -/** - * @file - * - * Logging macros for SMSStack. These use the Comms Debug Utility framework - * (aka Flogger V2). - * - * To enable logging create a file called "comsdbg.ini" in the Symbian OS - * "C:\Logs\" directory which contains the following lines: - * - * MEDIA FILE - * LOG SMSStack Common - * LOG SMSStack GSMU - * LOG SMSStack SMSPROT - * LOG SMSStack SMSU - * LOG SMSStack SMSIF - * LOG SMSStack WAPPROT - * - * Each line relates to a particular part of the SMS Stack, enabling you to - * log only the interesting bits. - * - * By default logging is only present on UDEB builds. To enable UREL logging - * on a device, you will need to rebuild your ROM with UDEB SMS components. - * - * To enable logging on a device, place the "comsdbg.ini" file in the ROM - * under the "Z:\Logs\" directory. The log file will be written in the - * "C:\Logs\" directory on the device. - * - * To enable logging to the serial port change the "MEDIA FILE" line to - * "MEDIA SERIAL::1" or "MEDIA SERIAL::2". Note that this may no longer - * work due to a defect in the Comms Debug Framework. - * - * If you wish to have individual logs for each component, then use the - * extractlog.pl utility found in the %EPOCROOT%\Epoc32\Tools\ directory. E.g. - * - * extractlog.pl \EPOC32\WINSCW\C\LOGS\LOG.TXT - * - * @internalComponent - */ - -#include -#include - -#ifdef _DEBUG -#define _SMS_LOGGING_ENABLED -#endif - - -#ifdef _SMS_LOGGING_ENABLED - -_LIT8(KSMSStackSubSystem, "SMSStack"); - -#define SMSFLOG1(N,A) { \ - _LIT8(KLogString, A); \ - __FLOG_STATIC0(KSMSStackSubSystem,(N),KLogString); \ - } -#define SMSFLOG2(N,A,B) { \ - _LIT8(KLogString, A); \ - __FLOG_STATIC1(KSMSStackSubSystem,(N),KLogString,(B)); \ - } -#define SMSFLOG3(N,A,B,C) { \ - _LIT8(KLogString, A); \ - __FLOG_STATIC2(KSMSStackSubSystem,(N),KLogString,(B),(C)); \ - } -#define SMSFLOG4(N,A,B,C,D) { \ - _LIT8(KLogString, A); \ - __FLOG_STATIC3(KSMSStackSubSystem,(N),KLogString,(B),(C),(D)); \ - } -#define SMSFLOG5(N,A,B,C,D,E) { \ - _LIT8(KLogString, A); \ - __FLOG_STATIC4(KSMSStackSubSystem,(N),KLogString,(B),(C),(D),(E)); \ - } -#define SMSFLOG6(N,A,B,C,D,E,F) { \ - _LIT8(KLogString, A); \ - __FLOG_STATIC5(KSMSStackSubSystem,(N),KLogString,(B),(C),(D),(E),(F)); \ - } -#define SMSFLOG7(N,A,B,C,D,E,F,G) { \ - _LIT8(KLogString, A); \ - __FLOG_STATIC6(KSMSStackSubSystem,(N),KLogString,(B),(C),(D),(E),(F),(G)); \ - } -#define SMSFLOG8(N,A,B,C,D,E,F,G,H) { \ - _LIT8(KLogString, A); \ - __FLOG_STATIC7(KSMSStackSubSystem,(N),KLogString,(B),(C),(D),(E),(F),(G),(H)); \ - } - -_LIT8(KSMSStackCommon, "Common"); -_LIT8(KSMSStackGSMU, "GSMU"); -_LIT8(KSMSStackSMSPROT, "SMSPROT"); -_LIT8(KSMSStackSMSU, "SMSU"); -_LIT8(KSMSStackSMSIF, "SMSIF"); -_LIT8(KSMSStackWAPPROT, "WAPPROT"); - - -#define LOGCOMMON1(A) SMSFLOG1(KSMSStackCommon,A) -#define LOGCOMMON2(A,B) SMSFLOG2(KSMSStackCommon,A,(B)) -#define LOGCOMMON3(A,B,C) SMSFLOG3(KSMSStackCommon,A,(B),(C)) -#define LOGCOMMON4(A,B,C,D) SMSFLOG4(KSMSStackCommon,A,(B),(C),(D)) -#define LOGCOMMON5(A,B,C,D,E) SMSFLOG5(KSMSStackCommon,A,(B),(C),(D),(E)) -#define LOGCOMMON6(A,B,C,D,E,F) SMSFLOG6(KSMSStackCommon,A,(B),(C),(D),(E),(F)) -#define LOGCOMMON7(A,B,C,D,E,F,G) SMSFLOG7(KSMSStackCommon,A,(B),(C),(D),(E),(F),(G)) -#define LOGCOMMON8(A,B,C,D,E,F,G,H) SMSFLOG8(KSMSStackCommon,A,(B),(C),(D),(E),(F),(G),(H)) -#define LOGCOMMONTIMESTAMP() { \ - TTime now; \ - now.UniversalTime(); \ - TDateTime dateTime(now.DateTime()); \ - LOGCOMMON5("TimeStamp=%02d:%02d:%02d.%06d", \ - dateTime.Hour(), dateTime.Minute(), dateTime.Second(), dateTime.MicroSecond()); \ - } - -#define LOGGSMU1(A) SMSFLOG1(KSMSStackGSMU,A) -#define LOGGSMU2(A,B) SMSFLOG2(KSMSStackGSMU,A,(B)) -#define LOGGSMU3(A,B,C) SMSFLOG3(KSMSStackGSMU,A,(B),(C)) -#define LOGGSMU4(A,B,C,D) SMSFLOG4(KSMSStackGSMU,A,(B),(C),(D)) -#define LOGGSMU5(A,B,C,D,E) SMSFLOG5(KSMSStackGSMU,A,(B),(C),(D),(E)) -#define LOGGSMU6(A,B,C,D,E,F) SMSFLOG6(KSMSStackGSMU,A,(B),(C),(D),(E),(F)) -#define LOGGSMU7(A,B,C,D,E,F,G) SMSFLOG7(KSMSStackGSMU,A,(B),(C),(D),(E),(F),(G)) -#define LOGGSMU8(A,B,C,D,E,F,G,H) SMSFLOG8(KSMSStackGSMU,A,(B),(C),(D),(E),(F),(G),(H)) -#define LOGGSMUTIMESTAMP() { \ - TTime now; \ - now.UniversalTime(); \ - TDateTime dateTime(now.DateTime()); \ - LOGGSMU5("TimeStamp=%02d:%02d:%02d.%06d", \ - dateTime.Hour(), dateTime.Minute(), dateTime.Second(), dateTime.MicroSecond()); \ - } - -#define LOGSMSPROT1(A) SMSFLOG1(KSMSStackSMSPROT,A) -#define LOGSMSPROT2(A,B) SMSFLOG2(KSMSStackSMSPROT,A,(B)) -#define LOGSMSPROT3(A,B,C) SMSFLOG3(KSMSStackSMSPROT,A,(B),(C)) -#define LOGSMSPROT4(A,B,C,D) SMSFLOG4(KSMSStackSMSPROT,A,(B),(C),(D)) -#define LOGSMSPROT5(A,B,C,D,E) SMSFLOG5(KSMSStackSMSPROT,A,(B),(C),(D),(E)) -#define LOGSMSPROT6(A,B,C,D,E,F) SMSFLOG6(KSMSStackSMSPROT,A,(B),(C),(D),(E),(F)) -#define LOGSMSPROT7(A,B,C,D,E,F,G) SMSFLOG7(KSMSStackSMSPROT,A,(B),(C),(D),(E),(F),(G)) -#define LOGSMSPROT8(A,B,C,D,E,F,G,H) SMSFLOG8(KSMSStackSMSPROT,A,(B),(C),(D),(E),(F),(G),(H)) -#define LOGSMSPROTTIMESTAMP() { \ - TTime now; \ - now.UniversalTime(); \ - TDateTime dateTime(now.DateTime()); \ - LOGSMSPROT5("TimeStamp=%02d:%02d:%02d.%06d", \ - dateTime.Hour(), dateTime.Minute(), dateTime.Second(), dateTime.MicroSecond()); \ - } - -#define LOGSMSU1(A) SMSFLOG1(KSMSStackSMSU,A) -#define LOGSMSU2(A,B) SMSFLOG2(KSMSStackSMSU,A,(B)) -#define LOGSMSU3(A,B,C) SMSFLOG3(KSMSStackSMSU,A,(B),(C)) -#define LOGSMSU4(A,B,C,D) SMSFLOG4(KSMSStackSMSU,A,(B),(C),(D)) -#define LOGSMSU5(A,B,C,D,E) SMSFLOG5(KSMSStackSMSU,A,(B),(C),(D),(E)) -#define LOGSMSU6(A,B,C,D,E,F) SMSFLOG6(KSMSStackSMSU,A,(B),(C),(D),(E),(F)) -#define LOGSMSU7(A,B,C,D,E,F,G) SMSFLOG7(KSMSStackSMSU,A,(B),(C),(D),(E),(F),(G)) -#define LOGSMSU8(A,B,C,D,E,F,G,H) SMSFLOG8(KSMSStackSMSU,A,(B),(C),(D),(E),(F),(G),(H)) -#define LOGSMSUTIMESTAMP() { \ - TTime now; \ - now.UniversalTime(); \ - TDateTime dateTime(now.DateTime()); \ - LOGSMSU5("TimeStamp=%02d:%02d:%02d.%06d", \ - dateTime.Hour(), dateTime.Minute(), dateTime.Second(), dateTime.MicroSecond()); \ - } - -#define LOGSMSIF1(A) SMSFLOG1(KSMSStackSMSIF,A) -#define LOGSMSIF2(A,B) SMSFLOG2(KSMSStackSMSIF,A,(B)) -#define LOGSMSIF3(A,B,C) SMSFLOG3(KSMSStackSMSIF,A,(B),(C)) -#define LOGSMSIF4(A,B,C,D) SMSFLOG4(KSMSStackSMSIF,A,(B),(C),(D)) -#define LOGSMSIF5(A,B,C,D,E) SMSFLOG5(KSMSStackSMSIF,A,(B),(C),(D),(E)) -#define LOGSMSIF6(A,B,C,D,E,F) SMSFLOG6(KSMSStackSMSIF,A,(B),(C),(D),(E),(F)) -#define LOGSMSIF7(A,B,C,D,E,F,G) SMSFLOG7(KSMSStackSMSIF,A,(B),(C),(D),(E),(F),(G)) -#define LOGSMSIF8(A,B,C,D,E,F,G,H) SMSFLOG8(KSMSStackSMSIF,A,(B),(C),(D),(E),(F),(G),(H)) -#define LOGSMSIFTIMESTAMP() { \ - TTime now; \ - now.UniversalTime(); \ - TDateTime dateTime(now.DateTime()); \ - LOGSMSIF5("TimeStamp=%02d:%02d:%02d.%06d", \ - dateTime.Hour(), dateTime.Minute(), dateTime.Second(), dateTime.MicroSecond()); \ - } -#define LOGSMSIFPDU(A,B,C) LogSmsIfPDU((A),(B),(C)) -#define LOGSMSIFHEXBUF(A,B) LogSmsIfHexBuf((A),(B)) -#define LOGSMSIFTYPEOFNUMBER(A,B) LogSmsIfTypeOfNumber((A),(B)) -#define LOGSMSIFNUMBERINGPLAN(A,B) LogSmsIfNumberingPlan((A),(B)) -#define LOGSMSIFSMSENTRY(A,B) LogSmsIfSmsEntry((A),(B)) -#define LOGSMSIFSENDATTRIBUTES(A,B) LogSmsIfSendAttributes((A),(B)) - -#define LOGWAPPROT1(A) SMSFLOG1(KSMSStackWAPPROT,A) -#define LOGWAPPROT2(A,B) SMSFLOG2(KSMSStackWAPPROT,A,(B)) -#define LOGWAPPROT3(A,B,C) SMSFLOG3(KSMSStackWAPPROT,A,(B),(C)) -#define LOGWAPPROT4(A,B,C,D) SMSFLOG4(KSMSStackWAPPROT,A,(B),(C),(D)) -#define LOGWAPPROT5(A,B,C,D,E) SMSFLOG5(KSMSStackWAPPROT,A,(B),(C),(D),(E)) -#define LOGWAPPROT6(A,B,C,D,E,F) SMSFLOG6(KSMSStackWAPPROT,A,(B),(C),(D),(E),(F)) -#define LOGWAPPROT7(A,B,C,D,E,F,G) SMSFLOG7(KSMSStackWAPPROT,A,(B),(C),(D),(E),(F),(G)) -#define LOGWAPPROT8(A,B,C,D,E,F,G,H) SMSFLOG8(KSMSStackWAPPROT,A,(B),(C),(D),(E),(F),(G),(H)) -#define LOGWAPPROTTIMESTAMP() { \ - TTime now; \ - now.UniversalTime(); \ - TDateTime dateTime(now.DateTime()); \ - LOGWAPPROT5("TimeStamp=%02d:%02d:%02d.%06d", \ - dateTime.Hour(), dateTime.Minute(), dateTime.Second(), dateTime.MicroSecond()); \ - } - -#else // _SMS_LOGGING_ENABLED - -#define LOGCOMMON1(A) -#define LOGCOMMON2(A,B) -#define LOGCOMMON3(A,B,C) -#define LOGCOMMON4(A,B,C,D) -#define LOGCOMMON5(A,B,C,D,E) -#define LOGCOMMON6(A,B,C,D,E,F) -#define LOGCOMMON7(A,B,C,D,E,F,G) -#define LOGCOMMON8(A,B,C,D,E,F,G,H) -#define LOGCOMMONTIMESTAMP() - -#define LOGGSMU1(A) -#define LOGGSMU2(A,B) -#define LOGGSMU3(A,B,C) -#define LOGGSMU4(A,B,C,D) -#define LOGGSMU5(A,B,C,D,E) -#define LOGGSMU6(A,B,C,D,E,F) -#define LOGGSMU7(A,B,C,D,E,F,G) -#define LOGGSMU8(A,B,C,D,E,F,G,H) -#define LOGGSMUTIMESTAMP() - -#define LOGSMSPROT1(A) -#define LOGSMSPROT2(A,B) -#define LOGSMSPROT3(A,B,C) -#define LOGSMSPROT4(A,B,C,D) -#define LOGSMSPROT5(A,B,C,D,E) -#define LOGSMSPROT6(A,B,C,D,E,F) -#define LOGSMSPROT7(A,B,C,D,E,F,G) -#define LOGSMSPROT8(A,B,C,D,E,F,G,H) -#define LOGSMSPROTTIMESTAMP() - -#define LOGSMSU1(A) -#define LOGSMSU2(A,B) -#define LOGSMSU3(A,B,C) -#define LOGSMSU4(A,B,C,D) -#define LOGSMSU5(A,B,C,D,E) -#define LOGSMSU6(A,B,C,D,E,F) -#define LOGSMSU7(A,B,C,D,E,F,G) -#define LOGSMSU8(A,B,C,D,E,F,G,H) -#define LOGSMSUTIMESTAMP() - -#define LOGSMSIF1(A) -#define LOGSMSIF2(A,B) -#define LOGSMSIF3(A,B,C) -#define LOGSMSIF4(A,B,C,D) -#define LOGSMSIF5(A,B,C,D,E) -#define LOGSMSIF6(A,B,C,D,E,F) -#define LOGSMSIF7(A,B,C,D,E,F,G) -#define LOGSMSIF8(A,B,C,D,E,F,G,H) -#define LOGSMSIFTIMESTAMP() -#define LOGSMSIFPDU(A,B,C) -#define LOGSMSIFHEXBUF(A,B) -#define LOGSMSIFTYPEOFNUMBER(A,B) -#define LOGSMSIFNUMBERINGPLAN(A,B) -#define LOGSMSIFSMSENTRY(A,B) -#define LOGSMSIFSENDATTRIBUTES(A,B) - -#define LOGWAPPROT1(A) -#define LOGWAPPROT2(A,B) -#define LOGWAPPROT3(A,B,C) -#define LOGWAPPROT4(A,B,C,D) -#define LOGWAPPROT5(A,B,C,D,E) -#define LOGWAPPROT6(A,B,C,D,E,F) -#define LOGWAPPROT7(A,B,C,D,E,F,G) -#define LOGWAPPROT8(A,B,C,D,E,F,G,H) -#define LOGWAPPROTTIMESTAMP() - -#endif // _SMS_LOGGING_ENABLED - - -// -// Functions to perform specific logging where necessary. -// -#ifdef _SMS_LOGGING_ENABLED - void LogSmsIfPDU(const TDesC8& aText, const TDesC8& aPDU, TBool aCommandPdu); - void LogSmsIfHexBuf(const TDesC8& aText, const TDesC8& aHexBuf); - void LogSmsIfTypeOfNumber(const TDesC8& aText, RMobilePhone::TMobileTON aTON); - void LogSmsIfNumberingPlan(const TDesC8& aText, RMobilePhone::TMobileNPI aNPI); - void LogSmsIfSmsEntry(const TDesC8& aText, - const RMobileSmsStore::TMobileGsmSmsEntryV1& aSmsGsmEntryV1); - void LogSmsIfSendAttributes(const TDesC8& aText, - const RMobileSmsMessaging::TMobileSmsSendAttributesV1& aAttrib); -#endif - -// Define macros to disable and restore Code Coverage - -#ifndef BULLSEYE_OFF -#ifdef _BullseyeCoverage -#define BULLSEYE_OFF "BullseyeCoverage save off"; -#define BULLSEYE_RESTORE "BullseyeCoverage restore"; -#else -#define BULLSEYE_OFF -#define BULLSEYE_RESTORE -#endif -#endif - -#endif // _SMSSTACKLOG_H_ +// Copyright (c) 2002-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: +// + +#ifndef _SMSSTACKLOG_H_ +#define _SMSSTACKLOG_H_ + +/** + * @file + * + * Logging macros for SMSStack. These use the Comms Debug Utility framework + * (aka Flogger V2). + * + * To enable logging create a file called "comsdbg.ini" in the Symbian OS + * "C:\Logs\" directory which contains the following lines: + * + * MEDIA FILE + * LOG SMSStack Common + * LOG SMSStack GSMU + * LOG SMSStack SMSPROT + * LOG SMSStack SMSU + * LOG SMSStack SMSIF + * LOG SMSStack WAPPROT + * + * Each line relates to a particular part of the SMS Stack, enabling you to + * log only the interesting bits. + * + * By default logging is only present on UDEB builds. To enable UREL logging + * on a device, you will need to rebuild your ROM with UDEB SMS components. + * + * To enable logging on a device, place the "comsdbg.ini" file in the ROM + * under the "Z:\Logs\" directory. The log file will be written in the + * "C:\Logs\" directory on the device. + * + * To enable logging to the serial port change the "MEDIA FILE" line to + * "MEDIA SERIAL::1" or "MEDIA SERIAL::2". Note that this may no longer + * work due to a defect in the Comms Debug Framework. + * + * If you wish to have individual logs for each component, then use the + * extractlog.pl utility found in the %EPOCROOT%\Epoc32\Tools\ directory. E.g. + * + * extractlog.pl \EPOC32\WINSCW\C\LOGS\LOG.TXT + * + * @internalComponent + */ + +#include +#include + +#ifdef _DEBUG +#define _SMS_LOGGING_ENABLED +#endif + + +#ifdef _SMS_LOGGING_ENABLED + +_LIT8(KSMSStackSubSystem, "SMSStack"); + +#define SMSFLOG1(N,A) { \ + _LIT8(KLogString, A); \ + __FLOG_STATIC0(KSMSStackSubSystem,(N),KLogString); \ + } +#define SMSFLOG2(N,A,B) { \ + _LIT8(KLogString, A); \ + __FLOG_STATIC1(KSMSStackSubSystem,(N),KLogString,(B)); \ + } +#define SMSFLOG3(N,A,B,C) { \ + _LIT8(KLogString, A); \ + __FLOG_STATIC2(KSMSStackSubSystem,(N),KLogString,(B),(C)); \ + } +#define SMSFLOG4(N,A,B,C,D) { \ + _LIT8(KLogString, A); \ + __FLOG_STATIC3(KSMSStackSubSystem,(N),KLogString,(B),(C),(D)); \ + } +#define SMSFLOG5(N,A,B,C,D,E) { \ + _LIT8(KLogString, A); \ + __FLOG_STATIC4(KSMSStackSubSystem,(N),KLogString,(B),(C),(D),(E)); \ + } +#define SMSFLOG6(N,A,B,C,D,E,F) { \ + _LIT8(KLogString, A); \ + __FLOG_STATIC5(KSMSStackSubSystem,(N),KLogString,(B),(C),(D),(E),(F)); \ + } +#define SMSFLOG7(N,A,B,C,D,E,F,G) { \ + _LIT8(KLogString, A); \ + __FLOG_STATIC6(KSMSStackSubSystem,(N),KLogString,(B),(C),(D),(E),(F),(G)); \ + } +#define SMSFLOG8(N,A,B,C,D,E,F,G,H) { \ + _LIT8(KLogString, A); \ + __FLOG_STATIC7(KSMSStackSubSystem,(N),KLogString,(B),(C),(D),(E),(F),(G),(H)); \ + } + +_LIT8(KSMSStackCommon, "Common"); +_LIT8(KSMSStackGSMU, "GSMU"); +_LIT8(KSMSStackSMSPROT, "SMSPROT"); +_LIT8(KSMSStackSMSU, "SMSU"); +_LIT8(KSMSStackSMSIF, "SMSIF"); +_LIT8(KSMSStackWAPPROT, "WAPPROT"); + + +#define LOGCOMMON1(A) SMSFLOG1(KSMSStackCommon,A) +#define LOGCOMMON2(A,B) SMSFLOG2(KSMSStackCommon,A,(B)) +#define LOGCOMMON3(A,B,C) SMSFLOG3(KSMSStackCommon,A,(B),(C)) +#define LOGCOMMON4(A,B,C,D) SMSFLOG4(KSMSStackCommon,A,(B),(C),(D)) +#define LOGCOMMON5(A,B,C,D,E) SMSFLOG5(KSMSStackCommon,A,(B),(C),(D),(E)) +#define LOGCOMMON6(A,B,C,D,E,F) SMSFLOG6(KSMSStackCommon,A,(B),(C),(D),(E),(F)) +#define LOGCOMMON7(A,B,C,D,E,F,G) SMSFLOG7(KSMSStackCommon,A,(B),(C),(D),(E),(F),(G)) +#define LOGCOMMON8(A,B,C,D,E,F,G,H) SMSFLOG8(KSMSStackCommon,A,(B),(C),(D),(E),(F),(G),(H)) +#define LOGCOMMONTIMESTAMP() { \ + TTime now; \ + now.UniversalTime(); \ + TDateTime dateTime(now.DateTime()); \ + LOGCOMMON5("TimeStamp=%02d:%02d:%02d.%06d", \ + dateTime.Hour(), dateTime.Minute(), dateTime.Second(), dateTime.MicroSecond()); \ + } + +#define LOGGSMU1(A) SMSFLOG1(KSMSStackGSMU,A) +#define LOGGSMU2(A,B) SMSFLOG2(KSMSStackGSMU,A,(B)) +#define LOGGSMU3(A,B,C) SMSFLOG3(KSMSStackGSMU,A,(B),(C)) +#define LOGGSMU4(A,B,C,D) SMSFLOG4(KSMSStackGSMU,A,(B),(C),(D)) +#define LOGGSMU5(A,B,C,D,E) SMSFLOG5(KSMSStackGSMU,A,(B),(C),(D),(E)) +#define LOGGSMU6(A,B,C,D,E,F) SMSFLOG6(KSMSStackGSMU,A,(B),(C),(D),(E),(F)) +#define LOGGSMU7(A,B,C,D,E,F,G) SMSFLOG7(KSMSStackGSMU,A,(B),(C),(D),(E),(F),(G)) +#define LOGGSMU8(A,B,C,D,E,F,G,H) SMSFLOG8(KSMSStackGSMU,A,(B),(C),(D),(E),(F),(G),(H)) +#define LOGGSMUTIMESTAMP() { \ + TTime now; \ + now.UniversalTime(); \ + TDateTime dateTime(now.DateTime()); \ + LOGGSMU5("TimeStamp=%02d:%02d:%02d.%06d", \ + dateTime.Hour(), dateTime.Minute(), dateTime.Second(), dateTime.MicroSecond()); \ + } + +#define LOGSMSPROT1(A) SMSFLOG1(KSMSStackSMSPROT,A) +#define LOGSMSPROT2(A,B) SMSFLOG2(KSMSStackSMSPROT,A,(B)) +#define LOGSMSPROT3(A,B,C) SMSFLOG3(KSMSStackSMSPROT,A,(B),(C)) +#define LOGSMSPROT4(A,B,C,D) SMSFLOG4(KSMSStackSMSPROT,A,(B),(C),(D)) +#define LOGSMSPROT5(A,B,C,D,E) SMSFLOG5(KSMSStackSMSPROT,A,(B),(C),(D),(E)) +#define LOGSMSPROT6(A,B,C,D,E,F) SMSFLOG6(KSMSStackSMSPROT,A,(B),(C),(D),(E),(F)) +#define LOGSMSPROT7(A,B,C,D,E,F,G) SMSFLOG7(KSMSStackSMSPROT,A,(B),(C),(D),(E),(F),(G)) +#define LOGSMSPROT8(A,B,C,D,E,F,G,H) SMSFLOG8(KSMSStackSMSPROT,A,(B),(C),(D),(E),(F),(G),(H)) +#define LOGSMSPROTTIMESTAMP() { \ + TTime now; \ + now.UniversalTime(); \ + TDateTime dateTime(now.DateTime()); \ + LOGSMSPROT5("TimeStamp=%02d:%02d:%02d.%06d", \ + dateTime.Hour(), dateTime.Minute(), dateTime.Second(), dateTime.MicroSecond()); \ + } + +#define LOGSMSU1(A) SMSFLOG1(KSMSStackSMSU,A) +#define LOGSMSU2(A,B) SMSFLOG2(KSMSStackSMSU,A,(B)) +#define LOGSMSU3(A,B,C) SMSFLOG3(KSMSStackSMSU,A,(B),(C)) +#define LOGSMSU4(A,B,C,D) SMSFLOG4(KSMSStackSMSU,A,(B),(C),(D)) +#define LOGSMSU5(A,B,C,D,E) SMSFLOG5(KSMSStackSMSU,A,(B),(C),(D),(E)) +#define LOGSMSU6(A,B,C,D,E,F) SMSFLOG6(KSMSStackSMSU,A,(B),(C),(D),(E),(F)) +#define LOGSMSU7(A,B,C,D,E,F,G) SMSFLOG7(KSMSStackSMSU,A,(B),(C),(D),(E),(F),(G)) +#define LOGSMSU8(A,B,C,D,E,F,G,H) SMSFLOG8(KSMSStackSMSU,A,(B),(C),(D),(E),(F),(G),(H)) +#define LOGSMSUTIMESTAMP() { \ + TTime now; \ + now.UniversalTime(); \ + TDateTime dateTime(now.DateTime()); \ + LOGSMSU5("TimeStamp=%02d:%02d:%02d.%06d", \ + dateTime.Hour(), dateTime.Minute(), dateTime.Second(), dateTime.MicroSecond()); \ + } + +#define LOGSMSIF1(A) SMSFLOG1(KSMSStackSMSIF,A) +#define LOGSMSIF2(A,B) SMSFLOG2(KSMSStackSMSIF,A,(B)) +#define LOGSMSIF3(A,B,C) SMSFLOG3(KSMSStackSMSIF,A,(B),(C)) +#define LOGSMSIF4(A,B,C,D) SMSFLOG4(KSMSStackSMSIF,A,(B),(C),(D)) +#define LOGSMSIF5(A,B,C,D,E) SMSFLOG5(KSMSStackSMSIF,A,(B),(C),(D),(E)) +#define LOGSMSIF6(A,B,C,D,E,F) SMSFLOG6(KSMSStackSMSIF,A,(B),(C),(D),(E),(F)) +#define LOGSMSIF7(A,B,C,D,E,F,G) SMSFLOG7(KSMSStackSMSIF,A,(B),(C),(D),(E),(F),(G)) +#define LOGSMSIF8(A,B,C,D,E,F,G,H) SMSFLOG8(KSMSStackSMSIF,A,(B),(C),(D),(E),(F),(G),(H)) +#define LOGSMSIFTIMESTAMP() { \ + TTime now; \ + now.UniversalTime(); \ + TDateTime dateTime(now.DateTime()); \ + LOGSMSIF5("TimeStamp=%02d:%02d:%02d.%06d", \ + dateTime.Hour(), dateTime.Minute(), dateTime.Second(), dateTime.MicroSecond()); \ + } +#define LOGSMSIFPDU(A,B,C) LogSmsIfPDU((A),(B),(C)) +#define LOGSMSIFHEXBUF(A,B) LogSmsIfHexBuf((A),(B)) +#define LOGSMSIFTYPEOFNUMBER(A,B) LogSmsIfTypeOfNumber((A),(B)) +#define LOGSMSIFNUMBERINGPLAN(A,B) LogSmsIfNumberingPlan((A),(B)) +#define LOGSMSIFSMSENTRY(A,B) LogSmsIfSmsEntry((A),(B)) +#define LOGSMSIFSENDATTRIBUTES(A,B) LogSmsIfSendAttributes((A),(B)) + +#define LOGWAPPROT1(A) SMSFLOG1(KSMSStackWAPPROT,A) +#define LOGWAPPROT2(A,B) SMSFLOG2(KSMSStackWAPPROT,A,(B)) +#define LOGWAPPROT3(A,B,C) SMSFLOG3(KSMSStackWAPPROT,A,(B),(C)) +#define LOGWAPPROT4(A,B,C,D) SMSFLOG4(KSMSStackWAPPROT,A,(B),(C),(D)) +#define LOGWAPPROT5(A,B,C,D,E) SMSFLOG5(KSMSStackWAPPROT,A,(B),(C),(D),(E)) +#define LOGWAPPROT6(A,B,C,D,E,F) SMSFLOG6(KSMSStackWAPPROT,A,(B),(C),(D),(E),(F)) +#define LOGWAPPROT7(A,B,C,D,E,F,G) SMSFLOG7(KSMSStackWAPPROT,A,(B),(C),(D),(E),(F),(G)) +#define LOGWAPPROT8(A,B,C,D,E,F,G,H) SMSFLOG8(KSMSStackWAPPROT,A,(B),(C),(D),(E),(F),(G),(H)) +#define LOGWAPPROTTIMESTAMP() { \ + TTime now; \ + now.UniversalTime(); \ + TDateTime dateTime(now.DateTime()); \ + LOGWAPPROT5("TimeStamp=%02d:%02d:%02d.%06d", \ + dateTime.Hour(), dateTime.Minute(), dateTime.Second(), dateTime.MicroSecond()); \ + } + +#else // _SMS_LOGGING_ENABLED + +#define LOGCOMMON1(A) +#define LOGCOMMON2(A,B) +#define LOGCOMMON3(A,B,C) +#define LOGCOMMON4(A,B,C,D) +#define LOGCOMMON5(A,B,C,D,E) +#define LOGCOMMON6(A,B,C,D,E,F) +#define LOGCOMMON7(A,B,C,D,E,F,G) +#define LOGCOMMON8(A,B,C,D,E,F,G,H) +#define LOGCOMMONTIMESTAMP() + +#define LOGGSMU1(A) +#define LOGGSMU2(A,B) +#define LOGGSMU3(A,B,C) +#define LOGGSMU4(A,B,C,D) +#define LOGGSMU5(A,B,C,D,E) +#define LOGGSMU6(A,B,C,D,E,F) +#define LOGGSMU7(A,B,C,D,E,F,G) +#define LOGGSMU8(A,B,C,D,E,F,G,H) +#define LOGGSMUTIMESTAMP() + +#define LOGSMSPROT1(A) +#define LOGSMSPROT2(A,B) +#define LOGSMSPROT3(A,B,C) +#define LOGSMSPROT4(A,B,C,D) +#define LOGSMSPROT5(A,B,C,D,E) +#define LOGSMSPROT6(A,B,C,D,E,F) +#define LOGSMSPROT7(A,B,C,D,E,F,G) +#define LOGSMSPROT8(A,B,C,D,E,F,G,H) +#define LOGSMSPROTTIMESTAMP() + +#define LOGSMSU1(A) +#define LOGSMSU2(A,B) +#define LOGSMSU3(A,B,C) +#define LOGSMSU4(A,B,C,D) +#define LOGSMSU5(A,B,C,D,E) +#define LOGSMSU6(A,B,C,D,E,F) +#define LOGSMSU7(A,B,C,D,E,F,G) +#define LOGSMSU8(A,B,C,D,E,F,G,H) +#define LOGSMSUTIMESTAMP() + +#define LOGSMSIF1(A) +#define LOGSMSIF2(A,B) +#define LOGSMSIF3(A,B,C) +#define LOGSMSIF4(A,B,C,D) +#define LOGSMSIF5(A,B,C,D,E) +#define LOGSMSIF6(A,B,C,D,E,F) +#define LOGSMSIF7(A,B,C,D,E,F,G) +#define LOGSMSIF8(A,B,C,D,E,F,G,H) +#define LOGSMSIFTIMESTAMP() +#define LOGSMSIFPDU(A,B,C) +#define LOGSMSIFHEXBUF(A,B) +#define LOGSMSIFTYPEOFNUMBER(A,B) +#define LOGSMSIFNUMBERINGPLAN(A,B) +#define LOGSMSIFSMSENTRY(A,B) +#define LOGSMSIFSENDATTRIBUTES(A,B) + +#define LOGWAPPROT1(A) +#define LOGWAPPROT2(A,B) +#define LOGWAPPROT3(A,B,C) +#define LOGWAPPROT4(A,B,C,D) +#define LOGWAPPROT5(A,B,C,D,E) +#define LOGWAPPROT6(A,B,C,D,E,F) +#define LOGWAPPROT7(A,B,C,D,E,F,G) +#define LOGWAPPROT8(A,B,C,D,E,F,G,H) +#define LOGWAPPROTTIMESTAMP() + +#endif // _SMS_LOGGING_ENABLED + + +// +// Functions to perform specific logging where necessary. +// +#ifdef _SMS_LOGGING_ENABLED + void LogSmsIfPDU(const TDesC8& aText, const TDesC8& aPDU, TBool aCommandPdu); + void LogSmsIfHexBuf(const TDesC8& aText, const TDesC8& aHexBuf); + void LogSmsIfTypeOfNumber(const TDesC8& aText, RMobilePhone::TMobileTON aTON); + void LogSmsIfNumberingPlan(const TDesC8& aText, RMobilePhone::TMobileNPI aNPI); + void LogSmsIfSmsEntry(const TDesC8& aText, + const RMobileSmsStore::TMobileGsmSmsEntryV1& aSmsGsmEntryV1); + void LogSmsIfSendAttributes(const TDesC8& aText, + const RMobileSmsMessaging::TMobileSmsSendAttributesV1& aAttrib); +#endif + +// Define macros to disable and restore Code Coverage + +#ifndef BULLSEYE_OFF +#ifdef _BullseyeCoverage +#define BULLSEYE_OFF "BullseyeCoverage save off"; +#define BULLSEYE_RESTORE "BullseyeCoverage restore"; +#else +#define BULLSEYE_OFF +#define BULLSEYE_RESTORE +#endif +#endif + +#endif // _SMSSTACKLOG_H_