sl@0: // Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0: // All rights reserved.
sl@0: // This component and the accompanying materials are made available
sl@0: // under the terms of the License "Eclipse Public License v1.0"
sl@0: // which accompanies this distribution, and is available
sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0: //
sl@0: // Initial Contributors:
sl@0: // Nokia Corporation - initial contribution.
sl@0: //
sl@0: // Contributors:
sl@0: //
sl@0: // Description:
sl@0: // scmdatatypes.h
sl@0: // 
sl@0: // WARNING: This file contains some APIs which are internal and are subject
sl@0: //          to change without notice. Such APIs should therefore not be used
sl@0: //          outside the Kernel and Hardware Services package.
sl@0: //
sl@0: 
sl@0: 
sl@0: #ifndef __SCMTRACE_H_INCLUDED__
sl@0: #define __SCMTRACE_H_INCLUDED__
sl@0: 
sl@0: #ifdef _DEBUG	
sl@0: 	#define __SCMFUNCTIONLOGGING __PRETTY_FUNCTION__ 
sl@0: #else
sl@0: 	#define __SCMFUNCTIONLOGGING ""
sl@0: #endif
sl@0: 
sl@0: // logger macro
sl@0: #ifdef __KERNEL_MODE__
sl@0: 
sl@0: #include <kernel/kernel.h>
sl@0: #include <nk_trace.h>
sl@0: 
sl@0: #define LOG_CONTEXT //__KTRACE_OPT(KALWAYS, Kern::Printf("Context --> <%s>", __SCMFUNCTIONLOGGING));
sl@0: #define CLTRACE(s) __KTRACE_OPT(KDEBUGGER, Kern::Printf(s));
sl@0: #define CLTRACE1(s, p1) __KTRACE_OPT(KDEBUGGER, Kern::Printf(s, p1));
sl@0: #define CLTRACE2(s, p1, p2)  __KTRACE_OPT(KDEBUGGER, Kern::Printf(s, p1, p2));
sl@0: #define CLTRACE3(s, p1, p2, p3) __KTRACE_OPT(KDEBUGGER, Kern::Printf(s, p1, p2, p3));
sl@0: #define CLTRACE4(s, p1, p2, p3, p4) __KTRACE_OPT(KDEBUGGER, Kern::Printf(s, p1, p2, p3, p4));
sl@0: #define CLTRACE5(s, p1, p2, p3, p4, p5) __KTRACE_OPT(KDEBUGGER, Kern::Printf(s, p1, p2, p3, p4, p5));
sl@0: 
sl@0: #else
sl@0: 
sl@0: #include <e32debug.h>
sl@0: 
sl@0: #define LOG_CONTEXT RDebug::Printf("Context --> <%s>", __SCMFUNCTIONLOGGING);
sl@0: #define CLTRACE(s)  RDebug::Printf(s) ;
sl@0: #define CLTRACE1(s, p1) RDebug::Printf(s, p1) ;
sl@0: #define CLTRACE2(s, p1, p2) RDebug::Printf(s, p1, p2) ;
sl@0: #define CLTRACE3(s, p1, p2, p3) RDebug::Printf(s, p1, p2, p3);
sl@0: #define CLTRACE4(s, p1, p2, p3, p4) RDebug::Printf(s, p1, p2, p3, p4);
sl@0: #define CLTRACE5(s, p1, p2, p3, p4, p5) RDebug::Printf(s, p1, p2, p3, p4, p5);
sl@0: 
sl@0: 
sl@0: #endif
sl@0: 
sl@0: 
sl@0: #endif /*__SCMTRACE_H_INCLUDED__*/