diff -r c743ef5928ba -r f9ce957a272c homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hsmenustates_global.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hsmenustates_global.h Fri Mar 19 09:27:44 2010 +0200 @@ -0,0 +1,130 @@ +/* + * 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: + * + */ + +#ifndef HSMENUSTATES_GLOBAL_H +#define HSMENUSTATES_GLOBAL_H + +#include +#include + +#ifndef MENUSTATES_UNITTEST +#define HS_STATES_TEST_CLASS(className) +#else +#define HS_STATES_TEST_CLASS(className) class className; +#endif + +#ifndef MENUSTATES_UNITTEST +#define HS_STATES_TEST_FRIEND_CLASS(className) +#else +#define HS_STATES_TEST_FRIEND_CLASS(className) friend class className; +#endif + +static const char *const HS_MENU_WORKER_STATE_PROVIDER_LAYOUT = + ":/xml/hsmenuworkerstateplugin.docml"; + +/*! + To enable logging of function entry and exit use the following flag for qmake: + -config nft + To include in logs extra information about RAM and heap usage, define an additional constant e.g. in ProductVariant.hrh: + #define NFT_RAM + */ + +#ifdef NFT +#ifdef Q_OS_SYMBIAN +#include +#include +#endif +#endif + +#ifdef NFT + +#define HSMENUTEST(aText) qDebug() << QString(aText) + +#ifdef Q_OS_SYMBIAN +#ifdef NFT_RAM +#define HSMENUTEST_FREERAM_ENTRY(function) \ + TInt HSMENUTEST_ENTRY_RAM(0); \ + TInt HSMENUTEST_ENTRY_HEAP(0); \ + TInt HSMENUTEST_ENTRY_HEAP_SIZE(0); \ + { \ + TInt allRAM(0); \ + HAL::Get(HAL::EMemoryRAM, allRAM); \ + HAL::Get(HAL::EMemoryRAMFree, HSMENUTEST_ENTRY_RAM); \ + RHeap &heap = User::Heap(); \ + TInt biggestBlock(0); \ + HSMENUTEST_ENTRY_HEAP = heap.Available(biggestBlock); \ + HSMENUTEST_ENTRY_HEAP_SIZE = heap.Size(); \ + qDebug("(nft) " function " - Memory (kB) - Free RAM: %d, Heap size: %d, Free heap: %d", \ + HSMENUTEST_ENTRY_RAM >> 10, HSMENUTEST_ENTRY_HEAP_SIZE >> 10, \ + HSMENUTEST_ENTRY_HEAP >> 10); \ + } + +#define HSMENUTEST_FREERAM_EXIT(function) \ + { \ + TInt allRAM(0); \ + TInt freeRAM(0); \ + HAL::Get(HAL::EMemoryRAM, allRAM); \ + HAL::Get(HAL::EMemoryRAMFree, freeRAM); \ + RHeap &heap = User::Heap(); \ + TInt biggestBlock(0); \ + TInt heapFree = heap.Available(biggestBlock); \ + TInt heapSize = heap.Size(); \ + qDebug("(nft) " function " - Memory (kB) - Free RAM: %d, Heap size: %d, Free heap: %d", \ + freeRAM >> 10, heapSize >> 10, heapFree >> 10); \ + qDebug("(nft) " function " - Memory (kB) - RAM diff: %d, Heap size diff: %d, Free heap diff: %d", \ + (freeRAM-HSMENUTEST_ENTRY_RAM) >> 10, (heapSize-HSMENUTEST_ENTRY_HEAP_SIZE) >> 10, \ + (heapFree-HSMENUTEST_ENTRY_HEAP) >> 10); \ + } + +#else + +#define HSMENUTEST_FREERAM_ENTRY(function) +#define HSMENUTEST_FREERAM_EXIT(function) + +#endif + +#define HSMENUTESTTIME_ENTRY(function) \ + TInt64 HSMENUTEST_ENTRY_TIME(0); \ + { \ + TTime t; \ + t.UniversalTime(); \ + qDebug("\n" function " entry:%20lld", t.Int64()); \ + HSMENUTEST_ENTRY_TIME = t.Int64(); \ + } + +#define HSMENUTESTTIME_EXIT(function) { \ + TTime t; \ + t.UniversalTime(); \ + qDebug("\n" function " entry:%20lld\n" function " difference:%20lld", t.Int64(), \ + t.Int64()-HSMENUTEST_ENTRY_TIME); \ + } + +#define HSMENUTEST_FUNC_ENTRY(function) HSMENUTEST_FREERAM_ENTRY(function) \ + HSMENUTESTTIME_ENTRY(function) +#define HSMENUTEST_FUNC_EXIT(function) HSMENUTESTTIME_EXIT(function) \ + HSMENUTEST_FREERAM_EXIT(function) + +#else //Q_OS_SYMBIAN +#define HSMENUTEST_FUNC_ENTRY(function) qDebug()<< function << " entry"; +#define HSMENUTEST_FUNC_EXIT(function) qDebug()<< function << " exit"; +#endif //Q_OS_SYMBIAN +#else //NFT +#define HSMENUTEST_FUNC_ENTRY(function) +#define HSMENUTEST_FUNC_EXIT(function) +#endif //NFT + +#endif //HSMENUSTATES_GLOBAL_H