systemswstubs/ssyreference/inc/ssyreferencetrace.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 18 Jan 2010 20:06:52 +0200
changeset 1 ffb8e2ddd8dc
permissions -rw-r--r--
Revision: 201003 Kit: 201003

/*
* Copyright (c) 2006 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:  
*
*/


#ifndef SSYREFERENCETRACE_H
#define SSYREFERENCETRACE_H

// INCLUDES
#include <e32svr.h>

// PC-LINT OPTIONS
// Removes null statement not in line by itself warnings from 
// COMPONENT_TRACE macros
//lint -esym(960,54)

// Removes "area too small" pointer cast warnings.
//lint -e826



// CONSTANTS
// MACROS
#ifdef _DEBUG

    #ifdef THREAD_TRACE_FLAG
    
        #define THREAD_TRACE RDebug::Print(RThread().Name());
        
    #else
        
        #define THREAD_TRACE
        
    #endif // #ifdef THREAD_TRACE_FLAG
    
    #ifdef BUFFER_TRACE_FLAG
    
        #define BUFFER_TRACE_DEBUG
        #define DEBUG_PRINT_BUFFER DebugPrintBuffer();
        #define BUFFER_TRACE( a ) RDebug::Print a 
        
    #else
        
        #define DEBUG_PRINT_BUFFER
        #define BUFFER_TRACE( a )
        
    #endif // #ifdef THREAD_TRACE_FLAG

    #ifdef COMPONENT_TRACE_FLAG

        #define COMPONENT_TRACE( a ) THREAD_TRACE;RDebug::Print a 
        #define COMPONENT_TRACE_DEBUG   
        
    #else // #ifdef COMPONENT_TRACE_FLAG

        #define COMPONENT_TRACE( a )

    #endif //#ifdef COMPONENT_TRACE_FLAG

    #ifdef API_TRACE_FLAG

        #define API_TRACE( a ) THREAD_TRACE;RDebug::Print a
        #define API_TRACE_DEBUG

    #else //#ifdef API_TRACE_FLAG

        #define API_TRACE( a )

    #endif //#ifdef API_TRACE_FLAG

    #ifdef ERROR_TRACE_FLAG

        #define ERROR_TRACE( a ) THREAD_TRACE;RDebug::Print a
        #define ERROR_TRACE_DEBUG

    #else //#ifdef ERROR_TRACE_FLAG

        #define ERROR_TRACE( a )

    #endif //#ifdef ERROR_TRACE_FLAG

#else // #ifdef _DEBUG

    #define COMPONENT_TRACE( a )
    #define API_TRACE( a )
    #define ERROR_TRACE( a )
    #define BUFFER_TRACE( a )
    #define THREAD_TRACE
    #define DEBUG_PRINT_BUFFER

#endif //#ifdef _DEBUG

#endif // SSYREFERENCETRACE_H


//  End of File