btobexprofiles/obexserviceman/obexservicemanserver/inc/debug.h
author hgs
Fri, 28 May 2010 17:03:06 +0300
changeset 32 19bd632b5100
permissions -rw-r--r--
201021
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
32
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description: 
hgs
parents:
diff changeset
    15
*     Central place for nice debug-type macros & functions
hgs
parents:
diff changeset
    16
*
hgs
parents:
diff changeset
    17
*/
hgs
parents:
diff changeset
    18
hgs
parents:
diff changeset
    19
hgs
parents:
diff changeset
    20
#ifndef _SRCS_DEBUG_H
hgs
parents:
diff changeset
    21
#define _SRCS_DEBUG_H
hgs
parents:
diff changeset
    22
hgs
parents:
diff changeset
    23
#ifdef _DEBUG
hgs
parents:
diff changeset
    24
hgs
parents:
diff changeset
    25
// Enable this to enable memory tracing
hgs
parents:
diff changeset
    26
// to SRCS
hgs
parents:
diff changeset
    27
//#define MEMTRACE
hgs
parents:
diff changeset
    28
hgs
parents:
diff changeset
    29
// Following define is to enable OOM
hgs
parents:
diff changeset
    30
// situations in SRCS
hgs
parents:
diff changeset
    31
// NOTE! SHOULD NEVER BE IN RELEASES
hgs
parents:
diff changeset
    32
//#define TEST_OOM
hgs
parents:
diff changeset
    33
hgs
parents:
diff changeset
    34
#ifdef __WINS__
hgs
parents:
diff changeset
    35
hgs
parents:
diff changeset
    36
// File logging for WIS
hgs
parents:
diff changeset
    37
#define __FLOGGING__
hgs
parents:
diff changeset
    38
hgs
parents:
diff changeset
    39
#else
hgs
parents:
diff changeset
    40
hgs
parents:
diff changeset
    41
// Logging with RDebug for target HW
hgs
parents:
diff changeset
    42
#define __CLOGGING__
hgs
parents:
diff changeset
    43
//#define __FLOGGING__
hgs
parents:
diff changeset
    44
hgs
parents:
diff changeset
    45
hgs
parents:
diff changeset
    46
#endif //__WINS__
hgs
parents:
diff changeset
    47
hgs
parents:
diff changeset
    48
#endif
hgs
parents:
diff changeset
    49
hgs
parents:
diff changeset
    50
#if defined ( __FLOGGING__ )
hgs
parents:
diff changeset
    51
hgs
parents:
diff changeset
    52
_LIT(KLogFile,"Srcslog.txt");
hgs
parents:
diff changeset
    53
_LIT(KLogDir,"SRCS");
hgs
parents:
diff changeset
    54
hgs
parents:
diff changeset
    55
#include <f32file.h>
hgs
parents:
diff changeset
    56
#include <flogger.h>
hgs
parents:
diff changeset
    57
hgs
parents:
diff changeset
    58
#define FLOG(a) {FPrint(a);}
hgs
parents:
diff changeset
    59
hgs
parents:
diff changeset
    60
#define FLOGHEX(value, len) {RFileLogger::HexDump(KLogDir, KLogFile, EFileLoggingModeAppend, "", " ",value, len);}
hgs
parents:
diff changeset
    61
hgs
parents:
diff changeset
    62
#define FTRACE(a) {a;}
hgs
parents:
diff changeset
    63
// Declare the FPrint function
hgs
parents:
diff changeset
    64
hgs
parents:
diff changeset
    65
inline void FPrint(const TRefByValue<const TDesC> aFmt, ...)
hgs
parents:
diff changeset
    66
{
hgs
parents:
diff changeset
    67
    VA_LIST list;
hgs
parents:
diff changeset
    68
    VA_START(list,aFmt);
hgs
parents:
diff changeset
    69
    RFileLogger::WriteFormat(KLogDir, KLogFile, EFileLoggingModeAppend, aFmt, list);
hgs
parents:
diff changeset
    70
}
hgs
parents:
diff changeset
    71
hgs
parents:
diff changeset
    72
inline void FHex(const TUint8* aPtr, TInt aLen)
hgs
parents:
diff changeset
    73
{
hgs
parents:
diff changeset
    74
    RFileLogger::HexDump(KLogDir, KLogFile, EFileLoggingModeAppend, 0, 0, aPtr, aLen);
hgs
parents:
diff changeset
    75
}
hgs
parents:
diff changeset
    76
hgs
parents:
diff changeset
    77
inline void FHex(const TDesC8& aDes)
hgs
parents:
diff changeset
    78
{
hgs
parents:
diff changeset
    79
    FHex(aDes.Ptr(), aDes.Length());
hgs
parents:
diff changeset
    80
}
hgs
parents:
diff changeset
    81
hgs
parents:
diff changeset
    82
// RDebug logging
hgs
parents:
diff changeset
    83
#elif defined(__CLOGGING__)
hgs
parents:
diff changeset
    84
hgs
parents:
diff changeset
    85
#include <e32svr.h>
hgs
parents:
diff changeset
    86
hgs
parents:
diff changeset
    87
#define FLOG(a) {RDebug::Print(a);}
hgs
parents:
diff changeset
    88
hgs
parents:
diff changeset
    89
#define FLOGHEX(a)
hgs
parents:
diff changeset
    90
hgs
parents:
diff changeset
    91
#define FTRACE(a) {a;}
hgs
parents:
diff changeset
    92
hgs
parents:
diff changeset
    93
// Declare the FPrint function
hgs
parents:
diff changeset
    94
hgs
parents:
diff changeset
    95
inline void FPrint(const TRefByValue<const TDesC> aFmt, ...)
hgs
parents:
diff changeset
    96
{
hgs
parents:
diff changeset
    97
    VA_LIST list;
hgs
parents:
diff changeset
    98
    VA_START(list,aFmt);
hgs
parents:
diff changeset
    99
    TInt tmpInt = VA_ARG(list, TInt);
hgs
parents:
diff changeset
   100
    TInt tmpInt2 = VA_ARG(list, TInt);
hgs
parents:
diff changeset
   101
    TInt tmpInt3 = VA_ARG(list, TInt);
hgs
parents:
diff changeset
   102
    VA_END(list);
hgs
parents:
diff changeset
   103
    RDebug::Print(aFmt, tmpInt, tmpInt2, tmpInt3);
hgs
parents:
diff changeset
   104
}
hgs
parents:
diff changeset
   105
hgs
parents:
diff changeset
   106
hgs
parents:
diff changeset
   107
#else   // No loggings --> reduced code size
hgs
parents:
diff changeset
   108
#define FLOG(a)
hgs
parents:
diff changeset
   109
#define FLOGHEX(a)
hgs
parents:
diff changeset
   110
#define FTRACE(a)
hgs
parents:
diff changeset
   111
hgs
parents:
diff changeset
   112
#endif //_DEBUG
hgs
parents:
diff changeset
   113
hgs
parents:
diff changeset
   114
#endif // SRCS_DEBUG_H