|
1 /* |
|
2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: |
|
15 * |
|
16 */ |
|
17 |
|
18 #ifndef HSMENUSTATES_GLOBAL_H |
|
19 #define HSMENUSTATES_GLOBAL_H |
|
20 |
|
21 #include <QDebug> |
|
22 #include <QtGlobal> |
|
23 |
|
24 #ifndef MENUSTATES_UNITTEST |
|
25 #define HS_STATES_TEST_CLASS(className) |
|
26 #else |
|
27 #define HS_STATES_TEST_CLASS(className) class className; |
|
28 #endif |
|
29 |
|
30 #ifndef MENUSTATES_UNITTEST |
|
31 #define HS_STATES_TEST_FRIEND_CLASS(className) |
|
32 #else |
|
33 #define HS_STATES_TEST_FRIEND_CLASS(className) friend class className; |
|
34 #endif |
|
35 |
|
36 static const char *const HS_MENU_WORKER_STATE_PROVIDER_LAYOUT = |
|
37 ":/xml/hsmenuworkerstateplugin.docml"; |
|
38 |
|
39 /*! |
|
40 To enable logging of function entry and exit use the following flag for qmake: |
|
41 -config nft |
|
42 To include in logs extra information about RAM and heap usage, define an additional constant e.g. in ProductVariant.hrh: |
|
43 #define NFT_RAM |
|
44 */ |
|
45 |
|
46 #ifdef NFT |
|
47 #ifdef Q_OS_SYMBIAN |
|
48 #include <hal.h> |
|
49 #include <e32std.h> |
|
50 #endif |
|
51 #endif |
|
52 |
|
53 #ifdef NFT |
|
54 |
|
55 #define HSMENUTEST(aText) qDebug() << QString(aText) |
|
56 |
|
57 #ifdef Q_OS_SYMBIAN |
|
58 #ifdef NFT_RAM |
|
59 #define HSMENUTEST_FREERAM_ENTRY(function) \ |
|
60 TInt HSMENUTEST_ENTRY_RAM(0); \ |
|
61 TInt HSMENUTEST_ENTRY_HEAP(0); \ |
|
62 TInt HSMENUTEST_ENTRY_HEAP_SIZE(0); \ |
|
63 { \ |
|
64 TInt allRAM(0); \ |
|
65 HAL::Get(HAL::EMemoryRAM, allRAM); \ |
|
66 HAL::Get(HAL::EMemoryRAMFree, HSMENUTEST_ENTRY_RAM); \ |
|
67 RHeap &heap = User::Heap(); \ |
|
68 TInt biggestBlock(0); \ |
|
69 HSMENUTEST_ENTRY_HEAP = heap.Available(biggestBlock); \ |
|
70 HSMENUTEST_ENTRY_HEAP_SIZE = heap.Size(); \ |
|
71 qDebug("(nft) " function " - Memory (kB) - Free RAM: %d, Heap size: %d, Free heap: %d", \ |
|
72 HSMENUTEST_ENTRY_RAM >> 10, HSMENUTEST_ENTRY_HEAP_SIZE >> 10, \ |
|
73 HSMENUTEST_ENTRY_HEAP >> 10); \ |
|
74 } |
|
75 |
|
76 #define HSMENUTEST_FREERAM_EXIT(function) \ |
|
77 { \ |
|
78 TInt allRAM(0); \ |
|
79 TInt freeRAM(0); \ |
|
80 HAL::Get(HAL::EMemoryRAM, allRAM); \ |
|
81 HAL::Get(HAL::EMemoryRAMFree, freeRAM); \ |
|
82 RHeap &heap = User::Heap(); \ |
|
83 TInt biggestBlock(0); \ |
|
84 TInt heapFree = heap.Available(biggestBlock); \ |
|
85 TInt heapSize = heap.Size(); \ |
|
86 qDebug("(nft) " function " - Memory (kB) - Free RAM: %d, Heap size: %d, Free heap: %d", \ |
|
87 freeRAM >> 10, heapSize >> 10, heapFree >> 10); \ |
|
88 qDebug("(nft) " function " - Memory (kB) - RAM diff: %d, Heap size diff: %d, Free heap diff: %d", \ |
|
89 (freeRAM-HSMENUTEST_ENTRY_RAM) >> 10, (heapSize-HSMENUTEST_ENTRY_HEAP_SIZE) >> 10, \ |
|
90 (heapFree-HSMENUTEST_ENTRY_HEAP) >> 10); \ |
|
91 } |
|
92 |
|
93 #else |
|
94 |
|
95 #define HSMENUTEST_FREERAM_ENTRY(function) |
|
96 #define HSMENUTEST_FREERAM_EXIT(function) |
|
97 |
|
98 #endif |
|
99 |
|
100 #define HSMENUTESTTIME_ENTRY(function) \ |
|
101 TInt64 HSMENUTEST_ENTRY_TIME(0); \ |
|
102 { \ |
|
103 TTime t; \ |
|
104 t.UniversalTime(); \ |
|
105 qDebug("\n" function " entry:%20lld", t.Int64()); \ |
|
106 HSMENUTEST_ENTRY_TIME = t.Int64(); \ |
|
107 } |
|
108 |
|
109 #define HSMENUTESTTIME_EXIT(function) { \ |
|
110 TTime t; \ |
|
111 t.UniversalTime(); \ |
|
112 qDebug("\n" function " entry:%20lld\n" function " difference:%20lld", t.Int64(), \ |
|
113 t.Int64()-HSMENUTEST_ENTRY_TIME); \ |
|
114 } |
|
115 |
|
116 #define HSMENUTEST_FUNC_ENTRY(function) HSMENUTEST_FREERAM_ENTRY(function) \ |
|
117 HSMENUTESTTIME_ENTRY(function) |
|
118 #define HSMENUTEST_FUNC_EXIT(function) HSMENUTESTTIME_EXIT(function) \ |
|
119 HSMENUTEST_FREERAM_EXIT(function) |
|
120 |
|
121 #else //Q_OS_SYMBIAN |
|
122 #define HSMENUTEST_FUNC_ENTRY(function) qDebug()<< function << " entry"; |
|
123 #define HSMENUTEST_FUNC_EXIT(function) qDebug()<< function << " exit"; |
|
124 #endif //Q_OS_SYMBIAN |
|
125 #else //NFT |
|
126 #define HSMENUTEST_FUNC_ENTRY(function) |
|
127 #define HSMENUTEST_FUNC_EXIT(function) |
|
128 #endif //NFT |
|
129 |
|
130 #endif //HSMENUSTATES_GLOBAL_H |