bluetoothengine/btui/inc/bluetoothuitrace.h
author hgs
Mon, 17 May 2010 11:06:23 +0300
changeset 31 a0ea99b6fa53
parent 29 48ae3789ce00
child 40 997690c3397a
permissions -rw-r--r--
201019_1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
     1
/*
48ae3789ce00 201017_2
hgs
parents:
diff changeset
     2
* ============================================================================
48ae3789ce00 201017_2
hgs
parents:
diff changeset
     3
*  Name        : bluetoothuitrace.h
48ae3789ce00 201017_2
hgs
parents:
diff changeset
     4
*  Part of     : BluetoothUI / bluetoothuimodel       *** Info from the SWAD
48ae3789ce00 201017_2
hgs
parents:
diff changeset
     5
*  Description : API declaration of run-time debug tracing in bluetoothui project
48ae3789ce00 201017_2
hgs
parents:
diff changeset
     6
*
48ae3789ce00 201017_2
hgs
parents:
diff changeset
     7
*  Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies).
48ae3789ce00 201017_2
hgs
parents:
diff changeset
     8
*  All rights reserved.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
     9
*  This component and the accompanying materials are made available
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    10
*  under the terms of "Eclipse Public License v1.0"
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    11
*  which accompanies this distribution, and is available
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    12
*  at the URL "http://www.eclipse.org/legal/epl-v10.html".
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    13
*
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    14
*  Initial Contributors:
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    15
*  Nokia Corporation - initial contribution.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    16
*
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    17
*  Contributors:
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    18
*  Nokia Corporation
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    19
* ============================================================================
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    20
* Template version: 4.2
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    21
*/
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    22
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    23
#ifndef BLUETOOTHUITRACE_H
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    24
#define BLUETOOTHUITRACE_H
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    25
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    26
#include <bluetoothtrace.h>
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    27
#include <QDateTime>
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    28
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    29
#ifdef BLUETOOTHTRACE_ENABLED
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    30
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    31
/*
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    32
 * trace macro for Qt code with an additional trace text. 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    33
 * param must be QString type.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    34
 */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    35
#define BtTraceQString1( groupName, traceName, traceText, param ) \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    36
{\
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    37
    _LIT(TrTxt, traceText); TPtrC p(TrTxt); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    38
    TPtrC textPtr(reinterpret_cast<const TUint16*>(param.utf16()), param.length() ); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    39
    BOstraceExt2( groupName, traceName, "%S%S", &p, &textPtr ); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    40
}
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    41
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    42
/*
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    43
 * trace macro for Qt code with no additional trace text. 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    44
 * param must be QString type.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    45
 */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    46
#define BtTraceQString0( groupName, traceName, param ) \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    47
{\
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    48
    TPtrC textPtr(reinterpret_cast<const TUint16*>(param.utf16()), param.length() ); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    49
    BOstraceExt1( groupName, traceName, "%S", &textPtr ); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    50
}
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    51
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    52
/*
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    53
 * Macro for tracing a Bluetooth device entry in btuimdevlist
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    54
 * with no additional trace text. 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    55
 */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    56
#define BtTraceDevListEntry0( groupName, traceName, dev ) \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    57
{\
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    58
    QString info("["); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    59
    info += dev[Btuim::DevAddrReadableRole].toString() + "]"; \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    60
    QString filterBinary; \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    61
    filterBinary.setNum( dev[Btuim::MajorFilterRole].toInt(), 16); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    62
    info += "[" + filterBinary + "]"; \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    63
    info += "[" \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    64
        + dev[Btuim::LastUsedTimeRole].value<QDateTime>().toString(Qt::ISODate ) \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    65
        + "]" ; \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    66
    info += "[" + dev[Btuim::DevNameRoleRole].toString() + "]" ; \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    67
    TPtrC textPtr(reinterpret_cast<const TUint16*>(info.utf16()), info.length() ); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    68
    BOstraceExt1( groupName, traceName, "%S", &textPtr ); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    69
}
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    70
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    71
/*
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    72
 * Macro for tracing a Bluetooth device entry in btuim
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    73
 * with an additional trace text. 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    74
 */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    75
#define BtTraceDevListEntry1( groupName, traceName, traceText, dev ) \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    76
{\
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    77
    QString info("["); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    78
    info += dev[Btuim::DevAddrReadableRole].toString() + "]"; \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    79
    QString cod; \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    80
    cod.setNum( dev[Btuim::ClassOfDeviceRole].toInt(), 16); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    81
    info += "[" + cod + "]"; \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    82
    QString filterBinary; \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    83
    filterBinary.setNum( dev[Btuim::MajorFilterRole].toInt(), 16); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    84
    info += "[" + filterBinary + "]"; \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    85
    info += "[" \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    86
        + dev[Btuim::LastUsedTimeRole].value<QDateTime>().toString(Qt::ISODate ) \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    87
        + "]" ; \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    88
    info += "[" + dev[Btuim::DevNameRole].toString() + "]" ; \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    89
    TPtrC textPtr(reinterpret_cast<const TUint16*>(info.utf16()), info.length() ); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    90
    _LIT(TrTxt, traceText); TPtrC p(TrTxt); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    91
    BOstraceExt2( groupName, traceName, "%S%S", &p, &textPtr ); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    92
}
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    93
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    94
/*
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    95
 * Macro for Qt code with additional trace text. 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    96
 * list must be QStringList type.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    97
 */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    98
#define BtTraceQStringList1( groupName, traceName, traceText, list ) \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    99
{\
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   100
    QString info(": ["); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   101
    info += list.join(".") + "]"; \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   102
    TPtrC textPtr(reinterpret_cast<const TUint16*>(info.utf16()), info.length() ); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   103
    _LIT(TrTxt, traceText); TPtrC p(TrTxt); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   104
    BOstraceExt2( groupName, traceName, "%S%S", &p, &textPtr ); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   105
}
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   106
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   107
/*
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   108
 * Macro for Qt code with no additional trace text. 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   109
 * list must be QStringList type.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   110
 */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   111
#define BtTraceQStringList0( groupName, traceName, list ) \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   112
{\
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   113
    QString info(": ["); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   114
    info += list.join(".") + "]"; \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   115
    TPtrC textPtr(reinterpret_cast<const TUint16*>(info.utf16()), info.length() ); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   116
    BOstraceExt1( groupName, traceName, "%S", &textPtr ); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   117
}
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   118
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   119
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   120
/*
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   121
 * Macro for tracing Bluetooth DevData data source in btuimdevdata
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   122
 * with no additional trace text. 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   123
*/
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   124
#define BtTraceDevDataEntry0( groupName, traceName, devData ) \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   125
{\
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   126
    QString info("["); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   127
    QMap< int, QVariant > val = devData.at( Btuim::DevDataIndexName ); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   128
    info += val.value(Qt::EditRole).toString() + "]" ; \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   129
    val = devData.at( Btuim::DevDataIndexStatus ); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   130
    int statusBits = val.value(Qt::EditRole).toInt(); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   131
    info += "["; \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   132
    info += QString::number(statusBits, 16 ); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   133
    info += "]"; \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   134
    QStringList strl = val.value(Qt::DisplayRole).toStringList(); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   135
    info += "[" ; \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   136
    for ( int i = 0; i < strl.count(); ++i ) { \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   137
        info += strl.at(i) + ","; \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   138
    } \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   139
    info += "]" ; \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   140
    val = devData.at( Btuim::DevDataIndexOptionsMenu ); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   141
    info += " opts:"; \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   142
    QList<QVariant> cmdItems = val.value( Btuim::DevDataCmdItemsRole ).toList(); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   143
    for ( int i = 0; i < cmdItems.count(); i++ ) { \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   144
        const Btuim::DevDataCmdItem& item = cmdItems.at(i).value<Btuim::DevDataCmdItem>(); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   145
        info += "[" + QString::number(item.mCmdId) + "," + QString::number(item.mEnabled) + "," + "]"; \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   146
    } \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   147
    val = devData.at( Btuim::DevDataIndexCmdList ); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   148
    info += " cmds:"; \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   149
    cmdItems = val.value( Btuim::DevDataCmdItemsRole ).toList(); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   150
    for ( int i = 0; i < cmdItems.count(); i++ ) { \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   151
        const Btuim::DevDataCmdItem& item = cmdItems.at(i).value<Btuim::DevDataCmdItem>(); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   152
        info += "[" + QString::number(item.mCmdId) + "," + QString::number(item.mEnabled) + "," + "]"; \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   153
    } \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   154
    TPtrC textPtr(reinterpret_cast<const TUint16*>(info.utf16()), info.length() ); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   155
    BOstraceExt1( groupName, traceName, "%S", &textPtr ); \
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   156
}
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   157
#else
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   158
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   159
#define BtTraceQString1( aGroupName, aTraceName, aTraceText, aParam ) 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   160
#define BtTraceQString0( aGroupName, aTraceName, aParam )
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   161
#define BtTraceDevListEntry0( groupName, traceName, dev )
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   162
#define BtTraceDevListEntry1( groupName, traceName, traceText, dev )
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   163
#define BtTraceQStringList1( groupName, traceName, traceText, list )
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   164
#define BtTraceQStringList0( groupName, traceName, list )
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   165
#define BtTraceDevDataEntry0( groupName, traceName, devData )
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   166
#endif // BLUETOOTHTRACE_ENABLED
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   167
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   168
// At early development phase, we force assertion in release build to find out 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   169
// design and implementation issues.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   170
//#ifndef QT_NO_DEBUG
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   171
#define BTUI_DEBUG
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   172
//#endif
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   173
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   174
#if !defined(BTUI_ASSERT_X)
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   175
#  ifdef BTUI_DEBUG
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   176
#define BTUI_ASSERT_X(cond, where, what) ((!(cond)) ? qt_assert_x(where, what,__FILE__,__LINE__) : qt_noop())
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   177
#  else
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   178
#    define BTUI_ASSERT_X(cond, where, what) qt_noop()
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   179
#  endif
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   180
#endif
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   181
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   182
#endif // BLUETOOTHUITRACE_H