hti/HtiServicePlugins/HtiIpProxyServicePlugin/IPProxyEngine/Src/DebugPrint.h
branchRCL_3
changeset 19 07b41fa8d1dd
parent 18 3406c99bc375
child 20 ca8a1b6995f6
--- a/hti/HtiServicePlugins/HtiIpProxyServicePlugin/IPProxyEngine/Src/DebugPrint.h	Thu Jul 15 20:25:38 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,230 +0,0 @@
-/*
-* Copyright (c) 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:  Debugging support
-*
-*/
-
-
-/*
-Idea:
-
-    Logging tool for developers, uniform style to write debug log to RDebug or to a File
-
-Usage:
-
-    Configuring:
-     - add to .mmp file
-        // define logging on and logging into file, file must be defined in code
-        // the macros can also be in a header file
-        // and inside ifdef if printing wanted in debug builds
-        MACRO ENABLE_DEBUG_PRINT
-        MACRO DEBUG_OUTPUT_TO_FILE
-        // this library is needed for the file logging, remove if/when not using
-        LIBRARY flogger.lib
-
-        Alternatively you may enable debug print in a header with:
-        #ifdef _DEBUG // comment this if you want logging in release build
-        #define ENABLE_DEBUG_PRINT
-        #define DEBUG_OUTPUT_TO_FILE
-        #endif // _DEBUG
-
-     - make a directory: Epoc32\Wins\c\logs\hti\
-
-    Enabling:
-     - in some source header
-        // log file name if using file logging
-        #define DEBUG_FILENAME "Example.log"
-        // include the printing macros
-        #include "DebugPrint.h"
-
-    Printing:
-
-        // normal string
-        DEBUG_PRINT( DEBUG_STRING( "Debug Print" ) );
-        // string with variables
-        DEBUG_PRINT( DEBUG_LINE( "Debug Print %d" ), 100 );
-        TInt index( 100 );
-        DEBUG_PRINT( DEBUG_STRING( "Debug Print %d" ), index );
-
-        // DEBUG_LINE automatically adds filename and linenumber to output
-        _LIT( KDebugPrintExample, "Example" );
-        DEBUG_PRINT( DEBUG_LINE( "Debug Print %S" ), &KDebugPrintExample );
-
-Known issues:
-
-    - If you use macros from .mmp file remember to abld makefile <target> to change flags from project
-    - Using lots of DEBUG_LINE macros slows down compiling due to excessive preprocessing
-
-Ideas & further development:
-
-    - make rdebug and file logging work simultaneously, currently not possible
-    - enable optional run-time configuring of debug info writing
-
-*/
-
-#ifndef __DEBUGPRINT_H__
-#define __DEBUGPRINT_H__
-
-// Debug logging is enabled, you may enable debug printing in release builds also
-#ifdef ENABLE_DEBUG_PRINT
-
-    // warn if this is a release build!!
-    #ifndef _DEBUG
-        #if defined(__VC32__)
-            #pragma message( "Warning: debug printing is on in release build!" )
-        #else // __GCC32__
-            #warning "debug printing is on in release build!"
-        #endif // __VC32__
-    #endif
-
-// no include files if no debug printing --> faster compile time
-// INCLUDES
-#include <e32std.h>
-#include <e32svr.h>
-#include <flogger.h>
-
-    /**
-     * Depending if the build is UNICODE or not, define the
-     * helper macros that display the source code filename and
-     * linenumber as a part of the debug message.
-     */
-    #ifdef _UNICODE
-        #define STRINGIZE(l) L#l
-        #define TO_NUMBER(l) STRINGIZE(l)
-        #define TOKEN_PASTING(s) L##s
-        #define TO_UNICODE(s) TOKEN_PASTING(s)
-        #define DEBUG_STR(m) TO_UNICODE(__FILE__) L"(" TO_NUMBER(__LINE__) L") : " L##m
-    #else
-        #define STRINGIZE(l) #l
-        #define TO_NUMBER(l) STRINGIZE(l)
-        #define DEBUG_STR __FILE__ "(" TO_NUMBER(__LINE__) ") : "
-    #endif // _UNICODE
-
-    /**
-     * Helper macro for defining debug strings with just the debug text.
-     */
-    #define DEBUG_STRING(s) _L(s)
-
-    /**
-     * Helper macro for defining debug string with filename and linenumber.
-     */
-    #define DEBUG_LINE(s) TPtrC((const TText *) DEBUG_STR(s))
-
-    #ifdef DEBUG_OUTPUT_TO_FILE
-
-        /**
-         * Method to handle file writing
-         */
-        inline void DebugWriteFormat(TRefByValue<const TDesC> aFmt,...)
-            {
-            _LIT(KDir, "hti");
-            #ifdef DEBUG_FILENAME
-                const static TLitC<sizeof(DEBUG_FILENAME)> KName={sizeof(DEBUG_FILENAME)-1, TO_UNICODE( DEBUG_FILENAME ) };
-            #else
-                _LIT(KName, "DebugOutput.log" );
-            #endif // DEBUG_FILENAME
-
-            // take the ellipsis parameters
-            VA_LIST args;
-            VA_START(args,aFmt);
-            RFileLogger::WriteFormat( KDir, KName, EFileLoggingModeAppend, aFmt, args );
-            VA_END(args);
-            }
-
-        /**
-         * Output to log file
-         */
-        #define DEBUG_PRINT DebugWriteFormat
-
-    #else
-        /**
-         * Output to debugger output
-         */
-        #define DEBUG_PRINT RDebug::Print
-    #endif
-
-#else   // ENABLE_DEBUG_PRINT
-
-    /**
-     * Dummy struct for checking that all DEBUG_PRINT's define string
-     * literals using space-saving DEBUG_STRING.
-     */
-    struct TEmptyDebugString { };
-
-    /**
-     * Macro for defining debug-only literal strings (empty release version)
-     */
-    #define DEBUG_STRING(s) TEmptyDebugString()
-
-    /**
-     * Macro for defining debug-only literal strings (empty release version)
-     */
-    #define DEBUG_LINE(s) TEmptyDebugString()
-
-    /// Empty debug print function for release builds.
-    inline void DEBUG_PRINT(TEmptyDebugString)
-        {
-        }
-
-    /// Empty debug print function for release builds.
-    template<class T1>
-    inline void DEBUG_PRINT(TEmptyDebugString,T1)
-        {
-        }
-
-    /// Empty debug print function for release builds.
-    template<class T1,class T2>
-    inline void DEBUG_PRINT(TEmptyDebugString,T1,T2)
-        {
-        }
-
-    /// Empty debug print function for release builds.
-    template<class T1,class T2,class T3>
-    inline void DEBUG_PRINT(TEmptyDebugString,T1,T2,T3)
-        {
-        }
-
-    /// Empty debug print function for release builds.
-    template<class T1,class T2,class T3,class T4>
-    inline void DEBUG_PRINT(TEmptyDebugString,T1,T2,T3,T4)
-        {
-        }
-
-    /// Empty debug print function for release builds.
-    template<class T1,class T2,class T3,class T4,class T5>
-    inline void DEBUG_PRINT(TEmptyDebugString,T1,T2,T3,T4,T5)
-        {
-        }
-
-    /// Empty debug print function for release builds.
-    template<class T1,class T2,class T3,class T4,class T5,class T6>
-    inline void DEBUG_PRINT(TEmptyDebugString,T1,T2,T3,T4,T5,T6)
-        {
-        }
-
-    /// Empty debug print function for release builds.
-    template<class T1,class T2,class T3,class T4,class T5,class T6,class T7>
-    inline void DEBUG_PRINT(TEmptyDebugString,T1,T2,T3,T4,T5,T6,T7)
-        {
-        }
-
-    /// Empty debug print function for release builds.
-    template<class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8>
-    inline void DEBUG_PRINT(TEmptyDebugString,T1,T2,T3,T4,T5,T6,T7,T8)
-        {
-        }
-
-#endif  // ENABLE_DEBUG_PRINT
-
-#endif //  __DEBUGPRINT_H__