applayerprotocols/httptransportfw/inc/framework/logging.h
changeset 0 b16258d2340f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/applayerprotocols/httptransportfw/inc/framework/logging.h	Tue Feb 02 01:09:52 2010 +0200
@@ -0,0 +1,92 @@
+// Copyright (c) 2003-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:
+//
+
+/**
+ @file logging.h
+ @publishedPartner
+ @released
+*/
+
+#ifndef __LOGGING_H__
+#define __LOGGING_H__
+
+// System includes
+#include <e32std.h>
+#include <f32file.h>
+#include <flogger.h>
+
+// By default, logging will always be switched on.  Later, this may be removed, leaving it to individual
+// source files to enable logging where needed.
+#define _LOGGING
+
+#if defined (_DEBUG) && defined (_LOGGING)
+
+// HTTP Logging macros
+#define __FLOG_DECLARATION_MEMBER		RFileLogger __logger__
+#define __FLOG_DECLARATION_MEMBER2       RFileLogger __logger__;
+#define __FLOG_OPEN(subsys,compnt) if( __logger__.Connect() == KErrNone ) \
+										{ \
+										TParse p; \
+										_LIT(KLogFile, compnt); \
+										p.Set(KLogFile(), NULL, NULL); \
+										_LIT(KLogDir, subsys); \
+										__logger__.CreateLog(KLogDir(), p.NameAndExt(), EFileLoggingModeOverwrite); \
+										__logger__.SetDateAndTime(ETrue, ETrue);\
+										} 
+#define __FLOG_CLOSE					__logger__.Close()
+
+#define __FLOG_0(text)						__logger__.Write(text)
+#define __FLOG_1(text,a)					__logger__.WriteFormat(text,a)
+#define __FLOG_2(text,a,b)					__logger__.WriteFormat(text,a,b)
+#define __FLOG_3(text,a,b,c)				__logger__.WriteFormat(text,a,b,c)
+#define __FLOG_4(text,a,b,c,d)				__logger__.WriteFormat(text,a,b,c,d)
+#define __FLOG_5(text,a,b,c,d,e)			__logger__.WriteFormat(text,a,b,c,d,e)
+#define __FLOG_6(text,a,b,c,d,e,f)			__logger__.WriteFormat(text,a,b,c,d,e,f)
+#define __FLOG_7(text,a,b,c,d,e,f,g)		__logger__.WriteFormat(text,a,b,c,d,e,f,g)
+#define __FLOG_8(text,a,b,c,d,e,f,g,h)		__logger__.WriteFormat(text,a,b,c,d,e,f,g,h)
+#define __FLOG_9(text,a,b,c,d,e,f,g,h,i)	__logger__.WriteFormat(text,a,b,c,d,e,f,g,h,i)
+#define __FLOG(text)						__logger__.Write(text)
+#define __FLOG_VA(fmt, va_list)				__logger__.Write(fmt, va_list)
+#define __FLOG_HEXDUMP(data,length)			__logger__.HexDump(0,0,data,length)
+
+#define	_T8(text)							TPtrC8((const TText8 *)(text))
+
+#elif !defined (_DEBUG)
+
+// NULL macros
+#define __FLOG_DECLARATION_MEMBER		TUint8 iDummyLoggerNotUsed[sizeof(RFileLogger)]
+#define __FLOG_DECLARATION_MEMBER2            
+#define __FLOG_OPEN(subsys,compnt)		
+#define __FLOG_CLOSE
+
+#define __FLOG_0(text)						
+#define __FLOG_1(text,a)					
+#define __FLOG_2(text,a,b)					
+#define __FLOG_3(text,a,b,c)				
+#define __FLOG_4(text,a,b,c,d)				
+#define __FLOG_5(text,a,b,c,d,e)			
+#define __FLOG_6(text,a,b,c,d,e,f)			
+#define __FLOG_7(text,a,b,c,d,e,f,g)		
+#define __FLOG_8(text,a,b,c,d,e,f,g,h)		
+#define __FLOG_9(text,a,b,c,d,e,f,g,h,i)	
+#define __FLOG(text)						
+#define __FLOG_VA(fmt, va_list)				
+#define __FLOG_HEXDUMP(data,length)
+
+#define	_T8(text)
+
+#endif // !_DEBUG
+
+#endif // __LOGGING_H__