kernel/eka/include/drivers/resourcecontrol_trace.h
changeset 247 d8d70de2bd36
parent 31 56f325a607ea
child 257 3e88ff8f41d5
--- a/kernel/eka/include/drivers/resourcecontrol_trace.h	Tue Jul 06 15:50:07 2010 +0300
+++ b/kernel/eka/include/drivers/resourcecontrol_trace.h	Wed Aug 18 11:08:29 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
 // All rights reserved.
 // This component and the accompanying materials are made available
 // under the terms of the License "Eclipse Public License v1.0"
@@ -26,16 +26,6 @@
 #define __RESOURCECONTROL_TRACE_H__
 #ifdef BTRACE_RESOURCE_MANAGER
 
-//Function to format the output.
-static void TraceFormatPrint(TDes8& aBuf, const char* aFmt, ...)
-	{
-	if(aBuf.MaxLength() == 0)
-		return;
-	VA_LIST list;
-	VA_START(list,aFmt);
-	Kern::AppendFormat(aBuf,aFmt,list);
-	}
-
 //definition of subcategories.
 #define PRM_REGISTER_RESOURCE BTrace::ERegisterResource
 #define PRM_REGISTER_CLIENT BTrace::ERegisterClient
@@ -66,13 +56,27 @@
 #define PRM_REGISTER_RESOURCE_DEPENDENCY BTrace::ERegisterResourceDependency
 #define PRM_DEREGISTER_RESOURCE_DEPENDENCY BTrace::EDeRegisterResourceDependency
 #endif
+
+#define APPEND_VAL(val)                                                                        \
+    {                                                                                               \
+    printBuf.Append((TUint8 *)&(val), sizeof(val));                                                       \
+    }                                                                                           
+#define APPEND_STRING(des_ptr)                                                                           \
+    {                                                                                               \
+	TUint length = (des_ptr)->Length();                                                              \
+	printBuf.Append((TUint8 *)&length, sizeof(TUint));                                                     \
+	printBuf.Append(*(des_ptr));                                                                       \
+    }
+
 //Macro to output resource information
 #define PRM_REGISTER_RESOURCE_TRACE																	\
 	{																								\
     TBuf8<80> printBuf;																				\
     printBuf.Zero();													                            \
-    TraceFormatPrint(printBuf, "%S %d %d %d", pR->iName, pResInfo->iMinLevel, pResInfo->iMaxLevel,	\
-																		 pResInfo->iDefaultLevel);	\
+    APPEND_VAL(pResInfo->iMinLevel);                                                       \
+    APPEND_VAL(pResInfo->iMaxLevel);                                                       \
+    APPEND_VAL(pResInfo->iDefaultLevel);                                                   \
+    APPEND_STRING(pR->iName);                                                                     \
 	BTraceContextN(BTrace::EResourceManager, PRM_REGISTER_RESOURCE, resCount+1, pR, printBuf.Ptr(), \
 	                                                                     printBuf.Length());		\
 	}
@@ -80,15 +84,21 @@
 //Macro to output client details. Used during client registration
 #define PRM_CLIENT_REGISTER_TRACE			                                                        \
 	{									                                                            \
+    TBuf8<80> printBuf;                                                                             \
+    printBuf.Zero();                                                                                \
+    APPEND_STRING(pC->iName);                                                                       \
 	BTraceContextN(BTrace::EResourceManager, PRM_REGISTER_CLIENT, aClientId, (TUint)pC,				\
-                                                pC->iName->Ptr(), pC->iName->Length());             \
+                                                printBuf.Ptr(), printBuf.Length());             \
 	}
 
 //Used during client deregistration
 #define PRM_CLIENT_DEREGISTER_TRACE																	\
 	{																								\
+    TBuf8<80> printBuf;                                                                             \
+    printBuf.Zero();                                                                                \
+    APPEND_STRING(pC->iName);                                                                       \
 	BTraceContextN(BTrace::EResourceManager, PRM_DEREGISTER_CLIENT, aClientId,						\
-                          (TUint)pC, pC->iName->Ptr(), pC->iName->Length());						\
+                          (TUint)pC, printBuf.Ptr(), printBuf.Length());						    \
 	}
 
 //Used to resource state change operation.Used at the start of the operation. 
@@ -96,7 +106,9 @@
 	{																								\
     TBuf8<80> printBuf;																				\
 	printBuf.Zero();																				\
-    TraceFormatPrint(printBuf, "%S %S %d", pC->iName, pR->iName, aNewState);						\
+	APPEND_VAL(aNewState);                                                                          \
+	APPEND_STRING(pC->iName);                                                                     \
+	APPEND_STRING(pR->iName);                                                                     \
 	BTraceContextN(BTrace::EResourceManager, PRM_CLIENT_STATE_CHANGE_START, pC->iClientId,			\
 	                                      aResourceId, printBuf.Ptr(), printBuf.Length());			\
 	}
@@ -106,7 +118,10 @@
 	{																								\
 	TBuf8<80> printBuf;																				\
 	printBuf.Zero();																				\
-	TraceFormatPrint(printBuf, "%S %S %d %d", pC->iName, pR->iName, r, aNewState);					\
+	APPEND_VAL(r);                                                                                  \
+	APPEND_VAL(aNewState);                                                                          \
+	APPEND_STRING(pC->iName);                                                                  \
+	APPEND_STRING(pR->iName);                                                                  \
 	BTraceContextN(BTrace::EResourceManager, PRM_CLIENT_STATE_CHANGE_END, pC->iClientId,			\
 						                 aResourceId, printBuf.Ptr(), printBuf.Length());			\
 	}
@@ -142,8 +157,6 @@
 //Calling TraceFormatPrint just to avoid warning
 #define PRM_CALLBACK_COMPLETION_TRACE																\
 	{																								\
-	TPtr8 zeroDes(NULL, 0);																		\
-	TraceFormatPrint(zeroDes, "%d", pCb->iClientId);												\
 	BTraceContext8(BTrace::EResourceManager, PRM_CALLBACK_COMPLETE, pCb->iClientId,					\
                                                                  pCb->iResourceId);					\
 	}
@@ -156,9 +169,9 @@
 
 #define PRM_PSL_RESOURCE_GET_STATE_START_TRACE														\
 	{																								\
-	TBuf8<80> printBuf;																				\
-	printBuf.Zero();																				\
-	TraceFormatPrint(printBuf, "%S ", iName);														\
+    TBuf8<80> printBuf;                                                                             \
+    printBuf.Zero();                                                                                \
+    APPEND_STRING(iName);                                                                           \
 	BTraceContextN(BTrace::EResourceManager, PRM_PSL_RESOURCE_GET_STATE_START, aRequest.ClientId(), \
 										 aRequest.ResourceId(), printBuf.Ptr(), printBuf.Length());	\
 	}
@@ -168,7 +181,8 @@
 	{																								\
 	TBuf8<80> printBuf;																				\
 	printBuf.Zero();																				\
-    TraceFormatPrint(printBuf, "%S %S", pC->iName, pR->iName);										\
+	APPEND_STRING(pC->iName);                                                                     \
+	APPEND_STRING(pR->iName);                                                                  \
 	BTraceContextN(BTrace::EResourceManager, PRM_CLIENT_GET_STATE_START, pC->iClientId, aResourceId,\
 												                 printBuf.Ptr(), printBuf.Length());\
 	}
@@ -177,7 +191,9 @@
 	{																								\
 	TBuf8<80> printBuf;																				\
 	printBuf.Zero();																				\
-	TraceFormatPrint(printBuf, "%S %d %d", iName, iCurLevel,retVal);								\
+	APPEND_VAL(iCurLevel);                                                                          \
+	APPEND_VAL(retVal);                                                                             \
+	APPEND_STRING(iName);                                                                      \
 	BTraceContextN(BTrace::EResourceManager, PRM_PSL_RESOURCE_GET_STATE_END, aRequest.ClientId(),	\
 										aRequest.ResourceId(), printBuf.Ptr(), printBuf.Length());	\
 	}
@@ -187,7 +203,10 @@
 	{																								\
 	TBuf8<80> printBuf;																				\
 	printBuf.Zero();																				\
-	TraceFormatPrint(printBuf, "%S %S %d %d", pC->iName, pR->iName, aState, r);						\
+	APPEND_VAL(aState);                                                                             \
+	APPEND_VAL(r);                                                                                  \
+	APPEND_STRING(pC->iName);                                                                  \
+	APPEND_STRING(pR->iName);                                                                  \
 	BTraceContextN(BTrace::EResourceManager, PRM_CLIENT_GET_STATE_END, pC->iClientId, aResourceId,	\
 																 printBuf.Ptr(), printBuf.Length());\
 	}
@@ -197,7 +216,9 @@
 	{																								\
 	TBuf8<80> printBuf;																				\
 	printBuf.Zero();																				\
-	TraceFormatPrint(printBuf, "%S %S %d", pC->iName, pR->iName, r);								\
+	APPEND_VAL(r);                                                                                  \
+	APPEND_STRING(pC->iName);                                                                  \
+	APPEND_STRING(pR->iName);                                                                  \
 	BTraceContextN(BTrace::EResourceManager, PRM_CANCEL_LONG_LATENCY_OPERATION, pC->iClientId,		\
 										      aResourceId, printBuf.Ptr(), printBuf.Length());		\
 	}
@@ -206,7 +227,10 @@
 	{																									\
 	TBuf8<80> printBuf;																					\
 	printBuf.Zero();																					\
-	TraceFormatPrint(printBuf, "%S %d %d", iName, iCurLevel, aRequest.Level());							\
+	APPEND_VAL(iCurLevel);                                                                              \
+	TInt RequestLevel = aRequest.Level();                                                                      \
+	APPEND_VAL(RequestLevel);                                                                                 \
+	APPEND_STRING(iName);                                                                          \
 	BTraceContextN(BTrace::EResourceManager, PRM_PSL_RESOURCE_CHANGE_STATE_START, aRequest.ClientId(),	\
 											aRequest.ResourceId(), printBuf.Ptr(), printBuf.Length());  \
 	}
@@ -215,7 +239,11 @@
 	{																									\
 	TBuf8<80> printBuf;																					\
 	printBuf.Zero();																					\
-	TraceFormatPrint(printBuf, "%S %d %d %d", iName, iCurLevel, aRequest.Level(),retVal);				\
+	APPEND_VAL(iCurLevel);                                                                              \
+    TInt RequestLevel = aRequest.Level();                                                                      \
+	APPEND_VAL(RequestLevel);                                                                                  \
+	APPEND_VAL(retVal);                                                                                 \
+	APPEND_STRING(iName);                                                                          \
 	BTraceContextN(BTrace::EResourceManager, PRM_PSL_RESOURCE_CHANGE_STATE_END, aRequest.ClientId(),	\
 										  aRequest.ResourceId(), printBuf.Ptr(), printBuf.Length());	\
 	}
@@ -224,7 +252,9 @@
 	{																									\
 	TBuf8<80> printBuf;																					\
 	printBuf.Zero();																					\
-	TraceFormatPrint(printBuf, "%d %d %S", iDefaultLevel, iFlags, iName);								\
+	APPEND_VAL(iDefaultLevel);                                                                          \
+	APPEND_VAL(iFlags);                                                                                 \
+	APPEND_STRING(iName);                                                                          \
 	BTraceContextN(BTrace::EResourceManager, PRM_PSL_RESOURCE_CREATE, iMinLevel, iMaxLevel,				\
 											            printBuf.Ptr(), printBuf.Length());				\
 	}
@@ -233,8 +263,6 @@
 //Calling TraceFormatPrint just to avoid warning
 #define PRM_BOOTING_TRACE																				\
 	{																									\
-	TPtr8 zeroDes(NULL, 0);																			\
-	TraceFormatPrint(zeroDes, "%d", aReason);															\
 	BTraceContext4(BTrace::EResourceManager, PRM_BOOTING, (TUint)aReason);								\
 	}
 
@@ -242,12 +270,14 @@
 //Macro to output static resource with dependency
 #define PRM_REGISTER_STATIC_RESOURCE_WITH_DEPENDENCY_TRACE													\
 	{																										\
-	TBuf8<80> pBuf;																							\
-	pBuf.Zero();																							\
-	TraceFormatPrint(pBuf, "%S %d %d %d", pR->iName, pResInfo->iMinLevel, pResInfo->iMaxLevel,				\
-										                             pResInfo->iDefaultLevel);				\
+	TBuf8<80> printBuf;																							\
+	printBuf.Zero();																							\
+	APPEND_VAL(pResInfo->iMinLevel);                                                                        \
+	APPEND_VAL(pResInfo->iMaxLevel);                                                                        \
+	APPEND_VAL(pResInfo->iDefaultLevel);                                                                    \
+	APPEND_STRING(pR->iName);                                                                          \
 	BTraceContextN(BTrace::EResourceManager, PRM_REGISTER_STATIC_RESOURCE_WITH_DEPENDENCY, pR->iResourceId, \
-	                                                                        pR, pBuf.Ptr(), pBuf.Length());	\
+	                                                               pR, printBuf.Ptr(), printBuf.Length());	\
 	}
 
 //Macro to output dynamic resource registration.
@@ -255,7 +285,9 @@
 	{																										\
 	TBuf8<80> printBuf;																						\
 	printBuf.Zero();																						\
-	TraceFormatPrint(printBuf, "%S %S %d", aClientPtr->iName, aPDRes->iName, aPDRes);						\
+	APPEND_VAL(aPDRes);                                                                                     \
+	APPEND_STRING(aClientPtr->iName);                                                                         \
+	APPEND_STRING(aPDRes->iName);                                                                      \
 	BTraceContextN(BTrace::EResourceManager, PRM_REGISTER_DYNAMIC_RESOURCE, aClientPtr->iClientId,			\
 										   aPDRes->iResourceId, printBuf.Ptr(), printBuf.Length());			\
 	}
@@ -265,7 +297,10 @@
 	{																										\
 	TBuf8<80> printBuf;																						\
 	printBuf.Zero();																						\
-	TraceFormatPrint(printBuf, "%S %S %d %d", aClientPtr->iName, pDR->iName, pDR, level);					\
+	APPEND_VAL(pDR);                                                                                        \
+	APPEND_VAL(level);                                                                                      \
+	APPEND_STRING(aClientPtr->iName);                                                                  \
+	APPEND_STRING(pDR->iName);                                                                         \
 	BTraceContextN(BTrace::EResourceManager, PRM_DEREGISTER_DYNAMIC_RESOURCE, aClientPtr->iClientId,		\
 												pDR->iResourceId, printBuf.Ptr(), printBuf.Length());		\
 	}
@@ -273,10 +308,14 @@
 //Macro to output registration of resource dependency.
 #define PRM_REGISTER_RESOURCE_DEPENDENCY_TRACE																\
 	{																										\
-	TBuf8<256> printBuf;																					\
+	TBuf8<80> printBuf;																					\
 	printBuf.Zero();																						\
-	TraceFormatPrint(printBuf, "%S %S %d %S %d %d", aClientPtr->iName, pR1->iName, pR2->iResourceId,		\
-										                                      pR2->iName, pR1, pR2);		\
+	APPEND_VAL(pR2->iResourceId);                                                                           \
+    APPEND_VAL(pR1);                                                                                        \
+    APPEND_VAL(pR2);                                                                                        \
+    APPEND_STRING(aClientPtr->iName);                                                                  \
+    APPEND_STRING(pR1->iName);                                                                         \
+    APPEND_STRING(pR2->iName);                                                                         \
 	BTraceContextN(BTrace::EResourceManager, PRM_REGISTER_RESOURCE_DEPENDENCY, aClientPtr->iClientId,		\
 	                                            pR1->iResourceId, printBuf.Ptr(), printBuf.Length());		\
 	}
@@ -284,10 +323,14 @@
 //Macro to output deregistration of resource dependency.
 #define PRM_DEREGISTER_RESOURCE_DEPENDENCY_TRACE															\
 	{																										\
-	TBuf8<256> printBuf;																					\
+	TBuf8<80> printBuf;																					\
 	printBuf.Zero();																						\
-	TraceFormatPrint(printBuf, "%S %S %d %S %d %d", aClientPtr->iName, pDR1->iName, pDR2->iResourceId,		\
-												                             pDR2->iName, pDR1, pDR2);		\
+	APPEND_VAL(pDR2->iResourceId);                                                                          \
+    APPEND_VAL(pDR1);                                                                                       \
+    APPEND_VAL(pDR2);                                                                                       \
+    APPEND_STRING(aClientPtr->iName);                                                                  \
+    APPEND_STRING(pDR1->iName);                                                                        \
+    APPEND_STRING(pDR2->iName);                                                                        \
 	BTraceContextN(BTrace::EResourceManager, PRM_DEREGISTER_RESOURCE_DEPENDENCY, aClientPtr->iClientId,		\
 	                                              pDR1->iResourceId, printBuf.Ptr(), printBuf.Length());	\
 	}