networkprotocolmodules/networkpmutils/supldevlogger/inc/supldevloggermacros.h
branchRCL_3
changeset 52 29dbbeac905d
child 57 3267d9ea3e98
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkprotocolmodules/networkpmutils/supldevlogger/inc/supldevloggermacros.h	Thu Aug 19 11:17:26 2010 +0300
@@ -0,0 +1,406 @@
+// Copyright (c) 2008-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
+ @internalTechnology
+ 
+*/
+
+#ifndef SUPL_DEV_LOGGER_MACROS_H
+#define SUPL_DEV_LOGGER_MACROS_H
+
+#include "supldevlogger.h"
+
+#if defined(ENABLE_SUPL_DEV_LOGGER) && (defined(_DEBUG)||defined(__WINS__))
+/**
+ -----------------------
+ Standard Logging Macros 
+ -----------------------
+**/
+	#define SUPLLOG_BEGIN() 					SUPLLOG(ELogP9, "StartSP\n");
+	#define SUPLNEWLOG(L) 						SuplDevLogger::OverWrite(_L(L))
+	#define SUPLLOG(L1,L2) 						SuplDevLogger::Write(ELogNormal, L1, _L(L2))
+	#define SUPLLOG2(L1,L2,L3) 					SuplDevLogger::Write(ELogNormal, L1, _L(L2), L3)
+	#define SUPLLOG3(L1,L2,L3,L4) 				SuplDevLogger::Write(ELogNormal, L1, _L(L2), L3, L4)
+	#define SUPLLOG4(L1,L2,L3,L4,L5) 			SuplDevLogger::Write(ELogNormal, L1, _L(L2), L3, L4, L5)
+	#define SUPLLOG5(L1,L2,L3,L4,L5,L6) 		SuplDevLogger::Write(ELogNormal, L1, _L(L2), L3, L4, L5, L6)
+	#define SUPLLOG6(L1,L2,L3,L4,L5,L6,L7)		SuplDevLogger::Write(ELogNormal, L1, _L(L2), L3, L4, L5, L6, L7)
+	#define SUPLLOGHEX(L1,L2,L3)				SuplDevLogger::HexDump(L1,L2,L3)
+
+	#define SUPLLOG2_L8(L1,L2,L3) 				SuplDevLogger::Write(ELogNormal, L1, _L8(L2), L3)
+	#define SUPLLOG3_L8(L1,L2,L3,L4) 			SuplDevLogger::Write(ELogNormal, L1, _L8(L2), L3, L4)
+	#define SUPLLOG4_L8(L1,L2,L3,L4,L5)			SuplDevLogger::Write(ELogNormal, L1, _L8(L2), L3, L4, L5)
+	
+	#define SUPLLOG_ERR(L1,L2) 					SuplDevLogger::Write(ELogError, L1, _L(L2))
+	#define SUPLLOG_ERR2(L1,L2,L3) 				SuplDevLogger::Write(ELogError, L1, _L(L2), L3)
+	#define SUPLLOG_ERR3(L1,L2,L3,L4) 			SuplDevLogger::Write(ELogError, L1, _L(L2), L3, L4)
+	#define SUPLLOG_ERR4(L1,L2,L3,L4,L5) 		SuplDevLogger::Write(ELogError, L1, _L(L2), L3, L4, L5)
+	#define SUPLLOG_ERR5(L1,L2,L3,L4,L5,L6) 	SuplDevLogger::Write(ELogError, L1, _L(L2), L3, L4, L5, L6)
+	#define SUPLLOG_ERR6(L1,L2,L3,L4,L5,L6,L7)	SuplDevLogger::Write(ELogError, L1, _L(L2), L3, L4, L5, L6, L7)
+
+	#define SUPLLOG_WARN(L1,L2) 				SuplDevLogger::Write(ELogWarning, L1, _L(L2))
+	#define SUPLLOG_WARN2(L1,L2,L3) 			SuplDevLogger::Write(ELogWarning, L1, _L(L2), L3)
+	#define SUPLLOG_WARN3(L1,L2,L3,L4) 			SuplDevLogger::Write(ELogWarning, L1, _L(L2), L3, L4)
+	#define SUPLLOG_WARN4(L1,L2,L3,L4,L5) 		SuplDevLogger::Write(ELogWarning, L1, _L(L2), L3, L4, L5)
+	#define SUPLLOG_WARN5(L1,L2,L3,L4,L5,L6) 	SuplDevLogger::Write(ELogWarning, L1, _L(L2), L3, L4, L5, L6)
+	#define SUPLLOG_WARN6(L1,L2,L3,L4,L5,L6,L7)	SuplDevLogger::Write(ELogWarning, L1, _L(L2), L3, L4, L5, L6, L7)
+
+	//Macro for getting the processname
+	#define SUPLLOG_GETPROCESSNAME(L1,L2)		SuplDevLogger::GetMessageProcessName(L1,L2)
+	
+	//Macro for logging contents of ObjSys Data Structures (not for general use)
+	#define SUPLLOG_PDU(L1)						L1->Print()
+
+/**
+ -------------------------------------------------
+ Common logging macros (for logging large values)
+ -------------------------------------------------
+**/
+
+// Logs TLbsNetSessionId
+	#define SUPLLOG_SESSIONID(L1)	\
+		{	\
+		SUPLLOG2(ELogP9, "    - TUid iSessionOwner  = 0x%08X\n", L1.SessionOwner().iUid);	\
+		SUPLLOG2(ELogP9, "    - TUint32 iSessionNum  = %u\n", L1.SessionNum());			\
+		}
+
+/* Logs TPositionInfoBase
+ * This also logs the variables for all of the derived classes (if Applicable):
+ * 	- TPositionInfo
+ * 	- TPositionCourseInfo
+ * 	- TPositionSatelliteInfo
+ *  - TPositionGpsMeasurementInfo
+ */
+	#define SUPLLOG_TPOSITIONINFOBASE(L1)		\
+		{	\
+		/* Find out what the class type is*/	\
+		TUint32 classTypeM = L1.PositionClassType();	\
+		/* Log the TPositionInfoBase information */	\
+		SUPLLOG2(ELogP9, "    - TUint32 iPositionClassType  = 0x%08X\n", classTypeM);	\
+		SUPLLOG2(ELogP9, "    - TPositionModuleId iModuleId  = 0x%08X\n", L1.ModuleId().iUid);	\
+		SUPLLOG2(ELogP9, "    - TUint32 iUpdateType  = %u\n", L1.UpdateType());	\
+		SUPLLOG2(ELogP9, "    - TPositionModuleInfo::TTechnologyType iPositionMode  = 0x%04X\n", L1.PositionMode());	\
+		SUPLLOG2(ELogP9, "    - TPositionModeReason iPositionModeReason  = %u\n", L1.PositionModeReason());	\
+		/* Log the TPositionInfo information*/	\
+		if(classTypeM & EPositionInfoClass)	\
+			{	\
+			const TPositionInfo& posInfoM = (reinterpret_cast<const TPositionInfo&>(L1));	\
+			TPosition posM;	\
+			posInfoM.GetPosition(posM);	\
+			TTime timeM = posM.Time();	\
+			SUPLLOG5(ELogP9, "    - TTime iTime  = %02d:%02d:%02d.%06d\n", timeM.DateTime().Hour(), 	\
+																	timeM.DateTime().Minute(),	\
+																	timeM.DateTime().Second(),	\
+																	timeM.DateTime().MicroSecond());	\
+			SUPLLOG2(ELogP9, "    - TReal32 iHorizontalAccuracy  = %3.6g\n", posM.HorizontalAccuracy());	\
+			SUPLLOG2(ELogP9, "    - TReal32 iVerticalAccuracy  = %3.6g\n", posM.VerticalAccuracy());	\
+			SUPLLOG2(ELogP9, "    - TReal64 iLatitude  = %3.6g\n", posM.Latitude());	\
+			SUPLLOG2(ELogP9, "    - TReal64 iLongitude  = %3.6g\n", posM.Longitude());	\
+			SUPLLOG2(ELogP9, "    - TReal32 iAltitude  = %3.6g\n", posM.Altitude());	\
+			SUPLLOG2(ELogP8, "    - TPositionDatumId iDatum  = 0x%08X\n", posM.Datum());	\
+			}	\
+		/* Log the TPositionCourseInfo information*/	\
+		if(classTypeM & EPositionCourseInfoClass)	\
+			{	\
+			const TPositionCourseInfo& courseInfoM = (reinterpret_cast<const TPositionCourseInfo&>(L1));	\
+			TCourse courseM;	\
+			courseInfoM.GetCourse(courseM);	\
+			SUPLLOG2(ELogP8, "    - TReal32 iSpeed  = %3.6g\n", courseM.Speed());	\
+			SUPLLOG2(ELogP8, "    - TReal32 iHeading  = %3.6g\n", courseM.Heading());	\
+			SUPLLOG2(ELogP8, "    - TReal32 iSpeedAccuracy  = %3.6g\n", courseM.SpeedAccuracy());	\
+			SUPLLOG2(ELogP8, "    - TReal32 iHeadingAccuracy  = %3.6g\n", courseM.HeadingAccuracy());	\
+			}	\
+		/* Log the TPositionSatelliteInfo information*/	\
+		if(classTypeM & EPositionSatelliteInfoClass)	\
+			{	\
+			const TPositionSatelliteInfo& satInfoM = (reinterpret_cast<const TPositionSatelliteInfo&>(L1));	\
+			TInt numSatInViewM = satInfoM.NumSatellitesInView();	\
+			SUPLLOG2(ELogP8, "    - TUint iNumSatellitesInView  = %u\n", numSatInViewM);	\
+			SUPLLOG2(ELogP8, "    - TUint iNumSatellitesUsed  = %u\n", satInfoM.NumSatellitesUsed());	\
+			SUPLLOG2(ELogP8, "    - TReal32 iHorizontalDoPValue  = %3.6g\n", satInfoM.HorizontalDoP());	\
+			SUPLLOG2(ELogP8, "    - TReal32 iVerticalDoPValue  = %3.6g\n", satInfoM.VerticalDoP());	\
+			SUPLLOG2(ELogP8, "    - TReal32 iTimeDoPValue  = %3.6g\n", satInfoM.TimeDoP());	\
+			for(TInt satNumM=0; ((satNumM < numSatInViewM) && (satNumM < KPositionMaxSatellitesInView)); ++satNumM)	\
+				{	\
+				TSatelliteData satDataM;	\
+				satInfoM.GetSatelliteData(satNumM, satDataM);	\
+				SUPLLOG2(ELogP8, "    - TSatelliteData iSatellitesInView[%d]  =\n", satNumM);	\
+				SUPLLOG2(ELogP8, "      - TInt iSatelliteId  = %d\n", satDataM.SatelliteId());	\
+				SUPLLOG2(ELogP8, "      - TReal32 iAzimuth  = %3.6g\n", satDataM.Azimuth());	\
+				SUPLLOG2(ELogP8, "      - TReal32 iElevation  = %3.6g\n", satDataM.Elevation());	\
+				SUPLLOG2(ELogP8, "      - TBool iIsUsed  = %d\n", satDataM.IsUsed());	\
+				SUPLLOG2(ELogP8, "      - TInt iSignalStrength  = %d\n", satDataM.SignalStrength());	\
+				}	\
+			}	\
+		/* Log the TPositionGpsMeasurementInfo*/	\
+		if(classTypeM & EPositionGpsMeasurementInfoClass)	\
+			{	\
+			const TPositionGpsMeasurementInfo& gpsInfoM = (reinterpret_cast<const TPositionGpsMeasurementInfo&>(L1));	\
+			TInt numMeasurementsM = gpsInfoM.NumMeasurements();	\
+			SUPLLOG2(ELogP8, "    - TInt iGpsTimeOfWeek  = %d\n", gpsInfoM.GpsTimeOfWeek());	\
+			SUPLLOG2(ELogP8, "    - TUint iNumMeasurements  = %d\n", numMeasurementsM);	\
+			for(TInt gpsNumM=0; ((gpsNumM < numMeasurementsM) && (gpsNumM < KPositionGpsMaxMeasurements)); ++gpsNumM)	\
+				{	\
+				TPositionGpsMeasurementData tempGpsDataM;	\
+				gpsInfoM.GetMeasurementData(gpsNumM, tempGpsDataM);	\
+				SUPLLOG2(ELogP8, "    - TPositionGpsMeasurementData iMeasurementData[%d]  = \n", gpsNumM);	\
+				SUPLLOG2(ELogP8, "      - TInt iSatelliteId  = %d\n", tempGpsDataM.SatelliteId());	\
+				SUPLLOG2(ELogP8, "      - TInt iCarrierNoiseRatio  = %d\n", tempGpsDataM.CarrierNoiseRatio());	\
+				SUPLLOG2(ELogP8, "      - TInt iDoppler  = %d\n", tempGpsDataM.Doppler());	\
+				SUPLLOG2(ELogP8, "      - TInt iWholeGpsChips  = %d\n", tempGpsDataM.WholeGpsChips());	\
+				SUPLLOG2(ELogP8, "      - TInt iFractionalGpsChips  = %d\n", tempGpsDataM.FractionalGpsChips());	\
+				SUPLLOG2(ELogP8, "      - TMultiPathIndicator iMultiPathIndicator  = %d\n", tempGpsDataM.MultiPathIndicator());	\
+				SUPLLOG2(ELogP8, "      - TUint iPseudoRangeRmsError  = %u\n", tempGpsDataM.PseudoRangeRmsError());	\
+				}	\
+			}	\
+		}
+
+// Logs TPositionQuality
+	#define SUPLLOG_TPOSITIONQUALITY(L1)	\
+		{	\
+		SUPLLOG2(ELogP9, "    - TReal32 iHorizontalAccuracy  = %3.6g\n", L1.HorizontalAccuracy());	\
+		SUPLLOG2(ELogP9, "    - TReal32 iVerticalAccuracy  = %3.6g\n", L1.VerticalAccuracy());	\
+		SUPLLOG2(ELogP9, "    - TTimeIntervalMicroSeconds iTimeToFirstFix  = %ld\n", L1.TimeToFirstFix().Int64());	\
+		SUPLLOG2(ELogP9, "    - TTimeIntervalMicroSeconds iTimeToNextFix  = %ld\n", L1.TimeToNextFix().Int64());	\
+		SUPLLOG2(ELogP9, "    - TCostIndicator iCostIndicator  = %d\n", L1.CostIndicator());	\
+		SUPLLOG2(ELogP9, "    - TPowerConsumption iPowerConsumption  = %d\n", L1.PowerConsumption());	\
+		}
+
+// Logs TPositionModuleInfo
+	#define SUPLLOG_TPOSITIONMODULE(L1)	\
+		{	\
+		if(L1.PositionClassType() & EPositionModuleInfoClass)	\
+			{	\
+			const TPositionModuleInfo& positionInfoM = (reinterpret_cast<const TPositionModuleInfo&>(L1));	\
+			SUPLLOG2(ELogP9, "    - TPositionModuleId iModuleId  = 0x%08X\n", positionInfoM.ModuleId().iUid);	\
+			SUPLLOG2(ELogP9, "    - TBool iIsAvailable  = %d\n", positionInfoM.IsAvailable());	\
+			TBuf<KPositionMaxModuleName> tempModuleNameM;	\
+			positionInfoM.GetModuleName(tempModuleNameM);	\
+			SUPLLOG2(ELogP9, "    - TBuf iModuleName  = %S\n", &tempModuleNameM);	\
+			TPositionQuality tempPositionQualityM;	\
+			positionInfoM.GetPositionQuality(tempPositionQualityM);	\
+			SUPLLOG_TPOSITIONQUALITY(tempPositionQualityM);	\
+			SUPLLOG2(ELogP9, "    - TTechnologyType iTechnologyType  = %x02X\n", positionInfoM.TechnologyType());	\
+			SUPLLOG2(ELogP9, "    - TDeviceLocation iDeviceLocation  = %x02X\n", positionInfoM.DeviceLocation());	\
+			SUPLLOG2(ELogP9, "    - TCapabilities iCapabilities  = %x04X\n", positionInfoM.Capabilities());	\
+			SUPLLOG4(ELogP9, "    - TVersion iVersion  = (%d %d %d)\n", positionInfoM.Version().iMajor,	\
+																	positionInfoM.Version().iMinor,	\
+																	positionInfoM.Version().iBuild);\
+			}	\
+		}
+
+// Logs TLbsExternalRequestInfo
+	#define SUPLLOG_TLBSEXTERNALREQ(L1)	\
+		{	\
+		/* Find out what the class type is*/	\
+		TUint32 classTypeM = L1.ClassType();	\
+		/* Output shared info */	\
+		SUPLLOG2(ELogP9, "    - TNetworkType iNetworkType  = %x02X\n", L1.NetworkType());	\
+		SUPLLOG2(ELogP9, "    - TRequestType iRequestType  = %x02X\n", L1.RequestType());	\
+		SUPLLOG2(ELogP9, "    - TFormatIndicator iRequesterIdFormat  = %x02X\n", L1.RequesterIdFormat());	\
+		SUPLLOG2(ELogP9, "    - TFormatIndicator iClientNameFormat  = %x02X\n", L1.ClientNameFormat());	\
+		TBuf8<KLbsMaxClientExternalIdSize> externalSizeM;	\
+		L1.GetClientExternalId(externalSizeM);	\
+		SUPLLOG2_L8(ELogP9, "    - TLbsClientExternalId iClientExternalId  = %S", &externalSizeM);	\
+		/* Output type specific info */	\
+		if (classTypeM == EExternalRequestInfoClass)	\
+			{	\
+			const TLbsExternalRequestInfo& info = reinterpret_cast<const TLbsExternalRequestInfo&>(L1);	\
+			TBuf8<KLbsMaxRequesterIdSize> requesterIdM;	\
+			info.GetRequesterId(requesterIdM);	\
+	 		TBuf8<KLbsMaxClientNameSize> clientNameM;	\
+			info.GetClientName(clientNameM);	\
+			SUPLLOG2_L8(ELogP9, "    - TLbsRequesterId iRequesterId  = %S", &requesterIdM);	\
+			SUPLLOG2_L8(ELogP9, "    - TLbsClientName iClientName  = %S", &clientNameM);	\
+			SUPLLOG2(ELogP9, "    - TFormatIndicator iRequesterIdCodingScheme  = %x02X\n", info.RequesterIdCodingScheme());	\
+			SUPLLOG2(ELogP9, "    - TFormatIndicator iClientNameCodingScheme  = %x02X\n", info.ClientNameCodingScheme());	\
+			}	\
+		else if (classTypeM == (EExternalRequestInfoClass | EExternalRequestInfoClass2))	\
+			{	\
+			const TLbsExternalRequestInfo2& info = reinterpret_cast<const TLbsExternalRequestInfo2&>(L1);	\
+			TBuf16<KLbsMaxRequesterIdSize2> requesterIdM;	\
+			info.GetRequesterId(requesterIdM);	\
+	 		TBuf16<KLbsMaxClientNameSize2> clientNameM;	\
+			info.GetClientName(clientNameM);	\
+			SUPLLOG2(ELogP9, "    - TLbsRequesterId iRequesterId  = %S", &requesterIdM);	\
+			SUPLLOG2(ELogP9, "    - TLbsClientName iClientName  = %S", &clientNameM);	\
+			}	\
+		}
+
+// Logs TLbsNetPosRequestOptionsAssistance
+	#define SUPLLOG_REQUESTOPTIONSASSISTANCE(L1)	\
+		{	\
+		SUPLLOG2(ELogP9, "    - TLbsAsistanceDataGroup iDataRequestMask  = 0x%08X\n", L1.DataRequestMask());	\
+		SUPLLOG2(ELogP9, "    - TPositionModuleInfo::TTechnologyType iPosMode  = 0x%04X\n", L1.PosMode());	\
+		}
+
+// Logs TLbsNetPosRequestPrivacy
+	#define SUPLLOG_POSREQUESTPRIVACY(L1)	\
+		{	\
+		SUPLLOG2(ELogP9, "    - TLbsRequestAction iAction  = %d", L1.RequestAction());	\
+		SUPLLOG2(ELogP9, "    - TLbsRequestAdvice iAdvice  = %d", L1.RequestAdvice());	\
+		}
+
+// Logs TLbsNetPosRequestQuality
+	#define SUPLLOG_POSREQUESTQUALITY(L1)	\
+		{	\
+		SUPLLOG2(ELogP9, "    - TReal32 iMinHorizontalAccuracy  = %3.6g\n", L1.MinHorizontalAccuracy());	\
+		SUPLLOG2(ELogP9, "    - TReal32 iMinVerticalAccuracy  = %3.6g\n", L1.MinVerticalAccuracy());	\
+		SUPLLOG2(ELogP9, "    - TTimeIntervalMicroSeconds iMaxFixTime  = %ld\n", L1.MaxFixTime().Int64());	\
+		SUPLLOG2(ELogP9, "    - TTimeIntervalMicroSeconds iMaxFixAge  = %ld\n", L1.MaxFixAge().Int64());	\
+		}
+
+// Logs TLbsNetPosRequestOptions
+	#define SUPLLOG_POSREQUESTOPTIONS(L1) \
+		{	\
+		SUPLLOG2(ELogP9, "    - TBool iNewClient  = %d\n", L1.NewClientConnected());	\
+		TLbsNetPosRequestQuality qualityM;	\
+		L1.GetRequestQuality(qualityM);	\
+		SUPLLOG_POSREQUESTQUALITY(qualityM);	\
+		}
+
+// Logs TPositionUpdateOptionsBase
+	#define SUPLLOG_POSITIONOPTIONBASE(L1)	\
+		{	\
+		SUPLLOG2(ELogP9, "    - TTimeIntervalMicroSeconds iUpdateInterval  = %ld\n", L1.UpdateInterval().Int64());	\
+		SUPLLOG2(ELogP9, "    - TTimeIntervalMicroSeconds iUpdateTimeOut  = %ld\n", L1.UpdateTimeOut().Int64());	\
+		SUPLLOG2(ELogP9, "    - TTimeIntervalMicroSeconds iMaxUpdateAge    = %ld\n", L1.MaxUpdateAge().Int64());	\
+		}
+
+// Logs TPositionCriteriaBase
+	#define SUPLLOG_POSITIONCRITERIABASE(L1)	\
+		{	\
+		SUPLLOG2(ELogP9, "    - TPositionModuleInfo::TCapabilities iRequiredCaps  = 0x%04X\n", L1.RequiredCapabilities());	\
+		TPositionQuality tempPositionQualityM;	\
+		L1.GetRequiredQuality(tempPositionQualityM);	\
+		SUPLLOG_TPOSITIONQUALITY(tempPositionQualityM);	\
+		}
+
+// Logs TPositionModuleStatusBase
+	#define SUPLLOG_POSMODULESTATUS(L1)	\
+		{	\
+		if(L1.PositionClassType() & EPositionModuleStatusClass)	\
+			{	\
+			const TPositionModuleStatus& positionStatusM = (reinterpret_cast<const TPositionModuleStatus&>(L1));	\
+			SUPLLOG2(ELogP9, "    - TDeviceStatus iDeviceStatus  = %d\n", positionStatusM.DeviceStatus());	\
+			SUPLLOG2(ELogP9, "    - TDataQualityStatus iDataQualityStatus  = %d\n", positionStatusM.DataQualityStatus());	\
+			}	\
+		}
+
+// Logs TPositionModuleStatusEventBase
+	#define SUPLLOG_POSMODULESTATUSEVENT(L1)	\
+		{	\
+		SUPLLOG2(ELogP9, "    - TModuleEvent iRequestedEvents  = %u\n", L1.RequestedEvents());	\
+		SUPLLOG2(ELogP9, "    - TModuleEvent iOccurredEvents  = %u\n", L1.OccurredEvents());	\
+		SUPLLOG2(ELogP9, "    - TSystemModuleEvent iSystemModuleEvent  = %u\n", L1.SystemModuleEvent());	\
+		SUPLLOG2(ELogP9, "    - TPositionModuleId  iModuleId  = 0x%08X\n", L1.ModuleId().iUid);	\
+		}
+
+// Logs TLbsNetPosRequestMethod
+	#define SUPLLOG_POSREQUESTMETHOD(L1)	\
+		{	\
+		TInt numPosMethodsM = L1.NumPosMethods();	\
+		SUPLLOG2(ELogP9, "    - TInt iNumPosMethods  = %d\n", numPosMethodsM);	\
+		TLbsNetPosMethod posMethodM;	\
+		for(TInt posNumM=0; ((posNumM < numPosMethodsM) && ( posNumM < KLbsMaxNetPosMethods)); ++posNumM)	\
+			{	\
+			SUPLLOG2(ELogP9, "    - TLbsNetPosMethod posMethod[%d]\n", posNumM);	\
+			if((L1.GetPosMethod(posNumM, posMethodM)))	\
+				{	\
+				SUPLLOG2(ELogP9, "      - TUid iPosMeans  = 0x%08X\n", posMethodM.PosMeans());	\
+				SUPLLOG2(ELogP9, "      - TPositionModuleInfo::TTechnologyType iPosMode  = %d\n", posMethodM.PosMode());	\
+				}	\
+			}	\
+		}
+
+// Logs TLbsGpsOptions
+	#define SUPLLOG_TLBSGPSOPTIONS(L1)	\
+		{	\
+		SUPLLOG2(ELogP9, "    - CLbsAdmin::TGpsMode iGpsMode  = 0x%02X\n", L1.GpsMode());	\
+		if (L1.ClassType() & ELbsGpsOptionsArrayClass)	\
+			{	\
+			const TLbsGpsOptionsArray& optionsArrayM = (reinterpret_cast<const TLbsGpsOptionsArray&>(L1));	\
+			TInt numOptionsM = optionsArrayM.NumOptionItems();	\
+			SUPLLOG2(ELogP9, "    - TUint iNumItems  = %u\n", numOptionsM);	\
+			for(TInt optionsNumM=0; ((optionsNumM < numOptionsM) && (optionsNumM < KLbsMaxGpsOptions)); ++optionsNumM)	\
+				{	\
+				TLbsGpsOptionsItem tempOptionsM;	\
+				optionsArrayM.GetOptionItem(optionsNumM, tempOptionsM);	\
+				SUPLLOG2(ELogP9, "    - TLbsGpsOptionsItem iOptions[%d]  =\n", optionsNumM);	\
+				SUPLLOG2(ELogP9, "      - TPosUpdateType iPosUpdateType  = %d", tempOptionsM.PosUpdateType());	\
+				}	\
+			}	\
+		}
+
+#else
+/**
+ Standard Logging Macros 
+**/
+	#define SUPLLOG_BEGIN()
+	#define SUPLNEWLOG(L)
+	#define SUPLLOG(L1,L2)
+	#define SUPLLOG2(L1,L2,L3)
+	#define SUPLLOG3(L1,L2,L3,L4)
+	#define SUPLLOG4(L1,L2,L3,L4,L5)
+	#define SUPLLOG5(L1,L2,L3,L4,L5,L6)
+	#define SUPLLOG6(L1,L2,L3,L4,L5,L6,L7)
+	#define SUPLLOGHEX(L1,L2,L3)
+
+	#define SUPLLOG2_L8(L1,L2,L3)
+	#define SUPLLOG3_L8(L1,L2,L3,L4)
+	#define SUPLLOG4_L8(L1,L2,L3,L4,L5)
+	
+	#define SUPLLOG_ERR(L1,L2)
+	#define SUPLLOG_ERR2(L1,L2,L3)
+	#define SUPLLOG_ERR3(L1,L2,L3,L4)
+	#define SUPLLOG_ERR4(L1,L2,L3,L4,L5)
+	#define SUPLLOG_ERR5(L1,L2,L3,L4,L5,L6)
+	#define SUPLLOG_ERR6(L1,L2,L3,L4,L5,L6,L7)
+
+	#define SUPLLOG_WARN(L1,L2)
+	#define SUPLLOG_WARN2(L1,L2,L3)
+	#define SUPLLOG_WARN3(L1,L2,L3,L4)
+	#define SUPLLOG_WARN4(L1,L2,L3,L4,L5)
+	#define SUPLLOG_WARN5(L1,L2,L3,L4,L5,L6)
+	#define SUPLLOG_WARN6(L1,L2,L3,L4,L5,L6,L7)
+
+/**
+ Common logging macros (for logging large values)
+**/
+	#define SUPLLOG_SESSIONID(L1)
+	#define SUPLLOG_TPOSITIONINFOBASE(L1)
+	#define SUPLLOG_TPOSITIONQUALITY(L1)
+	#define SUPLLOG_TPOSITIONMODULE(L1)
+	#define SUPLLOG_TLBSEXTERNALREQ(L1)
+	#define SUPLLOG_REQUESTOPTIONSASSISTANCE(L1)
+	#define SUPLLOG_POSREQUESTPRIVACY(L1)
+	#define SUPLLOG_POSREQUESTQUALITY(L1)
+	#define SUPLLOG_POSREQUESTOPTIONS(L1)
+	#define SUPLLOG_POSITIONOPTIONBASE(L1)
+	#define SUPLLOG_POSITIONCRITERIABASE(L1)
+	#define SUPLLOG_POSMODULESTATUS(L1)
+	#define SUPLLOG_POSMODULESTATUSEVENT(L1)
+	#define SUPLLOG_POSREQUESTMETHOD(L1)
+	#define SUPLLOG_TLBSGPSOPTIONS(L1)
+
+	#define SUPLLOG_GETPROCESSNAME(L1,L2)
+	
+	#define SUPLLOG_PDU(L1)
+
+#endif // ENABLE_SUPL_DEV_LOGGER
+
+#endif //SUPL_DEV_LOGGER_MACROS_H
+