diff -r 000000000000 -r dfb7c4ff071f datacommsserver/esockserver/inc/es_connectionservparameterbundletrace.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/datacommsserver/esockserver/inc/es_connectionservparameterbundletrace.h Thu Dec 17 09:22:25 2009 +0200 @@ -0,0 +1,121 @@ +// Copyright (c) 2006-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: +// This is a debug-only trace library for ConnectionServParameterBundle. +// To avoid symbol export issues it doesn't rely on any exported symbols. +// So its implementation (es_connectionservparameterbundletraceimpl.h) +// must be brought in *once* into each DLL / EXE it is to be used in. +// This small debug-only code duplication cost is less of a problem than trying +// to manage udeb-only exports, by having debug variables hanging around +// in urel binaries +// +// + +/** + @file + @publishedPartner + @released +*/ + +#ifndef ES_CONNECTIONSERVPARAMETERBUNDLETRACE +#define ES_CONNECTIONSERVPARAMETERBUNDLETRACE + +#include +#include + + + +// Macro definitions for each of the logging systems in turn. +// 1. binary logging. For high performance instrumentation only- +// on by default in UDEB, but +// should be turn-on-able in UREL without killing performance. +// i.e. not for formatted strings! +#ifdef SYMBIAN_TRACE_ENABLE + +_LIT8(KCoreTMgrSubTag, "coretiermgr"); +#define _TIER_LOG_SVG(src,dest,fn) \ + NM_LOG_START_BLOCK(KCoreTMgrSubTag, _L8("TierLogSvg")); \ + NM_LOG((KCoreTMgrSubTag, _L8(fn))); \ + NM_LOG_NODE_EXT(KCoreTMgrSubTag, src, _L8("Src: ")); \ + NM_LOG_NODE_EXT(KCoreTMgrSubTag, dest, _L8("Dest: ")); \ + NM_LOG_END_BLOCK(KCoreTMgrSubTag, _L8("TierLogSvg")); + +#else // SYMBIAN_TRACE_ENABLE + +#define _TIER_LOG_SVG(src,dest,fn) + +#endif SYMBIAN_TRACE_ENABLE + + +// 2. rich logging with CommsDebugUtility- generally only +// enabled in UDEB and full of formatted strings etc. +#ifdef __CFLOG_ACTIVE + +#define KTierTag KESockTierTag + +#ifndef SYMBIAN_TRACE_ENABLE +_LIT8(KCoreTMgrSubTag, "coretiermgr"); +#endif +#define _TIER_LOG_PSC(text,paramset) {ParameterBundleTrace::ParamSetCtrToLog(KTierTag, KCoreTMgrSubTag,text,paramset);} + +#define _TIER_LOG(x) LOG(ESockLogExternal::Printf(KTierTag, KCoreTMgrSubTag, x)); +#define _TIER_LOG_2(x,y) LOG(ESockLogExternal::Printf(KTierTag, KCoreTMgrSubTag, x,y)); +#define _TIER_LOG_3(x,y,z) LOG(ESockLogExternal::Printf(KTierTag, KCoreTMgrSubTag, x,y,z)); +#define _TIER_LOG_4(x,y,z,a1) LOG(ESockLogExternal::Printf(KTierTag, KCoreTMgrSubTag, x,y,z,a1)); +#define _TIER_LOG_5(x,y,z,a1,a2) LOG(ESockLogExternal::Printf(KTierTag, KCoreTMgrSubTag, x,y,z,a1,a2)); + + +#define _TIER_LOG_BUNDLE(text,paramset) {ParameterBundleTrace::BundleToLog(KTierTag, KCoreTMgrSubTag,text,paramset);} + + +_LIT8(KConnServSubTag, "connserv"); +#define _LOG_BUNDLE(text,bundle) {ParameterBundleTrace::BundleToLog(KTierTag,KConnServSubTag,text,bundle);} + + + +namespace ParameterBundleTrace +{ +void BundleToString(const CParameterBundleBase* aBundle,TDes8& aBuf); +void BundleToLog(const TDesC8& aSubsystem, const TDesC8& aComponent, char* aText, const CParameterBundleBase* aBundle); + +void ParamSetCtrToString(const CParameterSetContainer* aCtnr,TDes8& aBuf); +void ParamSetCtrToLog(const TDesC8& aSubsystem, const TDesC8& aComponent, char* aText, const CParameterSetContainer* aCtnr); + +// Deprecated methods for appending a string representation of parameter sets to a buffer. Use aSet->AppendPrintableTo() instead +void GenericParamsToString(const XParameterSet* aSet,TDes8& aBuf); +void GenericQueryToString(const XParameterSet* aSet,TDes8& aBuf); +void CacheParamsToString(const XParameterSet* aSet,TDes8& aBuf); +void CoreCollectorSharedParametersToString(const XParameterSet* aSet,TDes8& aBuf); +void IpProtoParamsToString(const XParameterSet* aSet,TDes8& aBuf); +void WifiParamsToString(const XParameterSet* aSet,TDes8& aBuf); +} + +#else // __CFLOG_ACTIVE + +#define _TIER_LOG_PSC(output,pset) +#define _TIER_LOG(x) +#define _TIER_LOG_2(x,y) +#define _TIER_LOG_3(x,y,z) +#define _TIER_LOG_4(x,y,z,a1) +#define _TIER_LOG_5(x,y,z,a1,a2) +#define _TIER_LOG_BUNDLE(text,bundle) + +#define _LOG_BUNDLE(text,bundle) + +#endif +// __CFLOG_ACTIVE + + +#endif +// ES_CONNECTIONSERVPARAMETERBUNDLETRACE +