/** Copyright (c) 2007 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: Log functions used by the Camese subsystem**/#ifndef CAMESELOG_H#define CAMESELOG_H#if defined (_DEBUG)// INCLUDES#include <flogger.h>// CONSTANTS// MUST DEFINE THE FOLLOWING 2 CONSTANTS_LIT(KCameseLogFolder,"camese");_LIT(KCameseLogFile,"camese.txt");/** * Logging class * This class allows debugging messages to be logged to file or RDebug port. * @since 3.1 */NONSHARABLE_CLASS(CameseLog) { public: /** * Write to the log * @param aFmt string */ inline static void Printf1(const TDesC& aFmt); /** * Write a mulitple argument list to the log * @param aFmt format string */ inline static void Printf(TRefByValue<const TDesC> aFmt, ...); /** * Write to the log * @param aFmt string */ inline static void Printf1(const TDesC8& aFmt); /** * Write a mulitple argument list to the log * @param aFmt format string */ inline static void Printf(TRefByValue<const TDesC8> aFmt, ...); /** * Hex dump to the log * @param aFmt format string */ inline static void HexDump(const TText* aHeader, const TText* aMargin, const TUint8* aPtr, TInt aLen); };// MACROS#define CAMESE_LOG_TDES(fmt) CameseLog::Printf1(fmt)#define CAMESE_LOG(fmt) CameseLog::Printf1(_L(fmt))#define CAMESE_LOG1(fmt,v1) CameseLog::Printf(_L(fmt),v1)#define CAMESE_LOG2(fmt,v1,v2) CameseLog::Printf(_L(fmt),v1,v2)#define CAMESE_LOG3(fmt,v1,v2,v3) CameseLog::Printf(_L(fmt),v1,v2,v3)#define CAMESE_HEX_DUMP(h, m, p, l) CameseLog::HexDump(h, m, p, l)#define CAMESE_LOG8(fmt) CameseLog::Printf1(_L8(fmt))#define CAMESE_LOG8_1(fmt,v1) CameseLog::Printf(_L8(fmt),v1)#define CAMESE_LOG8_2(fmt,v1,v2) CameseLog::Printf(_L8(fmt),v1,v2)#define CAMESE_LOG8_3(fmt,v1,v2,v3) CameseLog::Printf(_L8(fmt),v1,v2,v3)/** * Descriptor Overflow Handler for logging. * @since 3.1 */NONSHARABLE_CLASS(TLogOverflowHandler) : public TDesOverflow { public: inline virtual void Overflow(TDes16 &aDes); };/** * Descriptor Overflow Handler for logging (8bit). * @since 3.1 */NONSHARABLE_CLASS(TLogOverflowHandler8) : public TDes8Overflow { public: inline virtual void Overflow(TDes8 &aDes); };#include "cameselog.inl"#else#define CAMESE_LOG_TDES(fmt)#define CAMESE_LOG(fmt)#define CAMESE_LOG1(fmt,v1)#define CAMESE_LOG2(fmt,v1,v2)#define CAMESE_LOG3(fmt,v1,v2,v3)#define CAMESE_HEX_DUMP(h, m, p, l)#define CAMESE_LOG8(fmt) #define CAMESE_LOG8_1(fmt,v1) #define CAMESE_LOG8_2(fmt,v1,v2) #define CAMESE_LOG8_3(fmt,v1,v2,v3)#endif#endif // CAMESELOG_H// End of File