# HG changeset patch # User hgs # Date 1286421945 -10800 # Node ID b01c07dfcf84930b4605fe8cf08ec5c529a96239 # Parent 1505405bc6458528f03fea3c200aa48a68b8682d 201039 diff -r 1505405bc645 -r b01c07dfcf84 appfw/viewserver/group/bld.inf --- a/appfw/viewserver/group/bld.inf Wed Sep 29 15:24:56 2010 +0300 +++ b/appfw/viewserver/group/bld.inf Thu Oct 07 06:25:45 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 1999-2010 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" @@ -21,7 +21,7 @@ */ // include test code -#include "../test/group/BLD.INF" +#include "../test/group/bld.inf" PRJ_EXPORTS ../inc/VWSDEF.H SYMBIAN_MW_LAYER_PUBLIC_EXPORT_PATH(vwsdef.h) diff -r 1505405bc645 -r b01c07dfcf84 appsupport_pub/network_status_api/tsrc/bc/networkstatus/group/NetworkStatusTest.mmp --- a/appsupport_pub/network_status_api/tsrc/bc/networkstatus/group/NetworkStatusTest.mmp Wed Sep 29 15:24:56 2010 +0300 +++ b/appsupport_pub/network_status_api/tsrc/bc/networkstatus/group/NetworkStatusTest.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2002-10 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" @@ -39,7 +39,7 @@ MW_LAYER_SYSTEMINCLUDE LIBRARY euser.lib -LIBRARY stiftestinterface.lib +LIBRARY StifTestInterface.lib LIBRARY centralrepository.lib LANG SC diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/Rfs/Plugins/rfscustcmd/tsrc/rfscustcmdtest/group/rfscustcmdtest.mmp --- a/coreapplicationuis/Rfs/Plugins/rfscustcmd/tsrc/rfscustcmdtest/group/rfscustcmdtest.mmp Wed Sep 29 15:24:56 2010 +0300 +++ b/coreapplicationuis/Rfs/Plugins/rfscustcmd/tsrc/rfscustcmdtest/group/rfscustcmdtest.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2009-10 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" @@ -35,6 +35,6 @@ MW_LAYER_SYSTEMINCLUDE LIBRARY euser.lib -LIBRARY stiftestinterface.lib +LIBRARY StifTestInterface.lib LIBRARY rfscustcmd.lib LIBRARY efsrv.lib diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Data/qtg_anim_battery_charging_01.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/SysAp/Data/qtg_anim_battery_charging_01.svg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,95 @@ + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Data/qtg_anim_battery_charging_02.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/SysAp/Data/qtg_anim_battery_charging_02.svg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,103 @@ + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Data/qtg_anim_battery_charging_03.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/SysAp/Data/qtg_anim_battery_charging_03.svg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,103 @@ + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Data/qtg_anim_battery_charging_04.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/SysAp/Data/qtg_anim_battery_charging_04.svg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,103 @@ + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Data/qtg_anim_battery_charging_05.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/SysAp/Data/qtg_anim_battery_charging_05.svg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,103 @@ + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Data/qtg_anim_battery_charging_06.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/SysAp/Data/qtg_anim_battery_charging_06.svg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,103 @@ + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Data/qtg_anim_battery_charging_07.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/SysAp/Data/qtg_anim_battery_charging_07.svg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,103 @@ + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Data/qtg_anim_battery_charging_08.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/SysAp/Data/qtg_anim_battery_charging_08.svg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,103 @@ + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Data/qtg_anim_battery_charging_09.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/SysAp/Data/qtg_anim_battery_charging_09.svg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,103 @@ + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Data/qtg_anim_battery_charging_10.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/SysAp/Data/qtg_anim_battery_charging_10.svg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,115 @@ + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Data/qtg_anim_battery_full_01.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/SysAp/Data/qtg_anim_battery_full_01.svg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,116 @@ + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Data/qtg_anim_battery_full_02.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/SysAp/Data/qtg_anim_battery_full_02.svg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,132 @@ + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Data/qtg_anim_battery_full_03.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/SysAp/Data/qtg_anim_battery_full_03.svg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,134 @@ + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Data/qtg_anim_battery_full_04.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/SysAp/Data/qtg_anim_battery_full_04.svg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,134 @@ + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Data/qtg_anim_battery_full_05.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/SysAp/Data/qtg_anim_battery_full_05.svg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,134 @@ + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Data/qtg_anim_battery_full_06.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/SysAp/Data/qtg_anim_battery_full_06.svg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,134 @@ + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Data/qtg_anim_battery_full_07.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/SysAp/Data/qtg_anim_battery_full_07.svg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,134 @@ + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Data/qtg_anim_battery_full_08.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/SysAp/Data/qtg_anim_battery_full_08.svg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,132 @@ + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Data/qtg_anim_battery_full_09.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/SysAp/Data/qtg_anim_battery_full_09.svg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,134 @@ + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Data/qtg_anim_battery_full_10.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/SysAp/Data/qtg_anim_battery_full_10.svg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,116 @@ + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Group/SysAp.mmp --- a/coreapplicationuis/SysAp/Group/SysAp.mmp Wed Sep 29 15:24:56 2010 +0300 +++ b/coreapplicationuis/SysAp/Group/SysAp.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -31,10 +31,40 @@ EPOCSTACKSIZE 0x5000 EPOCHEAPSIZE 0x800 0x400000 // min 2kB, max 4MB - some shutdown animations may use quite a lot of heap +EPOCALLOWDLLDATA + #ifdef RD_STARTUP_ANIMATION_CUSTOMIZATION MACRO SYSAP_USE_STARTUP_UI_PHASE #endif // RD_STARTUP_ANIMATION_CUSTOMIZATION +// Qt Macros +MACRO UNICODE +MACRO QT_KEYPAD_NAVIGATION +MACRO QT_SOFTKEYS_ENABLED +MACRO QT_USE_MATH_H_FLOATS +MACRO HB_HAVE_QT_MOBILITY +MACRO HB_EFFECTS_OPENVG +MACRO HB_FILTER_EFFECTS +MACRO HB_HAVE_PROTECTED_CHUNK +MACRO HB_TOUCHFEEDBACK_TYPE_IS_LONGPRESS +MACRO HB_WSERV_HAS_RENDER_ORIENTATION +MACRO HB_GESTURE_FW +MACRO HB_EFFECTS +MACRO HB_TEXT_MEASUREMENT_UTILITY +MACRO HB_HAVE_QT_MOBILITY +MACRO HB_EFFECTS_OPENVG +MACRO HB_FILTER_EFFECTS +MACRO HB_HAVE_PROTECTED_CHUNK +MACRO HB_TOUCHFEEDBACK_TYPE_IS_LONGPRESS +MACRO HB_WSERV_HAS_RENDER_ORIENTATION +MACRO HB_GESTURE_FW +MACRO HB_EFFECTS +MACRO HB_TEXT_MEASUREMENT_UTILITY +MACRO QT_PLUGIN +MACRO QT_SVG_LIB +MACRO QT_GUI_LIB +MACRO QT_NETWORK_LIB +MACRO QT_CORE_LIB SOURCEPATH ../Src SOURCE SysApApp.cpp @@ -53,6 +83,7 @@ SOURCE SysApShutdownImage.cpp SOURCE hbdevicepowermenusymbian.cpp SOURCE hbdeviceinputdialogsymbian.cpp +SOURCE sysapcharginganimation.cpp #ifdef __OFFLINE_MODE SOURCE OfflineModeController/SysApOfflineModeControllerImpl.cpp @@ -61,9 +92,9 @@ SYSTEMINCLUDE /epoc32/include/mw/hb/hbwidgets SYSTEMINCLUDE /epoc32/include/mw/hb/hbcore - -SYSTEMINCLUDE /epoc32/include/mw - +SYSTEMINCLUDE /epoc32/include/mw/QtCore +SYSTEMINCLUDE /epoc32/include/mw/QtGui +SYSTEMINCLUDE /epoc32/include/stdapis/stlportv5 USERINCLUDE . USERINCLUDE ../Inc @@ -77,7 +108,7 @@ USERINCLUDE ../Src/memorycard MW_LAYER_SYSTEMINCLUDE -APP_LAYER_SYSTEMINCLUDE + START RESOURCE ../Data/SysAp.rss HEADER @@ -156,6 +187,7 @@ SOURCE CenRepObservers/sysapcenreplightsettingsobserver.cpp SOURCE CenRepObservers/SysApCenRepLogsObserver.cpp SOURCE CenRepObservers/sysapcenrepofflinemodeobserver.cpp +SOURCE CenRepObservers/SysApCenRepSilentModeObserver.cpp LIBRARY centralrepository.lib LIBRARY cenrepnotifhandler.lib @@ -166,7 +198,7 @@ #ifdef RD_STARTUP_ANIMATION_CUSTOMIZATION LIBRARY sanimctrl.lib #else // RD_STARTUP_ANIMATION_CUSTOMIZATION -LIBRARY MediaClientAudio.lib +LIBRARY mediaclientaudio.lib #endif // RD_STARTUP_ANIMATION_CUSTOMIZATION LIBRARY bmpanim.lib @@ -185,7 +217,6 @@ SOURCE SysApBtControllerImpl.cpp SOURCEPATH ../Src/BtSap SOURCE SysApBtSapControllerImpl.cpp - //LIBRARY eikcoctl.lib //LIBRARY etelpckt.lib @@ -230,5 +261,33 @@ SOURCE SysApEtelNetworkStatusNspsObserver.cpp SysApEtelConnector.cpp SysApEtelNetworkBarObserver.cpp SysApEtelSmsStoreObserver.cpp sysapeteldatabearerobserver.cpp sysapetelnetworkbargetter.cpp sysapetelnetworkinfoobserver.cpp LIBRARY etelpckt.lib +LIBRARY logcli.lib +LIBRARY sssettings.lib +//QtHighway lib for invoking logs app +LIBRARY xqservice.lib +LIBRARY xqserviceutil.lib +LIBRARY QtCore.lib +//Required to use by EndKey +LIBRARY afactivitylauncher.lib + +LIBRARY libstdcppv5.lib +LIBRARY libpthread.lib +LIBRARY libc.lib +LIBRARY libdl.lib +//Required for OpenLibC +OPTION CW -cwd include -wchar_t on +OPTION ARMCC --visibility_inlines_hidden +#if defined(ARMCC_4_0) +OPTION ARMCC --import_all_vtbl +#endif +OPTION GCCE -fvisibility-inlines-hidden + +VERSION 10.0 +ARMFPU softvfp +BYTEPAIRCOMPRESSTARGET +OPTION_REPLACE ARMCC --export_all_vtbl -D__QT_NOEFFECTMACRO_DONOTUSE + +STDCPP + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Group/bld.inf --- a/coreapplicationuis/SysAp/Group/bld.inf Wed Sep 29 15:24:56 2010 +0300 +++ b/coreapplicationuis/SysAp/Group/bld.inf Thu Oct 07 06:25:45 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2004-2007 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2004-2010 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" @@ -45,6 +45,47 @@ /epoc32/s60/icons/qgn_startup_screen.svg /epoc32/data/z/resource/apps/qgn_sysap_screen.svg /epoc32/s60/icons/qgn_startup_screen.svg /epoc32/release/winscw/udeb/z/resource/apps/qgn_sysap_screen.svg /epoc32/s60/icons/qgn_startup_screen.svg /epoc32/release/winscw/urel/z/resource/apps/qgn_sysap_screen.svg +../data/qtg_anim_battery_charging_01.svg /epoc32/data/z/resource/apps/qtg_anim_battery_charging_01.svg +../data/qtg_anim_battery_charging_01.svg /epoc32/release/winscw/udeb/z/resource/apps/qtg_anim_battery_charging_01.svg +../data/qtg_anim_battery_charging_02.svg /epoc32/data/z/resource/apps/qtg_anim_battery_charging_02.svg +../data/qtg_anim_battery_charging_02.svg /epoc32/release/winscw/udeb/z/resource/apps/qtg_anim_battery_charging_02.svg +../data/qtg_anim_battery_charging_03.svg /epoc32/data/z/resource/apps/qtg_anim_battery_charging_03.svg +../data/qtg_anim_battery_charging_03.svg /epoc32/release/winscw/udeb/z/resource/apps/qtg_anim_battery_charging_03.svg +../data/qtg_anim_battery_charging_04.svg /epoc32/data/z/resource/apps/qtg_anim_battery_charging_04.svg +../data/qtg_anim_battery_charging_04.svg /epoc32/release/winscw/udeb/z/resource/apps/qtg_anim_battery_charging_04.svg +../data/qtg_anim_battery_charging_05.svg /epoc32/data/z/resource/apps/qtg_anim_battery_charging_05.svg +../data/qtg_anim_battery_charging_05.svg /epoc32/release/winscw/udeb/z/resource/apps/qtg_anim_battery_charging_05.svg +../data/qtg_anim_battery_charging_06.svg /epoc32/data/z/resource/apps/qtg_anim_battery_charging_06.svg +../data/qtg_anim_battery_charging_06.svg /epoc32/release/winscw/udeb/z/resource/apps/qtg_anim_battery_charging_06.svg +../data/qtg_anim_battery_charging_07.svg /epoc32/data/z/resource/apps/qtg_anim_battery_charging_07.svg +../data/qtg_anim_battery_charging_07.svg /epoc32/release/winscw/udeb/z/resource/apps/qtg_anim_battery_charging_07.svg +../data/qtg_anim_battery_charging_08.svg /epoc32/data/z/resource/apps/qtg_anim_battery_charging_08.svg +../data/qtg_anim_battery_charging_08.svg /epoc32/release/winscw/udeb/z/resource/apps/qtg_anim_battery_charging_08.svg +../data/qtg_anim_battery_charging_09.svg /epoc32/data/z/resource/apps/qtg_anim_battery_charging_09.svg +../data/qtg_anim_battery_charging_09.svg /epoc32/release/winscw/udeb/z/resource/apps/qtg_anim_battery_charging_09.svg +../data/qtg_anim_battery_charging_10.svg /epoc32/data/z/resource/apps/qtg_anim_battery_charging_10.svg +../data/qtg_anim_battery_charging_10.svg /epoc32/release/winscw/udeb/z/resource/apps/qtg_anim_battery_charging_10.svg + +../data/qtg_anim_battery_full_01.svg /epoc32/data/z/resource/apps/qtg_anim_battery_full_01.svg +../data/qtg_anim_battery_full_01.svg /epoc32/release/winscw/udeb/z/resource/apps/qtg_anim_battery_full_01.svg +../data/qtg_anim_battery_full_02.svg /epoc32/data/z/resource/apps/qtg_anim_battery_full_02.svg +../data/qtg_anim_battery_full_02.svg /epoc32/release/winscw/udeb/z/resource/apps/qtg_anim_battery_full_02.svg +../data/qtg_anim_battery_full_03.svg /epoc32/data/z/resource/apps/qtg_anim_battery_full_03.svg +../data/qtg_anim_battery_full_03.svg /epoc32/release/winscw/udeb/z/resource/apps/qtg_anim_battery_full_03.svg +../data/qtg_anim_battery_full_04.svg /epoc32/data/z/resource/apps/qtg_anim_battery_full_04.svg +../data/qtg_anim_battery_full_04.svg /epoc32/release/winscw/udeb/z/resource/apps/qtg_anim_battery_full_04.svg +../data/qtg_anim_battery_full_05.svg /epoc32/data/z/resource/apps/qtg_anim_battery_full_05.svg +../data/qtg_anim_battery_full_05.svg /epoc32/release/winscw/udeb/z/resource/apps/qtg_anim_battery_full_05.svg +../data/qtg_anim_battery_full_06.svg /epoc32/data/z/resource/apps/qtg_anim_battery_full_06.svg +../data/qtg_anim_battery_full_06.svg /epoc32/release/winscw/udeb/z/resource/apps/qtg_anim_battery_full_06.svg +../data/qtg_anim_battery_full_07.svg /epoc32/data/z/resource/apps/qtg_anim_battery_full_07.svg +../data/qtg_anim_battery_full_07.svg /epoc32/release/winscw/udeb/z/resource/apps/qtg_anim_battery_full_07.svg +../data/qtg_anim_battery_full_08.svg /epoc32/data/z/resource/apps/qtg_anim_battery_full_08.svg +../data/qtg_anim_battery_full_08.svg /epoc32/release/winscw/udeb/z/resource/apps/qtg_anim_battery_full_08.svg +../data/qtg_anim_battery_full_09.svg /epoc32/data/z/resource/apps/qtg_anim_battery_full_09.svg +../data/qtg_anim_battery_full_09.svg /epoc32/release/winscw/udeb/z/resource/apps/qtg_anim_battery_full_09.svg +../data/qtg_anim_battery_full_10.svg /epoc32/data/z/resource/apps/qtg_anim_battery_full_10.svg +../data/qtg_anim_battery_full_10.svg /epoc32/release/winscw/udeb/z/resource/apps/qtg_anim_battery_full_10.svg PRJ_MMPFILES //gnumakefile sysap_icons.mk diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Inc/SysAp.hrh --- a/coreapplicationuis/SysAp/Inc/SysAp.hrh Wed Sep 29 15:24:56 2010 +0300 +++ b/coreapplicationuis/SysAp/Inc/SysAp.hrh Thu Oct 07 06:25:45 2010 +0300 @@ -95,7 +95,8 @@ EPowerSaveModeActivated, EPowerSaveModeDeactivated, ECannotActivatePowerSaveMode, - ECannotDeactivatePowerSaveMode + ECannotDeactivatePowerSaveMode, + ESysApRestartPhone }; enum TSysApWaitNoteIds @@ -114,7 +115,6 @@ enum TSysApConfirmationQueryIds { ESysApNoQuery=0, - ESysApRestartPhoneQuery, ESysApLeaveOfflineModeQuery, ESysApRemoveMmcNote, ESysApEjectMmcQuery, diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Inc/SysApAppUi.h --- a/coreapplicationuis/SysAp/Inc/SysApAppUi.h Wed Sep 29 15:24:56 2010 +0300 +++ b/coreapplicationuis/SysAp/Inc/SysApAppUi.h Thu Oct 07 06:25:45 2010 +0300 @@ -47,6 +47,7 @@ #endif // RD_MULTIPLE_DRIVE #include +#include class CSysApFeatureManager; @@ -63,6 +64,7 @@ class CSysApCenRepLightSettingsObserver; class CSysApCenRepBtObserver; class CSysApCenRepHacSettingObserver; +class CSysApCenRepSilentModeObserver; class CSysApAudioRoutingObserver; class CSysApSsSettingsObserver; class CSystemLock; @@ -73,6 +75,7 @@ class CSysApCenRepLogsObserver; class MSysApUsbIndicator; class CKeyguardAccessApi; +class CSysApChargingAnimation; class CHbIndicatorSymbian; class CSysApShutdownAnimation; @@ -182,12 +185,6 @@ */ void ExecQueryL( TSysapQuery aQuery, TDes8& aReturn, const TDesC8& aParam ); -// private: - /** - * EPOC default constructor. - * @param None - * @return void - */ #ifdef RD_STARTUP_ANIMATION_CUSTOMIZATION void @@ -209,7 +206,7 @@ * @param aType The type of resources that have changed. * @return None. */ -// void HandleResourceChangeL(TInt aType); + // void HandleResourceChangeL(TInt aType); private: /** @@ -229,6 +226,14 @@ void HandleApplicationSpecificEventL(TInt aType,const TWsEvent& aEvent); public: + + /* + * Get pointer to RTelServer + * + * @return pointer to RTelServer if iSysApEtelConnector is initialized. Otherwise return NULL. + */ + RTelServer* GetTelServer(); + // void CallFromMain(); /** @@ -261,14 +266,14 @@ void ActivateKeyeventForwardingForLights(TBool aActivate); TBool IsEncryptionOperationOngoingL() const; -// void ConnectToFileServerL(); -// void ConnectToWindowServerL(); - void ShowExampleUiNoteL ( const TDesC& noteText )const; + void HandleSendKeyEventL(); + void HandleEndKeyEventL(); + + void ShowNoteL ( const TDesC& noteText )const; void ShowNotificationDialog(const TDesC& noteText)const; void PopupNote(); -// void CreateWindowGroup(); TBool ResourcesFreed() const; - void ShowUiNoteL( const TSysApNoteIds aNote ) const; + void ShowUiNoteL( const TSysApNoteIds aNote ); TInt StateOfProperty( const TUid& aCategory, const TUint aKey ) const; TBool OfflineModeActive(); void GoOnlineL( TBool aDoProfileChange = ETrue ); @@ -449,6 +454,9 @@ void UpdateSignalBarsL(); void ReleaseMemoryForMemoryCardDialog(); + void StartChargingAnimationL(); + void StopChargingAnimationL(); + void StartChargingFullAnimationL(); private: /** @@ -483,14 +491,11 @@ #endif // RD_MULTIPLE_DRIVE private: -// CSysApWsClient* iSysApWsClient; CSysApLightsController* iSysApLightsController; CSysApFeatureManager* iSysApFeatureManager; CSysApNspsHandler* iSysApNspsHandler; - CSysApPubSubObserver* iSysApPubSubObserver; - + CSysApPubSubObserver* iSysApPubSubObserver; CSysApDefaultKeyHandler* iSysApDefaultKeyHandler; -// RWindowGroup groupWin; CSysApStartupController* iSysApStartupController; MSysApOfflineModeController* iSysApOfflineModeController; RStarterSession iStarterSession; @@ -503,11 +508,11 @@ CSysApCenRepLightSettingsObserver* iSysApCenRepLightSettingsObserver; CSysApCenRepBtObserver* iSysApCenRepBtObserver; CSysApCenRepHacSettingObserver* iSysApCenRepHacSettingObserver; + CSysApCenRepSilentModeObserver* iSysApCenRepSilentModeObserver; CSysApAudioRoutingObserver* iSysApAudioRoutingObserver; CSysApPsmController* iSysApPsmController; - CHbSymbianVariant* iVariantAccState ; - CSysApSsSettingsObserver* iSysApSsSettingsObserver; + CHbSymbianVariant* iVariantAccState ; CSystemLock* iSysApSystemLock; CSysApCenRepCallForwardingObserver* iSysApCenRepCallForwardingObserver; CSysApBatteryInfoController* iSysApBatteryInfoController; @@ -515,12 +520,12 @@ CPeriodic* iSapTimer; MSysApBtController* iSysApBtController; CSysApCenRepLogsObserver* iSysApCenRepLogsObserver; - MSysApUsbIndicator* iSysApUsbIndicatorController; - CKeyguardAccessApi* iKeyguardController; - CHbDevicePowerMenuSymbian* iPowerMenuDialog; - CSysApKeyManagement* iSysApKeyManagement; - CSysApMMCObserver* iSysApMMCObserver; - CSysApEtelConnector* iSysApEtelConnector; + MSysApUsbIndicator* iSysApUsbIndicatorController; + CKeyguardAccessApi* iKeyguardController; + CHbDevicePowerMenuSymbian* iPowerMenuDialog; + CSysApKeyManagement* iSysApKeyManagement; + CSysApMMCObserver* iSysApMMCObserver; + CSysApEtelConnector* iSysApEtelConnector; public: CHbIndicatorSymbian* iHbIndicatorSymbian; @@ -536,6 +541,9 @@ TBool iResourcesFreed; TInt iCapturedEKeyPowerOff; TInt iCapturedEKeyPowerOffUpAndDowns; + TInt iCapturedEKeySendKey; + TInt iCapturedEKeyEndKey; + TBool iOfflineModeActive; TBool iShutdownStarted; @@ -627,7 +635,8 @@ TBool iMMCEjectUsed; CHbDeviceInputDialogSymbian* iMemCardPwdDialog; - + + CSysApChargingAnimation *iChargingAnimation; }; #endif diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Inc/SysApConfirmationQuery.h --- a/coreapplicationuis/SysAp/Inc/SysApConfirmationQuery.h Wed Sep 29 15:24:56 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,119 +0,0 @@ -/* -* Copyright (c) 2003-2007 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: CSysapConfirmationQuery header file. The clas can be used for -* showing global confirmation queries. -* -*/ - - -#ifndef SYSAPCONFIRMATIONQUERY_H -#define SYSAPCONFIRMATIONQUERY_H - -// INCLUDES -#include -#include -#include "SysAp.hrh" - -// CONSTANTS - -// FORWARD DECLARATIONS - -class CSysApAppUi; - -// CLASS DECLARATION -/** -* CSysApConfirmationQuery -* -* @lib sysap -* @since 1.2S -*/ - -class CSysApConfirmationQuery: public CActive -{ -public: - - /** - * Constructor - */ - static CSysApConfirmationQuery* NewL( CSysApAppUi& aSysApAppUi ); - - /** - * Destructor. - */ - virtual ~CSysApConfirmationQuery(); - - /** - * This method shows the note - * @param TSysApConfirmationQueryIds - * @param CCoeEnv* - * @return void - */ - void ShowQueryL( const TSysApConfirmationQueryIds aQueryId, CCoeEnv* aLoaderEnv = NULL ); - - /** - * This method shows the note - * @param aQueryId Query id defined by TSysApConfirmationQueryIds - * @param aValue Query related value - * @param aLoaderEnv Pointer to control environment - */ - void ShowQueryL( const TSysApConfirmationQueryIds aQueryId, - const TDesC& aValue, CCoeEnv* aLoaderEnv = NULL ); - - /** - * From CActive. Cancels the active object from observing the list query - * @param None - * @return void - */ - void DoCancel(); - /** - * From CActive. Gets called by active object when a selection is done. - * @param None - * @return void - */ - void RunL(); - - /** - * From CActive. Gets called by active object when leave happens inside RunL - * @param None - * @return void - */ - TInt RunError( TInt aError ); - - /** - * Gets current query ID - * @return Current query ID (TSysApConfirmationQueryIds) - */ - TInt CurrentQuery(); - -private: - - /** - * Constructors - */ - CSysApConfirmationQuery( CSysApAppUi& aSysApAppUi ); - CSysApConfirmationQuery(); - void ConstructL(); - -private: - - CSysApAppUi& iSysApAppUi; - TSysApConfirmationQueryIds iQueryId; - CAknGlobalConfirmationQuery* iQuery; - TSysApConfirmationQueryIds iPendingQuery; -}; - -#endif // SYSAPCONFIRMATIONQUERYNOTE_H - -// End of File - diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Inc/SysApMsgSimMemLowQuery.h --- a/coreapplicationuis/SysAp/Inc/SysApMsgSimMemLowQuery.h Wed Sep 29 15:24:56 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,91 +0,0 @@ -/* -* Copyright (c) 2002 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: CSysApMsgSimMemLowQuery class definition. This class is -* responsible for showing a query when SIM card's SMS memory -* is full and there is a SIM specific SMS coming. -* -*/ - - -#ifndef SYSAPMSGSIMMEMLOWQUERY_H -#define SYSAPMSGSIMMEMLOWQUERY_H - -// INCLUDES -#include - -// FORWARD DECLARATIONS -class CAknGlobalConfirmationQuery; - -// CLASS DECLARATION -/** -* CSysApMsgSimMemLowQuery -* -* @lib sysap -* @since 1.0* -*/ - -class CSysApMsgSimMemLowQuery : public CActive - { -public: - /** - * Constructor - * @param ETrue if cover display is supported - * @return void - */ - CSysApMsgSimMemLowQuery(TBool aCoverDisplaySupported); - - /** - * Destructor. - */ - virtual ~CSysApMsgSimMemLowQuery(); - - /** - * This method activates the active object. The iStatus is given to - * CAknGlobalListQuery with a call iGlobalListQuery->ShowListQueryL( - * profileNameArray, iSysApPowerKeyMenuObserver->iStatus, KProfileListInitialIndex ); - * from CSysApAppUi - * @param note - * @return void - */ - void StartL( const TDesC& aPrompt ); - -private: - /** - * From CActive. Cancels the active object from observing the list query - * @param None - * @return void - */ - void DoCancel(); - /** - * From CActive. Gets called by active object when a selection is done. - * @param None - * @return void - */ - void RunL(); - - /** - * From CActive. Gets called by active object when leave happens inside RunL - * @param None - * @return void - */ - TInt RunError( TInt aError ); - -private: - CAknGlobalConfirmationQuery* iSimMemoryLowQuery; - TBool iCoverDisplaySupported; - }; - -#endif //SYSAPPOWERKEYMENUOBSERVER_H - -// End of File diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Inc/SysApPowerKeyMenuObserver.h --- a/coreapplicationuis/SysAp/Inc/SysApPowerKeyMenuObserver.h Wed Sep 29 15:24:56 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,97 +0,0 @@ -/* -* Copyright (c) 2002 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: CSysApPowerKeyMenuObserver class definition. This class -* implements the observer for getting the menu selection from -* CAknGlobalListQuery. -* -*/ - - -#ifndef SYSAPPOWERKEYMENUOBSERVER_H -#define SYSAPPOWERKEYMENUOBSERVER_H - -// INCLUDES -#include - -// FORWARD DECLARATIONS -class CSysApAppUi; - -/** -* CSysApPowerKeyMenuObserver -* -* @lib sysap -* @since 1.0 -*/ - -class CSysApPowerKeyMenuObserver : public CActive - { -public: - /** - * Constructor - * @param CSysApAppUi& aSysApAppUi - * @return void - */ - CSysApPowerKeyMenuObserver( CSysApAppUi& aSysApAppUi ); - - /** - * Destructor. - */ - virtual ~CSysApPowerKeyMenuObserver(); - - /** - * This method activates the active object. The iStatus is given to - * CAknGlobalListQuery with a call iGlobalListQuery->ShowListQueryL( - * profileNameArray, iSysApPowerKeyMenuObserver->iStatus, KProfileListInitialIndex ); - * from CSysApAppUi - * @param note - * @return void - */ - void Start(); - -private: - /** - * C++ default constructor. - * @param None - * @return void - */ - CSysApPowerKeyMenuObserver(); - -private: - /** - * From CActive. Cancels the active object from observing the list query - * @param None - * @return void - */ - void DoCancel(); - /** - * From CActive. Gets called by active object when a selection is done. - * @param None - * @return void - */ - void RunL(); - - /** - * From CActive. Gets called by active object when leave happens inside RunL - * @param None - * @return void - */ - TInt RunError( TInt aError ); - -private: - CSysApAppUi& iSysApAppUi; - }; - -#endif //SYSAPPOWERKEYMENUOBSERVER_H - -// End of File diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Inc/SysApProfileObserver.h --- a/coreapplicationuis/SysAp/Inc/SysApProfileObserver.h Wed Sep 29 15:24:56 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,101 +0,0 @@ -/* -* Copyright (c) 2005 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: CSysApProfileObserver class definition. -* -*/ - - -#ifndef SYSAPPROFILEOBSERVER_H -#define SYSAPPROFILEOBSERVER_H - -// INCLUDES -#include -#include -#include -#include "SysAp.hrh" - -// FORWARD DECLARATIONS -class CSysApAppUi; - -// CLASS DECLARATION - -/** -* CSysApProfileObserver -* -* @lib sysap -* @since 3.0 -*/ - -class CSysApProfileObserver : public CBase, public MProfileChangeObserver - { - public: // Constructors and destructor - /** - * Default constructor - */ - static CSysApProfileObserver* NewL( CSysApAppUi& aSysApAppUi ); - - /** - * Destructor. - */ - virtual ~CSysApProfileObserver(); - - private: - - /** - * EPOC default constructor. - * @param None - * @return void - */ - void ConstructL( ); - - /** - * Constructor - * @param CSysApAppUi& aSysApAppUi - * @return void - */ - CSysApProfileObserver( CSysApAppUi& aSysApAppUi ); - - /** - * C++ default constructor. - * @param None - * @return void - */ - CSysApProfileObserver(); - - public: // From MProfileChangeObserver - - /** - * This is a callback function which is called when a active profile event - * completes. User must derive his class from MProfileChangeObserver - * and implement this method if he is to use notify services. - * @param aProfileEvent Profile event - * @param aProfileId Active profile id - */ - void HandleActiveProfileEventL( TProfileEvent aProfileEvent, TInt aProfileId ); - - private: - // By default, prohibit copy constructor - CSysApProfileObserver( const CSysApProfileObserver& ); - - // Prohibit assigment operator - CSysApProfileObserver& operator= ( const CSysApProfileObserver& ); - - private: - CSysApAppUi& iSysApAppUi; - CProfileChangeNotifyHandler* iHandler; - }; - -#endif // SYSAPPROFILEOBSERVER_H - -// End of File diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Inc/SysApShutdownImage.h --- a/coreapplicationuis/SysAp/Inc/SysApShutdownImage.h Wed Sep 29 15:24:56 2010 +0300 +++ b/coreapplicationuis/SysAp/Inc/SysApShutdownImage.h Thu Oct 07 06:25:45 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2002-2010 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" @@ -133,7 +133,7 @@ */ TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType); - CFbsBitmap* ReadSVGL (TFileName aFileName); + CFbsBitmap* ReadSVGL (const TFileName& aFileName); private: // Data //Used for showing user selected image diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Inc/SysApSsSettingsObserver.h --- a/coreapplicationuis/SysAp/Inc/SysApSsSettingsObserver.h Wed Sep 29 15:24:56 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,106 +0,0 @@ -/* -* Copyright (c) 2002 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: CSysApSsSettingsObserver class definition. This class -* implements methods needed for handling SsSettings functionality -* that tells what is the currently used ALS line for outgoing -* calls. -* -*/ - - -#ifndef SYSAPSSSETTINGSOBSERVER_H -#define SYSAPSSSETTINGSOBSERVER_H - -// INCLUDES -#include -#include - -// FORWARD DECLARATIONS -class CSysApAppUi; - -// CLASS DECLARATION -/** -* CSysApSsSettingsObserver -* -* @lib sysap -* @since 1.0 -*/ - -class CSysApSsSettingsObserver : public CBase, public MSSSettingsObserver - { - public: // Constructors and destructor - /** - * EPOC default constructor. - */ - static CSysApSsSettingsObserver* NewL( CSysApAppUi& aSysApAppUi ); - - /** - * Destructor. - */ - virtual ~CSysApSsSettingsObserver(); - - public: - /** - * CallBack function from MSSSettingsObserver. - * Gets called when SS settings are changed. - * @param None - * @return void - */ - void PhoneSettingChanged( TSSSettingsSetting aSetting, TInt aNewValue ); - - private: - /** - * EPOC default constructor. - * @param None - * @return void - */ - void ConstructL( ); - - /** - * Constructor - * @param CSysApAppUi& aSysApAppUi - * @return void - */ - CSysApSsSettingsObserver( CSysApAppUi& aSysApAppUi ); - - /** - * C++ default constructor. - * @param None - * @return void - */ - CSysApSsSettingsObserver(); - - private: - // By default, prohibit copy constructor - CSysApSsSettingsObserver( const CSysApSsSettingsObserver& ); - - // Prohibit assigment operator - CSysApSsSettingsObserver& operator= ( const CSysApSsSettingsObserver& ); - - private: - /** - * Method for setting the state of Second line indicator - * @param None - * @return void - */ - void SetSecondLineIndicatorL( TInt aSsSettingsAlsLineValue ) const; - - private: - RSSSettings iSysApSsSettings; - CSysApAppUi& iSysApAppUi; - }; - -#endif // SYSAPSSSETTINGSOBSERVER_H - -// End of File diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Inc/SysApWaitNote.h --- a/coreapplicationuis/SysAp/Inc/SysApWaitNote.h Wed Sep 29 15:24:56 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,86 +0,0 @@ -/* -* Copyright (c) 2002 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: CSysApWaitNote class definition. The class uses CAknGlobalNote -* to show a wait note.. -* -*/ - - -#ifndef SYSAPWAITNOTE_H -#define SYSAPWAITNOTE_H - -// INCLUDES -#include -#include -#include "SysAp.hrh" - -// CONSTANTS - - -// CLASS DECLARATION -/** -* CSysApWaitNote -* -* @lib sysap -* @since 1.2* -*/ - -class CSysApWaitNote: public CBase -{ -public: - - /** - * Constructor - */ - static CSysApWaitNote* NewL(TBool aCoverDisplaySupported); - - /** - * Destructor. - */ - virtual ~CSysApWaitNote(); - - /** - * This method shows the waitnote. - * @param aNote -- note id from sysap.hrh - * @param aNoteStringBuf -- localized text - * @return void - */ - void ShowNoteL(const TSysApWaitNoteIds aNote, HBufC* aNoteStringBuf); - - /** - * This method cancels the waitnote.. - * @param None - * @return void - */ - void Cancel(); - -private: - - /** - * Constructors - */ - CSysApWaitNote(TBool aCoverDisplaySupported); - void ConstructL(); - -private: - - CAknGlobalNote* iWaitNote; - TInt iNoteId; - TBool iActive; - TBool iCoverDisplaySupported; -}; - -#endif // SYSAPWAITNOTE_H - -// End of File diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Inc/sysapcharginganimation.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/SysAp/Inc/sysapcharginganimation.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,88 @@ +/* + ============================================================================ + Name : sysapcharginganimation.h + Author : + Version : 1.0 + Copyright : + Description : CSysApChargingAnimation declaration + ============================================================================ + */ + +#ifndef CCHARGINGANIMATION_H +#define CCHARGINGANIMATION_H + +// INCLUDES +#include +#include +#include + +// CLASS DECLARATION +class CFbsBitmap; +/** + * CSysApChargingAnimation + * + */ + +enum KChargingMode +{ + KChargingModeUnknown=-1, + KChargingModeChargingOn=0, + KChargingModeFull +}; + + +class CSysApChargingAnimation : public CCoeControl + { +public: + // Constructors and destructor + + /** + * Destructor. + */ + ~CSysApChargingAnimation(); + + /** + * Two-phased constructor. + */ + static CSysApChargingAnimation* NewL(); + + /** + * Two-phased constructor. + */ + static CSysApChargingAnimation* NewLC(); + + void Draw(const TRect& aRect) const; + + static TInt TimerExpired( TAny* aObject ); + + void StartChargingAnimationL(); + void StopAnimation(); + void StartChargingFullAnimationL(); +private: + void SetModeL(TInt aMode); + void SetFullFramesL(); + void SetChargingFramesL(); + void DeleteFrames(); + void SetNextFrame(); + + void ResetTimer(); + void StopTimer(); + /** + * Constructor for performing 1st stage construction + */ + CSysApChargingAnimation(); + + /** + * EPOC default constructor for performing 2nd stage construction + */ + void ConstructL(); + + CFbsBitmap* ReadSVGL (TFileName aFileName); + + CFbsBitmap *iBitmap; + TInt iFrameCount,iCurrentFrame,iMode; + CPeriodic *iAnimTimer; + RPointerArray iAnimation; + }; + +#endif // CCHARGINGANIMATION_H diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Src/CenRepObservers/SysApCenRepSilentModeObserver.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/SysAp/Src/CenRepObservers/SysApCenRepSilentModeObserver.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,124 @@ +/* +* Copyright (c) 2010 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: CSysApCenRepSilentModeObserver implementation. + * +*/ + + +// INCLUDE FILES +#include "SysApCenRepSilentModeObserver.h" +#include "SysApAppUi.h" +#include + +// ========================== MEMBER FUNCTIONS ================================ + +// ---------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- + +CSysApCenRepSilentModeObserver* CSysApCenRepSilentModeObserver::NewL( ) + { + TRACES( RDebug::Print( _L("CSysApCenRepSilentModeObserver::NewL" ) ) ); + CSysApCenRepSilentModeObserver* self = new ( ELeave ) CSysApCenRepSilentModeObserver( ); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop(); //self + return self; + } + +// ---------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- + +CSysApCenRepSilentModeObserver::CSysApCenRepSilentModeObserver( ) + { + TRACES( RDebug::Print( _L("CSysApCenRepSilentModeObserver::CSysApCenRepSilentModeObserver" ) ) ); + } + +// ---------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- + +CSysApCenRepSilentModeObserver::~CSysApCenRepSilentModeObserver() + { + TRACES( RDebug::Print( _L("~CSysApCenRepSilentModeObserver") ) ); + if ( iSilentModeHandler ) + { + iSilentModeHandler->StopListening(); + } + delete iSilentModeHandler; + delete iSession; + } + +// ---------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- + +void CSysApCenRepSilentModeObserver::ConstructL() + { + TRACES( RDebug::Print( _L("CSysApCenRepSilentModeObserver::ConstructL: trying CRepository::NewL( KCRUidBluetoothPowerState )") ) ); + iSession = CRepository::NewL( KCRUidProfileEngine ); + + iSilentModeHandler = + CCenRepNotifyHandler::NewL( *this, + *iSession, + CCenRepNotifyHandler::EIntKey, + KProEngSilenceMode ); + iSilentModeHandler->StartListeningL(); + } + +// ---------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- + +void CSysApCenRepSilentModeObserver::HandleNotifyInt( TUint32 aId, TInt aNewValue ) + { + TRACES( RDebug::Print( _L("CSysApCenRepSilentModeObserver::HandleNotifyInt(), aId=0x%x, aNewValue=%d" ), aId, aNewValue ) ); + + SilenceIndicatorL(aNewValue); + + } + +// ---------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- + +void CSysApCenRepSilentModeObserver::HandleNotifyError( TUint32 /* aId */, TInt /* error */, CCenRepNotifyHandler* /* aHandler */ ) + { + TRACES( RDebug::Print( _L("CSysApCenRepSilentModeObserver::HandleNotifyError()" ) ) ); + } + +// ---------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- + +void CSysApCenRepSilentModeObserver::SilenceIndicatorL(TInt aValue) + { + TRACES( RDebug::Print( _L(" CSysApCenRepSilentModeObserver::SilenceIndicatorL" ))); + CHbIndicatorSymbian* indicator = CHbIndicatorSymbian::NewL(); + CleanupStack::PushL(indicator); + _LIT(KSilentmodeindicator,"com.nokia.hb.indicator.controlpanel.cpsilenceindicatorplugin/1.0"); + + + if (aValue) + { + TRACES( RDebug::Print( _L("CSysApCenRepSilentModeObserver::HandleNotifyInt() activate silence indicator" ))); + // activate the indicator plugin to display the icon in status bar + indicator->Activate(KSilentmodeindicator); + } + else + { + TRACES( RDebug::Print( _L("CSysApCenRepSilentModeObserver::HandleNotifyInt() Deactivate silence indicator" ))); + // deactivate the indicator plugin to remove the icon in the status bar + indicator->Deactivate(KSilentmodeindicator); + } + CleanupStack::PopAndDestroy(indicator); // indicator + } + + +// End of File + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Src/CenRepObservers/SysApCenRepSilentModeObserver.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/SysAp/Src/CenRepObservers/SysApCenRepSilentModeObserver.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,81 @@ +/* +* Copyright (c) 2010 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: CSysApCenRepSilentModeObserver class definition. +* +*/ + + +#ifndef SYSAPCENREPSILENTMODEOBSERVER_H +#define SYSAPCENREPSILENTMODEOBSERVER_H + +// INCLUDES +#include +#include +#include "SysAp.hrh" +#include +#include + +// CLASS DECLARATION + + +class CSysApCenRepSilentModeObserver : public CBase, public MCenRepNotifyHandlerCallback + { + public: // Constructors and destructor + /** + * Default constructor + */ + static CSysApCenRepSilentModeObserver* NewL( ); + + /** + * Destructor. + */ + ~CSysApCenRepSilentModeObserver(); + + // From MCenRepNotifyHandlerCallback + void HandleNotifyInt( TUint32 aId, TInt aNewValue ); + void HandleNotifyError( TUint32 aId, TInt error, CCenRepNotifyHandler* aHandler ); + + private: + + /** + * @param None + * @return void + */ + void ConstructL( ); + + + /** + * C++ default constructor. + * @param None + * @return void + */ + CSysApCenRepSilentModeObserver(); + + + //To activate and Deactivate the indicator + void SilenceIndicatorL(TInt avalue); + + + + + private: + + CRepository* iSession; + //To listen to the silentmodekey + CCenRepNotifyHandler* iSilentModeHandler; + }; + +#endif // SYSAPCENREPSILENTMODEOBSERVER_H + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Src/SysApAppUi.cpp --- a/coreapplicationuis/SysAp/Src/SysApAppUi.cpp Wed Sep 29 15:24:56 2010 +0300 +++ b/coreapplicationuis/SysAp/Src/SysApAppUi.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -55,7 +55,7 @@ #include "sysapkeymanagement.h" #include "SysApShutdownImage.h" #include "SysApKeySndHandler.h" - +#include "SysApCenRepSilentModeObserver.h" #include "SysApShutdownAnimation.h" #include "SysApEtelConnector.h" @@ -74,6 +74,21 @@ #include #include "sysap.rsg" #include +//Qt Highway +#include +#include +#include +#include +#include +#include +#include +//For End Key +#include +//For HS RPropertyKey +#include +//For Hs Changes +#include +#include class CHbSymbianVariant; const TInt KModifierMask( 0 ); @@ -156,7 +171,10 @@ RWindowGroup groupWin = iCoeEnv->RootWin(); User::LeaveIfError ( iCapturedEKeyPowerOff = groupWin.CaptureKey( EKeyPowerOff, KModifierMask, KModifierMask ) ); User::LeaveIfError ( iCapturedEKeyPowerOffUpAndDowns = groupWin.CaptureKeyUpAndDowns( EStdKeyDevice2, KModifierMask, KModifierMask ) ); - + //Capture SEND and END keys + User::LeaveIfError ( iCapturedEKeySendKey = groupWin.CaptureKey( EKeyPhoneSend, KModifierMask, KModifierMask ) ); + User::LeaveIfError ( iCapturedEKeyEndKey = groupWin.CaptureKey( EKeyPhoneEnd, KModifierMask, KModifierMask ) ); + TRACES ( RDebug::Print( _L("CSysApAppUi::ConstructL: trying CSysApDefaultKeyHandler::NewL()") ) ); iSysApDefaultKeyHandler = CSysApDefaultKeyHandler::NewL(*this); @@ -256,6 +274,10 @@ TRACES( RDebug::Print( _L("CCSysApAppUi::ConstructL trying CSysApCenRepHacSettingObserver::NewL") ) ); iSysApCenRepHacSettingObserver = CSysApCenRepHacSettingObserver::NewL( *this ); + TRACES( RDebug::Print( _L("CCSysApAppUi::ConstructL trying CSysApCenRepSilentModeObserver::NewL") ) ); + iSysApCenRepSilentModeObserver = CSysApCenRepSilentModeObserver::NewL( ); + + #ifndef RD_MULTIPLE_DRIVE if ( iSysApFeatureManager->MmcSupported() ) { @@ -320,7 +342,10 @@ delete iVariantAccState; delete iSysApAudioRoutingObserver; - + + delete iChargingAnimation; + iChargingAnimation=NULL; + if (iMemCardPwdDialog!=NULL) { //PowerMenu already exist @@ -344,13 +369,17 @@ RWindowGroup groupWin = iCoeEnv->RootWin(); groupWin.CancelCaptureKey( iCapturedEKeyPowerOff ); groupWin.CancelCaptureKeyUpAndDowns( iCapturedEKeyPowerOffUpAndDowns ); + //Deregister SendKey + groupWin.CancelCaptureKey( iCapturedEKeySendKey ); + //Deregister EndKey + groupWin.CancelCaptureKey( iCapturedEKeyEndKey ); delete iSysApDefaultKeyHandler; delete iSysApCenRepLightSettingsObserver; delete iSysApCenRepBtObserver; delete iSysApCenRepHacSettingObserver; delete iSysApCenRepController; - + delete iSysApCenRepSilentModeObserver; delete iSysApPubSubObserver; delete iSysApLightsController; @@ -491,7 +520,7 @@ if ( iSysApPsmController ) { - if ( iCharging ) // if charger is connected on boot PSM queries may need to be shown + if ( iCharging ) // { HandleChargingStatusL( StateOfProperty( KPSUidHWRMPowerState, KHWRMChargingStatus ) ); } @@ -516,14 +545,7 @@ // low and empty battery states are informed to the user in device startup HandleBatteryStatusL( batteryStatus ); } - else if ( iSysApPsmController && !iCharging ) - { - TRACES( RDebug::Print(_L("CSysApAppUi::HandleUiReadyAfterBootL: batteryStatus %d, iCharging %d -> disable partial psm" ), batteryStatus, iCharging ) ); - - iSysApPsmController->BatteryLow( EFalse ); - iSysApPsmController->DoEnablePartialPsm( EFalse ); - } - + if ( ! iSysApUsbIndicatorController ) { TRAPD ( usbErr, iSysApUsbIndicatorController = CreateSysApUsbIndicatorL( *this ) ); @@ -556,16 +578,23 @@ iSysApPsmController = CSysApPsmController::NewL( *this ); } - // in charger boot explicitly disable power save mode + // In charger boot explicitly disable power save mode if ( aSwState == RStarterSession::ECharging ) { iSysApPsmController->ChargerConnected(); - iSysApPsmController->DoEnableFullPsm(EFalse); // disable power save now + iSysApPsmController->DoEnableFullPsm(EFalse); // disable power save mode now } } if ( aSwState == RStarterSession::ECharging || aSwState == RStarterSession::EAlarm ) { + if(aSwState == RStarterSession::ECharging ) + { + TRACES( RDebug::Print(_L("CSysApAppUi::DoStateChangedL: Stop the splash screen and start charging animation.") ) ); + //Stop the splash screen and start charging animation + RProperty::Set( KPSUidStartup, KPSSplashShutdown, ESplashShutdown); + } + TInt state( StateOfProperty( KPSUidHWRMPowerState, KHWRMBatteryLevel ) ); //Also Charging status will be updated with the following function. UpdateBatteryBarsL( state ); @@ -665,14 +694,14 @@ return iResourcesFreed; } -void CSysApAppUi::ShowExampleUiNoteL( const TDesC& noteText )const +void CSysApAppUi::ShowNoteL( const TDesC& noteText )const { - TRACES( RDebug::Print( _L("CSysApAppUi::ShowExampleUiNoteL:: constructing CHbDeviceMessageBoxSymbian:BeGIN") ) ); + TRACES( RDebug::Print( _L("CSysApAppUi::ShowNoteL:: constructing CHbDeviceMessageBoxSymbian:BeGIN") ) ); CHbDeviceMessageBoxSymbian *note = CHbDeviceMessageBoxSymbian::NewL(CHbDeviceMessageBoxSymbian::EInformation); CleanupStack::PushL(note); - TRACES( RDebug::Print( _L("CSysApAppUi::ShowExampleUiNoteL:: construction of CHbDeviceMessageBoxSymbian:END") ) ); + TRACES( RDebug::Print( _L("CSysApAppUi::ShowNoteL:: construction of CHbDeviceMessageBoxSymbian:END") ) ); note->SetTextL(noteText); - note->SetTimeout(300); + note->SetTimeout(3000); TRACES( RDebug::Print( _L("CSysApAppUi:: Display of CHbDeviceMessageBoxSymbian::Begin") ) ); note->ShowL(); TRACES( RDebug::Print( _L("CSysApAppUi:: Display of CHbDeviceMessageBoxSymbian::End") ) ); @@ -1133,6 +1162,9 @@ if( !iIgnoreNextPowerKeyRepeats ) { iIgnoreNextPowerKeyRepeats = ETrue; + + delete iChargingAnimation; + iChargingAnimation=NULL; SetStarterState( RStarterSession::ENormal ); } @@ -1263,7 +1295,7 @@ TPtrC aStringPointer = aString->Des(); aStringPointer.Set(KPowerPressKey); TRACES( RDebug::Print( _L("CSysApWsClient::RunL(): Key EEventKeyUp 01") ) ); - ShowExampleUiNoteL( aStringPointer ); + ShowNoteL( aStringPointer ); CleanupStack::PopAndDestroy(); // aString } @@ -2014,8 +2046,7 @@ { if ( iSysApPsmController && UiReady() ) { - iSysApPsmController->BatteryLow( ETrue ); - + if ( enableAutoPsm) { @@ -2056,64 +2087,42 @@ // CSysApAppUi::ShowUiNoteL( const TSysApNoteIds aNote ) const // ---------------------------------------------------------------------------- -void CSysApAppUi::ShowUiNoteL( const TSysApNoteIds aNote ) const +void CSysApAppUi::ShowUiNoteL( const TSysApNoteIds aNote ) { - TRACES( RDebug::Print( _L("CSysApAppUi::ShowUiNoteL aNote: %d"), aNote ) ); - + TRACES( RDebug::Print( _L("CSysApAppUi::ShowUiNoteL aNote") ) ); TInt swState( StateOfProperty( KPSUidStartup, KPSGlobalSystemState ) ); - if( UiReady() || swState == ESwStateSecurityCheck) - { + { + TRACES( RDebug::Print( _L("CSysApAppUi::ShowUiNoteL aNote: %d"), aNote ) ); switch ( aNote ) { case EBatteryLowNote: { - _LIT(KPowerPressKey,"Battery low"); - HBufC* aString = HBufC16::NewLC(100); - TPtrC aStringPointer = aString->Des(); - aStringPointer.Set(KPowerPressKey); - TRACES( RDebug::Print( _L("CSysApWsClient::RunL(): Key EEventKeyUp 01") ) ); - ShowExampleUiNoteL( aStringPointer ); - CleanupStack::PopAndDestroy(); // aString + _LIT(KLowBattery,"Battery low"); + ShowNoteL( KLowBattery() ); } break; case EBatteryFullNote: { - _LIT(KPowerPressKey,"Battery full"); - HBufC* aString = HBufC16::NewLC(100); - TPtrC aStringPointer = aString->Des(); - aStringPointer.Set(KPowerPressKey); - TRACES( RDebug::Print( _L("CSysApWsClient::RunL(): Key EEventKeyUp 01") ) ); - ShowExampleUiNoteL( aStringPointer ); - CleanupStack::PopAndDestroy(); // aString + _LIT(KBatteryFull,"Battery full"); + ShowNoteL( KBatteryFull() ); } break; case ERechargeBatteryNote: { iSysApLightsController->BatteryEmptyL( ETrue ); - _LIT(KPowerPressKey,"Battery empty. Recharge"); - HBufC* aString = HBufC16::NewLC(100); - TPtrC aStringPointer = aString->Des(); - aStringPointer.Set(KPowerPressKey); - TRACES( RDebug::Print( _L("CSysApWsClient::RunL(): Key EEventKeyUp 01") ) ); - ShowExampleUiNoteL( aStringPointer ); - CleanupStack::PopAndDestroy(); // aString + _LIT(KRechargeBattery,"Battery empty. Recharge"); + ShowNoteL( KRechargeBattery() ); } break; case ENotChargingNote: { - _LIT(KPowerPressKey,"Not charging"); - HBufC* aString = HBufC16::NewLC(100); - TPtrC aStringPointer = aString->Des(); - aStringPointer.Set(KPowerPressKey); - TRACES( RDebug::Print( _L("CSysApWsClient::RunL(): Key EEventKeyUp 01") ) ); - ShowExampleUiNoteL( aStringPointer ); - CleanupStack::PopAndDestroy(); // aString + _LIT(KNotCharging,"Not charging"); + ShowNoteL( KNotCharging() ); } break; case EBatteryFullUnplugChargerNote: { - TRACES( RDebug::Print( _L("CSysApWsClient::RunL(): Key EEventKeyUp 01") ) ); iSysApLightsController->BatteryEmptyL( ETrue ); _LIT(KunplugCharger,"txt_power_dpopinfo_unplug_charger_to_save_energy"); HBufC* unplugCharger = HbTextResolverSymbian::LoadL(KunplugCharger); @@ -2124,22 +2133,28 @@ break; case EUnplugChargerNote: { - _LIT(KPowerPressKey,"Unplug charger from power supply to save energy"); - HBufC* aString = HBufC16::NewLC(250); - TPtrC aStringPointer = aString->Des(); - aStringPointer.Set(KPowerPressKey); - TRACES( RDebug::Print( _L("CSysApWsClient::RunL(): Key EEventKeyUp 01") ) ); - ShowExampleUiNoteL( aStringPointer ); - CleanupStack::PopAndDestroy(); // aString + _LIT(KUnplugCharger,"Unplug charger from power supply to save energy"); + ShowNoteL( KUnplugCharger() ); } break; + case ESysApRestartPhone: + { + //Show the restart note + _LIT(KRestartPhone,"Phone will be restarted"); + ShowNoteL( KRestartPhone() ); + //wait for 3 seconds to close note. Other wise the shutdown will continue + //without waiting for note to complete. + User::After(4000000); + //Now restart the device + DoShutdownL( ETrue, RStarterSession::EDataRestoreReset ); + } + break; default: break; } } } - - + // ---------------------------------------------------------------------------- // CSysApAppUi::BatteryEmptyL() // ---------------------------------------------------------------------------- @@ -2296,6 +2311,16 @@ { TRACES( RDebug::Print( _L("CSysApAppUi::UpdateBatteryBarsL: Starting Charging") ) ); iCharging = ETrue; + + TInt swState; + RProperty::Get( KPSUidStartup, KPSGlobalSystemState, swState ); + if(swState == ESwStateCharging) + { + if(!iChargingAnimation) + iChargingAnimation= CSysApChargingAnimation::NewL(); + + iChargingAnimation->StartChargingAnimationL(); + } } } else @@ -2304,6 +2329,14 @@ { TRACES( RDebug::Print( _L("CSysApAppUi::UpdateBatteryBarsL: Stopping Charging") ) ); iCharging = EFalse; + + TInt swState; + RProperty::Get( KPSUidStartup, KPSGlobalSystemState, swState ); + if(swState == ESwStateCharging) + { + delete iChargingAnimation; + iChargingAnimation=NULL; + } } } @@ -2355,10 +2388,7 @@ if ( showNote ) // Power Mgmt UI spec defines that no Charging note is shown while the phone is ringing/alerting { TRACES( RDebug::Print( _L("CSysApWsClient::RunL(): Key EEventKeyUp 01") ) ); - _LIT(KChargingNote,"txt_power_management_dblist_charging"); - HBufC* chargingNote = HbTextResolverSymbian::LoadL(KChargingNote); - CHbDeviceNotificationDialogSymbian::NotificationL(KNullDesC,*chargingNote); - + } } } @@ -2776,6 +2806,30 @@ Exit(); break; #endif + case EKeyPhoneSend: + { + TRACES( RDebug::Print(_L("CSysApAppUi::HandleKeyEventL, Send key event received::Start") ) ); + if (UiReady()&& aKeyEvent.iRepeats == 0) + { + //Ignore LongPress on SEND key event as Long press generates Short press event too, + //And there is no Different use case for long press. + HandleSendKeyEventL(); + } + TRACES( RDebug::Print(_L("CSysApAppUi::HandleKeyEventL, Send key event received::End") ) ); + break; + } + case EKeyPhoneEnd: + { + TRACES( RDebug::Print(_L("CSysApAppUi::HandleKeyEventL, End key event received") ) ); + if (UiReady() && aKeyEvent.iRepeats == 0) + { + //Ignore LongPress on END key event as Long press generates Short press event too, + //And there is no Different use case for long press. + HandleEndKeyEventL(); + } + TRACES( RDebug::Print(_L("CSysApAppUi::HandleKeyEventL()::EKeyPhoneEnd: End" ) ) ); + break; + } case EKeyPowerOff: //Short power key press iKeyBoardRepeatCount++; @@ -3104,19 +3158,8 @@ void CSysApAppUi::ShowEjectWaitNoteL( TInt /* aDriveToEject */ ) { - /* if ( iSysApWaitNote ) - { - return; - } - HBufC* text = iSysApDriveList->GetFormattedDriveNameLC( - aDriveToEject, - 0, // Not used - R_QTN_EJECTING_MEMORY_NAME_WAIT ); - iSysApWaitNote = CSysApWaitNote::NewL( - iSysApFeatureManager->CoverDisplaySupported() ); - iSysApWaitNote->ShowNoteL( EClosingApplicationsNote, text ); - CleanupStack::PopAndDestroy( text ); - */ } + // removed code , it can be needed if the wait note required in 10.1 + } // ---------------------------------------------------------------------------- // CSysApAppUi::IsEjectQueryVisible @@ -3142,9 +3185,6 @@ iSysApDriveList->GetMemoryCardsL( iInsertedMemoryCards, CSysApDriveList::EIncludeInserted ); - // Update memory card indicator status -// SetMemoryCardIndicatorL(); - // Handle unlock RunUnlockNotifierL(); } @@ -3721,15 +3761,6 @@ iSysApDriveList->MarkDriveInsertBeepIgnored( aDrive ); } } - -// if ( iDriveToDismount == aDrive && iSysApConfirmationQuery ) - { -// if ( iSysApConfirmationQuery->CurrentQuery() == ESysApRemoveMmcNote ) - { - // User put back ejected memory card or did not remove it -// iSysApConfirmationQuery->Cancel(); - } - } RunUnlockNotifierL(); } break; @@ -3754,8 +3785,6 @@ iSysApDriveList->ResetDriveInsertBeepIgnored( aDrive ); } -// CancelGlobalListQuery(); // Cancel power menu - if ( aDrive == defaultMemoryCard ) { RProperty::Set( KPSUidUikon, KUikMMCInserted, 0 ); @@ -3814,9 +3843,6 @@ iSysApDriveList->GetMemoryCardsL( iInsertedMemoryCards, CSysApDriveList::EIncludeInserted ); - // Update memory card indicator status -// SetMemoryCardIndicatorL(); - TRACES( RDebug::Print( _L( "CSysApAppUi::MMCStatusChangedL END: MMCCount: %d, iMMCEjectUsed: %d" ), iInsertedMemoryCards.Count(), iMMCEjectUsed ) ); @@ -4055,6 +4081,147 @@ } } +/** + * Handles SEND key events + * If SEND key is pressed in idle Home screen view, This will bring LOGS View without DialPad. + * otherwise, it brings LOGS&Dial pad. + */ +void CSysApAppUi::HandleSendKeyEventL() + { + TRACES( RDebug::Print( _L("CSysApAppUi::HandleSendKeyEventL: START") ) ); + //Check whether ForeGround app is HomeScreen + TInt hsStatus(EHomeScreenIdleState) ; + //Get the RProperty + User::LeaveIfError( RProperty::Get(KHsCategoryUid, KHsCategoryStateKey, hsStatus)); + //Enable dialpad in Non-HS view + const TBool enableDialPad( EHomeScreenIdleState != hsStatus ); + + //invoke LOGS/Dialer app + XQApplicationManager appMgr; + QScopedPointer request(appMgr.create(QString("logs"), XQI_LOGS_VIEW, XQOP_LOGS_SHOW, false)); + + if (!request.isNull()) + { + TRACES( RDebug::Print( _L("CSysApAppUi::HandleSendKeyEventL::Request::Begin") ) ); + int retValue = -1; + + QVariantMap map; + map.insert(XQLOGS_VIEW_INDEX, QVariant(0)); + map.insert(XQLOGS_SHOW_DIALPAD, QVariant(enableDialPad)); + map.insert(XQLOGS_DIALPAD_TEXT, QVariant(QString())); + + QList arglist; + + arglist.append(QVariant(map)); + request->setArguments(arglist); + QVariant ret(retValue); + request->send(ret); + TRACES( RDebug::Print( _L("CSysApAppUi::InvokeApp::Request::End") ) ); + } + + TRACES( RDebug::Print( _L("CSysApAppUi::HandleSendKeyEventL: End") ) ); + } + +/** + * Handles END key events + * If END key is pressed, Fore ground app will be exits and + * Home screen view will brought to Foreground + */ +void CSysApAppUi::HandleEndKeyEventL() + { + TRACES( RDebug::Print( _L("CSysApAppUi::HandleEndKeyEventL: Start") ) ); + //Get ForeGround App + TInt foregroundWindowGroupId = iEikonEnv->WsSession().GetFocusWindowGroup(); + CApaWindowGroupName* doomedApp = CApaWindowGroupName::NewLC(iEikonEnv->WsSession(),foregroundWindowGroupId ); + + //Bring the HS before killing the ForeGround App. + _LIT(KHsActivactionUri, "appto://20022F35?activityname=HsIdleView"); + RApaLsSession apaLsSession; + CleanupClosePushL(apaLsSession); + User::LeaveIfError(apaLsSession.Connect()); + CAfActivityLauncher *activityEnabler = CAfActivityLauncher::NewLC(apaLsSession, iEikonEnv->WsSession()); + activityEnabler->launchActivityL(KHsActivactionUri); + CleanupStack::PopAndDestroy(activityEnabler); + CleanupStack::PopAndDestroy(&apaLsSession); + + //End or Kill the Foreground App + //If Phone is in HS idle view, End key have no impact. + if ( !doomedApp->IsSystem() ) + { + TApaTask task( iEikonEnv->WsSession() ); + task.SetWgId( foregroundWindowGroupId ); + TRACES ( + const TDesC& caption = doomedApp->Caption(); + const TDesC& docname = doomedApp->DocName(); + const TDesC& wgname = doomedApp->WindowGroupName(); + TUid uid = doomedApp->AppUid(); + RDebug::Print( _L("CSysApAppUi::HandleEndKeyEventL: Closing app \"%S\" (ThreadId %d, WgId %d, UID 0x%X); Docname: %S, WGName : %S"), + &caption, + (TUint)(task.ThreadId()), + foregroundWindowGroupId, + uid.iUid, + &docname, + &wgname); + ); + task.EndTask(); + TRACES( RDebug::Print(_L("CSysApAppUi::HandleKeyEventL::HandleEndKeyEventL, End task event triggered") ) ); + } + CleanupStack::PopAndDestroy(doomedApp);//doomedApp + TRACES( RDebug::Print( _L("CSysApAppUi::HandleEndKeyEventL: End") ) ); + } + +// ---------------------------------------------------------------------------- +// CSysApAppUi::GetTelServerL() +// ---------------------------------------------------------------------------- + +RTelServer* CSysApAppUi::GetTelServer() + { + if ( iSysApEtelConnector ) + { + return iSysApEtelConnector->GetTelServer(); + } + else + { + return NULL; + } + } + +// ---------------------------------------------------------------------------- +// CSysApAppUi::StartChargingAnimationL +// ---------------------------------------------------------------------------- +// +void CSysApAppUi::StartChargingAnimationL() + { + TRACES( RDebug::Print( _L("CSysApAppUi::StartChargingAnimationL") ) ); + if(!iChargingAnimation) + iChargingAnimation= CSysApChargingAnimation::NewL(); + + iChargingAnimation->StartChargingAnimationL(); + } + +// ---------------------------------------------------------------------------- +// CSysApAppUi::StartChargingFullAnimationL +// ---------------------------------------------------------------------------- +// +void CSysApAppUi::StartChargingFullAnimationL() + { + TRACES( RDebug::Print( _L("CSysApAppUi::StartChargingFullAnimationL") ) ); + if(!iChargingAnimation) + iChargingAnimation= CSysApChargingAnimation::NewL(); + + iChargingAnimation->StartChargingFullAnimationL(); + } + +// ---------------------------------------------------------------------------- +// CSysApAppUi::StopChargingAnimationL +// ---------------------------------------------------------------------------- +// +void CSysApAppUi::StopChargingAnimationL() + { + TRACES( RDebug::Print( _L("CSysApAppUi::StopChargingAnimationL") ) ); + if(iChargingAnimation) + iChargingAnimation->StopAnimation(); + } //end of file diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Src/SysApConfirmationQuery.cpp --- a/coreapplicationuis/SysAp/Src/SysApConfirmationQuery.cpp Wed Sep 29 15:24:56 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,382 +0,0 @@ -/* -* Copyright (c) 2004-2007 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: CSysApConfirmationQuery implementation. -* -*/ - - -// INCLUDES - -#include -#include -#include "SysAp.hrh" -#include "SysApConfirmationQuery.h" -#include "SysApAppUi.h" -#include -#include -#include -#include -#include -#include - -// Constants -_LIT( KEmptyString, "" ); - - - -// ============================ MEMBER FUNCTIONS ============================== - -// ---------------------------------------------------------------------------- -// CSysApConfirmationQuery::NewL() -// ---------------------------------------------------------------------------- -CSysApConfirmationQuery* CSysApConfirmationQuery::NewL( CSysApAppUi& aSysApAppUi ) - { - CSysApConfirmationQuery* self = new(ELeave) CSysApConfirmationQuery( aSysApAppUi ); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(); - return self; - } - -// ---------------------------------------------------------------------------- -// CSysApConfirmationQuery::ConstructL() -// ---------------------------------------------------------------------------- -void CSysApConfirmationQuery::ConstructL() - { - CActiveScheduler::Add(this); - iQuery = CAknGlobalConfirmationQuery::NewL(); - iQueryId = ESysApNoQuery; - } - -// ---------------------------------------------------------------------------- -// CSysApConfirmationQuery::CSysApConfirmationQuery( CSysApAppUi& aSysApAppUi ) -// ---------------------------------------------------------------------------- - -CSysApConfirmationQuery::CSysApConfirmationQuery( CSysApAppUi& aSysApAppUi ) - : CActive( EPriorityStandard ), iSysApAppUi( aSysApAppUi ) - { - } - -// ---------------------------------------------------------------------------- -// CSysApConfirmationQuery::~CSysApConfirmationQuery() -// ---------------------------------------------------------------------------- - -CSysApConfirmationQuery::~CSysApConfirmationQuery() - { - Cancel(); - delete iQuery; - iQuery = NULL; - } - - -// ---------------------------------------------------------------------------- -// CSysApConfirmationQuery::DoCancel() -// ---------------------------------------------------------------------------- - -void CSysApConfirmationQuery::DoCancel() - { - TRACES( RDebug::Print( _L("CSysApConfirmationQuery::DoCancel()" ) ) ); - iQuery->CancelConfirmationQuery(); - } - -// ---------------------------------------------------------------------------- -// CSysApConfirmationQuery::ShowQueryL() -// ---------------------------------------------------------------------------- - -void CSysApConfirmationQuery::ShowQueryL( const TSysApConfirmationQueryIds aQueryId, CCoeEnv* aLoaderEnv ) - { - ShowQueryL( aQueryId, KNullDesC, aLoaderEnv ); - } - -// ---------------------------------------------------------------------------- -// CSysApConfirmationQuery::ShowQueryL() -// ---------------------------------------------------------------------------- - -#ifdef RD_MULTIPLE_DRIVE -void CSysApConfirmationQuery::ShowQueryL( const TSysApConfirmationQueryIds aQueryId, const TDesC& aValue, CCoeEnv* aLoaderEnv ) -#else // RD_MULTIPLE_DRIVE -void CSysApConfirmationQuery::ShowQueryL( const TSysApConfirmationQueryIds aQueryId, const TDesC& /*aValue*/, CCoeEnv* aLoaderEnv ) -#endif // RD_MULTIPLE_DRIVE - { - TRACES( RDebug::Print( _L("CSysApConfirmationQuery::ShowQueryL( %d )"), aQueryId ) ); - HBufC* queryStringBuf = NULL; - HBufC* deviceNameBuf = NULL; - CAknQueryDialog::TTone tone = CAknQueryDialog::ENoTone; - - if( !IsActive() ) - { - iQueryId = aQueryId; - TInt secondaryDisplayCmdId(SecondaryDisplay::ECmdNoNote); - TInt keys(0); - TInt anim(0); - - switch ( iQueryId ) - { - case ESysApRestartPhoneQuery: - queryStringBuf = StringLoader::LoadLC( R_QTN_RESTART_QUERY, aLoaderEnv ); - keys = R_AVKON_SOFTKEYS_OK_EMPTY; - anim = R_QGN_NOTE_WARNING_ANIM; - secondaryDisplayCmdId = SecondaryDisplay::ECmdShowRestartPhoneQuery; - break; - case ESysApLeaveOfflineModeQuery: - queryStringBuf = StringLoader::LoadLC( R_QTN_LEAVE_OFFLINE_MODE_QUERY, aLoaderEnv ); - keys = R_AVKON_SOFTKEYS_YES_NO; - secondaryDisplayCmdId = SecondaryDisplay::ECmdShowLeaveOfflineModeQuery; - break; -#ifndef RD_MULTIPLE_DRIVE - case ESysApRemoveMmcNote: - queryStringBuf = StringLoader::LoadLC( R_QTN_MEMC_INFO_EJECT, aLoaderEnv ); - keys = R_AVKON_SOFTKEYS_OK_EMPTY; - anim = R_QGN_NOTE_INFO_ANIM; - secondaryDisplayCmdId = SecondaryDisplay::ECmdShowRemoveMmcQuery; - break; - case ESysApEjectMmcQuery: - queryStringBuf = StringLoader::LoadLC( R_QTN_MEMC_CONF_EJECT, aLoaderEnv ); - keys = R_AVKON_SOFTKEYS_YES_NO; - secondaryDisplayCmdId = SecondaryDisplay::ECmdShowEjectMmcQuery; - break; -#else // RD_MULTIPLE_DRIVE - case ESysApRemoveMmcNote: - queryStringBuf = aValue.AllocLC(); - keys = R_AVKON_SOFTKEYS_OK_EMPTY; - anim = R_QGN_NOTE_INFO_ANIM; - secondaryDisplayCmdId = SecondaryDisplay::ECmdShowRemoveMmcQuery; - break; - case ESysApEjectMmcQuery: - queryStringBuf = aValue.AllocLC(); - keys = R_AVKON_SOFTKEYS_YES_NO; - secondaryDisplayCmdId = SecondaryDisplay::ECmdShowEjectMmcQuery; - break; -#endif // RD_MULTIPLE_DRIVE - case ESysApBtSapDisconnectQuery: - deviceNameBuf = iSysApAppUi.GetBtSapDeviceNameL(); - if ( deviceNameBuf ) - { - CleanupStack::PushL(deviceNameBuf); - queryStringBuf = StringLoader::LoadL( R_QTN_BT_DISCONN_FROM, *deviceNameBuf, aLoaderEnv ); - } - else - { - queryStringBuf = StringLoader::LoadL( R_QTN_BT_DISCONN_FROM, KEmptyString, aLoaderEnv ); - } - CleanupStack::PushL(queryStringBuf); - keys = R_AVKON_SOFTKEYS_YES_NO; - secondaryDisplayCmdId = SecondaryDisplay::ECmdShowBtSapDisconnectQuery; - break; - case ESysApMemoryCardLockedNote: - iPendingQuery = ESysApMemoryCardLockedNote; - queryStringBuf = StringLoader::LoadLC( R_QTN_MEMC_LOCKED_NOT_SUPPORTED, aLoaderEnv ); - keys = R_AVKON_SOFTKEYS_OK_EMPTY; - anim = R_QGN_NOTE_INFO_ANIM; - secondaryDisplayCmdId = SecondaryDisplay::ECmdShowMemoryCardLockedQuery; - break; -/* case ESysApUseFmTxInOfflineQuery: - queryStringBuf - = StringLoader::LoadLC( R_QTN_FMTX_SYSAP_NOTE_ACTIVATE_IN_OFFLINE, - aLoaderEnv ); - keys = R_AVKON_SOFTKEYS_YES_NO; - secondaryDisplayCmdId = SecondaryDisplay::ECmdShowFmTxKeepOnInOfflineQuery; - break; -*/ case ESysApBattChargingPowerSavingQuery: - queryStringBuf = StringLoader::LoadLC( R_QTN_BATTERY_CHARGING_POWER_SAVING_QUERY, aLoaderEnv ); - keys = R_AVKON_SOFTKEYS_YES_NO; - secondaryDisplayCmdId = SecondaryDisplay::ECmdShowChargingDeactivatePowerSavingQuery; - tone = static_cast( EAvkonSIDChargingBatteryTone ); - break; - - case ESysApBattLowPowerSavingQuery: - queryStringBuf = StringLoader::LoadLC( R_QTN_BATTERY_CONF_QUERY, aLoaderEnv ); - keys = R_AVKON_SOFTKEYS_YES_NO; - secondaryDisplayCmdId = SecondaryDisplay::ECmdShowBattLowActivatePowerSavingQuery; - break; - - default: - break; - } - - if ( iSysApAppUi.CoverDisplaySupported() && secondaryDisplayCmdId != SecondaryDisplay::ECmdNoNote ) - { - TRACES( RDebug::Print( _L("CSysApConfirmationQuery::ShowQueryL - Notifying secondary display") ) ); - CAknSDData* sd = NULL; - if ( secondaryDisplayCmdId == SecondaryDisplay::ECmdShowBtSapDisconnectQuery ) - { - SecondaryDisplay::TDeviceName sdDeviceName; - sdDeviceName.Append(deviceNameBuf->Left(SecondaryDisplay::KMaxDeviceNameLen)); - SecondaryDisplay::TBtSapDisconnectQueryPckg pckg(sdDeviceName); - sd = CAknSDData::NewL(SecondaryDisplay::KCatSysAp, SecondaryDisplay::ECmdShowBtSapDisconnectQuery, pckg); - } - else - { - sd = CAknSDData::NewL(SecondaryDisplay::KCatSysAp, secondaryDisplayCmdId, KNullDesC8); - } - iQuery->SetSecondaryDisplayData(sd); // ownership to notifier client - } - - if ( keys && queryStringBuf ) - { - if ( anim ) - { - iQuery->ShowConfirmationQueryL( iStatus, - queryStringBuf->Des(), - keys, - anim, - KNullDesC, - 0, - 0, - tone ); - } - else - { - iQuery->ShowConfirmationQueryL( iStatus, - queryStringBuf->Des(), - keys, - 0, - KNullDesC, - 0, - 0, - tone ); - } - } - - SetActive(); - } - else - { - // If another query is wanted when ESysApMemoryCardLockedNote is active, override it (Continues in RunL which handles cancel). - if ( iQueryId == ESysApMemoryCardLockedNote && aQueryId != ESysApMemoryCardLockedNote ) - { - iPendingQuery = aQueryId; - iQuery->CancelConfirmationQuery(); - } - } - - if ( queryStringBuf ) - { - CleanupStack::PopAndDestroy( queryStringBuf ); // queryStringbuf - } - - if ( deviceNameBuf ) - { - CleanupStack::PopAndDestroy( deviceNameBuf ); // deviceNameBuf - } - - } - -// ---------------------------------------------------------------------------- -// CSysApConfirmationQuery::RunL() -// ---------------------------------------------------------------------------- - -void CSysApConfirmationQuery::RunL() - { - TRACES( RDebug::Print( _L( "CSysApConfirmationQuery::RunL: iQueryId = %d, iStatus = %d" ), iQueryId, iStatus.Int() ) ); - switch ( iQueryId ) - { - case ESysApRestartPhoneQuery: - { - TRACES( RDebug::Print( _L( "CSysApConfirmationQuery::RunL: calling CSysApAppUi::DoShutdownL( ETrue, EDataRestoreReset )" ) ) ); - iSysApAppUi.DoShutdownL( ETrue, RStarterSession::EDataRestoreReset ); - } - break; - case ESysApLeaveOfflineModeQuery: - if ( iStatus.Int() == EAknSoftkeyYes ) - { - TRACES( RDebug::Print( _L( "CSysApConfirmationQuery::RunL: calling CSysApAppUi::ActivateOnlineProfileL()" ) ) ); - iSysApAppUi.ActivateOnlineProfileL(); - } - break; - case ESysApRemoveMmcNote: - TRACES( RDebug::Print( _L( "CSysApConfirmationQuery::RunL: calling CSysApAppUi::MMCDismountedDialogConfirmed()" ) ) ); - iSysApAppUi.MMCDismountedDialogConfirmed(); - break; - case ESysApEjectMmcQuery: - if ( iStatus.Int() == EAknSoftkeyYes || iStatus.Int() == EEikBidOk ) - { - TRACES( RDebug::Print( _L( "CSysApConfirmationQuery::RunL: calling CSysApAppUi::EjectMMCL()" ) ) ); - iSysApAppUi.EjectMMCL(); - } - else - { - iSysApAppUi.EjectMMCCanceled(); - } - break; - case ESysApBtSapDisconnectQuery: - if ( iStatus.Int() == EAknSoftkeyYes ) - { - TRACES( RDebug::Print( _L( "CSysApConfirmationQuery::RunL: calling CSysApAppUi::DisconnectBtSap()" ) ) ); - iSysApAppUi.DisconnectBtSap(); - } - break; - case ESysApMemoryCardLockedNote: - // In case of MMC locked note we are only interested about error, as it means there is overriding query - if ( iStatus.Int() < 0 && iPendingQuery != ESysApMemoryCardLockedNote ) - { - TRACES( RDebug::Print( _L( "CSysApConfirmationQuery::RunL: Canceled ESysApMemoryCardLockedNote because more important query" ) ) ); - ShowQueryL( iPendingQuery, CCoeEnv::Static() ); - } - break; -/* case ESysApUseFmTxInOfflineQuery: - if ( iStatus.Int() == EAknSoftkeyNo ) - { - TRACES( RDebug::Print( _L( "CSysApConfirmationQuery::RunL: calling CSysApAppUi::ChangeFmTxStateL( EFalse )" ) ) ); - iSysApAppUi.ChangeFmTxStateL( EFalse ); // disable FM TX - } - break; -*/ case ESysApBattChargingPowerSavingQuery: - iSysApAppUi.HandleDeactivatePsmQueryResponse( iStatus.Int() == EAknSoftkeyYes ); - break; - - case ESysApBattLowPowerSavingQuery: - iSysApAppUi.HandleActivatePsmQueryResponse( iStatus.Int() == EAknSoftkeyYes ); - break; - - default: - TRACES( RDebug::Print( _L( "CSysApConfirmationQuery::RunL: default" ) ) ); - break; - } - } - -// ---------------------------------------------------------------------------- -// CSysApConfirmationQuery::RunError( TInt aError ) -// ---------------------------------------------------------------------------- - -#ifdef _DEBUG -TInt CSysApConfirmationQuery::RunError( TInt aError ) -#else -TInt CSysApConfirmationQuery::RunError( TInt /* aError */ ) -#endif - { - TRACES( RDebug::Print( _L( "CSysApConfirmationQuery::RunError: error code: %d " ), aError ) ); - return KErrNone; - } - -// ---------------------------------------------------------------------------- -// CSysApConfirmationQuery::CurrentQuery() -// ---------------------------------------------------------------------------- - -TInt CSysApConfirmationQuery::CurrentQuery() - { - TInt retval(ESysApNoQuery); - - if( IsActive() ) - { - retval = iQueryId; - } - - return retval; - } - -// End of File - - - diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Src/SysApLightsController.cpp --- a/coreapplicationuis/SysAp/Src/SysApLightsController.cpp Wed Sep 29 15:24:56 2010 +0300 +++ b/coreapplicationuis/SysAp/Src/SysApLightsController.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2005-2008 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2005-2010 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" @@ -29,6 +29,8 @@ #endif // RD_LIGHT_CONTROL_CHANGE #include "SysApFeatureManager.h" +#include +#include // CONSTANTS @@ -971,14 +973,26 @@ TInt err(KErrNone); -#ifdef RD_LIGHT_CONTROL_CHANGE - if ( !iLightPluginHandler->HandleCommand( SysApLightExtension::ELightCommandOff ) ) + TInt state( 0 ); + TInt error = RProperty::Get( KPSUidStartup, KPSGlobalSystemState, state ); + + if ( error == KErrNone && state != ESwStateCharging ) + { + #ifdef RD_LIGHT_CONTROL_CHANGE + if ( !iLightPluginHandler->HandleCommand( SysApLightExtension::ELightCommandOff ) ) + { + TRAP(err, iLight->LightOffL(CHWRMLight::ESystemTarget)); + } + #else // RD_LIGHT_CONTROL_CHANGE + TRAP(err, iLight->LightOffL(CHWRMLight::ESystemTarget)); + #endif // RD_LIGHT_CONTROL_CHANGE + } + else { TRAP(err, iLight->LightOffL(CHWRMLight::ESystemTarget)); + TRAP_IGNORE(iSysApAppUi.StopChargingAnimationL()); } -#else // RD_LIGHT_CONTROL_CHANGE - TRAP(err, iLight->LightOffL(CHWRMLight::ESystemTarget)); -#endif // RD_LIGHT_CONTROL_CHANGE + // Ignore unreserved in use warnings. if ( err != KErrNone && err != KErrInUse ) { @@ -1078,6 +1092,27 @@ iLightsCurrentlyOn = ETrue; iLastLightsOnTime.HomeTime(); } + + TInt state( 0 ); + TInt error = RProperty::Get( KPSUidStartup, KPSGlobalSystemState, state ); + TRACES( RDebug::Print( _L( "CSysApLightsController::SetLightsOnL - KPSGlobalSystemState: %d Error: %d"), state,error) ); + if ( error == KErrNone && state == ESwStateCharging ) + { + TInt value = iSysApAppUi.StateOfProperty( KPSUidHWRMPowerState, KHWRMChargingStatus ); + TRACES( RDebug::Print( _L( "CSysApLightsController::SetLightsOnL - KHWRMChargingStatus: %d"), value) ); + + if (value == EChargingStatusChargingComplete ) + { + TRAP_IGNORE(iSysApAppUi.StartChargingFullAnimationL()); + } + else if((value==EChargingStatusCharging)|| + (value==EChargingStatusAlmostComplete)|| + (value==EChargingStatusChargingContinued)) + { + TRAP_IGNORE(iSysApAppUi.StartChargingAnimationL()); + } + } + } else { diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Src/SysApMsgSimMemLowQuery.cpp --- a/coreapplicationuis/SysAp/Src/SysApMsgSimMemLowQuery.cpp Wed Sep 29 15:24:56 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,118 +0,0 @@ -/* -* Copyright (c) 2002 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: CSysApMsgSimMemLowQuery implementation. -* -*/ - - -// INCLUDES -#include -#include "SysApMsgSimMemLowQuery.h" -#include "SysAp.hrh" -#include -#include - -// ============================ MEMBER FUNCTIONS ============================== - -// ---------------------------------------------------------------------------- -// CSysApMsgSimMemLowQuery::CSysApMsgSimMemLowQuery() -// ---------------------------------------------------------------------------- - -CSysApMsgSimMemLowQuery::CSysApMsgSimMemLowQuery(TBool aCoverDisplaySupported) - : CActive( EPriorityStandard ), iCoverDisplaySupported(aCoverDisplaySupported) - { - CActiveScheduler::Add(this); - } - -// ---------------------------------------------------------------------------- -// CSysApMsgSimMemLowQuery::~CSysApMsgSimMemLowQuery() -// ---------------------------------------------------------------------------- - -CSysApMsgSimMemLowQuery::~CSysApMsgSimMemLowQuery() - { - Cancel(); - delete iSimMemoryLowQuery; - } - - -// ---------------------------------------------------------------------------- -// CSysApMsgSimMemLowQuery::DoCancel() -// ---------------------------------------------------------------------------- - -void CSysApMsgSimMemLowQuery::DoCancel() - { - } - -// ---------------------------------------------------------------------------- -// CSysApMsgSimMemLowQuery::StartL() -// ---------------------------------------------------------------------------- - -void CSysApMsgSimMemLowQuery::StartL( const TDesC& aPrompt ) - { - if( !IsActive() ) - { - iSimMemoryLowQuery = CAknGlobalConfirmationQuery::NewL(); - - // Set secondary display data if necessary - if ( iCoverDisplaySupported ) - { - CAknSDData* sd = CAknSDData::NewL(SecondaryDisplay::KCatSysAp, SecondaryDisplay::ECmdShowSimMemoryLowQuery, KNullDesC8); - iSimMemoryLowQuery->SetSecondaryDisplayData(sd); // ownership to notifier client - } - - iSimMemoryLowQuery->ShowConfirmationQueryL( - iStatus, - aPrompt, - R_AVKON_SOFTKEYS_OK_EMPTY, - R_QGN_NOTE_ERROR_ANIM, - KNullDesC, - 0, - 0, - CAknQueryDialog::EErrorTone, - EFalse - ); - SetActive(); - } - } - -// ---------------------------------------------------------------------------- -// CSysApMsgSimMemLowQuery::RunL() -// ---------------------------------------------------------------------------- - -void CSysApMsgSimMemLowQuery::RunL() - { - TRACES( RDebug::Print( _L( "CSysApMsgSimMemLowQuery::RunL: started, %d selected" ), iStatus.Int() ) ); - delete iSimMemoryLowQuery; - iSimMemoryLowQuery = NULL; - TRACES( RDebug::Print( _L( "CSysApMsgSimMemLowQuery::RunL: completed" ) ) ); - } - -// ---------------------------------------------------------------------------- -// CSysApMsgSimMemLowQuery::RunError( TInt aError ) -// ---------------------------------------------------------------------------- - -#ifdef _DEBUG -TInt CSysApMsgSimMemLowQuery::RunError( TInt aError ) -#else -TInt CSysApMsgSimMemLowQuery::RunError( TInt /* aError */ ) -#endif - { - TRACES( RDebug::Print( _L( "CSysApMsgSimMemLowQuery::RunError: %d started" ), aError ) ); - delete iSimMemoryLowQuery; - iSimMemoryLowQuery = NULL; - TRACES( RDebug::Print( _L( "CSysApMsgSimMemLowQuery::RunError: completed" ) ) ); - return KErrNone; - } - -// End of File diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Src/SysApPowerKeyMenuObserver.cpp --- a/coreapplicationuis/SysAp/Src/SysApPowerKeyMenuObserver.cpp Wed Sep 29 15:24:56 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,98 +0,0 @@ -/* -* Copyright (c) 2002-2007 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: CSysApPowerKeyMenuObserver implementation. -* -*/ - - -// INCLUDES -#include "SysApPowerKeyMenuObserver.h" -#include "SysApAppUi.h" -#include // KAknPowerMenuStatus - -// ============================ MEMBER FUNCTIONS ============================== - -// ---------------------------------------------------------------------------- -// CSysApPowerKeyMenuObserver::CSysApPowerKeyMenuObserver( CSysApAppUi& aSysApAppUi ) -// ---------------------------------------------------------------------------- - -CSysApPowerKeyMenuObserver::CSysApPowerKeyMenuObserver( CSysApAppUi& aSysApAppUi ) - : CActive( EPriorityStandard ), - iSysApAppUi( aSysApAppUi ) - { - CActiveScheduler::Add(this); - } - -// ---------------------------------------------------------------------------- -// CSysApPowerKeyMenuObserver::~CSysApPowerKeyMenuObserver() -// ---------------------------------------------------------------------------- - -CSysApPowerKeyMenuObserver::~CSysApPowerKeyMenuObserver() - { - Cancel() ; - } - - -// ---------------------------------------------------------------------------- -// CSysApPowerKeyMenuObserver::DoCancel() -// ---------------------------------------------------------------------------- - -void CSysApPowerKeyMenuObserver::DoCancel() - { - RProperty::Set( KPSUidAvkonDomain, KAknPowerMenuStatus, EPowerMenuNotOpen ); - } - -// ---------------------------------------------------------------------------- -// CSysApPowerKeyMenuObserver::Start() -// ---------------------------------------------------------------------------- - -void CSysApPowerKeyMenuObserver::Start() - { - if( !IsActive() ) - { - RProperty::Set( KPSUidAvkonDomain, KAknPowerMenuStatus, EPowerMenuOpen ); - SetActive(); - } - } - -// ---------------------------------------------------------------------------- -// CSysApPowerKeyMenuObserver::RunL() -// ---------------------------------------------------------------------------- - -void CSysApPowerKeyMenuObserver::RunL() - { - TRACES( RDebug::Print( _L( "CSysApPowerKeyMenuObserver::RunL: started, %d selected" ), iStatus.Int() ) ); - RProperty::Set( KPSUidAvkonDomain, KAknPowerMenuStatus, EPowerMenuNotOpen ); - iSysApAppUi.PowerKeyPopUpMenuSelectionDoneL( iStatus.Int() ); - TRACES( RDebug::Print( _L( "CSysApPowerKeyMenuObserver::RunL: completed" ) ) ); - } - -// ---------------------------------------------------------------------------- -// CSysApPowerKeyMenuObserver::RunError( TInt aError ) -// ---------------------------------------------------------------------------- - -TInt CSysApPowerKeyMenuObserver::RunError( TInt aError ) - { - TRACES( RDebug::Print( _L( "CSysApPowerKeyMenuObserver::RunError: %d started" ), aError ) ); - if( aError == KErrNoMemory || aError == KErrDiskFull ) - { - return aError; - } - else - { - return KErrNone; - } - } - -// End of File diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Src/SysApProfileObserver.cpp --- a/coreapplicationuis/SysAp/Src/SysApProfileObserver.cpp Wed Sep 29 15:24:56 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,86 +0,0 @@ -/* -* Copyright (c) 2005 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: CSysApProfileObserver implementation. -* -*/ - - -// INCLUDE FILES -#include "SysApProfileObserver.h" -#include "SysApAppUi.h" - -// ========================== MEMBER FUNCTIONS ================================ - -// ---------------------------------------------------------------------------- -// CSysApProfileObserver* CSysApProfileObserver::NewL() -// ---------------------------------------------------------------------------- - -CSysApProfileObserver* CSysApProfileObserver::NewL( CSysApAppUi& aSysApAppUi ) - { - TRACES( RDebug::Print( _L("CSysApProfileObserver::NewL" ) ) ); - CSysApProfileObserver* self = new ( ELeave ) CSysApProfileObserver( aSysApAppUi ); - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop(); //self - return self; - } - -// ---------------------------------------------------------------------------- -// CSysApProfileObserver::CSysApProfileObserver( CSysApAppUi& aSysApAppUi ) -// ---------------------------------------------------------------------------- - -CSysApProfileObserver::CSysApProfileObserver( CSysApAppUi& aSysApAppUi ) - : iSysApAppUi( aSysApAppUi ) - { - TRACES( RDebug::Print( _L("CSysApProfileObserver::CSysApProfileObserver" ) ) ); - } - -// ---------------------------------------------------------------------------- -// CSysApProfileObserver::~CSysApProfileObserver() -// ---------------------------------------------------------------------------- - -CSysApProfileObserver::~CSysApProfileObserver() - { - TRACES( RDebug::Print( _L("~CSysApProfileObserver") ) ); - delete iHandler; - } - -// ---------------------------------------------------------------------------- -// CSysApProfileObserver::ConstructL() -// ---------------------------------------------------------------------------- - -void CSysApProfileObserver::ConstructL() - { - TRACES( RDebug::Print( _L("CSysApProfileObserver::ConstructL()") ) ); - iHandler = CProfileChangeNotifyHandler::NewL( this ); - } - -// ---------------------------------------------------------------------------- -// CSysApProfileObserver::HandleActiveProfileEventL() -// ---------------------------------------------------------------------------- -void CSysApProfileObserver::HandleActiveProfileEventL( TProfileEvent aProfileEvent, TInt aProfileId ) - { - TRACES( RDebug::Print( _L("CSysApProfileObserver::HandleActiveProfileEventL(): aProfileId=%d"), aProfileId ) ); - if ( aProfileEvent == EProfileNewActiveProfile ) - { - iSysApAppUi.HandleProfileChangedL( aProfileId ); - } - else if ( aProfileEvent == EProfileActiveProfileModified ) - { - iSysApAppUi.CheckSilentModeL(); - } - } - -// End of File - diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Src/SysApPubSubObserver.cpp --- a/coreapplicationuis/SysAp/Src/SysApPubSubObserver.cpp Wed Sep 29 15:24:56 2010 +0300 +++ b/coreapplicationuis/SysAp/Src/SysApPubSubObserver.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2005-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" @@ -636,8 +636,7 @@ else if ( iRestoreOngoing ) { TRACES( RDebug::Print( _L("CSysApPubSubObserver::HandleSystemCategoryL: restore finished, make the device reset" ) ) ); - User::After( 1000000 ); - iSysApAppUi.ShowQueryL( ESysApRestartPhoneQuery ); + iSysApAppUi.ShowUiNoteL( ESysApRestartPhone ); } } break; diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Src/SysApShutdownImage.cpp --- a/coreapplicationuis/SysAp/Src/SysApShutdownImage.cpp Wed Sep 29 15:24:56 2010 +0300 +++ b/coreapplicationuis/SysAp/Src/SysApShutdownImage.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2005-2008 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2005-2010 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" @@ -166,7 +166,7 @@ // ---------------------------------------------------------------------------- // CSysApShutdownImage::ShowShutdownImage() // ---------------------------------------------------------------------------- -CFbsBitmap* CSysApShutdownImage::ReadSVGL (TFileName aFileName) +CFbsBitmap* CSysApShutdownImage::ReadSVGL (const TFileName& aFileName) { TRACES( RDebug::Print(_L("CSysApShutdownImage::ReadSVGL:start" ) ) ); TFontSpec fontspec; diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Src/SysApSimChanged.cpp --- a/coreapplicationuis/SysAp/Src/SysApSimChanged.cpp Wed Sep 29 15:24:56 2010 +0300 +++ b/coreapplicationuis/SysAp/Src/SysApSimChanged.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2005-2007 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2005-2010 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" @@ -117,13 +117,13 @@ dateTime.Set( 2100, EJanuary, 1, 0, 0, 0, 0 ); TTime date(dateTime); -/* TRACES( RDebug::Print( _L("CSysApSimChanged::ClearLogsL(): trying CLogClient::NewL") ) ); + TRACES( RDebug::Print( _L("CSysApSimChanged::ClearLogsL(): trying CLogClient::NewL") ) ); CLogClient* logClient = CLogClient::NewL( iFs ); logClient->ClearLog( date, active->iStatus ); -*/ + CActiveScheduler::Start(); -// delete logClient; + delete logClient; CleanupStack::PopAndDestroy( active ); } @@ -136,7 +136,7 @@ TRACES( RDebug::Print( _L("CSysApSimChanged::ClearSsSettingsL()") ) ); // Reset SSSettings values -/* RSSSettings ssSettings; + RSSSettings ssSettings; User::LeaveIfError( ssSettings.Open( iSysApAppUi.GetTelServer() ) ); TRACES( RDebug::Print( _L("CSysApSimChanged::ClearSsSettingsL(): trying RSSSettings::HandleSIMChanged") ) ); @@ -144,7 +144,7 @@ ssSettings.Close(); User::LeaveIfError( err ); -*/ + } // ----------------------------------------------------------------------------- @@ -171,7 +171,7 @@ if ( simNotOwned ) { ClearRepositoriesL(); -// ClearLogsL(); + ClearLogsL(); } } // =============== CShareActive MEMBER FUNCTIONS =============================== diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Src/SysApSsSettingsObserver.cpp --- a/coreapplicationuis/SysAp/Src/SysApSsSettingsObserver.cpp Wed Sep 29 15:24:56 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,111 +0,0 @@ -/* -* Copyright (c) 2002 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: CSysApSSSettingsObserver implementation. -* -*/ - - -// INCLUDE FILES -#include "SysApSsSettingsObserver.h" -#include "SysApAppUi.h" -#include -#include - -//CONSTANTS - -// ========================== MEMBER FUNCTIONS ================================ - -// ---------------------------------------------------------------------------- -// CSysApSsSettingsObserver* CSysApSsSettingsObserver::NewL( CSysApAppUi& aSysApAppUi ) -// ---------------------------------------------------------------------------- - -CSysApSsSettingsObserver* CSysApSsSettingsObserver::NewL( CSysApAppUi& aSysApAppUi ) - { - TRACES( RDebug::Print( _L("CSysApSsSettingsObserver::CSysApSsSettingsObserver::NewL" ) ) ); - CSysApSsSettingsObserver* self = new ( ELeave ) CSysApSsSettingsObserver( aSysApAppUi ); - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop(); //self - return self; - } - -// ---------------------------------------------------------------------------- -// CSysApSsSettingsObserver::CSysApSsSettingsObserver( CSysApAppUi& aSysApAppUi ) -// ---------------------------------------------------------------------------- - -CSysApSsSettingsObserver::CSysApSsSettingsObserver( CSysApAppUi& aSysApAppUi ) : - iSysApAppUi( aSysApAppUi ) - { - } - -// ---------------------------------------------------------------------------- -// CSysApSsSettingsObserver::~CSysApSsSettingsObserver() -// ---------------------------------------------------------------------------- - -CSysApSsSettingsObserver::~CSysApSsSettingsObserver() - { - TRACES( RDebug::Print( _L("CSysApSsSettingsObserver::~CSysApSsSettingsObserver") ) ); - iSysApSsSettings.CancelAll( *this ); - iSysApSsSettings.Close(); - } - -// ---------------------------------------------------------------------------- -// CSysApSsSettingsObserver::PhoneSettingChanged( TSSSettingsSetting aSetting, TInt aNewValue ) -// ---------------------------------------------------------------------------- - -void CSysApSsSettingsObserver::PhoneSettingChanged( TSSSettingsSetting aSetting, TInt aNewValue ) - { - TRACES( RDebug::Print( _L("CSysApSsSettingsObserver::PhoneSettingChanged( aSetting:%d, aNewValue:%d )"), aSetting, aNewValue ) ); - if( aSetting == ESSSettingsAls ) - { - TRAPD( err, SetSecondLineIndicatorL( aNewValue ) ); - if ( err ) err = 0; // hide compiler warning about not using variable - } - } - -// ---------------------------------------------------------------------------- -// CSysApSsSettingsObserver::ConstructL() -// ---------------------------------------------------------------------------- - -void CSysApSsSettingsObserver::ConstructL( ) - { - User::LeaveIfError(iSysApSsSettings.Open(iSysApAppUi.GetTelServer())); - iSysApSsSettings.Register( ESSSettingsAls, *this ); - TSSSettingsSetting ssSetting( ESSSettingsAls ); - TInt ssSettingAlsValue( 0 ); - TInt err( iSysApSsSettings.Get( ssSetting, ssSettingAlsValue ) ); - if( err == KErrNone ) - { - SetSecondLineIndicatorL( ssSettingAlsValue ); - } - } - -// ---------------------------------------------------------------------------- -// CSysApSsSettingsObserver::SetSecondLineIndicatorL( TInt aSsSettingsAlsLineValue ) -// ---------------------------------------------------------------------------- - -void CSysApSsSettingsObserver::SetSecondLineIndicatorL( const TInt aSsSettingsAlsLineValue ) const - { - TRACES( RDebug::Print( _L("CSysApSsSettingsObserver::SetSecondLineIndicatorL( aSsSettingsAlsLineValue:%d, "), aSsSettingsAlsLineValue ) ); - if( aSsSettingsAlsLineValue == ESSSettingsAlsAlternate ) - { - iSysApAppUi.SetIndicatorStateL( EAknIndicatorSelectedLine, EAknIndicatorStateOn ); - } - else - { - iSysApAppUi.SetIndicatorStateL( EAknIndicatorSelectedLine, EAknIndicatorStateOff ); - } - } - -// End of File diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Src/SysApWaitNote.cpp --- a/coreapplicationuis/SysAp/Src/SysApWaitNote.cpp Wed Sep 29 15:24:56 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,122 +0,0 @@ -/* -* Copyright (c) 2002 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: CSysApWaitNote implementation. -* -*/ - - -// INCLUDES - -#include -#include -#include "SysAp.hrh" -#include "SysApWaitNote.h" -#include -#include - - -// ============================ MEMBER FUNCTIONS ============================== - -// ---------------------------------------------------------------------------- -// CSysApWaitNote::NewL() -// ---------------------------------------------------------------------------- -CSysApWaitNote* CSysApWaitNote::NewL(TBool aCoverDisplaySupported) - { - CSysApWaitNote* self = new(ELeave) CSysApWaitNote(aCoverDisplaySupported); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(); - return self; - } - -// ---------------------------------------------------------------------------- -// CSysApWaitNote::ConstructL() -// ---------------------------------------------------------------------------- -void CSysApWaitNote::ConstructL() - { - iWaitNote = CAknGlobalNote::NewL(); - iWaitNote->SetSoftkeys( R_AVKON_SOFTKEYS_EMPTY ); - } - -// ---------------------------------------------------------------------------- -// CSysApWaitNote::CSysApWaitNote() -// ---------------------------------------------------------------------------- - -CSysApWaitNote::CSysApWaitNote(TBool aCoverDisplaySupported) : iActive( EFalse ), - iCoverDisplaySupported(aCoverDisplaySupported) - { - } - -// ---------------------------------------------------------------------------- -// CSysApWaitNote::~CSysApWaitNote() -// ---------------------------------------------------------------------------- - -CSysApWaitNote::~CSysApWaitNote() - { - Cancel(); - delete iWaitNote; - iWaitNote = NULL; - } - - -// ---------------------------------------------------------------------------- -// CSysApWaitNote::Cancel() -// ---------------------------------------------------------------------------- - -void CSysApWaitNote::Cancel() - { - TRACES( RDebug::Print( _L("CSysApWaitNote::Cancel()" ) ) ); - TRAPD ( err, iWaitNote->CancelNoteL( iNoteId ) ); - iActive = EFalse; - if ( err ) - { - TRACES( RDebug::Print( _L("CSysApWaitNote::Cancel(), error: %d" ), err ) ); - } - } - -// ---------------------------------------------------------------------------- -// CSysApWaitNote::ShowNoteL() -// ---------------------------------------------------------------------------- - -void CSysApWaitNote::ShowNoteL( const TSysApWaitNoteIds aNote, HBufC* aNoteStringBuf ) - { - TRACES( RDebug::Print( _L("CSysApWaitNote::ShowNoteL") ) ); - - if ( iActive ) - { - Cancel(); - } - iActive = ETrue; - TInt tone ( EAvkonSIDNoSound ); - iWaitNote->SetTone( tone ); - TRACES( RDebug::Print( _L("CSysApWaitNote::StartL: ShowNoteL()" ) ) ); - - if ( aNote == EClosingApplicationsNote ) - { - // Set secondary display data if necessary - if ( iCoverDisplaySupported ) - { - CAknSDData* sd = CAknSDData::NewL(SecondaryDisplay::KCatSysAp, SecondaryDisplay::ECmdShowClosingApplicationsNote, KNullDesC8); - iWaitNote->SetSecondaryDisplayData(sd); // ownership to notifier client - } - - } - - iNoteId = iWaitNote->ShowNoteL( EAknGlobalWaitNote, aNoteStringBuf->Des() ); - } - -// End of File - - - diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Src/memorycard/sysapdriveunlockhandler.cpp --- a/coreapplicationuis/SysAp/Src/memorycard/sysapdriveunlockhandler.cpp Wed Sep 29 15:24:56 2010 +0300 +++ b/coreapplicationuis/SysAp/Src/memorycard/sysapdriveunlockhandler.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -211,7 +211,7 @@ TPtrC aStringPointer = aString->Des(); aStringPointer.Set(KChargingNote); TRACES( RDebug::Print( _L("CSysApWsClient::RunL(): Key EEventKeyUp 01") ) ); - iSysApAppUi.ShowExampleUiNoteL( aStringPointer ); + iSysApAppUi.ShowNoteL( aStringPointer ); CleanupStack::PopAndDestroy(); // aString return; } @@ -228,7 +228,7 @@ TPtrC aStringPointer = aString->Des(); aStringPointer.Set(KChargingNote); TRACES( RDebug::Print( _L("CSysApWsClient::RunL(): Key EEventKeyUp 01") ) ); - iSysApAppUi.ShowExampleUiNoteL( aStringPointer ); + iSysApAppUi.ShowNoteL( aStringPointer ); CleanupStack::PopAndDestroy(); // aString iSysApDriveList.MarkDriveUnlockQueryShown( iDriveToUnlock ); } @@ -300,7 +300,7 @@ HBufC* aString = HBufC16::NewLC(150); TPtrC aStringPointer = aString->Des(); aStringPointer.Set(KUnlockNote); - iSysApAppUi.ShowExampleUiNoteL( aStringPointer ); + iSysApAppUi.ShowNoteL( aStringPointer ); CleanupStack::PopAndDestroy(); // aString return ETrue; } @@ -311,7 +311,7 @@ HBufC* aString = HBufC16::NewLC(150); TPtrC aStringPointer = aString->Des(); aStringPointer.Set(KUnlockDeniedNote); - iSysApAppUi.ShowExampleUiNoteL( aStringPointer ); + iSysApAppUi.ShowNoteL( aStringPointer ); CleanupStack::PopAndDestroy(); // aString return EFalse; } @@ -322,7 +322,7 @@ HBufC* aString = HBufC16::NewLC(150); TPtrC aStringPointer = aString->Des(); aStringPointer.Set(KUnlockAlreadyExistNote); - iSysApAppUi.ShowExampleUiNoteL( aStringPointer ); + iSysApAppUi.ShowNoteL( aStringPointer ); CleanupStack::PopAndDestroy(); // aString return ETrue; } @@ -334,7 +334,7 @@ TPtrC aStringPointer = aString->Des(); aStringPointer.Set(KUnlockNotSupporrtedNote); TRACES( RDebug::Print( _L("CSysApWsClient::RunL(): Key EEventKeyUp 01") ) ); - iSysApAppUi.ShowExampleUiNoteL( aStringPointer ); + iSysApAppUi.ShowNoteL( aStringPointer ); CleanupStack::PopAndDestroy(); // aString return ETrue; } @@ -346,7 +346,7 @@ TPtrC aStringPointer = aString->Des(); aStringPointer.Set(KUnlockOperationCancelNote); TRACES( RDebug::Print( _L("CSysApWsClient::RunL(): Key EEventKeyUp 01") ) ); - iSysApAppUi.ShowExampleUiNoteL( aStringPointer ); + iSysApAppUi.ShowNoteL( aStringPointer ); CleanupStack::PopAndDestroy(); // aString return ETrue; } diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Src/sysapcharginganimation.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/SysAp/Src/sysapcharginganimation.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,307 @@ +/* +* Copyright (c) 2010 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: CSysApLightsController implementation. +* +*/ + + +#include "sysapcharginganimation.h" +#include +#include +#include +#include + +_LIT(KFrameDir, "z:\\resource\\apps\\"); +_LIT(KFrame1, "qtg_anim_battery_charging_01.svg"); +_LIT(KFrame2, "qtg_anim_battery_charging_02.svg"); +_LIT(KFrame3, "qtg_anim_battery_charging_03.svg"); +_LIT(KFrame4, "qtg_anim_battery_charging_04.svg"); +_LIT(KFrame5, "qtg_anim_battery_charging_05.svg"); +_LIT(KFrame6, "qtg_anim_battery_charging_06.svg"); +_LIT(KFrame7, "qtg_anim_battery_charging_07.svg"); +_LIT(KFrame8, "qtg_anim_battery_charging_08.svg"); +_LIT(KFrame9, "qtg_anim_battery_charging_09.svg"); +_LIT(KFrame10,"qtg_anim_battery_charging_10.svg"); +_LIT(KFullFrame1, "qtg_anim_battery_full_01.svg"); +_LIT(KFullFrame2, "qtg_anim_battery_full_02.svg"); +_LIT(KFullFrame3, "qtg_anim_battery_full_03.svg"); +_LIT(KFullFrame4, "qtg_anim_battery_full_04.svg"); +_LIT(KFullFrame5, "qtg_anim_battery_full_05.svg"); +_LIT(KFullFrame6, "qtg_anim_battery_full_06.svg"); +_LIT(KFullFrame7, "qtg_anim_battery_full_07.svg"); +_LIT(KFullFrame8, "qtg_anim_battery_full_08.svg"); +_LIT(KFullFrame9, "qtg_anim_battery_full_09.svg"); +_LIT(KFullFrame10,"qtg_anim_battery_full_10.svg"); +#define SIZE_X 228//360 //360 +#define SIZE_Y 228 //640 +static TInt KChargingFrameDuration=800000; +static TInt KFullFrameDuration=200000; + +CSysApChargingAnimation::CSysApChargingAnimation() + { + // No implementation required + } + +CSysApChargingAnimation::~CSysApChargingAnimation() + { + iAnimation.ResetAndDestroy(); + iAnimTimer->Cancel(); + delete iAnimTimer; + iAnimTimer=NULL; + } + +CSysApChargingAnimation* CSysApChargingAnimation::NewLC() + { + CSysApChargingAnimation* self = new (ELeave) CSysApChargingAnimation(); + CleanupStack::PushL(self); + self->ConstructL(); + return self; + } + +CSysApChargingAnimation* CSysApChargingAnimation::NewL() + { + CSysApChargingAnimation* self = CSysApChargingAnimation::NewLC(); + CleanupStack::Pop(); // self; + return self; + } + +void CSysApChargingAnimation::DeleteFrames() + { + iAnimation.ResetAndDestroy(); + } + +void CSysApChargingAnimation::ResetTimer() + { + if(iAnimTimer) + { + iAnimTimer->Cancel(); + delete iAnimTimer; + iAnimTimer=NULL; + } + + TRAPD( err, iAnimTimer = CPeriodic::NewL( EPriorityNormal ) ); + if(err==KErrNone) + { + if(iMode==KChargingModeFull) + iAnimTimer->Start(KFullFrameDuration,KFullFrameDuration,TCallBack( TimerExpired, this )); + else if(iMode==KChargingModeChargingOn) + iAnimTimer->Start(KChargingFrameDuration,KChargingFrameDuration,TCallBack( TimerExpired, this )); + } + } + +void CSysApChargingAnimation::StopTimer() + { + if(iAnimTimer) + { + iAnimTimer->Cancel(); + delete iAnimTimer; + iAnimTimer=NULL; + } + } + +void CSysApChargingAnimation::SetChargingFramesL() + { + DeleteFrames(); + TParse* fp = new(ELeave) TParse(); + fp->Set(KFrame1, &KFrameDir, NULL); + iAnimation.Append(ReadSVGL (fp->FullName())); + fp->Set(KFrame2, &KFrameDir, NULL); + iAnimation.Append(ReadSVGL (fp->FullName())); + fp->Set(KFrame3, &KFrameDir, NULL); + iAnimation.Append(ReadSVGL (fp->FullName())); + fp->Set(KFrame4, &KFrameDir, NULL); + iAnimation.Append(ReadSVGL (fp->FullName())); + fp->Set(KFrame5, &KFrameDir, NULL); + iAnimation.Append(ReadSVGL (fp->FullName())); + fp->Set(KFrame6, &KFrameDir, NULL); + iAnimation.Append(ReadSVGL (fp->FullName())); + fp->Set(KFrame7, &KFrameDir, NULL); + iAnimation.Append(ReadSVGL (fp->FullName())); + fp->Set(KFrame8, &KFrameDir, NULL); + iAnimation.Append(ReadSVGL (fp->FullName())); + fp->Set(KFrame9, &KFrameDir, NULL); + iAnimation.Append(ReadSVGL (fp->FullName())); + fp->Set(KFrame10, &KFrameDir, NULL); + iAnimation.Append(ReadSVGL (fp->FullName())); + } + +void CSysApChargingAnimation::SetFullFramesL() + { + DeleteFrames(); + TParse* fp = new(ELeave) TParse(); + fp->Set(KFullFrame1, &KFrameDir, NULL); + iAnimation.Append(ReadSVGL (fp->FullName())); + fp->Set(KFullFrame2, &KFrameDir, NULL); + iAnimation.Append(ReadSVGL (fp->FullName())); + fp->Set(KFullFrame3, &KFrameDir, NULL); + iAnimation.Append(ReadSVGL (fp->FullName())); + fp->Set(KFullFrame4, &KFrameDir, NULL); + iAnimation.Append(ReadSVGL (fp->FullName())); + fp->Set(KFullFrame5, &KFrameDir, NULL); + iAnimation.Append(ReadSVGL (fp->FullName())); + fp->Set(KFullFrame6, &KFrameDir, NULL); + iAnimation.Append(ReadSVGL (fp->FullName())); + fp->Set(KFullFrame7, &KFrameDir, NULL); + iAnimation.Append(ReadSVGL (fp->FullName())); + fp->Set(KFullFrame8, &KFrameDir, NULL); + iAnimation.Append(ReadSVGL (fp->FullName())); + fp->Set(KFullFrame9, &KFrameDir, NULL); + iAnimation.Append(ReadSVGL (fp->FullName())); + fp->Set(KFullFrame10, &KFrameDir, NULL); + iAnimation.Append(ReadSVGL (fp->FullName())); + } + +void CSysApChargingAnimation::SetModeL(TInt aMode) + { + if(iMode==aMode) return; + + if(aMode==KChargingModeChargingOn) + { + SetChargingFramesL(); + } + else if(aMode==KChargingModeFull) + { + SetFullFramesL(); + } + + iMode=aMode; + iCurrentFrame=0; + if(aMode!=KChargingModeUnknown) + { + iBitmap = iAnimation[iCurrentFrame]; + iFrameCount = iAnimation.Count(); + DrawDeferred(); + } + else + { + DeleteFrames(); + iBitmap=NULL; + iFrameCount=0; + } + } + +void CSysApChargingAnimation::ConstructL() + { + iMode=KChargingModeUnknown; + + CreateWindowL(); + SetExtentToWholeScreen(); + ActivateL(); + iEikonEnv->RootWin().SetOrdinalPosition(0, ECoeWinPriorityAlwaysAtFront ); + } + +void CSysApChargingAnimation::Draw(const TRect& aRect) const +{ + if(iBitmap && iBitmap->Handle()) + { + CWindowGc& gc=SystemGc(); + TSize bmpSizeInPixels = iBitmap->SizeInPixels(); + //center image to the center of the screen + TInt xDelta = ( aRect.Width() - bmpSizeInPixels.iWidth ) / 2; + TInt yDelta = ( aRect.Height() - bmpSizeInPixels.iHeight ) / 2; + TPoint pos = TPoint( xDelta , yDelta ); + gc.BitBlt(pos, iBitmap); + } +} + +CFbsBitmap* CSysApChargingAnimation::ReadSVGL (TFileName aFileName) + { + TFontSpec fontspec; + TDisplayMode mode = EColor16MA; + TSize size(SIZE_X, SIZE_Y); + + CFbsBitmap* frameBuffer = new ( ELeave ) CFbsBitmap; + CleanupStack::PushL( frameBuffer ); + frameBuffer->Create( size, mode ); + + CSvgEngineInterfaceImpl* svgEngine = NULL; + svgEngine = CSvgEngineInterfaceImpl::NewL(frameBuffer, NULL, fontspec ); + + if (svgEngine == NULL) + { + return NULL; + } + + CleanupStack::PushL( svgEngine ); + TInt domHandle = 0; + svgEngine->PrepareDom( aFileName, domHandle ) ; + if (domHandle == 0) + { + return NULL; + } + TBool b = svgEngine->IsPanPossible(0,200,NULL); + CFbsBitmap* bitmap = new(ELeave) CFbsBitmap; + CleanupStack::PushL( bitmap ); + User::LeaveIfError( bitmap->Create( size, mode) ); + + svgEngine->UseDom( domHandle, bitmap, NULL ) ; + + MSvgError* err; + svgEngine->Start( err ); + if (err->HasError()) + { + return NULL; + } + + svgEngine->DeleteDom( domHandle ); + + CleanupStack::Pop( bitmap ); + CleanupStack::PopAndDestroy( svgEngine ); + CleanupStack::PopAndDestroy( frameBuffer ); + + return bitmap; + } + +void CSysApChargingAnimation::SetNextFrame() + { + if(iFrameCount<=0) + return; + + iCurrentFrame++; + if(iCurrentFrame>=iFrameCount) + { + iCurrentFrame=0; + } + + iBitmap=iAnimation[iCurrentFrame]; + + DrawDeferred(); + } + +TInt CSysApChargingAnimation::TimerExpired( TAny* aObject ) + { + static_cast(aObject)->SetNextFrame(); + return 0; + } + +void CSysApChargingAnimation::StartChargingAnimationL() + { + if(iMode!=KChargingModeChargingOn) + SetModeL(KChargingModeChargingOn); + + ResetTimer(); + } + +void CSysApChargingAnimation::StopAnimation() + { + StopTimer(); + } + +void CSysApChargingAnimation::StartChargingFullAnimationL() + { + if(iMode!=KChargingModeFull) + SetModeL(KChargingModeFull); + + ResetTimer(); + } diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/Src/sysapdefaultkeyhandler.cpp --- a/coreapplicationuis/SysAp/Src/sysapdefaultkeyhandler.cpp Wed Sep 29 15:24:56 2010 +0300 +++ b/coreapplicationuis/SysAp/Src/sysapdefaultkeyhandler.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2006-2008 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2006-2010 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" @@ -41,6 +41,7 @@ #include //#include "sysapappui.h" #include +#include const TInt KModifierMask( 0 ); @@ -288,8 +289,8 @@ TInt value(0); TBool retval(EFalse); - RProperty::Get( KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus, value ); - if ( value > EAutolockOff ) + RProperty::Get( KPSUidAvkonDomain, KAknKeyguardStatus, value ); + if ( value > EKeyguardNotActive ) { retval = ETrue; } diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/rom/SysAp.iby --- a/coreapplicationuis/SysAp/rom/SysAp.iby Wed Sep 29 15:24:56 2010 +0300 +++ b/coreapplicationuis/SysAp/rom/SysAp.iby Thu Oct 07 06:25:45 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2002-2010 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" @@ -22,6 +22,28 @@ file=ABI_DIR\BUILD_DIR\NspsWsPlugin.dll SHARED_LIB_DIR\NspsWsPlugin.dll data=DATAZ_\resource\apps\qgn_sysap_screen.svg resource\apps\qgn_sysap_screen.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_charging_01.svg APP_RESOURCE_DIR\qtg_anim_battery_charging_01.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_charging_02.svg APP_RESOURCE_DIR\qtg_anim_battery_charging_02.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_charging_03.svg APP_RESOURCE_DIR\qtg_anim_battery_charging_03.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_charging_04.svg APP_RESOURCE_DIR\qtg_anim_battery_charging_04.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_charging_05.svg APP_RESOURCE_DIR\qtg_anim_battery_charging_05.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_charging_06.svg APP_RESOURCE_DIR\qtg_anim_battery_charging_06.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_charging_07.svg APP_RESOURCE_DIR\qtg_anim_battery_charging_07.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_charging_08.svg APP_RESOURCE_DIR\qtg_anim_battery_charging_08.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_charging_09.svg APP_RESOURCE_DIR\qtg_anim_battery_charging_09.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_charging_10.svg APP_RESOURCE_DIR\qtg_anim_battery_charging_10.svg + +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_full_01.svg APP_RESOURCE_DIR\qtg_anim_battery_full_01.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_full_02.svg APP_RESOURCE_DIR\qtg_anim_battery_full_02.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_full_03.svg APP_RESOURCE_DIR\qtg_anim_battery_full_03.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_full_04.svg APP_RESOURCE_DIR\qtg_anim_battery_full_04.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_full_05.svg APP_RESOURCE_DIR\qtg_anim_battery_full_05.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_full_06.svg APP_RESOURCE_DIR\qtg_anim_battery_full_06.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_full_07.svg APP_RESOURCE_DIR\qtg_anim_battery_full_07.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_full_08.svg APP_RESOURCE_DIR\qtg_anim_battery_full_08.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_full_09.svg APP_RESOURCE_DIR\qtg_anim_battery_full_09.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_full_10.svg APP_RESOURCE_DIR\qtg_anim_battery_full_10.svg + S60_APP_EXE(SysAp) S60_APP_AIF_RSC(SysAp) diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/SysAp/rom/SysApResources.iby --- a/coreapplicationuis/SysAp/rom/SysApResources.iby Wed Sep 29 15:24:56 2010 +0300 +++ b/coreapplicationuis/SysAp/rom/SysApResources.iby Thu Oct 07 06:25:45 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2002-2010 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" @@ -22,4 +22,27 @@ //Localized resource file(s) for Sysap application (SysAp.iby) data=DATAZ_\APP_RESOURCE_DIR\sysap.RSC APP_RESOURCE_DIR\SysAp.rsc +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_charging_01.svg APP_RESOURCE_DIR\qtg_anim_battery_charging_01.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_charging_02.svg APP_RESOURCE_DIR\qtg_anim_battery_charging_02.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_charging_03.svg APP_RESOURCE_DIR\qtg_anim_battery_charging_03.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_charging_04.svg APP_RESOURCE_DIR\qtg_anim_battery_charging_04.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_charging_05.svg APP_RESOURCE_DIR\qtg_anim_battery_charging_05.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_charging_06.svg APP_RESOURCE_DIR\qtg_anim_battery_charging_06.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_charging_07.svg APP_RESOURCE_DIR\qtg_anim_battery_charging_07.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_charging_08.svg APP_RESOURCE_DIR\qtg_anim_battery_charging_08.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_charging_09.svg APP_RESOURCE_DIR\qtg_anim_battery_charging_09.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_charging_10.svg APP_RESOURCE_DIR\qtg_anim_battery_charging_10.svg + +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_full_01.svg APP_RESOURCE_DIR\qtg_anim_battery_full_01.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_full_02.svg APP_RESOURCE_DIR\qtg_anim_battery_full_02.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_full_03.svg APP_RESOURCE_DIR\qtg_anim_battery_full_03.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_full_04.svg APP_RESOURCE_DIR\qtg_anim_battery_full_04.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_full_05.svg APP_RESOURCE_DIR\qtg_anim_battery_full_05.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_full_06.svg APP_RESOURCE_DIR\qtg_anim_battery_full_06.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_full_07.svg APP_RESOURCE_DIR\qtg_anim_battery_full_07.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_full_08.svg APP_RESOURCE_DIR\qtg_anim_battery_full_08.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_full_09.svg APP_RESOURCE_DIR\qtg_anim_battery_full_09.svg +data=DATAZ_\APP_RESOURCE_DIR\qtg_anim_battery_full_10.svg APP_RESOURCE_DIR\qtg_anim_battery_full_10.svg + + #endif \ No newline at end of file diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/accfwuinotifier/tsrc/AccFwUiNotifierTestModule/Bmarm/AccFwUiNotifierTestModuleU.DEF --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/accfwuinotifier/tsrc/AccFwUiNotifierTestModule/Bmarm/AccFwUiNotifierTestModuleU.DEF Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,3 @@ +EXPORTS + LibEntryL__FR13CTestModuleIf @ 1 NONAME R3UNUSED ; LibEntryL(CTestModuleIf &) + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/accfwuinotifier/tsrc/AccFwUiNotifierTestModule/Bwins/AccFwUiNotifierTestModuleu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/accfwuinotifier/tsrc/AccFwUiNotifierTestModule/Bwins/AccFwUiNotifierTestModuleu.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,3 @@ +EXPORTS + ?LibEntryL@@YAPAVCScriptBase@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CScriptBase * __cdecl LibEntryL(class CTestModuleIf &) + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/accfwuinotifier/tsrc/AccFwUiNotifierTestModule/conf/ui_AccFwUiNotifierTestModule.cfg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/accfwuinotifier/tsrc/AccFwUiNotifierTestModule/conf/ui_AccFwUiNotifierTestModule.cfg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,36 @@ +[Test] +title CreateAndDestroyPlugin +create AccFwUiNotifierTestModule AccFwUiNotifier +AccFwUiNotifier CreateNotifierPlugin +delete AccFwUiNotifier +[Endtest] + +[Test] +title ShowAccessoryUiNote +create AccFwUiNotifierTestModule AccFwUiNotifier +AccFwUiNotifier TestSupportedAccessoryUiNoteL +delete AccFwUiNotifier +[Endtest] + +[Test] +title TestUnsupportedAccessoryUiNoteL +create AccFwUiNotifierTestModule AccFwUiNotifier +AccFwUiNotifier TestUnsupportedAccessoryUiNoteL +delete AccFwUiNotifier +[Endtest] + + +[Test] +title TestUpdateNotifierL +create AccFwUiNotifierTestModule AccFwUiNotifier +AccFwUiNotifier TestUpdateNotifierL +delete AccFwUiNotifier +[Endtest] + +[Test] +title TestStart2L +create AccFwUiNotifierTestModule AccFwUiNotifier +AccFwUiNotifier TestStartNotifierL +delete AccFwUiNotifier +[Endtest] + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/accfwuinotifier/tsrc/AccFwUiNotifierTestModule/eabi/AccFwUiNotifierTestModuleu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/accfwuinotifier/tsrc/AccFwUiNotifierTestModule/eabi/AccFwUiNotifierTestModuleu.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,3 @@ +EXPORTS + _Z9LibEntryLR13CTestModuleIf @ 1 NONAME + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/accfwuinotifier/tsrc/AccFwUiNotifierTestModule/group/AccFwUiNotifierTestModule-tmp.SIS Binary file coreapplicationuis/accfwuinotifier/tsrc/AccFwUiNotifierTestModule/group/AccFwUiNotifierTestModule-tmp.SIS has changed diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/accfwuinotifier/tsrc/AccFwUiNotifierTestModule/group/AccFwUiNotifierTestModule.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/accfwuinotifier/tsrc/AccFwUiNotifierTestModule/group/AccFwUiNotifierTestModule.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,90 @@ +/*TYPE TESTCLASS*/ +/* +* 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: MMP file for STIF Test Framework's TestScripter +* testclass test module. +* +*/ + +#include + +SMPSAFE + +TARGET AccFwUiNotifierTestModule.dll +TARGETTYPE dll +UID 0x1000008D 0x101FB3E3 + +CAPABILITY ALL -TCB +/* Remove comments and replace 0x00000000 with correct vendor id */ +// VENDORID 0x00000000 +/* Remove comments and replace 0x00000000 with correct secure id */ +// SECUREID 0x00000000 + +//TARGETPATH ?target_path +DEFFILE AccFwUiNotifierTestModule.def + +//USERINCLUDE ../inc +USERINCLUDE ../../../inc +USERINCLUDE ../inc + + +MW_LAYER_SYSTEMINCLUDE +OS_LAYER_SYSTEMINCLUDE +SYSTEMINCLUDE /epoc32/include/ecom + + + +SOURCEPATH ../src +SOURCE AccFwUiNotifierTestModule.cpp + +//SOURCEPATH ../../../src +//SOURCE AccFwUiNoteNotifier.cpp + + + +//RESOURCE resource_file +//RESOURCE resource_file2 + +LIBRARY euser.lib +LIBRARY stiftestinterface.lib +LIBRARY stiftestengine.lib +LIBRARY ecom.lib + + + +LANG SC + +/* +START WINS +?wins_specific_information +END + +START MARM +?marm_specific_information +END +*/ +// Other possible keywords: + +// DOCUMENT ?file, that is not compiled, but added to MSVC project workspace (i.e. release notes) +/* +START BITMAP ?target +TARGETPATH ?emulated_path_on_target_machine +HEADER +SOURCE ?color_depth ?source_bitmap +END +*/ +// DEFFILE ?filename +// AIF ?filename + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/accfwuinotifier/tsrc/AccFwUiNotifierTestModule/group/AccFwUiNotifierTestModule.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/accfwuinotifier/tsrc/AccFwUiNotifierTestModule/group/AccFwUiNotifierTestModule.pkg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,60 @@ +; +; 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: +; +; Installation file for STIF +; + +; Languages +&EN + +; Provide value for uid +#{"STIF"},(0x00000000),1,1,0,TYPE=SA + +; Series60 product id for S60 3.0 +[0x101F7961], 0, 0, 0, {"Series60ProductID"} + +; Localised Vendor name +%{"Nokia"} + +; Unique Vendor name +:"Nokia" + +; Logo +; None + +; Package signature - Optional +; None + +; Start of Package body + +; Condition blocks +; None + +; Options list +; None + +; Install files +"\epoc32\release\armv5\udeb\AccFwUiNotifierTestModule.dll" - "!:\Sys\Bin\AccFwUiNotifierTestModule.dll" + +; Embedded SIS +; None + +; End of Package body + +; PKG dependencies +; None + +; PKG capabilities +; None diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/accfwuinotifier/tsrc/AccFwUiNotifierTestModule/group/AccFwUiNotifierTestModule_DoxyFile.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/accfwuinotifier/tsrc/AccFwUiNotifierTestModule/group/AccFwUiNotifierTestModule_DoxyFile.txt Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,240 @@ +# +# 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: +# +# + +# Doxyfile 1.4.1 + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = AccFwUiNotifierTestModule +PROJECT_NUMBER = +OUTPUT_DIRECTORY = P:\Synergy\accfwuinotifier-bh1dsgasanobroy\accfwuinotifier\tsrc\\AccFwUiNotifierTestModule\ +CREATE_SUBDIRS = NO +OUTPUT_LANGUAGE = English +USE_WINDOWS_ENCODING = YES +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ABBREVIATE_BRIEF = +ALWAYS_DETAILED_SEC = NO +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +STRIP_FROM_INC_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = NO +MULTILINE_CPP_IS_BRIEF = NO +DETAILS_AT_TOP = NO +INHERIT_DOCS = YES +DISTRIBUTE_GROUP_DOC = NO +TAB_SIZE = 8 +ALIASES = +OPTIMIZE_OUTPUT_FOR_C = YES +OPTIMIZE_OUTPUT_JAVA = NO +SUBGROUPING = YES +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- +EXTRACT_ALL = YES +EXTRACT_PRIVATE = NO +EXTRACT_STATIC = NO +EXTRACT_LOCAL_CLASSES = NO +EXTRACT_LOCAL_METHODS = NO +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +HIDE_FRIEND_COMPOUNDS = NO +HIDE_IN_BODY_DOCS = NO +INTERNAL_DOCS = YES +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +SHOW_INCLUDE_FILES = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +SORT_BRIEF_DOCS = NO +SORT_BY_SCOPE_NAME = NO +GENERATE_TODOLIST = NO +GENERATE_TESTLIST = NO +GENERATE_BUGLIST = NO +GENERATE_DEPRECATEDLIST= YES +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +SHOW_USED_FILES = YES +SHOW_DIRECTORIES = YES +FILE_VERSION_FILTER = +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- +QUIET = NO +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES +WARN_IF_DOC_ERROR = YES +WARN_NO_PARAMDOC = NO +WARN_FORMAT = "$file:$line: $text" +WARN_LOGFILE = +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = P:\Synergy\accfwuinotifier-bh1dsgasanobroy\accfwuinotifier\tsrc\\AccFwUiNotifierTestModule\ +FILE_PATTERNS = *.h \ + *.rh \ + *.hrh +RECURSIVE = YES +EXCLUDE = +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +EXAMPLE_RECURSIVE = NO +IMAGE_PATH = +INPUT_FILTER = +FILTER_PATTERNS = +FILTER_SOURCE_FILES = NO +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- +SOURCE_BROWSER = NO +INLINE_SOURCES = NO +STRIP_CODE_COMMENTS = YES +REFERENCED_BY_RELATION = YES +REFERENCES_RELATION = YES +VERBATIM_HEADERS = YES +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- +ALPHABETICAL_INDEX = NO +COLS_IN_ALPHA_INDEX = 5 +IGNORE_PREFIX = +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- +GENERATE_HTML = NO +HTML_OUTPUT = html +HTML_FILE_EXTENSION = .html +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = YES +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +BINARY_TOC = YES +TOC_EXPAND = YES +DISABLE_INDEX = YES +ENUM_VALUES_PER_LINE = 4 +GENERATE_TREEVIEW = YES +TREEVIEW_WIDTH = 250 +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +LATEX_CMD_NAME = latex +MAKEINDEX_CMD_NAME = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +USE_PDFLATEX = NO +LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- +GENERATE_RTF = YES +RTF_OUTPUT = Doc +COMPACT_RTF = YES +RTF_HYPERLINKS = YES +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_LINKS = NO +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- +GENERATE_XML = NO +XML_OUTPUT = xml +XML_SCHEMA = +XML_DTD = +XML_PROGRAMLISTING = YES +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- +GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- +GENERATE_PERLMOD = NO +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = YES +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = NONSHARABLE_CLASS +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- +TAGFILES = +GENERATE_TAGFILE = +ALLEXTERNALS = NO +EXTERNAL_GROUPS = YES +PERL_PATH = /usr/bin/perl +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- +CLASS_DIAGRAMS = YES +HIDE_UNDOC_RELATIONS = YES +HAVE_DOT = NO +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +GROUP_GRAPHS = YES +UML_LOOK = NO +TEMPLATE_RELATIONS = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +CALL_GRAPH = NO +GRAPHICAL_HIERARCHY = YES +DIRECTORY_GRAPH = YES +DOT_IMAGE_FORMAT = png +DOT_PATH = +DOTFILE_DIRS = +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 +MAX_DOT_GRAPH_DEPTH = 0 +DOT_TRANSPARENT = NO +DOT_MULTI_TARGETS = NO +GENERATE_LEGEND = YES +DOT_CLEANUP = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- +SEARCHENGINE = NO diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/accfwuinotifier/tsrc/AccFwUiNotifierTestModule/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/accfwuinotifier/tsrc/AccFwUiNotifierTestModule/group/bld.inf Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,66 @@ +/* +* 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: +* +*/ + +PRJ_PLATFORMS +// specify the platforms your component needs to be built for here +// defaults to WINS MARM so you can ignore this if you just build these + + DEFAULT + +PRJ_TESTEXPORTS +// NOTE: If using ARS requirements all export operations should be done under this. +// 'abld test export' +../init/TestFramework.ini /epoc32/winscw/c/TestFramework/TestFramework.ini +../init/TestFramework.ini /epoc32/data/z/system/data/TestFramework.ini + +../conf/ui_AccFwUiNotifierTestModule.cfg /epoc32/winscw/c/TestFramework/ui_AccFwUiNotifierTestModule.cfg +../conf/ui_AccFwUiNotifierTestModule.cfg /epoc32/data/z/system/data/ui_AccFwUiNotifierTestModule.cfg + +../rom/AccFwUiNotifierTestModule.iby CORE_MW_LAYER_IBY_EXPORT_PATH(AccFwUiNotifierTestModule.iby) + +PRJ_EXPORTS +// Specify the source file followed by its destination here +// copy will be used to copy the source file to its destination +// If there's no destination then the source file will be copied +// to the same name in \epoc32\include +// Example: +/* +\agnmodel\inc\AGMCOMON.H +*/ + +PRJ_TESTMMPFILES + + AccFwUiNotifierTestModule.mmp + +PRJ_MMPFILES + + +// Specify the .mmp files required for building the important component +// releasables. +// +// Specify "tidy" if the component you need to build doesn't need to be +// released. Specify "ignore" if the MMP file exists but should be +// ignored. +// Example: +/* +\agnmodel\group\agnmodel.mmp +#if defined(MARM) +\agnmodel\group\agsvexe.mmp +#endif +*/ + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/accfwuinotifier/tsrc/AccFwUiNotifierTestModule/inc/AccFwUiNotifierTestModule.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/accfwuinotifier/tsrc/AccFwUiNotifierTestModule/inc/AccFwUiNotifierTestModule.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,191 @@ +/* +* Copyright (c) 2010 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: STIF testclass declaration +* +*/ + +#ifndef ACCFWUINOTIFIERTESTMODULE_H +#define ACCFWUINOTIFIERTESTMODULE_H + +// INCLUDES +#include +#include +#include +#include +#include +#include +#include + + + + + +// CONSTANTS +//const ?type ?constant_var = ?constant; + +// MACROS +//#define ?macro ?macro_def +#define TEST_CLASS_VERSION_MAJOR 0 +#define TEST_CLASS_VERSION_MINOR 0 +#define TEST_CLASS_VERSION_BUILD 0 + +// Logging path +_LIT( KAccFwUiNotifierTestModuleLogPath, "\\logs\\testframework\\AccFwUiNotifierTestModule\\" ); +// Log file +_LIT( KAccFwUiNotifierTestModuleLogFile, "AccFwUiNotifierTestModule.txt" ); +_LIT( KAccFwUiNotifierTestModuleLogFileWithTitle, "AccFwUiNotifierTestModule_[%S].txt" ); + +// FUNCTION PROTOTYPES +//?type ?function_name(?arg_list); + +// FORWARD DECLARATIONS +//class ?FORWARD_CLASSNAME; +class CAccFwUiNoteNotifier; +class CAccFwUiNotifierTestModule; + +// DATA TYPES +//enum +// Forward Declarations +enum TTestPanic + { + EPanicBadDescriptor, + EPanicIllegalFunction, + EPanicAlreadyReceiving + }; + +//typedef ?declaration +//extern ?data_type; + +// CLASS DECLARATION + +/** +* CAccFwUiNotifierTestModule test class for STIF Test Framework TestScripter. +* ?other_description_lines +* +* @lib ?library +* @since ?Series60_version +*/ +NONSHARABLE_CLASS(CAccFwUiNotifierTestModule) : public CScriptBase, public RSessionBase + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + */ + static CAccFwUiNotifierTestModule* NewL( CTestModuleIf& aTestModuleIf ); + + /** + * Destructor. + */ + virtual ~CAccFwUiNotifierTestModule(); + + public: // New functions + + + public: // Functions from base classes + + /** + * From CScriptBase Runs a script line. + * @since ?Series60_version + * @param aItem Script line containing method name and parameters + * @return Symbian OS error code + */ + virtual TInt RunMethodL( CStifItemParser& aItem ); + + protected: // New functions + + /** + * ?member_description. + * @since ?Series60_version + * @param ?arg1 ?description + * @return ?description + */ + //?type ?member_function( ?type ?arg1 ); + + protected: // Functions from base classes + + /** + * From ?base_class ?member_description + */ + //?type ?member_function(); + + private: + + /** + * C++ default constructor. + */ + CAccFwUiNotifierTestModule( CTestModuleIf& aTestModuleIf ); + + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL(); + + // Prohibit copy constructor if not deriving from CBase. + // ?classname( const ?classname& ); + // Prohibit assigment operator if not deriving from CBase. + // ?classname& operator=( const ?classname& ); + + /** + * Frees all resources allocated from test methods. + * @since ?Series60_version + */ + void Delete(); + + /** + * Panic Client + */ + void PanicClient(TInt panic); + + /** + * Test methods are listed below. + */ + TInt CreateNotifierPlugin( CStifItemParser& aItem ); + TInt TestSupportedAccessoryUiNoteL (CStifItemParser& aItem); + TInt TestUnsupportedAccessoryUiNoteL (CStifItemParser& aItem); + TInt TestUpdateNotifierL (CStifItemParser& aItem); + TInt TestStartNotifierL (CStifItemParser& aItem); + /** + * Method used to log version of test class + */ + void SendTestClassVersion(); + + //ADD NEW METHOD DEC HERE + //[TestMethods] - Do not remove + + public: // Data + // ?one_line_short_description_of_data + //?data_declaration; + + protected: // Data + // ?one_line_short_description_of_data + //?data_declaration; + + private: // Data + CAccFwUiNoteNotifier* iNotifierPlugin; + TUid idtorID; + RImplInfoPtrArray iImplementations; + RMessagePtr2 iMessagePtr; + public: // Friend classes + //?friend_class_declaration; + protected: // Friend classes + //?friend_class_declaration; + private: // Friend classes + //?friend_class_declaration; + + }; + +#endif // ACCFWUINOTIFIERTESTMODULE_H + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/accfwuinotifier/tsrc/AccFwUiNotifierTestModule/init/TestFramework.ini --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/accfwuinotifier/tsrc/AccFwUiNotifierTestModule/init/TestFramework.ini Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,219 @@ +# +# This is STIF initialization file +# Comment lines start with '#'-character. +# See STIF TestFramework users guide.doc for instructions + +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +# Set following test engine settings: +# - Set Test Reporting mode. TestReportMode's possible values are: +# + 'Summary': Summary of the tested test cases. +# + 'Environment': Hardware and software info. +# + 'TestCases': Test case report. +# + 'FullReport': Set of all above ones. +# + Example 'TestReportMode= Summary TestCases' +# +# - CreateTestReport setting controls report creation mode +# + YES, Test report will created. +# + NO, No Test report. +# +# - File path indicates the base path of the test report. +# - File name indicates the name of the test report. +# +# - File format indicates the type of the test report. +# + TXT, Test report file will be txt type, for example 'TestReport.txt'. +# + HTML, Test report will be html type, for example 'TestReport.html'. +# + XML, Test report will be xml type, for example 'TestReport.xml'. +# Note, that xml format is available only when output is set to FILE. +# +# - File output indicates output source of the test report. +# + FILE, Test report logging to file. +# + RDEBUG, Test report logging to using rdebug. +# +# - File Creation Mode indicates test report overwriting if file exist. +# + OVERWRITE, Overwrites if the Test report file exist. +# + APPEND, Continue logging after the old Test report information if +# report exist. +# - Sets a device reset module's dll name(Reboot). +# + If Nokia specific reset module is not available or it is not correct one +# StifHWResetStub module may use as a template for user specific reset +# module. +# - Sets STIF test measurement disable options. e.g. pluging1 and pluging2 disablation +# DisableMeasurement= stifmeasurementplugin01 stifmeasurementplugin02 +# + +[Engine_Defaults] + +TestReportMode= FullReport # Possible values are: 'Empty', 'Summary', 'Environment', + # 'TestCases' or 'FullReport' + +CreateTestReport= YES # Possible values: YES or NO + +TestReportFilePath= C:\LOGS\TestFramework\ +TestReportFileName= TestReport + +TestReportFormat= TXT # Possible values: TXT, HTML or XML +TestReportOutput= FILE # Possible values: FILE or RDEBUG +TestReportFileCreationMode= OVERWRITE # Possible values: OVERWRITE or APPEND + +DeviceResetDllName= StifResetForNokia.dll # e.g. 'StifHWResetStub.dll' for user specific reseting + +DisableMeasurement= stifmeasurementdisablenone # Possible values are: + # 'stifmeasurementdisablenone', 'stifmeasurementdisableall' + # 'stifmeasurementplugin01', 'stifmeasurementplugin02', + # 'stifmeasurementplugin03', 'stifmeasurementplugin04', + # 'stifmeasurementplugin05' or 'stifbappeaprofiler' + +Timeout= 0 # Default timeout value for each test case. In milliseconds +UITestingSupport= YES # Possible values: YES or NO +#SeparateProcesses= YES # Possible values: YES or NO (default: NO) +[End_Defaults] + +[New_Module] +ModuleName= testscripter +TestCaseFile= Z:\TestFramework\ui_AccFwUiNotifierTestModule.cfg +[End_Module] +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + + + +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +# Module configurations start +# Modules are added between module tags +# tags. Module name is specified after ModuleName= tag, like +# ModuleName= XXXXXXXXX +# Modules might have initialisation file, specified as +# IniFile= c:\testframework\YYYYYY +# Modules might have several configuration files, like +# TestCaseFile= c:\testframework\NormalCases.txt +# TestCaseFile= c:\testframework\SmokeCases.txt +# TestCaseFile= c:\testframework\ManualCases.txt + +# (TestCaseFile is synonym for old term ConfigFile) + +# Following case specifies demo module settings. Demo module +# does not read any settings from file, so tags +# IniFile and TestCaseFile are not used. +# In the simplest case it is enough to specify only the +# name of the test module when adding new test module + + + +# Load testmoduleXXX, optionally with initialization file and/or test case files +#[New_Module] +#ModuleName= testmodulexxx + +#TestModuleXXX used initialization file +#IniFile= c:\testframework\init.txt + +#TestModuleXXX used configuration file(s) +#TestCaseFile= c:\testframework\testcases1.cfg +#TestCaseFile= c:\testframework\testcases2.cfg +#TestCaseFile= c:\testframework\manualtestcases.cfg + +#[End_Module] +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + + + +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +# Set STIF logging overwrite parameters for Logger. +# Hardware and emulator environment logging path and styles can +# be configured from here to overwrite the Logger's implemented values. +# +# Settings description: +# - Indicates option for creation log directory/directories. If log directory/directories +# is/are not created by user they will make by software. +# + YES, Create log directory/directories if not allready exist. +# + NO, Log directory/directories not created. Only created one is used. +# +# - Overwrite emulator path setting. +# + Example: If 'EmulatorBasePath= C:\LOGS\TestFramework\' and in code is defined +# Logger's path 'D:\\LOGS\\Module\\' with those definition the path +# will be 'C:\LOGS\TestFramework\LOGS\Module\' +# +# - Overwrite emulator's logging format. +# + TXT, Log file(s) will be txt type(s), for example 'Module.txt'. +# + HTML, Log file(s) will be html type(s), for example 'Module.html'. +# +# - Overwrited emulator logging output source. +# + FILE, Logging to file(s). +# + RDEBUG, Logging to using rdebug(s). +# +# - Overwrite hardware path setting (Same description as above in emulator path). +# - Overwrite hardware's logging format(Same description as above in emulator format). +# - Overwrite hardware's logging output source(Same description as above in emulator output). +# +# - File Creation Mode indicates file overwriting if file exist. +# + OVERWRITE, Overwrites if file(s) exist. +# + APPEND, Continue logging after the old logging information if file(s) exist. +# +# - Will thread id include to the log filename. +# + YES, Thread id to log file(s) name, Example filename 'Module_b9.txt'. +# + NO, No thread id to log file(s), Example filename 'Module.txt'. +# +# - Will time stamps include the to log file. +# + YES, Time stamp added to each line in log file(s). Time stamp is +# for example'12.Nov.2003 115958 LOGGING INFO' +# + NO, No time stamp(s). +# +# - Will line breaks include to the log file. +# + YES, Each logging event includes line break and next log event is in own line. +# + NO, No line break(s). +# +# - Will event ranking include to the log file. +# + YES, Event ranking number added to each line in log file(s). Ranking number +# depends on environment's tics, for example(includes time stamp also) +# '012 12.Nov.2003 115958 LOGGING INFO' +# + NO, No event ranking. +# +# - Will write log file in unicode format. +# + YES, Log file will be written in unicode format +# + NO, Log will be written as normal, not unicode, file. +# + +[Logger_Defaults] + +#NOTE: If you want to set Logger using next setting(s) remove comment(s)'#' +#NOTE: TestEngine and TestServer logging settings cannot change here + +#CreateLogDirectories= YES # Possible values: YES or NO + +#EmulatorBasePath= C:\LOGS\TestFramework\ +#EmulatorFormat= HTML # Possible values: TXT or HTML +#EmulatorOutput= FILE # Possible values: FILE or RDEBUG + +#HardwareBasePath= D:\LOGS\TestFramework\ +#HardwareFormat= HTML # Possible values: TXT or HTML +#HardwareOutput= FILE # Possible values: FILE or RDEBUG + +#FileCreationMode= OVERWRITE # Possible values: OVERWRITE or APPEND + +#ThreadIdToLogFile= YES # Possible values: YES or NO +#WithTimeStamp= YES # Possible values: YES or NO +#WithLineBreak= YES # Possible values: YES or NO +#WithEventRanking= YES # Possible values: YES or NO + +#FileUnicode= YES # Possible values: YES or NO +#AddTestCaseTitle= YES # Possible values: YES or NO +[End_Logger_Defaults] +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + + + +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +# Set filters to be used by ConsoleUI. +# If you want to use filter with ConsoleUI, simply remove comments +# from section below and provide valid filter entries. +# Each filter line has to start with "filter= " keyword. +# Filter can contain special wildcard characters: +# * which stands for none or any literal; +# ? which stands for single character. +# Filters are not case-sensitive. + +#[Filters] +#filter= *math* +#filter= *radio* +#[End_Filters] +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + +# End of file diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/accfwuinotifier/tsrc/AccFwUiNotifierTestModule/rom/AccFwUiNotifierTestModule.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/accfwuinotifier/tsrc/AccFwUiNotifierTestModule/rom/AccFwUiNotifierTestModule.iby Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,29 @@ +/* +* Copyright (c) 2010 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 __ACCFWUINOTIFIERTESTMODULE_IBY__ +#define __ACCFWUINOTIFIERTESTMODULE_IBY__ + +file=ABI_DIR\BUILD_DIR\AccFwUiNotifierTestModule.dll SHARED_LIB_DIR\AccFwUiNotifierTestModule.dll + +//data=\epoc32\data\z\system\data\TestFramework.ini \testframework\TestFramework.ini + +data=\epoc32\data\z\system\data\ui_AccFwUiNotifierTestModule.cfg \testframework\ui_AccFwUiNotifierTestModule.cfg + + + +#endif \ No newline at end of file diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/accfwuinotifier/tsrc/AccFwUiNotifierTestModule/src/AccFwUiNotifierTestModule.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/accfwuinotifier/tsrc/AccFwUiNotifierTestModule/src/AccFwUiNotifierTestModule.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,380 @@ +/* +* Copyright (c) 2010 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: This file contains testclass implementation. +* +*/ + +// INCLUDE FILES +#include +#include "AccFwUiNotifierTestModule.h" +#include +#include "AccFwUiNoteNotifier.h" + +#include +//#include + +// EXTERNAL DATA STRUCTURES +//extern ?external_data; + +// EXTERNAL FUNCTION PROTOTYPES +//extern ?external_function( ?arg_type,?arg_type ); + +// CONSTANTS +// CONSTANTS + + +// MACROS +//#define ?macro ?macro_def + +// LOCAL CONSTANTS AND MACROS + + +// MODULE DATA STRUCTURES +//enum ?declaration +//typedef ?declaration + +// LOCAL FUNCTION PROTOTYPES +//?type ?function_name( ?arg_type, ?arg_type ); + +// FORWARD DECLARATIONS +//class ?FORWARD_CLASSNAME; + +// ============================= LOCAL FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// ?function_name ?description. +// ?description +// Returns: ?value_1: ?description +// ?value_n: ?description_line1 +// ?description_line2 +// ----------------------------------------------------------------------------- +// +/* +?type ?function_name( + ?arg_type arg, // ?description + ?arg_type arg) // ?description + { + + ?code // ?comment + + // ?comment + ?code + } +*/ + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CAccFwUiNotifierTestModule::CAccFwUiNotifierTestModule +// C++ default constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +// +CAccFwUiNotifierTestModule::CAccFwUiNotifierTestModule( + CTestModuleIf& aTestModuleIf ): + CScriptBase( aTestModuleIf ) + { + } + +// ----------------------------------------------------------------------------- +// CAccFwUiNotifierTestModule::ConstructL +// Symbian 2nd phase constructor can leave. +// ----------------------------------------------------------------------------- +// +void CAccFwUiNotifierTestModule::ConstructL() + { + //Read logger settings to check whether test case name is to be + //appended to log file name. + RSettingServer settingServer; + TInt ret = settingServer.Connect(); + if(ret != KErrNone) + { + User::Leave(ret); + } + // Struct to StifLogger settigs. + TLoggerSettings loggerSettings; + // Parse StifLogger defaults from STIF initialization file. + ret = settingServer.GetLoggerSettings(loggerSettings); + if(ret != KErrNone) + { + User::Leave(ret); + } + // Close Setting server session + settingServer.Close(); + + TFileName logFileName; + + if(loggerSettings.iAddTestCaseTitle) + { + TName title; + TestModuleIf().GetTestCaseTitleL(title); + logFileName.Format(KAccFwUiNotifierTestModuleLogFileWithTitle, &title); + } + else + { + logFileName.Copy(KAccFwUiNotifierTestModuleLogFile); + } + + iLog = CStifLogger::NewL( KAccFwUiNotifierTestModuleLogPath, + logFileName, + CStifLogger::ETxt, + CStifLogger::EFile, + EFalse ); + + SendTestClassVersion(); + } + +// ----------------------------------------------------------------------------- +// CAccFwUiNotifierTestModule::NewL +// Two-phased constructor. +// ----------------------------------------------------------------------------- +// +CAccFwUiNotifierTestModule* CAccFwUiNotifierTestModule::NewL( + CTestModuleIf& aTestModuleIf ) + { + CAccFwUiNotifierTestModule* self = new (ELeave) CAccFwUiNotifierTestModule( aTestModuleIf ); + + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop(); + + return self; + + } + +// ----------------------------------------------------------------------------- +// CAccFwUiNotifierTestModule::Delete +// Delete here all resources allocated and opened from test methods. +// Called from destructor. +// ----------------------------------------------------------------------------- +// +void CAccFwUiNotifierTestModule::Delete() + { + + } + + +// Destructor +CAccFwUiNotifierTestModule::~CAccFwUiNotifierTestModule() + { + + // Delete resources allocated from test methods + Delete(); + + // Delete logger + delete iLog; + + } + +//----------------------------------------------------------------------------- +// CAccFwUiNotifierTestModule::SendTestClassVersion +// Method used to send version of test class +//----------------------------------------------------------------------------- +// +void CAccFwUiNotifierTestModule::SendTestClassVersion() + { + TVersion moduleVersion; + moduleVersion.iMajor = TEST_CLASS_VERSION_MAJOR; + moduleVersion.iMinor = TEST_CLASS_VERSION_MINOR; + moduleVersion.iBuild = TEST_CLASS_VERSION_BUILD; + + TFileName moduleName; + moduleName = _L("AccFwUiNotifierTestModule.dll"); + + TBool newVersionOfMethod = ETrue; + TestModuleIf().SendTestModuleVersion(moduleVersion, moduleName, newVersionOfMethod); + } + +// ------------------------------------------------------------------------------ +// PanicClient +// ------------------------------------------------------------------------------ +// +void CAccFwUiNotifierTestModule::PanicClient(TInt aPanic) + { + _LIT(KAccFwUiNotifierTestModulePanic, "AccFwUiNotifierTestModule"); + User::Panic(KAccFwUiNotifierTestModulePanic, aPanic); + } +// ----------------------------------------------------------------------------- +// CAccFwUiNotifierTestModule::RunMethodL +// Run specified method. Contains also table of test mothods and their names. +// ----------------------------------------------------------------------------- +// +TInt CAccFwUiNotifierTestModule::RunMethodL( + CStifItemParser& aItem ) + { + + static TStifFunctionInfo const KFunctions[] = + { + // Copy this line for every implemented function. + // First string is the function name used in TestScripter script file. + // Second is the actual implementation member function. + ENTRY( "CreateNotifierPlugin", CAccFwUiNotifierTestModule::CreateNotifierPlugin ), + ENTRY( "TestSupportedAccessoryUiNoteL", CAccFwUiNotifierTestModule::TestSupportedAccessoryUiNoteL ), + ENTRY( "TestUnsupportedAccessoryUiNoteL", CAccFwUiNotifierTestModule::TestUnsupportedAccessoryUiNoteL ), + ENTRY( "TestUpdateNotifierL", CAccFwUiNotifierTestModule::TestUpdateNotifierL ), + ENTRY( "TestStartNotifierL", CAccFwUiNotifierTestModule::TestStartNotifierL ), + + + //ADD NEW ENTRY HERE + // [test cases entries] - Do not remove + + }; + + const TInt count = sizeof( KFunctions ) / + sizeof( TStifFunctionInfo ); + + return RunInternalL( KFunctions, count, aItem ); + + } + + +TInt CAccFwUiNotifierTestModule::CreateNotifierPlugin(CStifItemParser& /*aItem */) + { + RDebug::Print(_L("CAccFwUiNotifierTestModule::CreatePlugin")); + TUid accfwuinotifierUID = {0x10205060}; + iNotifierPlugin = reinterpret_cast < CAccFwUiNoteNotifier* >(REComSession::CreateImplementationL (accfwuinotifierUID, idtorID ) ); + + STIF_ASSERT_NOT_NULL( iNotifierPlugin ); + RDebug::Print(_L("iNotifierPlugin = %x"),iNotifierPlugin); + + return KErrNone; + + } + +TInt CAccFwUiNotifierTestModule::TestSupportedAccessoryUiNoteL(CStifItemParser& /*aItem*/ ) + { + RDebug::Print(_L("CAccFwUiNotifierTestModule::AccessoryUiNote")); + RNotifier notifier; + notifier.Connect(); + TInt selectionListBitmask = 255; + + TInt reply = 0; + + + TPckg replyPck( reply); + + TPckg selectionBitmaskPackage( selectionListBitmask); + //activate active object + TRequestStatus status; + status = KRequestPending; + + //open ui + + notifier.StartNotifierAndGetResponse( status, KAccFwUiNoteNotifierUid, selectionBitmaskPackage, replyPck); + User::WaitForRequest( status); + + notifier.Close(); + + return KErrNone; + } + +TInt CAccFwUiNotifierTestModule::TestUnsupportedAccessoryUiNoteL(CStifItemParser& /*aItem*/ ) + { + RDebug::Print(_L("CAccFwUiNotifierTestModule::AccessoryUiNote")); + RNotifier notifier; + notifier.Connect(); + //TInt selectionListBitmask = 255; + + TInt reply = 0; + + + TPckg replyPck( reply); + + //activate active object + TRequestStatus status; + status = KRequestPending; + + //open ui + + notifier.StartNotifierAndGetResponse( status, KAccFwUiNoteNotifierUid, KNullDesC8, replyPck); + User::WaitForRequest( status); + + notifier.Close(); + + return KErrNone; + } + +TInt CAccFwUiNotifierTestModule::TestUpdateNotifierL(CStifItemParser& /*aItem*/ ) + { + RDebug::Print(_L("CAccFwUiNotifierTestModule::TestUpdateNotifierL")); + RNotifier notifier; + notifier.Connect(); + //TInt selectionListBitmask = 255; + + TInt reply = 0; + + + TPckg replyPck( reply); + + //activate active object + TRequestStatus status; + status = KRequestPending; + + //open ui + + notifier.StartNotifierAndGetResponse( status, KAccFwUiNoteNotifierUid, KNullDesC8, replyPck); + User::WaitForRequest( status); + + TBuf8<1> answer; + TInt err = notifier.UpdateNotifier(KAccFwUiNoteNotifierUid, KNullDesC8, answer); + if (err) + { + TBuf<4> error; + error.Zero(); + error.AppendNum(err); + //CEikonEnv::InfoWinL(_L("Error:"), error); + } + + User::WaitForRequest( status); + + notifier.Close(); + + return KErrNone; + } + +TInt CAccFwUiNotifierTestModule::TestStartNotifierL(CStifItemParser& /*aItem*/ ) + { + RDebug::Print(_L("CAccFwUiNotifierTestModule::TestStart2L-enter")); + const TInt KGeneralBufferLength = 32; + + TBuf8 responseBuffer; + + RNotifier notifier; + User::LeaveIfError( notifier.Connect() ); + + //Call Info() function. + notifier.StartNotifier( KAccFwUiNoteNotifierUid,KNullDesC8, responseBuffer); + + notifier.Close(); + + + return KErrNone; + } + +// ========================== OTHER EXPORTED FUNCTIONS ========================= + +// ----------------------------------------------------------------------------- +// LibEntryL is a polymorphic Dll entry point. +// Returns: CScriptBase: New CScriptBase derived object +// ----------------------------------------------------------------------------- +// +EXPORT_C CScriptBase* LibEntryL( + CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework + { + + return ( CScriptBase* ) CAccFwUiNotifierTestModule::NewL( aTestModuleIf ); + + } + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/advancedtspcontroller/inc/tsptriggerevents.h --- a/coreapplicationuis/advancedtspcontroller/inc/tsptriggerevents.h Wed Sep 29 15:24:56 2010 +0300 +++ b/coreapplicationuis/advancedtspcontroller/inc/tsptriggerevents.h Thu Oct 07 06:25:45 2010 +0300 @@ -14,6 +14,9 @@ * Description: Observes changes in the default player that should be used for a bearer */ +#ifndef TSPTRIGGEREVENTS_H +#define TSPTRIGGEREVENTS_H + #include #include #include @@ -102,3 +105,4 @@ CTspClientMapperObserver* iClientMapperObserver; }; +#endif diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/advancedtspcontroller/tsrc/testtspcontroller/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/advancedtspcontroller/tsrc/testtspcontroller/group/bld.inf Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,15 @@ +/* +============================================================================ + Name : bld.inf + Author : + Copyright : Your copyright notice + Description : This file provides the information required for building the + whole of a testtspcontroller. +============================================================================ +*/ + +PRJ_PLATFORMS +DEFAULT + +PRJ_MMPFILES +testtspcontroller.mmp diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/advancedtspcontroller/tsrc/testtspcontroller/group/ctc2result.bat --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/advancedtspcontroller/tsrc/testtspcontroller/group/ctc2result.bat Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,3 @@ +ctc2dat -i ctcdata.txt +ctcpost -p profile.txt +ctc2html -i profile.txt diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/advancedtspcontroller/tsrc/testtspcontroller/group/testtspcontroller.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/advancedtspcontroller/tsrc/testtspcontroller/group/testtspcontroller.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,49 @@ +/* +============================================================================ + Name : testtspcontroller.mmp + Author : + Copyright : Your copyright notice + Description : This is the project specification file for testtspcontroller. +============================================================================ +*/ + +TARGET testtspcontroller.exe +TARGETTYPE exe +UID 0 0x2002CAD1 + +USERINCLUDE ..\inc +USERINCLUDE ..\..\..\inc +SYSTEMINCLUDE \epoc32\include +MW_LAYER_SYSTEMINCLUDE +OS_LAYER_SYSTEMINCLUDE +SYSTEMINCLUDE /epoc32/include/mmf/common + +SOURCEPATH ..\src +SOURCE testtspcontroller.cpp +SOURCE mockcfactionindicationimpl.cpp +SOURCE mockremconidlelistener.cpp +SOURCE mockremcontspobserver.cpp + +SOURCEPATH ..\..\..\src +SOURCE remconeventtable.cpp +SOURCE remcontspcontroller.cpp +SOURCE tsptriggerevents.cpp + +LIBRARY euser.lib +LIBRARY c32.lib +LIBRARY cone.lib +LIBRARY apparc.lib +LIBRARY remcontargetselectorplugin.lib +LIBRARY remcontypes.lib +LIBRARY cfclient.lib +LIBRARY cfservices.lib +LIBRARY ws32.lib +LIBRARY apgrfx.lib +LIBRARY tspclientmapper.lib +LIBRARY stiftestengine.lib +LIBRARY stiftestinterface.lib + +//LIBRARY ctcrts.lib +#ifdef ENABLE_ABIV2_MODE +DEBUGGABLE_UDEBONLY +#endif diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/advancedtspcontroller/tsrc/testtspcontroller/inc/RemConDebug.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/advancedtspcontroller/tsrc/testtspcontroller/inc/RemConDebug.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,258 @@ +/* +* Copyright (c) 2002-2005 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: Macro definitions for tracing and debugging purposes. +* +*/ + + +#ifndef REMCONDEBUG_H +#define REMCONDEBUG_H + +#ifdef _DEBUG + +// INCLUDES +#include + +// CONSTANTS +_LIT( KComponent, "[ACCREMCON]" ); +_LIT( KThisFile, "[ACCREMCON] - Trace this file: %s, line: %d, compiled: %s %s" ); +_LIT( KAssertion, "[ACCREMCON] - Assertion failed: File: %s, line: %d, compiled: %s %s" ); +_LIT( KPanic, "[ACCREMCON] - Panic occurred: File: %s, line: %d, compiled: %s %s" ); +_LIT( KMystic, "[ACCREMCON] - Mystic failure: File: %s, line: %d, compiled: %s %s" ); +_LIT8( KDATE, __DATE__ ); +_LIT8( KTIME, __TIME__ ); + +const TInt KTraceMaxSize = 256; + +// DATA TYPES +enum TTraceType + { + ETraceInit, + ETraceAssert, + ETracePanic + }; + +// INLINE FUNCTIONS + + // ----------------------------------------------------------------------------- + // ThisFileFunc + // ----------------------------------------------------------------------------- + inline void ThisFileFunc( const TDesC8& aFile, + TInt aLine, + TTraceType aType = ETraceInit ) + { + HBufC* fileBuf = HBufC::New( aFile.Length() + 1 ); + HBufC* dateBuf = HBufC::New( 32 ); + HBufC* timeBuf = HBufC::New( 32 ); + + if ( fileBuf != NULL && dateBuf != NULL && timeBuf != NULL ) + { + fileBuf->Des().Copy( aFile ); + timeBuf->Des().Copy( KTIME ); + dateBuf->Des().Copy( KDATE ); + + if ( aType == ETraceInit ) + { + RDebug::Print( KThisFile, + fileBuf->Des().PtrZ(), + aLine, + dateBuf->Des().PtrZ(), + timeBuf->Des().PtrZ() ); + } + + else if ( aType == ETraceAssert ) + { + RDebug::Print( KAssertion, + fileBuf->Des().PtrZ(), + aLine, + dateBuf->Des().PtrZ(), + timeBuf->Des().PtrZ() ); + } + + else if ( aType == ETracePanic ) + { + RDebug::Print( KPanic, + fileBuf->Des().PtrZ(), + aLine, + dateBuf->Des().PtrZ(), + timeBuf->Des().PtrZ() ); + } + + else + { + RDebug::Print( KMystic, + fileBuf->Des().PtrZ(), + aLine, + dateBuf->Des().PtrZ(), + timeBuf->Des().PtrZ() ); + } + } + + else + { + RDebug::Print( _L( "Assertion and memory allocation failed!" ) ); + } + + delete fileBuf; + delete dateBuf; + delete timeBuf; + } + + // ----------------------------------------------------------------------------- + // TraceAssertFunc + // ----------------------------------------------------------------------------- + inline void TraceAssertFunc( const TDesC8& aFile, TInt aLine ) + { + ThisFileFunc( aFile, aLine, ETraceAssert ); + } + + // ----------------------------------------------------------------------------- + // TracePanicFunc + // ----------------------------------------------------------------------------- + inline void TracePanicFunc( const TDesC8& aFile, TInt aLine ) + { + ThisFileFunc( aFile, aLine, ETracePanic ); + User::Panic( KComponent, KErrGeneral ); + } + +// MACROS + #define PANIC_IF_FALSE( a ) if ( !( a ) )\ + TracePanicFunc( TPtrC8( ( TText8* ) __FILE__), __LINE__ ) + + #define PANIC_IF_TRUE( a ) if ( ( a ) )\ + TracePanicFunc( TPtrC8( ( TText8* ) __FILE__), __LINE__ ) + + #define PANIC_ALWAYS\ + TracePanicFunc( TPtrC8( ( TText8* ) __FILE__), __LINE__ ) + + // ----------------------------------------------------------------------------- + // COMPONENT_TRACE_FLAG + // ----------------------------------------------------------------------------- + #ifdef COMPONENT_TRACE_FLAG + + #define COMPONENT_TRACE_THIS_FILE\ + ThisFileFunc( TPtrC8( ( TText8* ) __FILE__), __LINE__ ) + + #define COM_TRACE_( AAA ) do\ + { _LIT( logStr, AAA ); RDebug::Print( logStr ); } while ( 0 ) + + #define COM_TRACE_1( AAA, BBB ) do\ + { _LIT( logStr, AAA ); RDebug::Print( logStr, BBB ); } while ( 0 ) + + #define COM_TRACE_2( AAA, BBB, CCC ) do\ + { _LIT( logStr, AAA ); RDebug::Print( logStr, BBB, CCC ); } while ( 0 ) + + #define COM_TRACE_3( AAA, BBB, CCC, DDD ) do\ + { _LIT( logStr, AAA ); RDebug::Print( logStr, BBB, CCC, DDD ); } while ( 0 ) + + #define COM_TRACE_4( AAA, BBB, CCC, DDD, EEE ) do\ + { _LIT( logStr, AAA ); RDebug::Print( logStr, BBB, CCC, DDD, EEE ); } while ( 0 ) + + #define COM_TRACE_RAW_( AAA ) do\ + { RDebug::RawPrint( AAA ); } while ( 0 ) + + #define COM_TRACE_RAW_1( AAA, BBB ) do\ + { _LIT( logStr, AAA ); TBuf buffer; buffer.Append( logStr ); buffer.Append( BBB );\ + RDebug::RawPrint( buffer ); } while ( 0 ) + + #else + + #define COMPONENT_TRACE_THIS_FILE + + #define COM_TRACE_( AAA ) + #define COM_TRACE_1( AAA, BBB ) + #define COM_TRACE_2( AAA, BBB, CCC ) + #define COM_TRACE_3( AAA, BBB, CCC, DDD ) + #define COM_TRACE_4( AAA, BBB, CCC, DDD, EEE ) + #define COM_TRACE_RAW_( AAA ) + #define COM_TRACE_RAW_1( AAA, BBB ) + + #endif // COMPONENT_TRACE_FLAG + + #define TRACE_ASSERT( a ) if ( !( a ) )\ + TraceAssertFunc( TPtrC8( ( TText8* ) __FILE__), __LINE__ ) + + #define TRACE_ASSERT_RETURN( a ) if ( !( ( a ) == KErrNone ) )\ + TraceAssertFunc( TPtrC8( ( TText8* ) __FILE__), __LINE__ ) + + #define TRACE_ASSERT_ALWAYS\ + TraceAssertFunc( TPtrC8( ( TText8* ) __FILE__ ), __LINE__ ) + + // ----------------------------------------------------------------------------- + // API_TRACE_FLAG + // ----------------------------------------------------------------------------- + #ifdef API_TRACE_FLAG + + #define API_TRACE_( AAA ) do\ + { _LIT( logStr, AAA ); RDebug::Print( logStr ); } while ( 0 ) + + #define API_TRACE_1( AAA, BBB ) do\ + { _LIT( logStr, AAA ); RDebug::Print( logStr, BBB ); } while ( 0 ) + + #define API_TRACE_2( AAA, BBB, CCC ) do\ + { _LIT( logStr, AAA ); RDebug::Print( logStr, BBB, CCC ); } while ( 0 ) + + #define API_TRACE_3( AAA, BBB, CCC, DDD ) do\ + { _LIT( logStr, AAA ); RDebug::Print( logStr, BBB, CCC, DDD ); } while ( 0 ) + + #define API_TRACE_4( AAA, BBB, CCC, DDD, EEE ) do\ + { _LIT( logStr, AAA ); RDebug::Print( logStr, BBB, CCC, DDD, EEE ); } while ( 0 ) + + #define API_TRACE_RAW_1( AAA, BBB ) do\ + { _LIT( logStr, AAA ); TBuf buffer; buffer.Append( logStr ); buffer.Append( BBB );\ + RDebug::RawPrint( buffer ); } while ( 0 ) + + #else + + #define API_TRACE_( AAA ) + #define API_TRACE_1( AAA, BBB ) + #define API_TRACE_2( AAA, BBB, CCC ) + #define API_TRACE_3( AAA, BBB, CCC, DDD ) + #define API_TRACE_4( AAA, BBB, CCC, DDD, EEE ) + #define API_TRACE_RAW_1( AAA, BBB ) + + #endif // API_TRACE_FLAG + +#else // _DEBUG + + #define TRACE_ASSERT( a ) + #define TRACE_ASSERT_RETURN( a ) a + #define TRACE_ASSERT_ALWAYS + + #define COM_TRACE_( AAA ) + #define COM_TRACE_1( AAA, BBB ) + #define COM_TRACE_2( AAA, BBB, CCC ) + #define COM_TRACE_3( AAA, BBB, CCC, DDD ) + #define COM_TRACE_4( AAA, BBB, CCC, DDD, EEE ) + #define COM_TRACE_RAW_( AAA ) + #define COM_TRACE_RAW_1( AAA, BBB ) + + #define API_TRACE_( AAA ) + #define API_TRACE_1( AAA, BBB ) + #define API_TRACE_2( AAA, BBB, CCC ) + #define API_TRACE_3( AAA, BBB, CCC, DDD ) + #define API_TRACE_4( AAA, BBB, CCC, DDD, EEE ) + #define API_TRACE_RAW_1( AAA, BBB ) + + #define COMPONENT_TRACE_THIS_FILE + + #define PANIC_IF_FALSE( a ) + #define PANIC_IF_TRUE( a ) + #define PANIC_ALWAYS + +#endif // _DEBUG + +#endif // REMCONDEBUG_H + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/advancedtspcontroller/tsrc/testtspcontroller/inc/mockcfactionindicationimpl.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/advancedtspcontroller/tsrc/testtspcontroller/inc/mockcfactionindicationimpl.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,53 @@ + + +#ifndef MOCKCFACTIONINDICATIONIMPL_H +#define MOCKCFACTIONINDICATIONIMPL_H + +#include +#include + +/** +* Action indication implementation. +* +* @since S60 5.0 +* @lib cfservices.lib +*/ +NONSHARABLE_CLASS( CMockCFActionIndicationImpl ): public CCFActionIndication + { + public: + + // Two phased constructors + IMPORT_C static CMockCFActionIndicationImpl* NewL (); + IMPORT_C static CMockCFActionIndicationImpl* NewLC (); + + // Destructor + ~CMockCFActionIndicationImpl(); + + public: // From base classes + + // From CCFActionIndication + void SetIdentifierL( const TDesC& aIdentifier ); + + // From CCFActionIndication + const TDesC& Identifier() const; + + // From CCFActionIndication + void AddParameterL( const TDesC& aKey, const TDesC& aValue ); + + // From CCFActionIndication + const RKeyValueArray& Parameters() const; + + private: + + CMockCFActionIndicationImpl(); + void ConstructL(); + + private: // Data + + // Own: Parameters + RKeyValueArray iParameters; + + // Own: Identifier + HBufC* iIdentifier; + }; +#endif //MOCKCFACTIONINDICATIONIMPL_H diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/advancedtspcontroller/tsrc/testtspcontroller/inc/mockremcontspobserver.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/advancedtspcontroller/tsrc/testtspcontroller/inc/mockremcontspobserver.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,64 @@ +/* + * MockRemConTSPObserver.h + * + * Created on: 21.7.2010 + * Author: tongsun + */ + +#ifndef MOCKREMCONTSPOBSERVER_H +#define MOCKREMCONTSPOBSERVER_H + +#include +#include + + +// CLASS DEFINITION +/** + * Unit test mock class. + */ +NONSHARABLE_CLASS(CMockRemConTSPObserver) + : public MRemConTargetSelectorPluginObserver //,public MCFListener + { +public: + // Constructors and destructor + static CMockRemConTSPObserver* NewL(); + static CMockRemConTSPObserver* NewLC(); + ~CMockRemConTSPObserver(); + + // from MRemConTargetSelectorPluginObserver + void OutgoingCommandAddressed(TInt aError) ; + void OutgoingCommandPermitted(TBool aIsPermitted); + void IncomingCommandAddressed(TInt aError); + void OutgoingResponsePermitted(TBool aIsPermitted) ; + void IncomingNotifyAddressed(TClientInfo* aClientInfo, TInt aError); + void ReAddressNotifies() ; + TInt GetConnections(TSglQue& aConnections) ; +public: + TInt Response(); + void SetResponse(TInt aValue) ; + TUid BearerUid() {return iBearerUid;} + TClientInfo ClientInfo() {return iClientInfo; } +private: + virtual void MrctspoDoOutgoingCommandAddressed(TInt aError); + virtual void MrctspoDoOutgoingCommandPermitted(TBool /*aIsPermitted*/) ; + virtual void MrctspoDoIncomingCommandAddressed(TInt aError ); + virtual TInt MrctspoDoGetConnections(TSglQue& /*aConnections*/) ; + virtual void MrctspoDoOutgoingResponsePermitted(TBool /*aIsPermitted*/); + virtual void MrctspoDoIncomingNotifyAddressed(TClientInfo* /*aClientInfo*/, TInt aError ); + virtual void MrctspoDoReAddressNotifies() ; + + virtual void MrctspoDoOutgoingNotifyCommandAddressed(TRemConAddress* aConnection, TInt aError); + virtual void MrctspoDoOutgoingNotifyCommandPermitted(TBool aIsPermitted) ; + virtual void MrctspoDoIncomingCommandPermitted(TBool aIsPermitted) ; + virtual void MrctspoDoIncomingNotifyPermitted(TBool aIsPermitted) ; + virtual TInt MrctspoSetLocalAddressedClient(const TUid& aBearerUid, const TClientInfo& aClientInfo) ; + + private: // Constructors + CMockRemConTSPObserver(); + void ConstructL(); + private: + TInt iObserverResponse; + TUid iBearerUid; + TClientInfo iClientInfo; + }; +#endif //MOCKREMCONTSPOBSERVER_H diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/advancedtspcontroller/tsrc/testtspcontroller/inc/testtspcontroller.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/advancedtspcontroller/tsrc/testtspcontroller/inc/testtspcontroller.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,22 @@ +/* + ============================================================================ + Name : testtspcontroller.h + Author : + Copyright : Your copyright notice + Description : Exe header file + ============================================================================ + */ + +#ifndef __TESTTSPCONTROLLER_H__ +#define __TESTTSPCONTROLLER_H__ + +// Include Files + +#include + +// Function Prototypes + +GLDEF_C TInt E32Main(); + +#endif // __TESTTSPCONTROLLER_H__ + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/advancedtspcontroller/tsrc/testtspcontroller/sis/testtspcontroller_EKA2.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/advancedtspcontroller/tsrc/testtspcontroller/sis/testtspcontroller_EKA2.pkg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,24 @@ +; Installation file for Symbian OS 9.x for generic console application +; Installation file for testtspcontroller EXE +; +; This is an auto-generated PKG file by Carbide. +; This file uses variables specific to Carbide builds that will not work +; on command-line builds. If you want to use this generated PKG file from the +; command-line tools you will need to modify the variables with the appropriate +; values: $(EPOCROOT), $(PLATFORM), $(TARGET) +; + +; +; UID is the exe's UID +; +#{"testtspcontroller EXE"},(0xE7DE3189),1,0,0 + + +;Localised Vendor name +%{"Vendor-EN"} + +;Unique Vendor name +:"Vendor" + +"$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\testtspcontroller.exe" -"!:\sys\bin\testtspcontroller.exe" + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/advancedtspcontroller/tsrc/testtspcontroller/src/mockcfactionindicationimpl.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/advancedtspcontroller/tsrc/testtspcontroller/src/mockcfactionindicationimpl.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,96 @@ + +#include "mockcfactionindicationimpl.h" + +EXPORT_C CMockCFActionIndicationImpl* CMockCFActionIndicationImpl::NewL() + { + + CMockCFActionIndicationImpl* self = CMockCFActionIndicationImpl::NewLC(); + CleanupStack::Pop( self ); + + return self; + } + +EXPORT_C CMockCFActionIndicationImpl* CMockCFActionIndicationImpl::NewLC() + { + + CMockCFActionIndicationImpl* self = new( ELeave ) CMockCFActionIndicationImpl; + CleanupStack::PushL( self ); + self->ConstructL(); + + return self; + } + +CMockCFActionIndicationImpl::~CMockCFActionIndicationImpl() + { + + delete iIdentifier; + iParameters.ResetAndDestroy(); + } + +CMockCFActionIndicationImpl::CMockCFActionIndicationImpl() + { + } + +void CMockCFActionIndicationImpl::ConstructL() + { + + iIdentifier = KNullDesC().AllocL(); + } + +// METHODS + +//----------------------------------------------------------------------------- +// CCFActionIndicationImpl::SetIdentifierL +//----------------------------------------------------------------------------- +// +void CMockCFActionIndicationImpl::SetIdentifierL( + const TDesC& aIdentifier ) + { + + TPtr identifierPtr = iIdentifier->Des(); + if( identifierPtr.MaxLength() >= aIdentifier.Length() ) + { + // Just copy + identifierPtr.Copy( aIdentifier ); + } + else + { + // Delete and create a new one + delete iIdentifier; + iIdentifier = NULL; + iIdentifier = aIdentifier.AllocL(); + } + } + +//----------------------------------------------------------------------------- +// CCFActionIndicationImpl::Identifier +//----------------------------------------------------------------------------- +// +const TDesC& CMockCFActionIndicationImpl::Identifier() const + { + + return *iIdentifier; + } + +//----------------------------------------------------------------------------- +// CCFActionIndicationImpl::AddParameterL +//----------------------------------------------------------------------------- +// +void CMockCFActionIndicationImpl::AddParameterL( const TDesC& aKey, + const TDesC& aValue ) + { + + CCFKeyValuePair* obj = CCFKeyValuePair::NewLC( aKey, aValue ); + iParameters.AppendL( obj ); + CleanupStack::Pop( obj ); + } + +//----------------------------------------------------------------------------- +// CCFActionIndicationImpl::Parameters +//----------------------------------------------------------------------------- +// +const RKeyValueArray& CMockCFActionIndicationImpl::Parameters() const + { + return iParameters; + } + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/advancedtspcontroller/tsrc/testtspcontroller/src/mockremconidlelistener.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/advancedtspcontroller/tsrc/testtspcontroller/src/mockremconidlelistener.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,244 @@ +/* +* Copyright (c) 2002-2008 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: Idle state listener +* +*/ + + +// INCLUDE FILES +#include "remconidlelistener.h" +#include "RemConDebug.h" +#include "remcontspcontroller.h" + +// EXTERNAL DATA STRUCTURES + +// EXTERNAL FUNCTION PROTOTYPES + +// CONSTANTS + +// MACROS + +// LOCAL CONSTANTS AND MACROS + +// MODULE DATA STRUCTURES + +// LOCAL FUNCTION PROTOTYPES + +// FORWARD DECLARATIONS + +// ============================= LOCAL FUNCTIONS =============================== + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CRemConIdleListener::~CRemConIdleListener +// ----------------------------------------------------------------------------- +// +CRemConIdleListener::~CRemConIdleListener() + { + /* + COM_TRACE_( "[REMCONTSPCONTROLLER] CRemConIdleListener::~CRemConIdleListener()" ); + + Cancel(); + iProperty.Close(); + delete iPeriodic; + if ( iDeleteInd ) // Update delete indicator + { + *iDeleteInd = ETrue; + } + + COM_TRACE_( "[REMCONTSPCONTROLLER] CRemConIdleListener::~CRemConIdleListener() - return" ); + */ + } + +// ----------------------------------------------------------------------------- +// CRemConIdleListener::CRemConIdleListener +// ----------------------------------------------------------------------------- +// +CRemConIdleListener::CRemConIdleListener( CRemConTspController& aController ) + : CActive ( EPriorityNormal ), + iController( aController ) + { + COM_TRACE_( "[REMCONTSPCONTROLLER] CRemConIdleListener::CRemConIdleListener()" ); + } + +// ----------------------------------------------------------------------------- +// CRemConIdleListener::ConstructL +// Symbian 2nd phase constructor can leave. +// ----------------------------------------------------------------------------- +// +void CRemConIdleListener::ConstructL() + { + /* + COM_TRACE_( "[REMCONTSPCONTROLLER] CRemConIdleListener::ConstructL()" ); + + CActiveScheduler::Add( this ); + User::LeaveIfError( iProperty.Attach( KPSUidStartup, + KPSIdlePhase1Ok ) ); + RunL(); // Start listening + + COM_TRACE_( "[REMCONTSPCONTROLLER] CRemConIdleListener::ConstructL() - return void" ); + */ + } + +// ----------------------------------------------------------------------------- +// CRemConIdleListener::NewL +// Symbian 2nd phase constructor can leave. +// ----------------------------------------------------------------------------- +// +CRemConIdleListener* CRemConIdleListener::NewL( CRemConTspController& aController ) + { + COM_TRACE_( "[REMCONTSPCONTROLLER] CRemConIdleListener::NewL()" ); + + CRemConIdleListener * self = new ( ELeave ) CRemConIdleListener( aController ); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + + COM_TRACE_( "[REMCONTSPCONTROLLER] CRemConIdleListener::NewL() - return void" ); + return self; + } + +// ----------------------------------------------------------------------------- +// CRemConIdleListener::RetryCB() +// +// ----------------------------------------------------------------------------- +// +TInt CRemConIdleListener::RetryCB( TAny* aPtr ) + { + /* + COM_TRACE_( "[REMCONTSPCONTROLLER] CRemConIdleListener::RetryCB()" ); + + static_cast( aPtr )->CreateController(); + + COM_TRACE_( "[REMCONTSPCONTROLLER] CRemConIdleListener::RetryCB() - return" ); + */ + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CRemConIdleListener::CreateController() +// +// ----------------------------------------------------------------------------- +// +void CRemConIdleListener::CreateController() + { + /* + COM_TRACE_( "[REMCONTSPCONTROLLER] CRemConIdleListener::CreateController()" ); + + // Setup delete indicator to detect listener deletion from controller and try to create + TBool deleteInd( EFalse ); + iDeleteInd = &deleteInd; + TRAPD( err, iController.CreateAfterIdleL() ); + COM_TRACE_1( "[REMCONTSPCONTROLLER] CRemConIdleListener::CreateController() - Create err=%d", err ); + + if ( !deleteInd ) + { + iDeleteInd = NULL; // Reset delete indicator + if ( err == KErrNone ) + { + // Stop retry callback on success + delete iPeriodic; + iPeriodic = NULL; + } + else if ( !iPeriodic ) + { + // Start retry callback on error + iPeriodic = CPeriodic::New( CActive::EPriorityStandard ); + if( iPeriodic ) + { + iPeriodic->Start( KRetryInterval, KRetryInterval, TCallBack( RetryCB, this ) ); + } + else + { + COM_TRACE_( "[REMCONTSPCONTROLLER] CRemConIdleListener::CreateController() - Retry out of memory" ); + } + } + if ( iPeriodic ) + { + COM_TRACE_1( "[REMCONTSPCONTROLLER] CRemConIdleListener::CreateController() - Retry after %d us", + KRetryInterval ); + } + } + + COM_TRACE_( "[REMCONTSPCONTROLLER] CRemConIdleListener::CreateController() - return" ); + */ + } + +// ----------------------------------------------------------------------------- +// CRemConIdleListener::DoCancel() +// +// ----------------------------------------------------------------------------- +// +void CRemConIdleListener::DoCancel() + { + /* + COM_TRACE_( "[REMCONTSPCONTROLLER] CRemConIdleListener::DoCancel()" ); + + iProperty.Cancel(); + + COM_TRACE_( "[REMCONTSPCONTROLLER] CRemConIdleListener::DoCancel() - return void" ); + */ + } + +// ----------------------------------------------------------------------------- +// CRemConIdleListener::RunL() +// +// ----------------------------------------------------------------------------- +// +void CRemConIdleListener::RunL() + { + /* + COM_TRACE_( "[REMCONTSPCONTROLLER] CRemConIdleListener::RunL()" ); + + iProperty.Subscribe( iStatus ); + TInt value( 0 ); + TInt err( iProperty.Get( value ) ); + COM_TRACE_1( "[REMCONTSPCONTROLLER] CRemConIdleListener::RunL() - Value err", err ); + SetActive(); + + if ( err == KErrNone && value == EIdlePhase1Ok ) + { + // Cancel listening and create controller + COM_TRACE_( "[REMCONTSPCONTROLLER] CRemConIdleListener::RunL() - Idle detected!" ); + Cancel(); + CreateController(); + } + else + { + // Listening continues + COM_TRACE_( "[REMCONTSPCONTROLLER] CRemConIdleListener::RunL() - No idle detected, subscribe and wait idle key" ); + } + + COM_TRACE_( "[REMCONTSPCONTROLLER] CRemConIdleListener::RunL() - return void" ); + */ + } + +// ----------------------------------------------------------------------------- +// CRemConIdleListener::RunError +// Handle error in RunL +// ----------------------------------------------------------------------------- +// +#ifdef _DEBUG +TInt CRemConIdleListener::RunError(TInt aError) +#else +TInt CRemConIdleListener::RunError(TInt /*aError*/) +#endif + { + COM_TRACE_1( "[REMCONTSPCONTROLLER] CRemConIdleListener::RunError(%d)", aError ); + // Error occurred while trying to communicate with context framework. + // Return KErrNone to avoid panic. + return KErrNone; + } +// End of file diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/advancedtspcontroller/tsrc/testtspcontroller/src/mockremcontspobserver.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/advancedtspcontroller/tsrc/testtspcontroller/src/mockremcontspobserver.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,124 @@ + +#include +#include +#include "mockremcontspobserver.h" + +CMockRemConTSPObserver* CMockRemConTSPObserver::NewL() + { + CMockRemConTSPObserver * self = new ( ELeave ) CMockRemConTSPObserver( ); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } +CMockRemConTSPObserver::~CMockRemConTSPObserver() + { + + } +CMockRemConTSPObserver::CMockRemConTSPObserver() + { + + } +void CMockRemConTSPObserver::ConstructL() + { + + + } + +TInt CMockRemConTSPObserver::Response() + {return iObserverResponse; } + +void CMockRemConTSPObserver::SetResponse(TInt aValue) + { iObserverResponse = aValue; } + + +void CMockRemConTSPObserver::MrctspoDoOutgoingCommandAddressed(TInt aError) + { + iObserverResponse = aError; + } +void CMockRemConTSPObserver::MrctspoDoOutgoingCommandPermitted(TBool aIsPermitted) + { + if( aIsPermitted ) + { + iObserverResponse = KErrNone; + } + else + { + iObserverResponse = KErrNotFound; + } + } +void CMockRemConTSPObserver::MrctspoDoIncomingCommandAddressed(TInt aError ) + { + iObserverResponse = aError; + } +TInt CMockRemConTSPObserver::MrctspoDoGetConnections(TSglQue& /*aConnections*/) + { return 0; } +void CMockRemConTSPObserver::MrctspoDoOutgoingResponsePermitted(TBool aIsPermitted) + { + if( aIsPermitted ) + { + iObserverResponse = KErrNone; + } + else + { + iObserverResponse = KErrNotFound; + } + } +void CMockRemConTSPObserver::MrctspoDoIncomingNotifyAddressed(TClientInfo* aClientInfo, TInt aError ) + { + iObserverResponse = aError; + if( aClientInfo ) + { + iClientInfo = *aClientInfo; + } + else + { + iClientInfo.SecureId().iId = 0; + } + } +void CMockRemConTSPObserver::MrctspoDoReAddressNotifies() + {} + +void CMockRemConTSPObserver::MrctspoDoOutgoingNotifyCommandAddressed(TRemConAddress* aConnection, TInt aError) + {} +void CMockRemConTSPObserver::MrctspoDoOutgoingNotifyCommandPermitted(TBool aIsPermitted) + { + if( aIsPermitted ) + { + iObserverResponse = KErrNone; + } + else + { + iObserverResponse = KErrNotFound; + } + } +void CMockRemConTSPObserver::MrctspoDoIncomingCommandPermitted(TBool aIsPermitted) + { + if( aIsPermitted ) + { + iObserverResponse = KErrNone; + } + else + { + iObserverResponse = KErrNotFound; + } + } +void CMockRemConTSPObserver::MrctspoDoIncomingNotifyPermitted(TBool aIsPermitted) + { + if( aIsPermitted ) + { + iObserverResponse = KErrNone; + } + else + { + iObserverResponse = KErrNotFound; + } + } +TInt CMockRemConTSPObserver::MrctspoSetLocalAddressedClient(const TUid& aBearerUid, const TClientInfo& aClientInfo) + { + iObserverResponse = KErrNone; + iBearerUid = aBearerUid; + iClientInfo = aClientInfo; + return KErrNone; + } + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/advancedtspcontroller/tsrc/testtspcontroller/src/testtspcontroller.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/advancedtspcontroller/tsrc/testtspcontroller/src/testtspcontroller.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,735 @@ +/* + ============================================================================ + Name : testtspcontroller.cpp + Author : + Copyright : Your copyright notice + Description : Exe source file + ============================================================================ + */ + +// Include Files + +#include "testtspcontroller.h" +#include +#include +#include // Console +#include + +#include +#include +#include +#include +#include +#include + +#include + +#include "remcontspcontroller.h" +#include "mockremcontspobserver.h" +#include "mockcfactionindicationimpl.h" + +#define RUN_TEST_CASE(_tt, _tp, tf) \ +{\ + _tt++; \ + if( KErrNone==tf ) \ + _tp++; \ +} + +// Constants +const TUint32 KUid3BTAudioMan = 0x10208971; + +_LIT(KTextConsoleTitle, "Console"); +_LIT(KTextFailed, " failed, leave code = %d"); +_LIT(KTextPressAnyKey, " [press any key]\n"); + +// constant for stif log +// Logging path +_LIT( KutremcontspcontrollerLogPath, "\\logs\\testframework\\" ); +// Log file +_LIT( KutremcontspcontrollerLogFile, "testtspcontroller.txt" ); +//_LIT( KutremcontspcontrollerLogFileWithTitle, "testtspcontroller_[%S].txt" ); + +_LIT(KTTestNumberStart, "Test%d start. \n"); +_LIT(KTTestNumberPassed, "Test%d passed. \n"); + +// literal constants for set event table +_LIT( KTsp, "Tsp" ); +_LIT( KRoutingTable, "routingTable" ); +/* +_LIT( KRemConKeyEvent, "keyEventRemCon*" ); +_LIT( KRemConKeyEventExt, "keyEventRemConExt*" ); +_LIT( KRemConKeyEventExtCall, "keyEventRemConExtCall*" ); +_LIT( KRemConKeyEventExtPoc, "keyEventRemConExtPoc*" ); +_LIT( KRemConKeyEventExtSync, "keyEventRemConExtSync*" ); +_LIT( KRuleText, "rule*" ); +_LIT( KDefaultAppText, "defaultApplication*" ); +_LIT( KTransparentAppText, "transparentApplication*" ); +_LIT( KRemoveRoutingTable, "removeRoutingTable" ); +_LIT( KDefaultLaunchAppText, "defaultLaunchApp*" ); +_LIT( KStoreRoutingTable, "storeRoutingTable" ); +_LIT( KRestoreRoutingTable, "restoreRoutingTable" ); +*/ +// Global Variables + +LOCAL_D CConsoleBase* console; // write all messages to this + +// stif logger pointer +CStifLogger* stifLog; +// variables for all test cases +CMockRemConTSPObserver* mockObserver(NULL); +CRemConTspController* remconTspController(NULL); +MCFListener* cfListener(NULL); +TSglQue clients; +RProcess thisProc; +TClientInfo thisClient; +TProcessId fakeId( thisProc.Id() + 100 ); +TClientInfo fakeClient; +TClientInfo anotherFakeClient; +TClientInfo fakeClientPhone; +TClientInfo fakeTransparentClient; +TClientInfo* client(NULL); +MRemConTargetSelectorPluginInterfaceV2* tspIf2(NULL); +MRemConTargetSelectorPluginInterfaceV4* tspIf4(NULL); +MRemConTargetSelectorPluginInterfaceV5* tspIf5(NULL); +TInt err(KErrNone); +TInt testCasesTotal(0); +TInt testCasesPassed(0); + + +/** Rules assumed by this test suite. + + + + + + + +*/ + +LOCAL_C void TestSetupL() + { + _LIT(KSetupStart, "TestSetup start"); + stifLog->Log(KSetupStart); + + // create mock observer + mockObserver = CMockRemConTSPObserver::NewL(); + // instantiate remote controller tsp controller + remconTspController = CRemConTspController::NewL(*mockObserver); + // get various interfaces for each test cases + CRemConTargetSelectorPlugin* tspp(remconTspController); + tspIf2 = static_cast( tspp->GetInterface( TUid::Uid( KRemConTargetSelectorInterface2 ) ) ); + tspIf4 = static_cast( tspp->GetInterface( TUid::Uid( KRemConTargetSelectorInterface4 ) ) ); + tspIf5 = static_cast( tspp->GetInterface( TUid::Uid( KRemConTargetSelectorInterface5 ) ) ); + + // create action parameters according to test rule table, see comments for + // event table before this function + CMockCFActionIndicationImpl* cfActInd(NULL); + cfActInd= CMockCFActionIndicationImpl::NewL(); + CleanupStack::PushL(cfActInd); + + cfActInd->SetIdentifierL(KTsp); + + cfActInd->AddParameterL(KRoutingTable,_L("01")); + cfActInd->AddParameterL(_L("keyEventRemConVolumeUp"),_L("41")); + cfActInd->AddParameterL(_L("keyEventRemConVolumeDown"),_L("42")); + cfActInd->AddParameterL(_L("keyEventRemConPlay"),_L("44")); + + cfActInd->AddParameterL(KRoutingTable,_L("01")); + cfActInd->AddParameterL(_L("ruleForeground"),_L("01")); + cfActInd->AddParameterL(_L("ruleActiveAudio"),_L("00")); + cfActInd->AddParameterL(_L("ruleLastPlayedAudio"),_L("03")); + cfActInd->AddParameterL(_L("ruleDefaultApp"),_L("02")); + cfActInd->AddParameterL(_L("defaultApplicationPhone"),_L("100058B3")); + cfActInd->AddParameterL(_L("transparentApplication1"),_L("10005555")); + + cfActInd->AddParameterL(KRoutingTable,_L("09")); + cfActInd->AddParameterL(_L("keyEventRemConF4"),_L("74")); + + cfActInd->AddParameterL(KRoutingTable,_L("09")); + cfActInd->AddParameterL(_L("ruleDefaultLaunchApp"),_L("04")); + cfActInd->AddParameterL(_L("defaultLaunchApp"),_L("EFFFFFFF")); + + // call ActionIndication through MCFListener interface + cfListener = static_cast (remconTspController); + cfListener->ActionIndicationL(*cfActInd); + CleanupStack::PopAndDestroy(cfActInd); + + // itinilize all client for testing + thisClient.ProcessId() = thisProc.Id(); + fakeClient.ProcessId() = fakeId.Id(); + anotherFakeClient.ProcessId() = fakeId.Id() + 100; + fakeClientPhone.ProcessId() = fakeId.Id() + 200; + fakeClientPhone.SecureId() = TUid::Uid( 0x100058B3 ); + fakeTransparentClient.ProcessId() = fakeId.Id() + 300; + fakeTransparentClient.SecureId() = TUid::Uid( 0x10005555 ); + } +LOCAL_C void TestTearDown() + { + _LIT(KSetupStart, "TestTearDown start"); + stifLog->Log(KSetupStart); + if ( remconTspController!=NULL ) + { + delete remconTspController; + } + if ( mockObserver!=NULL ) + { + delete mockObserver; + } + } +LOCAL_C TInt Test01() + { + stifLog->Log(KTTestNumberStart, 1); + console->Printf(KTTestNumberStart, 1); + + //1.Test the foreground application rule + //Test the foreground application rule + clients.AddLast( thisClient ); + clients.AddLast( fakeClient ); + clients.AddLast( anotherFakeClient ); + clients.AddLast( fakeClientPhone ); + clients.AddLast( fakeTransparentClient ); + + mockObserver->SetResponse(KErrGeneral); + tspIf2->AddressIncomingCommand( TUid::Uid(KRemConCoreApiUid), ERemConCoreApiVolumeUp, clients ); + + if( mockObserver->Response() == KErrGeneral) + { + stifLog->Log(_L("test case failed: MRemConTargetSelectorPluginObserver was not called\n")); + console->Printf(_L("test case failed: MRemConTargetSelectorPluginObserver was not called\n")); + return KErrGeneral; + } + + if( clients.IsEmpty() ) + { + stifLog->Log(_L("test case failed: no client found and returned.\n")); + console->Printf(_L("test case failed: no client found and returned.\n")); + return KErrGeneral; + } + + client = clients.Last(); + TClientInfo* clientFirst = clients.First(); + + //RProcess currProc; + //RThread thread; + //TInt err = thread.Open( ( TUint )RThread().Id(), EOwnerProcess ); + if( (client->ProcessId() == thisProc.Id()) && + (clientFirst->SecureId() == fakeTransparentClient.SecureId())) + { + } + else if ( (clientFirst->ProcessId() == thisProc.Id()) && + (client->SecureId() == fakeTransparentClient.SecureId())) + { + } + else + { + stifLog->Log(_L("test case failed: wrong client returned\n")); + console->Printf(_L("test case failed: wrong client returned\n")); + return KErrGeneral; + } + stifLog->Log(KTTestNumberPassed, 1); + console->Printf(KTTestNumberPassed,1); + return KErrNone; + } +LOCAL_C TInt Test02() + { + stifLog->Log(KTTestNumberStart, 2); + console->Printf(KTTestNumberStart, 2); + // by now this function are empty, so call it here for just a coverage + cfListener->Extension(TUid::Uid(0)); + + stifLog->Log(KTTestNumberPassed, 2); + console->Printf(KTTestNumberPassed,2); + return KErrNone; + } +LOCAL_C TInt Test03() + { + stifLog->Log(KTTestNumberStart, 3); + console->Printf(KTTestNumberStart, 3); + + // test 03 + // 3. Test the active audio rule + // current process is not added to list because events must not fall to foreground application + clients.Reset(); + clients.AddLast( fakeClient ); + clients.AddLast( anotherFakeClient ); + clients.AddLast( fakeClientPhone ); + + CTspClientMapper* tspCm(NULL); + TRAP(err, tspCm = CTspClientMapper::NewL()); // register fake client to TSP client mapper, so it is considered as active audio + if( err!=KErrNone) + { + delete tspCm; + return KErrGeneral; + } + CleanupStack::PushL(tspCm); + tspCm->SetTspTargetClient( CTspClientMapper::EPlayingClients, fakeId ); + mockObserver->SetResponse(KErrGeneral); + + tspIf2->AddressIncomingCommand( TUid::Uid(KRemConCoreApiUid), ERemConCoreApiVolumeUp, clients ); + tspCm->RemoveTspTargetClient( CTspClientMapper::EPlayingClients, fakeId ); + CleanupStack::PopAndDestroy( tspCm ); + + if( mockObserver->Response() == KErrGeneral) + { + stifLog->Log(_L("test case failed: MRemConTargetSelectorPluginObserver was not called\n")); + console->Printf(_L("test case failed: MRemConTargetSelectorPluginObserver was not called\n")); + return KErrGeneral; + } + + if( clients.IsEmpty() ) + { + stifLog->Log(_L("test case failed: no client found and returned.\n")); + console->Printf(_L("test case failed: no client found and returned.\n")); + return KErrGeneral; + } + client = clients.Last(); + + if( client->ProcessId() != fakeId) + { + stifLog->Log(_L("test case failed: wrong client returned\n")); + console->Printf(_L("test case failed: wrong client returned\n")); + return KErrGeneral; + } + stifLog->Log(KTTestNumberPassed, 3); + console->Printf(KTTestNumberPassed,3); + return KErrNone; + } +LOCAL_C TInt Test04() + { + stifLog->Log(KTTestNumberStart, 4); + console->Printf(KTTestNumberStart, 4); + // test 04 + // 4. Test the last played application rule + clients.Reset(); + clients.AddLast( anotherFakeClient ); + clients.AddLast( fakeClient ); + clients.AddLast( fakeClientPhone ); + + mockObserver->SetResponse(KErrGeneral); + tspIf2->AddressIncomingCommand( TUid::Uid(KRemConCoreApiUid), ERemConCoreApiVolumeUp, clients ); + if( mockObserver->Response() == KErrGeneral) + { + stifLog->Log(_L("test case failed: MRemConTargetSelectorPluginObserver was not called\n")); + console->Printf(_L("test case failed: MRemConTargetSelectorPluginObserver was not called\n")); + return KErrGeneral; + } + + if( clients.IsEmpty() ) + { + stifLog->Log(_L("test case failed: no client found and returned.\n")); + console->Printf(_L("test case failed: no client found and returned.\n")); + return KErrGeneral; + } + client = clients.Last(); + + if( client->ProcessId() != fakeId) + { + stifLog->Log(_L("test case failed: wrong client returned\n")); + console->Printf(_L("test case failed: wrong client returned\n")); + return KErrGeneral; + } + stifLog->Log(KTTestNumberPassed, 4); + console->Printf(KTTestNumberPassed,4); + return KErrNone; + } +LOCAL_C TInt Test05() + { + stifLog->Log(KTTestNumberStart, 5); + console->Printf(KTTestNumberStart, 5); + // test 05 + // 5. Test the default application (=Phone) rule + // drop the 1st fake client so we won't fall to last played application rule + clients.Reset(); + clients.AddLast( anotherFakeClient ); + clients.AddLast( fakeClientPhone ); + + mockObserver->SetResponse(KErrGeneral); + tspIf2->AddressIncomingCommand( TUid::Uid(KRemConCoreApiUid), ERemConCoreApiVolumeUp, clients ); + + if( mockObserver->Response() == KErrGeneral) + { + stifLog->Log(_L("test case failed: MRemConTargetSelectorPluginObserver was not called\n")); + console->Printf(_L("test case failed: MRemConTargetSelectorPluginObserver was not called\n")); + return KErrGeneral; + } + + if( clients.IsEmpty() ) + { + stifLog->Log(_L("test case failed: no client found and returned.\n")); + console->Printf(_L("test case failed: no client found and returned.\n")); + return KErrGeneral; + } + client = clients.Last(); + if( client->ProcessId() != fakeClientPhone.ProcessId()) + { + stifLog->Log(_L("test case failed: wrong client returned\n")); + console->Printf(_L("test case failed: wrong client returned\n")); + return KErrGeneral; + } + stifLog->Log(KTTestNumberPassed, 5); + console->Printf(KTTestNumberPassed,5); + return KErrNone; + } +LOCAL_C TInt Test06() + { + stifLog->Log(KTTestNumberStart, 6); + console->Printf(KTTestNumberStart, 6); + + // test 06 + // 6. Test an key event that does not have a rule assigned to it + clients.Reset(); + clients.AddLast( anotherFakeClient ); + clients.AddLast( fakeClientPhone ); + mockObserver->SetResponse(KErrGeneral); + tspIf2->AddressIncomingCommand( TUid::Uid(KRemConCoreApiUid), ERemConCoreApiF5, clients ); + if( mockObserver->Response() == KErrGeneral) + { + stifLog->Log(_L("test case failed: MRemConTargetSelectorPluginObserver was not called\n")); + console->Printf(_L("test case failed: MRemConTargetSelectorPluginObserver was not called\n")); + return KErrGeneral; + } + + stifLog->Log(KTTestNumberPassed, 6); + console->Printf(KTTestNumberPassed,6); + return KErrNone; + } +LOCAL_C TInt Test07() + { + stifLog->Log(KTTestNumberStart, 7); + console->Printf(KTTestNumberStart, 7); + // 7. Test a key event that attempts to launch an (non-existing) application + clients.Reset(); + clients.AddLast( anotherFakeClient ); + clients.AddLast( fakeClientPhone ); + mockObserver->SetResponse(KErrGeneral); + tspIf2->AddressIncomingCommand( TUid::Uid(KRemConCoreApiUid), ERemConCoreApiF4, clients ); + if( mockObserver->Response() == KErrGeneral) + { + stifLog->Log(_L("test case failed: MRemConTargetSelectorPluginObserver was not called\n")); + console->Printf(_L("test case failed: MRemConTargetSelectorPluginObserver was not called\n")); + return KErrGeneral; + } + + stifLog->Log(KTTestNumberPassed, 7); + console->Printf(KTTestNumberPassed,7); + return KErrNone; + } +LOCAL_C TInt Test08() + { + stifLog->Log(KTTestNumberStart, 8); + console->Printf(KTTestNumberStart, 8); + // 8. addressincomingnotify + anotherFakeClient.SecureId().iId = KUid3BTAudioMan; + clients.Reset(); + clients.AddLast( anotherFakeClient ); + clients.AddLast( fakeClientPhone ); + mockObserver->SetResponse(KErrGeneral); + // set par1 and par2, so that par1 in notification to observer's -- a client info + // is not null + tspIf2->AddressIncomingNotify(TUid::Uid(KRemConAbsoluteVolumeControllerApiUid), ERemConCoreApiF4, clients); + + // if the notification's first par is not null, then response is + if( mockObserver->Response()==KErrGeneral ) + { + stifLog->Log(_L("test case failed: MRemConTargetSelectorPluginObserver was not called\n")); + console->Printf(_L("test case failed: MRemConTargetSelectorPluginObserver was not called\n")); + return KErrGeneral; + } + if( mockObserver->ClientInfo().SecureId()!=anotherFakeClient.SecureId() ) + { + stifLog->Log(_L("test case failed: wrong client returned\n")); + console->Printf(_L("test case failed: wrong client returned\n")); + return KErrGeneral; + } + + stifLog->Log(KTTestNumberPassed, 8); + console->Printf(KTTestNumberPassed,8); + return KErrNone; + } +LOCAL_C TInt Test09() + { + stifLog->Log(KTTestNumberStart, 9); + console->Printf(KTTestNumberStart, 9); + + // 9. addressincomingnotify + anotherFakeClient.SecureId().iId = KUid3BTAudioMan - 1; + clients.Reset(); + clients.AddLast( anotherFakeClient ); + clients.AddLast( fakeClientPhone ); + mockObserver->SetResponse(KErrGeneral); + tspIf2->AddressIncomingNotify(TUid::Uid(KRemConAbsoluteVolumeControllerApiUid), ERemConCoreApiF4, clients); + + if( mockObserver->Response()==KErrGeneral ) + { + stifLog->Log(_L("test case failed: MRemConTargetSelectorPluginObserver was not called\n")); + console->Printf(_L("test case failed: MRemConTargetSelectorPluginObserver was not called\n")); + return KErrGeneral; + } + if( mockObserver->ClientInfo().SecureId()==anotherFakeClient.SecureId() ) + { + stifLog->Log(_L("test case failed: wrong client returned\n")); + console->Printf(_L("test case failed: wrong client returned\n")); + return KErrGeneral; + } + stifLog->Log(KTTestNumberPassed, 9); + console->Printf(KTTestNumberPassed,9); + return KErrNone; + } +LOCAL_C TInt Test10() + { + stifLog->Log(KTTestNumberStart, 10); + console->Printf(KTTestNumberStart, 10); + + // test 10 AddressOutgoingCommand + TSglQue bearers; + TSecurityPolicy secPolicy; + TBearerSecurity bearer(TUid::Uid(100), secPolicy); + TBearerSecurity anotherBearer(TUid::Uid(200), secPolicy); + TSglQue connections; + + bearers.AddLast(bearer); + bearers.AddLast(anotherBearer); + mockObserver->SetResponse(KErrGeneral); + tspIf2->AddressOutgoingCommand( + TUid::Uid(KRemConAbsoluteVolumeControllerApiUid), + ERemConCoreApiF4, + anotherFakeClient, + connections, + bearers + ); + + if( mockObserver->Response()== KErrGeneral ) + { + stifLog->Log(_L("test case failed: MRemConTargetSelectorPluginObserver was not called\n")); + console->Printf(_L("test case failed: MRemConTargetSelectorPluginObserver was not called\n")); + return KErrGeneral; + } + + TRemConAddress* conn(connections.First()); + TRemConAddress* anotherConn(connections.Last()); + + + if( conn->BearerUid().iUid == bearer.BearerUid().iUid && + anotherConn->BearerUid().iUid == anotherBearer.BearerUid().iUid ) + { + } + else if( conn->BearerUid().iUid == anotherBearer.BearerUid().iUid && + anotherConn->BearerUid().iUid == bearer.BearerUid().iUid ) + { + + } + else + { + stifLog->Log(_L("test case failed: wrong connection returned\n")); + console->Printf(_L("test case failed: wrong connection returned\n")); + return KErrGeneral; + } + stifLog->Log(KTTestNumberPassed, 10); + console->Printf(KTTestNumberPassed,10); + return KErrNone; + } +LOCAL_C TInt Test11() + { + stifLog->Log(KTTestNumberStart, 11); + console->Printf(KTTestNumberStart, 11); + + // test 11 PermitOutgoingResponse + mockObserver->SetResponse(KErrGeneral); + TClientInfoConstIter iter(clients); + tspIf2->PermitOutgoingResponse( + TUid::Uid(KRemConCoreApiUid), + ERemConCoreApiF4, + anotherFakeClient, + iter); + + if( mockObserver->Response()== KErrGeneral ) + { + stifLog->Log(_L("test case failed: MRemConTargetSelectorPluginObserver was not called\n")); + console->Printf(_L("test case failed: MRemConTargetSelectorPluginObserver was not called\n")); + return KErrGeneral; + } + + stifLog->Log(KTTestNumberPassed, 11); + console->Printf(KTTestNumberPassed,11); + return KErrNone; + } +LOCAL_C TInt Test12() + { + stifLog->Log(KTTestNumberStart, 12); + console->Printf(KTTestNumberStart, 12); + + + // test 12 PermitIncomingCommand + mockObserver->SetResponse(KErrGeneral); + tspIf4->PermitIncomingCommand( + TUid::Uid(KRemConCoreApiUid), + ERemConCoreApiPlay, + anotherFakeClient); + + if( mockObserver->Response()== KErrGeneral ) + { + stifLog->Log(_L("test case failed: MRemConTargetSelectorPluginObserver was not called\n")); + console->Printf(_L("test case failed: MRemConTargetSelectorPluginObserver was not called\n")); + return KErrGeneral; + } + + stifLog->Log(KTTestNumberPassed, 12); + console->Printf(KTTestNumberPassed,12); + return KErrNone; + } +LOCAL_C TInt Test14() + { + stifLog->Log(KTTestNumberStart, 14); + console->Printf(KTTestNumberStart, 14); + + // test 14 TargetClientAvailable + + // this client will serve for + // TRAPD(err, GetCorrectClientL(TUid::Uid(KRemConCoreApiUid), ERemConCoreApiPlay, iTargetsForAddressing, EFalse)); + // as first rule is foreground, so this client should be the test process its self + + //14.1 + err = tspIf5->RegisterLocalAddressedClientObserver(TUid::Uid(300)); + if( err!=KErrNone) + { + stifLog->Log(_L("test case failed: RegisterLocalAddressedClientObserver return error = %d\n"), err); + console->Printf(_L("test case failed: RegisterLocalAddressedClientObserver return error = %d\n"), err); + return err; + } + //14.2 + mockObserver->SetResponse(KErrGeneral); + tspIf5->TargetClientAvailable(thisClient); + if(mockObserver->Response() == KErrGeneral) + { + stifLog->Log(_L("test case 14.2 failed: MRemConTargetSelectorPluginObserver was not called\n")); + console->Printf(_L("test case 14.2 failed: MRemConTargetSelectorPluginObserver was not called\n")); + return KErrGeneral; + } + //14.3 + mockObserver->SetResponse(KErrGeneral); + tspIf5->TargetClientAvailable(thisClient); + if(mockObserver->Response() != KErrGeneral) + { + stifLog->Log(_L("test case 14.3 failed: MRemConTargetSelectorPluginObserver was not called\n")); + console->Printf(_L("test case 14.3 failed: MRemConTargetSelectorPluginObserver was not called\n")); + return KErrGeneral; + } + //14.4 + mockObserver->SetResponse(KErrGeneral); + tspIf5->TargetClientUnavailable(thisClient); + if(mockObserver->Response() != KErrGeneral) + { + stifLog->Log(_L("test case 14.4 failed: MRemConTargetSelectorPluginObserver was not called\n")); + console->Printf(_L("test case 14.4 failed: MRemConTargetSelectorPluginObserver was not called\n")); + return KErrGeneral; + } + //14.5 + err = tspIf5->UnregisterLocalAddressedClientObserver(TUid::Uid(300)); + if( err != KErrNone) + { + stifLog->Log(_L("test case failed: UnregisterLocalAddressedClientObserver return error = %d\n"), err); + console->Printf(_L("test case failed: UnregisterLocalAddressedClientObserver return error = %d\n"), err); + return err; + } + + stifLog->Log(KTTestNumberPassed, 14); + console->Printf(KTTestNumberPassed,14); + return KErrNone; + } + + +LOCAL_C void MainL() + { + // + // add your program code here, example code below + // + // create stif logger + stifLog = CStifLogger::NewL( KutremcontspcontrollerLogPath, + KutremcontspcontrollerLogFile); + _LIT( KLogStart, "utremcontspcontroller logging starts!" ); + stifLog->Log( KLogStart ); + TInt err; + TRAP(err, TestSetupL()); + if( err==KErrNone ) + { + RUN_TEST_CASE(testCasesTotal, testCasesPassed, Test01()); + RUN_TEST_CASE(testCasesTotal, testCasesPassed, Test02()); + RUN_TEST_CASE(testCasesTotal, testCasesPassed, Test03()); + RUN_TEST_CASE(testCasesTotal, testCasesPassed, Test04()); + RUN_TEST_CASE(testCasesTotal, testCasesPassed, Test05()); + RUN_TEST_CASE(testCasesTotal, testCasesPassed, Test06()); + RUN_TEST_CASE(testCasesTotal, testCasesPassed, Test07()); + RUN_TEST_CASE(testCasesTotal, testCasesPassed, Test08()); + RUN_TEST_CASE(testCasesTotal, testCasesPassed, Test09()); + RUN_TEST_CASE(testCasesTotal, testCasesPassed, Test10()); + RUN_TEST_CASE(testCasesTotal, testCasesPassed, Test11()); + RUN_TEST_CASE(testCasesTotal, testCasesPassed, Test12()); + RUN_TEST_CASE(testCasesTotal, testCasesPassed, Test14()); + } + TestTearDown(); + stifLog->Log(_L("=========================================\n")); + stifLog->Log(_L("Test Run Summary:\n")); + stifLog->Log(_L("Test cases total: %d\n"), testCasesTotal); + stifLog->Log(_L("Test cases Passed: %d\n"), testCasesPassed); + stifLog->Log(_L("=========================================\n")); + delete stifLog; + } + +LOCAL_C void DoStartL() + { + // Create active scheduler (to run active objects) + CActiveScheduler* scheduler = new (ELeave) CActiveScheduler(); + CleanupStack::PushL(scheduler); + CActiveScheduler::Install(scheduler); + + MainL(); + + // Delete active scheduler + CleanupStack::PopAndDestroy(scheduler); + } + +// Global Functions + +GLDEF_C TInt E32Main() + { + // Create cleanup stack + __UHEAP_MARK; + CTrapCleanup* cleanup = CTrapCleanup::New(); + + // Create output console + TRAPD(createError, console = Console::NewL(KTextConsoleTitle, TSize( + KConsFullScreen, KConsFullScreen))); + if (createError) + return createError; + + // Run application code inside TRAP harness, wait keypress when terminated + TRAPD(mainError, DoStartL()); + if (mainError) + console->Printf(KTextFailed, mainError); + console->Printf(KTextPressAnyKey); + //console->Getch(); + + delete console; + delete cleanup; + __UHEAP_MARKEND; + return KErrNone; + } + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/advancedtspcontroller/tsrc/ut_atsp/Bwins/ut_atspu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/advancedtspcontroller/tsrc/ut_atsp/Bwins/ut_atspu.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,4 @@ +EXPORTS + ?LibEntryL@@YAPAVCTestModuleBase@@XZ @ 1 NONAME ; class CTestModuleBase * __cdecl LibEntryL(void) + ?SetRequirements@@YAHAAPAVCTestModuleParam@@AAK@Z @ 2 NONAME ; int __cdecl SetRequirements(class CTestModuleParam * &,unsigned long &) + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/advancedtspcontroller/tsrc/ut_atsp/eabi/ut_atspu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/advancedtspcontroller/tsrc/ut_atsp/eabi/ut_atspu.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,8 @@ +EXPORTS + _Z9LibEntryLv @ 1 NONAME + _Z15SetRequirementsRP16CTestModuleParamRm @ 2 NONAME + _ZTI20CRemConTspController @ 3 NONAME + _ZTV20CRemConTspController @ 4 NONAME + _ZTI21CUt_AtspTspEventsStub @ 5 NONAME + _ZTV21CUt_AtspTspEventsStub @ 6 NONAME + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/advancedtspcontroller/tsrc/ut_atsp/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/advancedtspcontroller/tsrc/ut_atsp/group/bld.inf Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,31 @@ +/* +* 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: +* +*/ + +#include "../ut_atspaudioproperty/group/bld.inf" + +PRJ_PLATFORMS +// specify the platforms your component needs to be built for here +// defaults to WINS MARM so you can ignore this if you just build these + + DEFAULT + +PRJ_TESTEXPORTS + +PRJ_TESTMMPFILES +ut_atsp.mmp + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/advancedtspcontroller/tsrc/ut_atsp/group/ut_atsp.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/advancedtspcontroller/tsrc/ut_atsp/group/ut_atsp.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,52 @@ +/*TYPE STIFUNIT*/ +/* +* 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: MMP file for STIF Test Framework's STIFUnit test module. +* +*/ + +#include + +SMPSAFE + +TARGET ut_atsp.dll +TARGETTYPE dll +UID 0x1000008D 0x2002CAD0 + +CAPABILITY ALL -TCB + +DEFFILE ut_atsp.def + +USERINCLUDE ../inc +USERINCLUDE ../../../inc +SYSTEMINCLUDE /epoc32/include/mmf/common +OS_LAYER_SYSTEMINCLUDE +MW_LAYER_SYSTEMINCLUDE + +SOURCEPATH ../src +SOURCE ut_atsp.cpp +SOURCE ut_atspcases.cpp +SOURCE mockremcontspcontroller.cpp +SOURCE ut_atsptspeventsstub.cpp + +SOURCEPATH ../../../src +SOURCE remconeventtable.cpp +SOURCE remconidlelistener.cpp +SOURCE tsptriggerevents.cpp + +LIBRARY euser.lib +LIBRARY stiftestinterface.lib +LIBRARY ws32.lib + +LANG SC diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/advancedtspcontroller/tsrc/ut_atsp/group/ut_atsp.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/advancedtspcontroller/tsrc/ut_atsp/group/ut_atsp.pkg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,32 @@ +; +; 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: +; +; Installation file for STIF +; + +; Languages +&EN + +; Provide value for uid +#{"STIF"},(0x2002CAD0),1,1,0,TYPE=SA + +; Localised Vendor name +%{"Nokia"} + +; Unique Vendor name +:"Nokia" + +; Install files +"\epoc32\release\armv5\udeb\ut_atsp.dll" - "!:\Sys\Bin\ut_atsp.dll" diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/advancedtspcontroller/tsrc/ut_atsp/inc/mockremcontspcontroller.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/advancedtspcontroller/tsrc/ut_atsp/inc/mockremcontspcontroller.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,74 @@ +/* +* 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: This file contains a mock CRemConTspControllerNoError declaration whose CreateAfterIdleL can return different value according the parameter passed by NewL. +* +*/ +#ifndef MOCK_CREMCONTSPCONTROLLER_H +#define MOCK_CREMCONTSPCONTROLLER_H + +// INCLUDES +#include +#include "remconidlelistener.h" + +// DATA TYPES +enum MockControllerCtlValue + { + ECorrect = 0, + ELeaveNoChange, + ELeaveChange + }; + +// CLASS DECLARATION + +/** +* Controls delivering of commands between Series 60 components and remote +* targets. +*/ +class CRemConTspController : public CBase + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + */ + static CRemConTspController* NewL(MockControllerCtlValue aCtlValue); + + /** + * Destructor. + */ + virtual ~CRemConTspController(); + + public: // Functions from base classes + + void CreateAfterIdleL(); + + private: + + /** + * C++ default constructor. + */ + CRemConTspController(MockControllerCtlValue aCtlValue); + + protected: // Data + + void ConstructL(); + + private: // Data + // owned + CRemConIdleListener* iIdle; + + MockControllerCtlValue iCtlValue; + }; + +#endif // MOCK_CREMCONTSPCONTROLLER_H diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/advancedtspcontroller/tsrc/ut_atsp/inc/ut_atsptspeventsstub.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/advancedtspcontroller/tsrc/ut_atsp/inc/ut_atsptspeventsstub.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,54 @@ +/* +* 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: The stub for testing tsp events +* +*/ + +#ifndef UT_ATSPTSPEVENTSSTUB_H +#define UT_ATSPTSPEVENTSSTUB_H + +#include +#include "tsptriggerevents.h" + +class CUt_AtspTspEventsStub + : public CTimer, + public MTspRulesTriggerObserver + { +public: // Constructors and destructor + static CUt_AtspTspEventsStub* NewL(); + ~CUt_AtspTspEventsStub(); + +public: // Issue test event + void IssueAudioPropertyL(); + void IssueTspPropertyL(); + void IssueWsEventL(const TInt aType); +public: // From MTspRulesTriggerObserver + void MtrtoEvaluateRoutingRules(); + +protected: // From CTimer + void RunL(); + void DoCancel(); + +private: // Constructors + CUt_AtspTspEventsStub(); + void ConstructL(); + +public: // Data + TBool iIsRunLCalled; + TBool iIsTimerElapsed; + +private: + }; + +#endif /* UT_ATSPTSPEVENTSSTUB_H */ diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/advancedtspcontroller/tsrc/ut_atsp/src/mockremcontspcontroller.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/advancedtspcontroller/tsrc/ut_atsp/src/mockremcontspcontroller.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,87 @@ +/* +* 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: This file contains a mock CRemConTspControllerNoError implementation whose CreateAfterIdleL can return different value according the parameter passed by NewL. +* +*/ + +#include "mockremcontspcontroller.h" + +// ----------------------------------------------------------------------------- +// CRemConTspController::CRemConTspController +// C++ default constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +// + +CRemConTspController::CRemConTspController(MockControllerCtlValue aCtlValue) : iCtlValue(aCtlValue) + { + } + +// ----------------------------------------------------------------------------- +// CRemConTspController::NewL +// Two-phased constructor. +// ----------------------------------------------------------------------------- +// +CRemConTspController* CRemConTspController::NewL(MockControllerCtlValue aCtlValue) + { + CRemConTspController* self = new( ELeave ) CRemConTspController(aCtlValue); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + +void CRemConTspController::ConstructL() + { + iIdle = CRemConIdleListener::NewL(*this); + } + +// Destructor +CRemConTspController::~CRemConTspController() + { + if( iIdle ) + { + delete iIdle; + iIdle = NULL; + } + } + +// ----------------------------------------------------------------------------- +// CRemConTspController::CreateAfterIdleL +// Define the contexts when idle state has been loaded. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +void CRemConTspController::CreateAfterIdleL() + { + if (iCtlValue == ECorrect) + { + return; + } + + if (iCtlValue == ELeaveNoChange) + { + User::Leave(KErrNoMemory); + } + + if (iCtlValue == ELeaveChange) + { + // delete iIdle now, so that CRemConIdleListener won't call this method again if a leave occurs hereafter + if( iIdle ) + { + delete iIdle; + iIdle = NULL; + } + } + } diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/advancedtspcontroller/tsrc/ut_atsp/src/ut_atsp.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/advancedtspcontroller/tsrc/ut_atsp/src/ut_atsp.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,124 @@ +/* +* 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: This file contains STIFUnit module implementation. +* +*/ + +/******************************************************************************/ +/* + * + * Test module configuration +*/ + +// Version +#define TEST_MODULE_VERSION_MAJOR 0 +#define TEST_MODULE_VERSION_MINOR 0 +#define TEST_MODULE_VERSION_BUILD 0 + +// Uncomment following defines, if you want to provide implementation +// of enlisted virtual methods of test module. +// Implementation part is located at the end of this file. +//#define STIFUNIT_OOMTESTQUERYL +//#define STIFUNIT_OOMTESTINITIALIZEL +//#define STIFUNIT_OOMHANDLEWARNINGL +//#define STIFUNIT_OOMTESTFINALIZEL +// Uncomment following define, if you want to increase heap or stack size. +// #define STIFUNIT_SETHEAPANDSTACKSIZE +/******************************************************************************/ + + +/* + * Test module internals. Please do not edit them. +*/ + +// Includes +#include + +// Literals +_LIT( KUnitLogPath, "\\logs\\testframework\\ut_atsp\\" ); +_LIT( KUnitLogFile, "ut_atsp.txt" ); +_LIT( KLogStart, "ut_atsp logging starts!" ); + +// Defines +#define STIF_UNIT_TEST_CASES "../src/ut_atspCases.cpp" +#define STIF_UNIT_MODULE_CLASS_NAME Cut_atsp +#define STIF_UNIT_MODULE_NAME _L("ut_atsp.dll") + +// Include STIF unit generic file +#include + +/* + * Implementation of setHeapAndStack virtual methods. + * To changes heap and stack size provide new values to iTestThreadStackSize, iTestThreadMinHeap and iTestThreadMaxHeap. +*/ + +#ifdef STIFUNIT_SETHEAPANDSTACKSIZE +EXPORT_C TInt SetRequirements( CTestModuleParam*& aTestModuleParam, + TUint32& aParameterValid ) + { + aParameterValid = KStifTestModuleParameterChanged; + CTestModuleParamVer01* param = CTestModuleParamVer01::NewL(); + // Stack size + param->iTestThreadStackSize= 16384; // 16K stack + // Heap sizes + param->iTestThreadMinHeap = 4096; // 4K heap min + param->iTestThreadMaxHeap = 1048576;// 1M heap max + + return KErrNone; + } +#undef STIFUNIT_SETHEAPANDSTACKSIZE +#endif + +/* + * User implementation of OOM virtual methods. + * Providing own implementation requires uncommenting defines at the + * beginnig of this file. +*/ +#ifdef STIFUNIT_OOMTESTQUERYL +TBool Cut_atsp::OOMTestQueryL( const TFileName& /*aTestCaseFile*/, + const TInt aCaseNumber, + TOOMFailureType& aFailureType, + TInt& aFirstMemFailure, + TInt& aLastMemFailure) + { + } +#undef STIFUNIT_OOMTESTQUERYL +#endif + +#ifdef STIFUNIT_OOMTESTINITIALIZEL +void Cut_atsp::OOMTestInitializeL( const TFileName& /*aTestCaseFile*/, + const TInt /*aCaseNumber*/ ) + { + } +#undef STIFUNIT_OOMTESTINITIALIZEL +#endif + +#ifdef STIFUNIT_OOMHANDLEWARNINGL +void Cut_atsp::OOMHandleWarningL( const TFileName& /*aTestCaseFile*/, + const TInt /*aCaseNumber*/, + TInt& /*aFailNextValue*/) + { + } +#undef STIFUNIT_OOMHANDLEWARNINGL +#endif + +#ifdef STIFUNIT_OOMTESTFINALIZEL +void Cut_atsp::OOMTestFinalizeL( const TFileName& /*aTestCaseFile*/, + const TInt /*aCaseNumber*/ ) + { + } +#undef STIFUNIT_OOMTESTFINALIZEL +#endif + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/advancedtspcontroller/tsrc/ut_atsp/src/ut_atspcases.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/advancedtspcontroller/tsrc/ut_atsp/src/ut_atspcases.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,681 @@ +/* +* 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: This file contains STIFUnit implementation. +* +*/ + +/** + * STIF_UNIT_INCLUDE SECTION - put all #includes between STIF_UNIT_INCLUDE_SECTION + * and STIF_UNIT_INCLUDE_SECTION_END + */ +#ifdef STIF_UNIT_INCLUDE_SECTION +#include "remconeventtable.h" +#include "mockremcontspcontroller.h" +#include "tsptriggerevents.h" +#include "ut_atsptspeventsstub.h" + +#include + +#endif //STIF_UNIT_INCLUDE_SECTION_END + +/** + * GLOBAL VARIABLES SECTION + */ +#ifdef TEST_VAR_DECLARATIONS + CRemConEventTable* table; + CTspTriggerEventsWatcher* watcher; + CUt_AtspTspEventsStub* tspstub; + CActiveScheduler* scheduler; + static const TInt KDefaultWaitTimeInMicroSeconds = 5000000; +#endif +/** + * END OF GLOBAL VARIABLES SECTION + */ + + +/** + * TEST CASES SECTION + */ +#ifdef TEST_CASES +/** + * STIF_SETUP defines activities needed before every test case. + */ +STIF_SETUP +{ + // Install active scheduler at start up + scheduler = new (ELeave) CActiveScheduler(); + CleanupStack::PushL(scheduler); + CActiveScheduler::Install(scheduler); +} + +/** + * STIF_TEARDOWN defines activities needed after every test case + */ +STIF_TEARDOWN +{ + // Delete active scheduler at last + CActiveScheduler::Install(NULL); + CleanupStack::PopAndDestroy(scheduler); +} + +/** + * STIF_TESTDEFINE defines a test case + * + */ + +/** + * @SYMTestCaseID GAPS-ATSP-EVENTTABLE-001 + * @SYMTestCaseDesc Make sure TableNum is fix after construction. + * @SYMTestPriority Medium + * @SYMTestActions 1. Construct a CRemConEventTable object with table number as 5. + * 2. TableNum() should return 5. + * @SYMTestExpectedResults 1. CRemConEventTable object was successfully constructed. + * 2. TableNum() returns 5. + * @SYMTestType Unit Test + * @SYMCreationDate 20-07-2010 + */ +STIF_TESTDEFINE(GAPS-ATSP-EVENTTABLE-001) +{ + TInt tableNum = 5; + table = CRemConEventTable::NewL(tableNum); + CleanupStack::PushL(table); + + STIF_ASSERT_EQUALS(table->TableNum(), tableNum); + STIF_LOG("TableNum() returned correct table number."); + + CleanupStack::PopAndDestroy(); +} + +/** + * @SYMTestCaseID GAPS-ATSP-EVENTTABLE-002 + * @SYMTestCaseDesc Add different kinds of remote control events into event table. + * Check whether those events are really in event table. Check whether unadded events are not in event table. + * @SYMTestPriority Medium + * @SYMTestActions 1. Construct a CRemConEventTable object with table number as 1. + * 2. Add ERemConEvent into event table. + * 3. Add ERemConExtEventCall into event table. + * 4. Add ERemConExtEventPoc into event table. + * 5. Add ERemConExtEventSync into event table. + * 6. Add another ERemConEvent into event table. + * 7. Add another ERemConExtEventCall into event table. + * 8. Add another ERemConExtEventPoc into event table. + * 9. Add another ERemConExtEventSync into event table. + * 10. Check ERemConEvent in event table. + * 11. Check ERemConExtEventCall in event table. + * 12. Check ERemConExtEventPoc in event table. + * 13. Check ERemConExtEventSync in event table. + * 14. Check another ERemConEvent in event table. + * 15. Check another ERemConExtEventCall in event table. + * 16. Check another ERemConExtEventPoc in event table. + * 17. Check another ERemConExtEventSync in event table. + * 18. Check unadded events are not in event table. + * @SYMTestExpectedResults 1. CRemConEventTable object was successfully constructed. + * 2. An ERemConEvent was added into event table. + * 3. An ERemConExtEventCall was added into event table. + * 4. An ERemConExtEventPoc was added into event table. + * 5. An ERemConExtEventSync was added into event table. + * 6. Another ERemConEvent was added into event table. + * 7. Another ERemConExtEventCall was added into event table. + * 8. Another ERemConExtEventPoc was added into event table. + * 9. Another ERemConExtEventSync was added into event table. + * 10. ERemConEvent was in event table. + * 11. ERemConExtEventCall was in event table. + * 12. ERemConExtEventPoc was in event table. + * 13. ERemConExtEventSync was in event table. + * 14. Another ERemConEvent was in event table. + * 15. Another ERemConExtEventCall was in event table. + * 16. Another ERemConExtEventPoc was in event table. + * 17. Another ERemConExtEventSync was in event table. + * 18. Unadded events are not in event table. + * @SYMTestType Unit Test + * @SYMCreationDate 20-07-2010 + */ +STIF_TESTDEFINE(GAPS-ATSP-EVENTTABLE-002) +{ + // 1. Construct a CRemConEventTable object with table number as 1. + TInt tableNum = 1; + table = CRemConEventTable::NewL(tableNum); + CleanupStack::PushL(table); + + // 2. Add ERemConEvent into event table. + // 3. Add ERemConExtEventCall into event table. + // 4. Add ERemConExtEventPoc into event table. + // 5. Add ERemConExtEventSync into event table. + TInt eventValue = 41; + table->AddRemConEventToTable(eventValue, CRemConEventTable::ERemConEvent); + table->AddRemConEventToTable(eventValue, CRemConEventTable::ERemConExtEventCall); + table->AddRemConEventToTable(eventValue, CRemConEventTable::ERemConExtEventPoc); + table->AddRemConEventToTable(eventValue, CRemConEventTable::ERemConExtEventSync); + + // 6. Add another ERemConEvent into event table. + // 7. Add another ERemConExtEventCall into event table. + // 8. Add another ERemConExtEventPoc into event table. + // 9. Add another ERemConExtEventSync into event table. + TInt eventValue2 = 40; + table->AddRemConEventToTable(eventValue2, CRemConEventTable::ERemConEvent); + table->AddRemConEventToTable(eventValue2, CRemConEventTable::ERemConExtEventCall); + table->AddRemConEventToTable(eventValue2, CRemConEventTable::ERemConExtEventPoc); + table->AddRemConEventToTable(eventValue2, CRemConEventTable::ERemConExtEventSync); + + // 10. Check ERemConEvent in event table. + // 11. Check ERemConExtEventCall in event table. + // 12. Check ERemConExtEventPoc in event table. + // 13. Check ERemConExtEventSync in event table. + STIF_ASSERT_EQUALS(table->IsRemConEventInTable(eventValue, CRemConEventTable::ERemConEvent), static_cast(ETrue)); + STIF_ASSERT_EQUALS(table->IsRemConEventInTable(eventValue, CRemConEventTable::ERemConExtEventCall), static_cast(ETrue)); + STIF_ASSERT_EQUALS(table->IsRemConEventInTable(eventValue, CRemConEventTable::ERemConExtEventPoc), static_cast(ETrue)); + STIF_ASSERT_EQUALS(table->IsRemConEventInTable(eventValue, CRemConEventTable::ERemConExtEventSync), static_cast(ETrue)); + + // 14. Check another ERemConEvent in event table. + // 15. Check another ERemConExtEventCall in event table. + // 16. Check another ERemConExtEventPoc in event table. + // 17. Check another ERemConExtEventSync in event table. + STIF_ASSERT_EQUALS(table->IsRemConEventInTable(eventValue2, CRemConEventTable::ERemConEvent), static_cast(ETrue)); + STIF_ASSERT_EQUALS(table->IsRemConEventInTable(eventValue2, CRemConEventTable::ERemConExtEventCall), static_cast(ETrue)); + STIF_ASSERT_EQUALS(table->IsRemConEventInTable(eventValue2, CRemConEventTable::ERemConExtEventPoc), static_cast(ETrue)); + STIF_ASSERT_EQUALS(table->IsRemConEventInTable(eventValue2, CRemConEventTable::ERemConExtEventSync), static_cast(ETrue)); + + // 18. Check unadded events are not in event table. + TInt unaddedEventValue = 39; + STIF_ASSERT_EQUALS(table->IsRemConEventInTable(unaddedEventValue, CRemConEventTable::ERemConEvent), static_cast(EFalse)); + STIF_ASSERT_EQUALS(table->IsRemConEventInTable(unaddedEventValue, CRemConEventTable::ERemConExtEventCall), static_cast(EFalse)); + STIF_ASSERT_EQUALS(table->IsRemConEventInTable(unaddedEventValue, CRemConEventTable::ERemConExtEventPoc), static_cast(EFalse)); + STIF_ASSERT_EQUALS(table->IsRemConEventInTable(unaddedEventValue, CRemConEventTable::ERemConExtEventSync), static_cast(EFalse)); + + CleanupStack::PopAndDestroy(); +} + +/** + * @SYMTestCaseID GAPS-ATSP-EVENTTABLE-003 + * @SYMTestCaseDesc Add invalid remote control events into event table. Check whether invalid events exists in event table. + * @SYMTestPriority Medium + * @SYMTestActions 1. Add invalid remote control events into event table. + * 2. Check whether invalid events exist in event table. + * @SYMTestExpectedResults 1. There isn't any crash and leave. + * 2. Invalid events are not in event table. + * @SYMTestType Unit Test + * @SYMCreationDate 20-07-2010 + */ +STIF_TESTDEFINE(GAPS-ATSP-EVENTTABLE-003) +{ + // Construct a CRemConEventTable object with table number as 1. + TInt tableNum = 1; + table = CRemConEventTable::NewL(tableNum); + CleanupStack::PushL(table); + + // 1. Add invalid remote control events into event table. + TInt eventValue = 41; + CRemConEventTable::RemConEventType invalidEventType = static_cast(10); + table->AddRemConEventToTable(eventValue, invalidEventType); + + // 2. Check whether invalid events exist in event table. + STIF_ASSERT_EQUALS(table->IsRemConEventInTable(eventValue, invalidEventType), static_cast(EFalse)); + + CleanupStack::PopAndDestroy(); +} + +/** + * @SYMTestCaseID GAPS-ATSP-EVENTTABLE-004 + * @SYMTestCaseDesc Try to add valid rules, get rules. + * @SYMTestPriority Medium + * @SYMTestActions 1. Construct a CRemConEventTable object with table number as 1. + * 2. Get rules list from event table. + * 3. Check EActiveAudio not in the rules list. + * 4. Check EForegroundApplication not in the rules list. + * 5. Check EDefaultApplicationGroup not in the rules list. + * 6. Check ELastPlayedMediaApplication not in the rules list. + * 7. Check ELaunchDefaultApp not in the rules list. + * 8. Add EActiveAudio into event table. + * 9. Add EForegroundApplication into event table. + * 10. Add EDefaultApplicationGroup into event table. + * 11. Add ELastPlayedMediaApplication into event table. + * 12. Add ELaunchDefaultApp event table. + * 13. Get rules list from event table. + * 14. Check EActiveAudio in the rules list. + * 15. Check EForegroundApplication in the rules list. + * 16. Check EDefaultApplicationGroup in the rules list. + * 17. Check ELastPlayedMediaApplication in the rules list. + * 18. Check ELaunchDefaultApp in the rules list. + * @SYMTestExpectedResults 1. CRemConEventTable object was successfully constructed. + * 2. Rules list was gotten. + * 3. EActiveAudio was not in the rules list. + * 4. EForegroundApplication was not in the rules list. + * 5. EDefaultApplicationGroup was not in the rules list. + * 6. ELastPlayedMediaApplication was not in the rules list. + * 7. ELaunchDefaultApp was not in the rules list. + * 8. An EActiveAudio was added into event table. + * 9. An EForegroundApplication was added into event table. + * 10. An EDefaultApplicationGroup was added into event table. + * 11. An ELastPlayedMediaApplication was added into event table. + * 12. An ELaunchDefaultApp was added into event table. + * 13. Rules list was gotten. + * 14. EActiveAudio was in the rules list. + * 15. EForegroundApplication was in the rules list. + * 16. EDefaultApplicationGroup was in the rules list. + * 17. ELastPlayedMediaApplication was in the rules list. + * 18. ELaunchDefaultApp was in the rules list. + * @SYMTestType Unit Test + * @SYMCreationDate 20-07-2010 + */ +STIF_TESTDEFINE(GAPS-ATSP-EVENTTABLE-004) +{ + // 1. Construct a CRemConEventTable object with table number as 1. + TInt tableNum = 1; + table = CRemConEventTable::NewL(tableNum); + CleanupStack::PushL(table); + + // 2. Get rules list from event table. + RArray rulesForThisTable; + table->GetRulesForThisTable(rulesForThisTable); + + // 3. Check EActiveAudio not in the rules list. + // 4. Check EForegroundApplication not in the rules list. + // 5. Check EDefaultApplicationGroup not in the rules list. + // 6. Check ELastPlayedMediaApplication not in the rules list. + // 7. Check ELaunchDefaultApp not in the rules list. + STIF_ASSERT_EQUALS(rulesForThisTable.Find(CRemConEventTable::EActiveAudio), KErrNotFound); + STIF_ASSERT_EQUALS(rulesForThisTable.Find(CRemConEventTable::EForegroundApplication), KErrNotFound); + STIF_ASSERT_EQUALS(rulesForThisTable.Find(CRemConEventTable::EDefaultApplicationGroup), KErrNotFound); + STIF_ASSERT_EQUALS(rulesForThisTable.Find(CRemConEventTable::ELastPlayedMediaApplication), KErrNotFound); + STIF_ASSERT_EQUALS(rulesForThisTable.Find(CRemConEventTable::ELaunchDefaultApp), KErrNotFound); + + // 8. Add EActiveAudio into event table. + // 9. Add EForegroundApplication into event table. + // 10. Add EDefaultApplicationGroup into event table. + // 11. Add ELastPlayedMediaApplication into event table. + // 12. Add ELaunchDefaultApp event table. + table->AddRuleForThisTable(CRemConEventTable::EActiveAudio); + table->AddRuleForThisTable(CRemConEventTable::EForegroundApplication); + table->AddRuleForThisTable(CRemConEventTable::EDefaultApplicationGroup); + table->AddRuleForThisTable(CRemConEventTable::ELastPlayedMediaApplication); + table->AddRuleForThisTable(CRemConEventTable::ELaunchDefaultApp); + + // 13. Get rules list from event table. + rulesForThisTable.Reset(); + table->GetRulesForThisTable(rulesForThisTable); + + // 14. Check EActiveAudio in the rules list. + // 15. Check EForegroundApplication in the rules list. + // 16. Check EDefaultApplicationGroup in the rules list. + // 17. Check ELastPlayedMediaApplication in the rules list. + // 18. Check ELaunchDefaultApp in the rules list. + STIF_ASSERT_NOT_EQUALS(rulesForThisTable.Find(CRemConEventTable::EActiveAudio), KErrNotFound); + STIF_ASSERT_NOT_EQUALS(rulesForThisTable.Find(CRemConEventTable::EForegroundApplication), KErrNotFound); + STIF_ASSERT_NOT_EQUALS(rulesForThisTable.Find(CRemConEventTable::EDefaultApplicationGroup), KErrNotFound); + STIF_ASSERT_NOT_EQUALS(rulesForThisTable.Find(CRemConEventTable::ELastPlayedMediaApplication), KErrNotFound); + STIF_ASSERT_NOT_EQUALS(rulesForThisTable.Find(CRemConEventTable::ELaunchDefaultApp), KErrNotFound); + + CleanupStack::PopAndDestroy(); +} + +/** + * @SYMTestCaseID GAPS-ATSP-EVENTTABLE-005 + * @SYMTestCaseDesc Try to add default application, get default application. + * @SYMTestPriority Medium + * @SYMTestActions 1. Construct a CRemConEventTable object with table number as 1. + * 2. Get default application list from event table. + * 3. Check the default application info not in the rules list. + * 4. Add a default application into event table. + * 5. Get default application list from event table. + * 6. Check default application info is right in the rules list. + * @SYMTestExpectedResults 1. CRemConEventTable object was successfully constructed. + * 2. Default application list was gotten. + * 3. The default application info was not in the rules list. + * 4. A default application was added into event table. + * 5. Default application list was gotten. + * 6. The default application info in the list is right. + * @SYMTestType Unit Test + * @SYMCreationDate 20-07-2010 + */ +STIF_TESTDEFINE(GAPS-ATSP-EVENTTABLE-005) +{ + // 1. Construct a CRemConEventTable object with table number as 1. + TInt tableNum = 1; + table = CRemConEventTable::NewL(tableNum); + CleanupStack::PushL(table); + + TInt defaultApplication = 0x100058B3; + + // 2. Get default application list from event table. + RArray defaultApplicationsForThisTable; + table->GetDefaultApplicationsForTable(defaultApplicationsForThisTable); + + // 3. Check the default application info not in the rules list. + STIF_ASSERT_EQUALS(defaultApplicationsForThisTable.Find(defaultApplication), KErrNotFound); + + // 4. Add a default application into event table. + table->AddDefaultApplicationForThisTable(defaultApplication); + + // 5. Get default application list from event table. + defaultApplicationsForThisTable.Reset(); + table->GetDefaultApplicationsForTable(defaultApplicationsForThisTable); + + // 6. Check default application info is right in the rules list. + STIF_ASSERT_NOT_EQUALS(defaultApplicationsForThisTable.Find(defaultApplication), KErrNotFound); + + CleanupStack::PopAndDestroy(); +} + + +/** + * @SYMTestCaseID GAPS-ATSP-EVENTTABLE-006 + * @SYMTestCaseDesc Try to add default launch application, get the default launch application. + * @SYMTestPriority Medium + * @SYMTestActions 1. Construct a CRemConEventTable object with table number as 1. + * 2. Add a default launch application into event table. + * 3. Get default launch application from event table. + * @SYMTestExpectedResults 1. CRemConEventTable object was successfully constructed. + * 2. The default launch application was set into event table. + * 3. The default launch application uid is right. + * @SYMTestType Unit Test + * @SYMCreationDate 20-07-2010 + */ +STIF_TESTDEFINE(GAPS-ATSP-EVENTTABLE-006) +{ + // 1. Construct a CRemConEventTable object with table number as 1. + TInt tableNum = 1; + table = CRemConEventTable::NewL(tableNum); + CleanupStack::PushL(table); + + TInt32 defaultLaunchApplication = 0x100058B3; + // 2. Add a default launch application into event table. + table->AddDefaultLaunchAppForThisTable(defaultLaunchApplication); + + // 3. Get default launch application from event table. + TUid retUid; + table->GetDefaultLaunchAppForTable(retUid); + STIF_ASSERT_EQUALS(retUid.iUid, defaultLaunchApplication); + + CleanupStack::PopAndDestroy(); +} + +/** + * @SYMTestCaseID GAPS-ATSP-EVENTTABLE-007 + * @SYMTestCaseDesc Try to add transparent application, get the transparent application. + * @SYMTestPriority Medium + * @SYMTestActions 1. Construct a CRemConEventTable object with table number as 1. + * 2. Add a transparent application into event table. + * 3. Get transparent application list from event table. + * 4. Check transparent application info is right in the list. + * 5. Check unadded transparent application info is not in the list. + * @SYMTestExpectedResults 1. CRemConEventTable object was successfully constructed. + * 2. A transparent application was added into event table. + * 3. Transparent application list was gotten. + * 4. The transparent application info in the list is right. + * 5. Unadded transparent application info is not in the list. + * @SYMTestType Unit Test + * @SYMCreationDate 20-07-2010 + */ +STIF_TESTDEFINE(GAPS-ATSP-EVENTTABLE-007) +{ + // 1. Construct a CRemConEventTable object with table number as 1. + TInt tableNum = 1; + table = CRemConEventTable::NewL(tableNum); + CleanupStack::PushL(table); + + TInt transparentApplication = 0x100058B3; + TInt unaddedApplication = 0x100058B4; + // 2. Add a transparent application into event table. + table->AddTransparentApplicationForThisTable(transparentApplication); + + // 3. Get transparent application list from event table. + RArray transparentApplicationsForThisTable; + table->GetTransparentApplicationsForTable(transparentApplicationsForThisTable); + + // 4. Check transparent application info is right in the list. + STIF_ASSERT_NOT_EQUALS(transparentApplicationsForThisTable.Find(transparentApplication), KErrNotFound); + + // 5. Check unadded transparent application info is not in the list. + STIF_ASSERT_EQUALS(transparentApplicationsForThisTable.Find(unaddedApplication), KErrNotFound); + + CleanupStack::PopAndDestroy(); +} + +/** + * @SYMTestCaseID GAPS-ATSP-IDLELISTENER-001 + * @SYMTestCaseDesc Create CRemConIdleListener with mock CRemConTspController. CreateAfterIdleL no error. + * @SYMTestPriority Medium + * @SYMTestActions 1. Construct a CRemConIdleListener object with mock CRemConTspController. + * 2. CRemConIdleListener::CreateAfterIdleL returned with no error. + * 3. Destruct CRemConIdleListener object. + * @SYMTestExpectedResults 1. A CRemConIdleListener object was constructed with mock CRemConTspController. + * 2. CRemConIdleListener::CreateAfterIdleL returned with no error. + * 3. The CRemConIdleListener object was destructed. + * @SYMTestType Unit Test + * @SYMCreationDate 20-07-2010 + */ +STIF_TESTDEFINE(GAPS-ATSP-IDLELISTENER-001) +{ + CRemConTspController* tspController = CRemConTspController::NewL(ECorrect); + + delete tspController; +} + +/** + * @SYMTestCaseID GAPS-ATSP-IDLELISTENER-002 + * @SYMTestCaseDesc Create CRemConIdleListener with mock CRemConTspController. CreateAfterIdleL leaves with deleteInd not changed. + * @SYMTestPriority Medium + * @SYMTestActions 1. Construct a CRemConIdleListener object with mock CRemConTspController. + * 2. CRemConIdleListener::CreateAfterIdleL leaved with deleteInd not changed. + * 3. Destruct CRemConIdleListener object. + * @SYMTestExpectedResults 1. A CRemConIdleListener object was constructed with mock CRemConTspController. + * 2. CRemConIdleListener::CreateAfterIdleL leaved with deleteInd not changed. + * 3. The CRemConIdleListener object was destructed. + * @SYMTestType Unit Test + * @SYMCreationDate 20-07-2010 + */ +STIF_TESTDEFINE(GAPS-ATSP-IDLELISTENER-002) +{ + CRemConTspController* tspController = CRemConTspController::NewL(ELeaveNoChange); + + delete tspController; +} + +/** + * @SYMTestCaseID GAPS-ATSP-IDLELISTENER-003 + * @SYMTestCaseDesc Create CRemConIdleListener with mock CRemConTspController. CreateAfterIdleL leaves with deleteInd changed to ETrue. + * @SYMTestPriority Medium + * @SYMTestActions 1. Construct a CRemConIdleListener object with mock CRemConTspController. + * 2. CRemConIdleListener::CreateAfterIdleL leaved with deleteInd changed to ETrue. + * 3. Destruct CRemConIdleListener object. + * @SYMTestExpectedResults 1. A CRemConIdleListener object was constructed with mock CRemConTspController. + * 2. CRemConIdleListener::CreateAfterIdleL leaved with deleteInd changed to ETrue. + * 3. The CRemConIdleListener object was destructed. + * @SYMTestType Unit Test + * @SYMCreationDate 20-07-2010 + */ +STIF_TESTDEFINE(GAPS-ATSP-IDLELISTENER-003) +{ + CRemConTspController* tspController = CRemConTspController::NewL(ELeaveChange); + + delete tspController; +} + +/** + * @SYMTestCaseID GAPS-ATSP-TSPEVENTS-001 + * @SYMTestCaseDesc Create CTspTriggerEventsWatcher and all observers + * @SYMTestPriority Medium + * @SYMTestActions 1. Call CTspTriggerEventsWatcher::NewL() function + * 2. Delete the created object + * @SYMTestExpectedResults 1. Function returns a CTspTriggerEventsWatcher* pointer. All its members + * (iAudioClientObserver; iWsEventsObserver; iClientMapperObserver;)are also created. + * 2. The object is deleted, and no memory leak + * @SYMTestType Unit Test + * @SYMCreationDate 20-07-2010 + */ +STIF_TESTDEFINE(GAPS-ATSP-TSPEVENTS-001) +{ + TestModuleIf().SetBehavior(CTestModuleIf::ETestLeaksHandles); + tspstub = CUt_AtspTspEventsStub::NewL(); + CleanupStack::PushL(tspstub); + watcher = CTspTriggerEventsWatcher::NewL(*tspstub); + CleanupStack::PushL(watcher); + + STIF_ASSERT_NOT_NULL(tspstub); + STIF_ASSERT_NOT_NULL(watcher); + STIF_LOG("CTspTriggerEventsWatcher created successfully"); + + CleanupStack::PopAndDestroy(2); +} + +/** + * @SYMTestCaseID GAPS-ATSP-TSPEVENTS-002 + * @SYMTestCaseDesc Event which CTspClientMapperObserver watch is triggered + * @SYMTestPriority Medium + * @SYMTestActions 1. Create CTspClientMapperObserver object with parameter a pointer to a MTspRulesTriggerObserver type interface + * 2. Trigger a Property change which has property category equals to 0x10200C70 + * 3. Delete the created object + * @SYMTestExpectedResults 1. Object created + * 2. MTspRulesTriggerObserver::MtrtoEvaluateRoutingRules() is called by the object + * 3. Object deleted + * @SYMTestType Unit Test + * @SYMCreationDate 20-07-2010 + */ +STIF_TESTDEFINE(GAPS-ATSP-TSPEVENTS-002) +{ + TestModuleIf().SetBehavior(CTestModuleIf::ETestLeaksHandles); + tspstub = CUt_AtspTspEventsStub::NewL(); + CleanupStack::PushL(tspstub); + watcher = CTspTriggerEventsWatcher::NewL(*tspstub); + CleanupStack::PushL(watcher); + + STIF_ASSERT_NOT_NULL(tspstub); + STIF_ASSERT_NOT_NULL(watcher); + STIF_LOG("CTspTriggerEventsWatcher created successfully"); + + tspstub->After(TTimeIntervalMicroSeconds32(KDefaultWaitTimeInMicroSeconds)); + tspstub->IssueTspPropertyL(); + CActiveScheduler::Start(); + + STIF_ASSERT_TRUE(tspstub->iIsRunLCalled); + STIF_ASSERT_FALSE(tspstub->iIsTimerElapsed); + STIF_LOG("Trigger of tsp client mapper is as expected"); + + CleanupStack::PopAndDestroy(2); +} + +/** + * @SYMTestCaseID GAPS-ATSP-TSPEVENTS-003 + * @SYMTestCaseDesc Event which CWsEventsObserver watch is triggered + * @SYMTestPriority Medium + * @SYMTestActions 1. Create CWsEventsObserver object with parameter a pointer to a MTspRulesTriggerObserver type interface + * 2. Trigger a window server event with type of EEventWindowGroupListChanged + * 3. Delete the created object + * @SYMTestExpectedResults 1. Object created + * 2. MTspRulesTriggerObserver::MtrtoEvaluateRoutingRules() is called by the object + * 3. Object deleted + * @SYMTestType Unit Test + * @SYMCreationDate 20-07-2010 + */ +STIF_TESTDEFINE(GAPS-ATSP-TSPEVENTS-003) +{ + TestModuleIf().SetBehavior(CTestModuleIf::ETestLeaksHandles); + tspstub = CUt_AtspTspEventsStub::NewL(); + CleanupStack::PushL(tspstub); + watcher = CTspTriggerEventsWatcher::NewL(*tspstub); + CleanupStack::PushL(watcher); + + STIF_ASSERT_NOT_NULL(tspstub); + STIF_ASSERT_NOT_NULL(watcher); + STIF_LOG("CTspTriggerEventsWatcher created successfully"); + + tspstub->After(TTimeIntervalMicroSeconds32(KDefaultWaitTimeInMicroSeconds)); + tspstub->IssueWsEventL(EEventWindowGroupListChanged); + CActiveScheduler::Start(); + + STIF_ASSERT_TRUE(tspstub->iIsRunLCalled); + STIF_ASSERT_FALSE(tspstub->iIsTimerElapsed); + STIF_LOG("Trigger of ws event is as expected"); + + CleanupStack::PopAndDestroy(2); +} + +/** + * @SYMTestCaseID GAPS-ATSP-TSPEVENTS-004 + * @SYMTestCaseDesc Event which CWsEventsObserver watch is triggered, but not interested type + * @SYMTestPriority Medium + * @SYMTestActions 1. Create CWsEventsObserver object with parameter a pointer to a MTspRulesTriggerObserver type interface + * 2. Trigger a window server event which type is not EEventWindowGroupListChanged + * 3. Delete the created object + * @SYMTestExpectedResults 1. Object created + * 2. RunL of CWsEventsObserver is called, but MTspRulesTriggerObserver::MtrtoEvaluateRoutingRules() is not called by the object + * 3. Object deleted + * @SYMTestType Unit Test + * @SYMCreationDate 20-07-2010 + */ +STIF_TESTDEFINE(GAPS-ATSP-TSPEVENTS-004) +{ + TestModuleIf().SetBehavior(CTestModuleIf::ETestLeaksHandles); + tspstub = CUt_AtspTspEventsStub::NewL(); + CleanupStack::PushL(tspstub); + watcher = CTspTriggerEventsWatcher::NewL(*tspstub); + CleanupStack::PushL(watcher); + + STIF_ASSERT_NOT_NULL(tspstub); + STIF_ASSERT_NOT_NULL(watcher); + STIF_LOG("CTspTriggerEventsWatcher created successfully"); + + tspstub->After(TTimeIntervalMicroSeconds32(KDefaultWaitTimeInMicroSeconds)); + tspstub->IssueWsEventL(EEventWindowVisibilityChanged); + CActiveScheduler::Start(); + + STIF_ASSERT_FALSE(tspstub->iIsRunLCalled); + STIF_ASSERT_TRUE(tspstub->iIsTimerElapsed); + STIF_LOG("Trigger of not cared ws event is as expected"); + + CleanupStack::PopAndDestroy(2); +} + +/** + * @SYMTestCaseID GAPS-ATSP-TSPEVENTS-005 + * @SYMTestCaseDesc Event which CActiveAudioClientObserver watch is triggered + * @SYMTestPriority Medium + * @SYMTestActions 1. Create CActiveAudioClientObserver object with parameter a pointer to a MTspRulesTriggerObserver type interface + * 2. Trigger a Property change which has property category equals to 0x101F457f + * 3. Delete the created object + * @SYMTestExpectedResults 1. Object created + * 2. MTspRulesTriggerObserver::MtrtoEvaluateRoutingRules() is called by the object + * 3. Object deleted + * @SYMTestType Unit Test + * @SYMCreationDate 20-07-2010 + */ +STIF_TESTDEFINE(GAPS-ATSP-TSPEVENTS-005) +{ + TestModuleIf().SetBehavior(CTestModuleIf::ETestLeaksHandles); + tspstub = CUt_AtspTspEventsStub::NewL(); + CleanupStack::PushL(tspstub); + CActiveAudioClientObserver* audioObserver = CActiveAudioClientObserver::NewL(*tspstub); + CleanupStack::PushL(audioObserver); + + STIF_ASSERT_NOT_NULL(tspstub); + STIF_ASSERT_NOT_NULL(watcher); + STIF_LOG("CTspTriggerEventsWatcher created successfully"); + + tspstub->After(TTimeIntervalMicroSeconds32(KDefaultWaitTimeInMicroSeconds)); + tspstub->IssueAudioPropertyL(); + CActiveScheduler::Start(); + + STIF_ASSERT_TRUE(tspstub->iIsRunLCalled); + STIF_ASSERT_FALSE(tspstub->iIsTimerElapsed); + STIF_LOG("Trigger of audio client mapper is as expected"); + + CleanupStack::PopAndDestroy(2); +} + +#endif +/** + * END OF TEST CASES SECTION + */ + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/advancedtspcontroller/tsrc/ut_atsp/src/ut_atsptspeventsstub.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/advancedtspcontroller/tsrc/ut_atsp/src/ut_atsptspeventsstub.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,114 @@ +/* +* 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: The stub for testing tsp events +* +*/ + +#include "ut_atsptspeventsstub.h" +#include "tsptriggerevents.h" + +#include +#include + +CUt_AtspTspEventsStub* CUt_AtspTspEventsStub::NewL() + { + CUt_AtspTspEventsStub* self = new( ELeave ) CUt_AtspTspEventsStub(); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop(); + return self; + } + +CUt_AtspTspEventsStub::~CUt_AtspTspEventsStub() + { + Cancel(); + } + +CUt_AtspTspEventsStub::CUt_AtspTspEventsStub() + : CTimer(CActive::EPriorityStandard), iIsRunLCalled(EFalse), iIsTimerElapsed(EFalse) + { + } + +void CUt_AtspTspEventsStub::ConstructL() + { + CTimer::ConstructL(); + CActiveScheduler::Add(this); + } + +void CUt_AtspTspEventsStub::IssueAudioPropertyL() + { + _LIT(KAppName, "ut_atspaudioproperty.exe"); + RProcess process; + TInt error = process.Create(KAppName, KNullDesC); + User::LeaveIfError(error); + CleanupClosePushL(process); + TRequestStatus status; + process.Rendezvous(status); + process.Resume(); + User::WaitForRequest(status); + User::LeaveIfError(status.Int()); + + CleanupStack::PopAndDestroy(); + } + +void CUt_AtspTspEventsStub::IssueTspPropertyL() + { + const TUid KTspClientMapperProperty = { 0x10200C70 }; + const TUint32 KTspClientMapperKeyPlaying = 0x00000001; + + RProperty myProperty; + CleanupClosePushL(myProperty); + // The value of the property + TUint16 array[4] = {10,20,30,40}; + TBuf16<10> buf; + buf.Copy(&array[0],sizeof(array)); + + // Attach and set the property + User::LeaveIfError(myProperty.Attach(KTspClientMapperProperty, KTspClientMapperKeyPlaying, EOwnerThread)); + User::LeaveIfError(myProperty.Set(buf)); + + // CLose the property + CleanupStack::PopAndDestroy(); + } + +void CUt_AtspTspEventsStub::IssueWsEventL(const TInt aType) + { + RWsSession ws; + User::LeaveIfError(ws.Connect()); + CleanupClosePushL(ws); + + TWsEvent event; + event.SetType(aType); + ws.SendEventToAllWindowGroups(event); + + ws.Finish(); + CleanupStack::PopAndDestroy(&ws); + } + +void CUt_AtspTspEventsStub::MtrtoEvaluateRoutingRules() + { + iIsRunLCalled = ETrue; + CActiveScheduler::Stop(); + } + +void CUt_AtspTspEventsStub::RunL() + { + iIsTimerElapsed = ETrue; + CActiveScheduler::Stop(); + } + +void CUt_AtspTspEventsStub::DoCancel() + { + CTimer::DoCancel(); + } diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/advancedtspcontroller/tsrc/ut_atsp/ut_atspaudioproperty/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/advancedtspcontroller/tsrc/ut_atsp/ut_atspaudioproperty/group/bld.inf Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,22 @@ +/* +* 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: The test application to issue audio property with specified sid. +* +*/ + +PRJ_PLATFORMS +DEFAULT + +PRJ_MMPFILES +ut_atspaudioproperty.mmp diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/advancedtspcontroller/tsrc/ut_atsp/ut_atspaudioproperty/group/ut_atspaudioproperty.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/advancedtspcontroller/tsrc/ut_atsp/ut_atspaudioproperty/group/ut_atspaudioproperty.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,35 @@ +/* +* 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: The test application to issue audio property with specified sid. +* +*/ + +TARGET ut_atspaudioproperty.exe +TARGETTYPE exe +UID 0 0xA89FA86B +SECUREID 0x101F457f + +USERINCLUDE ..\inc +OS_LAYER_SYSTEMINCLUDE +MW_LAYER_SYSTEMINCLUDE +SYSTEMINCLUDE \epoc32\include\mmf\common + +SOURCEPATH ..\src +SOURCE ut_atspaudioproperty.cpp + +LIBRARY euser.lib + +#ifdef ENABLE_ABIV2_MODE +DEBUGGABLE_UDEBONLY +#endif diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/advancedtspcontroller/tsrc/ut_atsp/ut_atspaudioproperty/inc/ut_atspaudioproperty.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/advancedtspcontroller/tsrc/ut_atsp/ut_atspaudioproperty/inc/ut_atspaudioproperty.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,30 @@ +/* +* 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: The test application to issue audio property with specified sid. +* +*/ + +#ifndef UT_ATSPAUDIOPROPERTY_H +#define UT_ATSPAUDIOPROPERTY_H + +// Include Files + +#include + +// Function Prototypes + +GLDEF_C TInt E32Main(); + +#endif // UT_ATSPAUDIOPROPERTY_H + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/advancedtspcontroller/tsrc/ut_atsp/ut_atspaudioproperty/src/ut_atspaudioproperty.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/advancedtspcontroller/tsrc/ut_atsp/ut_atspaudioproperty/src/ut_atspaudioproperty.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,97 @@ +/* +* 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: The test application to issue audio property with specified sid. +* +*/ + +// Include Files + +#include "ut_atspaudioproperty.h" +#include +#include +#include // Console + +#include +#include + +// Constants + +_LIT(KTextConsoleTitle, "Console"); +_LIT(KTextFailed, " failed, leave code = %d"); + +// Global Variables + +LOCAL_D CConsoleBase* console; // write all messages to this + + +// Local Functions + +LOCAL_C void MainL() + { + RProperty myProperty; + CleanupClosePushL(myProperty); + // The value of the property + TUint16 array[4] = {10,20,30,40}; + TBuf16<10> buf; + buf.Copy(&array[0],sizeof(array)); + + // Attach and set the property + User::LeaveIfError(myProperty.Attach(KPSUidMMFAudioServer, KAudioPolicyApplicationAudioStatePlaying, EOwnerThread)); + User::LeaveIfError(myProperty.Set(buf)); + + // CLose the property + CleanupStack::PopAndDestroy(); + } + +LOCAL_C void DoStartL() + { + // Create active scheduler (to run active objects) + CActiveScheduler* scheduler = new (ELeave) CActiveScheduler(); + CleanupStack::PushL(scheduler); + CActiveScheduler::Install(scheduler); + + MainL(); + + // Delete active scheduler + CleanupStack::PopAndDestroy(scheduler); + } + +// Global Functions + +GLDEF_C TInt E32Main() + { + // Create cleanup stack + __UHEAP_MARK; + CTrapCleanup* cleanup = CTrapCleanup::New(); + + // Create output console + TRAPD(createError, console = Console::NewL(KTextConsoleTitle, TSize( + KConsFullScreen, KConsFullScreen))); + if (createError) + { + delete cleanup; + return createError; + } + + // Run application code inside TRAP harness, wait keypress when terminated + TRAPD(mainError, DoStartL()); + if (mainError) + console->Printf(KTextFailed, mainError); + + delete console; + delete cleanup; + __UHEAP_MARKEND; + return KErrNone; + } + diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/hbdeviceinputdialogplugin/hbdeviceinputdialogplugin.pro --- a/coreapplicationuis/hbdeviceinputdialogplugin/hbdeviceinputdialogplugin.pro Wed Sep 29 15:24:56 2010 +0300 +++ b/coreapplicationuis/hbdeviceinputdialogplugin/hbdeviceinputdialogplugin.pro Thu Oct 07 06:25:45 2010 +0300 @@ -52,8 +52,7 @@ BLD_INF_RULES.prj_exports += \ "$${LITERAL_HASH}include " \ "qmakepluginstubs/HbDeviceInputDialogPlugin.qtplugin /epoc32/data/z/pluginstub/HbDeviceInputDialogPlugin.qtplugin"\ - ".\rom\hbdeviceinputdialogplugin.iby CORE_MW_LAYER_IBY_EXPORT_PATH(hbdeviceinputdialogplugin.iby)" \ - ".\rom\hbdeviceinputdialogplugin_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(hbdeviceinputdialogplugin_resources.iby)" + ".\rom\hbdeviceinputdialogplugin.iby CORE_MW_LAYER_IBY_EXPORT_PATH(hbdeviceinputdialogplugin.iby)" } diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/hbdeviceinputdialogplugin/rom/hbdeviceinputdialogplugin_resources.iby --- a/coreapplicationuis/hbdeviceinputdialogplugin/rom/hbdeviceinputdialogplugin_resources.iby Wed Sep 29 15:24:56 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27 +0,0 @@ -/* - * Copyright (c) 2010 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 __HBDEVICEINPUTDIALOGPLUGIN_RESOURCES_IBY__ -#define __HBDEVICEINPUTDIALOGPLUGIN_RESOURCES_IBY__ - -//this iby is required for language specific things to be exported to Language iby layer -#include - -data=DATAZ_\QT_TRANSLATIONS_DIR\device_input_dialog.qm QT_TRANSLATIONS_DIR\device_input_dialog.qm - - -#endif //__HBDEVICEINPUTDIALOGPLUGIN_RESOURCES_IBY__ diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/powersaveutilities/pluginlauncher/pluginlauncher.pro --- a/coreapplicationuis/powersaveutilities/pluginlauncher/pluginlauncher.pro Wed Sep 29 15:24:56 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,41 +0,0 @@ -# -# Copyright (c) 2010 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: cpframework source files -# - -TEMPLATE = app -TARGET = CpPsmPluginLauncher -DEPENDPATH += . -INCLUDEPATH += . - -HEADERS += src/*.h -SOURCES += src/*.cpp - -CONFIG += hb -CONFIG += no_icon - -MOC_DIR = moc -OBJECT_DIR = obj -RCC_DIR = rcc - -symbian: { - TARGET.UID3 = 0x2002DD0C - INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE - TARGET.CAPABILITY = ReadDeviceData WriteDeviceData - TARGET.EPOCALLOWDLLDATA = 1 -} - -LIBS += -lcpframework -BLD_INF_RULES.prj_exports += "$${LITERAL_HASH}include " \ - "rom/pluginlauncher.iby CORE_MW_LAYER_IBY_EXPORT_PATH(pluginlauncher.iby)" \ No newline at end of file diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/powersaveutilities/pluginlauncher/rom/pluginlauncher.iby --- a/coreapplicationuis/powersaveutilities/pluginlauncher/rom/pluginlauncher.iby Wed Sep 29 15:24:56 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,22 +0,0 @@ - -/* -* Copyright (c) 2010 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: -* -*/ - -file=ABI_DIR\BUILD_DIR\CpPsmPluginLauncher.exe \sys\bin\CpPsmPluginLauncher.exe -CP_UPGRADABLE_APP_REG_RSC(CpPsmPluginLauncher) -S60_APP_RESOURCE(CpPsmPluginLauncher) - diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/powersaveutilities/pluginlauncher/src/main.cpp --- a/coreapplicationuis/powersaveutilities/pluginlauncher/src/main.cpp Wed Sep 29 15:24:56 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,39 +0,0 @@ -/* -* Copyright (c) 2010 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: -* -*/ - -#include -#include -#include -#include -#include "mainview.h" -#include - -int main(int argc, char **argv) -{ - RDebug::Print( _L("plugin launcher main begin ") ); - HbApplication app(argc, argv); - - HbMainWindow mainWindow; - MainView *mainView = new MainView(); - mainWindow.addView(mainView); - mainWindow.show(); - RDebug::Print( _L("plugin launcher main end") ); - return app.exec(); -} - -//End of File - diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/powersaveutilities/pluginlauncher/src/mainview.cpp --- a/coreapplicationuis/powersaveutilities/pluginlauncher/src/mainview.cpp Wed Sep 29 15:24:56 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ -/* -* Copyright (c) 2010 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: -* -*/ -#include "mainview.h" -#include -#include -#include -#include -#include -#include -#include -#include - - -MainView::MainView(QGraphicsItem *parent/* = 0*/) -: HbView(parent) -{ - RDebug::Print( _L("plugin launcher MainView begin ") ); - init(); - RDebug::Print( _L("plugin launcher MainView end ") ); -} - -MainView::~MainView() -{ -RDebug::Print( _L("plugin launcher MainView desructor ") ); -} - -void MainView::init() -{ - RDebug::Print( _L("plugin launcher MainView init begin ") ); - launchInProcessProfileView(); - RDebug::Print( _L("plugin launcher MainView init end ") ) ; -} - -void MainView::launchInProcessProfileView() -{ - RDebug::Print( _L("plugin launcher MainView launchInProcessProfileView begin ") ); - //static function which launches the psmplugin view - CpPluginLauncher::launchSettingView("C:/resource/qt/plugins/controlpanel/cppsmplugin.dll","psm_view"); - RDebug::Print( _L("plugin launcher MainView launchInProcessProfileView end ")); -} - - - -//End of File diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/powersaveutilities/pluginlauncher/src/mainview.h --- a/coreapplicationuis/powersaveutilities/pluginlauncher/src/mainview.h Wed Sep 29 15:24:56 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,36 +0,0 @@ -/* -* Copyright (c) 2010 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 MAINVIEW_H -#define MAINVIEW_H - -#include - -class MainView : public HbView -{ - Q_OBJECT -public: - explicit MainView(QGraphicsItem *parent = 0); - virtual ~MainView(); -private: - void init(); -private slots: - void launchInProcessProfileView(); -private: - Q_DISABLE_COPY(MainView) -}; - -#endif diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/powersaveutilities/powersaveutilities.pro --- a/coreapplicationuis/powersaveutilities/powersaveutilities.pro Wed Sep 29 15:24:56 2010 +0300 +++ b/coreapplicationuis/powersaveutilities/powersaveutilities.pro Thu Oct 07 06:25:45 2010 +0300 @@ -19,8 +19,7 @@ symbian: { :BLD_INF_RULES.prj_mmpfiles += $$LITERAL_HASH"include \"bsutil/group/bld.inf\"" SUBDIRS = cppsmplugin \ - psmindicatorplugin \ - pluginlauncher - + psmindicatorplugin + } CONFIG += ordered \ No newline at end of file diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/powersaveutilities/psmindicatorplugin/inc/psmindicator.h --- a/coreapplicationuis/powersaveutilities/psmindicatorplugin/inc/psmindicator.h Wed Sep 29 15:24:56 2010 +0300 +++ b/coreapplicationuis/powersaveutilities/psmindicatorplugin/inc/psmindicator.h Thu Oct 07 06:25:45 2010 +0300 @@ -26,6 +26,7 @@ #include #include #include +#include /** @@ -63,17 +64,20 @@ QString iDisplayName; QString iIcon; - QProcess iProcess; QStringList iIndicatorTypes; HbTranslator *iTrans; private slots: - void processError(QProcess::ProcessError err); // handler for error codes - + + + void closeSettingView(); private: Q_DISABLE_COPY(PsmIndicatorPlugin) int mError; + //Qthighway methodology + XQApplicationManager mAppMgr; + XQAiwRequest *mRequest; }; #endif // PSMINDICATOR_H diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/powersaveutilities/psmindicatorplugin/psmindicatorplugin.pro --- a/coreapplicationuis/powersaveutilities/psmindicatorplugin/psmindicatorplugin.pro Wed Sep 29 15:24:56 2010 +0300 +++ b/coreapplicationuis/powersaveutilities/psmindicatorplugin/psmindicatorplugin.pro Thu Oct 07 06:25:45 2010 +0300 @@ -33,7 +33,7 @@ pluginstub.sources = psmindicatorplugin.dll pluginstub.path = /resource/plugins/indicators DEPLOYMENT += pluginstub - LIBS += -lcpframework + LIBS += -lcpframework -lxqservice } BLD_INF_RULES.prj_exports += "$${LITERAL_HASH}include " \ diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/powersaveutilities/psmindicatorplugin/src/psmindicator.cpp --- a/coreapplicationuis/powersaveutilities/psmindicatorplugin/src/psmindicator.cpp Wed Sep 29 15:24:56 2010 +0300 +++ b/coreapplicationuis/powersaveutilities/psmindicatorplugin/src/psmindicator.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -26,6 +26,10 @@ #include #include #include +#include +#include +#include +#include Q_EXPORT_PLUGIN(PsmIndicatorPlugin) @@ -33,7 +37,7 @@ QString KPsm = "PSM"; QString KCharging = "Charging"; -PsmIndicatorPlugin::PsmIndicatorPlugin():HbIndicatorInterface(IndicatorType,HbIndicatorInterface::NotificationCategory,InteractionActivated) +PsmIndicatorPlugin::PsmIndicatorPlugin():HbIndicatorInterface(IndicatorType,HbIndicatorInterface::NotificationCategory,InteractionActivated),mRequest(NULL) { RDebug::Print( _L("PsmIndicatorPlugin constructor begin ") ); iIndicatorTypes << "com.nokia.hb.powersavemodeplugin/1.0"; @@ -107,15 +111,44 @@ RDebug::Print( _L("PsmIndicatorPlugin handleinteraction begin ")); if (type == InteractionActivated) { - RDebug::Print( _L("PsmIndicatorPlugin handleinteraction inside interactionactivated ") ); - QObject::connect( &iProcess, SIGNAL(error(QProcess::ProcessError)), - this, SLOT(processError(QProcess::ProcessError))); - - // Launch the process to show the view. - iProcess.start("CpPsmPluginLauncher"); - handled = true; + RDebug::Print( _L("PsmIndicatorPlugin handleinteractiontype interactionactivated ") ); + //Qthighway methodology + if (mRequest) + { + delete mRequest; + mRequest = NULL; + } + + mRequest = mAppMgr.create("com.nokia.symbian.ICpPluginLauncher", "launchSettingView(QString,QVariant)", false); + + if (!mRequest) + { + return handled; + } + + + + // Set arguments for request + QList args; + args << QVariant( "cppsmplugin.dll" ); + args << QVariant ( "psm_view" ); + mRequest->setArguments(args); + + mRequest->setSynchronous(false); + + QTimer::singleShot(20* 1000, this, SLOT(closeSettingView())); + + // Make the request + if (!mRequest->send()) + { + //report error + RDebug::Print( _L("PsmIndicatorPlugin handleinteraction error launching the psmview ")); + } + + + handled = true; - } + } RDebug::Print( _L("PsmIndicatorPlugin handleinteraction end ") ); return handled; } @@ -172,7 +205,7 @@ else { RDebug::Print( _L("PsmIndicatorPlugin handleclientrequest requestactivate charging ") ); - iDisplayName.append(hbTrId("txt_power_management_dblist_charging")); + iDisplayName.append(hbTrId("txt_powermgt_dblist_charging")); iIcon.append(QString("qtg_mono_flash_charging")); } @@ -199,26 +232,10 @@ } -// ---------------------------------------------------------------------------- -// psmIndicator::processError -// handle the error conditions returned by the QProcess. -// ---------------------------------------------------------------------------- - -void PsmIndicatorPlugin::processError(QProcess::ProcessError err) - { - RDebug::Print( _L("PsmIndicatorPlugin processerror begin ")); - switch (err) - { - case QProcess::FailedToStart: - case QProcess::Crashed: - case QProcess::Timedout: - case QProcess::ReadError: - case QProcess::WriteError: - case QProcess::UnknownError: - break; - default: - break; - } +void PsmIndicatorPlugin::closeSettingView() +{ + if (mRequest) { + delete mRequest; + mRequest = NULL; } - - +} \ No newline at end of file diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/rfsplugins/tsrc/rfspluginstest/ClockRFSPluginTestModule/src/ClockRFSPluginTestModule.cpp --- a/coreapplicationuis/rfsplugins/tsrc/rfspluginstest/ClockRFSPluginTestModule/src/ClockRFSPluginTestModule.cpp Wed Sep 29 15:24:56 2010 +0300 +++ b/coreapplicationuis/rfsplugins/tsrc/rfspluginstest/ClockRFSPluginTestModule/src/ClockRFSPluginTestModule.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -167,6 +167,7 @@ // Delete resources allocated from test methods Delete(); + REComSession::FinalClose(); // Delete logger delete iLog; diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/rfsplugins/tsrc/rfspluginstest/msgcentrerfsplugintest/conf/msgcentrerfsplugintest.cfg --- a/coreapplicationuis/rfsplugins/tsrc/rfspluginstest/msgcentrerfsplugintest/conf/msgcentrerfsplugintest.cfg Wed Sep 29 15:24:56 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,244 +0,0 @@ -[Define] -KMessageCentreRfsPluginUid 537013634 -ENormalRfs 0 -EDeepRfs 1 -EInitRfs 2 -EFooRfs -1 -[Enddefine] - -[StifSettings] -CheckHeapBalance=on -[EndStifSettings] - -[Test] -title MessageCentreRFSPlugin create and destroy -create msgcentrerfsplugintest testClass -print About to create plugin -testClass CreatePlugin KMessageCentreRfsPluginUid -print Plugin created -pause 100 -testClass DestroyPlugin -print Plugin destroyed -delete testClass -[Endtest] - -[Test] -title MessageCentreRFSPlugin normal RFS -create msgcentrerfsplugintest testClass -testClass CreatePlugin KMessageCentreRfsPluginUid -print Plugin created -testClass RestoreFactorySettings ENormalRfs -print Normal rfs done -testClass DestroyPlugin -print Plugin destroyed -delete testClass -[Endtest] - -[Test] -title MessageCentreRFSPlugin deep RFS -create msgcentrerfsplugintest testClass -testClass CreatePlugin KMessageCentreRfsPluginUid -print Plugin created -testClass RestoreFactorySettings EDeepRfs -print Deep rfs done -testClass DestroyPlugin -print Plugin destroyed -delete testClass -[Endtest] - -[Test] -title MessageCentreRFSPlugin init RFS -create msgcentrerfsplugintest testClass -testClass CreatePlugin KMessageCentreRfsPluginUid -print Plugin created -testClass RestoreFactorySettings EInitRfs -print Init rfs done -testClass DestroyPlugin -print Plugin destroyed -delete testClass -[Endtest] - -[Test] -title MessageCentreRFSPlugin foo RFS -create msgcentrerfsplugintest testClass -testClass CreatePlugin KMessageCentreRfsPluginUid -print Plugin created -testClass RestoreFactorySettings EFooRfs -print Foo rfs done -testClass DestroyPlugin -print Plugin destroyed -delete testClass -[Endtest] - -[Test] -title MessageCentreRFSPlugin normal RFS get script -create msgcentrerfsplugintest testClass -print About to normal rfs -testClass CreatePlugin KMessageCentreRfsPluginUid -print Plugin created -testClass GetScript ENormalRfs -print Get script done -testClass DestroyPlugin -print Plugin destroyed -delete testClass -[Endtest] - -[Test] -title MessageCentreRFSPlugin deep RFS get script -create msgcentrerfsplugintest testClass -print About to normal rfs -testClass CreatePlugin KMessageCentreRfsPluginUid -print Plugin created -testClass GetScript EDeepRfs -print Get script done -testClass DestroyPlugin -print Plugin destroyed -delete testClass -[Endtest] - -[Test] -title MessageCentreRFSPlugin init RFS get script -create msgcentrerfsplugintest testClass -print About to normal rfs -testClass CreatePlugin KMessageCentreRfsPluginUid -print Plugin created -testClass GetScript EInitRfs -print Get script done -testClass DestroyPlugin -print Plugin destroyed -delete testClass -[Endtest] - -[Test] -title MessageCentreRFSPlugin foo RFS get script -create msgcentrerfsplugintest testClass -print About to normal rfs -testClass CreatePlugin KMessageCentreRfsPluginUid -print Plugin created -testClass GetScript EFooRfs -print Get script done -testClass DestroyPlugin -print Plugin destroyed -delete testClass -[Endtest] - -[Test] -title MessageCentreRFSPlugin normal RFS custom cmd -create msgcentrerfsplugintest testClass -print About to normal rfs -testClass CreatePlugin KMessageCentreRfsPluginUid -print Plugin created -testClass ExecuteCustomCommand ENormalRfs -print Cmd done -testClass DestroyPlugin -print Plugin destroyed -delete testClass -[Endtest] - -[Test] -title MessageCentreRFSPlugin deep RFS custom cmd -create msgcentrerfsplugintest testClass -print About to normal rfs -testClass CreatePlugin KMessageCentreRfsPluginUid -print Plugin created -testClass ExecuteCustomCommand EDeepRfs -print Cmd done -testClass DestroyPlugin -print Plugin destroyed -delete testClass -[Endtest] - -[Test] -title MessageCentreRFSPlugin init RFS custom cmd -create msgcentrerfsplugintest testClass -print About to normal rfs -testClass CreatePlugin KMessageCentreRfsPluginUid -print Plugin created -testClass ExecuteCustomCommand EInitRfs -print Cmd done -testClass DestroyPlugin -print Plugin destroyed -delete testClass -[Endtest] - -[Test] -title MessageCentreRFSPlugin foo RFS custom cmd -create msgcentrerfsplugintest testClass -print About to normal rfs -testClass CreatePlugin KMessageCentreRfsPluginUid -print Plugin created -testClass ExecuteCustomCommand EFooRfs -print Cmd done -testClass DestroyPlugin -print Plugin destroyed -delete testClass -[Endtest] - - -[Test] -title MessageCentreRFSPlugin normal RFS full seq -create msgcentrerfsplugintest testClass -print About to do seq -testClass CreatePlugin KMessageCentreRfsPluginUid -print Plugin created -testClass RestoreFactorySettings ENormalRfs -print Rfs done -testClass GetScript ENormalRfs -print Get script done -testClass ExecuteCustomCommand ENormalRfs -print Cmd done -testClass DestroyPlugin -print Plugin destroyed -delete testClass -[Endtest] - -[Test] -title MessageCentreRFSPlugin deep RFS full seq -create msgcentrerfsplugintest testClass -print About to do seq -testClass CreatePlugin KMessageCentreRfsPluginUid -print Plugin created -testClass RestoreFactorySettings EDeepRfs -print Rfs done -testClass GetScript EDeepRfs -print Get script done -testClass ExecuteCustomCommand EDeepRfs -print Cmd done -testClass DestroyPlugin -print Plugin destroyed -delete testClass -[Endtest] - -[Test] -title MessageCentreRFSPlugin init RFS full seq -create msgcentrerfsplugintest testClass -print About to do seq -testClass CreatePlugin KMessageCentreRfsPluginUid -print Plugin created -testClass RestoreFactorySettings EInitRfs -print Rfs done -testClass GetScript EInitRfs -print Get script done -testClass ExecuteCustomCommand EInitRfs -print Cmd done -testClass DestroyPlugin -print Plugin destroyed -delete testClass -[Endtest] - -[Test] -title MessageCentreRFSPlugin foo RFS full seq -create msgcentrerfsplugintest testClass -print About to do seq -testClass CreatePlugin KMessageCentreRfsPluginUid -print Plugin created -testClass RestoreFactorySettings EFooRfs -print Rfs done -testClass GetScript EFooRfs -print Get script done -testClass ExecuteCustomCommand EFooRfs -print Cmd done -testClass DestroyPlugin -print Plugin destroyed -delete testClass -[Endtest] \ No newline at end of file diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/rfsplugins/tsrc/rfspluginstest/msgcentrerfsplugintest/conf/ui_msgcentrerfsplugintest.cfg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/rfsplugins/tsrc/rfspluginstest/msgcentrerfsplugintest/conf/ui_msgcentrerfsplugintest.cfg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,244 @@ +[Define] +KMessageCentreRfsPluginUid 537013634 +ENormalRfs 0 +EDeepRfs 1 +EInitRfs 2 +EFooRfs -1 +[Enddefine] + +[StifSettings] +CheckHeapBalance=on +[EndStifSettings] + +[Test] +title MessageCentreRFSPlugin create and destroy +create msgcentrerfsplugintest testClass +print About to create plugin +testClass CreatePlugin +print Plugin created +pause 100 +testClass DestroyPlugin +print Plugin destroyed +delete testClass +[Endtest] + +[Test] +title MessageCentreRFSPlugin normal RFS +create msgcentrerfsplugintest testClass +testClass CreatePlugin +print Plugin created +testClass RestoreFactorySettings ENormalRfs +print Normal rfs done +testClass DestroyPlugin +print Plugin destroyed +delete testClass +[Endtest] + +[Test] +title MessageCentreRFSPlugin deep RFS +create msgcentrerfsplugintest testClass +testClass CreatePlugin +print Plugin created +testClass RestoreFactorySettings EDeepRfs +print Deep rfs done +testClass DestroyPlugin +print Plugin destroyed +delete testClass +[Endtest] + +[Test] +title MessageCentreRFSPlugin init RFS +create msgcentrerfsplugintest testClass +testClass CreatePlugin +print Plugin created +testClass RestoreFactorySettings EInitRfs +print Init rfs done +testClass DestroyPlugin +print Plugin destroyed +delete testClass +[Endtest] + +[Test] +title MessageCentreRFSPlugin foo RFS +create msgcentrerfsplugintest testClass +testClass CreatePlugin +print Plugin created +testClass RestoreFactorySettings EFooRfs +print Foo rfs done +testClass DestroyPlugin +print Plugin destroyed +delete testClass +[Endtest] + +[Test] +title MessageCentreRFSPlugin normal RFS get script +create msgcentrerfsplugintest testClass +print About to normal rfs +testClass CreatePlugin +print Plugin created +testClass GetScript ENormalRfs +print Get script done +testClass DestroyPlugin +print Plugin destroyed +delete testClass +[Endtest] + +[Test] +title MessageCentreRFSPlugin deep RFS get script +create msgcentrerfsplugintest testClass +print About to normal rfs +testClass CreatePlugin +print Plugin created +testClass GetScript EDeepRfs +print Get script done +testClass DestroyPlugin +print Plugin destroyed +delete testClass +[Endtest] + +[Test] +title MessageCentreRFSPlugin init RFS get script +create msgcentrerfsplugintest testClass +print About to normal rfs +testClass CreatePlugin +print Plugin created +testClass GetScript EInitRfs +print Get script done +testClass DestroyPlugin +print Plugin destroyed +delete testClass +[Endtest] + +[Test] +title MessageCentreRFSPlugin foo RFS get script +create msgcentrerfsplugintest testClass +print About to normal rfs +testClass CreatePlugin +print Plugin created +testClass GetScript EFooRfs +print Get script done +testClass DestroyPlugin +print Plugin destroyed +delete testClass +[Endtest] + +[Test] +title MessageCentreRFSPlugin normal RFS custom cmd +create msgcentrerfsplugintest testClass +print About to normal rfs +testClass CreatePlugin +print Plugin created +testClass ExecuteCustomCommand ENormalRfs +print Cmd done +testClass DestroyPlugin +print Plugin destroyed +delete testClass +[Endtest] + +[Test] +title MessageCentreRFSPlugin deep RFS custom cmd +create msgcentrerfsplugintest testClass +print About to normal rfs +testClass CreatePlugin +print Plugin created +testClass ExecuteCustomCommand EDeepRfs +print Cmd done +testClass DestroyPlugin +print Plugin destroyed +delete testClass +[Endtest] + +[Test] +title MessageCentreRFSPlugin init RFS custom cmd +create msgcentrerfsplugintest testClass +print About to normal rfs +testClass CreatePlugin +print Plugin created +testClass ExecuteCustomCommand EInitRfs +print Cmd done +testClass DestroyPlugin +print Plugin destroyed +delete testClass +[Endtest] + +[Test] +title MessageCentreRFSPlugin foo RFS custom cmd +create msgcentrerfsplugintest testClass +print About to normal rfs +testClass CreatePlugin +print Plugin created +testClass ExecuteCustomCommand EFooRfs +print Cmd done +testClass DestroyPlugin +print Plugin destroyed +delete testClass +[Endtest] + + +[Test] +title MessageCentreRFSPlugin normal RFS full seq +create msgcentrerfsplugintest testClass +print About to do seq +testClass CreatePlugin +print Plugin created +testClass RestoreFactorySettings ENormalRfs +print Rfs done +testClass GetScript ENormalRfs +print Get script done +testClass ExecuteCustomCommand ENormalRfs +print Cmd done +testClass DestroyPlugin +print Plugin destroyed +delete testClass +[Endtest] + +[Test] +title MessageCentreRFSPlugin deep RFS full seq +create msgcentrerfsplugintest testClass +print About to do seq +testClass CreatePlugin +print Plugin created +testClass RestoreFactorySettings EDeepRfs +print Rfs done +testClass GetScript EDeepRfs +print Get script done +testClass ExecuteCustomCommand EDeepRfs +print Cmd done +testClass DestroyPlugin +print Plugin destroyed +delete testClass +[Endtest] + +[Test] +title MessageCentreRFSPlugin init RFS full seq +create msgcentrerfsplugintest testClass +print About to do seq +testClass CreatePlugin +print Plugin created +testClass RestoreFactorySettings EInitRfs +print Rfs done +testClass GetScript EInitRfs +print Get script done +testClass ExecuteCustomCommand EInitRfs +print Cmd done +testClass DestroyPlugin +print Plugin destroyed +delete testClass +[Endtest] + +[Test] +title MessageCentreRFSPlugin foo RFS full seq +create msgcentrerfsplugintest testClass +print About to do seq +testClass CreatePlugin +print Plugin created +testClass RestoreFactorySettings EFooRfs +print Rfs done +testClass GetScript EFooRfs +print Get script done +testClass ExecuteCustomCommand EFooRfs +print Cmd done +testClass DestroyPlugin +print Plugin destroyed +delete testClass +[Endtest] \ No newline at end of file diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/rfsplugins/tsrc/rfspluginstest/msgcentrerfsplugintest/group/bld.inf --- a/coreapplicationuis/rfsplugins/tsrc/rfspluginstest/msgcentrerfsplugintest/group/bld.inf Wed Sep 29 15:24:56 2010 +0300 +++ b/coreapplicationuis/rfsplugins/tsrc/rfspluginstest/msgcentrerfsplugintest/group/bld.inf Thu Oct 07 06:25:45 2010 +0300 @@ -25,8 +25,8 @@ ../init/msgcentrerfsplugintest.ini /epoc32/winscw/c/testframework/testframework.ini ../init/msgcentrerfsplugintest.ini /epoc32/data/z/system/data/TestFramework.ini -../conf/msgcentrerfsplugintest.cfg /epoc32/winscw/c/testframework/msgcentrerfsplugintest.cfg -../conf/msgcentrerfsplugintest.cfg /epoc32/data/z/system/data/msgcentrerfsplugintest.cfg +../conf/ui_msgcentrerfsplugintest.cfg /epoc32/winscw/c/testframework/ui_msgcentrerfsplugintest.cfg +../conf/ui_msgcentrerfsplugintest.cfg /epoc32/data/z/system/data/ui_msgcentrerfsplugintest.cfg ../rom/msgcentrerfsplugintest.iby CORE_MW_LAYER_IBY_EXPORT_PATH(msgcentrerfsplugintest.iby) diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/rfsplugins/tsrc/rfspluginstest/msgcentrerfsplugintest/group/msgcentrerfsplugintest.mmp --- a/coreapplicationuis/rfsplugins/tsrc/rfspluginstest/msgcentrerfsplugintest/group/msgcentrerfsplugintest.mmp Wed Sep 29 15:24:56 2010 +0300 +++ b/coreapplicationuis/rfsplugins/tsrc/rfspluginstest/msgcentrerfsplugintest/group/msgcentrerfsplugintest.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2009-10 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" @@ -33,5 +33,6 @@ LIBRARY euser.lib LIBRARY ecom.lib -LIBRARY stiftestinterface.lib +LIBRARY StifTestInterface.lib +LIBRARY StifTestEngine.lib LIBRARY flogger.lib diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/rfsplugins/tsrc/rfspluginstest/msgcentrerfsplugintest/inc/msgcentrerfsplugintest.h --- a/coreapplicationuis/rfsplugins/tsrc/rfspluginstest/msgcentrerfsplugintest/inc/msgcentrerfsplugintest.h Wed Sep 29 15:24:56 2010 +0300 +++ b/coreapplicationuis/rfsplugins/tsrc/rfspluginstest/msgcentrerfsplugintest/inc/msgcentrerfsplugintest.h Thu Oct 07 06:25:45 2010 +0300 @@ -24,8 +24,11 @@ #pragma once #endif -#include #include "trace.h" +#include +#include +#include +#include // CONSTANTS diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/rfsplugins/tsrc/rfspluginstest/msgcentrerfsplugintest/inc/traceconfiguration.hrh --- a/coreapplicationuis/rfsplugins/tsrc/rfspluginstest/msgcentrerfsplugintest/inc/traceconfiguration.hrh Wed Sep 29 15:24:56 2010 +0300 +++ b/coreapplicationuis/rfsplugins/tsrc/rfspluginstest/msgcentrerfsplugintest/inc/traceconfiguration.hrh Thu Oct 07 06:25:45 2010 +0300 @@ -53,6 +53,8 @@ #undef FUNC_TRACE #endif +#define FUNC_TRACE + /** * Timestamp tracing on */ diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/rfsplugins/tsrc/rfspluginstest/msgcentrerfsplugintest/init/msgcentrerfsplugintest.ini --- a/coreapplicationuis/rfsplugins/tsrc/rfspluginstest/msgcentrerfsplugintest/init/msgcentrerfsplugintest.ini Wed Sep 29 15:24:56 2010 +0300 +++ b/coreapplicationuis/rfsplugins/tsrc/rfspluginstest/msgcentrerfsplugintest/init/msgcentrerfsplugintest.ini Thu Oct 07 06:25:45 2010 +0300 @@ -1,26 +1,8 @@ # -# 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 the License "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: This is STIFTestFramework initialization file -# -# - - +# This is STIF initialization file # Comment lines start with '#'-character. # See STIF TestFramework users guide.doc for instructions - - # -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- # Set following test engine settings: # - Set Test Reporting mode. TestReportMode's possible values are: @@ -40,6 +22,8 @@ # - File format indicates the type of the test report. # + TXT, Test report file will be txt type, for example 'TestReport.txt'. # + HTML, Test report will be html type, for example 'TestReport.html'. +# + XML, Test report will be xml type, for example 'TestReport.xml'. +# Note, that xml format is available only when output is set to FILE. # # - File output indicates output source of the test report. # + FILE, Test report logging to file. @@ -47,24 +31,47 @@ # # - File Creation Mode indicates test report overwriting if file exist. # + OVERWRITE, Overwrites if the Test report file exist. -# + APPEND, Continue logging after the old Test report information if +# + APPEND, Continue logging after the old Test report information if # report exist. +# - Sets a device reset module's dll name(Reboot). +# + If Nokia specific reset module is not available or it is not correct one +# StifHWResetStub module may use as a template for user specific reset +# module. +# - Sets STIF test measurement disable options. e.g. pluging1 and pluging2 disablation +# DisableMeasurement= stifmeasurementplugin01 stifmeasurementplugin02 +# [Engine_Defaults] -TestReportMode= FullReport # Possible values are: - # 'Summary', 'Environment', 'TestCases' or 'FullReport' +TestReportMode= FullReport # Possible values are: 'Empty', 'Summary', 'Environment', + # 'TestCases' or 'FullReport' -CreateTestReport= YES # Possible values: YES or NO +CreateTestReport= YES # Possible values: YES or NO TestReportFilePath= C:\LOGS\TestFramework\ TestReportFileName= TestReport -TestReportFormat= TXT # Possible values: TXT or HTML -TestReportOutput= FILE # Possible values: FILE or RDEBUG -TestReportFileCreationMode= OVERWRITE # Possible values: OVERWRITE or APPEND +TestReportFormat= TXT # Possible values: TXT, HTML or XML +TestReportOutput= FILE # Possible values: FILE or RDEBUG +TestReportFileCreationMode= OVERWRITE # Possible values: OVERWRITE or APPEND + +DeviceResetDllName= StifResetForNokia.dll # e.g. 'StifHWResetStub.dll' for user specific reseting +DisableMeasurement= stifmeasurementdisablenone # Possible values are: + # 'stifmeasurementdisablenone', 'stifmeasurementdisableall' + # 'stifmeasurementplugin01', 'stifmeasurementplugin02', + # 'stifmeasurementplugin03', 'stifmeasurementplugin04', + # 'stifmeasurementplugin05' or 'stifbappeaprofiler' + +Timeout= 0 # Default timeout value for each test case. In milliseconds +UITestingSupport= YES # Possible values: YES or NO +#SeparateProcesses= YES # Possible values: YES or NO (default: NO) [End_Defaults] + +[New_Module] +ModuleName= testscripter +TestCaseFile= Z:\TestFramework\ui_msgcentrerfsplugintest.cfg +[End_Module] # -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- @@ -75,11 +82,11 @@ # tags. Module name is specified after ModuleName= tag, like # ModuleName= XXXXXXXXX # Modules might have initialisation file, specified as -# IniFile= YYYYYY +# IniFile= c:\testframework\YYYYYY # Modules might have several configuration files, like -# TestCaseFile= NormalCases.txt -# TestCaseFile= SmokeCases.txt -# TestCaseFile= ManualCases.txt +# TestCaseFile= c:\testframework\NormalCases.txt +# TestCaseFile= c:\testframework\SmokeCases.txt +# TestCaseFile= c:\testframework\ManualCases.txt # (TestCaseFile is synonym for old term ConfigFile) @@ -89,10 +96,6 @@ # In the simplest case it is enough to specify only the # name of the test module when adding new test module -[New_Module] -ModuleName= TestScripter -TestCaseFile= Z:\testframework\msgcentrerfsplugintest.cfg -[End_Module] # Load testmoduleXXX, optionally with initialization file and/or test case files @@ -100,12 +103,12 @@ #ModuleName= testmodulexxx #TestModuleXXX used initialization file -#IniFile= init.txt +#IniFile= c:\testframework\init.txt #TestModuleXXX used configuration file(s) -#TestCaseFile= testcases1.cfg -#TestCaseFile= testcases2.cfg -#TestCaseFile= manualtestcases.cfg +#TestCaseFile= c:\testframework\testcases1.cfg +#TestCaseFile= c:\testframework\testcases2.cfg +#TestCaseFile= c:\testframework\manualtestcases.cfg #[End_Module] # -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- @@ -113,7 +116,7 @@ # -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -# Set STIFTestFramework logging overwrite parameters for Logger. +# Set STIF logging overwrite parameters for Logger. # Hardware and emulator environment logging path and styles can # be configured from here to overwrite the Logger's implemented values. # @@ -158,34 +161,59 @@ # + NO, No line break(s). # # - Will event ranking include to the log file. -# + YES, Event ranking number added to each line in log file(s). Ranking number +# + YES, Event ranking number added to each line in log file(s). Ranking number # depends on environment's tics, for example(includes time stamp also) # '012 12.Nov.2003 115958 LOGGING INFO' # + NO, No event ranking. # +# - Will write log file in unicode format. +# + YES, Log file will be written in unicode format +# + NO, Log will be written as normal, not unicode, file. +# [Logger_Defaults] -#NOTE: If you want to set Logger using next setting(s) remove comment(s)'#' +#NOTE: If you want to set Logger using next setting(s) remove comment(s)'#' +#NOTE: TestEngine and TestServer logging settings cannot change here -#CreateLogDirectories= YES # Possible values: YES or NO +#CreateLogDirectories= YES # Possible values: YES or NO #EmulatorBasePath= C:\LOGS\TestFramework\ -#EmulatorFormat= HTML # Possible values: TXT or HTML -#EmulatorOutput= FILE # Possible values: FILE or RDEBUG +#EmulatorFormat= HTML # Possible values: TXT or HTML +#EmulatorOutput= FILE # Possible values: FILE or RDEBUG #HardwareBasePath= D:\LOGS\TestFramework\ -#HardwareFormat= HTML # Possible values: TXT or HTML -#HardwareOutput= FILE # Possible values: FILE or RDEBUG +#HardwareFormat= HTML # Possible values: TXT or HTML +#HardwareOutput= FILE # Possible values: FILE or RDEBUG -#FileCreationMode= OVERWRITE # Possible values: OVERWRITE or APPEND +#FileCreationMode= OVERWRITE # Possible values: OVERWRITE or APPEND -#ThreadIdToLogFile= YES # Possible values: YES or NO -#WithTimeStamp= YES # Possible values: YES or NO -#WithLineBreak= YES # Possible values: YES or NO -#WithEventRanking= YES # Possible values: YES or NO +#ThreadIdToLogFile= YES # Possible values: YES or NO +#WithTimeStamp= YES # Possible values: YES or NO +#WithLineBreak= YES # Possible values: YES or NO +#WithEventRanking= YES # Possible values: YES or NO +#FileUnicode= YES # Possible values: YES or NO +#AddTestCaseTitle= YES # Possible values: YES or NO [End_Logger_Defaults] # -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + + +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +# Set filters to be used by ConsoleUI. +# If you want to use filter with ConsoleUI, simply remove comments +# from section below and provide valid filter entries. +# Each filter line has to start with "filter= " keyword. +# Filter can contain special wildcard characters: +# * which stands for none or any literal; +# ? which stands for single character. +# Filters are not case-sensitive. + +#[Filters] +#filter= *math* +#filter= *radio* +#[End_Filters] +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + # End of file diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/rfsplugins/tsrc/rfspluginstest/msgcentrerfsplugintest/rom/msgcentrerfsplugintest.iby --- a/coreapplicationuis/rfsplugins/tsrc/rfspluginstest/msgcentrerfsplugintest/rom/msgcentrerfsplugintest.iby Wed Sep 29 15:24:56 2010 +0300 +++ b/coreapplicationuis/rfsplugins/tsrc/rfspluginstest/msgcentrerfsplugintest/rom/msgcentrerfsplugintest.iby Thu Oct 07 06:25:45 2010 +0300 @@ -22,7 +22,7 @@ //data=\epoc32\data\z\system\data\TestFramework.ini \testframework\TestFramework.ini -data=\epoc32\data\z\system\data\msgcentrerfsplugintest.cfg \testframework\msgcentrerfsplugintest.cfg +data=\epoc32\data\z\system\data\ui_msgcentrerfsplugintest.cfg \testframework\ui_msgcentrerfsplugintest.cfg diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/rfsplugins/tsrc/rfspluginstest/msgcentrerfsplugintest/src/msgcentrerfsplugintest.cpp --- a/coreapplicationuis/rfsplugins/tsrc/rfspluginstest/msgcentrerfsplugintest/src/msgcentrerfsplugintest.cpp Wed Sep 29 15:24:56 2010 +0300 +++ b/coreapplicationuis/rfsplugins/tsrc/rfspluginstest/msgcentrerfsplugintest/src/msgcentrerfsplugintest.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -126,16 +126,13 @@ TInt CMsgCentreRfsPluginTest::CreatePlugin( CStifItemParser& aItem ) { FUNC_LOG; + + STIF_ASSERT_NOT_LEAVES(iPlugin = CRFSPlugin::NewL( TUid::Uid( 0x20022D82 ) ) ); + STIF_ASSERT_NOT_NULL( iPlugin ); + + return KErrNone; - TUint uid(0); - TInt ret = aItem.GetNextInt( uid ); - if ( ret == KErrNone ) - { - TRAP(ret, iPlugin = CRFSPlugin::NewL( TUid::Uid( uid ) ) ); - } - ERROR( ret, "Create plugin failed"); - LOG_1("CreatePlugin %d", ret); - return ret; + } // --------------------------------------------------------- diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/rfsplugins/tsrc/rfspluginstest/secureformattertest/group/secureformattertest.mmp --- a/coreapplicationuis/rfsplugins/tsrc/rfspluginstest/secureformattertest/group/secureformattertest.mmp Wed Sep 29 15:24:56 2010 +0300 +++ b/coreapplicationuis/rfsplugins/tsrc/rfspluginstest/secureformattertest/group/secureformattertest.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2009-10 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" @@ -38,8 +38,6 @@ LIBRARY efsrv.lib LIBRARY euser.lib -LIBRARY stiftestinterface.lib +LIBRARY StifTestInterface.lib MACRO __FUNC_TRACE__ - -UNPAGED diff -r 1505405bc645 -r b01c07dfcf84 coreapplicationuis/sensordatacompensatorplugin/tsrc/sensordatacompensatorplgtest/group/sensordatacompensatorplgtest.mmp --- a/coreapplicationuis/sensordatacompensatorplugin/tsrc/sensordatacompensatorplgtest/group/sensordatacompensatorplgtest.mmp Wed Sep 29 15:24:56 2010 +0300 +++ b/coreapplicationuis/sensordatacompensatorplugin/tsrc/sensordatacompensatorplgtest/group/sensordatacompensatorplgtest.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2008-2010 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" @@ -34,5 +34,5 @@ MW_LAYER_SYSTEMINCLUDE LIBRARY euser.lib -LIBRARY stiftestinterface.lib +LIBRARY StifTestInterface.lib diff -r 1505405bc645 -r b01c07dfcf84 package_definition.xml --- a/package_definition.xml Wed Sep 29 15:24:56 2010 +0300 +++ b/package_definition.xml Thu Oct 07 06:25:45 2010 +0300 @@ -162,8 +162,7 @@ - - + @@ -209,6 +208,9 @@ + + + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/SplashScreen/src/SplashScreen.cpp --- a/startupservices/SplashScreen/src/SplashScreen.cpp Wed Sep 29 15:24:56 2010 +0300 +++ b/startupservices/SplashScreen/src/SplashScreen.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -391,6 +391,8 @@ CWindow::ConstructL(aRect, aParent); TParse* fp = new(ELeave) TParse(); + CleanupStack::PushL( fp ); + fp->Set(KSplashBitmapName, &KDC_APP_BITMAP_DIR, NULL); TRACES1("CMainWindow::ConstructL(): Load Bitmap from %S", &fp->FullName()); @@ -414,7 +416,8 @@ TRACES("CMainWindow::ConstructL(): Image not found"); } - delete fp; + + CleanupStack::PopAndDestroy(fp); TRACES("CMainWindow::ConstructL(): End"); } diff -r 1505405bc645 -r b01c07dfcf84 startupservices/Startup/src/StartupAppUi.cpp --- a/startupservices/Startup/src/StartupAppUi.cpp Wed Sep 29 15:24:56 2010 +0300 +++ b/startupservices/Startup/src/StartupAppUi.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -854,6 +854,7 @@ iOfflineModeQueryShown = ETrue; CHbDeviceMessageBoxSymbian *aMessageBox = NULL; aMessageBox = CHbDeviceMessageBoxSymbian::NewL(CHbDeviceMessageBoxSymbian::EQuestion); + CleanupStack::PushL(aMessageBox); _LIT(KText, "Continue using phone in Offline mode?"); aMessageBox->SetTextL(KText); _LIT(KAcceptText, "Yes"); @@ -864,6 +865,8 @@ //define the selection button to hold user's option choice CHbDeviceMessageBoxSymbian::TButtonId selection; selection = aMessageBox->ExecL(); + + CleanupStack::PopAndDestroy(aMessageBox); if ( selection == CHbDeviceMessageBoxSymbian::EAcceptButton ) { TRACES("CStartupAppUi::ShowOfflineModeQueryL(): Offline Mode query: YES -> Boot to Offline"); diff -r 1505405bc645 -r b01c07dfcf84 startupservices/Startup/syserrcmd/tsrc/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/Startup/syserrcmd/tsrc/group/bld.inf Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,29 @@ +/* +* 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: +* Build information file for sf/mw/appsupport/startupservices/Startup/syserrcmd/tsrc tests. +* +*/ + +#include + +PRJ_PLATFORMS +DEFAULT + +PRJ_TESTEXPORTS + +PRJ_MMPFILES +#include "../syserrcmdtest/group/bld.inf" +#include "../syserrcmdtestsstub/group/bld.inf" + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/Startup/syserrcmd/tsrc/inc/syserrcmdtestsstub.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/Startup/syserrcmd/tsrc/inc/syserrcmdtestsstub.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,44 @@ +/* +* 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: +* Declaration of SsmLangSelCmdTestStub class. +* +*/ + +#ifndef SYSERRCMDTESTSSTUB_H +#define SYSERRCMDTESTSSTUB_H + +#include + +class CSsmCustomCommandEnv; +class RFs; +/** +* Stub class for syserrcmd tests +* +*/ +NONSHARABLE_CLASS( SysErrCmdTestsStub ) + { +public: + /** + * Methods for mapping p&s, cenrep and feature Uids + * + * @param aUid The Uid to map + * @return The mapped Uid + */ + + IMPORT_C static CSsmCustomCommandEnv* CustomCommandEnvStubL( RFs& aRfs ); + + }; + +#endif // SYSERRCMDTESTSSTUB_H diff -r 1505405bc645 -r b01c07dfcf84 startupservices/Startup/syserrcmd/tsrc/syserrcmdtest/bwins/syserrcmdtestu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/Startup/syserrcmd/tsrc/syserrcmdtest/bwins/syserrcmdtestu.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,3 @@ +EXPORTS + ?LibEntryL@@YAPAVCSysErrCmdTest@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CSysErrCmdTest * LibEntryL(class CTestModuleIf &) + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/Startup/syserrcmd/tsrc/syserrcmdtest/conf/syserrcmdtest.cfg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/Startup/syserrcmd/tsrc/syserrcmdtest/conf/syserrcmdtest.cfg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,79 @@ +[Define] +// Add general definitions here +[Enddefine] + +[StifSettings] +// Add stif settings here +CheckHeapBalance= on +[EndStifSettings] + +// --------------------------------------------------------------------------- +// Test cases for Create and destroy +// --------------------------------------------------------------------------- + +[Test] +title Test Create and destroy +create syserrcmdtest testClass +testClass CreateAndDestroy +pause 1000 +delete testClass +[Endtest] + +// --------------------------------------------------------------------------- +// Test cases for init and close +// --------------------------------------------------------------------------- + +[Test] +title Test Init and close +create syserrcmdtest testClass +testClass InitAndClose +pause 1000 +delete testClass +[Endtest] +// --------------------------------------------------------------------------- +// Test cases for execute +// --------------------------------------------------------------------------- + +[Test] +title Test Execute +create syserrcmdtest testClass +testClass Execute +pause 1000 +delete testClass +[Endtest] + +// --------------------------------------------------------------------------- +// Test cases for execute and cancel +// --------------------------------------------------------------------------- + +[Test] +title Test Execute and cancel +create syserrcmdtest testClass +testClass ExecuteCancel +pause 1000 +delete testClass +[Endtest] + +// --------------------------------------------------------------------------- +// Test cases for execute after global note +// --------------------------------------------------------------------------- + +[Test] +title Test Execute after global note +create syserrcmdtest testClass +testClass ExecuteAfterGlobalNote +pause 1000 +delete testClass +[Endtest] + +// --------------------------------------------------------------------------- +// Test cases for execute after Ui service global note +// --------------------------------------------------------------------------- + +[Test] +title Test Execute after Ui service global note +create syserrcmdtest testClass +testClass ExecuteAfterUiServiceGlobalNote +pause 1000 +delete testClass +[Endtest] \ No newline at end of file diff -r 1505405bc645 -r b01c07dfcf84 startupservices/Startup/syserrcmd/tsrc/syserrcmdtest/eabi/syserrcmdtestu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/Startup/syserrcmd/tsrc/syserrcmdtest/eabi/syserrcmdtestu.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,3 @@ +EXPORTS + _Z9LibEntryLR13CTestModuleIf @ 1 NONAME + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/Startup/syserrcmd/tsrc/syserrcmdtest/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/Startup/syserrcmd/tsrc/syserrcmdtest/group/bld.inf Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,30 @@ +/* +* 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: +* Build information file for syserrcmdtest tests. +* +*/ + +#include + +PRJ_PLATFORMS +DEFAULT + +PRJ_EXPORTS +../init/syserrcmdtest.ini /epoc32/winscw/c/testframework/syserrcmdtest.ini +../conf/syserrcmdtest.cfg /epoc32/winscw/c/testframework/syserrcmdtest.cfg + +PRJ_MMPFILES +syserrcmdtest.mmp + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/Startup/syserrcmd/tsrc/syserrcmdtest/group/envrecall.cmd --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/Startup/syserrcmd/tsrc/syserrcmdtest/group/envrecall.cmd Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,28 @@ +@echo off +REM Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +REM All rights reserved. +REM This component and the accompanying materials are made available +REM under the terms of "Eclipse Public License v1.0" +REM which accompanies this distribution, and is available +REM at the URL "http://www.eclipse.org/legal/epl-v10.html". +REM +REM Initial Contributors: +REM Nokia Corporation - initial contribution. +REM +REM Contributors: +REM +REM Description: Environment setup for ssmlangselcmd tests. +REM +REM +@echo on + + +@echo Recall environment for syserrcmdtest... +@echo Cleaning up stub... +pushd ..\..\ssmlangselcmdteststub\group +call bldmake bldfiles +call abld test reallyclean -k +popd + +@echo Recall environment for syserrcmdtest... Finished. + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/Startup/syserrcmd/tsrc/syserrcmdtest/group/envsetup.cmd --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/Startup/syserrcmd/tsrc/syserrcmdtest/group/envsetup.cmd Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,28 @@ +@echo off +REM Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +REM All rights reserved. +REM This component and the accompanying materials are made available +REM under the terms of "Eclipse Public License v1.0" +REM which accompanies this distribution, and is available +REM at the URL "http://www.eclipse.org/legal/epl-v10.html". +REM +REM Initial Contributors: +REM Nokia Corporation - initial contribution. +REM +REM Contributors: +REM +REM Description: Environment setup for ssmlangselcmd tests. +REM +REM +@echo on + + +@echo Setup environment for syserrcmdtest... +@echo Setting up stub... +pushd ..\..\syserrcmdtestsstub\group +call bldmake bldfiles +call abld test reallyclean +call abld test build +popd +@echo Setup environment for syserrcmdtest... Finished. + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/Startup/syserrcmd/tsrc/syserrcmdtest/group/syserrcmdtest.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/Startup/syserrcmd/tsrc/syserrcmdtest/group/syserrcmdtest.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,49 @@ +/* +* 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: +* Project definition file for syserrcmdtest. +* +*/ + +#include + +TARGET syserrcmdtest.dll +TARGETTYPE dll + +UID 0x1000008D 0x101FB3E7 +VENDORID VID_DEFAULT +CAPABILITY ALL -TCB + +SOURCEPATH ../src +SOURCE syserrcmdtest.cpp + +USERINCLUDE ../inc +USERINCLUDE ../../inc +USERINCLUDE ../../../inc + +MW_LAYER_SYSTEMINCLUDE + +OS_LAYER_SYSTEMINCLUDE + +LIBRARY syserrcmd.lib +LIBRARY syserrcmdtestsstub.lib +LIBRARY euser.lib +LIBRARY stiftestinterface.lib +LIBRARY efsrv.lib +//LIBRARY aknnotify.lib +//LIBRARY akncapserverclient.lib +LIBRARY apparc.lib +LIBRARY eikcore.lib +//LIBRARY component_under_test.lib + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/Startup/syserrcmd/tsrc/syserrcmdtest/group/syserrcmdtest.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/Startup/syserrcmd/tsrc/syserrcmdtest/group/syserrcmdtest.pkg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,34 @@ +; +; 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: +; +;Languages +&EN + +#{"syserrcmdtest"},(0x101FB3E7),1,0,0,TYPE=SA + +;Localised Vendor name +%{"syserrcmdtest EN"} + +; Vendor name +: "syserrcmdtest" + +"\epoc32\release\armv5\urel\syserrcmdtest.dll"-"c:\sys\bin\syserrcmdtest.dll" +"..\init\syserrcmdtest.ini"-"c:\testframework\syserrcmdtest.ini" +"..\conf\syserrcmdtest.cfg"-"c:\testframework\syserrcmdtest.cfg" + +; Stub for tests +"\epoc32\release\armv5\urel\syserrcmdtestsstub.dll"-"c:\sys\bin\syserrcmdtestsstub.dll" + + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/Startup/syserrcmd/tsrc/syserrcmdtest/inc/asyncrequesthandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/Startup/syserrcmd/tsrc/syserrcmdtest/inc/asyncrequesthandler.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,220 @@ +/* + * 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 ASYNCREQUESTHANDLER_H +#define ASYNCREQUESTHANDLER_H + +// SYSTEM INCLUDE FILES +#include + +// DATA TYPES +_LIT( KPanicCat, "ASYNCREQUESTHANDLER" ); + +/** Panic codes */ +enum TArhPanicCodes + { + EArhNone, + EArhRequestPending + }; + +// CLASS DECLARATION + +/** + * A template class for handling asynchronous requests. + * + * @lib None. + * @since S60 TB9.2 + */ +template +NONSHARABLE_CLASS( CAsyncRequestHandler ): public CActive + { +public: + + // TYPE DEFINTIONS + + /** HandleIssueRequest callback */ + typedef void ( T::*HandleIssueRequest )( TRequestStatus& ); + + /** HandleRunL callback */ + typedef void ( T::*HandleRunL )( TInt ); + + /** HandleRunError callback */ + typedef TInt ( T::*HandleRunError )( TInt ); + + /** HandleDoCancel callback */ + typedef void ( T::*HandleDoCancel )(); + + // DATA TYPES + + /** Request type */ + enum TAsyncRequestType + { + ERequestOneShot, + ERequestContinuous + }; + +public: + + /** + * Symbian two phased constructor. + * + * @since S60 TB9.2 + * @param None. + * @return CAsyncRequestHandler* + */ + static CAsyncRequestHandler* NewL( T& aPtr, + HandleIssueRequest aHandleIssueRequest, + HandleRunL aHandleRunL, + HandleRunError aHandleRunError, + HandleDoCancel aHandleDoCancel, + TAsyncRequestType aType = ERequestContinuous ) + { + CAsyncRequestHandler* self = CAsyncRequestHandler::NewLC( aPtr, + aHandleIssueRequest, + aHandleRunL, + aHandleRunError, + aHandleDoCancel, + aType ); + CleanupStack::Pop( self ); + return self; + } + + /** + * Symbian two phased constructor. + * Instance is left in the cleanup stack. + * + * @since S60 TB9.2 + * @param None. + * @return CAsyncRequestHandler* + */ + static CAsyncRequestHandler* NewLC( T& aPtr, + HandleIssueRequest aHandleIssueRequest, + HandleRunL aHandleRunL, + HandleRunError aHandleRunError, + HandleDoCancel aHandleDoCancel, + TAsyncRequestType aType = ERequestContinuous ) + { + CAsyncRequestHandler* self = new CAsyncRequestHandler( aPtr, + aHandleIssueRequest, + aHandleRunL, + aHandleRunError, + aHandleDoCancel, + aType ); + CleanupStack::PushL( self ); + return self; + } + + /** + * C++ destructor. + */ + virtual ~CAsyncRequestHandler() + { + Cancel(); + } + +public: // New methods + + /** + * Issues a new request. + * Panic will occur if there already is a request pending. + * + * @since TB9.2 + * @param None. + * @return None. + */ + void IssueRequest() + { + __ASSERT_DEBUG( !IsActive(), + User::Panic( KPanicCat, EArhRequestPending ) ); + + // Call the HandleIssueRequest from the template class and set active + ( iPtr.*iHandleIssueRequest )( iStatus ); + SetActive(); + } + +protected: // From base classes + + // @see CActive + void RunL() + { + // Check result and issue request again + TInt status = iStatus.Int(); + if( iType == ERequestContinuous ) + { + IssueRequest(); + } + + // Call the HandleRunL from the template class + ( iPtr.*iHandleRunL )( status ); + } + + // @see CActive + TInt RunError( TInt aError ) + { + // Call the HandleRunError from the template class + TInt err = ( iPtr.*iHandleRunError )( aError ); + return err; + } + + // @see CActive + void DoCancel() + { + // Call the HandleDoCancel from the template class + ( iPtr.*iHandleDoCancel )(); + } + +private: + + CAsyncRequestHandler( T& aPtr, + HandleIssueRequest aHandleIssueRequest, + HandleRunL aHandleRunL, + HandleRunError aHandleRunError, + HandleDoCancel aHandleDoCancel, + TAsyncRequestType aType = ERequestContinuous ): + CActive( CActive::EPriorityStandard ), + iPtr( aPtr ), + iHandleIssueRequest( aHandleIssueRequest ), + iHandleRunL( aHandleRunL ), + iHandleRunError( aHandleRunError ), + iHandleDoCancel( aHandleDoCancel ), + iType( aType ) + { + CActiveScheduler::Add( this ); + } + +private: // Data + + /** Pointer to the template class */ + T& iPtr; + + /** HandleIssueRequest function pointer */ + HandleIssueRequest iHandleIssueRequest; + + /** HandleRunL function pointer */ + HandleRunL iHandleRunL; + + /** HandleRunError function pointer */ + HandleRunError iHandleRunError; + + /** HandleDoCancel function pointer */ + HandleDoCancel iHandleDoCancel; + + /** Request type */ + TAsyncRequestType iType; + }; + +#endif // ASYNCREQUESTHANDLER_H diff -r 1505405bc645 -r b01c07dfcf84 startupservices/Startup/syserrcmd/tsrc/syserrcmdtest/inc/syserrcmdtest.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/Startup/syserrcmd/tsrc/syserrcmdtest/inc/syserrcmdtest.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,147 @@ +/* +* 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: +* Csyserrcmdtest class declaration. +* +*/ + + +#ifndef SYSERRCMDTEST_H +#define SYSERRCMDTEST_H + +#if defined (_MSC_VER) && (_MSC_VER >= 1000) +#pragma once +#endif + +// SYSTEM INCLUDES +#include + +#include "asyncrequesthandler.h" + +// FORWARD DECLARATIONS +class TCaseInfo; +class CSysErrCmdTest; +class MSsmCustomCommand; +class CSsmCustomCommandEnv; + +// DESCRIPTION +// This a Test Module interface template +// that does not really do anything. +typedef TInt ( CSysErrCmdTest::*TestFunction )( TTestResult& ); + +NONSHARABLE_CLASS( CSysErrCmdTest ) : public CScriptBase + { +public: // Constructors and destructor + + /** + * Two-phased constructor. + */ + static CSysErrCmdTest* NewL( CTestModuleIf& aTestModuleIf ); + + /** + * Destructor. + */ + virtual ~CSysErrCmdTest(); + +public: // Functions from base classes + + TInt RunMethodL( CStifItemParser& aItem ); + +protected: // New functions + + TInt CreateAndDestroyL( CStifItemParser& aItem ); + TInt InitAndCloseL( CStifItemParser& aItem ); + TInt ExecuteL( CStifItemParser& aItem ); + TInt ExecuteCancelL( CStifItemParser& aItem ); + TInt ShowAfterAknGlobalNoteL( CStifItemParser& aItem ); + TInt ShowAfterUiServerGlobalNoteL( CStifItemParser& aItem ); + + /** HandleIssueRequest callback */ + void HandleIssueRequest( TRequestStatus& ); + + /** HandleRunL callback */ + void HandleRunL( TInt ); + + /** HandleRunError callback */ + TInt HandleRunError( TInt ); + + /** HandleDoCancel callback */ + void HandleDoCancel(); + +private: + + /** + * C++ default constructor. + */ + CSysErrCmdTest( CTestModuleIf& aTestModuleIf ); + + /** + * By default Symbian OS constructor is private. + */ + void ConstructL(); + + /** + * Function returning test case name and pointer to test case function + */ + const TCaseInfo Case( const TInt aCaseNumber ) const; + +private: // Data + + TestFunction iMethod; + + CAsyncRequestHandler* iExecuteHandler; + + RFs iFs; + + MSsmCustomCommand* iSysErrCmd; + + CSsmCustomCommandEnv* iCustCmdEnvStub; + + TInt iExecutionResult; + }; + +// Function pointer related internal definitions + +// Hack around known GCC bug. +#ifndef __GCC32__ + #define GETPTR +#else + #define GETPTR & +#endif + + +// An internal structure containing a test case name and +// the pointer to function doing the test +class TCaseInfoInternal + { + public: + const TText* iCaseName; + TestFunction iMethod; + }; + +// An internal structure containing a test case name and +// the pointer to function doing the test +class TCaseInfo + { + public: + TPtrC iCaseName; + TestFunction iMethod; + + TCaseInfo( const TText* a ) : iCaseName( ( TText* ) a ) + { + }; + }; + +#endif // SYSERRCMDTEST_H + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/Startup/syserrcmd/tsrc/syserrcmdtest/inc/trace.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/Startup/syserrcmd/tsrc/syserrcmdtest/inc/trace.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,596 @@ +/* +* 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: +* Trace macro definitions. +* +*/ + +#ifndef TRACE_H +#define TRACE_H + +#include // TCleanupItem +#include "traceconfiguration.hrh" + +#ifdef TRACE_INTO_FILE +#include // RFileLogger +#else +#include // RDebug +#endif + +//----------------------------------------------------------------------------- +// Constants +//----------------------------------------------------------------------------- +// + +// NOTE! +// Replace all COMPONENT_NAME occurnaces with your own component / module name. + +/** +* Prefix trace macro to complete tracing with component name. +* Returns TDesC which can be used directly with RDebug or RFileLogger. +*/ +#define _PREFIX_TRACE( aMsg ) TPtrC( (const TText*)L"[syserrcmdtest]: " L##aMsg ) + +/** +* Prefix error trace +*/ +#define _PREFIX_ERROR( aMsg ) _PREFIX_TRACE( "[ERROR: %d]: " L##aMsg ) + +/** +* Prefix info trace. +*/ +#define _PREFIX_INFO( aMsg ) _PREFIX_TRACE( "[INFO]: " L##aMsg ) + +/** +* Prefix macro for strings +*/ +#define _PREFIX_CHAR( aMsg ) (const char*)"[syserrcmdtest]: " ##aMsg + +/** +* Define needed directories if TRACE_INTO_FILE macro in use +*/ +#ifdef TRACE_INTO_FILE + + _LIT( KDir, "syserrcmdtest" ); + _LIT( KFile, "syserrcmdtest_log.txt" ); + _LIT( KFullPath, "c:\\logs\\syserrcmdtest\\" ); + +#endif + +//----------------------------------------------------------------------------- +// Error trace macros +//----------------------------------------------------------------------------- +// +#ifdef ERROR_TRACE + + /** + * Error trace definitions. + */ + #ifdef TRACE_INTO_FILE + + #define ERROR( aErr, aMsg )\ + {\ + if( aErr < KErrNone )\ + {\ + RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_ERROR( aMsg ), aErr );\ + }\ + } + #define ERROR_1( aErr, aMsg, aP1 )\ + {\ + if( aErr < KErrNone )\ + {\ + RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_ERROR( aMsg ), aErr, aP1 );\ + }\ + } + #define ERROR_2( aErr, aMsg, aP1, aP2 )\ + {\ + if( aErr < KErrNone )\ + {\ + RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_ERROR( aMsg ), aErr, aP1, aP2 );\ + }\ + } + #define ERROR_3( aErr, aMsg, aP1, aP2, aP3 )\ + {\ + if( aErr < KErrNone )\ + {\ + RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_ERROR( aMsg ), aErr, aP1, aP2, aP3 );\ + }\ + } + #define ERROR_4( aErr, aMsg, aP1, aP2, aP3, aP4 )\ + {\ + if( aErr < KErrNone )\ + {\ + RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_ERROR( aMsg ), aErr, aP1, aP2, aP3, aP4 );\ + }\ + } + #define ERROR_5( aErr, aMsg, aP1, aP2, aP3, aP4, aP5 )\ + {\ + if( aErr < KErrNone )\ + {\ + RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_ERROR( aMsg ), aErr, aP1, aP2, aP3, aP4, aP5 );\ + }\ + } + #define ERROR_6( aErr, aMsg, aP1, aP2, aP3, aP4, aP5, aP6 )\ + {\ + if( aErr < KErrNone )\ + {\ + RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_ERROR( aMsg ), aErr, aP1, aP2, aP3, aP4, aP5 );\ + }\ + } + + #else//TRACE_INTO_FILE not defined + + #define ERROR( aErr, aMsg )\ + {\ + if( aErr < KErrNone )\ + {\ + RDebug::Print( _PREFIX_ERROR( aMsg ), aErr );\ + }\ + } + #define ERROR_1( aErr, aMsg, aP1 )\ + {\ + if( aErr < KErrNone )\ + {\ + RDebug::Print( _PREFIX_ERROR( aMsg ), aErr, aP1 );\ + }\ + } + #define ERROR_2( aErr, aMsg, aP1, aP2 )\ + {\ + if( aErr < KErrNone )\ + {\ + RDebug::Print( _PREFIX_ERROR( aMsg ), aErr, aP1, aP2 );\ + }\ + } + #define ERROR_3( aErr, aMsg, aP1, aP2, aP3 )\ + {\ + if( aErr < KErrNone )\ + {\ + RDebug::Print( _PREFIX_ERROR( aMsg ), aErr, aP1, aP2, aP3 );\ + }\ + } + #define ERROR_4( aErr, aMsg, aP1, aP2, aP3, aP4 )\ + {\ + if( aErr < KErrNone )\ + {\ + RDebug::Print( _PREFIX_ERROR( aMsg ), aErr, aP1, aP2, aP3, aP4 );\ + }\ + } + #define ERROR_5( aErr, aMsg, aP1, aP2, aP3, aP4, aP5 )\ + {\ + if( aErr < KErrNone )\ + {\ + RDebug::Print( _PREFIX_ERROR( aMsg ), aErr, aP1, aP2, aP3, aP4, aP5 );\ + }\ + } + #define ERROR_6( aErr, aMsg, aP1, aP2, aP3, aP4, aP5, aP6 )\ + {\ + if( aErr < KErrNone )\ + {\ + RDebug::Print( _PREFIX_ERROR( aMsg ), aErr, aP1, aP2, aP3, aP4, aP5, aP6 );\ + }\ + } + + #endif//TRACE_INTO_FILE + + #define ERROR_GEN( aMsg ) ERROR( KErrGeneral, aMsg ) + #define ERROR_GEN_1( aMsg, aP1 ) ERROR_1( KErrGeneral, aMsg, aP1 ) + #define ERROR_GEN_2( aMsg, aP1, aP2 ) ERROR_2( KErrGeneral, aMsg, aP1, aP2 ) + #define ERROR_GEN_3( aMsg, aP1, aP2, aP3 ) ERROR_3( KErrGeneral, aMsg, aP1, aP3 ) + #define ERROR_GEN_4( aMsg, aP1, aP2, aP3, aP4 ) ERROR_4( KErrGeneral, aMsg, aP1, aP3, aP4 ) + #define ERROR_GEN_5( aMsg, aP1, aP2, aP3, aP4, aP5 ) ERROR_5( KErrGeneral, aMsg, aP1, aP3, aP4, aP5 ) + #define ERROR_GEN_6( aMsg, aP1, aP2, aP3, aP4, aP5, aP6 ) ERROR_6( KErrGeneral, aMsg, aP1, aP3, aP4, aP5, aP6 ) + +#else//ERROR_TRACE not defined + + #define ERROR( aErr, aMsg ) + #define ERROR_1( aErr, aMsg, aP1 ) + #define ERROR_2( aErr, aMsg, aP1, aP2 ) + #define ERROR_3( aErr, aMsg, aP1, aP2, aP3 ) + #define ERROR_4( aErr, aMsg, aP1, aP2, aP3, aP4 ) + #define ERROR_5( aErr, aMsg, aP1, aP2, aP3, aP4, aP5 ) + #define ERROR_6( aErr, aMsg, aP1, aP2, aP3, aP4, aP5, aP6 ) + + #define ERROR_GEN( aMsg ) + #define ERROR_GEN_1( aMsg, aP1 ) + #define ERROR_GEN_2( aMsg, aP1, aP2 ) + #define ERROR_GEN_3( aMsg, aP1, aP2, aP3 ) + #define ERROR_GEN_4( aMsg, aP1, aP2, aP3, aP4 ) + #define ERROR_GEN_5( aMsg, aP1, aP2, aP3, aP4, aP5 ) + #define ERROR_GEN_6( aMsg, aP1, aP2, aP3, aP4, aP5, aP6 ) + +#endif//ERROR_TRACE + +//----------------------------------------------------------------------------- +// TRAP and trace with error macro +//----------------------------------------------------------------------------- +// +#define TRAP_ERROR( aErr, aFunction )\ + {\ + TRAP( aErr, aFunction );\ + TPtrC8 file( ( TText8* )__FILE__ );\ + ERROR_2( aErr, "Trapped leave in '%S' line %d", &file, __LINE__);\ + } + +//----------------------------------------------------------------------------- +// Info trace macros +//----------------------------------------------------------------------------- +// +#ifdef INFO_TRACE + + /** + * Info log message definitions. + */ + #ifdef TRACE_INTO_FILE + + #define INFO( aMsg )\ + {\ + RFileLogger::Write( KDir, KFile, EFileLoggingModeAppend, _PREFIX_INFO( aMsg ) );\ + } + #define INFO_1( aMsg, aP1 )\ + {\ + RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_INFO( aMsg ), aP1 );\ + } + #define INFO_2( aMsg, aP1, aP2 )\ + {\ + RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_INFO( aMsg ), aP1, aP2 );\ + } + #define INFO_3( aMsg, aP1, aP2, aP3 )\ + {\ + RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_INFO( aMsg ), aP1, aP2, aP3 );\ + } + #define INFO_4( aMsg, aP1, aP2, aP3, aP4 )\ + {\ + RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_INFO( aMsg ), aP1, aP2, aP3, aP4 );\ + } + #define INFO_5( aMsg, aP1, aP2, aP3, aP4, aP5 )\ + {\ + RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_INFO( aMsg ), aP1, aP2, aP3, aP4, aP5 );\ + } + #define INFO_6( aMsg, aP1, aP2, aP3, aP4, aP5, aP6 )\ + {\ + RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_INFO( aMsg ), aP1, aP2, aP3, aP4, aP5, aP6 );\ + } + + #else//TRACE_INTO_FILE not defined + + #define INFO( aMsg )\ + {\ + RDebug::Print( _PREFIX_INFO( aMsg ) );\ + } + #define INFO_1( aMsg, aP1 )\ + {\ + RDebug::Print( _PREFIX_INFO( aMsg ), aP1 );\ + } + #define INFO_2( aMsg, aP1, aP2 )\ + {\ + RDebug::Print( _PREFIX_INFO( aMsg ), aP1, aP2 );\ + } + #define INFO_3( aMsg, aP1, aP2, aP3 )\ + {\ + RDebug::Print( _PREFIX_INFO( aMsg ), aP1, aP2, aP3 );\ + } + #define INFO_4( aMsg, aP1, aP2, aP3, aP4 )\ + {\ + RDebug::Print( _PREFIX_INFO( aMsg ), aP1, aP2, aP3, aP4 );\ + } + #define INFO_5( aMsg, aP1, aP2, aP3, aP4, aP5 )\ + {\ + RDebug::Print( _PREFIX_INFO( aMsg ), aP1, aP2, aP3, aP4, aP5 );\ + } + #define INFO_6( aMsg, aP1, aP2, aP3, aP4, aP5, aP6 )\ + {\ + RDebug::Print( _PREFIX_INFO( aMsg ), aP1, aP2, aP3, aP4, aP5, aP6 );\ + } + + #endif//TRACE_INTO_FILE + +#else//INFO_TRACE not defined + + #define INFO( aMsg ) + #define INFO_1( aMsg, aP1 ) + #define INFO_2( aMsg, aP1, aP2 ) + #define INFO_3( aMsg, aP1, aP2, aP3 ) + #define INFO_4( aMsg, aP1, aP2, aP3, aP4 ) + #define INFO_5( aMsg, aP1, aP2, aP3, aP4, aP5 ) + #define INFO_6( aMsg, aP1, aP2, aP3, aP4, aP5, aP6 ) + +#endif//INFO_TRACE + +//----------------------------------------------------------------------------- +// Trace current client thread name and process id +//----------------------------------------------------------------------------- +// +#ifdef CLIENT_TRACE + + #define CLIENT_PROCESS\ + {\ + CLIENT_PROCESS_PREFIX( "" );\ + } + + #define CLIENT_PROCESS_PREFIX( aPrefix )\ + {\ + RProcess process;\ + TPtrC name( process.Name() );\ + TSecureId sid( process.SecureId() );\ + TPtrC prefix( _S( aPrefix ) );\ + if( prefix.Length() )\ + {\ + INFO_3( "%S: CLIENT - Name: [%S], Sid: [0x%x]", &prefix, &name, sid.iId );\ + }\ + else\ + {\ + INFO_2( "CLIENT - Name: [%S], Sid: [0x%x]", &name, sid.iId );\ + }\ + process.Close();\ + } + + #define CLIENT_MESSAGE( aMsg )\ + {\ + CLIENT_MESSAGE_PREFIX( "", aMsg );\ + } + + #define CLIENT_MESSAGE_PREFIX( aPrefix, aMsg )\ + {\ + RThread thread;\ + TInt err = aMsg.Client( thread );\ + if( err == KErrNone )\ + {\ + RProcess process;\ + err = thread.Process( process );\ + if( err == KErrNone )\ + {\ + TPtrC threadName( thread.Name() );\ + TUid processUid( process.SecureId() );\ + TPtrC prefix( _S( aPrefix ) );\ + if( prefix.Length() )\ + {\ + INFO_4( "%S: MSG - Name: [%S], Sid: [0x%x], Message ID: [%d]",\ + &prefix,\ + &threadName,\ + processUid,\ + aMsg.Function() );\ + }\ + else\ + {\ + INFO_3( "MSG - Name: [%S], Sid: [0x%x], Message ID: [%d]",\ + &threadName,\ + processUid,\ + aMsg.Function() );\ + }\ + }\ + process.Close();\ + }\ + thread.Close();\ + } + +#else + + #define CLIENT_PROCESS + #define CLIENT_PROCESS_PREFIX( aPrefix ) + #define CLIENT_MESSAGE( aMsg ) + #define CLIENT_MESSAGE_PREFIX( aPrefix, aMsg ) + +#endif + +//----------------------------------------------------------------------------- +// Function trace macros +//----------------------------------------------------------------------------- +// +#ifdef FUNC_TRACE + + /** + * Function logging definitions. + */ + #ifdef TRACE_INTO_FILE + + #define FUNC( aMsg, aP1 )\ + {\ + TPtrC8 trace( _S8( aMsg ) );\ + RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, trace, aP1 );\ + }\ + + #else//TRACE_INTO_FILE not defined + + #define FUNC( aMsg, aP1 )\ + {\ + RDebug::Printf( aMsg, aP1 );\ + }\ + + #endif//TRACE_INTO_FILE + + /** + * Function trace helper class. + * + * NOTE: + * LC -methods cannot be trapped. Therefore if LC -method leaves + * END trace is used instead of LEAVE trace. + * If you have an idea how to round this problem please tell. + */ + _LIT8( KFuncNameTerminator, "(" ); + _LIT8( KFuncLeavePatternL, "L" ); + class TFuncLog + { + public: + static void Cleanup( TAny* aPtr ) + { + TFuncLog* self = static_cast< TFuncLog* >( aPtr ); + self->iLeft = ETrue; + FUNC( _PREFIX_CHAR("%S-LEAVE"), &self->iFunc ); // Leave detected + } + inline TFuncLog( const char* aFunc ) : + iFunc( aFunc ? _S8( aFunc ) : _S8("") ), + iLeft( EFalse ), + iCleanupItem( Cleanup, this ), + iCanLeave( EFalse ) + { + TInt pos( iFunc.Find( KFuncNameTerminator ) ); + if( pos != KErrNotFound ) + { + iFunc.Set( iFunc.Left( pos ) ); + iCanLeave = !iFunc.Right( KFuncLeavePatternL().Length() ).Compare( KFuncLeavePatternL ); + if ( iCanLeave ) + { + CleanupStack::PushL( iCleanupItem ); // Ignore warnings + } + } + FUNC( _PREFIX_CHAR("%S-START"), &iFunc ); + } + + inline ~TFuncLog() + { + if ( !iLeft ) + { + if ( iCanLeave ) + { + CleanupStack::Pop( this ); // Pop the cleanup item + } + FUNC( _PREFIX_CHAR("%S-END"), &iFunc ); // Normally finished + } + } + + private: // Data + TPtrC8 iFunc; + TBool iLeft; + TCleanupItem iCleanupItem; + TBool iCanLeave; + }; + #define FUNC_LOG TFuncLog _fl( __PRETTY_FUNCTION__ ); + +#else//FUNC_TRACE not defined + + #define FUNC_LOG + +#endif//FUNC_TRACE + +//----------------------------------------------------------------------------- +// Timestamp trace macros +//----------------------------------------------------------------------------- +// +#ifdef TIMESTAMP_TRACE + + #ifdef TRACE_INTO_FILE + + #define TIMESTAMP( aCaption )\ + {\ + TTime t;\ + t.HomeTime();\ + TDateTime dt = t.DateTime();\ + _LIT( KCaption, aCaption );\ + RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend,\ + _PREFIX_TRACE("[TIMESTAMP] %S %d:%02d:%02d.%d us"),\ + &KCaption, dt.Hour(), dt.Minute(), dt.Second(), dt.MicroSecond() );\ + } + + #else//TRACE_INTO_FILE not defined + + #define TIMESTAMP( aCaption )\ + {\ + TTime t;\ + t.HomeTime();\ + TDateTime dt = t.DateTime();\ + _LIT( KCaption, aCaption );\ + RDebug::Print( _PREFIX_TRACE("[TIMESTAMP] %S %d:%02d:%02d.%d us"),\ + &KCaption, dt.Hour(), dt.Minute(), dt.Second(), dt.MicroSecond() );\ + } + + #endif//TRACE_INTO_FILE + +#else//TIMESTAMP_TRACE not defined + + #define TIMESTAMP( aCaption ) + +#endif//TIMESTAMP_TRACE + +#ifdef HEAP_TRACE + + #ifdef TRACE_INTO_FILE + + #define HEAP( aMsg )\ + {\ + TInt totalAllocSpace = 0;\ + User::AllocSize( totalAllocSpace );\ + RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_HEAP( aMsg ), totalAllocSpace );\ + } + #define HEAP_1( aMsg, aP1 )\ + {\ + TInt totalAllocSpace = 0;\ + User::AllocSize( totalAllocSpace );\ + RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_HEAP( aMsg ), totalAllocSpace, aP1 );\ + } + #define HEAP_2( aMsg, aP1, aP2 )\ + {\ + TInt totalAllocSpace = 0;\ + User::AllocSize( totalAllocSpace );\ + RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_HEAP( aMsg ), totalAllocSpace, aP1, aP2 );\ + } + #define HEAP_3( aMsg, aP1, aP2, aP3 )\ + {\ + TInt totalAllocSpace = 0;\ + User::AllocSize( totalAllocSpace );\ + RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_HEAP( aMsg ), totalAllocSpace, aP1, aP2, aP3 );\ + } + #define HEAP_4( aMsg, aP1, aP2, aP3, aP4 )\ + {\ + TInt totalAllocSpace = 0;\ + User::AllocSize( totalAllocSpace );\ + RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_HEAP( aMsg ), totalAllocSpace, aP1, aP2, aP3, aP4 );\ + } + + #else//TRACE_INTO_FILE not defined + + #define HEAP( aMsg )\ + {\ + TInt totalAllocSpace = 0;\ + User::AllocSize( totalAllocSpace );\ + RDebug::Print( _PREFIX_HEAP( aMsg ), totalAllocSpace );\ + } + #define HEAP_1( aMsg, aP1 )\ + {\ + TInt totalAllocSpace = 0;\ + User::AllocSize( totalAllocSpace );\ + RDebug::Print( _PREFIX_HEAP( aMsg ), totalAllocSpace, aP1 );\ + } + #define HEAP_2( aMsg, aP1, aP2 )\ + {\ + TInt totalAllocSpace = 0;\ + User::AllocSize( totalAllocSpace );\ + RDebug::Print( _PREFIX_HEAP( aMsg ), totalAllocSpace, aP1, aP2 );\ + } + #define HEAP_3( aMsg, aP1, aP2, aP3 )\ + {\ + TInt totalAllocSpace = 0;\ + User::AllocSize( totalAllocSpace );\ + RDebug::Print( _PREFIX_HEAP( aMsg ), totalAllocSpace, aP1, aP2, aP3 );\ + } + #define HEAP_4( aMsg, aP1, aP2, aP3, aP4 )\ + {\ + TInt totalAllocSpace = 0;\ + User::AllocSize( totalAllocSpace );\ + RDebug::Print( _PREFIX_HEAP( aMsg ), totalAllocSpace, aP1, aP2, aP3, aP4 );\ + } + + #endif//TRACE_INTO_FILE + +#else//HEAP_TRACE not defined + + #define HEAP( aMsg ) + #define HEAP_1( aMsg, aP1 ) + #define HEAP_2( aMsg, aP1, aP2 ) + #define HEAP_3( aMsg, aP1, aP2, aP3 ) + #define HEAP_4( aMsg, aP1, aP2, aP3, aP4 ) + +#endif//HEAP_TRACE + +#endif + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/Startup/syserrcmd/tsrc/syserrcmdtest/inc/traceconfiguration.hrh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/Startup/syserrcmd/tsrc/syserrcmdtest/inc/traceconfiguration.hrh Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,79 @@ +/* +* 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: +* Trace Macro Configurations. +* +*/ + + +#ifndef TRACECONFIGURATION_HRH +#define TRACECONFIGURATION_HRH + +//----------------------------------------------------------------------------- +// Trace definitions +//----------------------------------------------------------------------------- +// + +/** +* Error trace enabled +*/ +#ifdef _DEBUG + #define ERROR_TRACE +#else + #undef ERROR_TRACE +#endif + +/** +* Info trace enabled +*/ +#ifdef _DEBUG + #define INFO_TRACE +#else + #undef INFO_TRACE +#endif + +/** +* Timestamp tracing on +*/ +#ifdef _DEBUG + #define TIMESTAMP_TRACE +#else + #undef TIMESTAMP_TRACE +#endif + +/** +* Tracing current client process and thread +*/ +#ifdef _DEBUG + #define CLIENT_TRACE +#else + #undef CLIENT_TRACE +#endif + +/** +* Function trace enabled +*/ +#ifdef _DEBUG + #define FUNC_TRACE +#else + #undef FUNC_TRACE +#endif + +/** +* Tracing into file enabled, default RDebug +*/ +#undef TRACE_INTO_FILE + +#endif + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/Startup/syserrcmd/tsrc/syserrcmdtest/init/syserrcmdtest.ini --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/Startup/syserrcmd/tsrc/syserrcmdtest/init/syserrcmdtest.ini Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,186 @@ +# +# This is STIFTestFramework initialization file +# Comment lines start with '#'-character. +# See STIF TestFramework users guide.doc for instructions + +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +# Set following test engine settings: +# - Set Test Reporting mode. TestReportMode's possible values are: +# + 'Summary': Summary of the tested test cases. +# + 'Environment': Hardware and software info. +# + 'TestCases': Test case report. +# + 'FullReport': Set of all above ones. +# + Example 'TestReportMode= Summary TestCases' +# +# - CreateTestReport setting controls report creation mode +# + YES, Test report will created. +# + NO, No Test report. +# +# - File path indicates the base path of the test report. +# - File name indicates the name of the test report. +# +# - File format indicates the type of the test report. +# + TXT, Test report file will be txt type, for example 'TestReport.txt'. +# + HTML, Test report will be html type, for example 'TestReport.html'. +# +# - File output indicates output source of the test report. +# + FILE, Test report logging to file. +# + RDEBUG, Test report logging to using rdebug. +# +# - File Creation Mode indicates test report overwriting if file exist. +# + OVERWRITE, Overwrites if the Test report file exist. +# + APPEND, Continue logging after the old Test report information if +# report exist. +# - Sets a device reset module's dll name(Reboot). +# + If Nokia specific reset module is not available or it is not correct one +# StifHWResetStub module may use as a template for user specific reset +# module. +# - Sets STIF test measurement disable options. e.g. pluging1 and pluging2 disablation +# DisableMeasurement= stifmeasurementplugin01 stifmeasurementplugin02 +# + +[Engine_Defaults] + +TestReportMode= FullReport # Possible values are: 'Empty', 'Summary', 'Environment', 'TestCases' or 'FullReport' + +CreateTestReport= YES # Possible values: YES or NO + +TestReportFilePath= c:\LOGS\TestFramework\ +TestReportFileName= TestReport + +TestReportFormat= TXT # Possible values: TXT or HTML +TestReportOutput= FILE # Possible values: FILE or RDEBUG +TestReportFileCreationMode= OVERWRITE # Possible values: OVERWRITE or APPEND + +DeviceResetDllName= StifResetForNokia.dll # e.g. 'StifHWResetStub.dll' for user specific reseting + +DisableMeasurement= stifmeasurementdisablenone # Possible values are: + # 'stifmeasurementdisablenone', 'stifmeasurementdisableall' + # 'stifmeasurementplugin01', 'stifmeasurementplugin02', + # 'stifmeasurementplugin03', 'stifmeasurementplugin04', + # 'stifmeasurementplugin05' or 'stifbappeaprofiler' + +[End_Defaults] +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + + + +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +# Module configurations start +# Modules are added between module tags +# tags. Module name is specified after ModuleName= tag, like +# ModuleName= XXXXXXXXX +# Modules might have initialisation file, specified as +# IniFile= c:\testframework\YYYYYY +# Modules might have several configuration files, like +# TestCaseFile= c:\testframework\NormalCases.txt +# TestCaseFile= c:\testframework\SmokeCases.txt +# TestCaseFile= c:\testframework\ManualCases.txt + +# (TestCaseFile is synonym for old term ConfigFile) + +# Following case specifies demo module settings. Demo module +# does not read any settings from file, so tags +# IniFile and TestCaseFile are not used. +# In the simplest case it is enough to specify only the +# name of the test module when adding new test module +[New_Module] +ModuleName= TestScripter +TestCaseFile= c:\testframework\syserrcmdtest.cfg +[End_Module] + +# Load testmoduleXXX, optionally with initialization file and/or test case files +#[New_Module] +#ModuleName= testmodulexxx + +#TestModuleXXX used initialization file +#IniFile= c:\testframework\init.txt + +#TestModuleXXX used configuration file(s) +#TestCaseFile= c:\testframework\testcases1.cfg +#TestCaseFile= c:\testframework\testcases2.cfg +#TestCaseFile= c:\testframework\manualtestcases.cfg + +#[End_Module] +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + + + +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +# Set STIFTestFramework logging overwrite parameters for Logger. +# Hardware and emulator environment logging path and styles can +# be configured from here to overwrite the Logger's implemented values. +# +# Settings description: +# - Indicates option for creation log directory/directories. If log directory/directories +# is/are not created by user they will make by software. +# + YES, Create log directory/directories if not allready exist. +# + NO, Log directory/directories not created. Only created one is used. +# +# - Overwrite emulator path setting. +# + Example: If 'EmulatorBasePath= C:\LOGS\TestFramework\' and in code is defined +# Logger's path 'D:\LOGS\Module\' with those definition the path +# will be 'C:\LOGS\TestFramework\LOGS\Module\' +# +# - Overwrite emulator's logging format. +# + TXT, Log file(s) will be txt type(s), for example 'Module.txt'. +# + HTML, Log file(s) will be html type(s), for example 'Module.html'. +# +# - Overwrited emulator logging output source. +# + FILE, Logging to file(s). +# + RDEBUG, Logging to using rdebug(s). +# +# - Overwrite hardware path setting (Same description as above in emulator path). +# - Overwrite hardware's logging format(Same description as above in emulator format). +# - Overwrite hardware's logging output source(Same description as above in emulator output). +# +# - File Creation Mode indicates file overwriting if file exist. +# + OVERWRITE, Overwrites if file(s) exist. +# + APPEND, Continue logging after the old logging information if file(s) exist. +# +# - Will thread id include to the log filename. +# + YES, Thread id to log file(s) name, Example filename 'Module_b9.txt'. +# + NO, No thread id to log file(s), Example filename 'Module.txt'. +# +# - Will time stamps include the to log file. +# + YES, Time stamp added to each line in log file(s). Time stamp is +# for example'12.Nov.2003 115958 LOGGING INFO' +# + NO, No time stamp(s). +# +# - Will line breaks include to the log file. +# + YES, Each logging event includes line break and next log event is in own line. +# + NO, No line break(s). +# +# - Will event ranking include to the log file. +# + YES, Event ranking number added to each line in log file(s). Ranking number +# depends on environment's tics, for example(includes time stamp also) +# '012 12.Nov.2003 115958 LOGGING INFO' +# + NO, No event ranking. +# + +[Logger_Defaults] + +#NOTE: If you want to set Logger using next setting(s) remove comment(s)'#' +#NOTE: TestEngine and TestServer logging settings cannot change here + +#CreateLogDirectories= YES # Possible values: YES or NO + +#EmulatorBasePath= C:\LOGS\TestFramework\ +#EmulatorFormat= HTML # Possible values: TXT or HTML +#EmulatorOutput= FILE # Possible values: FILE or RDEBUG + +#HardwareBasePath= D:\LOGS\TestFramework\ +#HardwareFormat= HTML # Possible values: TXT or HTML +#HardwareOutput= FILE # Possible values: FILE or RDEBUG + +#FileCreationMode= OVERWRITE # Possible values: OVERWRITE or APPEND + +#ThreadIdToLogFile= YES # Possible values: YES or NO +#WithTimeStamp= YES # Possible values: YES or NO +#WithLineBreak= YES # Possible values: YES or NO +#WithEventRanking= YES # Possible values: YES or NO + +[End_Logger_Defaults] +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + +# End of file diff -r 1505405bc645 -r b01c07dfcf84 startupservices/Startup/syserrcmd/tsrc/syserrcmdtest/src/syserrcmdtest.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/Startup/syserrcmd/tsrc/syserrcmdtest/src/syserrcmdtest.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,346 @@ +/* +* 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: +* CSysErrCmdTest class implementation. +* +*/ + +#include +#include +#include + +//#include +//#include +#include + +#include "syserrcmdtest.h" +#include "syserrcmdfactory.h" +#include "syserrcmdtestsstub.h" +#include "trace.h" + +// INTERNAL INCLUDES +NONSHARABLE_CLASS( TWaitInfo ) + { + public: + + CPeriodic* iPeriodic; + CActiveSchedulerWait* iWait; + }; + + +/** +* Call back method when we need to stop active scheduler wait. +*/ +LOCAL_C TInt WaitCallBack( TAny* aSelf ) + { + if( aSelf ) + { + TWaitInfo* info = static_cast( aSelf ); + if( info->iPeriodic ) + { + info->iPeriodic->Cancel(); + } + if( info->iWait ) + { + if( info->iWait->IsStarted() ) + { + info->iWait->AsyncStop(); + } + } + } + + return KErrNone; + } + +/** +* Helper method to wait current scheduler before teardown is completed. +*/ +LOCAL_C void WaitL( TInt aIntervalInMicorseconds ) + { + TWaitInfo info; + + // Construct periodic + CPeriodic* periodic = CPeriodic::NewL( CActive::EPriorityStandard ); + CleanupStack::PushL( periodic ); + info.iPeriodic = periodic; + + // Construct active scheduler wait + CActiveSchedulerWait* wait = new( ELeave ) CActiveSchedulerWait; + CleanupStack::PushL( wait ); + info.iWait = wait; + + // Start timer and wait + TCallBack cb( WaitCallBack, &info ); + periodic->Start( aIntervalInMicorseconds, aIntervalInMicorseconds, cb ); + wait->Start(); + + // Cleanup + CleanupStack::PopAndDestroy( wait ); + CleanupStack::PopAndDestroy( periodic ); + } + +// --------------------------------------------------------- +// CSysErrCmdTest::LibEntryL +// Returns: Poiter to CSysErrCmdTest class +// --------------------------------------------------------- +EXPORT_C CSysErrCmdTest* LibEntryL( CTestModuleIf& aTestModuleIf ) + { + FUNC_LOG; + + CSysErrCmdTest* libEntry( CSysErrCmdTest::NewL( aTestModuleIf ) ); + return libEntry; + } + +// --------------------------------------------------------- +// CSysErrCmdTest::CSysErrCmdTest +// --------------------------------------------------------- +CSysErrCmdTest::CSysErrCmdTest( CTestModuleIf& aTestModuleIf ) : + CScriptBase( aTestModuleIf ) + { + FUNC_LOG; + } + +// --------------------------------------------------------- +// CSysErrCmdTest::ConstructL +// --------------------------------------------------------- +void CSysErrCmdTest::ConstructL() + { + FUNC_LOG; + + iExecuteHandler = CAsyncRequestHandler::NewL( + *this, + HandleIssueRequest, + HandleRunL, + HandleRunError, + HandleDoCancel, + CAsyncRequestHandler::ERequestOneShot ); + + User::LeaveIfError( iFs.Connect() ); + + iCustCmdEnvStub = SysErrCmdTestsStub::CustomCommandEnvStubL( iFs ); + } + +// --------------------------------------------------------- +// CSysErrCmdTest::NewL +// --------------------------------------------------------- +CSysErrCmdTest* CSysErrCmdTest::NewL( CTestModuleIf& aTestModuleIf ) + { + FUNC_LOG; + + CSysErrCmdTest* self = new (ELeave) CSysErrCmdTest( aTestModuleIf ); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + +// --------------------------------------------------------- +// CSysErrCmdTest::~CSysErrCmdTest +// --------------------------------------------------------- +CSysErrCmdTest::~CSysErrCmdTest() + { + iFs.Close(); + delete iExecuteHandler; + delete iCustCmdEnvStub; + FUNC_LOG; + } + +// --------------------------------------------------------- +// CSysErrCmdTest::RunMethodL +// --------------------------------------------------------- +TInt CSysErrCmdTest::RunMethodL( CStifItemParser& aItem ) + { + FUNC_LOG; + + const TStifFunctionInfo KFunctions[] = + { + // Copy this line for every implemented function. + // First string is the function name used in TestScripter script file. + // Second is the actual implementation member function. + ENTRY( "CreateAndDestroy", CSysErrCmdTest::CreateAndDestroyL ), + ENTRY( "InitAndClose", CSysErrCmdTest::InitAndCloseL ), + ENTRY( "Execute", CSysErrCmdTest::ExecuteL ), + ENTRY( "ExecuteCancel", CSysErrCmdTest::ExecuteCancelL ), + ENTRY( "ExecuteAfterGlobalNote", CSysErrCmdTest::ShowAfterAknGlobalNoteL ), + ENTRY( "ExecuteAfterUiServiceGlobalNote", CSysErrCmdTest::ShowAfterUiServerGlobalNoteL ) + }; + const TInt count( sizeof( KFunctions ) / sizeof( TStifFunctionInfo ) ); + TInt ret( RunInternalL( KFunctions, count, aItem ) ); + return ret; + } + +// --------------------------------------------------------- +// CSysErrCmdTest::CreateAndDestroyL +// --------------------------------------------------------- + +TInt CSysErrCmdTest::CreateAndDestroyL( CStifItemParser& aItem ) + { + FUNC_LOG; + ( void )aItem; + MSsmCustomCommand* sysErrCmd = SysErrCmdFactory::SysErrCmdNewL(); + sysErrCmd->Release(); + return KErrNone; + } + +// --------------------------------------------------------- +// CSysErrCmdTest::InitAndCloseL +// --------------------------------------------------------- +TInt CSysErrCmdTest::InitAndCloseL( CStifItemParser& aItem ) + { + FUNC_LOG; + ( void )aItem; + + MSsmCustomCommand* sysErrCmd = SysErrCmdFactory::SysErrCmdNewL(); + + TInt err( sysErrCmd->Initialize( iCustCmdEnvStub ) ); + ERROR( err, "Failed to init syserrcmd" ); + User::LeaveIfError( err ); + + sysErrCmd->Close(); + sysErrCmd->Release(); + + return KErrNone; + } +// --------------------------------------------------------- +// CSysErrCmdTest::ExecuteL +// --------------------------------------------------------- + +TInt CSysErrCmdTest::ExecuteL( CStifItemParser& aItem ) + { + FUNC_LOG; + ( void )aItem; + iSysErrCmd = SysErrCmdFactory::SysErrCmdNewL(); + TInt err( iSysErrCmd->Initialize( iCustCmdEnvStub ) ); + ERROR( err, "Failed to init syserrcmd" ); + User::LeaveIfError( err ); + + iExecuteHandler->IssueRequest(); + + WaitL( 5000 ); + + iSysErrCmd->Close(); + iSysErrCmd->Release(); + + INFO_1( "Execution result %d", iExecutionResult ); + + return iExecutionResult; + } + +// --------------------------------------------------------- +// CSysErrCmdTest::ExecuteL +// --------------------------------------------------------- + +TInt CSysErrCmdTest::ExecuteCancelL( CStifItemParser& aItem ) + { + FUNC_LOG; + ( void )aItem; + iSysErrCmd = SysErrCmdFactory::SysErrCmdNewL(); + TInt err( iSysErrCmd->Initialize( iCustCmdEnvStub ) ); + ERROR( err, "Failed to init syserrcmd" ); + User::LeaveIfError( err ); + + iExecuteHandler->IssueRequest(); + + WaitL( 5000 ); + + iSysErrCmd->ExecuteCancel(); + + WaitL( 5000 ); + + iSysErrCmd->Close(); + iSysErrCmd->Release(); + + INFO_1( "ExecutionCancel result %d", iExecutionResult ); + + return ( iExecutionResult == KErrCancel ) ? KErrNone : KErrGeneral; + } + +// --------------------------------------------------------- +// CSysErrCmdTest::ShowAfterAknGlobalNoteL +// --------------------------------------------------------- +TInt CSysErrCmdTest::ShowAfterAknGlobalNoteL( CStifItemParser& aItem ) + {/* + CAknGlobalNote* note = CAknGlobalNote::NewLC(); + note->ShowNoteL( EAknGlobalInformationNote, _L("CAknGlobalNote::ShowNoteL()") ); + CleanupStack::PopAndDestroy( note ); + + return ExecuteL( aItem ); + */ + return KErrNone; + } + +// --------------------------------------------------------- +// CSysErrCmdTest::ShowAfterUiServerGlobalNoteL +// --------------------------------------------------------- +TInt CSysErrCmdTest::ShowAfterUiServerGlobalNoteL( CStifItemParser& aItem ) + { + /* RAknUiServer aknSrv; + + User::LeaveIfError( aknSrv.Connect() ); + + CleanupClosePushL( aknSrv ); + + aknSrv.ShowGlobalNoteL( _L("RAknUiServer::ShowGlobalNoteL()"), EAknGlobalInformationNote ); + + CleanupStack::PopAndDestroy( &aknSrv ); + */ + + return ExecuteL( aItem ); + } + +// --------------------------------------------------------- +// CSysErrCmdTest::HandleIssueRequest +// --------------------------------------------------------- + +void CSysErrCmdTest::HandleIssueRequest( TRequestStatus& aRequest ) + { + FUNC_LOG; + + iSysErrCmd->Execute( KNullDesC8, aRequest ); + + } +// --------------------------------------------------------- +// CSysErrCmdTest::HandleRunL +// --------------------------------------------------------- + +void CSysErrCmdTest::HandleRunL( TInt aStatus ) + { + FUNC_LOG; + INFO_1( "CSysErrCmdTest::HandleRunL %d", aStatus ); + + if ( KErrNone != aStatus ) + { + iExecutionResult = aStatus; + } + } +// --------------------------------------------------------- +// CSysErrCmdTest::HandleRunError +// --------------------------------------------------------- + +TInt CSysErrCmdTest::HandleRunError( TInt aError ) + { + FUNC_LOG; + ERROR( aError, "CSysErrCmdTest::HandleRunError" ); + return KErrNone; + } +// --------------------------------------------------------- +// CSysErrCmdTest::HandleDoCancel +// --------------------------------------------------------- + +void CSysErrCmdTest::HandleDoCancel() + { + FUNC_LOG; + } + + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/Startup/syserrcmd/tsrc/syserrcmdtestsstub/bwins/syserrcmdtestsstubu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/Startup/syserrcmd/tsrc/syserrcmdtestsstub/bwins/syserrcmdtestsstubu.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,4 @@ +EXPORTS + ?CustomCommandEnvStubL@SysErrCmdTestsStub@@SAPAVCSsmCustomCommandEnv@@AAVRFs@@@Z @ 1 NONAME ; class CSsmCustomCommandEnv * SysErrCmdTestsStub::CustomCommandEnvStubL(class RFs &) + ?Rfs@CSsmCustomCommandEnv@@UBEABVRFs@@XZ @ 2 NONAME ; class RFs const & CSsmCustomCommandEnv::Rfs(void) const + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/Startup/syserrcmd/tsrc/syserrcmdtestsstub/eabi/syserrcmdtestsstubu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/Startup/syserrcmd/tsrc/syserrcmdtestsstub/eabi/syserrcmdtestsstubu.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,3 @@ +EXPORTS + _ZN18SysErrCmdTestsStub21CustomCommandEnvStubLER3RFs @ 1 NONAME + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/Startup/syserrcmd/tsrc/syserrcmdtestsstub/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/Startup/syserrcmd/tsrc/syserrcmdtestsstub/group/bld.inf Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,29 @@ +/* +* 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: +* Build information file for ssmlangselcmdtest tests. +* +*/ + +#include + +PRJ_PLATFORMS +DEFAULT + +PRJ_TESTEXPORTS +../inc/syserrcmdtestsstub.h |../../inc/syserrcmdtestsstub.h + +PRJ_TESTMMPFILES +syserrcmdtestsstub.mmp + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/Startup/syserrcmd/tsrc/syserrcmdtestsstub/group/syserrcmdtestsstub.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/Startup/syserrcmd/tsrc/syserrcmdtestsstub/group/syserrcmdtestsstub.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,41 @@ +/* +* 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: +* Project definition file for ssmlangselcmdtest. +* +*/ + +#include + +TARGET syserrcmdtestsstub.dll +TARGETTYPE dll + +UID 0x1000008D 0x101FB3E9 +VENDORID VID_DEFAULT +CAPABILITY ALL -TCB + +SOURCEPATH ../src +SOURCE ssmcustomcommandenvstub.cpp +SOURCE syserrcmdtestsstub.cpp + + +USERINCLUDE ../inc + +OS_LAYER_SYSTEMINCLUDE + +LIBRARY euser.lib + + + + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/Startup/syserrcmd/tsrc/syserrcmdtestsstub/inc/syserrcmdtestsstub.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/Startup/syserrcmd/tsrc/syserrcmdtestsstub/inc/syserrcmdtestsstub.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,44 @@ +/* +* 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: +* Declaration of SsmLangSelCmdTestStub class. +* +*/ + +#ifndef SYSERRCMDTESTSSTUB_H +#define SYSERRCMDTESTSSTUB_H + +#include + +class CSsmCustomCommandEnv; +class RFs; +/** +* Stub class for syserrcmd tests +* +*/ +NONSHARABLE_CLASS( SysErrCmdTestsStub ) + { +public: + /** + * Methods for mapping p&s, cenrep and feature Uids + * + * @param aUid The Uid to map + * @return The mapped Uid + */ + + IMPORT_C static CSsmCustomCommandEnv* CustomCommandEnvStubL( RFs& aRfs ); + + }; + +#endif // SYSERRCMDTESTSSTUB_H diff -r 1505405bc645 -r b01c07dfcf84 startupservices/Startup/syserrcmd/tsrc/syserrcmdtestsstub/src/ssmcustomcommandenvstub.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/Startup/syserrcmd/tsrc/syserrcmdtestsstub/src/ssmcustomcommandenvstub.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,63 @@ +/* + * 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: + * + */ + +// SYSTEM INCLUDES + +// USER INCLUDES +#include + +// ======== MEMBER FUNCTIONS ======== + +// --------------------------------------------------------------------------- +// C++ constructor. +// --------------------------------------------------------------------------- +// +CSsmCustomCommandEnv::CSsmCustomCommandEnv( RFs& aRfs ) +:iFs( aRfs ) + { + + } + + +// --------------------------------------------------------------------------- +// Symbian two phased constructor. +// --------------------------------------------------------------------------- +// +CSsmCustomCommandEnv* CSsmCustomCommandEnv::NewL( RFs& aRfs ) + { + CSsmCustomCommandEnv* self = new ( ELeave ) CSsmCustomCommandEnv( aRfs ); + return self; + } + + +// --------------------------------------------------------------------------- +// C++ destructor. +// --------------------------------------------------------------------------- +// +CSsmCustomCommandEnv::~CSsmCustomCommandEnv() + { + + } +// --------------------------------------------------------------------------- +// CSsmCustomCommandEnv::Rfs +// --------------------------------------------------------------------------- +// +const RFs& CSsmCustomCommandEnv::Rfs() const + { + return iFs; + } +// End of file diff -r 1505405bc645 -r b01c07dfcf84 startupservices/Startup/syserrcmd/tsrc/syserrcmdtestsstub/src/syserrcmdtestsstub.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/Startup/syserrcmd/tsrc/syserrcmdtestsstub/src/syserrcmdtestsstub.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,34 @@ +/* + * 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: + * + */ + +// SYSTEM INCLUDES + +// USER INCLUDES +#include "syserrcmdtestsstub.h" +#include + +// --------------------------------------------------------------------------- +// C++ destructor. +// --------------------------------------------------------------------------- +// +EXPORT_C CSsmCustomCommandEnv* SysErrCmdTestsStub::CustomCommandEnvStubL( + RFs& aRfs ) + { + return CSsmCustomCommandEnv::NewL( aRfs ); + } + +// End of file diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimctrl/Bmarm/TSanimctrlU.DEF --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimctrl/Bmarm/TSanimctrlU.DEF Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,3 @@ +EXPORTS + LibEntryL__FR13CTestModuleIf @ 1 NONAME R3UNUSED ; LibEntryL(CTestModuleIf &) + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimctrl/Bwins/TSanimctrlu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimctrl/Bwins/TSanimctrlu.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,3 @@ +EXPORTS + ?LibEntryL@@YAPAVCScriptBase@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CScriptBase * __cdecl LibEntryL(class CTestModuleIf &) + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimctrl/conf/UI_TSanimctrl.cfg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimctrl/conf/UI_TSanimctrl.cfg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,303 @@ +[Test] +title Example +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl Example pa ra me ters +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestConstructor +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupEmpty +CSAnimStartupCtrl TestConstructor +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestConstructorNoMemory +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupEmpty +CSAnimStartupCtrl TestConstructorNoMemory +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title SetupEmptyValues +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupEmptyValues +CSAnimStartupCtrl TestLoadNoContent +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title SetupUnknownFile +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupUnknownFile +CSAnimStartupCtrl TestLoadNoContent +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title SetupProtectedFile +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupProtectedFile +CSAnimStartupCtrl TestLoadNoContent +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestLoadHasContent +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupExistingImageFile +CSAnimStartupCtrl TestLoadHasContent +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title SetupExistingToneFileSilent +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupExistingToneFileSilent +CSAnimStartupCtrl TestLoadHasContent +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title SetupExistingToneFileVeryLowVolume +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupExistingToneFileVeryLowVolume +CSAnimStartupCtrl TestLoadHasContent +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title SetupExistingToneFileLowVolume +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupExistingToneFileLowVolume +CSAnimStartupCtrl TestLoadHasContent +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title SetupExistingToneFileNormalVolume +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupExistingToneFileNormalVolume +CSAnimStartupCtrl TestLoadHasContent +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title SetupExistingToneFileTooLowVolume +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupExistingToneFileTooLowVolume +CSAnimStartupCtrl TestLoadHasContent +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title SetupExistingToneFileTooHighVolume +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupExistingToneFileTooHighVolume +CSAnimStartupCtrl TestLoadHasContent +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + + +[Test] +title SetupUnknownToneFileNormalVolume +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupUnknownToneFileNormalVolume +CSAnimStartupCtrl TestLoadHasContent +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestLoadNoMemory +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupObj +CSAnimStartupCtrl TestLoadNoMemory +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestCancelLoad +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupObj +CSAnimStartupCtrl TestCancelLoad +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + + +[Test] +title TestLoadWhenActive +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupObj +CSAnimStartupCtrl TestLoadWhenActive +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title SetupEmptyShow +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupEmptyShow +CSAnimStartupCtrl TestStart +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestStart +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupShow +CSAnimStartupCtrl TestStart +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestCancelStart +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupShow +CSAnimStartupCtrl TestCancelStart +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestStartWhenActive +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupShow +CSAnimStartupCtrl TestStartWhenActive +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + + + +// Obj2 +// --------------------------------------------------------------------------- +// Test table +// +// --------------------------------------------------------------------------- +// + +[Test] +title TestConstructorCtr +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupEmptyCtr +CSAnimStartupCtrl TestConstructorCtr +CSAnimStartupCtrl TeardownCtr +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestConstructorNoMemoryCtr +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupEmptyCtr +CSAnimStartupCtrl TestConstructorNoMemoryCtr +CSAnimStartupCtrl TeardownCtr +delete CSAnimStartupCtrl +[Endtest] + + +[Test] +title TestLoadEmpty2Ctr +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupObjCtr +CSAnimStartupCtrl TestLoadEmptyCtr +CSAnimStartupCtrl TeardownCtr +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestLoadImageCtr +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupObjCtr +CSAnimStartupCtrl TestLoadImageCtr +CSAnimStartupCtrl TeardownCtr +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestLoadToneCtr +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupObjCtr +CSAnimStartupCtrl TestLoadToneCtr +CSAnimStartupCtrl TeardownCtr +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestLoadBothCtr +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupObjCtr +CSAnimStartupCtrl TestLoadBothCtr +CSAnimStartupCtrl TeardownCtr +delete CSAnimStartupCtrl +[Endtest] + + +[Test] +title TestLoadWhenActiveCtr +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupObjCtr +CSAnimStartupCtrl TestLoadWhenActiveCtr +CSAnimStartupCtrl TeardownCtr +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestCancelLoadCtr +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupObjCtr +CSAnimStartupCtrl TestCancelLoadCtr +CSAnimStartupCtrl TeardownCtr +delete CSAnimStartupCtrl +[Endtest] + + +[Test] +title TestStartCtr +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupObjLoadedCtr +CSAnimStartupCtrl TestStartCtr +CSAnimStartupCtrl TeardownCtr +delete CSAnimStartupCtrl +[Endtest] + + +[Test] +title TestStartNoMemoryCtr +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupObjLoadedCtr +CSAnimStartupCtrl TestStartNoMemoryCtr +CSAnimStartupCtrl TeardownCtr +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestStartWhenActiveCtr +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupObjLoadedCtr +CSAnimStartupCtrl TestStartWhenActiveCtr +CSAnimStartupCtrl TeardownCtr +delete CSAnimStartupCtrl +[Endtest] + + + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimctrl/eabi/TSanimctrlu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimctrl/eabi/TSanimctrlu.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,3 @@ +EXPORTS + _Z9LibEntryLR13CTestModuleIf @ 1 NONAME + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimctrl/group/TSanimctrl.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimctrl/group/TSanimctrl.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,95 @@ +/*TYPE TESTCLASS*/ +/* +* 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: MMP file for STIF Test Framework's TestScripter +* testclass test module. +* +*/ + +#include + +SMPSAFE + +TARGET TSanimctrl.dll +TARGETTYPE dll +UID 0x1000008D 0x101FB3E3 + +CAPABILITY ALL -TCB +/* Remove comments and replace 0x00000000 with correct vendor id */ +// VENDORID 0x00000000 +/* Remove comments and replace 0x00000000 with correct secure id */ +// SECUREID 0x00000000 + +//TARGETPATH ?target_path +DEFFILE TSanimctrl.def + +USERINCLUDE ../inc +USERINCLUDE ../../inc +USERINCLUDE ../../../../../../inc +USERINCLUDE ../../../../sanimengine/inc + +OS_LAYER_SYSTEMINCLUDE + +SOURCEPATH ../src + +SOURCE TSanimctrl.cpp +SOURCE sanimmockview.cpp +SOURCE TSanimctrlBlocks.cpp testwaiter.cpp +SOURCE sanimctrlrootsuite.cpp + +SYSTEMINCLUDE /epoc32/include/mw/ + +//RESOURCE resource_file +//RESOURCE resource_file2 + +LIBRARY euser.lib +LIBRARY stiftestinterface.lib +LIBRARY stiftestengine.lib +LIBRARY centralrepository.lib +LIBRARY cone.lib +LIBRARY ecom.lib +LIBRARY euser.lib +LIBRARY sanimctrl.lib + +EPOCALLOWDLLDATA +LANG SC + +/* +START WINS +?wins_specific_information +END + +START MARM +?marm_specific_information +END + +//TARGET.EPOCALLOWDLLDATA=1 + + + +*/ +// Other possible keywords: + +// DOCUMENT ?file, that is not compiled, but added to MSVC project workspace (i.e. release notes) +/* +START BITMAP ?target +TARGETPATH ?emulated_path_on_target_machine +HEADER +SOURCE ?color_depth ?source_bitmap +END +*/ +// DEFFILE ?filename +// AIF ?filename + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimctrl/group/TSanimctrl.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimctrl/group/TSanimctrl.pkg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,60 @@ +; +; 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: +; +; Installation file for STIF +; + +; Languages +&EN + +; Provide value for uid +#{"STIF"},(0x00000000),1,1,0,TYPE=SA + +; Series60 product id for S60 3.0 +[0x101F7961], 0, 0, 0, {"Series60ProductID"} + +; Localised Vendor name +%{"Nokia"} + +; Unique Vendor name +:"Nokia" + +; Logo +; None + +; Package signature - Optional +; None + +; Start of Package body + +; Condition blocks +; None + +; Options list +; None + +; Install files +"\epoc32\release\armv5\udeb\TSanimctrl.dll" - "!:\Sys\Bin\TSanimctrl.dll" + +; Embedded SIS +; None + +; End of Package body + +; PKG dependencies +; None + +; PKG capabilities +; None diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimctrl/group/TSanimctrl_DoxyFile.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimctrl/group/TSanimctrl_DoxyFile.txt Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,240 @@ +# +# 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: +# +# + +# Doxyfile 1.4.1 + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = TSanimctrl +PROJECT_NUMBER = +OUTPUT_DIRECTORY = x:\TSanimctrl\ +CREATE_SUBDIRS = NO +OUTPUT_LANGUAGE = English +USE_WINDOWS_ENCODING = YES +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ABBREVIATE_BRIEF = +ALWAYS_DETAILED_SEC = NO +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +STRIP_FROM_INC_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = NO +MULTILINE_CPP_IS_BRIEF = NO +DETAILS_AT_TOP = NO +INHERIT_DOCS = YES +DISTRIBUTE_GROUP_DOC = NO +TAB_SIZE = 8 +ALIASES = +OPTIMIZE_OUTPUT_FOR_C = YES +OPTIMIZE_OUTPUT_JAVA = NO +SUBGROUPING = YES +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- +EXTRACT_ALL = YES +EXTRACT_PRIVATE = NO +EXTRACT_STATIC = NO +EXTRACT_LOCAL_CLASSES = NO +EXTRACT_LOCAL_METHODS = NO +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +HIDE_FRIEND_COMPOUNDS = NO +HIDE_IN_BODY_DOCS = NO +INTERNAL_DOCS = YES +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +SHOW_INCLUDE_FILES = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +SORT_BRIEF_DOCS = NO +SORT_BY_SCOPE_NAME = NO +GENERATE_TODOLIST = NO +GENERATE_TESTLIST = NO +GENERATE_BUGLIST = NO +GENERATE_DEPRECATEDLIST= YES +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +SHOW_USED_FILES = YES +SHOW_DIRECTORIES = YES +FILE_VERSION_FILTER = +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- +QUIET = NO +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES +WARN_IF_DOC_ERROR = YES +WARN_NO_PARAMDOC = NO +WARN_FORMAT = "$file:$line: $text" +WARN_LOGFILE = +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = x:\TSanimctrl\ +FILE_PATTERNS = *.h \ + *.rh \ + *.hrh +RECURSIVE = YES +EXCLUDE = +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +EXAMPLE_RECURSIVE = NO +IMAGE_PATH = +INPUT_FILTER = +FILTER_PATTERNS = +FILTER_SOURCE_FILES = NO +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- +SOURCE_BROWSER = NO +INLINE_SOURCES = NO +STRIP_CODE_COMMENTS = YES +REFERENCED_BY_RELATION = YES +REFERENCES_RELATION = YES +VERBATIM_HEADERS = YES +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- +ALPHABETICAL_INDEX = NO +COLS_IN_ALPHA_INDEX = 5 +IGNORE_PREFIX = +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- +GENERATE_HTML = NO +HTML_OUTPUT = html +HTML_FILE_EXTENSION = .html +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = YES +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +BINARY_TOC = YES +TOC_EXPAND = YES +DISABLE_INDEX = YES +ENUM_VALUES_PER_LINE = 4 +GENERATE_TREEVIEW = YES +TREEVIEW_WIDTH = 250 +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +LATEX_CMD_NAME = latex +MAKEINDEX_CMD_NAME = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +USE_PDFLATEX = NO +LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- +GENERATE_RTF = YES +RTF_OUTPUT = Doc +COMPACT_RTF = YES +RTF_HYPERLINKS = YES +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_LINKS = NO +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- +GENERATE_XML = NO +XML_OUTPUT = xml +XML_SCHEMA = +XML_DTD = +XML_PROGRAMLISTING = YES +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- +GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- +GENERATE_PERLMOD = NO +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = YES +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = NONSHARABLE_CLASS +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- +TAGFILES = +GENERATE_TAGFILE = +ALLEXTERNALS = NO +EXTERNAL_GROUPS = YES +PERL_PATH = /usr/bin/perl +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- +CLASS_DIAGRAMS = YES +HIDE_UNDOC_RELATIONS = YES +HAVE_DOT = NO +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +GROUP_GRAPHS = YES +UML_LOOK = NO +TEMPLATE_RELATIONS = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +CALL_GRAPH = NO +GRAPHICAL_HIERARCHY = YES +DIRECTORY_GRAPH = YES +DOT_IMAGE_FORMAT = png +DOT_PATH = +DOTFILE_DIRS = +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 +MAX_DOT_GRAPH_DEPTH = 0 +DOT_TRANSPARENT = NO +DOT_MULTI_TARGETS = NO +GENERATE_LEGEND = YES +DOT_CLEANUP = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- +SEARCHENGINE = NO diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimctrl/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimctrl/group/bld.inf Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,61 @@ +/* +* 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: +* +*/ + +PRJ_PLATFORMS +// specify the platforms your component needs to be built for here +// defaults to WINS MARM so you can ignore this if you just build these + + DEFAULT + +PRJ_TESTEXPORTS +// NOTE: If using ARS requirements all export operations should be done under this. +// 'abld test export' + +PRJ_EXPORTS +// Specify the source file followed by its destination here +// copy will be used to copy the source file to its destination +// If there's no destination then the source file will be copied +// to the same name in \epoc32\include +// Example: +/* +\agnmodel\inc\AGMCOMON.H +*/ + +PRJ_TESTMMPFILES + + TSanimctrl.mmp + +PRJ_MMPFILES + + TSanimctrl.mmp + + +// Specify the .mmp files required for building the important component +// releasables. +// +// Specify "tidy" if the component you need to build doesn't need to be +// released. Specify "ignore" if the MMP file exists but should be +// ignored. +// Example: +/* +\agnmodel\group\agnmodel.mmp +#if defined(MARM) +\agnmodel\group\agsvexe.mmp +#endif +*/ + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimctrl/group/profile.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimctrl/group/profile.txt Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,165 @@ +***************************************************************************** +* CTC++, Test Coverage Analyzer for C/C++, Version 6.5.5 * +* * +* EXECUTION PROFILE LISTING * +* * +* Copyright (c) 1993-2009 Testwell Oy * +***************************************************************************** + + +Symbol file(s) used : MON.sym (Tue Aug 17 14:09:17 2010) +Data file(s) used : MON.dat (Tue Aug 17 14:38:19 2010) +Listing produced at : Tue Aug 17 14:38:22 2010 +Coverage view : As instrumented + + + +MONITORED SOURCE FILE : Z:/startupservices/startupanimation/internal/test/TSanimctrl/src/sanimmockview.cpp +INSTRUMENTATION MODE : function + + START/ END/ + TRUE FALSE LINE DESCRIPTION +============================================================================= + + 52 0 29 FUNCTION CSAnimMockView::NewL() + 0 0 - 46 FUNCTION CSAnimMockView::~CSAnimMockView() + 25 25 57 FUNCTION CSAnimMockView::SetComponent() + 0 0 - 70 FUNCTION CSAnimMockView::RemoveComponent() + 52 52 83 FUNCTION CSAnimMockView::CSAnimMockView() + 52 52 94 FUNCTION CSAnimMockView::ConstructL() + 171 0 108 FUNCTION CSAnimMockView::CountComponentControls() + 50 0 120 FUNCTION CSAnimMockView::ComponentControl() + 38 38 131 FUNCTION CSAnimMockView::Draw() + +***TER 78 % ( 7/ 9) of SOURCE FILE Z:/startupservices/startupanimation/internal/test/TSanimctrl/src/sanimmockview.cpp +----------------------------------------------------------------------------- + + + +MONITORED SOURCE FILE : Z:/startupservices/startupanimation/internal/test/TSanimctrl/src/TSanimctrlBlocks.cpp +INSTRUMENTATION MODE : function + + START/ END/ + TRUE FALSE LINE DESCRIPTION +============================================================================= + + 41 41 82 FUNCTION CTSanimctrl::Delete() + 99 0 92 FUNCTION CTSanimctrl::RunMethodL() + 7 0 165 FUNCTION CTSanimctrl::SetupEmptyCtrL() + 0 0 - 179 FUNCTION CTSanimctrl::SetupObjCtrL() + 8 0 194 FUNCTION CTSanimctrl::SetupObjLoadedCtrL() + 4 0 213 FUNCTION CTSanimctrl::TeardownCtr() + 2 0 232 FUNCTION CTSanimctrl::TestConstructorCtrL() + 2 0 248 FUNCTION CTSanimctrl::TestConstructorNoMemoryCtrL() + 3 0 262 FUNCTION CTSanimctrl::TestLoadEmptyCtrL() + 0 0 - 280 FUNCTION CTSanimctrl::TestLoadImageCtrL() + 0 0 - 298 FUNCTION CTSanimctrl::TestLoadToneCtrL() + 0 0 - 316 FUNCTION CTSanimctrl::TestLoadBothCtrL() + 0 0 - 334 FUNCTION CTSanimctrl::TestLoadWhenActiveCtrL() + 0 0 - 359 FUNCTION CTSanimctrl::TestCancelLoadCtrL() + 0 0 - 378 FUNCTION CTSanimctrl::TestStartCtrL() + 0 0 - 393 FUNCTION CTSanimctrl::TestCancelStartCtrL() + 0 0 - 409 FUNCTION CTSanimctrl::TestStartNoMemoryCtrL() + 0 0 - 425 FUNCTION CTSanimctrl::TestStartWhenActiveCtrL() + 51 51 449 FUNCTION CTSanimctrl::SetupParamsL() + 51 0 470 FUNCTION CTSanimctrl::SetupProfileL() + 4 0 485 FUNCTION CTSanimctrl::InitObjL() + 26 0 504 FUNCTION CTSanimctrl::SetupEmptyL() + 1 0 520 FUNCTION CTSanimctrl::SetupEmptyValuesL() + 1 0 539 FUNCTION CTSanimctrl::SetupUnknownFileL() + 1 0 557 FUNCTION CTSanimctrl::SetupProtectedFileL() + 0 0 - 575 FUNCTION CTSanimctrl::SetupExistingImageFileL() + 1 0 593 FUNCTION CTSanimctrl::SetupExistingToneFileSilentL() + 1 0 611 FUNCTION CTSanimctrl::SetupExistingToneFileVeryLowVolumeL() + 1 0 629 FUNCTION CTSanimctrl::SetupExistingToneFileLowVolumeL() + 1 0 647 FUNCTION CTSanimctrl::SetupExistingToneFileNormalVolumeL() + 1 0 665 FUNCTION CTSanimctrl::SetupExistingToneFileTooLowVolumeL() + 1 0 683 FUNCTION CTSanimctrl::SetupExistingToneFileTooHighVolumeL() + 1 0 701 FUNCTION CTSanimctrl::SetupUnknownToneFileNormalVolumeL() + 11 0 719 FUNCTION CTSanimctrl::SetupObjL() + 1 0 737 FUNCTION CTSanimctrl::SetupEmptyShowL() + 3 0 752 FUNCTION CTSanimctrl::SetupShowL() + 18 0 767 FUNCTION CTSanimctrl::Teardown() + 0 0 - 786 FUNCTION CTSanimctrl::TestConstructorL() + 1 0 803 FUNCTION CTSanimctrl::TestConstructorNoMemoryL() + 3 0 818 FUNCTION CTSanimctrl::TestLoadNoContentL() + 7 0 834 FUNCTION CTSanimctrl::TestLoadHasContentL() + 1 0 850 FUNCTION CTSanimctrl::TestLoadNoMemoryL() + 1 0 865 FUNCTION CTSanimctrl::TestCancelLoadL() + 1 0 881 FUNCTION CTSanimctrl::TestLoadWhenActiveL() + 2 0 900 FUNCTION CTSanimctrl::TestStartL() + 1 0 915 FUNCTION CTSanimctrl::TestCancelStartL() + 1 0 931 FUNCTION CTSanimctrl::TestStartWhenActiveL() + 1 0 953 FUNCTION CTSanimctrl::ExampleL() + +***TER 75 % ( 36/ 48) of SOURCE FILE Z:/startupservices/startupanimation/internal/test/TSanimctrl/src/TSanimctrlBlocks.cpp +----------------------------------------------------------------------------- + + + +MONITORED SOURCE FILE : Z:/startupservices/startupanimation/internal/test/TSanimctrl/src/testwaiter.cpp +INSTRUMENTATION MODE : function + + START/ END/ + TRUE FALSE LINE DESCRIPTION +============================================================================= + + 66 0 30 FUNCTION CTestWaiter::NewL() + 44 44 42 FUNCTION CTestWaiter::~CTestWaiter() + 23 23 52 FUNCTION CTestWaiter::Activate() + 66 66 65 FUNCTION CTestWaiter::CTestWaiter() + 0 0 - 77 FUNCTION CTestWaiter::DoCancel() + 23 23 87 FUNCTION CTestWaiter::RunL() + +***TER 83 % ( 5/ 6) of SOURCE FILE Z:/startupservices/startupanimation/internal/test/TSanimctrl/src/testwaiter.cpp +----------------------------------------------------------------------------- + + + +MONITORED SOURCE FILE : Z:/startupservices/startupanimation/internal/test/TSanimctrl/src/TSanimctrl.cpp +INSTRUMENTATION MODE : function + + START/ END/ + TRUE FALSE LINE DESCRIPTION +============================================================================= + + 52 52 85 FUNCTION CTSanimctrl::CTSanimctrl() + 52 52 98 FUNCTION CTSanimctrl::ConstructL() + 52 0 153 FUNCTION CTSanimctrl::NewL() + 41 41 167 FUNCTION CTSanimctrl::~CTSanimctrl() + 52 52 183 FUNCTION CTSanimctrl::SendTestClassVersion() + 52 0 204 FUNCTION LibEntryL() + +***TER 100 % ( 6/ 6) of SOURCE FILE Z:/startupservices/startupanimation/internal/test/TSanimctrl/src/TSanimctrl.cpp +----------------------------------------------------------------------------- + + + +MONITORED SOURCE FILE : Z:/startupservices/startupanimation/internal/test/TSanimctrl/src/sanimctrlrootsuite.cpp +INSTRUMENTATION MODE : function + + START/ END/ + TRUE FALSE LINE DESCRIPTION +============================================================================= + + 52 0 31 FUNCTION CSAnimCtrlRootSuite::NewL() + 52 0 44 FUNCTION CSAnimCtrlRootSuite::NewLC() + 0 0 - 58 FUNCTION CSAnimCtrlRootSuite::~CSAnimCtrlRootSuite() + 52 0 69 FUNCTION CSAnimCtrlRootSuite::MainView() + 52 52 80 FUNCTION CSAnimCtrlRootSuite::CSAnimCtrlRootSuite() + 52 52 90 FUNCTION CSAnimCtrlRootSuite::ConstructL() + +***TER 83 % ( 5/ 6) of SOURCE FILE Z:/startupservices/startupanimation/internal/test/TSanimctrl/src/sanimctrlrootsuite.cpp +----------------------------------------------------------------------------- + + + + + +SUMMARY +======= + +Number of monitored source files : 5 +Number of source lines : 1518 +Number of measurement points : 150 +TER : 79% (function) diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimctrl/group/t.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimctrl/group/t.txt Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,37 @@ +sbs: warning: Can't set attribute type for element var +sbs: warning: Can't set attribute type for element var +sbs: warning: Can't set attribute type for element var +sbs: warning: Can't set attribute type for element var +sbs: warning: Can't set attribute type for element var +sbs: warning: Can't set attribute type for element var +sbs: warning: Can't set attribute type for element var +sbs: warning: Can't set attribute type for element var +sbs: warning: Can't set attribute type for element var +sbs: warning: Can't set attribute type for element var +sbs: warning: Can't set attribute type for element var +sbs: warning: Can't set attribute type for element var +sbs: warning: Can't set attribute type for element var + mwldsym2.exe: Undefined symbol: 'class CSAnimMockView * CSAnimMockView::NewL(void) (?NewL@CSAnimMockView@@SAPAV1@XZ)' + mwldsym2.exe: referenced from 'class CTSanimctrl * CTSanimctrl::NewL(class CTestModuleIf &) (?NewL@CTSanimctrl@@SAPAV1@AAVCTestModuleIf@@@Z)' in TSanimctrl.cpp:154 + mwldsym2.exe: referenced from 'void CTSanimctrl::TestConstructorL(void) (?TestConstructorL@CTSanimctrl@@AAEXXZ)' in TSanimctrlBlocks.cpp:828 + mwldsym2.exe: referenced from 'void CTSanimctrl::TestConstructorNoMemoryL(void) (?TestConstructorNoMemoryL@CTSanimctrl@@AAEXXZ)' in TSanimctrlBlocks.cpp:844 + mwldsym2.exe: Undefined symbol: 'void CSAnimMockView::SetComponent(class CCoeControl &) (?SetComponent@CSAnimMockView@@QAEXAAVCCoeControl@@@Z)' + mwldsym2.exe: referenced from 'void CTSanimctrl::InitObjL(void) (?InitObjL@CTSanimctrl@@AAEXXZ)' in TSanimctrlBlocks.cpp:548 + mwldsym2.exe: referenced from 'void CTSanimctrl::SetupEmptyValuesL(void) (?SetupEmptyValuesL@CTSanimctrl@@AAEXXZ)' in TSanimctrlBlocks.cpp:584 + mwldsym2.exe: referenced from 'void CTSanimctrl::SetupUnknownFileL(void) (?SetupUnknownFileL@CTSanimctrl@@AAEXXZ)' in TSanimctrlBlocks.cpp:601 + mwldsym2.exe: referenced from 'void CTSanimctrl::SetupProtectedFileL(void) (?SetupProtectedFileL@CTSanimctrl@@AAEXXZ)' in TSanimctrlBlocks.cpp:618 + mwldsym2.exe: referenced from 'void CTSanimctrl::SetupExistingImageFileL(void) (?SetupExistingImageFileL@CTSanimctrl@@AAEXXZ)' in TSanimctrlBlocks.cpp:635 + mwldsym2.exe: referenced from 'void CTSanimctrl::SetupExistingToneFileSilentL(void) (?SetupExistingToneFileSilentL@CTSanimctrl@@AAEXXZ)' in TSanimctrlBlocks.cpp:652 + mwldsym2.exe: referenced from 'void CTSanimctrl::SetupExistingToneFileVeryLowVolumeL(void) (?SetupExistingToneFileVeryLowVolumeL@CTSanimctrl@@AAEXXZ)' in TSanimctrlBlocks.cpp:669 + mwldsym2.exe: referenced from 'void CTSanimctrl::SetupExistingToneFileLowVolumeL(void) (?SetupExistingToneFileLowVolumeL@CTSanimctrl@@AAEXXZ)' in TSanimctrlBlocks.cpp:686 + mwldsym2.exe: ... + + Errors caused tool to abort. + + +sbs : warnings: 13 +sbs : errors: 3 + +Run time 2 seconds + +sbs: build log in Z:/epoc32/build/Makefile.2010-08-13-14-05-28.log diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimctrl/inc/TSanimctrl.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimctrl/inc/TSanimctrl.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,225 @@ +/* +* 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: STIF testclass declaration +* +*/ + +#ifndef TSANIMCTRL_H +#define TSANIMCTRL_H + +// INCLUDES +#include +#include +#include +#include + +// CONSTANTS +//const ?type ?constant_var = ?constant; + +// MACROS +//#define ?macro ?macro_def +#define TEST_CLASS_VERSION_MAJOR 0 +#define TEST_CLASS_VERSION_MINOR 0 +#define TEST_CLASS_VERSION_BUILD 0 + +// Logging path +_LIT( KTSanimctrlLogPath, "\\logs\\testframework\\TSanimctrl\\" ); +// Log file +_LIT( KTSanimctrlLogFile, "TSanimctrl.txt" ); +_LIT( KTSanimctrlLogFileWithTitle, "TSanimctrl_[%S].txt" ); + + +#include +#include "sanimstartupctrl.h" + +class CSAnimMockView; +class CTestWaiter; +class CTSanimctrl; + +NONSHARABLE_CLASS(CTSanimctrl) : public CScriptBase + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + */ + static CTSanimctrl* NewL( CTestModuleIf& aTestModuleIf,CSAnimMockView& aview ); + + /** + * Destructor. + */ + virtual ~CTSanimctrl(); + + public: // New functions + + /** + * ?member_description. + * @since ?Series60_version + * @param ?arg1 ?description + * @return ?description + */ + //?type ?member_function( ?type ?arg1 ); + + public: // Functions from base classes + + /** + * From CScriptBase Runs a script line. + * @since ?Series60_version + * @param aItem Script line containing method name and parameters + * @return Symbian OS error code + */ + virtual TInt RunMethodL( CStifItemParser& aItem ); + + protected: // New functions + + /** + * ?member_description. + * @since ?Series60_version + * @param ?arg1 ?description + * @return ?description + */ + //?type ?member_function( ?type ?arg1 ); + + protected: // Functions from base classes + + /** + * From ?base_class ?member_description + */ + //?type ?member_function(); + + private: + + /** + * C++ default constructor. + */ + CTSanimctrl( CTestModuleIf& aTestModuleIf,CSAnimMockView& aview ); + + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL(); + + // Prohibit copy constructor if not deriving from CBase. + // ?classname( const ?classname& ); + // Prohibit assigment operator if not deriving from CBase. + // ?classname& operator=( const ?classname& ); + + /** + * Frees all resources allocated from test methods. + * @since ?Series60_version + */ + void Delete(); + + /** + * Test methods are listed below. + */ + + /** + * Example test method. + * @since ?Series60_version + * @param aItem Script line containing parameters. + * @return Symbian OS error code. + */ + virtual TInt ExampleL( CStifItemParser& aItem ); + void SetupParamsL( + const TDesC& aImageFileName, + const TDesC& aToneFileName, + const TInt aFrameDelay, + const TInt aVolume, + const TInt aVolumeRamp ); + TInt SetupProfileL( const TInt aRingingType, const TInt aRingingVolume ); + TInt InitObjL(); + TInt SetupEmptyL(); + TInt SetupEmptyValuesL(); + TInt SetupUnknownFileL(); + TInt SetupProtectedFileL(); + TInt SetupExistingImageFileL(); + TInt SetupExistingToneFileSilentL(); + TInt SetupExistingToneFileVeryLowVolumeL(); + TInt SetupExistingToneFileLowVolumeL(); + TInt SetupExistingToneFileNormalVolumeL(); + TInt SetupExistingToneFileTooLowVolumeL(); + TInt SetupExistingToneFileTooHighVolumeL(); + TInt SetupUnknownToneFileNormalVolumeL(); + TInt SetupObjL(); + TInt SetupEmptyShowL(); + TInt SetupShowL(); + TInt Teardown(); + + TInt TestConstructorL(); + TInt TestConstructorNoMemoryL(); + TInt TestLoadNoContentL(); + TInt TestLoadHasContentL(); + TInt TestLoadNoMemoryL(); + TInt TestCancelLoadL(); + TInt TestLoadWhenActiveL(); + TInt TestStartL(); + TInt TestCancelStartL(); + TInt TestStartWhenActiveL(); + + + // CtrTestSuite + TInt SetupEmptyCtrL(); + TInt SetupObjCtrL(); + TInt SetupObjLoadedCtrL(); + TInt TeardownCtr(); + + TInt TestConstructorCtrL(); + TInt TestConstructorNoMemoryCtrL(); + TInt TestLoadEmptyCtrL(); + TInt TestLoadImageCtrL(); + TInt TestLoadToneCtrL(); + TInt TestLoadBothCtrL(); + TInt TestLoadWhenActiveCtrL(); + TInt TestCancelLoadCtrL(); + + TInt TestStartCtrL(); + TInt TestCancelStartCtrL(); + TInt TestStartNoMemoryCtrL(); + TInt TestStartWhenActiveCtrL(); + + + + /** + * Method used to log version of test class + */ + void SendTestClassVersion(); + private: // data + //ADD NEW METHOD DEC HERE + //[TestMethods] - Do not remove + + /** Parent control for the object to be tested. */ + CSAnimMockView& iView; + + + /** Parameters to use in testing. */ + CSAnimStartupCtrl::TAnimationParams iParams; + + + /** Instance of the class that this test suite is testing. */ + CSAnimStartupCtrl* iTestObj; + + /** Instance of the class that this test suite is testing. */ + CSAnimCtrl* iTestObj2; + + /** For testing async calls. */ + CTestWaiter* iWaiter; + CTestWaiter* iWaiter2; + + + }; + +#endif // TSANIMCTRL_H + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimctrl/inc/sanimctrlrootsuite.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimctrl/inc/sanimctrlrootsuite.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,84 @@ +/* +* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Symbian Foundation License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Declaration of CSAnimCtrlRootSuite class +* +*/ + + +#ifndef SANIMCTRLROOTSUITE_H +#define SANIMCTRLROOTSUITE_H + +class CSAnimMockView; + +/** +* Root test suite for SAnimCtrl tests. +* +* @lib None +* @since S60 3.2 +*/ +class CSAnimCtrlRootSuite + { + +public: + + /** + * Constructs a CSAnimCtrlRootSuite object. + * + * @since S60 3.2 + * + * @return The new object + */ + static CSAnimCtrlRootSuite* NewL(); + static CSAnimCtrlRootSuite* NewLC(); + + /** + * Destructor. + * + * @since S60 3.2 + */ + virtual ~CSAnimCtrlRootSuite(); + + /** + * Return a reference to the main view. + * + * @since S60 3.2 + * + * @return A reference to the main view. + */ + CSAnimMockView& MainView(); + +private: + + /** + * First phase constructor. + * + * @since S60 3.2 + */ + CSAnimCtrlRootSuite(); + + /** + * Second phase constructor. + * + * @since S60 3.2 + */ + void ConstructL(); + +private: // data + + /** Parent control for the objects to be tested. */ + CSAnimMockView* iView; + + }; + +#endif // SANIMCTRLROOTSUITE_H diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimctrl/inc/sanimmockview.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimctrl/inc/sanimmockview.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,116 @@ +/* +* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Symbian Foundation License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Declaration of CSAnimMockView class +* +*/ + + +#ifndef SANIMMOCKVIEW_H +#define SANIMMOCKVIEW_H + +#include + +/** +* For testing CSAnimCtrl. +* +* @lib None +* @since S60 3.2 +*/ +class CSAnimMockView : public CCoeControl + { + +public: + + /** + * Constructs a CSAnimMockView object. + * + * @since S60 3.2 + * + * @return The new object + */ + static CSAnimMockView* NewL(); + + /** + * Destructor. + * + * @since S60 3.2 + */ + virtual ~CSAnimMockView(); + + /** + * Set a sub-control to this control. + * + * @since S60 3.2 + */ + void SetComponent( CCoeControl& aComponent ); + + /** + * Remove the sub-control from this control. + * + * @since S60 3.2 + */ + void RemoveComponent(); + +protected: + + /** + * First phase constructor. + * + * @since S60 3.2 + */ + CSAnimMockView(); + + /** + * Second phase constructor. + * + * @since S60 3.2 + */ + void ConstructL(); + + /** + * From CCoeControl. + * + * @since S60 3.2 + * + * @return The number of controls contained in this control. + */ + TInt CountComponentControls() const; + + /** + * From CCoeControl. + * + * @since S60 3.2 + * + * @param aIndex Identifies the component control to return. + * @return The component control at index given as parameter. + */ + CCoeControl* ComponentControl( TInt aIndex ) const; + + /** + * From CCoeControl. + * + * @since S60 3.2 + * + * @param aRect The rectangle to draw into. + */ + void Draw( const TRect& aRect ) const; + +private: + + /** Component control. */ + CCoeControl* iComponent; + + }; + +#endif // SANIMMOCKVIEW_H diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimctrl/inc/testwaiter.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimctrl/inc/testwaiter.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,88 @@ +/* +* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Symbian Foundation License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Declaration of CTestWaiter class +* +*/ + + +#ifndef TESTWAITER_H +#define TESTWAITER_H + +#include + +/** +* Stops active scheduler in RunL. +* +* @lib None +* @since S60 3.2 +*/ +class CTestWaiter : public CActive + { + +public: + + /** + * Constructs a CTestWaiter object. + * + * @return The new object + * @since S60 3.2 + */ + static CTestWaiter* NewL(); + + /** + * Destructor. + * + * @since S60 3.2 + */ + virtual ~CTestWaiter(); + + /** + * Set active. + * + * @since S60 3.2 + */ + void Activate(); + +protected: + + /** + * From CActive. + * Implements cancellation of an outstanding request. + * + * @since S60 3.2 + */ + virtual void DoCancel(); + + /** + * From CActive. + * Handles an active object's request completion event. + * Never leaves. + * + * @since S60 3.2 + */ + virtual void RunL(); + +private: + + /** + * First phase constructor. + * + */ + CTestWaiter(); + +private: // data + + }; + +#endif // TESTWAITER_H diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimctrl/init/TestFramework.ini --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimctrl/init/TestFramework.ini Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,221 @@ +# +# This is STIF initialization file +# Comment lines start with '#'-character. +# See STIF TestFramework users guide.doc for instructions + +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +# Set following test engine settings: +# - Set Test Reporting mode. TestReportMode's possible values are: +# + 'Summary': Summary of the tested test cases. +# + 'Environment': Hardware and software info. +# + 'TestCases': Test case report. +# + 'FullReport': Set of all above ones. +# + Example 'TestReportMode= Summary TestCases' +# +# - CreateTestReport setting controls report creation mode +# + YES, Test report will created. +# + NO, No Test report. +# +# - File path indicates the base path of the test report. +# - File name indicates the name of the test report. +# +# - File format indicates the type of the test report. +# + TXT, Test report file will be txt type, for example 'TestReport.txt'. +# + HTML, Test report will be html type, for example 'TestReport.html'. +# + XML, Test report will be xml type, for example 'TestReport.xml'. +# Note, that xml format is available only when output is set to FILE. +# +# - File output indicates output source of the test report. +# + FILE, Test report logging to file. +# + RDEBUG, Test report logging to using rdebug. +# +# - File Creation Mode indicates test report overwriting if file exist. +# + OVERWRITE, Overwrites if the Test report file exist. +# + APPEND, Continue logging after the old Test report information if +# report exist. +# - Sets a device reset module's dll name(Reboot). +# + If Nokia specific reset module is not available or it is not correct one +# StifHWResetStub module may use as a template for user specific reset +# module. +# - Sets STIF test measurement disable options. e.g. pluging1 and pluging2 disablation +# DisableMeasurement= stifmeasurementplugin01 stifmeasurementplugin02 +# + +[Engine_Defaults] + +TestReportMode= FullReport # Possible values are: 'Empty', 'Summary', 'Environment', + # 'TestCases' or 'FullReport' + +CreateTestReport= YES # Possible values: YES or NO + +TestReportFilePath= C:\LOGS\TestFramework\ +TestReportFileName= TestReport + +TestReportFormat= TXT # Possible values: TXT, HTML or XML +TestReportOutput= FILE # Possible values: FILE or RDEBUG +TestReportFileCreationMode= OVERWRITE # Possible values: OVERWRITE or APPEND + +DeviceResetDllName= StifResetForNokia.dll # e.g. 'StifHWResetStub.dll' for user specific reseting + +DisableMeasurement= stifmeasurementdisablenone # Possible values are: + # 'stifmeasurementdisablenone', 'stifmeasurementdisableall' + # 'stifmeasurementplugin01', 'stifmeasurementplugin02', + # 'stifmeasurementplugin03', 'stifmeasurementplugin04', + # 'stifmeasurementplugin05' or 'stifbappeaprofiler' + +Timeout= 0 # Default timeout value for each test case. In milliseconds +UITestingSupport= YES # Possible values: YES or NO +#SeparateProcesses= YES # Possible values: YES or NO (default: NO) +[End_Defaults] + +[New_Module] +ModuleName= testscripter +TestCaseFile= c:\testframework\UI_Tsanimctrl.cfg +[End_Module] + + +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + + + +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +# Module configurations start +# Modules are added between module tags +# tags. Module name is specified after ModuleName= tag, like +# ModuleName= XXXXXXXXX +# Modules might have initialisation file, specified as +# IniFile= c:\testframework\YYYYYY +# Modules might have several configuration files, like +# TestCaseFile= c:\testframework\NormalCases.txt +# TestCaseFile= c:\testframework\SmokeCases.txt +# TestCaseFile= c:\testframework\ManualCases.txt + +# (TestCaseFile is synonym for old term ConfigFile) + +# Following case specifies demo module settings. Demo module +# does not read any settings from file, so tags +# IniFile and TestCaseFile are not used. +# In the simplest case it is enough to specify only the +# name of the test module when adding new test module + + + +# Load testmoduleXXX, optionally with initialization file and/or test case files +#[New_Module] +#ModuleName= testmodulexxx + +#TestModuleXXX used initialization file +#IniFile= c:\testframework\init.txt + +#TestModuleXXX used configuration file(s) +#TestCaseFile= c:\testframework\testcases1.cfg +#TestCaseFile= c:\testframework\testcases2.cfg +#TestCaseFile= c:\testframework\manualtestcases.cfg + +#[End_Module] +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + + + +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +# Set STIF logging overwrite parameters for Logger. +# Hardware and emulator environment logging path and styles can +# be configured from here to overwrite the Logger's implemented values. +# +# Settings description: +# - Indicates option for creation log directory/directories. If log directory/directories +# is/are not created by user they will make by software. +# + YES, Create log directory/directories if not allready exist. +# + NO, Log directory/directories not created. Only created one is used. +# +# - Overwrite emulator path setting. +# + Example: If 'EmulatorBasePath= C:\LOGS\TestFramework\' and in code is defined +# Logger's path 'D:\\LOGS\\Module\\' with those definition the path +# will be 'C:\LOGS\TestFramework\LOGS\Module\' +# +# - Overwrite emulator's logging format. +# + TXT, Log file(s) will be txt type(s), for example 'Module.txt'. +# + HTML, Log file(s) will be html type(s), for example 'Module.html'. +# +# - Overwrited emulator logging output source. +# + FILE, Logging to file(s). +# + RDEBUG, Logging to using rdebug(s). +# +# - Overwrite hardware path setting (Same description as above in emulator path). +# - Overwrite hardware's logging format(Same description as above in emulator format). +# - Overwrite hardware's logging output source(Same description as above in emulator output). +# +# - File Creation Mode indicates file overwriting if file exist. +# + OVERWRITE, Overwrites if file(s) exist. +# + APPEND, Continue logging after the old logging information if file(s) exist. +# +# - Will thread id include to the log filename. +# + YES, Thread id to log file(s) name, Example filename 'Module_b9.txt'. +# + NO, No thread id to log file(s), Example filename 'Module.txt'. +# +# - Will time stamps include the to log file. +# + YES, Time stamp added to each line in log file(s). Time stamp is +# for example'12.Nov.2003 115958 LOGGING INFO' +# + NO, No time stamp(s). +# +# - Will line breaks include to the log file. +# + YES, Each logging event includes line break and next log event is in own line. +# + NO, No line break(s). +# +# - Will event ranking include to the log file. +# + YES, Event ranking number added to each line in log file(s). Ranking number +# depends on environment's tics, for example(includes time stamp also) +# '012 12.Nov.2003 115958 LOGGING INFO' +# + NO, No event ranking. +# +# - Will write log file in unicode format. +# + YES, Log file will be written in unicode format +# + NO, Log will be written as normal, not unicode, file. +# + +[Logger_Defaults] + +#NOTE: If you want to set Logger using next setting(s) remove comment(s)'#' +#NOTE: TestEngine and TestServer logging settings cannot change here + +#CreateLogDirectories= YES # Possible values: YES or NO + +#EmulatorBasePath= C:\LOGS\TestFramework\ +#EmulatorFormat= HTML # Possible values: TXT or HTML +#EmulatorOutput= FILE # Possible values: FILE or RDEBUG + +#HardwareBasePath= D:\LOGS\TestFramework\ +#HardwareFormat= HTML # Possible values: TXT or HTML +#HardwareOutput= FILE # Possible values: FILE or RDEBUG + +#FileCreationMode= OVERWRITE # Possible values: OVERWRITE or APPEND + +#ThreadIdToLogFile= YES # Possible values: YES or NO +#WithTimeStamp= YES # Possible values: YES or NO +#WithLineBreak= YES # Possible values: YES or NO +#WithEventRanking= YES # Possible values: YES or NO + +#FileUnicode= YES # Possible values: YES or NO +#AddTestCaseTitle= YES # Possible values: YES or NO +[End_Logger_Defaults] +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + + + +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +# Set filters to be used by ConsoleUI. +# If you want to use filter with ConsoleUI, simply remove comments +# from section below and provide valid filter entries. +# Each filter line has to start with "filter= " keyword. +# Filter can contain special wildcard characters: +# * which stands for none or any literal; +# ? which stands for single character. +# Filters are not case-sensitive. + +#[Filters] +#filter= *math* +#filter= *radio* +#[End_Filters] +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + +# End of file diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimctrl/init/UI_TSanimctrl.cfg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimctrl/init/UI_TSanimctrl.cfg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,336 @@ +[Test] +title Example +create TSanimctrl foobar +foobar Example pa ra me ters +delete foobar +[Endtest] + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupEmptyL +CSAnimStartupCtrl TestConstructorL +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupEmptyL +CSAnimStartupCtrl TestConstructorNoMemoryL +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupEmptyValuesL +CSAnimStartupCtrl TestLoadNoContentL +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupUnknownFileL +CSAnimStartupCtrl TestLoadNoContentL +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupProtectedFileL +CSAnimStartupCtrl TestLoadNoContentL +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupExistingImageFileL +CSAnimStartupCtrl TestLoadHasContentL +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupExistingToneFileSilentL +CSAnimStartupCtrl TestLoadHasContentL +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupExistingToneFileVeryLowVolumeL +CSAnimStartupCtrl TestLoadHasContentL +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupExistingToneFileLowVolumeL +CSAnimStartupCtrl TestLoadHasContentL +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupExistingToneFileNormalVolumeL +CSAnimStartupCtrl TestLoadHasContentL +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupExistingToneFileTooLowVolumeL +CSAnimStartupCtrl TestLoadHasContentL +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupExistingToneFileTooHighVolumeL +CSAnimStartupCtrl TestLoadHasContentL +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupUnknownToneFileNormalVolumeL +CSAnimStartupCtrl TestLoadHasContentL +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupObjL +CSAnimStartupCtrl TestLoadNoMemoryL +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupObjL +CSAnimStartupCtrl TestCancelLoadL +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupObjL +CSAnimStartupCtrl TestLoadWhenActiveL +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupEmptyShowL +CSAnimStartupCtrl TestStartL +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupShowL +CSAnimStartupCtrl TestStartL +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupShowL +CSAnimStartupCtrl TestCancelStartL +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupShowL +CSAnimStartupCtrl TestStartWhenActiveL +CSAnimStartupCtrl Teardown +delete CSAnimStartupCtrl +[Endtest] + + + +// Obj2 +// --------------------------------------------------------------------------- +// Test table +// +// --------------------------------------------------------------------------- +// + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupEmptyCtr +CSAnimStartupCtrl TestConstructorCtr +CSAnimStartupCtrl TeardownCtr +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupEmptyCtr +CSAnimStartupCtrl TestConstructorNoMemoryCtr +CSAnimStartupCtrl TeardownCtr +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupEmptyCtr +CSAnimStartupCtrl TestLoadEmptyCtr +CSAnimStartupCtrl TeardownCtr +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupObjCtr +CSAnimStartupCtrl TestLoadEmptyCtr +CSAnimStartupCtrl TeardownCtr +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupObjCtr +CSAnimStartupCtrl TestLoadImageCtr +CSAnimStartupCtrl TeardownCtr +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupObjCtr +CSAnimStartupCtrl TestLoadImageCtr +CSAnimStartupCtrl TeardownCtr +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupObjCtr +CSAnimStartupCtrl TestLoadToneCtr +CSAnimStartupCtrl TeardownCtr +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupObjCtr +CSAnimStartupCtrl TestLoadBothCtr +CSAnimStartupCtrl TeardownCtr +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupObjCtr +CSAnimStartupCtrl TestLoadBothCtr +CSAnimStartupCtrl TeardownCtr +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupObjCtr +CSAnimStartupCtrl TestLoadWhenActiveCtr +CSAnimStartupCtrl TeardownCtr +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupObjCtr +CSAnimStartupCtrl TestCancelLoadCtr +CSAnimStartupCtrl TeardownCtr +delete CSAnimStartupCtrl +[Endtest] + + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupObjLoadedCtr +CSAnimStartupCtrl TestStartCtr +CSAnimStartupCtrl TeardownCtr +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupObjLoadedCtr +CSAnimStartupCtrl TestCancelStartCtr +CSAnimStartupCtrl TeardownCtr +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupObjLoadedCtr +CSAnimStartupCtrl TestStartNoMemoryCtr +CSAnimStartupCtrl TeardownCtr +delete CSAnimStartupCtrl +[Endtest] + +[Test] +title TestConstructorL +create TSanimctrl CSAnimStartupCtrl +CSAnimStartupCtrl SetupObjLoadedCtr +CSAnimStartupCtrl TestStartWhenActiveCtr +CSAnimStartupCtrl TeardownCtr +delete CSAnimStartupCtrl +[Endtest] + + + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimctrl/rom/UI_TSanimctrl.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimctrl/rom/UI_TSanimctrl.iby Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,10 @@ +#ifndef __TSANIMCTRL_IBY__ +#define __TSANIMCTRL_IBY__ + +file=ABI_DIR\BUILD_DIR\TSanimctrl.dll SHARED_LIB_DIR\TSanimctrl.dll + +//data=\epoc32\data\z\system\data\TestFramework.ini             \testframework\TestFramework.ini +data=\epoc32\data\z\system\data\TSanimctrl.cfg \testframework\TSanimctrl.cfg + + +#endif \ No newline at end of file diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimctrl/src/TSanimctrl.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimctrl/src/TSanimctrl.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,212 @@ +/* +* 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: This file contains testclass implementation. +* +*/ + +// INCLUDE FILES +#include +#include "TSanimctrl.h" +#include + +const TInt KTestRepository( 0x0AA0151E ); // Repository to use for testing +#include "sanimmockview.h" +#include "sanimctrlrootsuite.h" + + +// EXTERNAL DATA STRUCTURES +//extern ?external_data; + +// EXTERNAL FUNCTION PROTOTYPES +//extern ?external_function( ?arg_type,?arg_type ); + +// CONSTANTS +//const ?type ?constant_var = ?constant; + +// MACROS +//#define ?macro ?macro_def + +// LOCAL CONSTANTS AND MACROS +//const ?type ?constant_var = ?constant; +//#define ?macro_name ?macro_def + +// MODULE DATA STRUCTURES +//enum ?declaration +//typedef ?declaration + +// LOCAL FUNCTION PROTOTYPES +//?type ?function_name( ?arg_type, ?arg_type ); + +// FORWARD DECLARATIONS +//class ?FORWARD_CLASSNAME; + +// ============================= LOCAL FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// ?function_name ?description. +// ?description +// Returns: ?value_1: ?description +// ?value_n: ?description_line1 +// ?description_line2 +// ----------------------------------------------------------------------------- +// +/* +?type ?function_name( + ?arg_type arg, // ?description + ?arg_type arg) // ?description + { + + ?code // ?comment + + // ?comment + ?code + } +*/ + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CTSanimctrl::CTSanimctrl +// C++ default constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +// +CTSanimctrl::CTSanimctrl( + CTestModuleIf& aTestModuleIf,CSAnimMockView& view ): + CScriptBase( aTestModuleIf ), + iView(view) + { + + } + +// ----------------------------------------------------------------------------- +// CTSanimctrl::ConstructL +// Symbian 2nd phase constructor can leave. +// ----------------------------------------------------------------------------- +// +void CTSanimctrl::ConstructL() + { + //Read logger settings to check whether test case name is to be + //appended to log file name. + // iView = CSAnimMockView::NewL(); + RSettingServer settingServer; + TInt ret = settingServer.Connect(); + if(ret != KErrNone) + { + User::Leave(ret); + } + // Struct to StifLogger settigs. + TLoggerSettings loggerSettings; + // Parse StifLogger defaults from STIF initialization file. + ret = settingServer.GetLoggerSettings(loggerSettings); + if(ret != KErrNone) + { + User::Leave(ret); + } + // Close Setting server session + settingServer.Close(); + + TFileName logFileName; + + if(loggerSettings.iAddTestCaseTitle) + { + TName title; + TestModuleIf().GetTestCaseTitleL(title); + logFileName.Format(KTSanimctrlLogFileWithTitle, &title); + } + else + { + logFileName.Copy(KTSanimctrlLogFile); + } + + iLog = CStifLogger::NewL( KTSanimctrlLogPath, + logFileName, + CStifLogger::ETxt, + CStifLogger::EFile, + EFalse ); + + SendTestClassVersion(); + iParams.iRepositoryUid = TUid::Uid( KTestRepository ); + iParams.iAnimationPathKey = 1; + iParams.iFrameDelayKey = 2; + iParams.iTonePathKey = 3; + iParams.iVolumeKey = 4; + + } + +// ----------------------------------------------------------------------------- +// CTSanimctrl::NewL +// Two-phased constructor. +// ----------------------------------------------------------------------------- +// +CTSanimctrl* CTSanimctrl::NewL( + CTestModuleIf& aTestModuleIf,CSAnimMockView& aview ) + { + CTSanimctrl* self = new (ELeave) CTSanimctrl( aTestModuleIf,aview ); + // CSAnimMockView *iView = CSAnimMockView::NewL(); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop(); + + return self; + + } + +// Destructor +CTSanimctrl::~CTSanimctrl() + { + + // Delete resources allocated from test methods + Delete(); + + // Delete logger + delete iLog; + + } + +//----------------------------------------------------------------------------- +// CTSanimctrl::SendTestClassVersion +// Method used to send version of test class +//----------------------------------------------------------------------------- +// +void CTSanimctrl::SendTestClassVersion() + { + TVersion moduleVersion; + moduleVersion.iMajor = TEST_CLASS_VERSION_MAJOR; + moduleVersion.iMinor = TEST_CLASS_VERSION_MINOR; + moduleVersion.iBuild = TEST_CLASS_VERSION_BUILD; + + TFileName moduleName; + moduleName = _L("TSanimctrl.dll"); + + TBool newVersionOfMethod = ETrue; + TestModuleIf().SendTestModuleVersion(moduleVersion, moduleName, newVersionOfMethod); + } + +// ========================== OTHER EXPORTED FUNCTIONS ========================= + +// ----------------------------------------------------------------------------- +// LibEntryL is a polymorphic Dll entry point. +// Returns: CScriptBase: New CScriptBase derived object +// ----------------------------------------------------------------------------- +// +EXPORT_C CScriptBase* LibEntryL( + CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework + { + CSAnimCtrlRootSuite* rootSuite = CSAnimCtrlRootSuite::NewL(); + return ( CScriptBase* ) CTSanimctrl::NewL( aTestModuleIf ,rootSuite->MainView()); + + } + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimctrl/src/TSanimctrlBlocks.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimctrl/src/TSanimctrlBlocks.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,1026 @@ +/* +* 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: This file contains testclass implementation. +* +*/ + +// [INCLUDE FILES] - do not remove +#include +#include +#include +#include "TSanimctrl.h" + +#include + +#include +#include + +//#include "sanimstartupctrltestsuite.h" +#include "sanimmockview.h" +#include "testwaiter.h" + + +#include "sanimctrl.h" +//#include "sanimctrltestsuite.h" + + +//#pragma tagging OFF // To disable CodeTest tagging + +_LIT( KDummyImageFile, "C:\\temp\\test.ti2" ); // There is a plug-in for this type +_LIT( KDummyToneFile, "C:\\temp\\test.tt2" ); // There is a plug-in for this type +//#pragma tagging OFF // To disable CodeTest tagging + +const TInt KTestRepository( 0x0AA0151E ); // Repository to use for testing + +_LIT( KUnknownFile, "C:\\temp\\unknown.unk" ); +_LIT( KProtectedFile, "Z:\\sys\\bin\\sysap.exe" ); +//_LIT( KDummyImageFile, "C:\\temp\\test.ti2" ); // There is a plug-in for this type +//_LIT( KDummyToneFile, "C:\\temp\\test.tt2" ); // There is a plug-in for this type + +// ============================= LOCAL FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// ?function_name ?description. +// ?description +// Returns: ?value_1: ?description +// ?value_n: ?description_line1 +// ?description_line2 +// ----------------------------------------------------------------------------- +// +/* +?type ?function_name( + ?arg_type arg, // ?description + ?arg_type arg) // ?description + { + + ?code // ?comment + + // ?comment + ?code + } +*/ + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CTSanimctrl::Delete +// Delete here all resources allocated and opened from test methods. +// Called from destructor. +// ----------------------------------------------------------------------------- +// +void CTSanimctrl::Delete() + { + + } + +// ----------------------------------------------------------------------------- +// CTSanimctrl::RunMethodL +// Run specified method. Contains also table of test mothods and their names. +// ----------------------------------------------------------------------------- +// +TInt CTSanimctrl::RunMethodL( + CStifItemParser& aItem ) + { + + static TStifFunctionInfo const KFunctions[] = + { + // Copy this line for every implemented function. + // First string is the function name used in TestScripter script file. + // Second is the actual implementation member function. + ENTRY("Example", CTSanimctrl::ExampleL), + ENTRY("InitObj", CTSanimctrl::InitObjL), + ENTRY("SetupEmpty", CTSanimctrl::SetupEmptyL), + ENTRY("SetupEmptyValues", CTSanimctrl::SetupEmptyValuesL), + ENTRY("SetupUnknownFile", CTSanimctrl::SetupUnknownFileL), + ENTRY("SetupProtectedFile", CTSanimctrl::SetupProtectedFileL), + ENTRY("SetupExistingImageFile", CTSanimctrl::SetupExistingImageFileL), + ENTRY("SetupExistingToneFileSilent", CTSanimctrl::SetupExistingToneFileSilentL), + ENTRY("SetupExistingToneFileVeryLowVolume", CTSanimctrl::SetupExistingToneFileVeryLowVolumeL), + ENTRY("SetupExistingToneFileLowVolume", CTSanimctrl::SetupExistingToneFileLowVolumeL), + ENTRY("SetupExistingToneFileNormalVolume", CTSanimctrl::SetupExistingToneFileNormalVolumeL), + ENTRY("SetupExistingToneFileTooLowVolume", CTSanimctrl::SetupExistingToneFileTooLowVolumeL), + ENTRY("SetupExistingToneFileTooHighVolume", CTSanimctrl::SetupExistingToneFileTooHighVolumeL), + ENTRY("SetupUnknownToneFileNormalVolume", CTSanimctrl::SetupUnknownToneFileNormalVolumeL), + ENTRY("SetupObj", CTSanimctrl::SetupObjL), + ENTRY("SetupEmptyShow", CTSanimctrl::SetupEmptyShowL), + ENTRY("SetupShow", CTSanimctrl::SetupShowL), + ENTRY("Teardown", CTSanimctrl::Teardown), + ENTRY("TestConstructor", CTSanimctrl::TestConstructorL), + ENTRY("TestConstructorNoMemory", CTSanimctrl::TestConstructorNoMemoryL), + ENTRY( "TestLoadNoContent", CTSanimctrl::TestLoadNoContentL), + ENTRY("TestLoadHasContent", CTSanimctrl::TestLoadHasContentL), + ENTRY("TestLoadNoMemory", CTSanimctrl::TestLoadNoMemoryL), + ENTRY("TestCancelLoad", CTSanimctrl::TestCancelLoadL), + ENTRY("TestLoadWhenActive", CTSanimctrl::TestLoadWhenActiveL), + ENTRY("TestStart", CTSanimctrl::TestStartL), + ENTRY("TestCancelStart", CTSanimctrl::TestCancelStartL), + ENTRY("TestStartWhenActive", CTSanimctrl::TestStartWhenActiveL), + + ENTRY("SetupEmptyCtr", CTSanimctrl::SetupEmptyCtrL), + ENTRY("SetupObjCtr", CTSanimctrl::SetupObjCtrL), + ENTRY("SetupObjLoadedCtr", CTSanimctrl::SetupObjLoadedCtrL), + ENTRY("TeardownCtr", CTSanimctrl::TeardownCtr), + ENTRY("TestConstructorCtr", CTSanimctrl::TestConstructorCtrL), + ENTRY("TestConstructorNoMemoryCtr", CTSanimctrl::TestConstructorNoMemoryCtrL), + ENTRY("TestLoadEmptyCtr", CTSanimctrl::TestLoadEmptyCtrL), + ENTRY("TestLoadImageCtr", CTSanimctrl::TestLoadImageCtrL), + ENTRY("TestLoadToneCtr", CTSanimctrl::TestLoadToneCtrL), + ENTRY("TestLoadBothCtr", CTSanimctrl::TestLoadBothCtrL), + ENTRY("TestLoadWhenActiveCtr", CTSanimctrl::TestLoadWhenActiveCtrL), + ENTRY("TestCancelLoadCtr", CTSanimctrl::TestCancelLoadCtrL), + ENTRY("TestStartCtr", CTSanimctrl::TestStartCtrL), + ENTRY("TestCancelStartCtr", CTSanimctrl::TestCancelStartCtrL), + ENTRY("TestStartNoMemoryCtr",CTSanimctrl::TestStartNoMemoryCtrL), + ENTRY("TestStartWhenActiveCtr",CTSanimctrl::TestStartWhenActiveCtrL) + //ADD NEW ENTRY HERE + // [test cases entries] - Do not remove + + }; + + const TInt count = sizeof( KFunctions ) / + sizeof( TStifFunctionInfo ); + + return RunInternalL( KFunctions, count, aItem ); + + } + +// Praveen-2 + +// --------------------------------------------------------------------------- +// CSAnimCtrlTestSuite::SetupEmptyL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::SetupEmptyCtrL() + { + iTestObj2 = NULL; + iWaiter = CTestWaiter::NewL(); + iWaiter2 = CTestWaiter::NewL(); + iView.SetComponent( *iTestObj2 ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimCtrlTestSuite::SetupObjL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::SetupObjCtrL() + { + SetupEmptyCtrL(); + //CSAnimMockView& view = *iView; + iTestObj2 = CSAnimCtrl::NewL( iView.Rect(), iView ); + iView.SetComponent( *iTestObj2 ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimCtrlTestSuite::SetupObjLoadedL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::SetupObjLoadedCtrL() + { + SetupObjCtrL(); + iTestObj2->Load( + KDummyImageFile, 1000, ETrue, 1, + KDummyToneFile, 4, 0, 1, + iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // User::LeaveIfError( iWaiter->iStatus.Int() ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimCtrlTestSuite::Teardown +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::TeardownCtr() + { + delete iWaiter; + iWaiter = NULL; + delete iWaiter2; + iWaiter2 = NULL; + delete iTestObj; + iTestObj2 = NULL; + + REComSession::FinalClose(); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimCtrlTestSuite::TestConstructorL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::TestConstructorCtrL() + { + //CSAnimMockView& view = *iView; + iTestObj2 = CSAnimCtrl::NewL( iView.Rect(), iView ); + //STIF_ASSERT_EQUALS( iTestObj,KErrNone ); + delete iTestObj; + iTestObj = NULL; + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimCtrlTestSuite::TestConstructorNoMemoryL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::TestConstructorNoMemoryCtrL() + { + //CSAnimMockView& view = *iView; + iTestObj2 = CSAnimCtrl::NewL( iView.Rect(), iView ); + //STIF_ASSERT_EQUALS( !iTestObj , KErrNone); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimCtrlTestSuite::TestLoadEmptyL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::TestLoadEmptyCtrL() + { + /* + * Returns panic.. valid condition + [Test] + title TestLoadEmptyCtr + create TSanimctrl CSAnimStartupCtrl + CSAnimStartupCtrl SetupEmptyCtr + CSAnimStartupCtrl TestLoadEmptyCtr + CSAnimStartupCtrl TeardownCtr + delete CSAnimStartupCtrl + [Endtest] + + iTestObj2->Load( + KNullDesC, 1000, ETrue, 1, + KNullDesC, 4, 0, 1, + iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // STIF_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + * + */ + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimCtrlTestSuite::TestLoadImageL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::TestLoadImageCtrL() + { + iTestObj2->Load( + KDummyImageFile, 1000, ETrue, 1, + KNullDesC, 4, 0, 1, + iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. +// STIF_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimCtrlTestSuite::TestLoadToneL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::TestLoadToneCtrL() + { + iTestObj2->Load( + KNullDesC, 1000, ETrue, 1, + KDummyToneFile, 4, 0, 1, + iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // STIF_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimCtrlTestSuite::TestLoadBothL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::TestLoadBothCtrL() + { + iTestObj2->Load( + KDummyImageFile, 1000, ETrue, 1, + KDummyToneFile, 4, 0, 1, + iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // STIF_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimCtrlTestSuite::TestLoadWhenActiveL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::TestLoadWhenActiveCtrL() + { + iTestObj2->Load( + KDummyImageFile, 1000, ETrue, 1, + KNullDesC, 4, 0, 1, + iWaiter->iStatus ); + iWaiter->Activate(); + iTestObj2->Load( + KNullDesC, 1000, ETrue, 1, + KDummyToneFile, 4, 0, 1, + iWaiter2->iStatus ); + iWaiter2->Activate(); + CActiveScheduler::Start(); // Waiter2 stops it when request completes. +// STIF_ASSERT_EQUALS( iWaiter2->iStatus.Int(), KErrNotReady ); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // STIF_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimCtrlTestSuite::TestCancelLoadL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::TestCancelLoadCtrL() + { + iTestObj2->Load( + KDummyImageFile, 1000, ETrue, 1, + KDummyToneFile, 4, 0, 1, + iWaiter->iStatus ); + iWaiter->Activate(); + iTestObj2->Cancel(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // STIF_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrCancel ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimCtrlTestSuite::TestStartL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::TestStartCtrL() + { + iTestObj2->Start( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + //STIF_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimCtrlTestSuite::TestCancelStartL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::TestCancelStartCtrL() + { + /* + [Test] + title TestCancelStartCtr + create TSanimctrl CSAnimStartupCtrl + CSAnimStartupCtrl SetupObjLoadedCtr + CSAnimStartupCtrl TestCancelStartCtr + CSAnimStartupCtrl TeardownCtr + delete CSAnimStartupCtrl + [Endtest] + + iTestObj2->Start( iWaiter->iStatus ); + iWaiter->Activate(); + iTestObj2->Cancel(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // if ( iWaiter->iStatus.Int() == KErrCancel ) + * + */ + return KErrNone; + + } + + +// --------------------------------------------------------------------------- +// CSAnimCtrlTestSuite::TestStartNoMemoryL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::TestStartNoMemoryCtrL() + { + iTestObj2->Start( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + //STIF_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); // Mock plug-in does not reserve memory in Load + return KErrNone; + } + + + +// --------------------------------------------------------------------------- +// CSAnimCtrlTestSuite::TestStartWhenActiveL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::TestStartWhenActiveCtrL() + { + iTestObj2->Start( iWaiter->iStatus ); + iWaiter->Activate(); + iTestObj2->Start( iWaiter2->iStatus ); + iWaiter2->Activate(); + CActiveScheduler::Start(); // Waiter2 stops it when request completes. + // STIF_ASSERT_EQUALS( iWaiter2->iStatus.Int(), KErrNotReady ); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // STIF_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + return KErrNone; + } + + +//Praveen-2 + +// ======== MEMBER FUNCTIONS ======== + + +// --------------------------------------------------------------------------- +// CSAnimStartupCtrlTestSuite::SetupParamsL +// +// --------------------------------------------------------------------------- +// +void CTSanimctrl::SetupParamsL( + const TDesC& aImageFileName, + const TDesC& aToneFileName, + const TInt aFrameDelay, + const TInt aVolume, + const TInt /*aVolumeRamp*/ ) + { + CRepository* repository = CRepository::NewLC( TUid::Uid( KTestRepository ) ); + User::LeaveIfError( repository->Set( iParams.iAnimationPathKey, aImageFileName ) ); + User::LeaveIfError( repository->Set( iParams.iTonePathKey, aToneFileName ) ); + User::LeaveIfError( repository->Set( iParams.iFrameDelayKey, aFrameDelay ) ); + User::LeaveIfError( repository->Set( iParams.iVolumeKey, aVolume ) ); + CleanupStack::PopAndDestroy( repository ); + } + + +// --------------------------------------------------------------------------- +// CSAnimStartupCtrlTestSuite::SetupProfileL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::SetupProfileL( const TInt aRingingType, const TInt aRingingVolume ) + { + CRepository* repository = CRepository::NewLC( KCRUidProfileEngine ); + User::LeaveIfError( repository->Set( KProEngActiveRingingType, aRingingType ) ); + User::LeaveIfError( repository->Set( KProEngActiveRingingVolume, aRingingVolume ) ); + CleanupStack::PopAndDestroy( repository ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimStartupCtrlTestSuite::InitObjL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::InitObjL() + { + // iView = CSAnimMockView::NewL(); + //CSAnimMockView& view = *iView; + iTestObj = CSAnimStartupCtrl::NewL( iView.Rect(), iView ); + iView.SetComponent( *iTestObj ); + iTestObj->Load (iParams,ETrue,0,iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + return KErrNone; + } + + + +// --------------------------------------------------------------------------- +// CSAnimStartupCtrlTestSuite::SetupEmptyL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::SetupEmptyL() + { + SetupParamsL( KNullDesC, KNullDesC, 0, 0, 0 ); + SetupProfileL( EProfileRingingTypeRinging, 4 ); + iTestObj = NULL; + iWaiter = CTestWaiter::NewL(); + iWaiter2 = CTestWaiter::NewL(); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimStartupCtrlTestSuite::SetupEmptyValuesL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::SetupEmptyValuesL() + { + SetupEmptyL(); + SetupParamsL( KNullDesC, KNullDesC, 0, 0, 0 ); + SetupProfileL( EProfileRingingTypeRinging, 4 ); + + // iView = CSAnimMockView::NewL(); + //CSAnimMockView& view = *iView; + iTestObj = CSAnimStartupCtrl::NewL( iView.Rect(), iView ); + iView.SetComponent( *iTestObj ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimStartupCtrlTestSuite::SetupUnknownFileL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::SetupUnknownFileL() + { + SetupEmptyL(); + SetupParamsL( KUnknownFile, KNullDesC, 0, 0, 0 ); + SetupProfileL( EProfileRingingTypeRinging, 4 ); + //iView = CSAnimMockView::NewL(); + //CSAnimMockView& view = *iView; + iTestObj = CSAnimStartupCtrl::NewL( iView.Rect(), iView ); + iView.SetComponent( *iTestObj ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimStartupCtrlTestSuite::SetupProtectedFileL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::SetupProtectedFileL() + { + SetupEmptyL(); + SetupParamsL( KProtectedFile, KNullDesC, 0, 0, 0 ); + SetupProfileL( EProfileRingingTypeRinging, 4 ); + // iView = CSAnimMockView::NewL(); + // CSAnimMockView& view = *iView; + iTestObj = CSAnimStartupCtrl::NewL( iView.Rect(), iView ); + iView.SetComponent( *iTestObj ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimStartupCtrlTestSuite::SetupExistingImageFileL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::SetupExistingImageFileL() + { + SetupEmptyL(); + SetupParamsL( KDummyImageFile, KNullDesC, 0, 0, 0 ); + SetupProfileL( EProfileRingingTypeRinging, 4 ); + // iView = CSAnimMockView::NewL(); + //CSAnimMockView& view = *iView; + iTestObj = CSAnimStartupCtrl::NewL( iView.Rect(), iView ); + iView.SetComponent( *iTestObj ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimStartupCtrlTestSuite::SetupExistingToneFileSilentL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::SetupExistingToneFileSilentL() + { + SetupEmptyL(); + SetupParamsL( KNullDesC, KDummyToneFile, 0, 2, 0 ); + SetupProfileL( EProfileRingingTypeSilent, 4 ); + // iView = CSAnimMockView::NewL(); + //CSAnimMockView& view = *iView; + iTestObj = CSAnimStartupCtrl::NewL( iView.Rect(), iView ); + iView.SetComponent( *iTestObj ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimStartupCtrlTestSuite::SetupExistingToneFileVeryLowVolumeL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::SetupExistingToneFileVeryLowVolumeL() + { + SetupEmptyL(); + SetupParamsL( KNullDesC, KDummyToneFile, 0, 2, 0 ); + SetupProfileL( EProfileRingingTypeRinging, 0 ); + // iView = CSAnimMockView::NewL(); + //CSAnimMockView& view = *iView; + iTestObj = CSAnimStartupCtrl::NewL( iView.Rect(), iView ); + iView.SetComponent( *iTestObj ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimStartupCtrlTestSuite::SetupExistingToneFileLowVolumeL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::SetupExistingToneFileLowVolumeL() + { + SetupEmptyL(); + SetupParamsL( KNullDesC, KDummyToneFile, 0, 2, 0 ); + SetupProfileL( EProfileRingingTypeRinging, 1 ); + // iView = CSAnimMockView::NewL(); + // CSAnimMockView& view = *iView; + iTestObj = CSAnimStartupCtrl::NewL( iView.Rect(), iView ); + iView.SetComponent( *iTestObj ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimStartupCtrlTestSuite::SetupExistingToneFileNormalVolumeL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::SetupExistingToneFileNormalVolumeL() + { + SetupEmptyL(); + SetupParamsL( KNullDesC, KDummyToneFile, 0, 2, 0 ); + SetupProfileL( EProfileRingingTypeRinging, 4 ); + // iView = CSAnimMockView::NewL(); + //CSAnimMockView& view = *iView; + iTestObj = CSAnimStartupCtrl::NewL( iView.Rect(), iView ); + iView.SetComponent( *iTestObj ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimStartupCtrlTestSuite::SetupExistingToneFileTooLowVolumeL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::SetupExistingToneFileTooLowVolumeL() + { + SetupEmptyL(); + SetupParamsL( KNullDesC, KDummyToneFile, 0, -1, 0 ); + SetupProfileL( EProfileRingingTypeRinging, 4 ); + // iView = CSAnimMockView::NewL(); + //CSAnimMockView& view = *iView; + iTestObj = CSAnimStartupCtrl::NewL( iView.Rect(), iView ); + iView.SetComponent( *iTestObj ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimStartupCtrlTestSuite::SetupExistingToneFileTooHighVolumeL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::SetupExistingToneFileTooHighVolumeL() + { + SetupEmptyL(); + SetupParamsL( KNullDesC, KDummyToneFile, 0, 11, 0 ); + SetupProfileL( EProfileRingingTypeRinging, 4 ); + // iView = CSAnimMockView::NewL(); + //CSAnimMockView& view = *iView; + iTestObj = CSAnimStartupCtrl::NewL( iView.Rect(), iView ); + iView.SetComponent( *iTestObj ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimStartupCtrlTestSuite::SetupUnknownToneFileNormalVolumeL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::SetupUnknownToneFileNormalVolumeL() + { + SetupEmptyL(); + SetupParamsL( KNullDesC, KUnknownFile, 0, 2, 0 ); + SetupProfileL( EProfileRingingTypeRinging, 4 ); + // iView = CSAnimMockView::NewL(); + // CSAnimMockView& view = *iView; + iTestObj = CSAnimStartupCtrl::NewL( iView.Rect(), iView ); + iView.SetComponent( *iTestObj ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimStartupCtrlTestSuite::SetupObjL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::SetupObjL() + { + SetupEmptyL(); + SetupParamsL( KDummyImageFile, KDummyToneFile, 0, 4, 0 ); + SetupProfileL( EProfileRingingTypeRinging, 4 ); + //iView = CSAnimMockView::NewL(); + //CSAnimMockView& view = *iView; + iTestObj = CSAnimStartupCtrl::NewL( iView.Rect(), iView ); + iView.SetComponent( *iTestObj ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimStartupCtrlTestSuite::SetupEmptyShowL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::SetupEmptyShowL() + { + SetupEmptyL(); + SetupParamsL( KNullDesC, KNullDesC, 0, 0, 0 ); + SetupProfileL( EProfileRingingTypeRinging, 4 ); + InitObjL(); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimStartupCtrlTestSuite::SetupShowL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::SetupShowL() + { + SetupEmptyL(); + SetupParamsL( KDummyImageFile, KDummyToneFile, 0, 4, 0 ); + SetupProfileL( EProfileRingingTypeRinging, 4 ); + InitObjL(); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimStartupCtrlTestSuite::Teardown +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::Teardown() + { + delete iWaiter; + iWaiter = NULL; + delete iWaiter2; + iWaiter2 = NULL; + delete iTestObj; + iTestObj = NULL; + + REComSession::FinalClose(); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimStartupCtrlTestSuite::TestConstructorL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::TestConstructorL() + { + iView.SetComponent( *iTestObj ); + // iView = CSAnimMockView::NewL(); + //CSAnimMockView& view = *iView; + iTestObj =CSAnimStartupCtrl::NewL( iView.Rect(), iView ); + //STIF_ASSERT_EQUALS( iTestObj,1 ); + delete iTestObj; + iTestObj = NULL; + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimStartupCtrlTestSuite::TestConstructorNoMemoryL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::TestConstructorNoMemoryL() + { + //iView = CSAnimMockView::NewL(); + //CSAnimMockView& view = *iView; + iTestObj = CSAnimStartupCtrl::NewL( iView.Rect(), iView ); + // STIF_ASSERT_EQUALS( !iTestObj,0 ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimStartupCtrlTestSuite::TestLoadNoContentL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::TestLoadNoContentL() + { + iTestObj->Load( iParams, EFalse, 0, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + //STIF_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + // STIF_ASSERT_EQUALS( iTestObj->HasContent(), EFalse ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimStartupCtrlTestSuite::TestLoadHasContentL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::TestLoadHasContentL() + { + iTestObj->Load( iParams, ETrue, 1, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // STIF_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + // STIF_ASSERT_EQUALS( iTestObj->HasContent(), ETrue ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimStartupCtrlTestSuite::TestLoadNoMemoryL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::TestLoadNoMemoryL() + { + iTestObj->Load( iParams, EFalse, 1, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // STIF_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNoMemory ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimStartupCtrlTestSuite::TestCancelLoadL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::TestCancelLoadL() + { + iTestObj->Load( iParams, ETrue, 0, iWaiter->iStatus ); + iWaiter->Activate(); + iTestObj->Cancel(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // STIF_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrCancel ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimStartupCtrlTestSuite::TestLoadWhenActiveL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::TestLoadWhenActiveL() + { + iTestObj->Load( iParams, ETrue, 0, iWaiter->iStatus ); + iWaiter->Activate(); + iTestObj->Load( iParams, ETrue, 0, iWaiter2->iStatus ); + iWaiter2->Activate(); + CActiveScheduler::Start(); // Waiter2 stops it when request completes. + // STIF_ASSERT_EQUALS( iWaiter2->iStatus.Int(), KErrNotReady ); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // STIF_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimStartupCtrlTestSuite::TestStartL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::TestStartL() + { + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // STIF_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimStartupCtrlTestSuite::TestCancelStartL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::TestCancelStartL() + { + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + iTestObj->Cancel(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // STIF_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrCancel ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimStartupCtrlTestSuite::TestStartWhenActiveL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimctrl::TestStartWhenActiveL() + { + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + iTestObj->Start( iWaiter2->iStatus ); + iWaiter2->Activate(); + CActiveScheduler::Start(); // Waiter2 stops it when request completes. + // STIF_ASSERT_EQUALS( iWaiter2->iStatus.Int(), KErrNotReady ); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // STIF_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + return KErrNone; + } + + + + +// ----------------------------------------------------------------------------- +// CTSanimctrl::ExampleL +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CTSanimctrl::ExampleL( CStifItemParser& aItem ) + { + + // Print to UI + _LIT( KTSanimctrl, "TSanimctrl" ); + _LIT( KExample, "In Example" ); + TestModuleIf().Printf( 0, KTSanimctrl, KExample ); + // Print to log file + iLog->Log( KExample ); + + TInt i = 0; + TPtrC string; + _LIT( KParam, "Param[%i]: %S" ); + while ( aItem.GetNextString ( string ) == KErrNone ) + { + TestModuleIf().Printf( i, KTSanimctrl, + KParam, i, &string ); + i++; + } + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTSanimctrl::?member_function +// ?implementation_description +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +/* +TInt CTSanimctrl::?member_function( + CItemParser& aItem ) + { + + ?code + + } +*/ + +// ========================== OTHER EXPORTED FUNCTIONS ========================= +// None + +// [End of File] - Do not remove + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimctrl/src/sanimctrlrootsuite.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimctrl/src/sanimctrlrootsuite.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,96 @@ +/* +* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Symbian Foundation License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Implementation of CSAnimCtrlRootSuite class +* +*/ + + +#include "sanimctrlrootsuite.h" +#include "sanimmockview.h" + +#pragma tagging OFF // To disable CodeTest tagging + +// ======== MEMBER FUNCTIONS ======== + +// --------------------------------------------------------------------------- +// CSAnimCtrlRootSuite::NewL +// +// --------------------------------------------------------------------------- +// +CSAnimCtrlRootSuite* CSAnimCtrlRootSuite::NewL() + { + CSAnimCtrlRootSuite* self = CSAnimCtrlRootSuite::NewLC(); + CleanupStack::Pop( self ); + return self; + } + + +// --------------------------------------------------------------------------- +// CSAnimCtrlRootSuite::NewLC +// +// --------------------------------------------------------------------------- +// +CSAnimCtrlRootSuite* CSAnimCtrlRootSuite::NewLC() + { + CSAnimCtrlRootSuite* self = new( ELeave ) CSAnimCtrlRootSuite; + CleanupStack::PushL( self ); + self->ConstructL(); + return self; + } + + +// --------------------------------------------------------------------------- +// CSAnimCtrlRootSuite::~CSAnimCtrlRootSuite +// +// --------------------------------------------------------------------------- +// +CSAnimCtrlRootSuite::~CSAnimCtrlRootSuite() + { + delete iView; + } + + +// --------------------------------------------------------------------------- +// CSAnimCtrlRootSuite::MainView +// +// --------------------------------------------------------------------------- +// +CSAnimMockView& CSAnimCtrlRootSuite::MainView() + { + return *iView; + } + + +// --------------------------------------------------------------------------- +// CSAnimCtrlRootSuite::CSAnimCtrlRootSuite +// +// --------------------------------------------------------------------------- +// +CSAnimCtrlRootSuite::CSAnimCtrlRootSuite() + { + } + + +// --------------------------------------------------------------------------- +// CSAnimCtrlRootSuite::ConstructL +// +// --------------------------------------------------------------------------- +// +void CSAnimCtrlRootSuite::ConstructL() + { + iView = CSAnimMockView::NewL(); + } + + +#pragma tagging ON // To stop disabling CodeTest tagging diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimctrl/src/sanimmockview.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimctrl/src/sanimmockview.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,144 @@ +/* +* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Symbian Foundation License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Implementation of CSAnimMockView class +* +*/ + + +#include "sanimmockview.h" +#include "trace.h" + +// ======== MEMBER FUNCTIONS ======== + +// --------------------------------------------------------------------------- +// CSAnimMockView::NewL +// +// --------------------------------------------------------------------------- +// +CSAnimMockView* CSAnimMockView::NewL() + { + FUNC_LOG; + + CSAnimMockView* self = new( ELeave ) CSAnimMockView; + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + + +// --------------------------------------------------------------------------- +// CSAnimMockView::~CSAnimMockView +// +// --------------------------------------------------------------------------- +// +CSAnimMockView::~CSAnimMockView() + { + FUNC_LOG; + } + + +// --------------------------------------------------------------------------- +// CSAnimMockView::SetComponent +// +// --------------------------------------------------------------------------- +// +void CSAnimMockView::SetComponent( CCoeControl& aComponent ) + { + FUNC_LOG; + + iComponent = &aComponent; + } + + +// --------------------------------------------------------------------------- +// CSAnimMockView::RemoveComponent +// +// --------------------------------------------------------------------------- +// +void CSAnimMockView::RemoveComponent() + { + FUNC_LOG; + + iComponent = NULL; + } + + +// --------------------------------------------------------------------------- +// CSAnimMockView::CSAnimMockView +// +// --------------------------------------------------------------------------- +// +CSAnimMockView::CSAnimMockView() + { + FUNC_LOG; + } + + +// --------------------------------------------------------------------------- +// CSAnimMockView::ConstructL +// +// --------------------------------------------------------------------------- +// +void CSAnimMockView::ConstructL() + { + FUNC_LOG; + + CreateWindowL(); + SetRect( TRect( 0, 0, 256, 256 ) ); + ActivateL(); + } + + +// --------------------------------------------------------------------------- +// CSAnimMockView::CountComponentControls +// +// --------------------------------------------------------------------------- +TInt CSAnimMockView::CountComponentControls() const + { + if ( iComponent ) return 1; + return 0; + } + + +// --------------------------------------------------------------------------- +// CSAnimMockView::ComponentControl +// +// --------------------------------------------------------------------------- + +CCoeControl* CSAnimMockView::ComponentControl( TInt /*aIndex*/ ) const + { + return iComponent; + } + + +// --------------------------------------------------------- +// CSAnimMockView::Draw +// +// --------------------------------------------------------- +// +void CSAnimMockView::Draw( const TRect& aRect ) const + { + FUNC_LOG; + + CWindowGc& gc = SystemGc(); + + gc.Clear( aRect ); + gc.SetPenStyle( CGraphicsContext::ENullPen ); + gc.SetBrushColor( KRgbDarkYellow ); + gc.SetBrushStyle( CGraphicsContext::ESolidBrush ); + gc.Clear(); + + } + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimctrl/src/testwaiter.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimctrl/src/testwaiter.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,92 @@ +/* +* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Symbian Foundation License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Implementation of CTestWaiter class +* +*/ + + +#include "testwaiter.h" + +#pragma tagging OFF // To disable CodeTest tagging + +// ======== MEMBER FUNCTIONS ======== + +// --------------------------------------------------------------------------- +// CTestWaiter::NewL +// +// --------------------------------------------------------------------------- +// +CTestWaiter* CTestWaiter::NewL() + { + CTestWaiter* self = new( ELeave ) CTestWaiter; + return self; + } + + +// --------------------------------------------------------------------------- +// CTestWaiter::~CTestWaiter +// +// --------------------------------------------------------------------------- +// +CTestWaiter::~CTestWaiter() + { + } + + +// --------------------------------------------------------------------------- +// CTestWaiter::Activate +// +// --------------------------------------------------------------------------- +// +void CTestWaiter::Activate() + { + __ASSERT_ALWAYS( !IsActive(), User::Invariant() ); + + SetActive(); + } + + +// --------------------------------------------------------------------------- +// CTestWaiter::CTestWaiter +// +// --------------------------------------------------------------------------- +// +CTestWaiter::CTestWaiter() + : CActive( EPriorityStandard ) + { + CActiveScheduler::Add( this ); + } + + +// --------------------------------------------------------------------------- +// CTestWaiter::DoCancel +// +// --------------------------------------------------------------------------- +// +void CTestWaiter::DoCancel() + { + } + + +// --------------------------------------------------------------------------- +// CTestWaiter::RunL +// +// --------------------------------------------------------------------------- +// +void CTestWaiter::RunL() + { + CActiveScheduler::Stop(); + } + +#pragma tagging ON // To stop disabling CodeTest tagging diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimengine/Bmarm/TSanimengineU.DEF --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimengine/Bmarm/TSanimengineU.DEF Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,3 @@ +EXPORTS + LibEntryL__FR13CTestModuleIf @ 1 NONAME R3UNUSED ; LibEntryL(CTestModuleIf &) + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimengine/Bwins/TSanimengineu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimengine/Bwins/TSanimengineu.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,3 @@ +EXPORTS + ?LibEntryL@@YAPAVCScriptBase@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CScriptBase * __cdecl LibEntryL(class CTestModuleIf &) + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimengine/conf/UI_TSanimEngine.cfg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimengine/conf/UI_TSanimEngine.cfg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,525 @@ +[Test] +title Example +create TSanimengine CSAnimEngine +CSAnimEngine Example pa ra me ters +delete CSAnimEngine +[Endtest] + + +[Test] +title TestConstructor +create TSanimengine CSAnimEngine +CSAnimEngine SetupEmpty +CSAnimEngine TestConstructor +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + +[Test] +title TestConstructorNoMemory +create TSanimengine CSAnimEngine +CSAnimEngine SetupEmpty +CSAnimEngine TestConstructorNoMemory +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + +[Test] +title TestConstructor +create TSanimengine CSAnimEngine +CSAnimEngine SetupObj +CSAnimEngine TestExtensionlessFile +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + +[Test] +title TestConstructor +create TSanimengine CSAnimEngine +CSAnimEngine SetupObj +CSAnimEngine TestTooLongExtension +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + +[Test] +title SetImagePropertiesUnknownExtension +create TSanimengine CSAnimEngine +CSAnimEngine SetupObj +CSAnimEngine SetImagePropertiesUnknownExtension +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + +[Test] +title SetImagePropertiesUnknownExtensionNoMemory +create TSanimengine CSAnimEngine +CSAnimEngine SetupObj +CSAnimEngine SetImagePropertiesUnknownExtensionNoMemory +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + +[Test] +title SetImagePropertiesKnownExtension +create TSanimengine CSAnimEngine +CSAnimEngine SetupObj +CSAnimEngine SetImagePropertiesKnownExtension +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + +[Test] +title SetImagePropertiesKnownExtensionNoMemory +create TSanimengine CSAnimEngine +CSAnimEngine SetupObj +CSAnimEngine SetImagePropertiesKnownExtensionNoMemory +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + +[Test] +title SetImagePropertiesManyPlugins +create TSanimengine CSAnimEngine +CSAnimEngine SetupObj +CSAnimEngine SetImagePropertiesManyPlugins +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + +[Test] +title SetImagePropertiesManyPluginsNoMemory +create TSanimengine CSAnimEngine +CSAnimEngine SetupObj +CSAnimEngine SetImagePropertiesManyPluginsNoMemory +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + +[Test] +title SetImagePropertiesWildcardMatch +create TSanimengine CSAnimEngine +CSAnimEngine SetupObj +CSAnimEngine SetImagePropertiesWildcardMatch +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + +[Test] +title SetImagePropertiesWildcardMatchNoMemory +create TSanimengine CSAnimEngine +CSAnimEngine SetupObj +CSAnimEngine SetImagePropertiesWildcardMatchNoMemory +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + +[Test] +title SetImagePropertiesManyExtensions +create TSanimengine CSAnimEngine +CSAnimEngine SetupObj +CSAnimEngine SetImagePropertiesManyExtensions +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + + +[Test] +title SetImagePropertiesManyExtensionsNoMemory +create TSanimengine CSAnimEngine +CSAnimEngine SetupObj +CSAnimEngine SetImagePropertiesManyExtensionsNoMemory +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + + +[Test] +title SetTonePropertiesKnownExtension +create TSanimengine CSAnimEngine +CSAnimEngine SetupObj +CSAnimEngine SetTonePropertiesKnownExtension +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + +[Test] +title SetTonePropertiesKnownExtensionNoMemory +create TSanimengine CSAnimEngine +CSAnimEngine SetupObj +CSAnimEngine SetTonePropertiesKnownExtensionNoMemory +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + + +[Test] +title SetTonePropertiesManyPlugins +create TSanimengine CSAnimEngine +CSAnimEngine SetupObj +CSAnimEngine SetTonePropertiesManyPlugins +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + +[Test] +title SetTonePropertiesManyPluginsNoMemory +create TSanimengine CSAnimEngine +CSAnimEngine SetupObj +CSAnimEngine SetTonePropertiesManyPluginsNoMemory +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + +[Test] +title SetTonePropertiesWildcardMatch +create TSanimengine CSAnimEngine +CSAnimEngine SetupObj +CSAnimEngine SetTonePropertiesWildcardMatch +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + +[Test] +title SetTonePropertiesWildcardMatchNoMemory +create TSanimengine CSAnimEngine +CSAnimEngine SetupObj +CSAnimEngine SetTonePropertiesWildcardMatchNoMemory +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + +[Test] +title TestLoadEmpty +create TSanimengine CSAnimEngine +CSAnimEngine SetupObj +CSAnimEngine TestLoadEmpty +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + + +[Test] +title TestCancelLoadEmpty +create TSanimengine CSAnimEngine +CSAnimEngine SetupObj +CSAnimEngine TestCancelLoadEmpty +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + +[Test] +title TestLoadNoMemory +create TSanimengine CSAnimEngine +CSAnimEngine SetupObj +CSAnimEngine TestLoadNoMemory +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + + + +[Test] +title TestCancelLoad +create TSanimengine CSAnimEngine +CSAnimEngine SetupImagePlugin +CSAnimEngine TestCancelLoad +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + +[Test] +title SetImagePropertiesUnknownExtensionNoMemory +create TSanimengine CSAnimEngine +CSAnimEngine SetupImagePlugin +CSAnimEngine TestLoadNoMemory +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + +[Test] +title TestCancelLoad +create TSanimengine CSAnimEngine +CSAnimEngine SetupTonePlugin +CSAnimEngine TestCancelLoad +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + +[Test] +title TestLoadNoMemory +create TSanimengine CSAnimEngine +CSAnimEngine SetupTonePlugin +CSAnimEngine TestLoadNoMemory +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + +[Test] +title TestLoadImagePluginFaster +create TSanimengine CSAnimEngine +CSAnimEngine SetupImagePluginFaster +CSAnimEngine TestLoadImagePluginFaster +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + +[Test] +title TestLoadTonePluginFaster +create TSanimengine CSAnimEngine +CSAnimEngine SetupTonePluginFaster +CSAnimEngine TestLoadTonePluginFaster +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + +[Test] +title SetImagePropertiesUnknownExtensionNoMemory +create TSanimengine CSAnimEngine +CSAnimEngine SetupObj +CSAnimEngine SetImagePropertiesUnknownExtensionNoMemory +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + +[Test] +title TestLoadImagePluginReturnsError +create TSanimengine CSAnimEngine +CSAnimEngine SetupImagePluginReturnsError +CSAnimEngine TestLoadImagePluginReturnsError +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + +[Test] +title TestLoadTonePluginReturnsError +create TSanimengine CSAnimEngine +CSAnimEngine SetupTonePluginReturnsError +CSAnimEngine TestLoadTonePluginReturnsError +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + +[Test] +title TestBackroundColour +create TSanimengine CSAnimEngine +CSAnimEngine SetupImageLoaded +CSAnimEngine TestBackroundColour +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + +[Test] +title TestBackroundColour +create TSanimengine CSAnimEngine +CSAnimEngine SetupToneLoaded +CSAnimEngine TestBackroundColour +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + +[Test] +title TestCancelNotActive +create TSanimengine CSAnimEngine +CSAnimEngine SetupImagePlugin +CSAnimEngine TestCancelNotActive +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + +[Test] +title TestLoadWhenActive +create TSanimengine CSAnimEngine +CSAnimEngine SetupTonePlugin +CSAnimEngine TestLoadWhenActive +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + +[Test] +title TestStartWhenActive +create TSanimengine CSAnimEngine +CSAnimEngine SetupImageLoaded +CSAnimEngine TestStartWhenActive +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + +[Test] +title TestStartWhenActiveL +create TSanimengine CSAnimEngine +CSAnimEngine SetupToneLoaded +CSAnimEngine TestStartWhenActive +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + + +[Test] +title TestStart +create TSanimengine CSAnimEngine +CSAnimEngine SetupObj +CSAnimEngine TestStart +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + + +[Test] +title TestStartNotReady +create TSanimengine CSAnimEngine +CSAnimEngine SetupImagePlugin +CSAnimEngine TestStartNotReady +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + +[Test] +title TestStart +create TSanimengine CSAnimEngine +CSAnimEngine SetupImageLoaded +CSAnimEngine TestStart +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + +[Test] +title TestStart +create TSanimengine CSAnimEngine +CSAnimEngine SetupToneLoaded +CSAnimEngine TestStart +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + +[Test] +title TestStart +create TSanimengine CSAnimEngine +CSAnimEngine SetupBothLoaded +CSAnimEngine TestStart +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + + +[Test] +title TestLoadAgain +create TSanimengine CSAnimEngine +CSAnimEngine SetupBothLoaded +CSAnimEngine TestLoadAgain +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + +[Test] +title TestStartAgain +create TSanimengine CSAnimEngine +CSAnimEngine SetupBothFinished +CSAnimEngine TestStartAgain +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + + +[Test] +title TestLoadAndStartAnotherShow +create TSanimengine CSAnimEngine +CSAnimEngine SetupBothFinished +CSAnimEngine TestLoadAndStartAnotherShow +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + +[Test] +title TestLoadAndStartEmptyShowAfterAnotherShow +create TSanimengine CSAnimEngine +CSAnimEngine SetupBothFinished +CSAnimEngine TestLoadAndStartEmptyShowAfterAnotherShow +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + + +[Test] +title SetImagePropertiesManyPluginsNoMemory +create TSanimengine CSAnimEngine +CSAnimEngine SetupBothFinished +CSAnimEngine SetImagePropertiesManyPluginsNoMemory +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + +[Test] +title SetTonePropertiesManyPluginsNoMemory +create TSanimengine CSAnimEngine +CSAnimEngine SetupBothFinished +CSAnimEngine SetTonePropertiesManyPluginsNoMemory +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + +[Test] +title TestStartWhenLoadFailed +create TSanimengine CSAnimEngine +CSAnimEngine SetupLoadFailed +CSAnimEngine TestStartWhenLoadFailed +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + +[Test] +title TestStartWhenLoadFailed +create TSanimengine CSAnimEngine +CSAnimEngine SetupLoadFailed +CSAnimEngine TestStartWhenLoadFailed +CSAnimEngine Teardown +delete CSAnimEngine +[Endtest] + + + + + + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimengine/eabi/TSanimengineu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimengine/eabi/TSanimengineu.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,3 @@ +EXPORTS + _Z9LibEntryLR13CTestModuleIf @ 1 NONAME + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimengine/group/TSanimengine.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimengine/group/TSanimengine.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,88 @@ +/*TYPE TESTCLASS*/ +/* +* 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: MMP file for STIF Test Framework's TestScripter +* testclass test module. +* +*/ + +#include + +SMPSAFE + +TARGET TSanimengine.dll +TARGETTYPE dll +UID 0x1000008D 0x101FB3E3 + +CAPABILITY ALL -TCB +/* Remove comments and replace 0x00000000 with correct vendor id */ +// VENDORID 0x00000000 +/* Remove comments and replace 0x00000000 with correct secure id */ +// SECUREID 0x00000000 + +//TARGETPATH ?target_path +DEFFILE TSanimengine.def + +USERINCLUDE ../inc +USERINCLUDE ../inc +USERINCLUDE ../../inc +USERINCLUDE ../../../../../../inc +USERINCLUDE ../../../../sanimengine/inc + +OS_LAYER_SYSTEMINCLUDE + +SOURCEPATH ../src + +SOURCE TSanimengine.cpp +SOURCE TSanimengineBlocks.cpp +SOURCE testwaiter.cpp + +//RESOURCE resource_file +//RESOURCE resource_file2 + +LIBRARY euser.lib +LIBRARY stiftestinterface.lib +LIBRARY stiftestengine.lib +LIBRARY ecom.lib +LIBRARY efsrv.lib +LIBRARY euser.lib +LIBRARY sanimengine.lib + + +EPOCALLOWDLLDATA +LANG SC + +/* +START WINS +?wins_specific_information +END + +START MARM +?marm_specific_information +END +*/ +// Other possible keywords: + +// DOCUMENT ?file, that is not compiled, but added to MSVC project workspace (i.e. release notes) +/* +START BITMAP ?target +TARGETPATH ?emulated_path_on_target_machine +HEADER +SOURCE ?color_depth ?source_bitmap +END +*/ +// DEFFILE ?filename +// AIF ?filename + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimengine/group/TSanimengine.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimengine/group/TSanimengine.pkg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,60 @@ +; +; 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: +; +; Installation file for STIF +; + +; Languages +&EN + +; Provide value for uid +#{"STIF"},(0x00000000),1,1,0,TYPE=SA + +; Series60 product id for S60 3.0 +[0x101F7961], 0, 0, 0, {"Series60ProductID"} + +; Localised Vendor name +%{"Nokia"} + +; Unique Vendor name +:"Nokia" + +; Logo +; None + +; Package signature - Optional +; None + +; Start of Package body + +; Condition blocks +; None + +; Options list +; None + +; Install files +"\epoc32\release\armv5\udeb\TSanimengine.dll" - "!:\Sys\Bin\TSanimengine.dll" + +; Embedded SIS +; None + +; End of Package body + +; PKG dependencies +; None + +; PKG capabilities +; None diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimengine/group/TSanimengine_DoxyFile.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimengine/group/TSanimengine_DoxyFile.txt Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,240 @@ +# +# 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: +# +# + +# Doxyfile 1.4.1 + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = TSanimengine +PROJECT_NUMBER = +OUTPUT_DIRECTORY = x:\TSanimengine\ +CREATE_SUBDIRS = NO +OUTPUT_LANGUAGE = English +USE_WINDOWS_ENCODING = YES +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ABBREVIATE_BRIEF = +ALWAYS_DETAILED_SEC = NO +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +STRIP_FROM_INC_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = NO +MULTILINE_CPP_IS_BRIEF = NO +DETAILS_AT_TOP = NO +INHERIT_DOCS = YES +DISTRIBUTE_GROUP_DOC = NO +TAB_SIZE = 8 +ALIASES = +OPTIMIZE_OUTPUT_FOR_C = YES +OPTIMIZE_OUTPUT_JAVA = NO +SUBGROUPING = YES +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- +EXTRACT_ALL = YES +EXTRACT_PRIVATE = NO +EXTRACT_STATIC = NO +EXTRACT_LOCAL_CLASSES = NO +EXTRACT_LOCAL_METHODS = NO +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +HIDE_FRIEND_COMPOUNDS = NO +HIDE_IN_BODY_DOCS = NO +INTERNAL_DOCS = YES +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +SHOW_INCLUDE_FILES = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +SORT_BRIEF_DOCS = NO +SORT_BY_SCOPE_NAME = NO +GENERATE_TODOLIST = NO +GENERATE_TESTLIST = NO +GENERATE_BUGLIST = NO +GENERATE_DEPRECATEDLIST= YES +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +SHOW_USED_FILES = YES +SHOW_DIRECTORIES = YES +FILE_VERSION_FILTER = +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- +QUIET = NO +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES +WARN_IF_DOC_ERROR = YES +WARN_NO_PARAMDOC = NO +WARN_FORMAT = "$file:$line: $text" +WARN_LOGFILE = +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = x:\TSanimengine\ +FILE_PATTERNS = *.h \ + *.rh \ + *.hrh +RECURSIVE = YES +EXCLUDE = +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +EXAMPLE_RECURSIVE = NO +IMAGE_PATH = +INPUT_FILTER = +FILTER_PATTERNS = +FILTER_SOURCE_FILES = NO +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- +SOURCE_BROWSER = NO +INLINE_SOURCES = NO +STRIP_CODE_COMMENTS = YES +REFERENCED_BY_RELATION = YES +REFERENCES_RELATION = YES +VERBATIM_HEADERS = YES +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- +ALPHABETICAL_INDEX = NO +COLS_IN_ALPHA_INDEX = 5 +IGNORE_PREFIX = +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- +GENERATE_HTML = NO +HTML_OUTPUT = html +HTML_FILE_EXTENSION = .html +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = YES +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +BINARY_TOC = YES +TOC_EXPAND = YES +DISABLE_INDEX = YES +ENUM_VALUES_PER_LINE = 4 +GENERATE_TREEVIEW = YES +TREEVIEW_WIDTH = 250 +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +LATEX_CMD_NAME = latex +MAKEINDEX_CMD_NAME = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +USE_PDFLATEX = NO +LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- +GENERATE_RTF = YES +RTF_OUTPUT = Doc +COMPACT_RTF = YES +RTF_HYPERLINKS = YES +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_LINKS = NO +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- +GENERATE_XML = NO +XML_OUTPUT = xml +XML_SCHEMA = +XML_DTD = +XML_PROGRAMLISTING = YES +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- +GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- +GENERATE_PERLMOD = NO +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = YES +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = NONSHARABLE_CLASS +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- +TAGFILES = +GENERATE_TAGFILE = +ALLEXTERNALS = NO +EXTERNAL_GROUPS = YES +PERL_PATH = /usr/bin/perl +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- +CLASS_DIAGRAMS = YES +HIDE_UNDOC_RELATIONS = YES +HAVE_DOT = NO +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +GROUP_GRAPHS = YES +UML_LOOK = NO +TEMPLATE_RELATIONS = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +CALL_GRAPH = NO +GRAPHICAL_HIERARCHY = YES +DIRECTORY_GRAPH = YES +DOT_IMAGE_FORMAT = png +DOT_PATH = +DOTFILE_DIRS = +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 +MAX_DOT_GRAPH_DEPTH = 0 +DOT_TRANSPARENT = NO +DOT_MULTI_TARGETS = NO +GENERATE_LEGEND = YES +DOT_CLEANUP = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- +SEARCHENGINE = NO diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimengine/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimengine/group/bld.inf Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,60 @@ +/* +* 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: +* +*/ + +PRJ_PLATFORMS +// specify the platforms your component needs to be built for here +// defaults to WINS MARM so you can ignore this if you just build these + + DEFAULT + +PRJ_TESTEXPORTS +// NOTE: If using ARS requirements all export operations should be done under this. +// 'abld test export' + +PRJ_EXPORTS +// Specify the source file followed by its destination here +// copy will be used to copy the source file to its destination +// If there's no destination then the source file will be copied +// to the same name in \epoc32\include +// Example: +/* +\agnmodel\inc\AGMCOMON.H +*/ + +PRJ_TESTMMPFILES + + TSanimengine.mmp + +PRJ_MMPFILES + + TSanimengine.mmp + +// Specify the .mmp files required for building the important component +// releasables. +// +// Specify "tidy" if the component you need to build doesn't need to be +// released. Specify "ignore" if the MMP file exists but should be +// ignored. +// Example: +/* +\agnmodel\group\agnmodel.mmp +#if defined(MARM) +\agnmodel\group\agsvexe.mmp +#endif +*/ + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimengine/group/ctcerr.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimengine/group/ctcerr.txt Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,446 @@ + +******************************************************************************* + +argv[0]: C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\mwldsym2.exe +argv[1]: -version + +*** CTC++/ctcagent command: set PATH=C:\Apps\sbs\win32\mingw\bin;C:\Apps\sbs\win32\cygwin\bin;C:\Apps\sbs\win32\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\Wireless\Bin;c:\Program Files\Intel\WiFi\bin\;C:\Program Files\NTRU Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files\Wave Systems Corp\Gemalto\Access Client\v5\;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\ctc;C:\APPS\prevent\bin;C:\APPS\cltools;C:\APPS\7zip;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\APPS\imaker;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Nokia\FastTrace;\epoc32\gcc_mingw\bin;C:\APPS\romtools;C:\APPS\bc;C:\APPS\codecollaborator;C:\APPS\actpython\.;C:\APPS\codescanner;C:\APPS\sbs\bin;C:\APPS\symdec;C:\APPS\symrec;C:\APPS\blocks\bin;C:\APPS\helium;C:\APPS\ant\bin;C:\APPS\jdk_1.6.0_11\bin; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_cw\winscw.ini @C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\ctcopts.rsp mwldsym2 -version +*** CTC++/ctcagent command status: 0 + + +******************************************************************************* + +argv[0]: C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\mwccsym2.exe +argv[1]: -version + +*** CTC++/ctcagent command: set PATH=C:\Apps\sbs\win32\mingw\bin;C:\Apps\sbs\win32\cygwin\bin;C:\Apps\sbs\win32\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\Wireless\Bin;c:\Program Files\Intel\WiFi\bin\;C:\Program Files\NTRU Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files\Wave Systems Corp\Gemalto\Access Client\v5\;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\ctc;C:\APPS\prevent\bin;C:\APPS\cltools;C:\APPS\7zip;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\APPS\imaker;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Nokia\FastTrace;\epoc32\gcc_mingw\bin;C:\APPS\romtools;C:\APPS\bc;C:\APPS\codecollaborator;C:\APPS\actpython\.;C:\APPS\codescanner;C:\APPS\sbs\bin;C:\APPS\symdec;C:\APPS\symrec;C:\APPS\blocks\bin;C:\APPS\helium;C:\APPS\ant\bin;C:\APPS\jdk_1.6.0_11\bin; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_cw\winscw.ini @C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\ctcopts.rsp mwccsym2 -version +*** CTC++/ctcagent command status: 0 + + +******************************************************************************* + +argv[0]: C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\mwccsym2.exe +argv[1]: -c +argv[2]: -align +argv[3]: 4 +argv[4]: -warnings +argv[5]: on +argv[6]: -w +argv[7]: nohidevirtual,nounusedexpr +argv[8]: -msgstyle +argv[9]: gcc +argv[10]: -enum +argv[11]: int +argv[12]: -str +argv[13]: pool +argv[14]: -exc +argv[15]: ms +argv[16]: -trigraphs +argv[17]: on +argv[18]: -cwd +argv[19]: source +argv[20]: -g +argv[21]: -O0 +argv[22]: -inline +argv[23]: off +argv[24]: -runtime +argv[25]: staticmulti +argv[26]: -wchar_t +argv[27]: off +argv[28]: -nostdinc +argv[29]: -gccdepends +argv[30]: -MD +argv[31]: -d +argv[32]: __SYMBIAN32__ +argv[33]: -d +argv[34]: __CW32__ +argv[35]: -d +argv[36]: __WINS__ +argv[37]: -d +argv[38]: __WINSCW__ +argv[39]: -d +argv[40]: __SUPPORT_CPP_EXCEPTIONS__ +argv[41]: -d +argv[42]: _UNICODE +argv[43]: -d +argv[44]: _DEBUG +argv[45]: -d +argv[46]: __DLL__ +argv[47]: -i- +argv[48]: -i +argv[49]: Z:/startupservices/startupanimation/internal/test/TSanimengine/inc +argv[50]: -i +argv[51]: Z:/startupservices/startupanimation/internal/test/TSanimengine/inc +argv[52]: -i +argv[53]: Z:/startupservices/startupanimation/internal/test/inc +argv[54]: -i +argv[55]: Z:/inc +argv[56]: -i +argv[57]: Z:/startupservices/startupanimation/sanimengine/inc +argv[58]: -i +argv[59]: Z:/epoc32/include +argv[60]: -i +argv[61]: Z:/epoc32/include/platform +argv[62]: -i +argv[63]: Z:/epoc32/include/platform/loc +argv[64]: -i +argv[65]: Z:/epoc32/include/platform/loc/sc +argv[66]: -i +argv[67]: Z:/epoc32/include +argv[68]: -include +argv[69]: feature_settings.hrh +argv[70]: -o +argv[71]: Z:/epoc32/build/tsanimengine/c_1bbf18bc990ee84e/tsanimengine_dll/winscw/udeb/TSanimengineBlocks.o +argv[72]: Z:/startupservices/startupanimation/internal/test/TSanimengine/src/TSanimengineBlocks.cpp + +*** CTC++/ctcagent command: set PATH=C:\Apps\sbs\win32\mingw\bin;C:\Apps\sbs\win32\cygwin\bin;C:\Apps\sbs\win32\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\Wireless\Bin;c:\Program Files\Intel\WiFi\bin\;C:\Program Files\NTRU Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files\Wave Systems Corp\Gemalto\Access Client\v5\;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\ctc;C:\APPS\prevent\bin;C:\APPS\cltools;C:\APPS\7zip;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\APPS\imaker;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Nokia\FastTrace;\epoc32\gcc_mingw\bin;C:\APPS\romtools;C:\APPS\bc;C:\APPS\codecollaborator;C:\APPS\actpython\.;C:\APPS\codescanner;C:\APPS\sbs\bin;C:\APPS\symdec;C:\APPS\symrec;C:\APPS\blocks\bin;C:\APPS\helium;C:\APPS\ant\bin;C:\APPS\jdk_1.6.0_11\bin; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_cw\winscw.ini @C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\ctcopts.rsp mwccsym2 @ctc-mwccsym2-5052.rsp + +******************************************************************************* + +argv[0]: C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\mwccsym2.exe +argv[1]: -c +argv[2]: -align +argv[3]: 4 +argv[4]: -warnings +argv[5]: on +argv[6]: -w +argv[7]: nohidevirtual,nounusedexpr +argv[8]: -msgstyle +argv[9]: gcc +argv[10]: -enum +argv[11]: int +argv[12]: -str +argv[13]: pool +argv[14]: -exc +argv[15]: ms +argv[16]: -trigraphs +argv[17]: on +argv[18]: -cwd +argv[19]: source +argv[20]: -g +argv[21]: -O0 +argv[22]: -inline +argv[23]: off +argv[24]: -runtime +argv[25]: staticmulti +argv[26]: -wchar_t +argv[27]: off +argv[28]: -nostdinc +argv[29]: -gccdepends +argv[30]: -MD +argv[31]: -d +argv[32]: __SYMBIAN32__ +argv[33]: -d +argv[34]: __CW32__ +argv[35]: -d +argv[36]: __WINS__ +argv[37]: -d +argv[38]: __WINSCW__ +argv[39]: -d +argv[40]: __SUPPORT_CPP_EXCEPTIONS__ +argv[41]: -d +argv[42]: _UNICODE +argv[43]: -d +argv[44]: _DEBUG +argv[45]: -d +argv[46]: __DLL__ +argv[47]: -i- +argv[48]: -i +argv[49]: Z:/startupservices/startupanimation/internal/test/TSanimengine/inc +argv[50]: -i +argv[51]: Z:/startupservices/startupanimation/internal/test/TSanimengine/inc +argv[52]: -i +argv[53]: Z:/startupservices/startupanimation/internal/test/inc +argv[54]: -i +argv[55]: Z:/inc +argv[56]: -i +argv[57]: Z:/startupservices/startupanimation/sanimengine/inc +argv[58]: -i +argv[59]: Z:/epoc32/include +argv[60]: -i +argv[61]: Z:/epoc32/include/platform +argv[62]: -i +argv[63]: Z:/epoc32/include/platform/loc +argv[64]: -i +argv[65]: Z:/epoc32/include/platform/loc/sc +argv[66]: -i +argv[67]: Z:/epoc32/include +argv[68]: -include +argv[69]: feature_settings.hrh +argv[70]: -o +argv[71]: Z:/epoc32/build/tsanimengine/c_1bbf18bc990ee84e/tsanimengine_dll/winscw/udeb/TSanimengine.o +argv[72]: Z:/startupservices/startupanimation/internal/test/TSanimengine/src/TSanimengine.cpp + +*** CTC++/ctcagent command: set PATH=C:\Apps\sbs\win32\mingw\bin;C:\Apps\sbs\win32\cygwin\bin;C:\Apps\sbs\win32\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\Wireless\Bin;c:\Program Files\Intel\WiFi\bin\;C:\Program Files\NTRU Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files\Wave Systems Corp\Gemalto\Access Client\v5\;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\ctc;C:\APPS\prevent\bin;C:\APPS\cltools;C:\APPS\7zip;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\APPS\imaker;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Nokia\FastTrace;\epoc32\gcc_mingw\bin;C:\APPS\romtools;C:\APPS\bc;C:\APPS\codecollaborator;C:\APPS\actpython\.;C:\APPS\codescanner;C:\APPS\sbs\bin;C:\APPS\symdec;C:\APPS\symrec;C:\APPS\blocks\bin;C:\APPS\helium;C:\APPS\ant\bin;C:\APPS\jdk_1.6.0_11\bin; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_cw\winscw.ini @C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\ctcopts.rsp mwccsym2 @ctc-mwccsym2-5984.rsp + +******************************************************************************* + +argv[0]: C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\mwccsym2.exe +argv[1]: -c +argv[2]: -align +argv[3]: 4 +argv[4]: -warnings +argv[5]: on +argv[6]: -w +argv[7]: nohidevirtual,nounusedexpr +argv[8]: -msgstyle +argv[9]: gcc +argv[10]: -enum +argv[11]: int +argv[12]: -str +argv[13]: pool +argv[14]: -exc +argv[15]: ms +argv[16]: -trigraphs +argv[17]: on +argv[18]: -cwd +argv[19]: source +argv[20]: -g +argv[21]: -O0 +argv[22]: -inline +argv[23]: off +argv[24]: -runtime +argv[25]: staticmulti +argv[26]: -wchar_t +argv[27]: off +argv[28]: -nostdinc +argv[29]: -gccdepends +argv[30]: -MD +argv[31]: -d +argv[32]: __SYMBIAN32__ +argv[33]: -d +argv[34]: __CW32__ +argv[35]: -d +argv[36]: __WINS__ +argv[37]: -d +argv[38]: __WINSCW__ +argv[39]: -d +argv[40]: __SUPPORT_CPP_EXCEPTIONS__ +argv[41]: -d +argv[42]: _UNICODE +argv[43]: -d +argv[44]: _DEBUG +argv[45]: -d +argv[46]: __DLL__ +argv[47]: -i- +argv[48]: -i +argv[49]: Z:/startupservices/startupanimation/internal/test/TSanimengine/inc +argv[50]: -i +argv[51]: Z:/startupservices/startupanimation/internal/test/TSanimengine/inc +argv[52]: -i +argv[53]: Z:/startupservices/startupanimation/internal/test/inc +argv[54]: -i +argv[55]: Z:/inc +argv[56]: -i +argv[57]: Z:/startupservices/startupanimation/sanimengine/inc +argv[58]: -i +argv[59]: Z:/epoc32/include +argv[60]: -i +argv[61]: Z:/epoc32/include/platform +argv[62]: -i +argv[63]: Z:/epoc32/include/platform/loc +argv[64]: -i +argv[65]: Z:/epoc32/include/platform/loc/sc +argv[66]: -i +argv[67]: Z:/epoc32/include +argv[68]: -include +argv[69]: feature_settings.hrh +argv[70]: -o +argv[71]: Z:/epoc32/build/tsanimengine/c_1bbf18bc990ee84e/tsanimengine_dll/winscw/udeb/testwaiter.o +argv[72]: Z:/startupservices/startupanimation/internal/test/TSanimengine/src/testwaiter.cpp + +*** CTC++/ctcagent command: set PATH=C:\Apps\sbs\win32\mingw\bin;C:\Apps\sbs\win32\cygwin\bin;C:\Apps\sbs\win32\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\Wireless\Bin;c:\Program Files\Intel\WiFi\bin\;C:\Program Files\NTRU Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files\Wave Systems Corp\Gemalto\Access Client\v5\;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\ctc;C:\APPS\prevent\bin;C:\APPS\cltools;C:\APPS\7zip;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\APPS\imaker;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Nokia\FastTrace;\epoc32\gcc_mingw\bin;C:\APPS\romtools;C:\APPS\bc;C:\APPS\codecollaborator;C:\APPS\actpython\.;C:\APPS\codescanner;C:\APPS\sbs\bin;C:\APPS\symdec;C:\APPS\symrec;C:\APPS\blocks\bin;C:\APPS\helium;C:\APPS\ant\bin;C:\APPS\jdk_1.6.0_11\bin; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_cw\winscw.ini @C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\ctcopts.rsp mwccsym2 @ctc-mwccsym2-2152.rsp + +******************************************************************************* + +argv[0]: C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\mwldsym2.exe +argv[1]: Z:/epoc32/build/tsanimengine/c_1bbf18bc990ee84e/tsanimengine_dll/winscw/udeb/TSanimengine.prep.def +argv[2]: -importlib +argv[3]: -o +argv[4]: Z:/epoc32/release/winscw/udeb/TSanimengine.lib +argv[5]: -addcommand +argv[6]: out:TSanimengine.dll +argv[7]: -warnings +argv[8]: off + +*** CTC++/ctcagent command: set PATH=C:\Apps\sbs\win32\mingw\bin;C:\Apps\sbs\win32\cygwin\bin;C:\Apps\sbs\win32\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\Wireless\Bin;c:\Program Files\Intel\WiFi\bin\;C:\Program Files\NTRU Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files\Wave Systems Corp\Gemalto\Access Client\v5\;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\ctc;C:\APPS\prevent\bin;C:\APPS\cltools;C:\APPS\7zip;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\APPS\imaker;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Nokia\FastTrace;\epoc32\gcc_mingw\bin;C:\APPS\romtools;C:\APPS\bc;C:\APPS\codecollaborator;C:\APPS\actpython\.;C:\APPS\codescanner;C:\APPS\sbs\bin;C:\APPS\symdec;C:\APPS\symrec;C:\APPS\blocks\bin;C:\APPS\helium;C:\APPS\ant\bin;C:\APPS\jdk_1.6.0_11\bin; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_cw\winscw.ini @C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\ctcopts.rsp mwldsym2 Z:/epoc32/build/tsanimengine/c_1bbf18bc990ee84e/tsanimengine_dll/winscw/udeb/TSanimengine.prep.def -importlib -o Z:/epoc32/release/winscw/udeb/TSanimengine.lib -addcommand out:TSanimengine.dll -warnings off +*** CTC++/ctcagent command status: 0 + + +******************************************************************************* + +argv[0]: C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\mwccsym2.exe +argv[1]: -c +argv[2]: -align +argv[3]: 4 +argv[4]: -warnings +argv[5]: on +argv[6]: -w +argv[7]: nohidevirtual,nounusedexpr +argv[8]: -msgstyle +argv[9]: gcc +argv[10]: -enum +argv[11]: int +argv[12]: -str +argv[13]: pool +argv[14]: -exc +argv[15]: ms +argv[16]: -trigraphs +argv[17]: on +argv[18]: -cwd +argv[19]: source +argv[20]: -g +argv[21]: -O0 +argv[22]: -inline +argv[23]: off +argv[24]: -runtime +argv[25]: staticmulti +argv[26]: -wchar_t +argv[27]: off +argv[28]: -nostdinc +argv[29]: -gccdepends +argv[30]: -MD +argv[31]: -d +argv[32]: __SYMBIAN32__ +argv[33]: -d +argv[34]: __CW32__ +argv[35]: -d +argv[36]: __WINS__ +argv[37]: -d +argv[38]: __WINSCW__ +argv[39]: -d +argv[40]: __SUPPORT_CPP_EXCEPTIONS__ +argv[41]: -d +argv[42]: _UNICODE +argv[43]: -d +argv[44]: _DEBUG +argv[45]: -d +argv[46]: __DLL__ +argv[47]: -i- +argv[48]: -i +argv[49]: Z:/startupservices/startupanimation/internal/test/TSanimengine/inc +argv[50]: -i +argv[51]: Z:/startupservices/startupanimation/internal/test/TSanimengine/inc +argv[52]: -i +argv[53]: Z:/startupservices/startupanimation/internal/test/inc +argv[54]: -i +argv[55]: Z:/inc +argv[56]: -i +argv[57]: Z:/startupservices/startupanimation/sanimengine/inc +argv[58]: -i +argv[59]: Z:/epoc32/include +argv[60]: -i +argv[61]: Z:/epoc32/include/platform +argv[62]: -i +argv[63]: Z:/epoc32/include/platform/loc +argv[64]: -i +argv[65]: Z:/epoc32/include/platform/loc/sc +argv[66]: -i +argv[67]: Z:/epoc32/include +argv[68]: -include +argv[69]: feature_settings.hrh +argv[70]: -o +argv[71]: Z:/epoc32/build/tsanimengine/c_1bbf18bc990ee84e/tsanimengine_dll/winscw/udeb/TSanimengine_UID_.o +argv[72]: Z:/epoc32/build/tsanimengine/c_1bbf18bc990ee84e/tsanimengine_dll/winscw/udeb/TSanimengine.UID.CPP + +*** CTC++/ctcagent command: set PATH=C:\Apps\sbs\win32\mingw\bin;C:\Apps\sbs\win32\cygwin\bin;C:\Apps\sbs\win32\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\Wireless\Bin;c:\Program Files\Intel\WiFi\bin\;C:\Program Files\NTRU Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files\Wave Systems Corp\Gemalto\Access Client\v5\;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\ctc;C:\APPS\prevent\bin;C:\APPS\cltools;C:\APPS\7zip;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\APPS\imaker;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Nokia\FastTrace;\epoc32\gcc_mingw\bin;C:\APPS\romtools;C:\APPS\bc;C:\APPS\codecollaborator;C:\APPS\actpython\.;C:\APPS\codescanner;C:\APPS\sbs\bin;C:\APPS\symdec;C:\APPS\symrec;C:\APPS\blocks\bin;C:\APPS\helium;C:\APPS\ant\bin;C:\APPS\jdk_1.6.0_11\bin; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_cw\winscw.ini @C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\ctcopts.rsp mwccsym2 @ctc-mwccsym2-5580.rsp +*** CTC++/ctcagent command status: 0 + +*** CTC++/ctcagent command status: 0 + +*** CTC++/ctcagent command status: 0 + +*** CTC++/ctcagent command status: 0 + + +******************************************************************************* + +argv[0]: C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\mwldsym2.exe +argv[1]: -msgstyle +argv[2]: gcc +argv[3]: -stdlib +argv[4]: -subsystem +argv[5]: windows +argv[6]: -g +argv[7]: -main +argv[8]: __Win32DllMain@12 +argv[9]: -shared +argv[10]: -m +argv[11]: __E32Dll +argv[12]: -export +argv[13]: dllexport +argv[14]: -nocompactimportlib +argv[15]: -addcommand +argv[16]: out:TSanimengine.dll +argv[17]: -warnings +argv[18]: off +argv[19]: -implib +argv[20]: Z:/epoc32/build/tsanimengine/c_1bbf18bc990ee84e/tsanimengine_dll/winscw/udeb/TSanimengine.lib +argv[21]: -o +argv[22]: Z:/epoc32/build/tsanimengine/c_1bbf18bc990ee84e/tsanimengine_dll/winscw/udeb/TSanimengine.dll +argv[23]: Z:/epoc32/release/winscw/udeb/edll.lib +argv[24]: Z:/epoc32/release/winscw/udeb/scppnwdl.lib +argv[25]: Z:/epoc32/release/winscw/udeb/euser.lib +argv[26]: Z:/epoc32/release/winscw/udeb/stiftestinterface.lib +argv[27]: Z:/epoc32/release/winscw/udeb/stiftestengine.lib +argv[28]: Z:/epoc32/release/winscw/udeb/ecom.lib +argv[29]: Z:/epoc32/release/winscw/udeb/efsrv.lib +argv[30]: Z:/epoc32/release/winscw/udeb/euser.lib +argv[31]: Z:/epoc32/release/winscw/udeb/sanimengine.lib +argv[32]: -l +argv[33]: Z:/epoc32/build/tsanimengine/c_1bbf18bc990ee84e/tsanimengine_dll/winscw/udeb +argv[34]: -search +argv[35]: @Z:/epoc32/build/tsanimengine/c_1bbf18bc990ee84e/tsanimengine_dll/winscw/udeb/TSanimengine_udeb_objects.lrf + +*** CTC++/ctcagent command: set PATH=C:\Apps\sbs\win32\mingw\bin;C:\Apps\sbs\win32\cygwin\bin;C:\Apps\sbs\win32\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\Wireless\Bin;c:\Program Files\Intel\WiFi\bin\;C:\Program Files\NTRU Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files\Wave Systems Corp\Gemalto\Access Client\v5\;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\ctc;C:\APPS\prevent\bin;C:\APPS\cltools;C:\APPS\7zip;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\APPS\imaker;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Nokia\FastTrace;\epoc32\gcc_mingw\bin;C:\APPS\romtools;C:\APPS\bc;C:\APPS\codecollaborator;C:\APPS\actpython\.;C:\APPS\codescanner;C:\APPS\sbs\bin;C:\APPS\symdec;C:\APPS\symrec;C:\APPS\blocks\bin;C:\APPS\helium;C:\APPS\ant\bin;C:\APPS\jdk_1.6.0_11\bin; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_cw\winscw.ini @C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\ctcopts.rsp mwldsym2 @ctc-mwldsym2-2456.rsp +*** CTC++/ctcagent command status: 0 + + +******************************************************************************* + +argv[0]: C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\mwldsym2.exe +argv[1]: -S +argv[2]: -show +argv[3]: only,names,unmangled,verbose +argv[4]: -o +argv[5]: Z:/epoc32/build/tsanimengine/c_1bbf18bc990ee84e/tsanimengine_dll/winscw/udeb/TSanimengine.inf +argv[6]: Z:/epoc32/build/tsanimengine/c_1bbf18bc990ee84e/tsanimengine_dll/winscw/udeb/TSanimengine.lib + +*** CTC++/ctcagent command: set PATH=C:\Apps\sbs\win32\mingw\bin;C:\Apps\sbs\win32\cygwin\bin;C:\Apps\sbs\win32\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\Wireless\Bin;c:\Program Files\Intel\WiFi\bin\;C:\Program Files\NTRU Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files\Wave Systems Corp\Gemalto\Access Client\v5\;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\ctc;C:\APPS\prevent\bin;C:\APPS\cltools;C:\APPS\7zip;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\APPS\imaker;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Nokia\FastTrace;\epoc32\gcc_mingw\bin;C:\APPS\romtools;C:\APPS\bc;C:\APPS\codecollaborator;C:\APPS\actpython\.;C:\APPS\codescanner;C:\APPS\sbs\bin;C:\APPS\symdec;C:\APPS\symrec;C:\APPS\blocks\bin;C:\APPS\helium;C:\APPS\ant\bin;C:\APPS\jdk_1.6.0_11\bin; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_cw\winscw.ini @C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\ctcopts.rsp mwldsym2 -S -show only,names,unmangled,verbose -o Z:/epoc32/build/tsanimengine/c_1bbf18bc990ee84e/tsanimengine_dll/winscw/udeb/TSanimengine.inf Z:/epoc32/build/tsanimengine/c_1bbf18bc990ee84e/tsanimengine_dll/winscw/udeb/TSanimengine.lib +*** CTC++/ctcagent command status: 0 + + +******************************************************************************* + +argv[0]: C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\mwldsym2.exe +argv[1]: -msgstyle +argv[2]: gcc +argv[3]: -stdlib +argv[4]: -subsystem +argv[5]: windows +argv[6]: -g +argv[7]: -main +argv[8]: __Win32DllMain@12 +argv[9]: -shared +argv[10]: -f +argv[11]: Z:/epoc32/build/tsanimengine/c_1bbf18bc990ee84e/tsanimengine_dll/winscw/udeb/TSanimengine.def +argv[12]: Z:/epoc32/release/winscw/udeb/edll.lib +argv[13]: Z:/epoc32/release/winscw/udeb/scppnwdl.lib +argv[14]: Z:/epoc32/release/winscw/udeb/euser.lib +argv[15]: Z:/epoc32/release/winscw/udeb/stiftestinterface.lib +argv[16]: Z:/epoc32/release/winscw/udeb/stiftestengine.lib +argv[17]: Z:/epoc32/release/winscw/udeb/ecom.lib +argv[18]: Z:/epoc32/release/winscw/udeb/efsrv.lib +argv[19]: Z:/epoc32/release/winscw/udeb/euser.lib +argv[20]: Z:/epoc32/release/winscw/udeb/sanimengine.lib +argv[21]: -o +argv[22]: Z:/epoc32/release/winscw/udeb/TSanimengine.dll +argv[23]: -noimplib +argv[24]: -l +argv[25]: Z:/epoc32/build/tsanimengine/c_1bbf18bc990ee84e/tsanimengine_dll/winscw/udeb +argv[26]: -search +argv[27]: @Z:/epoc32/build/tsanimengine/c_1bbf18bc990ee84e/tsanimengine_dll/winscw/udeb/TSanimengine_udeb_objects.lrf + +*** CTC++/ctcagent command: set PATH=C:\Apps\sbs\win32\mingw\bin;C:\Apps\sbs\win32\cygwin\bin;C:\Apps\sbs\win32\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\Wireless\Bin;c:\Program Files\Intel\WiFi\bin\;C:\Program Files\NTRU Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files\Wave Systems Corp\Gemalto\Access Client\v5\;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\ctc;C:\APPS\prevent\bin;C:\APPS\cltools;C:\APPS\7zip;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\APPS\imaker;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Nokia\FastTrace;\epoc32\gcc_mingw\bin;C:\APPS\romtools;C:\APPS\bc;C:\APPS\codecollaborator;C:\APPS\actpython\.;C:\APPS\codescanner;C:\APPS\sbs\bin;C:\APPS\symdec;C:\APPS\symrec;C:\APPS\blocks\bin;C:\APPS\helium;C:\APPS\ant\bin;C:\APPS\jdk_1.6.0_11\bin; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_cw\winscw.ini @C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\ctcopts.rsp mwldsym2 -msgstyle gcc -stdlib -subsystem windows -g -main __Win32DllMain@12 -shared -f Z:/epoc32/build/tsanimengine/c_1bbf18bc990ee84e/tsanimengine_dll/winscw/udeb/TSanimengine.def Z:/epoc32/release/winscw/udeb/edll.lib Z:/epoc32/release/winscw/udeb/scppnwdl.lib Z:/epoc32/release/winscw/udeb/euser.lib Z:/epoc32/release/winscw/udeb/stiftestinterface.lib Z:/epoc32/release/winscw/udeb/stiftestengine.lib Z:/epoc32/release/winscw/udeb/ecom.lib Z:/epoc32/release/winscw/udeb/efsrv.lib Z:/epoc32/release/winscw/udeb/euser.lib Z:/epoc32/release/winscw/udeb/sanimengine.lib -o Z:/epoc32/release/winscw/udeb/TSanimengine.dll -noimplib -l Z:/epoc32/build/tsanimengine/c_1bbf18bc990ee84e/tsanimengine_dll/winscw/udeb -search @Z:/epoc32/build/tsanimengine/c_1bbf18bc990ee84e/tsanimengine_dll/winscw/udeb/TSanimengine_udeb_objects.lrf +*** CTC++/ctcagent command status: 0 + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimengine/inc/TSanimengine.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimengine/inc/TSanimengine.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,264 @@ +/* +* 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: STIF testclass declaration +* +*/ + +#ifndef TSANIMENGINE_H +#define TSANIMENGINE_H + +// INCLUDES +#include +#include +#include +#include + + +// CONSTANTS +//const ?type ?constant_var = ?constant; + +// MACROS +//#define ?macro ?macro_def +#define TEST_CLASS_VERSION_MAJOR 0 +#define TEST_CLASS_VERSION_MINOR 0 +#define TEST_CLASS_VERSION_BUILD 0 + +// Logging path +_LIT( KTSanimengineLogPath, "\\logs\\testframework\\TSanimengine\\" ); +// Log file +_LIT( KTSanimengineLogFile, "TSanimengine.txt" ); +_LIT( KTSanimengineLogFileWithTitle, "TSanimengine_[%S].txt" ); + + +#include +#include "sanimobserver.h" + +class CSAnimEngine; +class CTestWaiter; + +class TMockAnimationObserver : public MSAnimObserver + { +public: + TMockAnimationObserver() {} + virtual void UpdateScreen( const CFbsBitmap& /*aFrame*/, const CFbsBitmap& /*aMask*/ ) {} + virtual void UpdateScreen( const CFbsBitmap& /*aFrame*/ ) {} + }; + +class CTSanimengine; + +// DATA TYPES +//enum ?declaration +//typedef ?declaration +//extern ?data_type; + +// CLASS DECLARATION + +/** +* CTSanimengine test class for STIF Test Framework TestScripter. +* ?other_description_lines +* +* @lib ?library +* @since ?Series60_version +*/ +NONSHARABLE_CLASS(CTSanimengine) : public CScriptBase + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + */ + static CTSanimengine* NewL( CTestModuleIf& aTestModuleIf ); + + /** + * Destructor. + */ + virtual ~CTSanimengine(); + + public: // New functions + + /** + * ?member_description. + * @since ?Series60_version + * @param ?arg1 ?description + * @return ?description + */ + //?type ?member_function( ?type ?arg1 ); + + public: // Functions from base classes + + /** + * From CScriptBase Runs a script line. + * @since ?Series60_version + * @param aItem Script line containing method name and parameters + * @return Symbian OS error code + */ + virtual TInt RunMethodL( CStifItemParser& aItem ); + + protected: // New functions + + /** + * ?member_description. + * @since ?Series60_version + * @param ?arg1 ?description + * @return ?description + */ + //?type ?member_function( ?type ?arg1 ); + + protected: // Functions from base classes + + /** + * From ?base_class ?member_description + */ + //?type ?member_function(); + + private: + + /** + * C++ default constructor. + */ + CTSanimengine( CTestModuleIf& aTestModuleIf ); + + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL(); + + // Prohibit copy constructor if not deriving from CBase. + // ?classname( const ?classname& ); + // Prohibit assigment operator if not deriving from CBase. + // ?classname& operator=( const ?classname& ); + + /** + * Frees all resources allocated from test methods. + * @since ?Series60_version + */ + void Delete(); + + /** + * Test methods are listed below. + */ + + /** + * Example test method. + * @since ?Series60_version + * @param aItem Script line containing parameters. + * @return Symbian OS error code. + */ + virtual TInt ExampleL( CStifItemParser& aItem ); + + /** + * Method used to log version of test class + */ + void SendTestClassVersion(); + + //ADD NEW METHOD DEC HERE + //[TestMethods] - Do not remove + + + TInt SetupEmptyL(); + TInt SetupObjL(); + TInt SetupImagePluginL(); + TInt SetupTonePluginL(); + TInt SetupBothPluginsL(); + TInt SetupImagePluginFasterL(); + TInt SetupTonePluginFasterL(); + TInt SetupImagePluginReturnsErrorL(); + TInt SetupTonePluginReturnsErrorL(); + TInt SetupBothPluginsReturnErrorL(); + TInt LoadL(); + TInt SetupImageLoadedL(); + TInt SetupToneLoadedL(); + TInt SetupBothLoadedL(); + TInt SetupLoadFailedL(); + TInt SetupBothFinishedL(); + TInt Teardown(); + + TBool CheckNoImagePluginOutputL(); + TBool CheckImagePluginOutputL( + const TUint32 aPluginUid, + const TDesC& aFileToLoad, + const TInt aDisplayMode, + const TSize& aSize, + const TInt aFrameDelay ); + TBool CheckNoTonePluginOutputL(); + TBool CheckTonePluginOutputL( + const TUint32 aPluginUid, + const TDesC& aFileToLoad, + const TInt aVolume, + const TInt64& aVolumeRamp ); + + TInt TestConstructorL(); + TInt TestConstructorNoMemoryL(); + TInt TestExtensionlessFileL(); + TInt TestTooLongExtensionL(); + TInt SetImagePropertiesUnknownExtensionL(); + TInt SetImagePropertiesUnknownExtensionNoMemoryL(); + TInt SetImagePropertiesKnownExtensionL(); + TInt SetImagePropertiesKnownExtensionNoMemoryL(); + TInt SetImagePropertiesManyPluginsL(); + TInt SetImagePropertiesManyPluginsNoMemoryL(); + TInt SetImagePropertiesWildcardMatchL(); + TInt SetImagePropertiesWildcardMatchNoMemoryL(); + TInt SetImagePropertiesManyExtensionsL(); + TInt SetImagePropertiesManyExtensionsNoMemoryL(); + TInt SetTonePropertiesUnknownExtensionL(); + TInt SetTonePropertiesUnknownExtensionNoMemoryL(); + TInt SetTonePropertiesKnownExtensionL(); + TInt SetTonePropertiesKnownExtensionNoMemoryL(); + TInt SetTonePropertiesManyPluginsL(); + TInt SetTonePropertiesManyPluginsNoMemoryL(); + TInt SetTonePropertiesWildcardMatchL(); + TInt SetTonePropertiesWildcardMatchNoMemoryL(); + TInt TestLoadEmptyL(); + TInt TestCancelLoadEmptyL(); + TInt TestLoadNoMemoryL(); + TInt TestCancelLoadL(); + TInt TestLoadImagePluginFasterL(); + TInt TestLoadTonePluginFasterL(); + TInt TestLoadImagePluginReturnsErrorL(); + TInt TestLoadTonePluginReturnsErrorL(); + TInt TestBackroundColourL(); + TInt TestCancelNotActiveL(); + TInt TestLoadWhenActiveL(); + TInt TestStartWhenActiveL(); + TInt TestStartL(); + TInt TestStartNotReadyL(); + TInt TestLoadAgainL(); + TInt TestStartAgainL(); + TInt TestLoadAndStartAnotherShowL(); + TInt TestLoadAndStartEmptyShowAfterAnotherShowL(); + TInt TestStartWhenLoadFailedL(); + +private: // data + + /** File server session used in testing. */ + RFs iFs; + + /** Animation observer for testing. */ + TMockAnimationObserver iObserver; + + /** Instance of the class that this test suite is testing. */ + CSAnimEngine* iTestObj; + + /** For testing async calls. */ + CTestWaiter* iWaiter; + CTestWaiter* iWaiter2; + + + + }; + +#endif // TSANIMENGINE_H + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimengine/inc/testwaiter.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimengine/inc/testwaiter.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,88 @@ +/* +* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Symbian Foundation License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Declaration of CTestWaiter class +* +*/ + + +#ifndef TESTWAITER_H +#define TESTWAITER_H + +#include + +/** +* Stops active scheduler in RunL. +* +* @lib None +* @since S60 3.2 +*/ +class CTestWaiter : public CActive + { + +public: + + /** + * Constructs a CTestWaiter object. + * + * @return The new object + * @since S60 3.2 + */ + static CTestWaiter* NewL(); + + /** + * Destructor. + * + * @since S60 3.2 + */ + virtual ~CTestWaiter(); + + /** + * Set active. + * + * @since S60 3.2 + */ + void Activate(); + +protected: + + /** + * From CActive. + * Implements cancellation of an outstanding request. + * + * @since S60 3.2 + */ + virtual void DoCancel(); + + /** + * From CActive. + * Handles an active object's request completion event. + * Never leaves. + * + * @since S60 3.2 + */ + virtual void RunL(); + +private: + + /** + * First phase constructor. + * + */ + CTestWaiter(); + +private: // data + + }; + +#endif // TESTWAITER_H diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimengine/rom/TSanimengine.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimengine/rom/TSanimengine.iby Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,10 @@ +#ifndef __TSANIMENGINE_IBY__ +#define __TSANIMENGINE_IBY__ + +file=ABI_DIR\BUILD_DIR\TSanimengine.dll SHARED_LIB_DIR\TSanimengine.dll + +//data=\epoc32\data\z\system\data\TestFramework.ini \testframework\TestFramework.ini +data=\epoc32\data\z\system\data\TSanimengine.cfg \testframework\TSanimengine.cfg + + +#endif \ No newline at end of file diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimengine/src/TSanimengine.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimengine/src/TSanimengine.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,198 @@ +/* +* 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: This file contains testclass implementation. +* +*/ + +// INCLUDE FILES +#include +#include "TSanimengine.h" +#include + +// EXTERNAL DATA STRUCTURES +//extern ?external_data; + +// EXTERNAL FUNCTION PROTOTYPES +//extern ?external_function( ?arg_type,?arg_type ); + +// CONSTANTS +//const ?type ?constant_var = ?constant; + +// MACROS +//#define ?macro ?macro_def + +// LOCAL CONSTANTS AND MACROS +//const ?type ?constant_var = ?constant; +//#define ?macro_name ?macro_def + +// MODULE DATA STRUCTURES +//enum ?declaration +//typedef ?declaration + +// LOCAL FUNCTION PROTOTYPES +//?type ?function_name( ?arg_type, ?arg_type ); + +// FORWARD DECLARATIONS +//class ?FORWARD_CLASSNAME; + +// ============================= LOCAL FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// ?function_name ?description. +// ?description +// Returns: ?value_1: ?description +// ?value_n: ?description_line1 +// ?description_line2 +// ----------------------------------------------------------------------------- +// +/* +?type ?function_name( + ?arg_type arg, // ?description + ?arg_type arg) // ?description + { + + ?code // ?comment + + // ?comment + ?code + } +*/ + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CTSanimengine::CTSanimengine +// C++ default constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +// +CTSanimengine::CTSanimengine( + CTestModuleIf& aTestModuleIf ): + CScriptBase( aTestModuleIf ) + { + } + +// ----------------------------------------------------------------------------- +// CTSanimengine::ConstructL +// Symbian 2nd phase constructor can leave. +// ----------------------------------------------------------------------------- +// +void CTSanimengine::ConstructL() + { + //Read logger settings to check whether test case name is to be + //appended to log file name. + RSettingServer settingServer; + TInt ret = settingServer.Connect(); + if(ret != KErrNone) + { + User::Leave(ret); + } + // Struct to StifLogger settigs. + TLoggerSettings loggerSettings; + // Parse StifLogger defaults from STIF initialization file. + ret = settingServer.GetLoggerSettings(loggerSettings); + if(ret != KErrNone) + { + User::Leave(ret); + } + // Close Setting server session + settingServer.Close(); + + TFileName logFileName; + + if(loggerSettings.iAddTestCaseTitle) + { + TName title; + TestModuleIf().GetTestCaseTitleL(title); + logFileName.Format(KTSanimengineLogFileWithTitle, &title); + } + else + { + logFileName.Copy(KTSanimengineLogFile); + } + + iLog = CStifLogger::NewL( KTSanimengineLogPath, + logFileName, + CStifLogger::ETxt, + CStifLogger::EFile, + EFalse ); + + SendTestClassVersion(); + } + +// ----------------------------------------------------------------------------- +// CTSanimengine::NewL +// Two-phased constructor. +// ----------------------------------------------------------------------------- +// +CTSanimengine* CTSanimengine::NewL( + CTestModuleIf& aTestModuleIf ) + { + CTSanimengine* self = new (ELeave) CTSanimengine( aTestModuleIf ); + + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop(); + + return self; + + } + +// Destructor +CTSanimengine::~CTSanimengine() + { + + // Delete resources allocated from test methods + Delete(); + + // Delete logger + delete iLog; + + } + +//----------------------------------------------------------------------------- +// CTSanimengine::SendTestClassVersion +// Method used to send version of test class +//----------------------------------------------------------------------------- +// +void CTSanimengine::SendTestClassVersion() + { + TVersion moduleVersion; + moduleVersion.iMajor = TEST_CLASS_VERSION_MAJOR; + moduleVersion.iMinor = TEST_CLASS_VERSION_MINOR; + moduleVersion.iBuild = TEST_CLASS_VERSION_BUILD; + + TFileName moduleName; + moduleName = _L("TSanimengine.dll"); + + TBool newVersionOfMethod = ETrue; + TestModuleIf().SendTestModuleVersion(moduleVersion, moduleName, newVersionOfMethod); + } + +// ========================== OTHER EXPORTED FUNCTIONS ========================= + +// ----------------------------------------------------------------------------- +// LibEntryL is a polymorphic Dll entry point. +// Returns: CScriptBase: New CScriptBase derived object +// ----------------------------------------------------------------------------- +// +EXPORT_C CScriptBase* LibEntryL( + CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework + { + + return ( CScriptBase* ) CTSanimengine::NewL( aTestModuleIf ); + + } + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimengine/src/TSanimengineBlocks.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimengine/src/TSanimengineBlocks.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,1361 @@ +/* +* 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: This file contains testclass implementation. +* +*/ + +// [INCLUDE FILES] - do not remove +#include +#include +#include +#include "TSanimengine.h" + + +#include "sanimengine.h" +#include "testwaiter.h" + +#include + +//#pragma tagging OFF // To disable CodeTest tagging + +_LIT( KImageOutputFile, "C:\\temp\\sanimimagetestoutput.txt" ); +_LIT( KToneOutputFile, "C:\\temp\\sanimtonetestoutput.txt" ); +_LIT( KFileNoExtension, "C:\\temp\\test" ); // There is no plug-in for this type +_LIT( KFileTooLongExtension, "C:\\temp\\test.xxxxxxxxxxxxxxxx" ); // There is no plug-in for this type +_LIT( KDummyImageFile1, "C:\\temp\\test.ti1" ); // There is no plug-in for this type +_LIT( KDummyImageFile2, "C:\\temp\\test.ti2" ); // There is a plug-in for this type +_LIT( KDummyImageFile3, "C:\\temp\\test.ti3" ); // There are multiple plug-ins for this type +_LIT( KDummyImageFile4, "C:\\temp\\test.ti6" ); // Wildcard match +_LIT( KDummyImageFile5, "C:\\temp\\test.ti5" ); // This plug-in returns error +_LIT( KDummyImageFile6, "C:\\temp\\test.zzz.ti2" ); // There is a plug-in for this type +_LIT( KDummyToneFile1, "C:\\temp\\test.tt1" ); // There is no plug-in for this type +_LIT( KDummyToneFile2, "C:\\temp\\test.tt2" ); // There is a plug-in for this type +_LIT( KDummyToneFile3, "C:\\temp\\test.tt3" ); // There are multiple plug-ins for this type +_LIT( KDummyToneFile4, "C:\\temp\\test.tt6" ); // Wildcard match +_LIT( KDummyToneFile5, "C:\\temp\\test.tt5" ); // This plug-in returns error + +const TUint32 KImagePlugin1ImplUid = 0x0AA01513; +const TUint32 KImagePlugin2ImplUid = 0x0AA01515; +const TUint32 KImagePlugin3ImplUid = 0x0AA01517; +const TUint32 KImagePlugin4ImplUid = 0x0AA01519; +const TUint32 KTonePlugin1ImplUid = 0x0AA0150B; +const TUint32 KTonePlugin2ImplUid = 0x0AA0150D; +const TUint32 KTonePlugin3ImplUid = 0x0AA0150F; +const TUint32 KTonePlugin4ImplUid = 0x0AA01511; + + + + +void CTSanimengine::Delete() + { + + } + +// ----------------------------------------------------------------------------- +// CTSanimengine::RunMethodL +// Run specified method. Contains also table of test mothods and their names. +// ----------------------------------------------------------------------------- +// +TInt CTSanimengine::RunMethodL( + CStifItemParser& aItem ) + { + + static TStifFunctionInfo const KFunctions[] = + { + // Copy this line for every implemented function. + // First string is the function name used in TestScripter script file. + // Second is the actual implementation member function. + ENTRY( "Example", CTSanimengine::ExampleL ), + ENTRY( "SetupEmpty", CTSanimengine::SetupEmptyL), + ENTRY( "SetupObj", CTSanimengine::SetupObjL), + ENTRY( "SetupImagePlugin", CTSanimengine::SetupImagePluginL), + ENTRY( "SetupTonePlugin", CTSanimengine::SetupTonePluginL), + ENTRY( "SetupBothPlugins", CTSanimengine::SetupBothPluginsL), + ENTRY( "SetupImagePluginFaster", CTSanimengine::SetupImagePluginFasterL), + ENTRY( "SetupTonePluginFaster", CTSanimengine::SetupTonePluginFasterL), + ENTRY( "SetupImagePluginReturnsError", CTSanimengine::SetupImagePluginReturnsErrorL), + ENTRY( "SetupTonePluginReturnsError", CTSanimengine::SetupTonePluginReturnsErrorL), + ENTRY( "Load", CTSanimengine::LoadL), + ENTRY( "SetupImageLoaded", CTSanimengine::SetupImageLoadedL), + ENTRY( "SetupToneLoaded", CTSanimengine::SetupToneLoadedL), + ENTRY( "SetupBothLoaded", CTSanimengine::SetupBothLoadedL), + ENTRY( "SetupLoadFailed", CTSanimengine::SetupLoadFailedL), + ENTRY( "SetupBothFinished", CTSanimengine::SetupBothFinishedL), + ENTRY( "Teardown", CTSanimengine::Teardown), + ENTRY( "SetupBothPluginsReturnError", CTSanimengine::SetupBothPluginsReturnErrorL), + + ENTRY( "TestConstructor", CTSanimengine::TestConstructorL), + ENTRY( "TestConstructorNoMemory", CTSanimengine::TestConstructorNoMemoryL), + ENTRY( "TestExtensionlessFile", CTSanimengine::TestExtensionlessFileL), + ENTRY( "TestTooLongExtension", CTSanimengine::TestTooLongExtensionL), + ENTRY( "SetImagePropertiesUnknownExtension", CTSanimengine::SetImagePropertiesUnknownExtensionL), + ENTRY( "SetImagePropertiesKnownExtension", CTSanimengine::SetImagePropertiesKnownExtensionL), + ENTRY( "SetImagePropertiesUnknownExtensionNoMemory", CTSanimengine::SetImagePropertiesUnknownExtensionNoMemoryL), + ENTRY( "SetImagePropertiesKnownExtensionNoMemory", CTSanimengine::SetImagePropertiesKnownExtensionNoMemoryL), + ENTRY( "SetImagePropertiesManyExtensions", CTSanimengine::SetImagePropertiesManyExtensionsL), + ENTRY( "SetImagePropertiesManyExtensionsNoMemory", CTSanimengine::SetImagePropertiesManyExtensionsNoMemoryL), + ENTRY( "SetImagePropertiesManyPlugins", CTSanimengine::SetImagePropertiesManyPluginsL), + ENTRY( "SetImagePropertiesManyPluginsNoMemory", CTSanimengine::SetImagePropertiesManyPluginsNoMemoryL), + ENTRY( "SetImagePropertiesWildcardMatch", CTSanimengine::SetImagePropertiesWildcardMatchL), + ENTRY( "SetImagePropertiesWildcardMatchNoMemory", CTSanimengine::SetImagePropertiesWildcardMatchNoMemoryL), + ENTRY( "SetTonePropertiesUnknownExtension", CTSanimengine::SetTonePropertiesUnknownExtensionL), + ENTRY( "SetTonePropertiesUnknownExtensionNoMemory", CTSanimengine::SetTonePropertiesUnknownExtensionNoMemoryL), + ENTRY( "SetTonePropertiesKnownExtension", CTSanimengine::SetTonePropertiesKnownExtensionL), + ENTRY( "SetTonePropertiesKnownExtensionNoMemory", CTSanimengine::SetTonePropertiesKnownExtensionNoMemoryL), + ENTRY( "SetTonePropertiesManyPlugins", CTSanimengine::SetTonePropertiesManyPluginsL), + ENTRY( "SetTonePropertiesManyPluginsNoMemory", CTSanimengine::SetTonePropertiesManyPluginsNoMemoryL), + ENTRY( "SetTonePropertiesWildcardMatch", CTSanimengine::SetTonePropertiesWildcardMatchL), + ENTRY( "SetTonePropertiesWildcardMatchNoMemory", CTSanimengine::SetTonePropertiesWildcardMatchNoMemoryL), + ENTRY( "TestLoadEmpty", CTSanimengine::TestLoadEmptyL), + ENTRY( "TestCancelLoadEmpty", CTSanimengine::TestCancelLoadEmptyL), + ENTRY( "TestLoadNoMemory", CTSanimengine::TestLoadNoMemoryL), + ENTRY( "TestCancelLoad", CTSanimengine::TestCancelLoadL), + ENTRY( "TestLoadImagePluginFaster", CTSanimengine::TestLoadImagePluginFasterL), + ENTRY( "TestLoadTonePluginFaster", CTSanimengine::TestLoadTonePluginFasterL), + ENTRY( "TestLoadImagePluginReturnsError", CTSanimengine::TestLoadImagePluginReturnsErrorL), + + ENTRY( "TestLoadTonePluginReturnsError", CTSanimengine::TestLoadTonePluginReturnsErrorL), + ENTRY( "TestBackroundColour", CTSanimengine::TestBackroundColourL), + ENTRY( "TestCancelNotActive", CTSanimengine::TestCancelNotActiveL), + ENTRY( "TestLoadWhenActive", CTSanimengine::TestLoadWhenActiveL), + ENTRY( "TestStartWhenActive", CTSanimengine::TestStartWhenActiveL), + ENTRY( "TestStart", CTSanimengine::TestStartL), + + ENTRY( "TestStartNotReady", CTSanimengine::TestStartNotReadyL), + ENTRY( "TestLoadAgain", CTSanimengine::TestLoadAgainL), + ENTRY( "TestStartAgain", CTSanimengine::TestStartAgainL), + ENTRY( "TestLoadAndStartAnotherShow", CTSanimengine::TestLoadAndStartAnotherShowL), + ENTRY( "TestLoadAndStartEmptyShowAfterAnotherShow", CTSanimengine::TestLoadAndStartEmptyShowAfterAnotherShowL), + ENTRY( "TestStartWhenLoadFailed", CTSanimengine::TestStartWhenLoadFailedL), + + + + + + //ADD NEW ENTRY HERE + // [test cases entries] - Do not remove + + }; + + const TInt count = sizeof( KFunctions ) / + sizeof( TStifFunctionInfo ); + + return RunInternalL( KFunctions, count, aItem ); + + } + +// ======== MEMBER FUNCTIONS ======== + + +// --------------------------------------------------------------------------- +// CTSanimengine::SetupEmptyL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::SetupEmptyL() + { + User::LeaveIfError( iFs.Connect() ); + + RFile file; + file.Replace( iFs, KImageOutputFile, EFileShareAny | EFileWrite ); + file.Replace( iFs, KToneOutputFile, EFileShareAny | EFileWrite ); + file.Close(); + + iTestObj = NULL; + iWaiter = CTestWaiter::NewL(); + iWaiter2 = CTestWaiter::NewL(); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::SetupObjL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::SetupObjL() + { + SetupEmptyL(); + iTestObj = CSAnimEngine::NewL( iFs, iObserver ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::SetupImagePluginL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::SetupImagePluginL() + { + SetupObjL(); + User::LeaveIfError( + iTestObj->SetImageProperties( KDummyImageFile2, EGray2, TSize( 0, 0 ), 0, ETrue, 1 ) ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::SetupTonePluginL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::SetupTonePluginL() + { + SetupObjL(); + User::LeaveIfError( iTestObj->SetToneProperties( KDummyToneFile2, 4, 0, 1 ) ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::SetupBothPluginsL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::SetupBothPluginsL() + { + SetupObjL(); + User::LeaveIfError( + iTestObj->SetImageProperties( KDummyImageFile2, EGray2, TSize( 0, 0 ), 0, ETrue, 1 ) ); + User::LeaveIfError( iTestObj->SetToneProperties( KDummyToneFile2, 4, 0, 1 ) ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::SetupImagePluginFasterL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::SetupImagePluginFasterL() + { + SetupObjL(); + User::LeaveIfError( + iTestObj->SetImageProperties( KDummyImageFile2, EGray2, TSize( 0, 0 ), 0, ETrue, 1 ) ); + User::LeaveIfError( iTestObj->SetToneProperties( KDummyToneFile4, 4, 0, 1 ) ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::SetupTonePluginFasterL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::SetupTonePluginFasterL() + { + SetupObjL(); + User::LeaveIfError( + iTestObj->SetImageProperties( KDummyImageFile4, EGray2, TSize( 0, 0 ), 0, ETrue, 1 ) ); + User::LeaveIfError( iTestObj->SetToneProperties( KDummyToneFile2, 4, 0, 1 ) ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::SetupImagePluginReturnsErrorL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::SetupImagePluginReturnsErrorL() + { + SetupObjL(); + User::LeaveIfError( + iTestObj->SetImageProperties( KDummyImageFile5, EGray2, TSize( 0, 0 ), 0, ETrue, 1 ) ); + User::LeaveIfError( iTestObj->SetToneProperties( KDummyToneFile2, 4, 0, 1 ) ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::SetupTonePluginReturnsErrorL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::SetupTonePluginReturnsErrorL() + { + SetupObjL(); + User::LeaveIfError( + iTestObj->SetImageProperties( KDummyImageFile2, EGray2, TSize( 0, 0 ), 0, ETrue, 1 ) ); + User::LeaveIfError( iTestObj->SetToneProperties( KDummyToneFile5, 4, 0, 1 ) ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::SetupBothPluginsReturnErrorL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::SetupBothPluginsReturnErrorL() + { + SetupObjL(); + User::LeaveIfError( + iTestObj->SetImageProperties( KDummyImageFile5, EGray2, TSize( 0, 0 ), 0, ETrue, 1 ) ); + User::LeaveIfError( iTestObj->SetToneProperties( KDummyToneFile5, 4, 0, 1 ) ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::LoadL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::LoadL() + { + iTestObj->Load( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + User::LeaveIfError( iWaiter->iStatus.Int() ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::SetupImageLoadedL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::SetupImageLoadedL() + { + SetupImagePluginL(); + LoadL(); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::SetupToneLoadedL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::SetupToneLoadedL() + { + SetupTonePluginL(); + LoadL(); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::SetupBothLoadedL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::SetupBothLoadedL() + { + SetupBothPluginsL(); + LoadL(); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::SetupLoadFailedL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::SetupLoadFailedL() + { + SetupBothPluginsReturnErrorL(); + iTestObj->Load( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::SetupBothFinishedL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::SetupBothFinishedL() + { + SetupBothLoadedL(); + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + User::LeaveIfError( iWaiter->iStatus.Int() ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::Teardown +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::Teardown() + { + delete iWaiter2; + iWaiter2 = NULL; + delete iWaiter; + iWaiter = NULL; + delete iTestObj; + iTestObj = NULL; + iFs.Close(); + + REComSession::FinalClose(); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::CheckNoImagePluginOutputL +// +// --------------------------------------------------------------------------- +// +TBool CTSanimengine::CheckNoImagePluginOutputL() + { + RFile file; + CleanupClosePushL( file ); + User::LeaveIfError( + file.Open( iFs, KImageOutputFile, EFileShareAny | EFileRead ) ); + + TFileText reader; + reader.Set( file ); + TBuf<16> buf; + TBool retVal = ( reader.Read( buf ) == KErrEof ); + + CleanupStack::PopAndDestroy( &file ); + return retVal; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::CheckImagePluginOutputL +// +// --------------------------------------------------------------------------- +// +TBool CTSanimengine::CheckImagePluginOutputL( + const TUint32 aPluginUid, + const TDesC& aFileToLoad, + const TInt aDisplayMode, + const TSize& aSize, + const TInt aFrameDelay ) + { + RFile file; + CleanupClosePushL( file ); + User::LeaveIfError( + file.Open( iFs, KImageOutputFile, EFileShareAny | EFileRead ) ); + + TFileText reader; + reader.Set( file ); + + TBool retVal = ETrue; + TBuf<256> buf; + TLex16 lex; + + User::LeaveIfError( reader.Read( buf ) ); + TUint32 uidFromFile; + lex.Assign( buf ); + User::LeaveIfError( lex.Val( uidFromFile, EHex ) ); + if ( uidFromFile != aPluginUid ) + { + // EUNIT_PRINT( _L( "Plugin UID mismatch: expected 0x%08x, got 0x%08x" ), aPluginUid, uidFromFile ); + retVal = EFalse; + } + + User::LeaveIfError( reader.Read( buf ) ); + if ( buf != aFileToLoad ) + { + // EUNIT_PRINT( _L( "File name mismatch: expected %S, got %S" ), &aFileToLoad, &buf ); + retVal = EFalse; + } + + User::LeaveIfError( reader.Read( buf ) ); + TInt modeFromFile; + lex.Assign( buf ); + User::LeaveIfError( lex.Val( modeFromFile ) ); + if ( modeFromFile != aDisplayMode ) + { + // EUNIT_PRINT( _L( "Display mode mismatch: expected %d, got %d" ), aDisplayMode, modeFromFile ); + retVal = EFalse; + } + + User::LeaveIfError( reader.Read( buf ) ); + TInt widthFromFile; + lex.Assign( buf ); + User::LeaveIfError( lex.Val( widthFromFile ) ); + User::LeaveIfError( reader.Read( buf ) ); + TInt heightFromFile; + lex.Assign( buf ); + User::LeaveIfError( lex.Val( heightFromFile ) ); + if ( widthFromFile != aSize.iWidth || heightFromFile != aSize.iHeight ) + { + // EUNIT_PRINT( _L( "Size mismatch: expected (%d,%d), got (%d,%d)" ), + // aSize.iWidth, aSize.iHeight, widthFromFile, heightFromFile ); + retVal = EFalse; + } + + User::LeaveIfError( reader.Read( buf ) ); + TUint delayFromFile; + lex.Assign( buf ); + User::LeaveIfError( lex.Val( delayFromFile ) ); + if ( delayFromFile != aFrameDelay ) + { + // EUNIT_PRINT( _L( "Frame delay mismatch: expected %d, got %d" ), aFrameDelay, delayFromFile ); + retVal = EFalse; + } + + CleanupStack::PopAndDestroy( &file ); + return retVal; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::CheckNoTonePluginOutputL +// +// --------------------------------------------------------------------------- +// +TBool CTSanimengine::CheckNoTonePluginOutputL() + { + RFile file; + CleanupClosePushL( file ); + User::LeaveIfError( + file.Open( iFs, KToneOutputFile, EFileShareAny | EFileRead ) ); + + TFileText reader; + reader.Set( file ); + TBuf<16> buf; + TBool retVal = ( reader.Read( buf ) == KErrEof ); + + CleanupStack::PopAndDestroy( &file ); + return retVal; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::CheckTonePluginOutputL +// +// --------------------------------------------------------------------------- +// +TBool CTSanimengine::CheckTonePluginOutputL( + const TUint32 aPluginUid, + const TDesC& aFileToLoad, + const TInt aVolume, + const TInt64& aVolumeRamp ) + { + RFile file; + CleanupClosePushL( file ); + User::LeaveIfError( + file.Open( iFs, KToneOutputFile, EFileShareAny | EFileRead ) ); + + TFileText reader; + reader.Set( file ); + + TBool retVal = ETrue; + TBuf<256> buf; + TLex16 lex; + + User::LeaveIfError( reader.Read( buf ) ); + TUint32 uidFromFile; + lex.Assign( buf ); + User::LeaveIfError( lex.Val( uidFromFile, EHex ) ); + if ( uidFromFile != aPluginUid ) + { + // EUNIT_PRINT( + // _L( "Plugin UID mismatch: expected 0x%08x, got 0x%08x" ), aPluginUid, uidFromFile ); + retVal = EFalse; + } + + User::LeaveIfError( reader.Read( buf ) ); + if ( buf != aFileToLoad ) + { + // EUNIT_PRINT( _L( "File name mismatch: expected %S, got %S" ), &aFileToLoad, &buf ); + retVal = EFalse; + } + + User::LeaveIfError( reader.Read( buf ) ); + TInt volumeFromFile; + lex.Assign( buf ); + User::LeaveIfError( lex.Val( volumeFromFile ) ); + if ( volumeFromFile != aVolume ) + { + // EUNIT_PRINT( _L( "Volume mismatch: expected %d, got %d" ), aVolume, volumeFromFile ); + retVal = EFalse; + } + + User::LeaveIfError( reader.Read( buf ) ); + TInt64 volumeRampFromFile; + lex.Assign( buf ); + User::LeaveIfError( lex.Val( volumeRampFromFile ) ); + if ( volumeRampFromFile != aVolumeRamp ) + { + // EUNIT_PRINT( + // _L( "Volume ramp mismatch: expected %d, got %d" ), aVolumeRamp, volumeRampFromFile ); + retVal = EFalse; + } + + CleanupStack::PopAndDestroy( &file ); + return retVal; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::TestConstructorL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::TestConstructorL() + { + iTestObj = CSAnimEngine::NewL( iFs, iObserver ); + delete iTestObj; + iTestObj = NULL; + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::TestConstructorNoMemoryL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::TestConstructorNoMemoryL() + { + iTestObj = CSAnimEngine::NewL( iFs, iObserver ); + // EUNIT_ASSERT( !iTestObj ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::TestExtensionlessFileL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::TestExtensionlessFileL() + { + TInt errorCode = + iTestObj->SetImageProperties( KFileNoExtension, EGray2, TSize( 0, 0 ), 0, ETrue, 1 ); + if (errorCode == KErrNotFound ) + return KErrNone; + + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::TestTooLongExtensionL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::TestTooLongExtensionL() + { + TInt errorCode = iTestObj->SetToneProperties( KFileTooLongExtension, 4, 0, 1 ); + if ( errorCode == KErrNotFound ) + return KErrNone; + + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::SetImagePropertiesUnknownExtensionL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::SetImagePropertiesUnknownExtensionL() + { + TInt errorCode = + iTestObj->SetImageProperties( KDummyImageFile1, EGray2, TSize( 0, 0 ), 0, ETrue, 1 ); + if ( errorCode == KErrNotFound ) + return KErrNone; + + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::SetImagePropertiesUnknownExtensionNoMemoryL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::SetImagePropertiesUnknownExtensionNoMemoryL() + { + TInt errorCode = + iTestObj->SetImageProperties( KDummyImageFile1, EGray2, TSize( 0, 0 ), 0, ETrue, 1 ); + if (errorCode == KErrNoMemory ) + return KErrNone; + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::SetImagePropertiesKnownExtensionL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::SetImagePropertiesKnownExtensionL() + { + TInt errorCode = + iTestObj->SetImageProperties( KDummyImageFile2, EGray2, TSize( 0, 0 ), 0, ETrue, 1 ); + // EUNIT_ASSERT_EQUALS( errorCode, KErrNone ); + + iTestObj->Load( iWaiter->iStatus ); // Mock plug-in writes output file when Load is called. + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + + if ( CheckImagePluginOutputL(KImagePlugin1ImplUid, KDummyImageFile2, EGray2, TSize( 0, 0 ), 0 ) == KErrNone) + return KErrNone; + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::SetImagePropertiesKnownExtensionNoMemoryL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::SetImagePropertiesKnownExtensionNoMemoryL() + { + TInt errorCode = + iTestObj->SetImageProperties( KDummyImageFile2, EGray2, TSize( 0, 0 ), 0, ETrue, 1 ); + if (errorCode == KErrNoMemory ) + return KErrNone; + + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimEngineTestSuite::SetImagePropertiesManyPluginsL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::SetImagePropertiesManyPluginsL() + { + TInt errorCode = + iTestObj->SetImageProperties( KDummyImageFile3, EGray2, TSize( 100, 200 ), 0, ETrue, 1 ); + // EUNIT_ASSERT_EQUALS( errorCode, KErrNone ); + + iTestObj->Load( iWaiter->iStatus ); // Mock plug-in writes output file when Load is called. + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + + // Either plug-in 2 or 3 is acceptable. + /* + EUNIT_ASSERT( + CheckImagePluginOutputL( + KImagePlugin2ImplUid, KDummyImageFile3, EGray2, TSize( 100, 200 ), 0 ) || + CheckImagePluginOutputL( + KImagePlugin3ImplUid, KDummyImageFile3, EGray2, TSize( 100, 200 ), 0 ) ); + */ + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::SetImagePropertiesManyPluginsNoMemoryL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::SetImagePropertiesManyPluginsNoMemoryL() + { + TInt errorCode = + iTestObj->SetImageProperties( KDummyImageFile3, EGray2, TSize( 0, 0 ), 0, ETrue, 1 ); + if ( errorCode== KErrNoMemory ) + return KErrNone; + return errorCode; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::SetImagePropertiesWildcardMatchL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::SetImagePropertiesWildcardMatchL() + { + TInt errorCode = + iTestObj->SetImageProperties( KDummyImageFile4, EGray2, TSize( 0, 0 ), 135000, ETrue, 1 ); + // EUNIT_ASSERT_EQUALS( errorCode, KErrNone ); + + iTestObj->Load( iWaiter->iStatus ); // Mock plug-in writes output file when Load is called. + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + + // EUNIT_ASSERT( CheckImagePluginOutputL( + // KImagePlugin4ImplUid, KDummyImageFile4, EGray2, TSize( 0, 0 ), 135000 ) ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::SetImagePropertiesWildcardMatchNoMemoryL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::SetImagePropertiesWildcardMatchNoMemoryL() + { + TInt errorCode = + iTestObj->SetImageProperties( KDummyImageFile4, EGray2, TSize( 0, 0 ), 0, ETrue, 1 ); + if ( errorCode == KErrNoMemory ) + return KErrNone; + + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::SetImagePropertiesManyExtensionsL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::SetImagePropertiesManyExtensionsL() + { + TInt errorCode = + iTestObj->SetImageProperties( KDummyImageFile6, EColor16M, TSize( 0, 0 ), 0, ETrue, 1 ); + // EUNIT_ASSERT_EQUALS( errorCode, KErrNone ); + + iTestObj->Load( iWaiter->iStatus ); // Mock plug-in writes output file when Load is called. + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + + if ( CheckImagePluginOutputL(KImagePlugin1ImplUid, KDummyImageFile6, EColor16M, TSize( 0, 0 ), 0 ) ) + return KErrNone; + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimEngineTestSuite::SetImagePropertiesManyExtensionsNoMemoryL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::SetImagePropertiesManyExtensionsNoMemoryL() + { + TInt errorCode = + iTestObj->SetImageProperties( KDummyImageFile6, EGray2, TSize( 0, 0 ), 0, ETrue, 1 ); + if ( errorCode == KErrNoMemory ) + return KErrNone; + + return errorCode; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::SetTonePropertiesUnknownExtensionL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::SetTonePropertiesUnknownExtensionL() + { + TInt errorCode = iTestObj->SetToneProperties( KDummyToneFile1, 4, 0, 1 ); + if ( errorCode == KErrNotFound ) + return KErrNone; + + return errorCode; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::SetTonePropertiesUnknownExtensionNoMemoryL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::SetTonePropertiesUnknownExtensionNoMemoryL() + { + TInt errorCode = iTestObj->SetToneProperties( KDummyToneFile1, 4, 0, 1 ); + if ( errorCode == KErrNoMemory ) + return KErrNone; + + return errorCode; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::SetTonePropertiesKnownExtensionL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::SetTonePropertiesKnownExtensionL() + { + TInt errorCode = iTestObj->SetToneProperties( KDummyToneFile2, 4, 0, 1 ); + // EUNIT_ASSERT_EQUALS( errorCode, KErrNone ); + + iTestObj->Load( iWaiter->iStatus ); // Mock plug-in writes output file when Load is called. + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + + // EUNIT_ASSERT( CheckTonePluginOutputL( + // KTonePlugin1ImplUid, KDummyToneFile2, 4, 0 ) ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::SetTonePropertiesKnownExtensionNoMemoryL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::SetTonePropertiesKnownExtensionNoMemoryL() + { + TInt errorCode = iTestObj->SetToneProperties( KDummyToneFile2, 4, 0, 1 ); + if ( errorCode == KErrNoMemory ) + return KErrNone; + return errorCode; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::SetTonePropertiesManyPluginsL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::SetTonePropertiesManyPluginsL() + { + TInt errorCode = iTestObj->SetToneProperties( KDummyToneFile3, 2, 300000, 1 ); + // EUNIT_ASSERT_EQUALS( errorCode, KErrNone ); + + iTestObj->Load( iWaiter->iStatus ); // Mock plug-in writes output file when Load is called. + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + + // Either plug-in 2 or 3 is acceptable. + if ( CheckTonePluginOutputL(KTonePlugin2ImplUid, KDummyToneFile3, 2, 300000 ) || + CheckTonePluginOutputL(KTonePlugin3ImplUid, KDummyToneFile3, 2, 300000 ) ) + return KErrNone; + + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::SetTonePropertiesManyPluginsNoMemoryL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::SetTonePropertiesManyPluginsNoMemoryL() + { + TInt errorCode = iTestObj->SetToneProperties( KDummyToneFile3, 4, 0, 1 ); + if ( errorCode == KErrNoMemory ) + return KErrNone; + + return errorCode; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::SetTonePropertiesWildcardMatchL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::SetTonePropertiesWildcardMatchL() + { + TInt errorCode = iTestObj->SetToneProperties( KDummyToneFile4, 0, 1000000, 1 ); + // EUNIT_ASSERT_EQUALS( errorCode, KErrNone ); + + iTestObj->Load( iWaiter->iStatus ); // Mock plug-in writes output file when Load is called. + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + + // EUNIT_ASSERT( CheckTonePluginOutputL( + // KTonePlugin4ImplUid, KDummyToneFile4, 0, 1000000 ) ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::SetTonePropertiesWildcardMatchNoMemoryL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::SetTonePropertiesWildcardMatchNoMemoryL() + { + TInt errorCode = iTestObj->SetToneProperties( KDummyToneFile4, 4, 0, 1 ); + if (errorCode == KErrNoMemory ) + return KErrNone; + return errorCode; + } + + + +// --------------------------------------------------------------------------- +// CTSanimengine::TestLoadEmptyL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::TestLoadEmptyL() + { + iTestObj->Load( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + + CheckNoImagePluginOutputL(); + CheckNoTonePluginOutputL(); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::TestCancelLoadEmptyL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::TestCancelLoadEmptyL() + { + iTestObj->Load( iWaiter->iStatus ); + iWaiter->Activate(); + iTestObj->Cancel(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::TestLoadNoMemoryL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::TestLoadNoMemoryL() + { + iTestObj->Load( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); // Mock plug-in does not reserve memory in Load + return KErrNone; + } + + + +// --------------------------------------------------------------------------- +// CTSanimengine::TestCancelLoadL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::TestCancelLoadL() + { + iTestObj->Load( iWaiter->iStatus ); + iWaiter->Activate(); + iTestObj->Cancel(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int()== KErrCancel ) + return KErrNone; + + return KErrCancel; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::TestLoadImagePluginFasterL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::TestLoadImagePluginFasterL() + { + iTestObj->Load( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + //EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + + //EUNIT_ASSERT( CheckImagePluginOutputL( + // KImagePlugin1ImplUid, KDummyImageFile2, EGray2, TSize( 0, 0 ), 0 ) ); + + // EUNIT_ASSERT( CheckTonePluginOutputL( + // KTonePlugin4ImplUid, KDummyToneFile4, 4, 0 ) ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::TestLoadTonePluginFasterL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::TestLoadTonePluginFasterL() + { + iTestObj->Load( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + + // EUNIT_ASSERT( CheckImagePluginOutputL( + // KImagePlugin4ImplUid, KDummyImageFile4, EGray2, TSize( 0, 0 ), 0 ) ); + + // EUNIT_ASSERT( CheckTonePluginOutputL( + // KTonePlugin1ImplUid, KDummyToneFile2, 4, 0 ) ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::TestLoadImagePluginReturnsErrorL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::TestLoadImagePluginReturnsErrorL() + { + iTestObj->Load( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrGeneral ); + + // EUNIT_ASSERT( CheckImagePluginOutputL( + // KImagePlugin3ImplUid, KDummyImageFile5, EGray2, TSize( 0, 0 ), 0 ) ); + + // EUNIT_ASSERT( CheckTonePluginOutputL( + // KTonePlugin1ImplUid, KDummyToneFile2, 4, 0 ) ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::TestLoadTonePluginReturnsErrorL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::TestLoadTonePluginReturnsErrorL() + { + iTestObj->Load( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrGeneral ); + + // EUNIT_ASSERT( CheckImagePluginOutputL( + // KImagePlugin1ImplUid, KDummyImageFile2, EGray2, TSize( 0, 0 ), 0 ) ); + + // EUNIT_ASSERT( CheckTonePluginOutputL( + // KTonePlugin3ImplUid, KDummyToneFile5, 4, 0 ) ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::TestBackroundColourL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::TestBackroundColourL() + { + // EUNIT_ASSERT_EQUALS( iTestObj->BackroundColour(), TRgb() ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimEngineTestSuite::TestCancelNotActiveL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::TestCancelNotActiveL() + { + iTestObj->Cancel(); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimEngineTestSuite::TestLoadWhenActiveL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::TestLoadWhenActiveL() + { + iTestObj->Load( iWaiter->iStatus ); + iWaiter->Activate(); + iTestObj->Load( iWaiter2->iStatus ); + iWaiter2->Activate(); + CActiveScheduler::Start(); // Waiter2 stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter2->iStatus.Int(), KErrNotReady ); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimEngineTestSuite::TestStartWhenActiveL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::TestStartWhenActiveL() + { + iTestObj->Load( iWaiter->iStatus ); + iWaiter->Activate(); + iTestObj->Start( iWaiter2->iStatus ); + iWaiter2->Activate(); + CActiveScheduler::Start(); // Waiter2 stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter2->iStatus.Int(), KErrNotReady ); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimEngineTestSuite::TestStartL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::TestStartL() + { + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimEngineTestSuite::TestStartNotReadyL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::TestStartNotReadyL() + { + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int() == KErrNotReady ) + return KErrNone; + return KErrNotReady; + } + + +// --------------------------------------------------------------------------- +// CSAnimEngineTestSuite::TestLoadAgainL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::TestLoadAgainL() + { + iTestObj->Load( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::TestStartAgainL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::TestStartAgainL() + { + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::TestLoadAndStartAnotherShowL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::TestLoadAndStartAnotherShowL() + { + TInt errorCode = + iTestObj->SetImageProperties( KDummyImageFile3, EGray2, TSize( 0, 0 ), 0, ETrue, 1 ); + // EUNIT_ASSERT_EQUALS( errorCode, KErrNone ); + errorCode = iTestObj->SetToneProperties( KDummyToneFile3, 4, 0, 1 ); + // EUNIT_ASSERT_EQUALS( errorCode, KErrNone ); + + iTestObj->Load( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::TestLoadAndStartEmptyShowAfterAnotherShowL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::TestLoadAndStartEmptyShowAfterAnotherShowL() + { + TInt errorCode = iTestObj->SetImageProperties( KNullDesC, EGray2, TSize( 0, 0 ), 0, ETrue, 1 ); + // EUNIT_ASSERT_EQUALS( errorCode, KErrNone ); + errorCode = iTestObj->SetToneProperties( KNullDesC, 4, 0, 1 ); + // EUNIT_ASSERT_EQUALS( errorCode, KErrNone ); + + iTestObj->Load( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimengine::TestStartWhenLoadFailedL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimengine::TestStartWhenLoadFailedL() + { + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNotReady ); + return KErrNone; + } + + +// ----------------------------------------------------------------------------- +// CTSanimengine::ExampleL +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CTSanimengine::ExampleL( CStifItemParser& aItem ) + { + + // Print to UI + _LIT( KTSanimengine, "TSanimengine" ); + _LIT( KExample, "In Example" ); + TestModuleIf().Printf( 0, KTSanimengine, KExample ); + // Print to log file + iLog->Log( KExample ); + + TInt i = 0; + TPtrC string; + _LIT( KParam, "Param[%i]: %S" ); + while ( aItem.GetNextString ( string ) == KErrNone ) + { + TestModuleIf().Printf( i, KTSanimengine, + KParam, i, &string ); + i++; + } + + return KErrNone; + + } + +// --------------------------------------- + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimengine/src/testwaiter.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimengine/src/testwaiter.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,92 @@ +/* +* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Symbian Foundation License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Implementation of CTestWaiter class +* +*/ + + +#include "testwaiter.h" + +#pragma tagging OFF // To disable CodeTest tagging + +// ======== MEMBER FUNCTIONS ======== + +// --------------------------------------------------------------------------- +// CTestWaiter::NewL +// +// --------------------------------------------------------------------------- +// +CTestWaiter* CTestWaiter::NewL() + { + CTestWaiter* self = new( ELeave ) CTestWaiter; + return self; + } + + +// --------------------------------------------------------------------------- +// CTestWaiter::~CTestWaiter +// +// --------------------------------------------------------------------------- +// +CTestWaiter::~CTestWaiter() + { + } + + +// --------------------------------------------------------------------------- +// CTestWaiter::Activate +// +// --------------------------------------------------------------------------- +// +void CTestWaiter::Activate() + { + __ASSERT_ALWAYS( !IsActive(), User::Invariant() ); + + SetActive(); + } + + +// --------------------------------------------------------------------------- +// CTestWaiter::CTestWaiter +// +// --------------------------------------------------------------------------- +// +CTestWaiter::CTestWaiter() + : CActive( EPriorityStandard ) + { + CActiveScheduler::Add( this ); + } + + +// --------------------------------------------------------------------------- +// CTestWaiter::DoCancel +// +// --------------------------------------------------------------------------- +// +void CTestWaiter::DoCancel() + { + } + + +// --------------------------------------------------------------------------- +// CTestWaiter::RunL +// +// --------------------------------------------------------------------------- +// +void CTestWaiter::RunL() + { + CActiveScheduler::Stop(); + } + +#pragma tagging ON // To stop disabling CodeTest tagging diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmif/.cproject --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmif/.cproject Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmif/.project --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmif/.project Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,20 @@ + + + TSanimmif + + + + + + com.nokia.carbide.cdt.builder.carbideCPPBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.core.ccnature + com.nokia.carbide.cdt.builder.carbideCPPBuilderNature + com.nokia.carbide.cdt.builder.carbideSBSv2BuilderNature + + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmif/Bmarm/TSanimmifU.DEF --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmif/Bmarm/TSanimmifU.DEF Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,3 @@ +EXPORTS + LibEntryL__FR13CTestModuleIf @ 1 NONAME R3UNUSED ; LibEntryL(CTestModuleIf &) + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmif/Bwins/TSanimmifu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmif/Bwins/TSanimmifu.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,3 @@ +EXPORTS + ?LibEntryL@@YAPAVCScriptBase@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CScriptBase * __cdecl LibEntryL(class CTestModuleIf &) + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmif/conf/UI_TSanimmif.cfg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmif/conf/UI_TSanimmif.cfg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,292 @@ +[Test] +title Example +create TSanimmif AnimMifPlugin +AnimMifPlugin Example pa ra me ters +delete AnimMifPlugin +[Endtest] + + +// --------------------------------------------------------------------------- +// Test table +// +// --------------------------------------------------------------------------- +// + +[Test] +title TestConstructor +create TSanimmif AnimMifPlugin +AnimMifPlugin SetupEmpty +AnimMifPlugin TestConstructor +AnimMifPlugin Teardown +delete AnimMifPlugin +[Endtest] + +[Test] +title TestConstructorNoMemory +create TSanimmif AnimMifPlugin +AnimMifPlugin SetupEmpty +AnimMifPlugin TestConstructorNoMemory +AnimMifPlugin Teardown +delete AnimMifPlugin +[Endtest] + +[Test] +title TestUnknownFile +create TSanimmif AnimMifPlugin +AnimMifPlugin SetupObj +AnimMifPlugin TestUnknownFile +AnimMifPlugin Teardown +delete AnimMifPlugin +[Endtest] + +[Test] +title TestCorruptFile +create TSanimmif AnimMifPlugin +AnimMifPlugin SetupObj +AnimMifPlugin TestCorruptFile +AnimMifPlugin Teardown +delete AnimMifPlugin +[Endtest] + +[Test] +title TestNoFramesFile +create TSanimmif AnimMifPlugin +AnimMifPlugin SetupObj +AnimMifPlugin TestNoFramesFile +AnimMifPlugin Teardown +delete AnimMifPlugin +[Endtest] + +[Test] +title TestLoadStillImage +create TSanimmif AnimMifPlugin +AnimMifPlugin SetupObj +AnimMifPlugin TestLoadStillImage +AnimMifPlugin Teardown +delete AnimMifPlugin +[Endtest] + + +[Test] +title TestLoadScaledAnimation +create TSanimmif AnimMifPlugin +AnimMifPlugin SetupObj +AnimMifPlugin TestLoadScaledAnimation +AnimMifPlugin Teardown +delete AnimMifPlugin +[Endtest] + +[Test] +title TestLoadUnscaledAnimation +create TSanimmif AnimMifPlugin +AnimMifPlugin SetupObj +AnimMifPlugin TestLoadUnscaledAnimation +AnimMifPlugin Teardown +delete AnimMifPlugin +[Endtest] + + +[Test] +title TestLoadNoMemory +create TSanimmif AnimMifPlugin +AnimMifPlugin SetupObj +AnimMifPlugin TestLoadNoMemory +AnimMifPlugin Teardown +delete AnimMifPlugin +[Endtest] + +[Test] +title TestCancelLoad +create TSanimmif AnimMifPlugin +AnimMifPlugin SetupObj +AnimMifPlugin TestCancelLoad +AnimMifPlugin Teardown +delete AnimMifPlugin +[Endtest] + +[Test] +title TestShowStillImage +create TSanimmif AnimMifPlugin +AnimMifPlugin SetupStillImageNoMask +AnimMifPlugin TestShowStillImage +AnimMifPlugin Teardown +delete AnimMifPlugin +[Endtest] + +[Test] +title TestConstructor +create TSanimmif AnimMifPlugin +AnimMifPlugin SetupStillImage +AnimMifPlugin TestShowStillImage +AnimMifPlugin Teardown +delete AnimMifPlugin +[Endtest] + +[Test] +title TestShowAnimation +create TSanimmif AnimMifPlugin +AnimMifPlugin SetupScaledAnimation +AnimMifPlugin TestShowAnimation +AnimMifPlugin Teardown +delete AnimMifPlugin +[Endtest] + + +[Test] +title TestShowAnimation +create TSanimmif AnimMifPlugin +AnimMifPlugin SetupUnscaledAnimation +AnimMifPlugin TestShowAnimation +AnimMifPlugin Teardown +delete AnimMifPlugin +[Endtest] + + +[Test] +title TestShowStillImage +create TSanimmif AnimMifPlugin +AnimMifPlugin SetupStillImage +AnimMifPlugin TestShowStillImage +AnimMifPlugin Teardown +delete AnimMifPlugin +[Endtest] + + +[Test] +title TestShowAnimation +create TSanimmif AnimMifPlugin +AnimMifPlugin SetupUnscaledAnimation +AnimMifPlugin TestShowAnimation +AnimMifPlugin Teardown +delete AnimMifPlugin +[Endtest] + +[Test] +title TestCancelStillImage +create TSanimmif AnimMifPlugin +AnimMifPlugin SetupStillImage +AnimMifPlugin TestCancelStillImage +AnimMifPlugin Teardown +delete AnimMifPlugin +[Endtest] + + +[Test] +title TestConstructor +create TSanimmif AnimMifPlugin +AnimMifPlugin SetupUnscaledAnimation +AnimMifPlugin TestCancelAnimation +AnimMifPlugin Teardown +delete AnimMifPlugin +[Endtest] + + +[Test] +title TestConstructor +create TSanimmif AnimMifPlugin +AnimMifPlugin SetupObj +AnimMifPlugin TestCancelNotActive +AnimMifPlugin Teardown +delete AnimMifPlugin +[Endtest] + +[Test] +title TestCancelNotActive +create TSanimmif AnimMifPlugin +AnimMifPlugin SetupUnscaledAnimation +AnimMifPlugin TestCancelNotActive +AnimMifPlugin Teardown +delete AnimMifPlugin +[Endtest] + +[Test] +title TestCancelNotActive +create TSanimmif AnimMifPlugin +AnimMifPlugin SetupFinished +AnimMifPlugin TestCancelNotActive +AnimMifPlugin Teardown +delete AnimMifPlugin +[Endtest] + +[Test] +title TestLoadStillImage +create TSanimmif AnimMifPlugin +AnimMifPlugin SetupFinished +AnimMifPlugin TestLoadStillImage +AnimMifPlugin Teardown +delete AnimMifPlugin +[Endtest] + + +[Test] +title TestLoadNoMemory +create TSanimmif AnimMifPlugin +AnimMifPlugin SetupFinished +AnimMifPlugin TestLoadNoMemory +AnimMifPlugin Teardown +delete AnimMifPlugin +[Endtest] + +[Test] +title TestShowBeforeLoad +create TSanimmif AnimMifPlugin +AnimMifPlugin SetupObj +AnimMifPlugin TestShowBeforeLoad +AnimMifPlugin Teardown +delete AnimMifPlugin +[Endtest] + +[Test] +title TestSetDisplayMode +create TSanimmif AnimMifPlugin +AnimMifPlugin SetupObj +AnimMifPlugin TestSetDisplayMode +AnimMifPlugin Teardown +delete AnimMifPlugin +[Endtest] + +[Test] +title TestSetSize +create TSanimmif AnimMifPlugin +AnimMifPlugin SetupObj +AnimMifPlugin TestSetSize +AnimMifPlugin Teardown +delete AnimMifPlugin +[Endtest] + +[Test] +title TestSetFrameDelay +create TSanimmif AnimMifPlugin +AnimMifPlugin SetupObj +AnimMifPlugin TestSetFrameDelay +AnimMifPlugin Teardown +delete AnimMifPlugin +[Endtest] + + +[Test] +title TestBackroundColour +create TSanimmif AnimMifPlugin +AnimMifPlugin SetupObj +AnimMifPlugin TestBackroundColour +AnimMifPlugin Teardown +delete AnimMifPlugin +[Endtest] + +[Test] +title TestBackroundColour +create TSanimmif AnimMifPlugin +AnimMifPlugin SetupStillImage +AnimMifPlugin TestBackroundColour +AnimMifPlugin Teardown +delete AnimMifPlugin +[Endtest] + + + + + + + + + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmif/data/corrupt.mif --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmif/data/corrupt.mif Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,1 @@ +xxxxxxxxxxxxxxxxx \ No newline at end of file diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmif/eabi/TSanimmifu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmif/eabi/TSanimmifu.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,3 @@ +EXPORTS + _Z9LibEntryLR13CTestModuleIf @ 1 NONAME + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmif/group/TSanimmif.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmif/group/TSanimmif.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,87 @@ +/*TYPE TESTCLASS*/ +/* +* 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: MMP file for STIF Test Framework's TestScripter +* testclass test module. +* +*/ + +#include + +SMPSAFE + +TARGET TSanimmif.dll +TARGETTYPE dll +UID 0x1000008D 0x101FB3E3 + +CAPABILITY ALL -TCB +/* Remove comments and replace 0x00000000 with correct vendor id */ +// VENDORID 0x00000000 +/* Remove comments and replace 0x00000000 with correct secure id */ +// SECUREID 0x00000000 + +//TARGETPATH ?target_path +DEFFILE TSanimmif.def + +USERINCLUDE ../inc +USERINCLUDE ../inc +USERINCLUDE ../../inc +USERINCLUDE ../../../../../../inc +USERINCLUDE ../../../../sanimengine/inc + +OS_LAYER_SYSTEMINCLUDE + +SOURCEPATH ../src + +SOURCE TSanimmif.cpp +SOURCE TSanimmifBlocks.cpp +SOURCE testwaiter.cpp + + +//RESOURCE resource_file +//RESOURCE resource_file2 + +LIBRARY euser.lib +LIBRARY stiftestinterface.lib +LIBRARY stiftestengine.lib +LIBRARY ecom.lib +LIBRARY efsrv.lib +LIBRARY sanimengine.lib + +EPOCALLOWDLLDATA +LANG SC + +/* +START WINS +?wins_specific_information +END + +START MARM +?marm_specific_information +END +*/ +// Other possible keywords: + +// DOCUMENT ?file, that is not compiled, but added to MSVC project workspace (i.e. release notes) +/* +START BITMAP ?target +TARGETPATH ?emulated_path_on_target_machine +HEADER +SOURCE ?color_depth ?source_bitmap +END +*/ +// DEFFILE ?filename +// AIF ?filename + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmif/group/TSanimmif.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmif/group/TSanimmif.pkg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,60 @@ +; +; 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: +; +; Installation file for STIF +; + +; Languages +&EN + +; Provide value for uid +#{"STIF"},(0x00000000),1,1,0,TYPE=SA + +; Series60 product id for S60 3.0 +[0x101F7961], 0, 0, 0, {"Series60ProductID"} + +; Localised Vendor name +%{"Nokia"} + +; Unique Vendor name +:"Nokia" + +; Logo +; None + +; Package signature - Optional +; None + +; Start of Package body + +; Condition blocks +; None + +; Options list +; None + +; Install files +"\epoc32\release\armv5\udeb\TSanimmif.dll" - "!:\Sys\Bin\TSanimmif.dll" + +; Embedded SIS +; None + +; End of Package body + +; PKG dependencies +; None + +; PKG capabilities +; None diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmif/group/TSanimmif_DoxyFile.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmif/group/TSanimmif_DoxyFile.txt Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,240 @@ +# +# 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: +# +# + +# Doxyfile 1.4.1 + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = TSanimmif +PROJECT_NUMBER = +OUTPUT_DIRECTORY = \TSanimmif\ +CREATE_SUBDIRS = NO +OUTPUT_LANGUAGE = English +USE_WINDOWS_ENCODING = YES +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ABBREVIATE_BRIEF = +ALWAYS_DETAILED_SEC = NO +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +STRIP_FROM_INC_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = NO +MULTILINE_CPP_IS_BRIEF = NO +DETAILS_AT_TOP = NO +INHERIT_DOCS = YES +DISTRIBUTE_GROUP_DOC = NO +TAB_SIZE = 8 +ALIASES = +OPTIMIZE_OUTPUT_FOR_C = YES +OPTIMIZE_OUTPUT_JAVA = NO +SUBGROUPING = YES +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- +EXTRACT_ALL = YES +EXTRACT_PRIVATE = NO +EXTRACT_STATIC = NO +EXTRACT_LOCAL_CLASSES = NO +EXTRACT_LOCAL_METHODS = NO +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +HIDE_FRIEND_COMPOUNDS = NO +HIDE_IN_BODY_DOCS = NO +INTERNAL_DOCS = YES +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +SHOW_INCLUDE_FILES = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +SORT_BRIEF_DOCS = NO +SORT_BY_SCOPE_NAME = NO +GENERATE_TODOLIST = NO +GENERATE_TESTLIST = NO +GENERATE_BUGLIST = NO +GENERATE_DEPRECATEDLIST= YES +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +SHOW_USED_FILES = YES +SHOW_DIRECTORIES = YES +FILE_VERSION_FILTER = +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- +QUIET = NO +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES +WARN_IF_DOC_ERROR = YES +WARN_NO_PARAMDOC = NO +WARN_FORMAT = "$file:$line: $text" +WARN_LOGFILE = +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = \TSanimmif\ +FILE_PATTERNS = *.h \ + *.rh \ + *.hrh +RECURSIVE = YES +EXCLUDE = +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +EXAMPLE_RECURSIVE = NO +IMAGE_PATH = +INPUT_FILTER = +FILTER_PATTERNS = +FILTER_SOURCE_FILES = NO +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- +SOURCE_BROWSER = NO +INLINE_SOURCES = NO +STRIP_CODE_COMMENTS = YES +REFERENCED_BY_RELATION = YES +REFERENCES_RELATION = YES +VERBATIM_HEADERS = YES +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- +ALPHABETICAL_INDEX = NO +COLS_IN_ALPHA_INDEX = 5 +IGNORE_PREFIX = +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- +GENERATE_HTML = NO +HTML_OUTPUT = html +HTML_FILE_EXTENSION = .html +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = YES +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +BINARY_TOC = YES +TOC_EXPAND = YES +DISABLE_INDEX = YES +ENUM_VALUES_PER_LINE = 4 +GENERATE_TREEVIEW = YES +TREEVIEW_WIDTH = 250 +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +LATEX_CMD_NAME = latex +MAKEINDEX_CMD_NAME = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +USE_PDFLATEX = NO +LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- +GENERATE_RTF = YES +RTF_OUTPUT = Doc +COMPACT_RTF = YES +RTF_HYPERLINKS = YES +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_LINKS = NO +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- +GENERATE_XML = NO +XML_OUTPUT = xml +XML_SCHEMA = +XML_DTD = +XML_PROGRAMLISTING = YES +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- +GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- +GENERATE_PERLMOD = NO +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = YES +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = NONSHARABLE_CLASS +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- +TAGFILES = +GENERATE_TAGFILE = +ALLEXTERNALS = NO +EXTERNAL_GROUPS = YES +PERL_PATH = /usr/bin/perl +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- +CLASS_DIAGRAMS = YES +HIDE_UNDOC_RELATIONS = YES +HAVE_DOT = NO +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +GROUP_GRAPHS = YES +UML_LOOK = NO +TEMPLATE_RELATIONS = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +CALL_GRAPH = NO +GRAPHICAL_HIERARCHY = YES +DIRECTORY_GRAPH = YES +DOT_IMAGE_FORMAT = png +DOT_PATH = +DOTFILE_DIRS = +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 +MAX_DOT_GRAPH_DEPTH = 0 +DOT_TRANSPARENT = NO +DOT_MULTI_TARGETS = NO +GENERATE_LEGEND = YES +DOT_CLEANUP = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- +SEARCHENGINE = NO diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmif/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmif/group/bld.inf Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,60 @@ +/* +* 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: +* +*/ + +PRJ_PLATFORMS +// specify the platforms your component needs to be built for here +// defaults to WINS MARM so you can ignore this if you just build these + + DEFAULT + +PRJ_TESTEXPORTS +// NOTE: If using ARS requirements all export operations should be done under this. +// 'abld test export' + +PRJ_EXPORTS +// Specify the source file followed by its destination here +// copy will be used to copy the source file to its destination +// If there's no destination then the source file will be copied +// to the same name in \epoc32\include +// Example: +/* +\agnmodel\inc\AGMCOMON.H +*/ + +PRJ_TESTMMPFILES + + TSanimmif.mmp + +PRJ_MMPFILES + + TSanimmif.mmp + +// Specify the .mmp files required for building the important component +// releasables. +// +// Specify "tidy" if the component you need to build doesn't need to be +// released. Specify "ignore" if the MMP file exists but should be +// ignored. +// Example: +/* +\agnmodel\group\agnmodel.mmp +#if defined(MARM) +\agnmodel\group\agsvexe.mmp +#endif +*/ + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmif/group/ctcerr.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmif/group/ctcerr.txt Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,444 @@ + +******************************************************************************* + +argv[0]: C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\mwldsym2.exe +argv[1]: -version + +*** CTC++/ctcagent command: set PATH=C:\Apps\sbs\win32\mingw\bin;C:\Apps\sbs\win32\cygwin\bin;C:\Apps\sbs\win32\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\Wireless\Bin;c:\Program Files\Intel\WiFi\bin\;C:\Program Files\NTRU Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files\Wave Systems Corp\Gemalto\Access Client\v5\;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\ctc;C:\APPS\prevent\bin;C:\APPS\cltools;C:\APPS\7zip;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\APPS\imaker;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Nokia\FastTrace;\epoc32\gcc_mingw\bin;C:\APPS\romtools;C:\APPS\bc;C:\APPS\codecollaborator;C:\APPS\actpython\.;C:\APPS\codescanner;C:\APPS\sbs\bin;C:\APPS\symdec;C:\APPS\symrec;C:\APPS\blocks\bin;C:\APPS\helium;C:\APPS\ant\bin;C:\APPS\jdk_1.6.0_11\bin; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_cw\winscw.ini @C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\ctcopts.rsp mwldsym2 -version +*** CTC++/ctcagent command status: 0 + + +******************************************************************************* + +argv[0]: C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\mwccsym2.exe +argv[1]: -version + +*** CTC++/ctcagent command: set PATH=C:\Apps\sbs\win32\mingw\bin;C:\Apps\sbs\win32\cygwin\bin;C:\Apps\sbs\win32\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\Wireless\Bin;c:\Program Files\Intel\WiFi\bin\;C:\Program Files\NTRU Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files\Wave Systems Corp\Gemalto\Access Client\v5\;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\ctc;C:\APPS\prevent\bin;C:\APPS\cltools;C:\APPS\7zip;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\APPS\imaker;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Nokia\FastTrace;\epoc32\gcc_mingw\bin;C:\APPS\romtools;C:\APPS\bc;C:\APPS\codecollaborator;C:\APPS\actpython\.;C:\APPS\codescanner;C:\APPS\sbs\bin;C:\APPS\symdec;C:\APPS\symrec;C:\APPS\blocks\bin;C:\APPS\helium;C:\APPS\ant\bin;C:\APPS\jdk_1.6.0_11\bin; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_cw\winscw.ini @C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\ctcopts.rsp mwccsym2 -version +*** CTC++/ctcagent command status: 0 + + +******************************************************************************* + +argv[0]: C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\mwccsym2.exe +argv[1]: -c +argv[2]: -align +argv[3]: 4 +argv[4]: -warnings +argv[5]: on +argv[6]: -w +argv[7]: nohidevirtual,nounusedexpr +argv[8]: -msgstyle +argv[9]: gcc +argv[10]: -enum +argv[11]: int +argv[12]: -str +argv[13]: pool +argv[14]: -exc +argv[15]: ms +argv[16]: -trigraphs +argv[17]: on +argv[18]: -cwd +argv[19]: source +argv[20]: -g +argv[21]: -O0 +argv[22]: -inline +argv[23]: off +argv[24]: -runtime +argv[25]: staticmulti +argv[26]: -wchar_t +argv[27]: off +argv[28]: -nostdinc +argv[29]: -gccdepends +argv[30]: -MD +argv[31]: -d +argv[32]: __SYMBIAN32__ +argv[33]: -d +argv[34]: __CW32__ +argv[35]: -d +argv[36]: __WINS__ +argv[37]: -d +argv[38]: __WINSCW__ +argv[39]: -d +argv[40]: __SUPPORT_CPP_EXCEPTIONS__ +argv[41]: -d +argv[42]: _UNICODE +argv[43]: -d +argv[44]: _DEBUG +argv[45]: -d +argv[46]: __DLL__ +argv[47]: -i- +argv[48]: -i +argv[49]: Z:/startupservices/startupanimation/internal/test/TSanimmif/inc +argv[50]: -i +argv[51]: Z:/startupservices/startupanimation/internal/test/TSanimmif/inc +argv[52]: -i +argv[53]: Z:/startupservices/startupanimation/internal/test/inc +argv[54]: -i +argv[55]: Z:/inc +argv[56]: -i +argv[57]: Z:/startupservices/startupanimation/sanimengine/inc +argv[58]: -i +argv[59]: Z:/epoc32/include +argv[60]: -i +argv[61]: Z:/epoc32/include/platform +argv[62]: -i +argv[63]: Z:/epoc32/include/platform/loc +argv[64]: -i +argv[65]: Z:/epoc32/include/platform/loc/sc +argv[66]: -i +argv[67]: Z:/epoc32/include +argv[68]: -include +argv[69]: feature_settings.hrh +argv[70]: -o +argv[71]: Z:/epoc32/build/tsanimmif/c_e00ebdbb6047a5d5/tsanimmif_dll/winscw/udeb/TSanimmif.o +argv[72]: Z:/startupservices/startupanimation/internal/test/TSanimmif/src/TSanimmif.cpp + +*** CTC++/ctcagent command: set PATH=C:\Apps\sbs\win32\mingw\bin;C:\Apps\sbs\win32\cygwin\bin;C:\Apps\sbs\win32\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\Wireless\Bin;c:\Program Files\Intel\WiFi\bin\;C:\Program Files\NTRU Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files\Wave Systems Corp\Gemalto\Access Client\v5\;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\ctc;C:\APPS\prevent\bin;C:\APPS\cltools;C:\APPS\7zip;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\APPS\imaker;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Nokia\FastTrace;\epoc32\gcc_mingw\bin;C:\APPS\romtools;C:\APPS\bc;C:\APPS\codecollaborator;C:\APPS\actpython\.;C:\APPS\codescanner;C:\APPS\sbs\bin;C:\APPS\symdec;C:\APPS\symrec;C:\APPS\blocks\bin;C:\APPS\helium;C:\APPS\ant\bin;C:\APPS\jdk_1.6.0_11\bin; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_cw\winscw.ini @C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\ctcopts.rsp mwccsym2 -c -align 4 -warnings on -w nohidevirtual,nounusedexpr -msgstyle gcc -enum int -str pool -exc ms -trigraphs on -cwd source -g -O0 -inline off -runtime staticmulti -wchar_t off -nostdinc -gccdepends -MD -d __SYMBIAN32__ -d __CW32__ -d __WINS__ -d __WINSCW__ -d __SUPPORT_CPP_EXCEPTIONS__ -d _UNICODE -d _DEBUG -d __DLL__ -i- -i Z:/startupservices/startupanimation/internal/test/TSanimmif/inc -i Z:/startupservices/startupanimation/internal/test/TSanimmif/inc -i Z:/startupservices/startupanimation/internal/test/inc -i Z:/inc -i Z:/startupservices/startupanimation/sanimengine/inc -i Z:/epoc32/include -i Z:/epoc32/include/platform -i Z:/epoc32/include/platform/loc -i Z:/epoc32/include/platform/loc/sc -i Z:/epoc32/include -include feature_settings.hrh -o Z:/epoc32/build/tsanimmif/c_e00ebdbb6047a5d5/tsanimmif_dll/winscw/udeb/TSanimmif.o Z:/startupservices/startupanimation/internal/test/TSanimmif/src/TSanimmif.cpp + +******************************************************************************* + +argv[0]: C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\mwccsym2.exe +argv[1]: -c +argv[2]: -align +argv[3]: 4 +argv[4]: -warnings +argv[5]: on +argv[6]: -w +argv[7]: nohidevirtual,nounusedexpr +argv[8]: -msgstyle +argv[9]: gcc +argv[10]: -enum +argv[11]: int +argv[12]: -str +argv[13]: pool +argv[14]: -exc +argv[15]: ms +argv[16]: -trigraphs +argv[17]: on +argv[18]: -cwd +argv[19]: source +argv[20]: -g +argv[21]: -O0 +argv[22]: -inline +argv[23]: off +argv[24]: -runtime +argv[25]: staticmulti +argv[26]: -wchar_t +argv[27]: off +argv[28]: -nostdinc +argv[29]: -gccdepends +argv[30]: -MD +argv[31]: -d +argv[32]: __SYMBIAN32__ +argv[33]: -d +argv[34]: __CW32__ +argv[35]: -d +argv[36]: __WINS__ +argv[37]: -d +argv[38]: __WINSCW__ +argv[39]: -d +argv[40]: __SUPPORT_CPP_EXCEPTIONS__ +argv[41]: -d +argv[42]: _UNICODE +argv[43]: -d +argv[44]: _DEBUG +argv[45]: -d +argv[46]: __DLL__ +argv[47]: -i- +argv[48]: -i +argv[49]: Z:/startupservices/startupanimation/internal/test/TSanimmif/inc +argv[50]: -i +argv[51]: Z:/startupservices/startupanimation/internal/test/TSanimmif/inc +argv[52]: -i +argv[53]: Z:/startupservices/startupanimation/internal/test/inc +argv[54]: -i +argv[55]: Z:/inc +argv[56]: -i +argv[57]: Z:/startupservices/startupanimation/sanimengine/inc +argv[58]: -i +argv[59]: Z:/epoc32/include +argv[60]: -i +argv[61]: Z:/epoc32/include/platform +argv[62]: -i +argv[63]: Z:/epoc32/include/platform/loc +argv[64]: -i +argv[65]: Z:/epoc32/include/platform/loc/sc +argv[66]: -i +argv[67]: Z:/epoc32/include +argv[68]: -include +argv[69]: feature_settings.hrh +argv[70]: -o +argv[71]: Z:/epoc32/build/tsanimmif/c_e00ebdbb6047a5d5/tsanimmif_dll/winscw/udeb/TSanimmifBlocks.o +argv[72]: Z:/startupservices/startupanimation/internal/test/TSanimmif/src/TSanimmifBlocks.cpp + +*** CTC++/ctcagent command: set PATH=C:\Apps\sbs\win32\mingw\bin;C:\Apps\sbs\win32\cygwin\bin;C:\Apps\sbs\win32\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\Wireless\Bin;c:\Program Files\Intel\WiFi\bin\;C:\Program Files\NTRU Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files\Wave Systems Corp\Gemalto\Access Client\v5\;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\ctc;C:\APPS\prevent\bin;C:\APPS\cltools;C:\APPS\7zip;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\APPS\imaker;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Nokia\FastTrace;\epoc32\gcc_mingw\bin;C:\APPS\romtools;C:\APPS\bc;C:\APPS\codecollaborator;C:\APPS\actpython\.;C:\APPS\codescanner;C:\APPS\sbs\bin;C:\APPS\symdec;C:\APPS\symrec;C:\APPS\blocks\bin;C:\APPS\helium;C:\APPS\ant\bin;C:\APPS\jdk_1.6.0_11\bin; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_cw\winscw.ini @C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\ctcopts.rsp mwccsym2 @ctc-mwccsym2-5008.rsp + +******************************************************************************* + +argv[0]: C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\mwccsym2.exe +argv[1]: -c +argv[2]: -align +argv[3]: 4 +argv[4]: -warnings +argv[5]: on +argv[6]: -w +argv[7]: nohidevirtual,nounusedexpr +argv[8]: -msgstyle +argv[9]: gcc +argv[10]: -enum +argv[11]: int +argv[12]: -str +argv[13]: pool +argv[14]: -exc +argv[15]: ms +argv[16]: -trigraphs +argv[17]: on +argv[18]: -cwd +argv[19]: source +argv[20]: -g +argv[21]: -O0 +argv[22]: -inline +argv[23]: off +argv[24]: -runtime +argv[25]: staticmulti +argv[26]: -wchar_t +argv[27]: off +argv[28]: -nostdinc +argv[29]: -gccdepends +argv[30]: -MD +argv[31]: -d +argv[32]: __SYMBIAN32__ +argv[33]: -d +argv[34]: __CW32__ +argv[35]: -d +argv[36]: __WINS__ +argv[37]: -d +argv[38]: __WINSCW__ +argv[39]: -d +argv[40]: __SUPPORT_CPP_EXCEPTIONS__ +argv[41]: -d +argv[42]: _UNICODE +argv[43]: -d +argv[44]: _DEBUG +argv[45]: -d +argv[46]: __DLL__ +argv[47]: -i- +argv[48]: -i +argv[49]: Z:/startupservices/startupanimation/internal/test/TSanimmif/inc +argv[50]: -i +argv[51]: Z:/startupservices/startupanimation/internal/test/TSanimmif/inc +argv[52]: -i +argv[53]: Z:/startupservices/startupanimation/internal/test/inc +argv[54]: -i +argv[55]: Z:/inc +argv[56]: -i +argv[57]: Z:/startupservices/startupanimation/sanimengine/inc +argv[58]: -i +argv[59]: Z:/epoc32/include +argv[60]: -i +argv[61]: Z:/epoc32/include/platform +argv[62]: -i +argv[63]: Z:/epoc32/include/platform/loc +argv[64]: -i +argv[65]: Z:/epoc32/include/platform/loc/sc +argv[66]: -i +argv[67]: Z:/epoc32/include +argv[68]: -include +argv[69]: feature_settings.hrh +argv[70]: -o +argv[71]: Z:/epoc32/build/tsanimmif/c_e00ebdbb6047a5d5/tsanimmif_dll/winscw/udeb/testwaiter.o +argv[72]: Z:/startupservices/startupanimation/internal/test/TSanimmif/src/testwaiter.cpp + +*** CTC++/ctcagent command: set PATH=C:\Apps\sbs\win32\mingw\bin;C:\Apps\sbs\win32\cygwin\bin;C:\Apps\sbs\win32\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\Wireless\Bin;c:\Program Files\Intel\WiFi\bin\;C:\Program Files\NTRU Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files\Wave Systems Corp\Gemalto\Access Client\v5\;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\ctc;C:\APPS\prevent\bin;C:\APPS\cltools;C:\APPS\7zip;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\APPS\imaker;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Nokia\FastTrace;\epoc32\gcc_mingw\bin;C:\APPS\romtools;C:\APPS\bc;C:\APPS\codecollaborator;C:\APPS\actpython\.;C:\APPS\codescanner;C:\APPS\sbs\bin;C:\APPS\symdec;C:\APPS\symrec;C:\APPS\blocks\bin;C:\APPS\helium;C:\APPS\ant\bin;C:\APPS\jdk_1.6.0_11\bin; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_cw\winscw.ini @C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\ctcopts.rsp mwccsym2 -c -align 4 -warnings on -w nohidevirtual,nounusedexpr -msgstyle gcc -enum int -str pool -exc ms -trigraphs on -cwd source -g -O0 -inline off -runtime staticmulti -wchar_t off -nostdinc -gccdepends -MD -d __SYMBIAN32__ -d __CW32__ -d __WINS__ -d __WINSCW__ -d __SUPPORT_CPP_EXCEPTIONS__ -d _UNICODE -d _DEBUG -d __DLL__ -i- -i Z:/startupservices/startupanimation/internal/test/TSanimmif/inc -i Z:/startupservices/startupanimation/internal/test/TSanimmif/inc -i Z:/startupservices/startupanimation/internal/test/inc -i Z:/inc -i Z:/startupservices/startupanimation/sanimengine/inc -i Z:/epoc32/include -i Z:/epoc32/include/platform -i Z:/epoc32/include/platform/loc -i Z:/epoc32/include/platform/loc/sc -i Z:/epoc32/include -include feature_settings.hrh -o Z:/epoc32/build/tsanimmif/c_e00ebdbb6047a5d5/tsanimmif_dll/winscw/udeb/testwaiter.o Z:/startupservices/startupanimation/internal/test/TSanimmif/src/testwaiter.cpp + +******************************************************************************* + +argv[0]: C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\mwldsym2.exe +argv[1]: Z:/epoc32/build/tsanimmif/c_e00ebdbb6047a5d5/tsanimmif_dll/winscw/udeb/TSanimmif.prep.def +argv[2]: -importlib +argv[3]: -o +argv[4]: Z:/epoc32/release/winscw/udeb/TSanimmif.lib +argv[5]: -addcommand +argv[6]: out:TSanimmif.dll +argv[7]: -warnings +argv[8]: off + +*** CTC++/ctcagent command: set PATH=C:\Apps\sbs\win32\mingw\bin;C:\Apps\sbs\win32\cygwin\bin;C:\Apps\sbs\win32\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\Wireless\Bin;c:\Program Files\Intel\WiFi\bin\;C:\Program Files\NTRU Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files\Wave Systems Corp\Gemalto\Access Client\v5\;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\ctc;C:\APPS\prevent\bin;C:\APPS\cltools;C:\APPS\7zip;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\APPS\imaker;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Nokia\FastTrace;\epoc32\gcc_mingw\bin;C:\APPS\romtools;C:\APPS\bc;C:\APPS\codecollaborator;C:\APPS\actpython\.;C:\APPS\codescanner;C:\APPS\sbs\bin;C:\APPS\symdec;C:\APPS\symrec;C:\APPS\blocks\bin;C:\APPS\helium;C:\APPS\ant\bin;C:\APPS\jdk_1.6.0_11\bin; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_cw\winscw.ini @C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\ctcopts.rsp mwldsym2 Z:/epoc32/build/tsanimmif/c_e00ebdbb6047a5d5/tsanimmif_dll/winscw/udeb/TSanimmif.prep.def -importlib -o Z:/epoc32/release/winscw/udeb/TSanimmif.lib -addcommand out:TSanimmif.dll -warnings off +*** CTC++/ctcagent command status: 0 + +*** CTC++/ctcagent command status: 0 + +*** CTC++/ctcagent command status: 0 + + +******************************************************************************* + +argv[0]: C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\mwccsym2.exe +argv[1]: -c +argv[2]: -align +argv[3]: 4 +argv[4]: -warnings +argv[5]: on +argv[6]: -w +argv[7]: nohidevirtual,nounusedexpr +argv[8]: -msgstyle +argv[9]: gcc +argv[10]: -enum +argv[11]: int +argv[12]: -str +argv[13]: pool +argv[14]: -exc +argv[15]: ms +argv[16]: -trigraphs +argv[17]: on +argv[18]: -cwd +argv[19]: source +argv[20]: -g +argv[21]: -O0 +argv[22]: -inline +argv[23]: off +argv[24]: -runtime +argv[25]: staticmulti +argv[26]: -wchar_t +argv[27]: off +argv[28]: -nostdinc +argv[29]: -gccdepends +argv[30]: -MD +argv[31]: -d +argv[32]: __SYMBIAN32__ +argv[33]: -d +argv[34]: __CW32__ +argv[35]: -d +argv[36]: __WINS__ +argv[37]: -d +argv[38]: __WINSCW__ +argv[39]: -d +argv[40]: __SUPPORT_CPP_EXCEPTIONS__ +argv[41]: -d +argv[42]: _UNICODE +argv[43]: -d +argv[44]: _DEBUG +argv[45]: -d +argv[46]: __DLL__ +argv[47]: -i- +argv[48]: -i +argv[49]: Z:/startupservices/startupanimation/internal/test/TSanimmif/inc +argv[50]: -i +argv[51]: Z:/startupservices/startupanimation/internal/test/TSanimmif/inc +argv[52]: -i +argv[53]: Z:/startupservices/startupanimation/internal/test/inc +argv[54]: -i +argv[55]: Z:/inc +argv[56]: -i +argv[57]: Z:/startupservices/startupanimation/sanimengine/inc +argv[58]: -i +argv[59]: Z:/epoc32/include +argv[60]: -i +argv[61]: Z:/epoc32/include/platform +argv[62]: -i +argv[63]: Z:/epoc32/include/platform/loc +argv[64]: -i +argv[65]: Z:/epoc32/include/platform/loc/sc +argv[66]: -i +argv[67]: Z:/epoc32/include +argv[68]: -include +argv[69]: feature_settings.hrh +argv[70]: -o +argv[71]: Z:/epoc32/build/tsanimmif/c_e00ebdbb6047a5d5/tsanimmif_dll/winscw/udeb/TSanimmif_UID_.o +argv[72]: Z:/epoc32/build/tsanimmif/c_e00ebdbb6047a5d5/tsanimmif_dll/winscw/udeb/TSanimmif.UID.CPP + +*** CTC++/ctcagent command: set PATH=C:\Apps\sbs\win32\mingw\bin;C:\Apps\sbs\win32\cygwin\bin;C:\Apps\sbs\win32\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\Wireless\Bin;c:\Program Files\Intel\WiFi\bin\;C:\Program Files\NTRU Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files\Wave Systems Corp\Gemalto\Access Client\v5\;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\ctc;C:\APPS\prevent\bin;C:\APPS\cltools;C:\APPS\7zip;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\APPS\imaker;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Nokia\FastTrace;\epoc32\gcc_mingw\bin;C:\APPS\romtools;C:\APPS\bc;C:\APPS\codecollaborator;C:\APPS\actpython\.;C:\APPS\codescanner;C:\APPS\sbs\bin;C:\APPS\symdec;C:\APPS\symrec;C:\APPS\blocks\bin;C:\APPS\helium;C:\APPS\ant\bin;C:\APPS\jdk_1.6.0_11\bin; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_cw\winscw.ini @C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\ctcopts.rsp mwccsym2 @ctc-mwccsym2-5428.rsp +*** CTC++/ctcagent command status: 0 + +*** CTC++/ctcagent command status: 0 + + +******************************************************************************* + +argv[0]: C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\mwldsym2.exe +argv[1]: -msgstyle +argv[2]: gcc +argv[3]: -stdlib +argv[4]: -subsystem +argv[5]: windows +argv[6]: -g +argv[7]: -main +argv[8]: __Win32DllMain@12 +argv[9]: -shared +argv[10]: -m +argv[11]: __E32Dll +argv[12]: -export +argv[13]: dllexport +argv[14]: -nocompactimportlib +argv[15]: -addcommand +argv[16]: out:TSanimmif.dll +argv[17]: -warnings +argv[18]: off +argv[19]: -implib +argv[20]: Z:/epoc32/build/tsanimmif/c_e00ebdbb6047a5d5/tsanimmif_dll/winscw/udeb/TSanimmif.lib +argv[21]: -o +argv[22]: Z:/epoc32/build/tsanimmif/c_e00ebdbb6047a5d5/tsanimmif_dll/winscw/udeb/TSanimmif.dll +argv[23]: Z:/epoc32/release/winscw/udeb/edll.lib +argv[24]: Z:/epoc32/release/winscw/udeb/scppnwdl.lib +argv[25]: Z:/epoc32/release/winscw/udeb/euser.lib +argv[26]: Z:/epoc32/release/winscw/udeb/stiftestinterface.lib +argv[27]: Z:/epoc32/release/winscw/udeb/stiftestengine.lib +argv[28]: Z:/epoc32/release/winscw/udeb/ecom.lib +argv[29]: Z:/epoc32/release/winscw/udeb/efsrv.lib +argv[30]: Z:/epoc32/release/winscw/udeb/sanimengine.lib +argv[31]: -l +argv[32]: Z:/epoc32/build/tsanimmif/c_e00ebdbb6047a5d5/tsanimmif_dll/winscw/udeb +argv[33]: -search +argv[34]: @Z:/epoc32/build/tsanimmif/c_e00ebdbb6047a5d5/tsanimmif_dll/winscw/udeb/TSanimmif_udeb_objects.lrf + +*** CTC++/ctcagent command: set PATH=C:\Apps\sbs\win32\mingw\bin;C:\Apps\sbs\win32\cygwin\bin;C:\Apps\sbs\win32\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\Wireless\Bin;c:\Program Files\Intel\WiFi\bin\;C:\Program Files\NTRU Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files\Wave Systems Corp\Gemalto\Access Client\v5\;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\ctc;C:\APPS\prevent\bin;C:\APPS\cltools;C:\APPS\7zip;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\APPS\imaker;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Nokia\FastTrace;\epoc32\gcc_mingw\bin;C:\APPS\romtools;C:\APPS\bc;C:\APPS\codecollaborator;C:\APPS\actpython\.;C:\APPS\codescanner;C:\APPS\sbs\bin;C:\APPS\symdec;C:\APPS\symrec;C:\APPS\blocks\bin;C:\APPS\helium;C:\APPS\ant\bin;C:\APPS\jdk_1.6.0_11\bin; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_cw\winscw.ini @C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\ctcopts.rsp mwldsym2 -msgstyle gcc -stdlib -subsystem windows -g -main __Win32DllMain@12 -shared -m __E32Dll -export dllexport -nocompactimportlib -addcommand out:TSanimmif.dll -warnings off -implib Z:/epoc32/build/tsanimmif/c_e00ebdbb6047a5d5/tsanimmif_dll/winscw/udeb/TSanimmif.lib -o Z:/epoc32/build/tsanimmif/c_e00ebdbb6047a5d5/tsanimmif_dll/winscw/udeb/TSanimmif.dll Z:/epoc32/release/winscw/udeb/edll.lib Z:/epoc32/release/winscw/udeb/scppnwdl.lib Z:/epoc32/release/winscw/udeb/euser.lib Z:/epoc32/release/winscw/udeb/stiftestinterface.lib Z:/epoc32/release/winscw/udeb/stiftestengine.lib Z:/epoc32/release/winscw/udeb/ecom.lib Z:/epoc32/release/winscw/udeb/efsrv.lib Z:/epoc32/release/winscw/udeb/sanimengine.lib -l Z:/epoc32/build/tsanimmif/c_e00ebdbb6047a5d5/tsanimmif_dll/winscw/udeb -search @Z:/epoc32/build/tsanimmif/c_e00ebdbb6047a5d5/tsanimmif_dll/winscw/udeb/TSanimmif_udeb_objects.lrf +*** CTC++/ctcagent command status: 0 + + +******************************************************************************* + +argv[0]: C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\mwldsym2.exe +argv[1]: -S +argv[2]: -show +argv[3]: only,names,unmangled,verbose +argv[4]: -o +argv[5]: Z:/epoc32/build/tsanimmif/c_e00ebdbb6047a5d5/tsanimmif_dll/winscw/udeb/TSanimmif.inf +argv[6]: Z:/epoc32/build/tsanimmif/c_e00ebdbb6047a5d5/tsanimmif_dll/winscw/udeb/TSanimmif.lib + +*** CTC++/ctcagent command: set PATH=C:\Apps\sbs\win32\mingw\bin;C:\Apps\sbs\win32\cygwin\bin;C:\Apps\sbs\win32\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\Wireless\Bin;c:\Program Files\Intel\WiFi\bin\;C:\Program Files\NTRU Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files\Wave Systems Corp\Gemalto\Access Client\v5\;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\ctc;C:\APPS\prevent\bin;C:\APPS\cltools;C:\APPS\7zip;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\APPS\imaker;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Nokia\FastTrace;\epoc32\gcc_mingw\bin;C:\APPS\romtools;C:\APPS\bc;C:\APPS\codecollaborator;C:\APPS\actpython\.;C:\APPS\codescanner;C:\APPS\sbs\bin;C:\APPS\symdec;C:\APPS\symrec;C:\APPS\blocks\bin;C:\APPS\helium;C:\APPS\ant\bin;C:\APPS\jdk_1.6.0_11\bin; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_cw\winscw.ini @C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\ctcopts.rsp mwldsym2 -S -show only,names,unmangled,verbose -o Z:/epoc32/build/tsanimmif/c_e00ebdbb6047a5d5/tsanimmif_dll/winscw/udeb/TSanimmif.inf Z:/epoc32/build/tsanimmif/c_e00ebdbb6047a5d5/tsanimmif_dll/winscw/udeb/TSanimmif.lib +*** CTC++/ctcagent command status: 0 + + +******************************************************************************* + +argv[0]: C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\mwldsym2.exe +argv[1]: -msgstyle +argv[2]: gcc +argv[3]: -stdlib +argv[4]: -subsystem +argv[5]: windows +argv[6]: -g +argv[7]: -main +argv[8]: __Win32DllMain@12 +argv[9]: -shared +argv[10]: -f +argv[11]: Z:/epoc32/build/tsanimmif/c_e00ebdbb6047a5d5/tsanimmif_dll/winscw/udeb/TSanimmif.def +argv[12]: Z:/epoc32/release/winscw/udeb/edll.lib +argv[13]: Z:/epoc32/release/winscw/udeb/scppnwdl.lib +argv[14]: Z:/epoc32/release/winscw/udeb/euser.lib +argv[15]: Z:/epoc32/release/winscw/udeb/stiftestinterface.lib +argv[16]: Z:/epoc32/release/winscw/udeb/stiftestengine.lib +argv[17]: Z:/epoc32/release/winscw/udeb/ecom.lib +argv[18]: Z:/epoc32/release/winscw/udeb/efsrv.lib +argv[19]: Z:/epoc32/release/winscw/udeb/sanimengine.lib +argv[20]: -o +argv[21]: Z:/epoc32/release/winscw/udeb/TSanimmif.dll +argv[22]: -noimplib +argv[23]: -l +argv[24]: Z:/epoc32/build/tsanimmif/c_e00ebdbb6047a5d5/tsanimmif_dll/winscw/udeb +argv[25]: -search +argv[26]: @Z:/epoc32/build/tsanimmif/c_e00ebdbb6047a5d5/tsanimmif_dll/winscw/udeb/TSanimmif_udeb_objects.lrf + +*** CTC++/ctcagent command: set PATH=C:\Apps\sbs\win32\mingw\bin;C:\Apps\sbs\win32\cygwin\bin;C:\Apps\sbs\win32\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\Wireless\Bin;c:\Program Files\Intel\WiFi\bin\;C:\Program Files\NTRU Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files\Wave Systems Corp\Gemalto\Access Client\v5\;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\ctc;C:\APPS\prevent\bin;C:\APPS\cltools;C:\APPS\7zip;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\APPS\imaker;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Nokia\FastTrace;\epoc32\gcc_mingw\bin;C:\APPS\romtools;C:\APPS\bc;C:\APPS\codecollaborator;C:\APPS\actpython\.;C:\APPS\codescanner;C:\APPS\sbs\bin;C:\APPS\symdec;C:\APPS\symrec;C:\APPS\blocks\bin;C:\APPS\helium;C:\APPS\ant\bin;C:\APPS\jdk_1.6.0_11\bin; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_cw\winscw.ini @C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\ctcopts.rsp mwldsym2 -msgstyle gcc -stdlib -subsystem windows -g -main __Win32DllMain@12 -shared -f Z:/epoc32/build/tsanimmif/c_e00ebdbb6047a5d5/tsanimmif_dll/winscw/udeb/TSanimmif.def Z:/epoc32/release/winscw/udeb/edll.lib Z:/epoc32/release/winscw/udeb/scppnwdl.lib Z:/epoc32/release/winscw/udeb/euser.lib Z:/epoc32/release/winscw/udeb/stiftestinterface.lib Z:/epoc32/release/winscw/udeb/stiftestengine.lib Z:/epoc32/release/winscw/udeb/ecom.lib Z:/epoc32/release/winscw/udeb/efsrv.lib Z:/epoc32/release/winscw/udeb/sanimengine.lib -o Z:/epoc32/release/winscw/udeb/TSanimmif.dll -noimplib -l Z:/epoc32/build/tsanimmif/c_e00ebdbb6047a5d5/tsanimmif_dll/winscw/udeb -search @Z:/epoc32/build/tsanimmif/c_e00ebdbb6047a5d5/tsanimmif_dll/winscw/udeb/TSanimmif_udeb_objects.lrf +*** CTC++/ctcagent command status: 0 + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmif/group/profile.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmif/group/profile.txt Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,110 @@ +***************************************************************************** +* CTC++, Test Coverage Analyzer for C/C++, Version 6.5.5 * +* * +* EXECUTION PROFILE LISTING * +* * +* Copyright (c) 1993-2009 Testwell Oy * +***************************************************************************** + + +Symbol file(s) used : MON.sym (Mon Aug 23 12:02:41 2010) +Data file(s) used : MON.dat (Mon Aug 23 12:48:55 2010) +Listing produced at : Mon Aug 23 13:00:38 2010 +Coverage view : As instrumented + + + +MONITORED SOURCE FILE : Z:/startupservices/startupanimation/internal/test/TSanimmif/src/TSanimmif.cpp +INSTRUMENTATION MODE : function + + START/ END/ + TRUE FALSE LINE DESCRIPTION +============================================================================= + + 30 30 80 FUNCTION CTSanimmif::CTSanimmif() + 30 30 91 FUNCTION CTSanimmif::ConstructL() + 30 0 139 FUNCTION CTSanimmif::NewL() + 30 30 153 FUNCTION CTSanimmif::~CTSanimmif() + 30 30 169 FUNCTION CTSanimmif::SendTestClassVersion() + 30 0 190 FUNCTION LibEntryL() + +***TER 100 % ( 6/ 6) of SOURCE FILE Z:/startupservices/startupanimation/internal/test/TSanimmif/src/TSanimmif.cpp +----------------------------------------------------------------------------- + + + +MONITORED SOURCE FILE : Z:/startupservices/startupanimation/internal/test/TSanimmif/src/testwaiter.cpp +INSTRUMENTATION MODE : function + + START/ END/ + TRUE FALSE LINE DESCRIPTION +============================================================================= + + 29 0 30 FUNCTION CTestWaiter::NewL() + 0 0 - 42 FUNCTION CTestWaiter::~CTestWaiter() + 0 0 - 52 FUNCTION CTestWaiter::Activate() + 29 29 65 FUNCTION CTestWaiter::CTestWaiter() + 0 0 - 77 FUNCTION CTestWaiter::DoCancel() + 0 0 - 87 FUNCTION CTestWaiter::RunL() + +***TER 33 % ( 2/ 6) of SOURCE FILE Z:/startupservices/startupanimation/internal/test/TSanimmif/src/testwaiter.cpp +----------------------------------------------------------------------------- + + + +MONITORED SOURCE FILE : Z:/startupservices/startupanimation/internal/test/TSanimmif/src/TSanimmifBlocks.cpp +INSTRUMENTATION MODE : function + + START/ END/ + TRUE FALSE LINE DESCRIPTION +============================================================================= + + 30 30 77 FUNCTION CTSanimmif::Delete() + 32 0 87 FUNCTION CTSanimmif::RunMethodL() + 0 0 - 146 FUNCTION TMockMifAnimationObserver::UpdateScreen() + 0 0 - 159 FUNCTION TMockMifAnimationObserver::UpdateScreen() + 29 0 173 FUNCTION CTSanimmif::SetupEmptyL() + 27 0 190 FUNCTION CTSanimmif::SetupObjL() + 13 0 206 FUNCTION CTSanimmif::SetupFileL() + 1 0 221 FUNCTION CTSanimmif::SetupStillImageNoMaskL() + 4 0 233 FUNCTION CTSanimmif::SetupStillImageL() + 1 0 245 FUNCTION CTSanimmif::SetupScaledAnimationL() + 7 0 257 FUNCTION CTSanimmif::SetupUnscaledAnimationL() + 3 0 269 FUNCTION CTSanimmif::SetupFinishedL() + 0 0 - 284 FUNCTION CTSanimmif::Teardown() + 1 0 306 FUNCTION CTSanimmif::TestConstructorL() + 1 0 324 FUNCTION CTSanimmif::TestConstructorNoMemoryL() + 0 0 - 338 FUNCTION CTSanimmif::TestUnknownFileL() + 0 0 - 353 FUNCTION CTSanimmif::TestCorruptFileL() + 0 0 - 368 FUNCTION CTSanimmif::TestNoFramesFileL() + 0 0 - 383 FUNCTION CTSanimmif::TestLoadStillImageL() + 0 0 - 398 FUNCTION CTSanimmif::TestLoadScaledAnimationL() + 0 0 - 413 FUNCTION CTSanimmif::TestLoadUnscaledAnimationL() + 0 0 - 428 FUNCTION CTSanimmif::TestLoadNoMemoryL() + 0 0 - 443 FUNCTION CTSanimmif::TestCancelLoadL() + 0 0 - 459 FUNCTION CTSanimmif::TestShowStillImageL() + 0 0 - 475 FUNCTION CTSanimmif::TestShowAnimationL() + 0 0 - 491 FUNCTION CTSanimmif::TestCancelStillImageL() + 0 0 - 507 FUNCTION CTSanimmif::TestCancelAnimationL() + 0 0 - 523 FUNCTION CTSanimmif::TestCancelNotActiveL() + 0 0 - 535 FUNCTION CTSanimmif::TestShowBeforeLoadL() + 0 0 - 547 FUNCTION CTSanimmif::TestSetDisplayModeL() + 0 0 - 571 FUNCTION CTSanimmif::TestSetSizeL() + 0 0 - 595 FUNCTION CTSanimmif::TestSetFrameDelayL() + 0 0 - 619 FUNCTION CTSanimmif::TestBackroundColourL() + 1 0 634 FUNCTION CTSanimmif::ExampleL() + +***TER 38 % ( 13/ 34) of SOURCE FILE Z:/startupservices/startupanimation/internal/test/TSanimmif/src/TSanimmifBlocks.cpp +----------------------------------------------------------------------------- + + + + + +SUMMARY +======= + +Number of monitored source files : 3 +Number of source lines : 945 +Number of measurement points : 92 +TER : 46% (function) diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmif/inc/TSanimmif.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmif/inc/TSanimmif.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,220 @@ +/* +* 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: STIF testclass declaration +* +*/ + +#ifndef TSANIMMIF_H +#define TSANIMMIF_H + +// INCLUDES +#include +#include +#include +#include +#include +#include +#include "sanimobserver.h" + + +// CONSTANTS +//const ?type ?constant_var = ?constant; + +// MACROS +//#define ?macro ?macro_def +#define TEST_CLASS_VERSION_MAJOR 0 +#define TEST_CLASS_VERSION_MINOR 0 +#define TEST_CLASS_VERSION_BUILD 0 + +// Logging path +_LIT( KTSanimmifLogPath, "\\logs\\testframework\\TSanimmif\\" ); +// Log file +_LIT( KTSanimmifLogFile, "TSanimmif.txt" ); +_LIT( KTSanimmifLogFileWithTitle, "TSanimmif_[%S].txt" ); + +// FUNCTION PROTOTYPES +//?type ?function_name(?arg_list); + +// FORWARD DECLARATIONS +//class ?FORWARD_CLASSNAME; +class CTSanimmif; +class CSAnimImagePlugin; +class CTestWaiter; + +NONSHARABLE_CLASS( TMockMifAnimationObserver ) : public MSAnimObserver + { +public: + TMockMifAnimationObserver( CTSanimmif& aTestSuite ) : iTestSuite( aTestSuite ) {} + virtual void UpdateScreen( const CFbsBitmap& /*aFrame*/, const CFbsBitmap& /*aMask*/ ); + virtual void UpdateScreen( const CFbsBitmap& /*aFrame*/ ); +private: + CTSanimmif& iTestSuite; + }; + + +/** +* CTSanimmif test class for STIF Test Framework TestScripter. +* ?other_description_lines +* +* @lib ?library +* @since ?Series60_version +*/ +NONSHARABLE_CLASS(CTSanimmif) : public CScriptBase + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + */ + static CTSanimmif* NewL( CTestModuleIf& aTestModuleIf ); + + /** + * Destructor. + */ + virtual ~CTSanimmif(); + + public: // New functions + + /** + * ?member_description. + * @since ?Series60_version + * @param ?arg1 ?description + * @return ?description + */ + //?type ?member_function( ?type ?arg1 ); + + public: // Functions from base classes + + /** + * From CScriptBase Runs a script line. + * @since ?Series60_version + * @param aItem Script line containing method name and parameters + * @return Symbian OS error code + */ + virtual TInt RunMethodL( CStifItemParser& aItem ); + + protected: // New functions + + /** + * ?member_description. + * @since ?Series60_version + * @param ?arg1 ?description + * @return ?description + */ + //?type ?member_function( ?type ?arg1 ); + + protected: // Functions from base classes + + /** + * From ?base_class ?member_description + */ + //?type ?member_function(); + + private: + + /** + * C++ default constructor. + */ + CTSanimmif( CTestModuleIf& aTestModuleIf ); + + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL(); + + // Prohibit copy constructor if not deriving from CBase. + // ?classname( const ?classname& ); + // Prohibit assigment operator if not deriving from CBase. + // ?classname& operator=( const ?classname& ); + + /** + * Frees all resources allocated from test methods. + * @since ?Series60_version + */ + void Delete(); + + /** + * Test methods are listed below. + */ + + /** + * Example test method. + * @since ?Series60_version + * @param aItem Script line containing parameters. + * @return Symbian OS error code. + */ + virtual TInt ExampleL( CStifItemParser& aItem ); + + /** + * Method used to log version of test class + */ + void SendTestClassVersion(); + TInt SetupEmptyL(); + TInt SetupObjL(); + TInt SetupFileL( const TDesC& aFileName ); + TInt SetupStillImageNoMaskL(); + TInt SetupStillImageL(); + TInt SetupScaledAnimationL(); + TInt SetupUnscaledAnimationL(); + TInt SetupFinishedL(); + TInt Teardown(); + + TInt TestConstructorL(); + TInt TestConstructorNoMemoryL(); + TInt TestUnknownFileL(); + TInt TestCorruptFileL(); + TInt TestNoFramesFileL(); + TInt TestLoadStillImageL(); + TInt TestLoadScaledAnimationL(); + TInt TestLoadUnscaledAnimationL(); + TInt TestLoadNoMemoryL(); + TInt TestCancelLoadL(); + TInt TestShowStillImageL(); + TInt TestShowAnimationL(); + TInt TestCancelStillImageL(); + TInt TestCancelAnimationL(); + TInt TestCancelNotActiveL(); + TInt TestShowBeforeLoadL(); + TInt TestSetDisplayModeL(); + TInt TestSetSizeL(); + TInt TestSetFrameDelayL(); + TInt TestBackroundColourL(); + + + private: // data + friend class TMockMifAnimationObserver; + + /** File server session used in testing. */ + RFs iFs; + + /** Instance of the class that this test suite is testing. */ + CSAnimImagePlugin* iTestObj; + + /** A 32 bit identifer returned by ECom to identify this instance to the framework. */ + TUid iDtorKey; + + /** For testing async calls. */ + CTestWaiter* iWaiter; + + /** For testing correct number of calls to animation observer. */ + TInt iFrameCounter; + + /** Animation observer for testing. */ + TMockMifAnimationObserver iObserver; + + }; + +#endif // TSANIMMIF_H + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmif/inc/sanimmifplugintestsuite.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmif/inc/sanimmifplugintestsuite.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,144 @@ +/* +* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Symbian Foundation License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Declaration of CSAnimMifPluginTestSuite class +* +*/ + + +#ifndef SANIMMIFPLUGINTESTSUITE_H +#define SANIMMIFPLUGINTESTSUITE_H + +#include +#include +#include +#include "sanimobserver.h" + +class CSAnimImagePlugin; +class CSAnimMifPluginTestSuite; +class CTestWaiter; + +NONSHARABLE_CLASS( TMockMifAnimationObserver ) : public MSAnimObserver + { +public: + TMockMifAnimationObserver( CSAnimMifPluginTestSuite& aTestSuite ) : iTestSuite( aTestSuite ) {} + virtual void UpdateScreen( const CFbsBitmap& /*aFrame*/, const CFbsBitmap& /*aMask*/ ); + virtual void UpdateScreen( const CFbsBitmap& /*aFrame*/ ); +private: + CSAnimMifPluginTestSuite& iTestSuite; + }; + +/** +* Test cases for CSAnimSvgPlugin class. +* +* @lib None +* @since S60 3.2 +*/ +NONSHARABLE_CLASS( CSAnimMifPluginTestSuite ) : public CEUnitTestSuiteClass + { + +public: + + /** + * Constructs a CSAnimMifPluginTestSuite object. + * + * @since S60 3.2 + * + * @return The new object + */ + static CSAnimMifPluginTestSuite* NewL(); + static CSAnimMifPluginTestSuite* NewLC(); + + /** + * Destructor. + * + * @since S60 3.2 + */ + virtual ~CSAnimMifPluginTestSuite(); + +private: + + /** + * First phase constructor. + * + * @since S60 3.2 + */ + CSAnimMifPluginTestSuite(); + + /** + * Second phase constructor. + * + * @since S60 3.2 + */ + void ConstructL(); + +private: // New methods + + void SetupEmptyL(); + void SetupObjL(); + void SetupFileL( const TDesC& aFileName ); + void SetupStillImageNoMaskL(); + void SetupStillImageL(); + void SetupScaledAnimationL(); + void SetupUnscaledAnimationL(); + void SetupFinishedL(); + void Teardown(); + + void TestConstructorL(); + void TestConstructorNoMemoryL(); + void TestUnknownFileL(); + void TestCorruptFileL(); + void TestNoFramesFileL(); + void TestLoadStillImageL(); + void TestLoadScaledAnimationL(); + void TestLoadUnscaledAnimationL(); + void TestLoadNoMemoryL(); + void TestCancelLoadL(); + void TestShowStillImageL(); + void TestShowAnimationL(); + void TestCancelStillImageL(); + void TestCancelAnimationL(); + void TestCancelNotActiveL(); + void TestShowBeforeLoadL(); + void TestSetDisplayModeL(); + void TestSetSizeL(); + void TestSetFrameDelayL(); + void TestBackroundColourL(); + +private: // data + + EUNIT_DECLARE_TEST_TABLE; + + friend class TMockMifAnimationObserver; + + /** File server session used in testing. */ + RFs iFs; + + /** Instance of the class that this test suite is testing. */ + CSAnimImagePlugin* iTestObj; + + /** A 32 bit identifer returned by ECom to identify this instance to the framework. */ + TUid iDtorKey; + + /** For testing async calls. */ + CTestWaiter* iWaiter; + + /** For testing correct number of calls to animation observer. */ + TInt iFrameCounter; + + /** Animation observer for testing. */ + TMockMifAnimationObserver iObserver; + + }; + +#endif // SANIMMIFPLUGINTESTSUITE_H diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmif/inc/testwaiter.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmif/inc/testwaiter.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,88 @@ +/* +* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Symbian Foundation License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Declaration of CTestWaiter class +* +*/ + + +#ifndef TESTWAITER_H +#define TESTWAITER_H + +#include + +/** +* Stops active scheduler in RunL. +* +* @lib None +* @since S60 3.2 +*/ +class CTestWaiter : public CActive + { + +public: + + /** + * Constructs a CTestWaiter object. + * + * @return The new object + * @since S60 3.2 + */ + static CTestWaiter* NewL(); + + /** + * Destructor. + * + * @since S60 3.2 + */ + virtual ~CTestWaiter(); + + /** + * Set active. + * + * @since S60 3.2 + */ + void Activate(); + +protected: + + /** + * From CActive. + * Implements cancellation of an outstanding request. + * + * @since S60 3.2 + */ + virtual void DoCancel(); + + /** + * From CActive. + * Handles an active object's request completion event. + * Never leaves. + * + * @since S60 3.2 + */ + virtual void RunL(); + +private: + + /** + * First phase constructor. + * + */ + CTestWaiter(); + +private: // data + + }; + +#endif // TESTWAITER_H diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmif/rom/TSanimmif.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmif/rom/TSanimmif.iby Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,9 @@ +#ifndef __TSANIMMIF_IBY__ +#define __TSANIMMIF_IBY__ + +file=ABI_DIR\BUILD_DIR\TSanimmif.dll SHARED_LIB_DIR\TSanimmif.dll + +data=\epoc32\data\z\system\data\UI_TSanimmif.cfg \testframework\UI_TSanimmif.cfg + + +#endif \ No newline at end of file diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmif/src/TSanimmif.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmif/src/TSanimmif.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,198 @@ +/* +* 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: This file contains testclass implementation. +* +*/ + +// INCLUDE FILES +#include +#include "TSanimmif.h" +#include + +// EXTERNAL DATA STRUCTURES +//extern ?external_data; + +// EXTERNAL FUNCTION PROTOTYPES +//extern ?external_function( ?arg_type,?arg_type ); + +// CONSTANTS +//const ?type ?constant_var = ?constant; + +// MACROS +//#define ?macro ?macro_def + +// LOCAL CONSTANTS AND MACROS +//const ?type ?constant_var = ?constant; +//#define ?macro_name ?macro_def + +// MODULE DATA STRUCTURES +//enum ?declaration +//typedef ?declaration + +// LOCAL FUNCTION PROTOTYPES +//?type ?function_name( ?arg_type, ?arg_type ); + +// FORWARD DECLARATIONS +//class ?FORWARD_CLASSNAME; + +// ============================= LOCAL FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// ?function_name ?description. +// ?description +// Returns: ?value_1: ?description +// ?value_n: ?description_line1 +// ?description_line2 +// ----------------------------------------------------------------------------- +// +/* +?type ?function_name( + ?arg_type arg, // ?description + ?arg_type arg) // ?description + { + + ?code // ?comment + + // ?comment + ?code + } +*/ + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CTSanimmif::CTSanimmif +// C++ default constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +// +CTSanimmif::CTSanimmif( + CTestModuleIf& aTestModuleIf ): + CScriptBase( aTestModuleIf ),iObserver( *this ) + { + } + +// ----------------------------------------------------------------------------- +// CTSanimmif::ConstructL +// Symbian 2nd phase constructor can leave. +// ----------------------------------------------------------------------------- +// +void CTSanimmif::ConstructL() + { + //Read logger settings to check whether test case name is to be + //appended to log file name. + RSettingServer settingServer; + TInt ret = settingServer.Connect(); + if(ret != KErrNone) + { + User::Leave(ret); + } + // Struct to StifLogger settigs. + TLoggerSettings loggerSettings; + // Parse StifLogger defaults from STIF initialization file. + ret = settingServer.GetLoggerSettings(loggerSettings); + if(ret != KErrNone) + { + User::Leave(ret); + } + // Close Setting server session + settingServer.Close(); + + TFileName logFileName; + + if(loggerSettings.iAddTestCaseTitle) + { + TName title; + TestModuleIf().GetTestCaseTitleL(title); + logFileName.Format(KTSanimmifLogFileWithTitle, &title); + } + else + { + logFileName.Copy(KTSanimmifLogFile); + } + + iLog = CStifLogger::NewL( KTSanimmifLogPath, + logFileName, + CStifLogger::ETxt, + CStifLogger::EFile, + EFalse ); + + SendTestClassVersion(); + } + +// ----------------------------------------------------------------------------- +// CTSanimmif::NewL +// Two-phased constructor. +// ----------------------------------------------------------------------------- +// +CTSanimmif* CTSanimmif::NewL( + CTestModuleIf& aTestModuleIf ) + { + CTSanimmif* self = new (ELeave) CTSanimmif( aTestModuleIf ); + + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop(); + + return self; + + } + +// Destructor +CTSanimmif::~CTSanimmif() + { + + // Delete resources allocated from test methods + Delete(); + + // Delete logger + delete iLog; + + } + +//----------------------------------------------------------------------------- +// CTSanimmif::SendTestClassVersion +// Method used to send version of test class +//----------------------------------------------------------------------------- +// +void CTSanimmif::SendTestClassVersion() + { + TVersion moduleVersion; + moduleVersion.iMajor = TEST_CLASS_VERSION_MAJOR; + moduleVersion.iMinor = TEST_CLASS_VERSION_MINOR; + moduleVersion.iBuild = TEST_CLASS_VERSION_BUILD; + + TFileName moduleName; + moduleName = _L("TSanimmif.dll"); + + TBool newVersionOfMethod = ETrue; + TestModuleIf().SendTestModuleVersion(moduleVersion, moduleName, newVersionOfMethod); + } + +// ========================== OTHER EXPORTED FUNCTIONS ========================= + +// ----------------------------------------------------------------------------- +// LibEntryL is a polymorphic Dll entry point. +// Returns: CScriptBase: New CScriptBase derived object +// ----------------------------------------------------------------------------- +// +EXPORT_C CScriptBase* LibEntryL( + CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework + { + + return ( CScriptBase* ) CTSanimmif::NewL( aTestModuleIf ); + + } + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmif/src/TSanimmifBlocks.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmif/src/TSanimmifBlocks.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,659 @@ +/* +* 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: This file contains testclass implementation. +* +*/ + +// [INCLUDE FILES] - do not remove +#include +#include +#include +#include "TSanimmif.h" + +#include "sanimimageplugin.h" + +#include "testwaiter.h" + +#include + +#pragma tagging OFF // To disable CodeTest tagging + +const TInt KSAnimMifPluginImplUid = 0x2000B11E; + +_LIT( KUnknownFile, "C:\\temp\\unknown.mif" ); +_LIT( KCorruptFile, "C:\\temp\\corrupt.mif" ); +_LIT( KStillImageFile, "C:\\temp\\testimg_1.mif" ); +_LIT( KScaledAnimationFile, "C:\\temp\\testanim_1.mif" ); +_LIT( KUnscaledAnimationFile, "C:\\temp\\testanim_2.mif" ); +_LIT( KStillImageNoMaskFile, "C:\\temp\\testimg_2.mif" ); +_LIT( KNoFramesFile, "C:\\temp\\testimg_3.mif" ); + + + +// ============================= LOCAL FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// ?function_name ?description. +// ?description +// Returns: ?value_1: ?description +// ?value_n: ?description_line1 +// ?description_line2 +// ----------------------------------------------------------------------------- +// +/* +?type ?function_name( + ?arg_type arg, // ?description + ?arg_type arg) // ?description + { + + ?code // ?comment + + // ?comment + ?code + } +*/ + + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CTSanimmif::Delete +// Delete here all resources allocated and opened from test methods. +// Called from destructor. +// ----------------------------------------------------------------------------- +// +void CTSanimmif::Delete() + { + + } + +// ----------------------------------------------------------------------------- +// CTSanimmif::RunMethodL +// Run specified method. Contains also table of test mothods and their names. +// ----------------------------------------------------------------------------- +// +TInt CTSanimmif::RunMethodL( + CStifItemParser& aItem ) + { + + static TStifFunctionInfo const KFunctions[] = + { + // Copy this line for every implemented function. + // First string is the function name used in TestScripter script file. + // Second is the actual implementation member function. + ENTRY( "Example", CTSanimmif::ExampleL ), + ENTRY( "SetupEmpty", CTSanimmif::SetupEmptyL ), + ENTRY( "SetupObj", CTSanimmif::SetupObjL ), + ENTRY( "SetupFile", CTSanimmif::SetupFileL ), + ENTRY( "SetupStillImageNoMask", CTSanimmif::SetupStillImageNoMaskL ), + ENTRY( "SetupStillImage", CTSanimmif::SetupStillImageL ), + ENTRY( "SetupScaledAnimation", CTSanimmif::SetupScaledAnimationL ), + ENTRY( "SetupUnscaledAnimation", CTSanimmif::SetupUnscaledAnimationL ), + ENTRY( "SetupFinished", CTSanimmif::SetupFinishedL ), + ENTRY( "Teardown", CTSanimmif::Teardown ), + ENTRY( "TestConstructor", CTSanimmif::TestConstructorL ), + ENTRY( "TestConstructorNoMemory", CTSanimmif::TestConstructorNoMemoryL ), + ENTRY( "TestUnknownFile", CTSanimmif::TestUnknownFileL ), + ENTRY( "TestCorruptFile", CTSanimmif::TestCorruptFileL ), + ENTRY( "TestNoFramesFile", CTSanimmif::TestNoFramesFileL ), + ENTRY( "TestLoadStillImage", CTSanimmif::TestLoadStillImageL ), + ENTRY( "TestLoadScaledAnimation", CTSanimmif::TestLoadScaledAnimationL ), + ENTRY( "TestLoadUnscaledAnimation", CTSanimmif::TestLoadUnscaledAnimationL ), + ENTRY( "TestLoadNoMemory", CTSanimmif::TestLoadNoMemoryL ), + ENTRY( "TestCancelLoad", CTSanimmif::TestCancelLoadL ), + ENTRY( "TestShowStillImage", CTSanimmif::TestShowStillImageL ), + ENTRY( "TestShowAnimation", CTSanimmif::TestShowAnimationL ), + ENTRY( "TestCancelStillImage", CTSanimmif::TestCancelStillImageL ), + ENTRY( "TestCancelAnimation", CTSanimmif::TestCancelAnimationL ), + ENTRY( "TestCancelNotActive", CTSanimmif::TestCancelNotActiveL ), + ENTRY( "TestShowBeforeLoad", CTSanimmif::TestShowBeforeLoadL ), + ENTRY( "TestSetDisplayMode", CTSanimmif::TestSetDisplayModeL ), + ENTRY( "TestSetSize", CTSanimmif::TestSetSizeL ), + ENTRY( "TestSetFrameDelay", CTSanimmif::TestSetFrameDelayL ), + ENTRY( "TestBackroundColour", CTSanimmif::TestBackroundColourL ), + + //ADD NEW ENTRY HERE + // [test cases entries] - Do not remove + + }; + + const TInt count = sizeof( KFunctions ) / + sizeof( TStifFunctionInfo ); + + return RunInternalL( KFunctions, count, aItem ); + + } + + // ======== MEMBER FUNCTIONS ======== + +// --------------------------------------------------------------------------- +// TMockMifAnimationObserver::UpdateScreen +// +// --------------------------------------------------------------------------- +// +void TMockMifAnimationObserver::UpdateScreen( const CFbsBitmap& /*aFrame*/, const CFbsBitmap& /*aMask*/ ) + { + RDebug::Print( _L( "TMockMifAnimationObserver::UpdateScreen" ) ); + + iTestSuite.iFrameCounter++; + } + + +// --------------------------------------------------------------------------- +// TMockMifAnimationObserver::UpdateScreen +// +// --------------------------------------------------------------------------- +// +void TMockMifAnimationObserver::UpdateScreen( const CFbsBitmap& /*aFrame*/ ) + { + iTestSuite.iFrameCounter++; + } + + + + + +// --------------------------------------------------------------------------- +// CTSanimmif::SetupEmptyL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmif::SetupEmptyL() + { + iTestObj = NULL; + iDtorKey = TUid::Uid( 0 ); + User::LeaveIfError( iFs.Connect() ); + User::LeaveIfError( iFs.ShareProtected() ); + iWaiter = CTestWaiter::NewL(); + iFrameCounter = 0; + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimMifPluginTestSuite::SetupObjL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmif::SetupObjL() + { + SetupEmptyL(); + iTestObj = static_cast( + REComSession::CreateImplementationL( + TUid::Uid( KSAnimMifPluginImplUid ), iDtorKey, &iObserver ) ); + iTestObj->SetSize( TSize( 128, 128 ) ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimMifPluginTestSuite::SetupFileL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmif::SetupFileL( const TDesC& aFileName ) + { + SetupObjL(); + iTestObj->Load( iFs, aFileName, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimMifPluginTestSuite::SetupStillImageNoMaskL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmif::SetupStillImageNoMaskL() + { + SetupFileL( KStillImageNoMaskFile ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimmif::SetupStillImageL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmif::SetupStillImageL() + { + SetupFileL( KStillImageFile ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimmif::SetupScaledAnimationL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmif::SetupScaledAnimationL() + { + SetupFileL( KScaledAnimationFile ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimmif::SetupUnscaledAnimationL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmif::SetupUnscaledAnimationL() + { + SetupFileL( KUnscaledAnimationFile ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimmif::SetupFinishedL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmif::SetupFinishedL() + { + SetupUnscaledAnimationL(); + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimmif::Teardown +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmif::Teardown() + { + delete iTestObj; + iTestObj = NULL; + + REComSession::DestroyedImplementation( iDtorKey ); + + delete iWaiter; + iWaiter = NULL; + + iFs.Close(); + + REComSession::FinalClose(); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimMifPluginTestSuite::TestConstructorL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmif::TestConstructorL() + { + TAny* ptr = NULL; + ptr = REComSession::CreateImplementationL(TUid::Uid( KSAnimMifPluginImplUid ), iDtorKey, &iObserver ); + + iTestObj = static_cast( ptr ); + // EUNIT_ASSERT( iTestObj ); + delete iTestObj; + iTestObj = NULL; + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimMifPluginTestSuite::TestConstructorNoMemoryL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmif::TestConstructorNoMemoryL() + { + TAny* ptr = NULL; + ptr = REComSession::CreateImplementationL(TUid::Uid( KSAnimMifPluginImplUid ), iDtorKey, &iObserver ); + // EUNIT_ASSERT( !ptr ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimMifPluginTestSuite::TestUnknownFileL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmif::TestUnknownFileL() + { + iTestObj->Load( iFs, KUnknownFile, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNotFound ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimmif::TestCorruptFileL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmif::TestCorruptFileL() + { + iTestObj->Load( iFs, KCorruptFile, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrCorrupt ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimMifPluginTestSuite::TestNoFramesFileL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmif::TestNoFramesFileL() + { + iTestObj->Load( iFs, KNoFramesFile, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrCorrupt ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimMifPluginTestSuite::TestLoadStillImageL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmif::TestLoadStillImageL() + { + iTestObj->Load( iFs, KStillImageFile, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimMifPluginTestSuite::TestLoadScaledAnimationL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmif::TestLoadScaledAnimationL() + { + iTestObj->Load( iFs, KScaledAnimationFile, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimMifPluginTestSuite::TestLoadUnscaledAnimationL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmif::TestLoadUnscaledAnimationL() + { + iTestObj->Load( iFs, KUnscaledAnimationFile, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimMifPluginTestSuite::TestLoadNoMemoryL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmif::TestLoadNoMemoryL() + { + iTestObj->Load( iFs, KUnscaledAnimationFile, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNoMemory ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimMifPluginTestSuite::TestCancelLoadL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmif::TestCancelLoadL() + { + iTestObj->Load( iFs, KUnscaledAnimationFile, iWaiter->iStatus ); + iWaiter->Activate(); + iTestObj->Cancel(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); // Load is syncronous + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimMifPluginTestSuite::TestShowStillImageL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmif::TestShowStillImageL() + { + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + // EUNIT_ASSERT_EQUALS( iFrameCounter, 1 ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimMifPluginTestSuite::TestShowAnimationL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmif::TestShowAnimationL() + { + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + // EUNIT_ASSERT( iFrameCounter > 1 ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimMifPluginTestSuite::TestCancelStillImageL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmif::TestCancelStillImageL() + { + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + iTestObj->Cancel(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrCancel ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimmif::TestCancelAnimationL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmif::TestCancelAnimationL() + { + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + iTestObj->Cancel(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrCancel ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimmif::TestCancelNotActiveL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmif::TestCancelNotActiveL() + { + iTestObj->Cancel(); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimMifPluginTestSuite::TestShowBeforeLoadL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmif::TestShowBeforeLoadL() + { + //EUNIT_ASSERT_PANIC( iTestObj->Start( iWaiter->iStatus ), "STARTUPANIMATION", 2 ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimmif::TestSetDisplayModeL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmif::TestSetDisplayModeL() + { + iTestObj->SetDisplayMode( EGray2 ); + iTestObj->Load( iFs, KStillImageFile, iWaiter->iStatus ); + iTestObj->SetDisplayMode( ENone ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + iTestObj->SetDisplayMode( EColor16MA ); + iTestObj->SetDisplayMode( EColor16MU ); + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + iTestObj->SetDisplayMode( EColor256 ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimMifPluginTestSuite::TestSetSizeL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmif::TestSetSizeL() + { + iTestObj->SetSize( TSize( 10, 10 ) ); + iTestObj->Load( iFs, KStillImageFile, iWaiter->iStatus ); + iTestObj->SetSize( TSize( 10000, 10000 ) ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + iTestObj->SetSize( TSize( 0, 0 ) ); + iTestObj->SetSize( TSize( 2, 1000 ) ); + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + iTestObj->SetSize( TSize( 1, 1 ) ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimMifPluginTestSuite::TestSetFrameDelayL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmif::TestSetFrameDelayL() + { + iTestObj->SetFrameDelay( 100 ); + iTestObj->Load( iFs, KUnscaledAnimationFile, iWaiter->iStatus ); + iTestObj->SetFrameDelay( 0 ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + // EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + iTestObj->SetFrameDelay( 12000 ); + iTestObj->SetFrameDelay( 50 ); + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + //EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + iTestObj->SetFrameDelay( 3 ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimMifPluginTestSuite::TestBackroundColourL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmif::TestBackroundColourL() + { + TRgb colour = iTestObj->BackroundColour(); + // EUNIT_ASSERT_EQUALS( colour, TRgb() ); // Empty + return KErrNone; + } + + + +// ----------------------------------------------------------------------------- +// CTSanimmif::ExampleL +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CTSanimmif::ExampleL( CStifItemParser& aItem ) + { + + // Print to UI + _LIT( KTSanimmif, "TSanimmif" ); + _LIT( KExample, "In Example" ); + TestModuleIf().Printf( 0, KTSanimmif, KExample ); + // Print to log file + iLog->Log( KExample ); + + TInt i = 0; + TPtrC string; + _LIT( KParam, "Param[%i]: %S" ); + while ( aItem.GetNextString ( string ) == KErrNone ) + { + TestModuleIf().Printf( i, KTSanimmif, + KParam, i, &string ); + i++; + } + + return KErrNone; + + } + + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmif/src/testwaiter.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmif/src/testwaiter.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,92 @@ +/* +* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Symbian Foundation License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Implementation of CTestWaiter class +* +*/ + + +#include "testwaiter.h" + +#pragma tagging OFF // To disable CodeTest tagging + +// ======== MEMBER FUNCTIONS ======== + +// --------------------------------------------------------------------------- +// CTestWaiter::NewL +// +// --------------------------------------------------------------------------- +// +CTestWaiter* CTestWaiter::NewL() + { + CTestWaiter* self = new( ELeave ) CTestWaiter; + return self; + } + + +// --------------------------------------------------------------------------- +// CTestWaiter::~CTestWaiter +// +// --------------------------------------------------------------------------- +// +CTestWaiter::~CTestWaiter() + { + } + + +// --------------------------------------------------------------------------- +// CTestWaiter::Activate +// +// --------------------------------------------------------------------------- +// +void CTestWaiter::Activate() + { + __ASSERT_ALWAYS( !IsActive(), User::Invariant() ); + + SetActive(); + } + + +// --------------------------------------------------------------------------- +// CTestWaiter::CTestWaiter +// +// --------------------------------------------------------------------------- +// +CTestWaiter::CTestWaiter() + : CActive( EPriorityStandard ) + { + CActiveScheduler::Add( this ); + } + + +// --------------------------------------------------------------------------- +// CTestWaiter::DoCancel +// +// --------------------------------------------------------------------------- +// +void CTestWaiter::DoCancel() + { + } + + +// --------------------------------------------------------------------------- +// CTestWaiter::RunL +// +// --------------------------------------------------------------------------- +// +void CTestWaiter::RunL() + { + CActiveScheduler::Stop(); + } + +#pragma tagging ON // To stop disabling CodeTest tagging diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmmf/Bmarm/TSanimmmfpluginU.DEF --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmmf/Bmarm/TSanimmmfpluginU.DEF Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,3 @@ +EXPORTS + LibEntryL__FR13CTestModuleIf @ 1 NONAME R3UNUSED ; LibEntryL(CTestModuleIf &) + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmmf/Bwins/TSanimmmfpluginu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmmf/Bwins/TSanimmmfpluginu.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,3 @@ +EXPORTS + ?LibEntryL@@YAPAVCScriptBase@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CScriptBase * __cdecl LibEntryL(class CTestModuleIf &) + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmmf/conf/UI_TSanimmmf.cfg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmmf/conf/UI_TSanimmmf.cfg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,207 @@ +[Test] +title Example +create TSanimmmf foobar +foobar Example pa ra me ters +delete foobar +[Endtest] + + +[Test] +title TestConstructor +create TSanimmmf MMFPlugin +MMFPlugin SetupEmpty +MMFPlugin TestConstructor +MMFPlugin Teardown +delete MMFPlugin +[Endtest] + +[Test] +title TestConstructorNoMemory +create TSanimmmf MMFPlugin +MMFPlugin SetupEmpty +MMFPlugin TestConstructorNoMemory +MMFPlugin Teardown +delete MMFPlugin +[Endtest] + +[Test] +title Setup8bitMonoTone +create TSanimmmf MMFPlugin +MMFPlugin Setup8bitMonoTone +delete MMFPlugin +[Endtest] + + +[Test] +title TestUnknownFile +create TSanimmmf MMFPlugin +MMFPlugin SetupObj +MMFPlugin TestUnknownFile +MMFPlugin Teardown +delete MMFPlugin +[Endtest] + +[Test] +title TestCorruptFile +create TSanimmmf MMFPlugin +MMFPlugin SetupObj +MMFPlugin TestCorruptFile +MMFPlugin Teardown +delete MMFPlugin +[Endtest] + +[Test] +title TestLoad8bitMonoTone +create TSanimmmf MMFPlugin +MMFPlugin SetupObj +MMFPlugin TestLoad8bitMonoTone +MMFPlugin Teardown +delete MMFPlugin +[Endtest] + +[Test] +title TestLoad16bitMonoTone +create TSanimmmf MMFPlugin +MMFPlugin SetupObj +MMFPlugin TestLoad16bitMonoTone +MMFPlugin Teardown +delete MMFPlugin +[Endtest] + + +[Test] +title TestLoadGsm6_10Tone +create TSanimmmf MMFPlugin +MMFPlugin SetupObj +MMFPlugin TestLoadGsm6_10Tone +MMFPlugin Teardown +delete MMFPlugin +[Endtest] + +[Test] +title TestLoadNoMemory +create TSanimmmf MMFPlugin +MMFPlugin SetupObj +MMFPlugin TestLoadNoMemory +MMFPlugin Teardown +delete MMFPlugin +[Endtest] + + +[Test] +title TestCancelLoad +create TSanimmmf MMFPlugin +MMFPlugin SetupObj +MMFPlugin TestCancelLoad +MMFPlugin Teardown +delete MMFPlugin +[Endtest] + + +[Test] +title Setup16bitMonoTone +create TSanimmmf MMFPlugin +MMFPlugin Setup16bitMonoTone +MMFPlugin TestStart +MMFPlugin Teardown +delete MMFPlugin +[Endtest] + + +[Test] +title SetupGsm6_10Tone +create TSanimmmf MMFPlugin +MMFPlugin SetupGsm6_10Tone +MMFPlugin TestStart +MMFPlugin Teardown +delete MMFPlugin +[Endtest] + +[Test] +title SetupGsm6_10tone +create TSanimmmf MMFPlugin +MMFPlugin SetupGsm6_10Tone +MMFPlugin TestStart +MMFPlugin Teardown +delete MMFPlugin +[Endtest] + +[Test] +title SetupGsm6_10Tone_cancelStart +create TSanimmmf MMFPlugin +MMFPlugin SetupGsm6_10Tone +MMFPlugin TestCancelStart +MMFPlugin Teardown +delete MMFPlugin +[Endtest] + + +[Test] +title TestCancelNotActive +create TSanimmmf MMFPlugin +MMFPlugin SetupObj +MMFPlugin TestCancelNotActive +MMFPlugin Teardown +delete MMFPlugin +[Endtest] + + +[Test] +title SetupGsm6_10Tone +create TSanimmmf MMFPlugin +MMFPlugin SetupGsm6_10Tone +MMFPlugin TestCancelNotActive +MMFPlugin Teardown +delete MMFPlugin +[Endtest] + + +[Test] +title SetupFinishedL +create TSanimmmf MMFPlugin +MMFPlugin SetupFinished +MMFPlugin TestCancelNotActive +MMFPlugin Teardown +delete MMFPlugin +[Endtest] + +[Test] +title TestLoadGsm6_10Tone +create TSanimmmf MMFPlugin +MMFPlugin SetupFinished +MMFPlugin TestLoadGsm6_10Tone +MMFPlugin Teardown +delete MMFPlugin +[Endtest] + + +[Test] +title TestLoadNoMemory +create TSanimmmf MMFPlugin +MMFPlugin SetupFinished +MMFPlugin TestLoadNoMemory +MMFPlugin Teardown +delete MMFPlugin +[Endtest] + +[Test] +title TestStartBeforeLoad +create TSanimmmf MMFPlugin +MMFPlugin SetupObj +MMFPlugin TestStartBeforeLoad +MMFPlugin Teardown +delete MMFPlugin +[Endtest] + + +[Test] +title TestSetVolumeRamp +create TSanimmmf MMFPlugin +MMFPlugin SetupObj +MMFPlugin TestSetVolumeRamp +MMFPlugin Teardown +delete MMFPlugin +[Endtest] + + + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmmf/eabi/TSanimmmfpluginu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmmf/eabi/TSanimmmfpluginu.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,3 @@ +EXPORTS + _Z9LibEntryLR13CTestModuleIf @ 1 NONAME + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmmf/group/TSanimmmf.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmmf/group/TSanimmmf.iby Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,10 @@ +#ifndef __TSANIMMMF_IBY__ +#define __TSANIMMMF_IBY__ + +file=ABI_DIR\BUILD_DIR\TSanimmmf.dll                      SHARED_LIB_DIR\TSanimmmf.dll + +//data=\epoc32\data\z\system\data\TestFramework.ini             \testframework\TestFramework.ini +data=\epoc32\data\z\system\data\TSanimmmf.cfg                      \testframework\TSanimmmf.cfg + + +#endif \ No newline at end of file diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmmf/group/TSanimmmf.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmmf/group/TSanimmmf.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,88 @@ +/*TYPE TESTCLASS*/ +/* +* 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: MMP file for STIF Test Framework's TestScripter +* testclass test module. +* +*/ + +#include + +SMPSAFE + +TARGET TSanimmmf.dll +TARGETTYPE dll +UID 0x1000008D 0x101FB3E3 + +CAPABILITY ALL -TCB +/* Remove comments and replace 0x00000000 with correct vendor id */ +// VENDORID 0x00000000 +/* Remove comments and replace 0x00000000 with correct secure id */ +// SECUREID 0x00000000 + +//TARGETPATH ?target_path +DEFFILE TSanimmmfplugin.def + +USERINCLUDE ../inc + +OS_LAYER_SYSTEMINCLUDE + +SOURCEPATH ../src + + + +SOURCE TSanimmmfPlugin.cpp +SOURCE TSanimmmfPluginBlocks.cpp +SOURCE testWaiter.cpp + +USERINCLUDE ../inc +USERINCLUDE ../../inc +USERINCLUDE ../../../../../../inc +USERINCLUDE ../../../../sanimengine/inc + +LIBRARY euser.lib +LIBRARY stiftestinterface.lib +LIBRARY stiftestengine.lib +LIBRARY ecom.lib +LIBRARY efsrv.lib +LIBRARY sanimengine.lib + + + +EPOCALLOWDLLDATA +LANG SC + +/* +START WINS +?wins_specific_information +END + +START MARM +?marm_specific_information +END +*/ +// Other possible keywords: + +// DOCUMENT ?file, that is not compiled, but added to MSVC project workspace (i.e. release notes) +/* +START BITMAP ?target +TARGETPATH ?emulated_path_on_target_machine +HEADER +SOURCE ?color_depth ?source_bitmap +END +*/ +// DEFFILE ?filename +// AIF ?filename + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmmf/group/TSanimmmfplugin.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmmf/group/TSanimmmfplugin.pkg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,60 @@ +; +; 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: +; +; Installation file for STIF +; + +; Languages +&EN + +; Provide value for uid +#{"STIF"},(0x00000000),1,1,0,TYPE=SA + +; Series60 product id for S60 3.0 +[0x101F7961], 0, 0, 0, {"Series60ProductID"} + +; Localised Vendor name +%{"Nokia"} + +; Unique Vendor name +:"Nokia" + +; Logo +; None + +; Package signature - Optional +; None + +; Start of Package body + +; Condition blocks +; None + +; Options list +; None + +; Install files +"\epoc32\release\armv5\udeb\TSanimmmfplugin.dll" - "!:\Sys\Bin\TSanimmmfplugin.dll" + +; Embedded SIS +; None + +; End of Package body + +; PKG dependencies +; None + +; PKG capabilities +; None diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmmf/group/TSanimmmfplugin_DoxyFile.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmmf/group/TSanimmmfplugin_DoxyFile.txt Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,240 @@ +# +# 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: +# +# + +# Doxyfile 1.4.1 + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = TSanimmmfplugin +PROJECT_NUMBER = +OUTPUT_DIRECTORY = x:\TSanimmmfplugin\ +CREATE_SUBDIRS = NO +OUTPUT_LANGUAGE = English +USE_WINDOWS_ENCODING = YES +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ABBREVIATE_BRIEF = +ALWAYS_DETAILED_SEC = NO +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +STRIP_FROM_INC_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = NO +MULTILINE_CPP_IS_BRIEF = NO +DETAILS_AT_TOP = NO +INHERIT_DOCS = YES +DISTRIBUTE_GROUP_DOC = NO +TAB_SIZE = 8 +ALIASES = +OPTIMIZE_OUTPUT_FOR_C = YES +OPTIMIZE_OUTPUT_JAVA = NO +SUBGROUPING = YES +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- +EXTRACT_ALL = YES +EXTRACT_PRIVATE = NO +EXTRACT_STATIC = NO +EXTRACT_LOCAL_CLASSES = NO +EXTRACT_LOCAL_METHODS = NO +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +HIDE_FRIEND_COMPOUNDS = NO +HIDE_IN_BODY_DOCS = NO +INTERNAL_DOCS = YES +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +SHOW_INCLUDE_FILES = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +SORT_BRIEF_DOCS = NO +SORT_BY_SCOPE_NAME = NO +GENERATE_TODOLIST = NO +GENERATE_TESTLIST = NO +GENERATE_BUGLIST = NO +GENERATE_DEPRECATEDLIST= YES +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +SHOW_USED_FILES = YES +SHOW_DIRECTORIES = YES +FILE_VERSION_FILTER = +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- +QUIET = NO +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES +WARN_IF_DOC_ERROR = YES +WARN_NO_PARAMDOC = NO +WARN_FORMAT = "$file:$line: $text" +WARN_LOGFILE = +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = x:\TSanimmmfplugin\ +FILE_PATTERNS = *.h \ + *.rh \ + *.hrh +RECURSIVE = YES +EXCLUDE = +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +EXAMPLE_RECURSIVE = NO +IMAGE_PATH = +INPUT_FILTER = +FILTER_PATTERNS = +FILTER_SOURCE_FILES = NO +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- +SOURCE_BROWSER = NO +INLINE_SOURCES = NO +STRIP_CODE_COMMENTS = YES +REFERENCED_BY_RELATION = YES +REFERENCES_RELATION = YES +VERBATIM_HEADERS = YES +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- +ALPHABETICAL_INDEX = NO +COLS_IN_ALPHA_INDEX = 5 +IGNORE_PREFIX = +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- +GENERATE_HTML = NO +HTML_OUTPUT = html +HTML_FILE_EXTENSION = .html +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = YES +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +BINARY_TOC = YES +TOC_EXPAND = YES +DISABLE_INDEX = YES +ENUM_VALUES_PER_LINE = 4 +GENERATE_TREEVIEW = YES +TREEVIEW_WIDTH = 250 +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +LATEX_CMD_NAME = latex +MAKEINDEX_CMD_NAME = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +USE_PDFLATEX = NO +LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- +GENERATE_RTF = YES +RTF_OUTPUT = Doc +COMPACT_RTF = YES +RTF_HYPERLINKS = YES +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_LINKS = NO +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- +GENERATE_XML = NO +XML_OUTPUT = xml +XML_SCHEMA = +XML_DTD = +XML_PROGRAMLISTING = YES +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- +GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- +GENERATE_PERLMOD = NO +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = YES +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = NONSHARABLE_CLASS +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- +TAGFILES = +GENERATE_TAGFILE = +ALLEXTERNALS = NO +EXTERNAL_GROUPS = YES +PERL_PATH = /usr/bin/perl +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- +CLASS_DIAGRAMS = YES +HIDE_UNDOC_RELATIONS = YES +HAVE_DOT = NO +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +GROUP_GRAPHS = YES +UML_LOOK = NO +TEMPLATE_RELATIONS = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +CALL_GRAPH = NO +GRAPHICAL_HIERARCHY = YES +DIRECTORY_GRAPH = YES +DOT_IMAGE_FORMAT = png +DOT_PATH = +DOTFILE_DIRS = +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 +MAX_DOT_GRAPH_DEPTH = 0 +DOT_TRANSPARENT = NO +DOT_MULTI_TARGETS = NO +GENERATE_LEGEND = YES +DOT_CLEANUP = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- +SEARCHENGINE = NO diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmmf/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmmf/group/bld.inf Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,60 @@ +/* +* 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: +* +*/ + +PRJ_PLATFORMS +// specify the platforms your component needs to be built for here +// defaults to WINS MARM so you can ignore this if you just build these + + DEFAULT + +PRJ_TESTEXPORTS +// NOTE: If using ARS requirements all export operations should be done under this. +// 'abld test export' + +PRJ_EXPORTS +// Specify the source file followed by its destination here +// copy will be used to copy the source file to its destination +// If there's no destination then the source file will be copied +// to the same name in \epoc32\include +// Example: +/* +\agnmodel\inc\AGMCOMON.H +*/ + +PRJ_TESTMMPFILES + + TSanimmmf.mmp + +PRJ_MMPFILES + + TSanimmmf.mmp + +// Specify the .mmp files required for building the important component +// releasables. +// +// Specify "tidy" if the component you need to build doesn't need to be +// released. Specify "ignore" if the MMP file exists but should be +// ignored. +// Example: +/* +\agnmodel\group\agnmodel.mmp +#if defined(MARM) +\agnmodel\group\agsvexe.mmp +#endif +*/ + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmmf/inc/TSanimmmfplugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmmf/inc/TSanimmmfplugin.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,226 @@ +/* +* 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: STIF testclass declaration +* +*/ + +#ifndef TSANIMMMFPLUGIN_H +#define TSANIMMMFPLUGIN_H + +// INCLUDES +#include +#include +#include +#include + +// Praveen +#include +#include + +class CSAnimTonePlugin; +class CTestWaiter; +// Praveen +// CONSTANTS +//const ?type ?constant_var = ?constant; + +// MACROS +//#define ?macro ?macro_def +#define TEST_CLASS_VERSION_MAJOR 0 +#define TEST_CLASS_VERSION_MINOR 0 +#define TEST_CLASS_VERSION_BUILD 0 + +// Logging path +_LIT( KTSanimmmfpluginLogPath, "\\logs\\testframework\\TSanimmmfplugin\\" ); +// Log file +_LIT( KTSanimmmfpluginLogFile, "TSanimmmfplugin.txt" ); +_LIT( KTSanimmmfpluginLogFileWithTitle, "TSanimmmfplugin_[%S].txt" ); + +// FUNCTION PROTOTYPES +//?type ?function_name(?arg_list); + +// FORWARD DECLARATIONS +//class ?FORWARD_CLASSNAME; +class CTSanimmmfplugin; + +// DATA TYPES +//enum ?declaration +//typedef ?declaration +//extern ?data_type; + +// CLASS DECLARATION + +/** +* CTSanimmmfplugin test class for STIF Test Framework TestScripter. +* ?other_description_lines +* +* @lib ?library +* @since ?Series60_version +*/ +NONSHARABLE_CLASS(CTSanimmmfplugin) : public CScriptBase + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + */ + static CTSanimmmfplugin* NewL( CTestModuleIf& aTestModuleIf ); + + /** + * Destructor. + */ + virtual ~CTSanimmmfplugin(); + + public: // New functions + + /** + * ?member_description. + * @since ?Series60_version + * @param ?arg1 ?description + * @return ?description + */ + //?type ?member_function( ?type ?arg1 ); + + public: // Functions from base classes + + /** + * From CScriptBase Runs a script line. + * @since ?Series60_version + * @param aItem Script line containing method name and parameters + * @return Symbian OS error code + */ + virtual TInt RunMethodL( CStifItemParser& aItem ); + + protected: // New functions + + /** + * ?member_description. + * @since ?Series60_version + * @param ?arg1 ?description + * @return ?description + */ + //?type ?member_function( ?type ?arg1 ); + + protected: // Functions from base classes + + /** + * From ?base_class ?member_description + */ + //?type ?member_function(); + + private: + + /** + * C++ default constructor. + */ + CTSanimmmfplugin( CTestModuleIf& aTestModuleIf ); + + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL(); + + // Prohibit copy constructor if not deriving from CBase. + // ?classname( const ?classname& ); + // Prohibit assigment operator if not deriving from CBase. + // ?classname& operator=( const ?classname& ); + + /** + * Frees all resources allocated from test methods. + * @since ?Series60_version + */ + void Delete(); + + /** + * Test methods are listed below. + */ + + /** + * Example test method. + * @since ?Series60_version + * @param aItem Script line containing parameters. + * @return Symbian OS error code. + */ + virtual TInt ExampleL( CStifItemParser& aItem ); + + /** + * Method used to log version of test class + */ + void SendTestClassVersion(); + + //ADD NEW METHOD DEC HERE + //[TestMethods] - Do not remove + + TInt SetupEmptyL(); + TInt SetupObjL(); + TInt SetupFileL( const TDesC& aFileName ); + TInt Setup8bitMonoToneL(); + TInt Setup16bitMonoToneL(); + TInt SetupGsm6_10ToneL(); + TInt SetupFinishedL(); + TInt Teardown(); + + TInt TestConstructorL(); + TInt TestConstructorNoMemoryL(); + TInt TestUnknownFileL(); + TInt TestCorruptFileL(); + TInt TestLoad8bitMonoToneL(); + TInt TestLoad16bitMonoToneL(); + TInt TestLoadGsm6_10ToneL(); + TInt TestLoadNoMemoryL(); + TInt TestCancelLoadL(); + TInt TestStartL(); + TInt TestCancelStartL(); + TInt TestCancelNotActiveL(); + TInt TestStartBeforeLoadL(); + TInt TestSetVolumeL(); + TInt TestSetVolumeRampL(); + public: // Data + // ?one_line_short_description_of_data + //?data_declaration; + + protected: // Data + // ?one_line_short_description_of_data + //?data_declaration; + + private: // Data + + // ?one_line_short_description_of_data + //?data_declaration; + + // Reserved pointer for future extension + //TAny* iReserved; + + public: // Friend classes + //?friend_class_declaration; + protected: // Friend classes + //?friend_class_declaration; + private: // Friend classes + //?friend_class_declaration; + + /** File server session used in testing. */ + RFs iFs; + + /** Instance of the class that this test suite is testing. */ + CSAnimTonePlugin* iTestObj; + + /** A 32 bit identifer returned by ECom to identify this instance to the framework. */ + TUid iDtorKey; + + /** For testing async calls. */ + CTestWaiter* iWaiter; + }; + +#endif // TSANIMMMFPLUGIN_H + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmmf/inc/testwaiter.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmmf/inc/testwaiter.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,88 @@ +/* +* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Symbian Foundation License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Declaration of CTestWaiter class +* +*/ + + +#ifndef TESTWAITER_H +#define TESTWAITER_H + +#include + +/** +* Stops active scheduler in RunL. +* +* @lib None +* @since S60 3.2 +*/ +class CTestWaiter : public CActive + { + +public: + + /** + * Constructs a CTestWaiter object. + * + * @return The new object + * @since S60 3.2 + */ + static CTestWaiter* NewL(); + + /** + * Destructor. + * + * @since S60 3.2 + */ + virtual ~CTestWaiter(); + + /** + * Set active. + * + * @since S60 3.2 + */ + void Activate(); + +protected: + + /** + * From CActive. + * Implements cancellation of an outstanding request. + * + * @since S60 3.2 + */ + virtual void DoCancel(); + + /** + * From CActive. + * Handles an active object's request completion event. + * Never leaves. + * + * @since S60 3.2 + */ + virtual void RunL(); + +private: + + /** + * First phase constructor. + * + */ + CTestWaiter(); + +private: // data + + }; + +#endif // TESTWAITER_H diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmmf/init/TestFramework.ini --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmmf/init/TestFramework.ini Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,221 @@ +# +# This is STIF initialization file +# Comment lines start with '#'-character. +# See STIF TestFramework users guide.doc for instructions + +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +# Set following test engine settings: +# - Set Test Reporting mode. TestReportMode's possible values are: +# + 'Summary': Summary of the tested test cases. +# + 'Environment': Hardware and software info. +# + 'TestCases': Test case report. +# + 'FullReport': Set of all above ones. +# + Example 'TestReportMode= Summary TestCases' +# +# - CreateTestReport setting controls report creation mode +# + YES, Test report will created. +# + NO, No Test report. +# +# - File path indicates the base path of the test report. +# - File name indicates the name of the test report. +# +# - File format indicates the type of the test report. +# + TXT, Test report file will be txt type, for example 'TestReport.txt'. +# + HTML, Test report will be html type, for example 'TestReport.html'. +# + XML, Test report will be xml type, for example 'TestReport.xml'. +# Note, that xml format is available only when output is set to FILE. +# +# - File output indicates output source of the test report. +# + FILE, Test report logging to file. +# + RDEBUG, Test report logging to using rdebug. +# +# - File Creation Mode indicates test report overwriting if file exist. +# + OVERWRITE, Overwrites if the Test report file exist. +# + APPEND, Continue logging after the old Test report information if +# report exist. +# - Sets a device reset module's dll name(Reboot). +# + If Nokia specific reset module is not available or it is not correct one +# StifHWResetStub module may use as a template for user specific reset +# module. +# - Sets STIF test measurement disable options. e.g. pluging1 and pluging2 disablation +# DisableMeasurement= stifmeasurementplugin01 stifmeasurementplugin02 +# + +[Engine_Defaults] + +TestReportMode= FullReport # Possible values are: 'Empty', 'Summary', 'Environment', + # 'TestCases' or 'FullReport' + +CreateTestReport= YES # Possible values: YES or NO + +TestReportFilePath= C:\LOGS\TestFramework\ +TestReportFileName= TestReport + +TestReportFormat= TXT # Possible values: TXT, HTML or XML +TestReportOutput= FILE # Possible values: FILE or RDEBUG +TestReportFileCreationMode= OVERWRITE # Possible values: OVERWRITE or APPEND + +DeviceResetDllName= StifResetForNokia.dll # e.g. 'StifHWResetStub.dll' for user specific reseting + +DisableMeasurement= stifmeasurementdisablenone # Possible values are: + # 'stifmeasurementdisablenone', 'stifmeasurementdisableall' + # 'stifmeasurementplugin01', 'stifmeasurementplugin02', + # 'stifmeasurementplugin03', 'stifmeasurementplugin04', + # 'stifmeasurementplugin05' or 'stifbappeaprofiler' + +Timeout= 0 # Default timeout value for each test case. In milliseconds +UITestingSupport= YES # Possible values: YES or NO +#SeparateProcesses= YES # Possible values: YES or NO (default: NO) +[End_Defaults] + +[New_Module] +ModuleName= testscripter +TestCaseFile= c:\testframework\TSanimmmfplugin.cfg +[End_Module] + + +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + + + +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +# Module configurations start +# Modules are added between module tags +# tags. Module name is specified after ModuleName= tag, like +# ModuleName= XXXXXXXXX +# Modules might have initialisation file, specified as +# IniFile= c:\testframework\YYYYYY +# Modules might have several configuration files, like +# TestCaseFile= c:\testframework\NormalCases.txt +# TestCaseFile= c:\testframework\SmokeCases.txt +# TestCaseFile= c:\testframework\ManualCases.txt + +# (TestCaseFile is synonym for old term ConfigFile) + +# Following case specifies demo module settings. Demo module +# does not read any settings from file, so tags +# IniFile and TestCaseFile are not used. +# In the simplest case it is enough to specify only the +# name of the test module when adding new test module + + + +# Load testmoduleXXX, optionally with initialization file and/or test case files +#[New_Module] +#ModuleName= testmodulexxx + +#TestModuleXXX used initialization file +#IniFile= c:\testframework\init.txt + +#TestModuleXXX used configuration file(s) +#TestCaseFile= c:\testframework\testcases1.cfg +#TestCaseFile= c:\testframework\testcases2.cfg +#TestCaseFile= c:\testframework\manualtestcases.cfg + +#[End_Module] +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + + + +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +# Set STIF logging overwrite parameters for Logger. +# Hardware and emulator environment logging path and styles can +# be configured from here to overwrite the Logger's implemented values. +# +# Settings description: +# - Indicates option for creation log directory/directories. If log directory/directories +# is/are not created by user they will make by software. +# + YES, Create log directory/directories if not allready exist. +# + NO, Log directory/directories not created. Only created one is used. +# +# - Overwrite emulator path setting. +# + Example: If 'EmulatorBasePath= C:\LOGS\TestFramework\' and in code is defined +# Logger's path 'D:\\LOGS\\Module\\' with those definition the path +# will be 'C:\LOGS\TestFramework\LOGS\Module\' +# +# - Overwrite emulator's logging format. +# + TXT, Log file(s) will be txt type(s), for example 'Module.txt'. +# + HTML, Log file(s) will be html type(s), for example 'Module.html'. +# +# - Overwrited emulator logging output source. +# + FILE, Logging to file(s). +# + RDEBUG, Logging to using rdebug(s). +# +# - Overwrite hardware path setting (Same description as above in emulator path). +# - Overwrite hardware's logging format(Same description as above in emulator format). +# - Overwrite hardware's logging output source(Same description as above in emulator output). +# +# - File Creation Mode indicates file overwriting if file exist. +# + OVERWRITE, Overwrites if file(s) exist. +# + APPEND, Continue logging after the old logging information if file(s) exist. +# +# - Will thread id include to the log filename. +# + YES, Thread id to log file(s) name, Example filename 'Module_b9.txt'. +# + NO, No thread id to log file(s), Example filename 'Module.txt'. +# +# - Will time stamps include the to log file. +# + YES, Time stamp added to each line in log file(s). Time stamp is +# for example'12.Nov.2003 115958 LOGGING INFO' +# + NO, No time stamp(s). +# +# - Will line breaks include to the log file. +# + YES, Each logging event includes line break and next log event is in own line. +# + NO, No line break(s). +# +# - Will event ranking include to the log file. +# + YES, Event ranking number added to each line in log file(s). Ranking number +# depends on environment's tics, for example(includes time stamp also) +# '012 12.Nov.2003 115958 LOGGING INFO' +# + NO, No event ranking. +# +# - Will write log file in unicode format. +# + YES, Log file will be written in unicode format +# + NO, Log will be written as normal, not unicode, file. +# + +[Logger_Defaults] + +#NOTE: If you want to set Logger using next setting(s) remove comment(s)'#' +#NOTE: TestEngine and TestServer logging settings cannot change here + +#CreateLogDirectories= YES # Possible values: YES or NO + +#EmulatorBasePath= C:\LOGS\TestFramework\ +#EmulatorFormat= HTML # Possible values: TXT or HTML +#EmulatorOutput= FILE # Possible values: FILE or RDEBUG + +#HardwareBasePath= D:\LOGS\TestFramework\ +#HardwareFormat= HTML # Possible values: TXT or HTML +#HardwareOutput= FILE # Possible values: FILE or RDEBUG + +#FileCreationMode= OVERWRITE # Possible values: OVERWRITE or APPEND + +#ThreadIdToLogFile= YES # Possible values: YES or NO +#WithTimeStamp= YES # Possible values: YES or NO +#WithLineBreak= YES # Possible values: YES or NO +#WithEventRanking= YES # Possible values: YES or NO + +#FileUnicode= YES # Possible values: YES or NO +#AddTestCaseTitle= YES # Possible values: YES or NO +[End_Logger_Defaults] +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + + + +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +# Set filters to be used by ConsoleUI. +# If you want to use filter with ConsoleUI, simply remove comments +# from section below and provide valid filter entries. +# Each filter line has to start with "filter= " keyword. +# Filter can contain special wildcard characters: +# * which stands for none or any literal; +# ? which stands for single character. +# Filters are not case-sensitive. + +#[Filters] +#filter= *math* +#filter= *radio* +#[End_Filters] +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + +# End of file diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmmf/rom/TSanimmmf.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmmf/rom/TSanimmmf.iby Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,10 @@ +#ifndef __TSANIMMMF_IBY__ +#define __TSANIMMMF_IBY__ + +file=ABI_DIR\BUILD_DIR\TSanimmmf.dll SHARED_LIB_DIR\TSanimmmf.dll + +//data=\epoc32\data\z\system\data\TestFramework.ini             \testframework\TestFramework.ini +data=\epoc32\data\z\system\data\TSanimmmf.cfg \testframework\TSanimmmf.cfg + + +#endif \ No newline at end of file diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmmf/src/TSanimmmfplugin.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmmf/src/TSanimmmfplugin.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,198 @@ +/* +* 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: This file contains testclass implementation. +* +*/ + +// INCLUDE FILES +#include +#include "TSanimmmfplugin.h" +#include + +// EXTERNAL DATA STRUCTURES +//extern ?external_data; + +// EXTERNAL FUNCTION PROTOTYPES +//extern ?external_function( ?arg_type,?arg_type ); + +// CONSTANTS +//const ?type ?constant_var = ?constant; + +// MACROS +//#define ?macro ?macro_def + +// LOCAL CONSTANTS AND MACROS +//const ?type ?constant_var = ?constant; +//#define ?macro_name ?macro_def + +// MODULE DATA STRUCTURES +//enum ?declaration +//typedef ?declaration + +// LOCAL FUNCTION PROTOTYPES +//?type ?function_name( ?arg_type, ?arg_type ); + +// FORWARD DECLARATIONS +//class ?FORWARD_CLASSNAME; + +// ============================= LOCAL FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// ?function_name ?description. +// ?description +// Returns: ?value_1: ?description +// ?value_n: ?description_line1 +// ?description_line2 +// ----------------------------------------------------------------------------- +// +/* +?type ?function_name( + ?arg_type arg, // ?description + ?arg_type arg) // ?description + { + + ?code // ?comment + + // ?comment + ?code + } +*/ + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CTSanimmmfplugin::CTSanimmmfplugin +// C++ default constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +// +CTSanimmmfplugin::CTSanimmmfplugin( + CTestModuleIf& aTestModuleIf ): + CScriptBase( aTestModuleIf ) + { + } + +// ----------------------------------------------------------------------------- +// CTSanimmmfplugin::ConstructL +// Symbian 2nd phase constructor can leave. +// ----------------------------------------------------------------------------- +// +void CTSanimmmfplugin::ConstructL() + { + //Read logger settings to check whether test case name is to be + //appended to log file name. + RSettingServer settingServer; + TInt ret = settingServer.Connect(); + if(ret != KErrNone) + { + User::Leave(ret); + } + // Struct to StifLogger settigs. + TLoggerSettings loggerSettings; + // Parse StifLogger defaults from STIF initialization file. + ret = settingServer.GetLoggerSettings(loggerSettings); + if(ret != KErrNone) + { + User::Leave(ret); + } + // Close Setting server session + settingServer.Close(); + + TFileName logFileName; + + if(loggerSettings.iAddTestCaseTitle) + { + TName title; + TestModuleIf().GetTestCaseTitleL(title); + logFileName.Format(KTSanimmmfpluginLogFileWithTitle, &title); + } + else + { + logFileName.Copy(KTSanimmmfpluginLogFile); + } + + iLog = CStifLogger::NewL( KTSanimmmfpluginLogPath, + logFileName, + CStifLogger::ETxt, + CStifLogger::EFile, + EFalse ); + + SendTestClassVersion(); + } + +// ----------------------------------------------------------------------------- +// CTSanimmmfplugin::NewL +// Two-phased constructor. +// ----------------------------------------------------------------------------- +// +CTSanimmmfplugin* CTSanimmmfplugin::NewL( + CTestModuleIf& aTestModuleIf ) + { + CTSanimmmfplugin* self = new (ELeave) CTSanimmmfplugin( aTestModuleIf ); + + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop(); + + return self; + + } + +// Destructor +CTSanimmmfplugin::~CTSanimmmfplugin() + { + + // Delete resources allocated from test methods + Delete(); + + // Delete logger + delete iLog; + + } + +//----------------------------------------------------------------------------- +// CTSanimmmfplugin::SendTestClassVersion +// Method used to send version of test class +//----------------------------------------------------------------------------- +// +void CTSanimmmfplugin::SendTestClassVersion() + { + TVersion moduleVersion; + moduleVersion.iMajor = TEST_CLASS_VERSION_MAJOR; + moduleVersion.iMinor = TEST_CLASS_VERSION_MINOR; + moduleVersion.iBuild = TEST_CLASS_VERSION_BUILD; + + TFileName moduleName; + moduleName = _L("TSanimmmfplugin.dll"); + + TBool newVersionOfMethod = ETrue; + TestModuleIf().SendTestModuleVersion(moduleVersion, moduleName, newVersionOfMethod); + } + +// ========================== OTHER EXPORTED FUNCTIONS ========================= + +// ----------------------------------------------------------------------------- +// LibEntryL is a polymorphic Dll entry point. +// Returns: CScriptBase: New CScriptBase derived object +// ----------------------------------------------------------------------------- +// +EXPORT_C CScriptBase* LibEntryL( + CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework + { + + return ( CScriptBase* ) CTSanimmmfplugin::NewL( aTestModuleIf ); + + } + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmmf/src/TSanimmmfpluginBlocks.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmmf/src/TSanimmmfpluginBlocks.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,581 @@ +/* +* 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: This file contains testclass implementation. +* +*/ + +// [INCLUDE FILES] - do not remove +#include +#include +#include +#include "TSanimmmfplugin.h" + + +// Praveen +#include "sanimtoneplugin.h" +#include "testwaiter.h" + +#include + +const TInt KSAnimMmfPluginImplUid = 0x2000B120; + +_LIT( KUnknownFile, "C:\\temp\\unknown.wav" ); +_LIT( KCorruptFile, "C:\\temp\\corrupt.wav" ); +_LIT( K8bitMonoFile, "C:\\temp\\sine-8bit-mono.wav" ); +_LIT( K16bitMonoFile, "C:\\temp\\sine-16bit-mono.wav" ); +_LIT( KGsm6_10File, "C:\\temp\\sine-gsm-6-10.wav" ); +// EXTERNAL DATA STRUCTURES +//extern ?external_data; + +// EXTERNAL FUNCTION PROTOTYPES +//extern ?external_function( ?arg_type,?arg_type ); + +// CONSTANTS +//const ?type ?constant_var = ?constant; + +// MACROS +//#define ?macro ?macro_def + +// LOCAL CONSTANTS AND MACROS +//const ?type ?constant_var = ?constant; +//#define ?macro_name ?macro_def + +// MODULE DATA STRUCTURES +//enum ?declaration +//typedef ?declaration + +// LOCAL FUNCTION PROTOTYPES +//?type ?function_name( ?arg_type, ?arg_type ); + +// FORWARD DECLARATIONS +//class ?FORWARD_CLASSNAME; + +// ============================= LOCAL FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// ?function_name ?description. +// ?description +// Returns: ?value_1: ?description +// ?value_n: ?description_line1 +// ?description_line2 +// ----------------------------------------------------------------------------- +// +/* +?type ?function_name( + ?arg_type arg, // ?description + ?arg_type arg) // ?description + { + + ?code // ?comment + + // ?comment + ?code + } +*/ + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CTSanimmmfplugin::Delete +// Delete here all resources allocated and opened from test methods. +// Called from destructor. +// ----------------------------------------------------------------------------- +// +void CTSanimmmfplugin::Delete() + { + + } + +// ----------------------------------------------------------------------------- +// CTSanimmmfplugin::RunMethodL +// Run specified method. Contains also table of test mothods and their names. +// ----------------------------------------------------------------------------- +// +TInt CTSanimmmfplugin::RunMethodL( + CStifItemParser& aItem ) + { + + static TStifFunctionInfo const KFunctions[] = + { + // Copy this line for every implemented function. + // First string is the function name used in TestScripter script file. + // Second is the actual implementation member function. + ENTRY( "Example", CTSanimmmfplugin::ExampleL ), + ENTRY( "SetupEmpty", CTSanimmmfplugin::SetupEmptyL), + ENTRY( "SetupObj", CTSanimmmfplugin::SetupObjL), + //ENTRY( "SetupFile", CTSanimmmfplugin::SetupFileL), + ENTRY( "Setup8bitMonoTone", CTSanimmmfplugin::Setup8bitMonoToneL), + ENTRY( "Setup16bitMonoTone", CTSanimmmfplugin::Setup16bitMonoToneL), + ENTRY( "SetupGsm6_10Tone", CTSanimmmfplugin::SetupGsm6_10ToneL), + ENTRY( "SetupFinished", CTSanimmmfplugin::SetupFinishedL), + ENTRY( "Teardown", CTSanimmmfplugin::Teardown), + ENTRY( "TestConstructor", CTSanimmmfplugin::TestConstructorL), + ENTRY( "TestConstructorNoMemory", CTSanimmmfplugin::TestConstructorNoMemoryL), + ENTRY( "TestUnknownFile", CTSanimmmfplugin::TestUnknownFileL), + ENTRY( "TestCorruptFile", CTSanimmmfplugin::TestCorruptFileL), + ENTRY( "TestLoad8bitMonoTone", CTSanimmmfplugin::TestLoad8bitMonoToneL), + ENTRY( "TestLoad16bitMonoTone", CTSanimmmfplugin::TestLoad16bitMonoToneL), + ENTRY( "TestLoadGsm6_10Tone", CTSanimmmfplugin::TestLoadGsm6_10ToneL), + ENTRY( "TestLoadNoMemory", CTSanimmmfplugin::TestLoadNoMemoryL), + ENTRY( "TestCancelLoad", CTSanimmmfplugin::TestCancelLoadL), + ENTRY( "TestStart", CTSanimmmfplugin::TestStartL), + ENTRY( "TestCancelStart", CTSanimmmfplugin::TestCancelStartL), + ENTRY( "TestCancelNotActive", CTSanimmmfplugin::TestCancelNotActiveL), + ENTRY( "TestStartBeforeLoad", CTSanimmmfplugin::TestStartBeforeLoadL), + ENTRY( "TestSetVolume", CTSanimmmfplugin::TestSetVolumeL), + ENTRY( "TestSetVolumeRamp", CTSanimmmfplugin::TestSetVolumeRampL) + //ADD NEW ENTRY HERE + // [test cases entries] - Do not remove + + }; + + const TInt count = sizeof( KFunctions ) / + sizeof( TStifFunctionInfo ); + + return RunInternalL( KFunctions, count, aItem ); + + } + + +/* +void CTSanimmmfplugin::ConstructL() + { + REComSession::FinalClose(); + // The ConstructL from the base class CEUnitTestSuiteClass must be called. + // It generates the test case table. + //CEUnitTestSuiteClass::ConstructL(); + + } +*/ + +// --------------------------------------------------------------------------- +// CTSanimmmfplugin::SetupEmptyL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmmfplugin::SetupEmptyL() + { + iTestObj = NULL; + iDtorKey = TUid::Uid( 0 ); + User::LeaveIfError( iFs.Connect() ); + User::LeaveIfError( iFs.ShareProtected() ); + iWaiter = CTestWaiter::NewL(); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimmmfPlugin::SetupObjL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmmfplugin::SetupObjL() + { + + SetupEmptyL(); + iTestObj = static_cast( + REComSession::CreateImplementationL( + TUid::Uid( KSAnimMmfPluginImplUid ), iDtorKey ) ); + return KErrNone; + } +// --------------------------------------------------------------------------- +// CSAnimMmfpluginTestSuite::SetupFileL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmmfplugin::SetupFileL( const TDesC& aFileName ) + { + //CStifItemParser aItem; + SetupObjL(); + iTestObj->Load( iFs, aFileName, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimmmfplugin::Setup8bitMonoToneL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmmfplugin::Setup8bitMonoToneL() + { + /* + [Test] + title Setup8bitMonotone + create TSanimmmf MMFPlugin + MMFPlugin Setup8bitMonotone + delete MMFPlugin + [Endtest] + */ + // 8 bit Mono is not supported ?? + SetupFileL( K8bitMonoFile ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimmmfPlugin::Setup16bitMonoToneL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmmfplugin::Setup16bitMonoToneL() + { + SetupFileL( K16bitMonoFile ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimmmfplugin::SetupGsm6_10ToneL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmmfplugin::SetupGsm6_10ToneL() + { + SetupFileL( KGsm6_10File ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimmmfplugin::SetupFinishedL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmmfplugin::SetupFinishedL() + { + Setup16bitMonoToneL(); + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimmmfplugin::Teardown +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmmfplugin::Teardown() + { + delete iTestObj; + iTestObj = NULL; + + REComSession::DestroyedImplementation( iDtorKey ); + + delete iWaiter; + iWaiter = NULL; + + iFs.Close(); + + REComSession::FinalClose(); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimmmfPlugin::TestConstructorL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmmfplugin::TestConstructorL() + { + TAny* ptr = NULL; + // EUNIT_ASSERT_NO_LEAVE( ptr = REComSession::CreateImplementationL( + // TUid::Uid( KSAnimMmfPluginImplUid ), iDtorKey ) ); + ptr = REComSession::CreateImplementationL(TUid::Uid( KSAnimMmfPluginImplUid ), iDtorKey ); + + iTestObj = static_cast( ptr ); + // EUNIT_ASSERT( iTestObj ); + delete iTestObj; + iTestObj = NULL; + return KErrNone; + } + +// --------------------------------------------------------------------------- +// CTSanimmmfplugin::TestConstructorNoMemoryL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmmfplugin::TestConstructorNoMemoryL() + { + TAny* ptr = NULL; + //EUNIT_ASSERT_SPECIFIC_LEAVE( ptr = REComSession::CreateImplementationL( + // TUid::Uid( KSAnimMmfPluginImplUid ), iDtorKey ), KErrNoMemory ); + ptr = REComSession::CreateImplementationL(TUid::Uid( KSAnimMmfPluginImplUid ), iDtorKey ); + // EUNIT_ASSERT( !ptr ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimmmfplugin::TestUnknownFileL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmmfplugin::TestUnknownFileL() + { + iTestObj->Load( iFs, KUnknownFile, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int() == KErrNotFound ) + return KErrNone; + return KErrNone; + + } + +// --------------------------------------------------------------------------- +// CTSanimmmfplugin::TestCorruptFileL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmmfplugin::TestCorruptFileL() + { + iTestObj->Load( iFs, KCorruptFile, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int() == KErrNotSupported ) // For some reason, MMF returns KErrNotSupported... + return KErrNone; + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimmmfplugin::TestLoad8bitMonoToneL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmmfplugin::TestLoad8bitMonoToneL() + { + iTestObj->Load( iFs, K8bitMonoFile, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + STIF_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + return KErrNone; + } + +// --------------------------------------------------------------------------- +// CTSanimmmfplugin::TestLoad16bitMonoToneL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmmfplugin::TestLoad16bitMonoToneL() + { + iTestObj->Load( iFs, K16bitMonoFile, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + STIF_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimmmfplugin::TestLoadGsm6_10ToneL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmmfplugin::TestLoadGsm6_10ToneL() + { + iTestObj->Load( iFs, KGsm6_10File, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int() == KErrNone || iWaiter->iStatus.Int() == KErrNotFound ) + return KErrNone; + return KErrNone; + } + +// --------------------------------------------------------------------------- +// CTSanimmmfplugin::TestLoadNoMemoryL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmmfplugin::TestLoadNoMemoryL() + { + iTestObj->Load( iFs, KGsm6_10File, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if (iWaiter->iStatus.Int() == KErrNoMemory || iWaiter->iStatus.Int() == KErrNone || + iWaiter->iStatus.Int() == KErrGeneral ) + return KErrNone; + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimmmfPlugin::TestCancelLoadL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmmfplugin::TestCancelLoadL() + { + iTestObj->Load( iFs, KGsm6_10File, iWaiter->iStatus ); + iWaiter->Activate(); + iTestObj->Cancel(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + STIF_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrCancel ); + return KErrNone; + } + +// --------------------------------------------------------------------------- +// CTSanimmmfplugin::TestStartL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmmfplugin::TestStartL() + { + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + STIF_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimmmfplugin::TestCancelStartL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmmfplugin::TestCancelStartL() + { + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + iTestObj->Cancel(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + STIF_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrCancel ); + return KErrNone; + } +// --------------------------------------------------------------------------- +// CTSanimmmfplugin::TestCancelNotActiveL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmmfplugin::TestCancelNotActiveL() + { + iTestObj->Cancel(); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CTSanimmmfPplugin::TestStartBeforeLoadL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmmfplugin::TestStartBeforeLoadL() + { + // iTestObj->Start( iWaiter->iStatus ); + return KErrNone; + } +// --------------------------------------------------------------------------- +// CTSanimmmfplugin::TestSetVolumeL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmmfplugin::TestSetVolumeL() + { + iTestObj->SetVolume( 1 ); + iTestObj->Load( iFs, KGsm6_10File, iWaiter->iStatus ); + iTestObj->SetVolume( 0 ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + STIF_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + iTestObj->SetVolume( 12 ); + iTestObj->SetVolume( 5 ); + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + STIF_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + iTestObj->SetVolume( 3 ); + return KErrNone; + } +// --------------------------------------------------------------------------- +// CTSanimmmfplugin::TestSetVolumeRampL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimmmfplugin::TestSetVolumeRampL() + { + iTestObj->SetVolumeRamp( 1000000 ); + iTestObj->Load( iFs, KGsm6_10File, iWaiter->iStatus ); + iTestObj->SetVolumeRamp( 0 ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + //EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + iTestObj->SetVolumeRamp( 12000000 ); + iTestObj->SetVolumeRamp( 5000 ); + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + STIF_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + iTestObj->SetVolumeRamp( 300 ); + return KErrNone; + } + +// Praveen +// ----------------------------------------------------------------------------- +// CTSanimmmfplugin::ExampleL +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CTSanimmmfplugin::ExampleL( CStifItemParser& aItem ) + { + + // Print to UI + _LIT( KTSanimmmfplugin, "TSanimmmfplugin" ); + _LIT( KExample, "In Example" ); + TestModuleIf().Printf( 0, KTSanimmmfplugin, KExample ); + // Print to log file + iLog->Log( KExample ); + + TInt i = 0; + TPtrC string; + _LIT( KParam, "Param[%i]: %S" ); + while ( aItem.GetNextString ( string ) == KErrNone ) + { + TestModuleIf().Printf( i, KTSanimmmfplugin, + KParam, i, &string ); + i++; + } + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTSanimmmfplugin::?member_function +// ?implementation_description +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +/* +TInt CTSanimmmfplugin::?member_function( + CItemParser& aItem ) + { + + ?code + + } +*/ + +// ========================== OTHER EXPORTED FUNCTIONS ========================= +// None + +// [End of File] - Do not remove + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/TSanimmmf/src/testwaiter.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/TSanimmmf/src/testwaiter.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,92 @@ +/* +* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Symbian Foundation License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Implementation of CTestWaiter class +* +*/ + + +#include "testwaiter.h" + +#pragma tagging OFF // To disable CodeTest tagging + +// ======== MEMBER FUNCTIONS ======== + +// --------------------------------------------------------------------------- +// CTestWaiter::NewL +// +// --------------------------------------------------------------------------- +// +CTestWaiter* CTestWaiter::NewL() + { + CTestWaiter* self = new( ELeave ) CTestWaiter; + return self; + } + + +// --------------------------------------------------------------------------- +// CTestWaiter::~CTestWaiter +// +// --------------------------------------------------------------------------- +// +CTestWaiter::~CTestWaiter() + { + } + + +// --------------------------------------------------------------------------- +// CTestWaiter::Activate +// +// --------------------------------------------------------------------------- +// +void CTestWaiter::Activate() + { + __ASSERT_ALWAYS( !IsActive(), User::Invariant() ); + + SetActive(); + } + + +// --------------------------------------------------------------------------- +// CTestWaiter::CTestWaiter +// +// --------------------------------------------------------------------------- +// +CTestWaiter::CTestWaiter() + : CActive( EPriorityStandard ) + { + CActiveScheduler::Add( this ); + } + + +// --------------------------------------------------------------------------- +// CTestWaiter::DoCancel +// +// --------------------------------------------------------------------------- +// +void CTestWaiter::DoCancel() + { + } + + +// --------------------------------------------------------------------------- +// CTestWaiter::RunL +// +// --------------------------------------------------------------------------- +// +void CTestWaiter::RunL() + { + CActiveScheduler::Stop(); + } + +#pragma tagging ON // To stop disabling CodeTest tagging diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/Tsanimihl/Bmarm/TsanimihlU.DEF --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/Tsanimihl/Bmarm/TsanimihlU.DEF Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,3 @@ +EXPORTS + LibEntryL__FR13CTestModuleIf @ 1 NONAME R3UNUSED ; LibEntryL(CTestModuleIf &) + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/Tsanimihl/Bwins/Tsanimihlu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/Tsanimihl/Bwins/Tsanimihlu.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,3 @@ +EXPORTS + ?LibEntryL@@YAPAVCScriptBase@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CScriptBase * __cdecl LibEntryL(class CTestModuleIf &) + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/Tsanimihl/conf/UI_Tsanimihl.cfg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/Tsanimihl/conf/UI_Tsanimihl.cfg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,201 @@ + +[Test] +title TestConstructor +create Tsanimihl IHLPlugin +IHLPlugin SetupEmpty +IHLPlugin TestConstructor +IHLPlugin Teardown +delete IHLPlugin +[Endtest] + +[Test] +title ConstructorNoMem +create Tsanimihl IHLPlugin +IHLPlugin SetupEmpty +IHLPlugin TestConstructorNoMemory +IHLPlugin Teardown +delete IHLPlugin +[Endtest] + +[Test] +title LoadingFile(Not Found) +create Tsanimihl IHLPlugin +IHLPlugin SetupObj +IHLPlugin TestUnknownFile +IHLPlugin Teardown +delete IHLPlugin +[Endtest] + +[Test] +title LoadingFile(Corrupt) +create Tsanimihl IHLPlugin +IHLPlugin SetupObj +IHLPlugin TestCorruptFile +IHLPlugin Teardown +delete IHLPlugin +[Endtest] + +[Test] +title LoadingFile(MonoChrome) +create Tsanimihl IHLPlugin +IHLPlugin SetupObj +IHLPlugin TestLoadStillImageGray2 +IHLPlugin Teardown +delete IHLPlugin +[Endtest] + +[Test] +title LoadingFile(color) +create Tsanimihl IHLPlugin +IHLPlugin SetupObj +IHLPlugin TestLoadStillImageColour +IHLPlugin Teardown +delete IHLPlugin +[Endtest] + +[Test] +title LoadingFile(Animation) +create Tsanimihl IHLPlugin +IHLPlugin SetupObj +IHLPlugin TestLoadAnimation +IHLPlugin Teardown +delete IHLPlugin +[Endtest] + +[Test] +title LoadingFile(multi frame) +create Tsanimihl IHLPlugin +IHLPlugin SetupObj +IHLPlugin TestLoadMultiFrame +IHLPlugin Teardown +delete IHLPlugin +[Endtest] + +[Test] +title LoadingFile(Still Image,No mem) +create Tsanimihl IHLPlugin +IHLPlugin SetupObj +IHLPlugin TestLoadStillImageNoMemory +IHLPlugin Teardown +delete IHLPlugin +[Endtest] + +[Test] +title LoadingFile(animation,No mem) +create Tsanimihl IHLPlugin +IHLPlugin SetupObj +IHLPlugin TestLoadAnimationNoMemory +IHLPlugin Teardown +delete IHLPlugin +[Endtest] + +[Test] +title LoadingFile(Still Image) +create Tsanimihl IHLPlugin +IHLPlugin SetupObj +IHLPlugin TestCancelLoadStillImage +IHLPlugin Teardown +delete IHLPlugin +[Endtest] + +[Test] +title LoadingFile(animation) +create Tsanimihl IHLPlugin +IHLPlugin SetupObj +IHLPlugin TestCancelLoadAnimation +IHLPlugin Teardown +delete IHLPlugin +[Endtest] + +[Test] +title ShowingAImage +create Tsanimihl IHLPlugin +IHLPlugin SetupObj +IHLPlugin TestCancelLoadMultiFrame +IHLPlugin Teardown +delete IHLPlugin +[Endtest] + +[Test] +title ShowingAImage +create Tsanimihl IHLPlugin +IHLPlugin SetupStillImage +IHLPlugin TestShowStillImage +IHLPlugin Teardown +delete IHLPlugin +[Endtest] + +[Test] +title ShowingImageDelay +create Tsanimihl IHLPlugin +IHLPlugin SetupStillImage +IHLPlugin TestShowStillImageWithFrameDelay +IHLPlugin Teardown +delete IHLPlugin +[Endtest] + +[Test] +title ShowingAnim +create Tsanimihl IHLPlugin +IHLPlugin SetupAnimation +IHLPlugin TestShowAnimation +IHLPlugin Teardown +delete IHLPlugin +[Endtest] + +[Test] +title ShowMultiFrame +create Tsanimihl IHLPlugin +IHLPlugin SetupMultiFrame +IHLPlugin TestShowMultiFrame +IHLPlugin Teardown +delete IHLPlugin +[Endtest] + +[Test] +title CancelImage +create Tsanimihl IHLPlugin +IHLPlugin SetupStillImage +IHLPlugin TestCancelPlay +IHLPlugin Teardown +delete IHLPlugin +[Endtest] + +[Test] +title CancelAnimation +create Tsanimihl IHLPlugin +IHLPlugin SetupAnimation +IHLPlugin TestCancelPlay +IHLPlugin Teardown +delete IHLPlugin +[Endtest] + + +[Test] +title GetBGColor +create Tsanimihl IHLPlugin +IHLPlugin SetupStillImage +IHLPlugin TestBgColourBeforeLoad +IHLPlugin Teardown +delete IHLPlugin +[Endtest] + + +[Test] +title FetchBGColor +create Tsanimihl IHLPlugin +IHLPlugin SetupStillImageWithBgColour +IHLPlugin TestBgColour +IHLPlugin Teardown +delete IHLPlugin +[Endtest] + +[Test] +title ShowStillImage +create Tsanimihl IHLPlugin +IHLPlugin SetupObj +IHLPlugin TestScaleStillImage +IHLPlugin Teardown +delete IHLPlugin +[Endtest] + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/Tsanimihl/eabi/Tsanimihlu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/Tsanimihl/eabi/Tsanimihlu.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,3 @@ +EXPORTS + _Z9LibEntryLR13CTestModuleIf @ 1 NONAME + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/Tsanimihl/group/MON.dat Binary file startupservices/startupanimation/tsrc/Tsanimihl/group/MON.dat has changed diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/Tsanimihl/group/Tsanimihl.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/Tsanimihl/group/Tsanimihl.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,87 @@ +/*TYPE TESTCLASS*/ +/* +* 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: MMP file for STIF Test Framework's TestScripter +* testclass test module. +* +*/ + +#include + +SMPSAFE + +TARGET Tsanimihl.dll +TARGETTYPE dll +UID 0x1000008D 0x101FB3E3 + +CAPABILITY ALL -TCB +/* Remove comments and replace 0x00000000 with correct vendor id */ +// VENDORID 0x00000000 +/* Remove comments and replace 0x00000000 with correct secure id */ +// SECUREID 0x00000000 + +//TARGETPATH ?target_path +DEFFILE Tsanimihl.def + +USERINCLUDE ../inc + +OS_LAYER_SYSTEMINCLUDE + +SOURCEPATH ../src + +SOURCE Tsanimihl.cpp +SOURCE TsanimihlBlocks.cpp +SOURCE testWaiter.cpp + + +USERINCLUDE ../inc +USERINCLUDE ../../inc +USERINCLUDE ../../../../../../inc +USERINCLUDE ../../../../sanimengine/inc + + +LIBRARY euser.lib +LIBRARY stiftestinterface.lib +LIBRARY stiftestengine.lib +LIBRARY ecom.lib +LIBRARY efsrv.lib +LIBRARY euser.lib +LIBRARY sanimengine.lib + +EPOCALLOWDLLDATA +LANG SC + +/* +START WINS +?wins_specific_information +END + +START MARM +?marm_specific_information +END +*/ +// Other possible keywords: + +// DOCUMENT ?file, that is not compiled, but added to MSVC project workspace (i.e. release notes) +/* +START BITMAP ?target +TARGETPATH ?emulated_path_on_target_machine +HEADER +SOURCE ?color_depth ?source_bitmap +END +*/ +// DEFFILE ?filename +// AIF ?filename + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/Tsanimihl/group/Tsanimihl.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/Tsanimihl/group/Tsanimihl.pkg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,60 @@ +; +; 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: +; +; Installation file for STIF +; + +; Languages +&EN + +; Provide value for uid +#{"STIF"},(0x00000000),1,1,0,TYPE=SA + +; Series60 product id for S60 3.0 +[0x101F7961], 0, 0, 0, {"Series60ProductID"} + +; Localised Vendor name +%{"Nokia"} + +; Unique Vendor name +:"Nokia" + +; Logo +; None + +; Package signature - Optional +; None + +; Start of Package body + +; Condition blocks +; None + +; Options list +; None + +; Install files +"\epoc32\release\armv5\udeb\Tsanimihl.dll" - "!:\Sys\Bin\Tsanimihl.dll" + +; Embedded SIS +; None + +; End of Package body + +; PKG dependencies +; None + +; PKG capabilities +; None diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/Tsanimihl/group/Tsanimihl_DoxyFile.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/Tsanimihl/group/Tsanimihl_DoxyFile.txt Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,240 @@ +# +# 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: +# +# + +# Doxyfile 1.4.1 + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = Tsanimihl +PROJECT_NUMBER = +OUTPUT_DIRECTORY = x:\Tsanimihl\ +CREATE_SUBDIRS = NO +OUTPUT_LANGUAGE = English +USE_WINDOWS_ENCODING = YES +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ABBREVIATE_BRIEF = +ALWAYS_DETAILED_SEC = NO +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +STRIP_FROM_INC_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = NO +MULTILINE_CPP_IS_BRIEF = NO +DETAILS_AT_TOP = NO +INHERIT_DOCS = YES +DISTRIBUTE_GROUP_DOC = NO +TAB_SIZE = 8 +ALIASES = +OPTIMIZE_OUTPUT_FOR_C = YES +OPTIMIZE_OUTPUT_JAVA = NO +SUBGROUPING = YES +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- +EXTRACT_ALL = YES +EXTRACT_PRIVATE = NO +EXTRACT_STATIC = NO +EXTRACT_LOCAL_CLASSES = NO +EXTRACT_LOCAL_METHODS = NO +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +HIDE_FRIEND_COMPOUNDS = NO +HIDE_IN_BODY_DOCS = NO +INTERNAL_DOCS = YES +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +SHOW_INCLUDE_FILES = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +SORT_BRIEF_DOCS = NO +SORT_BY_SCOPE_NAME = NO +GENERATE_TODOLIST = NO +GENERATE_TESTLIST = NO +GENERATE_BUGLIST = NO +GENERATE_DEPRECATEDLIST= YES +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +SHOW_USED_FILES = YES +SHOW_DIRECTORIES = YES +FILE_VERSION_FILTER = +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- +QUIET = NO +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES +WARN_IF_DOC_ERROR = YES +WARN_NO_PARAMDOC = NO +WARN_FORMAT = "$file:$line: $text" +WARN_LOGFILE = +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = x:\Tsanimihl\ +FILE_PATTERNS = *.h \ + *.rh \ + *.hrh +RECURSIVE = YES +EXCLUDE = +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +EXAMPLE_RECURSIVE = NO +IMAGE_PATH = +INPUT_FILTER = +FILTER_PATTERNS = +FILTER_SOURCE_FILES = NO +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- +SOURCE_BROWSER = NO +INLINE_SOURCES = NO +STRIP_CODE_COMMENTS = YES +REFERENCED_BY_RELATION = YES +REFERENCES_RELATION = YES +VERBATIM_HEADERS = YES +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- +ALPHABETICAL_INDEX = NO +COLS_IN_ALPHA_INDEX = 5 +IGNORE_PREFIX = +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- +GENERATE_HTML = NO +HTML_OUTPUT = html +HTML_FILE_EXTENSION = .html +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = YES +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +BINARY_TOC = YES +TOC_EXPAND = YES +DISABLE_INDEX = YES +ENUM_VALUES_PER_LINE = 4 +GENERATE_TREEVIEW = YES +TREEVIEW_WIDTH = 250 +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +LATEX_CMD_NAME = latex +MAKEINDEX_CMD_NAME = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +USE_PDFLATEX = NO +LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- +GENERATE_RTF = YES +RTF_OUTPUT = Doc +COMPACT_RTF = YES +RTF_HYPERLINKS = YES +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_LINKS = NO +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- +GENERATE_XML = NO +XML_OUTPUT = xml +XML_SCHEMA = +XML_DTD = +XML_PROGRAMLISTING = YES +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- +GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- +GENERATE_PERLMOD = NO +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = YES +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = NONSHARABLE_CLASS +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- +TAGFILES = +GENERATE_TAGFILE = +ALLEXTERNALS = NO +EXTERNAL_GROUPS = YES +PERL_PATH = /usr/bin/perl +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- +CLASS_DIAGRAMS = YES +HIDE_UNDOC_RELATIONS = YES +HAVE_DOT = NO +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +GROUP_GRAPHS = YES +UML_LOOK = NO +TEMPLATE_RELATIONS = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +CALL_GRAPH = NO +GRAPHICAL_HIERARCHY = YES +DIRECTORY_GRAPH = YES +DOT_IMAGE_FORMAT = png +DOT_PATH = +DOTFILE_DIRS = +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 +MAX_DOT_GRAPH_DEPTH = 0 +DOT_TRANSPARENT = NO +DOT_MULTI_TARGETS = NO +GENERATE_LEGEND = YES +DOT_CLEANUP = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- +SEARCHENGINE = NO diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/Tsanimihl/group/Tsanimihl_nrm.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/Tsanimihl/group/Tsanimihl_nrm.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,77 @@ +/*TYPE TESTCLASS*/ +/* +* 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: MMP file for STIF Test Framework's TestScripter +* testclass test module. +* +*/ + +#include + +SMPSAFE + +TARGET Tsanimihl.dll +TARGETTYPE dll +UID 0x1000008D 0x101FB3E3 + +CAPABILITY ALL -TCB +/* Remove comments and replace 0x00000000 with correct vendor id */ +// VENDORID 0x00000000 +/* Remove comments and replace 0x00000000 with correct secure id */ +// SECUREID 0x00000000 + +//TARGETPATH ?target_path +DEFFILE Tsanimihl.def + +USERINCLUDE ../inc + +OS_LAYER_SYSTEMINCLUDE + +SOURCEPATH ../src + +SOURCE Tsanimihl.cpp +SOURCE TsanimihlBlocks.cpp + +//RESOURCE resource_file +//RESOURCE resource_file2 + +LIBRARY euser.lib +LIBRARY stiftestinterface.lib +LIBRARY stiftestengine.lib + +LANG SC + +/* +START WINS +?wins_specific_information +END + +START MARM +?marm_specific_information +END +*/ +// Other possible keywords: + +// DOCUMENT ?file, that is not compiled, but added to MSVC project workspace (i.e. release notes) +/* +START BITMAP ?target +TARGETPATH ?emulated_path_on_target_machine +HEADER +SOURCE ?color_depth ?source_bitmap +END +*/ +// DEFFILE ?filename +// AIF ?filename + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/Tsanimihl/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/Tsanimihl/group/bld.inf Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,57 @@ +/* +* 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: +* +*/ + +PRJ_PLATFORMS +// specify the platforms your component needs to be built for here +// defaults to WINS MARM so you can ignore this if you just build these + + DEFAULT + +PRJ_TESTEXPORTS +// NOTE: If using ARS requirements all export operations should be done under this. +// 'abld test export' + +PRJ_EXPORTS +// Specify the source file followed by its destination here +// copy will be used to copy the source file to its destination +// If there's no destination then the source file will be copied +// to the same name in \epoc32\include +// Example: +/* +\agnmodel\inc\AGMCOMON.H +*/ + +PRJ_MMPFILES + + Tsanimihl.mmp + + +// Specify the .mmp files required for building the important component +// releasables. +// +// Specify "tidy" if the component you need to build doesn't need to be +// released. Specify "ignore" if the MMP file exists but should be +// ignored. +// Example: +/* +\agnmodel\group\agnmodel.mmp +#if defined(MARM) +\agnmodel\group\agsvexe.mmp +#endif +*/ + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/Tsanimihl/inc/Tsanimihl.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/Tsanimihl/inc/Tsanimihl.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,233 @@ +/* +* 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: STIF testclass declaration +* +*/ + +#ifndef TSANIMIHL_H +#define TSANIMIHL_H + +// INCLUDES +#include +#include +#include +#include + +#include +#include "sanimobserver.h" + +class CSAnimImagePlugin; +class CSAnimIhlPluginTestSuite; +class CTestWaiter; + +// FORWARD DECLARATIONS +//class ?FORWARD_CLASSNAME; +class CTsanimihl; + +class TMockIhlAnimationObserver : public MSAnimObserver + { +public: + TMockIhlAnimationObserver( CTsanimihl& aTestSuite ) : iTestSuite( aTestSuite ) {} + virtual void UpdateScreen( const CFbsBitmap& /*aFrame*/, const CFbsBitmap& /*aMask*/ ); + virtual void UpdateScreen( const CFbsBitmap& /*aFrame*/ ); +private: + CTsanimihl& iTestSuite; + }; + + +// CONSTANTS +//const ?type ?constant_var = ?constant; + +// MACROS +//#define ?macro ?macro_def +#define TEST_CLASS_VERSION_MAJOR 0 +#define TEST_CLASS_VERSION_MINOR 0 +#define TEST_CLASS_VERSION_BUILD 0 + +// Logging path +_LIT( KTsanimihlLogPath, "\\logs\\testframework\\Tsanimihl\\" ); +// Log file +_LIT( KTsanimihlLogFile, "Tsanimihl.txt" ); +_LIT( KTsanimihlLogFileWithTitle, "Tsanimihl_[%S].txt" ); + +// FUNCTION PROTOTYPES +//?type ?function_name(?arg_list); + + + +// DATA TYPES +//enum ?declaration +//typedef ?declaration +//extern ?data_type; + +// CLASS DECLARATION + +/** +* CTsanimihl test class for STIF Test Framework TestScripter. +* ?other_description_lines +* +* @lib ?library +* @since ?Series60_version +*/ +NONSHARABLE_CLASS(CTsanimihl) : public CScriptBase + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + */ + static CTsanimihl* NewL( CTestModuleIf& aTestModuleIf ); + + /** + * Destructor. + */ + virtual ~CTsanimihl(); + + public: // New functions + + /** + * ?member_description. + * @since ?Series60_version + * @param ?arg1 ?description + * @return ?description + */ + //?type ?member_function( ?type ?arg1 ); + + public: // Functions from base classes + + /** + * From CScriptBase Runs a script line. + * @since ?Series60_version + * @param aItem Script line containing method name and parameters + * @return Symbian OS error code + */ + virtual TInt RunMethodL( CStifItemParser& aItem ); + + + protected: // Functions from base classes + + /** + * From ?base_class ?member_description + */ + //?type ?member_function(); + + private: + + /** + * C++ default constructor. + */ + CTsanimihl( CTestModuleIf& aTestModuleIf ); + + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL(); + + // Prohibit copy constructor if not deriving from CBase. + // ?classname( const ?classname& ); + // Prohibit assigment operator if not deriving from CBase. + // ?classname& operator=( const ?classname& ); + + /** + * Frees all resources allocated from test methods. + * @since ?Series60_version + */ + void Delete(); + + private: // New methods + + /** + * Example test method. + * @since ?Series60_version + * @param aItem Script line containing parameters. + * @return Symbian OS error code. + */ + TInt ExampleL( CStifItemParser& aItem ); + TInt SetupEmptyL(); + TInt SetupObjL(); + TInt SetupStillImageL(); + TInt SetupAnimationL(); + TInt SetupMultiFrameL(); + TInt SetupStillImageWithBgColourL(); + TInt Teardown(); + + TInt TestConstructorL(); + TInt TestConstructorNoMemoryL(); + TInt TestUnknownFileL(); + TInt TestCorruptFileL(); + TInt TestLoadStillImageGray2L(); + TInt TestLoadStillImageColourL(); + TInt TestLoadAnimationL(); + TInt TestLoadMultiFrameL(); + TInt TestLoadStillImageNoMemoryL(); + TInt TestLoadAnimationNoMemoryL(); + TInt TestCancelLoadStillImageL(); + TInt TestCancelLoadAnimationL(); + TInt TestCancelLoadMultiFrameL(); + TInt TestShowStillImageL(); + TInt TestShowStillImageWithFrameDelayL(); + TInt TestShowAnimationL(); + TInt TestShowMultiFrameL(); + TInt TestCancelPlayL(); + TInt TestBgColourL(); + TInt TestBgColourBeforeLoadL(); + TInt TestScaleStillImageL(); + + /** + * Method used to log version of test class + */ + void SendTestClassVersion(); + + //ADD NEW METHOD DEC HERE + //[TestMethods] - Do not remove + + public: // Data + // ?one_line_short_description_of_data + //?data_declaration; + + protected: // Data + // ?one_line_short_description_of_data + //?data_declaration; + + private: // Data + friend class TMockIhlAnimationObserver; + + /** File server session used in testing. */ + RFs iFs; + + /** Instance of the class that this test suite is testing. */ + CSAnimImagePlugin* iTestObj; + + /** A 32 bit identifer returned by ECom to identify this instance to the framework. */ + TUid iDtorKey; + + /** For testing async calls. */ + CTestWaiter* iWaiter; + + /** For testing correct number of calls to animation observer. */ + TInt iFrameCounter; + + /** Animation observer for testing. */ + TMockIhlAnimationObserver iObserver; + // ?one_line_short_description_of_data + //?data_declaration; + + // Reserved pointer for future extension + //TAny* iReserved; + + }; + +#endif // TSANIMIHL_H + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/Tsanimihl/inc/testwaiter.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/Tsanimihl/inc/testwaiter.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,88 @@ +/* +* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Symbian Foundation License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Declaration of CTestWaiter class +* +*/ + + +#ifndef TESTWAITER_H +#define TESTWAITER_H + +#include + +/** +* Stops active scheduler in RunL. +* +* @lib None +* @since S60 3.2 +*/ +class CTestWaiter : public CActive + { + +public: + + /** + * Constructs a CTestWaiter object. + * + * @return The new object + * @since S60 3.2 + */ + static CTestWaiter* NewL(); + + /** + * Destructor. + * + * @since S60 3.2 + */ + virtual ~CTestWaiter(); + + /** + * Set active. + * + * @since S60 3.2 + */ + void Activate(); + +protected: + + /** + * From CActive. + * Implements cancellation of an outstanding request. + * + * @since S60 3.2 + */ + virtual void DoCancel(); + + /** + * From CActive. + * Handles an active object's request completion event. + * Never leaves. + * + * @since S60 3.2 + */ + virtual void RunL(); + +private: + + /** + * First phase constructor. + * + */ + CTestWaiter(); + +private: // data + + }; + +#endif // TESTWAITER_H diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/Tsanimihl/init/TestFramework.ini --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/Tsanimihl/init/TestFramework.ini Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,221 @@ +# +# This is STIF initialization file +# Comment lines start with '#'-character. +# See STIF TestFramework users guide.doc for instructions + +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +# Set following test engine settings: +# - Set Test Reporting mode. TestReportMode's possible values are: +# + 'Summary': Summary of the tested test cases. +# + 'Environment': Hardware and software info. +# + 'TestCases': Test case report. +# + 'FullReport': Set of all above ones. +# + Example 'TestReportMode= Summary TestCases' +# +# - CreateTestReport setting controls report creation mode +# + YES, Test report will created. +# + NO, No Test report. +# +# - File path indicates the base path of the test report. +# - File name indicates the name of the test report. +# +# - File format indicates the type of the test report. +# + TXT, Test report file will be txt type, for example 'TestReport.txt'. +# + HTML, Test report will be html type, for example 'TestReport.html'. +# + XML, Test report will be xml type, for example 'TestReport.xml'. +# Note, that xml format is available only when output is set to FILE. +# +# - File output indicates output source of the test report. +# + FILE, Test report logging to file. +# + RDEBUG, Test report logging to using rdebug. +# +# - File Creation Mode indicates test report overwriting if file exist. +# + OVERWRITE, Overwrites if the Test report file exist. +# + APPEND, Continue logging after the old Test report information if +# report exist. +# - Sets a device reset module's dll name(Reboot). +# + If Nokia specific reset module is not available or it is not correct one +# StifHWResetStub module may use as a template for user specific reset +# module. +# - Sets STIF test measurement disable options. e.g. pluging1 and pluging2 disablation +# DisableMeasurement= stifmeasurementplugin01 stifmeasurementplugin02 +# + +[Engine_Defaults] + +TestReportMode= FullReport # Possible values are: 'Empty', 'Summary', 'Environment', + # 'TestCases' or 'FullReport' + +CreateTestReport= YES # Possible values: YES or NO + +TestReportFilePath= C:\LOGS\TestFramework\ +TestReportFileName= TestReport + +TestReportFormat= TXT # Possible values: TXT, HTML or XML +TestReportOutput= FILE # Possible values: FILE or RDEBUG +TestReportFileCreationMode= OVERWRITE # Possible values: OVERWRITE or APPEND + +DeviceResetDllName= StifResetForNokia.dll # e.g. 'StifHWResetStub.dll' for user specific reseting + +DisableMeasurement= stifmeasurementdisablenone # Possible values are: + # 'stifmeasurementdisablenone', 'stifmeasurementdisableall' + # 'stifmeasurementplugin01', 'stifmeasurementplugin02', + # 'stifmeasurementplugin03', 'stifmeasurementplugin04', + # 'stifmeasurementplugin05' or 'stifbappeaprofiler' + +Timeout= 0 # Default timeout value for each test case. In milliseconds +UITestingSupport= YES # Possible values: YES or NO +#SeparateProcesses= YES # Possible values: YES or NO (default: NO) +[End_Defaults] + +[New_Module] +ModuleName= testscripter +TestCaseFile= c:\testframework\Tsanimihl.cfg +[End_Module] + + +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + + + +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +# Module configurations start +# Modules are added between module tags +# tags. Module name is specified after ModuleName= tag, like +# ModuleName= XXXXXXXXX +# Modules might have initialisation file, specified as +# IniFile= c:\testframework\YYYYYY +# Modules might have several configuration files, like +# TestCaseFile= c:\testframework\NormalCases.txt +# TestCaseFile= c:\testframework\SmokeCases.txt +# TestCaseFile= c:\testframework\ManualCases.txt + +# (TestCaseFile is synonym for old term ConfigFile) + +# Following case specifies demo module settings. Demo module +# does not read any settings from file, so tags +# IniFile and TestCaseFile are not used. +# In the simplest case it is enough to specify only the +# name of the test module when adding new test module + + + +# Load testmoduleXXX, optionally with initialization file and/or test case files +#[New_Module] +#ModuleName= testmodulexxx + +#TestModuleXXX used initialization file +#IniFile= c:\testframework\init.txt + +#TestModuleXXX used configuration file(s) +#TestCaseFile= c:\testframework\testcases1.cfg +#TestCaseFile= c:\testframework\testcases2.cfg +#TestCaseFile= c:\testframework\manualtestcases.cfg + +#[End_Module] +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + + + +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +# Set STIF logging overwrite parameters for Logger. +# Hardware and emulator environment logging path and styles can +# be configured from here to overwrite the Logger's implemented values. +# +# Settings description: +# - Indicates option for creation log directory/directories. If log directory/directories +# is/are not created by user they will make by software. +# + YES, Create log directory/directories if not allready exist. +# + NO, Log directory/directories not created. Only created one is used. +# +# - Overwrite emulator path setting. +# + Example: If 'EmulatorBasePath= C:\LOGS\TestFramework\' and in code is defined +# Logger's path 'D:\\LOGS\\Module\\' with those definition the path +# will be 'C:\LOGS\TestFramework\LOGS\Module\' +# +# - Overwrite emulator's logging format. +# + TXT, Log file(s) will be txt type(s), for example 'Module.txt'. +# + HTML, Log file(s) will be html type(s), for example 'Module.html'. +# +# - Overwrited emulator logging output source. +# + FILE, Logging to file(s). +# + RDEBUG, Logging to using rdebug(s). +# +# - Overwrite hardware path setting (Same description as above in emulator path). +# - Overwrite hardware's logging format(Same description as above in emulator format). +# - Overwrite hardware's logging output source(Same description as above in emulator output). +# +# - File Creation Mode indicates file overwriting if file exist. +# + OVERWRITE, Overwrites if file(s) exist. +# + APPEND, Continue logging after the old logging information if file(s) exist. +# +# - Will thread id include to the log filename. +# + YES, Thread id to log file(s) name, Example filename 'Module_b9.txt'. +# + NO, No thread id to log file(s), Example filename 'Module.txt'. +# +# - Will time stamps include the to log file. +# + YES, Time stamp added to each line in log file(s). Time stamp is +# for example'12.Nov.2003 115958 LOGGING INFO' +# + NO, No time stamp(s). +# +# - Will line breaks include to the log file. +# + YES, Each logging event includes line break and next log event is in own line. +# + NO, No line break(s). +# +# - Will event ranking include to the log file. +# + YES, Event ranking number added to each line in log file(s). Ranking number +# depends on environment's tics, for example(includes time stamp also) +# '012 12.Nov.2003 115958 LOGGING INFO' +# + NO, No event ranking. +# +# - Will write log file in unicode format. +# + YES, Log file will be written in unicode format +# + NO, Log will be written as normal, not unicode, file. +# + +[Logger_Defaults] + +#NOTE: If you want to set Logger using next setting(s) remove comment(s)'#' +#NOTE: TestEngine and TestServer logging settings cannot change here + +#CreateLogDirectories= YES # Possible values: YES or NO + +#EmulatorBasePath= C:\LOGS\TestFramework\ +#EmulatorFormat= HTML # Possible values: TXT or HTML +#EmulatorOutput= FILE # Possible values: FILE or RDEBUG + +#HardwareBasePath= D:\LOGS\TestFramework\ +#HardwareFormat= HTML # Possible values: TXT or HTML +#HardwareOutput= FILE # Possible values: FILE or RDEBUG + +#FileCreationMode= OVERWRITE # Possible values: OVERWRITE or APPEND + +#ThreadIdToLogFile= YES # Possible values: YES or NO +#WithTimeStamp= YES # Possible values: YES or NO +#WithLineBreak= YES # Possible values: YES or NO +#WithEventRanking= YES # Possible values: YES or NO + +#FileUnicode= YES # Possible values: YES or NO +#AddTestCaseTitle= YES # Possible values: YES or NO +[End_Logger_Defaults] +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + + + +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +# Set filters to be used by ConsoleUI. +# If you want to use filter with ConsoleUI, simply remove comments +# from section below and provide valid filter entries. +# Each filter line has to start with "filter= " keyword. +# Filter can contain special wildcard characters: +# * which stands for none or any literal; +# ? which stands for single character. +# Filters are not case-sensitive. + +#[Filters] +#filter= *math* +#filter= *radio* +#[End_Filters] +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + +# End of file diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/Tsanimihl/rom/TSanimihl.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/Tsanimihl/rom/TSanimihl.iby Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,9 @@ +#ifndef __TSANIMIHL_IBY__ +#define __TSANIMIHL_IBY__ + +file=ABI_DIR\BUILD_DIR\TSanimihl.dll SHARED_LIB_DIR\TSanimihl.dll + +data=\epoc32\data\z\system\data\UI_TSanimihl.cfg \testframework\UI_TSanimihl.cfg + + +#endif \ No newline at end of file diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/Tsanimihl/src/Tsanimihl.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/Tsanimihl/src/Tsanimihl.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,198 @@ +/* +* 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: This file contains testclass implementation. +* +*/ + +// INCLUDE FILES +#include +#include "Tsanimihl.h" +#include + +// EXTERNAL DATA STRUCTURES +//extern ?external_data; + +// EXTERNAL FUNCTION PROTOTYPES +//extern ?external_function( ?arg_type,?arg_type ); + +// CONSTANTS +//const ?type ?constant_var = ?constant; + +// MACROS +//#define ?macro ?macro_def + +// LOCAL CONSTANTS AND MACROS +//const ?type ?constant_var = ?constant; +//#define ?macro_name ?macro_def + +// MODULE DATA STRUCTURES +//enum ?declaration +//typedef ?declaration + +// LOCAL FUNCTION PROTOTYPES +//?type ?function_name( ?arg_type, ?arg_type ); + +// FORWARD DECLARATIONS +//class ?FORWARD_CLASSNAME; + +// ============================= LOCAL FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// ?function_name ?description. +// ?description +// Returns: ?value_1: ?description +// ?value_n: ?description_line1 +// ?description_line2 +// ----------------------------------------------------------------------------- +// +/* +?type ?function_name( + ?arg_type arg, // ?description + ?arg_type arg) // ?description + { + + ?code // ?comment + + // ?comment + ?code + } +*/ + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CTsanimihl::CTsanimihl +// C++ default constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +// +CTsanimihl::CTsanimihl( + CTestModuleIf& aTestModuleIf ): + CScriptBase( aTestModuleIf ), iObserver( *this ) + { + } + +// ----------------------------------------------------------------------------- +// CTsanimihl::ConstructL +// Symbian 2nd phase constructor can leave. +// ----------------------------------------------------------------------------- +// +void CTsanimihl::ConstructL() + { + //Read logger settings to check whether test case name is to be + //appended to log file name. + RSettingServer settingServer; + TInt ret = settingServer.Connect(); + if(ret != KErrNone) + { + User::Leave(ret); + } + // Struct to StifLogger settigs. + TLoggerSettings loggerSettings; + // Parse StifLogger defaults from STIF initialization file. + ret = settingServer.GetLoggerSettings(loggerSettings); + if(ret != KErrNone) + { + User::Leave(ret); + } + // Close Setting server session + settingServer.Close(); + + TFileName logFileName; + + if(loggerSettings.iAddTestCaseTitle) + { + TName title; + TestModuleIf().GetTestCaseTitleL(title); + logFileName.Format(KTsanimihlLogFileWithTitle, &title); + } + else + { + logFileName.Copy(KTsanimihlLogFile); + } + + iLog = CStifLogger::NewL( KTsanimihlLogPath, + logFileName, + CStifLogger::ETxt, + CStifLogger::EFile, + EFalse ); + + SendTestClassVersion(); + } + +// ----------------------------------------------------------------------------- +// CTsanimihl::NewL +// Two-phased constructor. +// ----------------------------------------------------------------------------- +// +CTsanimihl* CTsanimihl::NewL( + CTestModuleIf& aTestModuleIf ) + { + CTsanimihl* self = new (ELeave) CTsanimihl( aTestModuleIf ); + + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop(); + + return self; + + } + +// Destructor +CTsanimihl::~CTsanimihl() + { + + // Delete resources allocated from test methods + Delete(); + + // Delete logger + delete iLog; + + } + +//----------------------------------------------------------------------------- +// CTsanimihl::SendTestClassVersion +// Method used to send version of test class +//----------------------------------------------------------------------------- +// +void CTsanimihl::SendTestClassVersion() + { + TVersion moduleVersion; + moduleVersion.iMajor = TEST_CLASS_VERSION_MAJOR; + moduleVersion.iMinor = TEST_CLASS_VERSION_MINOR; + moduleVersion.iBuild = TEST_CLASS_VERSION_BUILD; + + TFileName moduleName; + moduleName = _L("Tsanimihl.dll"); + + TBool newVersionOfMethod = ETrue; + TestModuleIf().SendTestModuleVersion(moduleVersion, moduleName, newVersionOfMethod); + } + +// ========================== OTHER EXPORTED FUNCTIONS ========================= + +// ----------------------------------------------------------------------------- +// LibEntryL is a polymorphic Dll entry point. +// Returns: CScriptBase: New CScriptBase derived object +// ----------------------------------------------------------------------------- +// +EXPORT_C CScriptBase* LibEntryL( + CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework + { + + return ( CScriptBase* ) CTsanimihl::NewL( aTestModuleIf ); + + } + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/Tsanimihl/src/TsanimihlBlocks.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/Tsanimihl/src/TsanimihlBlocks.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,801 @@ +/* +* 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: This file contains testclass implementation. +* +*/ + +// [INCLUDE FILES] - do not remove +#include +#include +#include +#include "Tsanimihl.h" + + +#include "sanimimageplugin.h" + +#include "testwaiter.h" +#include + + + +// Praveen + +const TInt KSAnimIhlPluginImplUid = 0x2000B11C; +const TInt K1Second = 1000000; + +_LIT( KUnknownFile, "C:\\temp\\unknown.gif" ); +_LIT( KCorruptFile, "C:\\temp\\corrupt.gif" ); +_LIT( KStillImageGray2File, "C:\\temp\\still_image_gray2.gif" ); +_LIT( KStillImageColourFile, "C:\\temp\\gif_2kb.gif" ); +_LIT( KStillImageBgColourFile, "C:\\temp\\testimg_1.gif" ); +_LIT( KMbmFile, "C:\\temp\\startupnokia_qvga.mbm" ); +_LIT( KAnimationFile, "C:\\temp\\testanim_7.gif" ); + +// --------------------------------------------------------------------------- +// TMockIhlAnimationObserver::UpdateScreen +// +// --------------------------------------------------------------------------- +// +void TMockIhlAnimationObserver::UpdateScreen( const CFbsBitmap& /*aFrame*/, const CFbsBitmap& /*aMask*/ ) + { + iTestSuite.iFrameCounter++; + } + + +// --------------------------------------------------------------------------- +// TMockIhlAnimationObserver::UpdateScreen +// +// --------------------------------------------------------------------------- +// +void TMockIhlAnimationObserver::UpdateScreen( const CFbsBitmap& /*aFrame*/ ) + { + iTestSuite.iFrameCounter++; + } + + +// --------------------------------------------------------------------------- +// CSAnimIhlPluginTestSuite::NewL +// +// --------------------------------------------------------------------------- +// +/* +CTsanimihl* CTsanimihl::NewL() + { + CTsanimihl* self = CTsanimihl::NewLC(); + CleanupStack::Pop( self ); + return self; + } + + +// --------------------------------------------------------------------------- +// CSAnimIhlPluginTestSuite::NewLC +// +// --------------------------------------------------------------------------- +// +CTsanimihl* CTsanimihl::NewLC() + { + CTsanimihl* self = new( ELeave ) CTsanimihl; + CleanupStack::PushL( self ); + self->ConstructL(); + return self; + } + +*/ + +// ----------------------------------------------------------------------------- +// CTsanimihl::RunMethodL +// Run specified method. Contains also table of test mothods and their names. +// ----------------------------------------------------------------------------- +// +TInt CTsanimihl::RunMethodL( + CStifItemParser& aItem ) + { + + static TStifFunctionInfo const KFunctions[] = + { + // Copy this line for every implemented function. + // First string is the function name used in TestScripter script file. + // Second is the actual implementation member function. + ENTRY("Example", CTsanimihl::ExampleL ), + ENTRY("SetupEmpty",CTsanimihl::SetupEmptyL), + ENTRY("SetupObj",CTsanimihl::SetupObjL), + ENTRY("SetupStillImage",CTsanimihl::SetupStillImageL), + ENTRY("SetupAnimation",CTsanimihl::SetupAnimationL), + ENTRY("SetupMultiFrame",CTsanimihl::SetupMultiFrameL), + ENTRY("SetupStillImageWithBgColour",CTsanimihl::SetupStillImageWithBgColourL), + ENTRY("Teardown",CTsanimihl::Teardown), + ENTRY("TestConstructor",CTsanimihl::TestConstructorL), + ENTRY("TestConstructorNoMemory",CTsanimihl::TestConstructorNoMemoryL), + ENTRY("TestUnknownFile",CTsanimihl::TestUnknownFileL), + ENTRY("TestCorruptFile",CTsanimihl::TestCorruptFileL), + ENTRY("TestLoadStillImageGray2",CTsanimihl::TestLoadStillImageGray2L), + ENTRY("TestLoadStillImageColour",CTsanimihl::TestLoadStillImageColourL), + ENTRY("TestLoadAnimation",CTsanimihl::TestLoadAnimationL), + ENTRY("TestLoadMultiFrame",CTsanimihl::TestLoadMultiFrameL), + ENTRY("TestLoadStillImageNoMemory",CTsanimihl::TestLoadStillImageNoMemoryL), + ENTRY("TestLoadAnimationNoMemory",CTsanimihl::TestLoadAnimationNoMemoryL), + ENTRY("TestCancelLoadStillImage",CTsanimihl::TestCancelLoadStillImageL), + ENTRY("TestCancelLoadAnimation",CTsanimihl::TestCancelLoadAnimationL), + ENTRY("TestCancelLoadMultiFrame",CTsanimihl::TestCancelLoadMultiFrameL), + ENTRY("TestShowStillImage",CTsanimihl::TestShowStillImageL), + ENTRY("TestShowStillImageWithFrameDelay",CTsanimihl::TestShowStillImageWithFrameDelayL), + ENTRY("TestShowAnimation",CTsanimihl::TestShowAnimationL), + ENTRY("TestShowMultiFrame",CTsanimihl::TestShowMultiFrameL), + ENTRY("TestCancelPlay",CTsanimihl::TestCancelPlayL), + ENTRY("TestBgColour",CTsanimihl::TestBgColourL), + ENTRY("TestBgColourBeforeLoad",CTsanimihl::TestBgColourBeforeLoadL), + ENTRY("TestScaleStillImage",CTsanimihl::TestScaleStillImageL) + //ADD NEW ENTRY HERE + // [test cases entries] - Do not remove + + }; + + const TInt count = sizeof( KFunctions ) / + sizeof( TStifFunctionInfo ); + + return RunInternalL( KFunctions, count, aItem ); + + } + +// --------------------------------------------------------------------------- +// CSAnimIhlPluginTestSuite::CSAnimIhlPluginTestSuite +// +// --------------------------------------------------------------------------- +// +/* +CTsanimihl::CTsanimihl() : iObserver( *this ) + { + } +*/ + +// --------------------------------------------------------------------------- +// CSAnimIhlPluginTestSuite::ConstructL +// +// --------------------------------------------------------------------------- +// +/* +void CTsanimihl::ConstructL() + { + // REComSession::FinalClose(); + // The ConstructL from the base class CEUnitTestSuiteClass must be called. + // It generates the test case table. + + } +*/ + +// --------------------------------------------------------------------------- +// CSAnimIhlPluginTestSuite::SetupEmptyL +// +// --------------------------------------------------------------------------- +// +TInt CTsanimihl::SetupEmptyL() + { + iTestObj = NULL; + iDtorKey = TUid::Uid( 0 ); + User::LeaveIfError( iFs.Connect() ); + User::LeaveIfError( iFs.ShareProtected() ); + iWaiter = CTestWaiter::NewL(); + iFrameCounter = 0; + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimIhlPluginTestSuite::SetupObjL +// +// --------------------------------------------------------------------------- +// +TInt CTsanimihl::SetupObjL() + { + SetupEmptyL(); + iTestObj = static_cast( + REComSession::CreateImplementationL( + TUid::Uid( KSAnimIhlPluginImplUid ), iDtorKey , &iObserver) ); + return KErrNone; + + + } + + +// --------------------------------------------------------------------------- +// CSAnimIhlPluginTestSuite::SetupStillImageL +// +// --------------------------------------------------------------------------- +// +TInt CTsanimihl::SetupStillImageL() + { + SetupObjL(); + iTestObj->Load( iFs, KStillImageGray2File, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimIhlPluginTestSuite::SetupAnimationL +// +// --------------------------------------------------------------------------- +// +TInt CTsanimihl::SetupAnimationL() + { + SetupObjL(); + iTestObj->Load( iFs, KAnimationFile, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimIhlPluginTestSuite::SetupMultiFrameL +// +// --------------------------------------------------------------------------- +// +TInt CTsanimihl::SetupMultiFrameL() + { + SetupObjL(); + iTestObj->Load( iFs, KMbmFile, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimIhlPluginTestSuite::SetupStillImageWithBgColourL +// +// --------------------------------------------------------------------------- +// +TInt CTsanimihl::SetupStillImageWithBgColourL() + { + SetupObjL(); + iTestObj->Load( iFs, KStillImageBgColourFile, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimIhlPluginTestSuite::Teardown +// +// --------------------------------------------------------------------------- +// +TInt CTsanimihl::Teardown() + { + delete iTestObj; + iTestObj = NULL; + + REComSession::DestroyedImplementation( iDtorKey ); + + delete iWaiter; + iWaiter = NULL; + + iFs.Close(); + + REComSession::FinalClose(); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimIhlPluginTestSuite::TestConstructorL +// +// --------------------------------------------------------------------------- +// +TInt CTsanimihl::TestConstructorL() + { + TAny* ptr = NULL; + ptr = REComSession::CreateImplementationL(TUid::Uid( KSAnimIhlPluginImplUid ), iDtorKey, &iObserver ); + + iTestObj = static_cast( ptr ); + // STIF_ASSERT( iTestObj ); + delete iTestObj; + iTestObj = NULL; + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimIhlPluginTestSuite::TestConstructorNoMemoryL +// +// --------------------------------------------------------------------------- +// +TInt CTsanimihl::TestConstructorNoMemoryL() + { + TAny* ptr = NULL; + ptr = REComSession::CreateImplementationL(TUid::Uid( KSAnimIhlPluginImplUid ), iDtorKey, &iObserver ); + //STIF_ASSERT( !ptr ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimIhlPluginTestSuite::TestUnknownFileL +// +// --------------------------------------------------------------------------- +// +TInt CTsanimihl::TestUnknownFileL() + { + iTestObj->Load( iFs, KUnknownFile, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if (iWaiter->iStatus.Int()== KErrNotFound ) + { + + } + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimIhlPluginTestSuite::TestCorruptFileL +// +// --------------------------------------------------------------------------- +// +TInt CTsanimihl::TestCorruptFileL() + { + iTestObj->Load( iFs, KCorruptFile, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if( iWaiter->iStatus.Int()== KErrNotFound ) // For some reason, IHL returns KErrNotFound... + { + + } + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimIhlPluginTestSuite::TestLoadStillImageGray2L +// +// --------------------------------------------------------------------------- +// +TInt CTsanimihl::TestLoadStillImageGray2L() + { + iTestObj->Load( iFs, KStillImageGray2File, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int()== KErrNone ) + { + + } + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimIhlPluginTestSuite::TestLoadStillImageColourL +// +// --------------------------------------------------------------------------- +// +TInt CTsanimihl::TestLoadStillImageColourL() + { + iTestObj->Load( iFs, KStillImageColourFile, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int()== KErrNone ) + { + + } + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimIhlPluginTestSuite::TestLoadAnimationL +// +// --------------------------------------------------------------------------- +// +TInt CTsanimihl::TestLoadAnimationL() + { + iTestObj->Load( iFs, KAnimationFile, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int()== KErrNone ) + { + + } + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimIhlPluginTestSuite::TestLoadMultiFrameL +// +// --------------------------------------------------------------------------- +// +TInt CTsanimihl::TestLoadMultiFrameL() + { + iTestObj->Load( iFs, KMbmFile, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int()== KErrNone ) + { + + } + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimIhlPluginTestSuite::TestLoadStillImageNoMemoryL +// +// --------------------------------------------------------------------------- +// +TInt CTsanimihl::TestLoadStillImageNoMemoryL() + { + iTestObj->Load( iFs, KStillImageColourFile, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int()== KErrNoMemory ) + { + + } + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimIhlPluginTestSuite::TestLoadAnimationNoMemoryL +// +// --------------------------------------------------------------------------- +// +TInt CTsanimihl::TestLoadAnimationNoMemoryL() + { + iTestObj->Load( iFs, KAnimationFile, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int()== KErrNoMemory ) + { + + } + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimIhlPluginTestSuite::TestCancelLoadStillImageL +// +// --------------------------------------------------------------------------- +// +TInt CTsanimihl::TestCancelLoadStillImageL() + { + iTestObj->Load( iFs, KStillImageGray2File, iWaiter->iStatus ); + iWaiter->Activate(); + iTestObj->Cancel(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int()== KErrCancel ) + { + + } + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimIhlPluginTestSuite::TestCancelLoadAnimationL +// +// --------------------------------------------------------------------------- +// +TInt CTsanimihl::TestCancelLoadAnimationL() + { + iTestObj->Load( iFs, KAnimationFile, iWaiter->iStatus ); + iWaiter->Activate(); + iTestObj->Cancel(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int()== KErrCancel ) + { + + } + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimIhlPluginTestSuite::TestCancelLoadMultiFrameL +// +// --------------------------------------------------------------------------- +// +TInt CTsanimihl::TestCancelLoadMultiFrameL() + { + iTestObj->Load( iFs, KMbmFile, iWaiter->iStatus ); + iWaiter->Activate(); + iTestObj->Cancel(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int() == KErrCancel ) + { + + } + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimIhlPluginTestSuite::TestShowStillImageL +// +// --------------------------------------------------------------------------- +// +TInt CTsanimihl::TestShowStillImageL() + { + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int()== KErrNone ) + { + + } + //STIF_ASSERT_EQUALS( iFrameCounter, 1 ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimIhlPluginTestSuite::TestShowStillImageWithFrameDelayL +// +// --------------------------------------------------------------------------- +// +TInt CTsanimihl::TestShowStillImageWithFrameDelayL() + { + iTestObj->SetFrameDelay( K1Second ); + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int()== KErrNone ) + { + + } + //STIF_ASSERT_EQUALS( iFrameCounter, 1 ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimIhlPluginTestSuite::TestShowAnimationL +// +// --------------------------------------------------------------------------- +// +TInt CTsanimihl::TestShowAnimationL() + { + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int() == KErrNone ) + { + + } + //STIF_ASSERT_EQUALS( iFrameCounter, 43 ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimIhlPluginTestSuite::TestShowMultiFrameL +// +// --------------------------------------------------------------------------- +// +TInt CTsanimihl::TestShowMultiFrameL() + { + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int() == KErrNone ) + { + + } + //STIF_ASSERT_EQUALS( iFrameCounter, 34 ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimIhlPluginTestSuite::TestCancelPlayL +// +// --------------------------------------------------------------------------- +// +TInt CTsanimihl::TestCancelPlayL() + { + iTestObj->SetFrameDelay( K1Second ); + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + iTestObj->Cancel(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int()== KErrCancel ) + { + + } + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimIhlPluginTestSuite::TestBgColourL +// +// --------------------------------------------------------------------------- +// +TInt CTsanimihl::TestBgColourL() + { + TRgb bgColour = iTestObj->BackroundColour(); + RDebug::Print( _L( "BG color: 0x%08x" ), bgColour.Value() ); + if ( bgColour.Value()== 0x00bf8040 ) + { + + } + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimIhlPluginTestSuite::TestBgColourBeforeLoadL +// +// --------------------------------------------------------------------------- +// +TInt CTsanimihl::TestBgColourBeforeLoadL() + { + TRgb bgColour = iTestObj->BackroundColour(); + // STIF_ASSERT_EQUALS( bgColour.Value(), 0x00FFFFFF ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimIhlPluginTestSuite::TestScaleStillImageL +// +// --------------------------------------------------------------------------- +// +TInt CTsanimihl::TestScaleStillImageL() + { + iTestObj->SetSize( TSize( 126, 126 ) ); + + iTestObj->Load( iFs, KStillImageGray2File, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int()== KErrNone ) + { + + } + + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int() == KErrNone ) + { + + } + //STIF_ASSERT_EQUALS( iFrameCounter, 1 ); + return KErrNone; + } + + +// Praveen +// EXTERNAL DATA STRUCTURES +//extern ?external_data; + +// EXTERNAL FUNCTION PROTOTYPES +//extern ?external_function( ?arg_type,?arg_type ); + +// CONSTANTS +//const ?type ?constant_var = ?constant; + +// MACROS +//#define ?macro ?macro_def + +// LOCAL CONSTANTS AND MACROS +//const ?type ?constant_var = ?constant; +//#define ?macro_name ?macro_def + +// MODULE DATA STRUCTURES +//enum ?declaration +//typedef ?declaration + +// LOCAL FUNCTION PROTOTYPES +//?type ?function_name( ?arg_type, ?arg_type ); + +// FORWARD DECLARATIONS +//class ?FORWARD_CLASSNAME; + +// ============================= LOCAL FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// ?function_name ?description. +// ?description +// Returns: ?value_1: ?description +// ?value_n: ?description_line1 +// ?description_line2 +// ----------------------------------------------------------------------------- +// +/* +?type ?function_name( + ?arg_type arg, // ?description + ?arg_type arg) // ?description + { + + ?code // ?comment + + // ?comment + ?code + } +*/ + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CTsanimihl::Delete +// Delete here all resources allocated and opened from test methods. +// Called from destructor. +// ----------------------------------------------------------------------------- +// +void CTsanimihl::Delete() + { + + } + + + + +// ----------------------------------------------------------------------------- +// CTsanimihl::ExampleL +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CTsanimihl::ExampleL( CStifItemParser& aItem ) + { + + // Print to UI + _LIT( KTsanimihl, "Tsanimihl" ); + _LIT( KExample, "In Example" ); + TestModuleIf().Printf( 0, KTsanimihl, KExample ); + // Print to log file + iLog->Log( KExample ); + + TInt i = 0; + TPtrC string; + _LIT( KParam, "Param[%i]: %S" ); + while ( aItem.GetNextString ( string ) == KErrNone ) + { + TestModuleIf().Printf( i, KTsanimihl, + KParam, i, &string ); + i++; + } + + return KErrNone; + + } + + + +// ----------------------------------------------------------------------------- +// CTsanimihl::?member_function +// ?implementation_description +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +/* +TInt CTsanimihl::?member_function( + CItemParser& aItem ) + { + + ?code + + } +*/ + +// ========================== OTHER EXPORTED FUNCTIONS ========================= +// None + +// [End of File] - Do not remove + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/Tsanimihl/src/testwaiter.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/Tsanimihl/src/testwaiter.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,92 @@ +/* +* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Symbian Foundation License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Implementation of CTestWaiter class +* +*/ + + +#include "testwaiter.h" + +#pragma tagging OFF // To disable CodeTest tagging + +// ======== MEMBER FUNCTIONS ======== + +// --------------------------------------------------------------------------- +// CTestWaiter::NewL +// +// --------------------------------------------------------------------------- +// +CTestWaiter* CTestWaiter::NewL() + { + CTestWaiter* self = new( ELeave ) CTestWaiter; + return self; + } + + +// --------------------------------------------------------------------------- +// CTestWaiter::~CTestWaiter +// +// --------------------------------------------------------------------------- +// +CTestWaiter::~CTestWaiter() + { + } + + +// --------------------------------------------------------------------------- +// CTestWaiter::Activate +// +// --------------------------------------------------------------------------- +// +void CTestWaiter::Activate() + { + __ASSERT_ALWAYS( !IsActive(), User::Invariant() ); + + SetActive(); + } + + +// --------------------------------------------------------------------------- +// CTestWaiter::CTestWaiter +// +// --------------------------------------------------------------------------- +// +CTestWaiter::CTestWaiter() + : CActive( EPriorityStandard ) + { + CActiveScheduler::Add( this ); + } + + +// --------------------------------------------------------------------------- +// CTestWaiter::DoCancel +// +// --------------------------------------------------------------------------- +// +void CTestWaiter::DoCancel() + { + } + + +// --------------------------------------------------------------------------- +// CTestWaiter::RunL +// +// --------------------------------------------------------------------------- +// +void CTestWaiter::RunL() + { + CActiveScheduler::Stop(); + } + +#pragma tagging ON // To stop disabling CodeTest tagging diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/init/TestFramework.ini --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/init/TestFramework.ini Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,228 @@ +# +# This is STIF initialization file +# Comment lines start with '#'-character. +# See STIF TestFramework users guide.doc for instructions + +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +# Set following test engine settings: +# - Set Test Reporting mode. TestReportMode's possible values are: +# + 'Summary': Summary of the tested test cases. +# + 'Environment': Hardware and software info. +# + 'TestCases': Test case report. +# + 'FullReport': Set of all above ones. +# + Example 'TestReportMode= Summary TestCases' +# +# - CreateTestReport setting controls report creation mode +# + YES, Test report will created. +# + NO, No Test report. +# +# - File path indicates the base path of the test report. +# - File name indicates the name of the test report. +# +# - File format indicates the type of the test report. +# + TXT, Test report file will be txt type, for example 'TestReport.txt'. +# + HTML, Test report will be html type, for example 'TestReport.html'. +# + XML, Test report will be xml type, for example 'TestReport.xml'. +# Note, that xml format is available only when output is set to FILE. +# +# - File output indicates output source of the test report. +# + FILE, Test report logging to file. +# + RDEBUG, Test report logging to using rdebug. +# +# - File Creation Mode indicates test report overwriting if file exist. +# + OVERWRITE, Overwrites if the Test report file exist. +# + APPEND, Continue logging after the old Test report information if +# report exist. +# - Sets a device reset module's dll name(Reboot). +# + If Nokia specific reset module is not available or it is not correct one +# StifHWResetStub module may use as a template for user specific reset +# module. +# - Sets STIF test measurement disable options. e.g. pluging1 and pluging2 disablation +# DisableMeasurement= stifmeasurementplugin01 stifmeasurementplugin02 +# + +[Engine_Defaults] + +TestReportMode= FullReport # Possible values are: 'Empty', 'Summary', 'Environment', + # 'TestCases' or 'FullReport' + +CreateTestReport= YES # Possible values: YES or NO + +TestReportFilePath= C:\LOGS\TestFramework\ +TestReportFileName= TestReport + +TestReportFormat= TXT # Possible values: TXT, HTML or XML +TestReportOutput= FILE # Possible values: FILE or RDEBUG +TestReportFileCreationMode= OVERWRITE # Possible values: OVERWRITE or APPEND + +DeviceResetDllName= StifResetForNokia.dll # e.g. 'StifHWResetStub.dll' for user specific reseting + +DisableMeasurement= stifmeasurementdisablenone # Possible values are: + # 'stifmeasurementdisablenone', 'stifmeasurementdisableall' + # 'stifmeasurementplugin01', 'stifmeasurementplugin02', + # 'stifmeasurementplugin03', 'stifmeasurementplugin04', + # 'stifmeasurementplugin05' or 'stifbappeaprofiler' + +Timeout= 0 # Default timeout value for each test case. In milliseconds +UITestingSupport= YES # Possible values: YES or NO +#SeparateProcesses= YES # Possible values: YES or NO (default: NO) +[End_Defaults] + +[New_Module] +ModuleName= testscripter +TestCaseFile= z:\testframework\UI_Tsanimctrl.cfg +TestCaseFile= z:\testframework\UI_Tsanimengine.cfg +TestCaseFile= z:\testframework\UI_Tsanimihl.cfg +TestCaseFile= z:\testframework\UI_Tsanimmif.cfg +TestCaseFile= z:\testframework\UI_Tsanimmmf.cfg +TestCaseFile= z:\testframework\UI_Tsanimsvg.cfg +TestCaseFile= z:\testframework\syserrcmdtest.cfg + +[End_Module] + + +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + + + +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +# Module configurations start +# Modules are added between module tags +# tags. Module name is specified after ModuleName= tag, like +# ModuleName= XXXXXXXXX +# Modules might have initialisation file, specified as +# IniFile= c:\testframework\YYYYYY +# Modules might have several configuration files, like +# TestCaseFile= c:\testframework\NormalCases.txt +# TestCaseFile= c:\testframework\SmokeCases.txt +# TestCaseFile= c:\testframework\ManualCases.txt + +# (TestCaseFile is synonym for old term ConfigFile) + +# Following case specifies demo module settings. Demo module +# does not read any settings from file, so tags +# IniFile and TestCaseFile are not used. +# In the simplest case it is enough to specify only the +# name of the test module when adding new test module + + + +# Load testmoduleXXX, optionally with initialization file and/or test case files +#[New_Module] +#ModuleName= testmodulexxx + +#TestModuleXXX used initialization file +#IniFile= c:\testframework\init.txt + +#TestModuleXXX used configuration file(s) +#TestCaseFile= c:\testframework\testcases1.cfg +#TestCaseFile= c:\testframework\testcases2.cfg +#TestCaseFile= c:\testframework\manualtestcases.cfg + +#[End_Module] +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + + + +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +# Set STIF logging overwrite parameters for Logger. +# Hardware and emulator environment logging path and styles can +# be configured from here to overwrite the Logger's implemented values. +# +# Settings description: +# - Indicates option for creation log directory/directories. If log directory/directories +# is/are not created by user they will make by software. +# + YES, Create log directory/directories if not allready exist. +# + NO, Log directory/directories not created. Only created one is used. +# +# - Overwrite emulator path setting. +# + Example: If 'EmulatorBasePath= C:\LOGS\TestFramework\' and in code is defined +# Logger's path 'D:\\LOGS\\Module\\' with those definition the path +# will be 'C:\LOGS\TestFramework\LOGS\Module\' +# +# - Overwrite emulator's logging format. +# + TXT, Log file(s) will be txt type(s), for example 'Module.txt'. +# + HTML, Log file(s) will be html type(s), for example 'Module.html'. +# +# - Overwrited emulator logging output source. +# + FILE, Logging to file(s). +# + RDEBUG, Logging to using rdebug(s). +# +# - Overwrite hardware path setting (Same description as above in emulator path). +# - Overwrite hardware's logging format(Same description as above in emulator format). +# - Overwrite hardware's logging output source(Same description as above in emulator output). +# +# - File Creation Mode indicates file overwriting if file exist. +# + OVERWRITE, Overwrites if file(s) exist. +# + APPEND, Continue logging after the old logging information if file(s) exist. +# +# - Will thread id include to the log filename. +# + YES, Thread id to log file(s) name, Example filename 'Module_b9.txt'. +# + NO, No thread id to log file(s), Example filename 'Module.txt'. +# +# - Will time stamps include the to log file. +# + YES, Time stamp added to each line in log file(s). Time stamp is +# for example'12.Nov.2003 115958 LOGGING INFO' +# + NO, No time stamp(s). +# +# - Will line breaks include to the log file. +# + YES, Each logging event includes line break and next log event is in own line. +# + NO, No line break(s). +# +# - Will event ranking include to the log file. +# + YES, Event ranking number added to each line in log file(s). Ranking number +# depends on environment's tics, for example(includes time stamp also) +# '012 12.Nov.2003 115958 LOGGING INFO' +# + NO, No event ranking. +# +# - Will write log file in unicode format. +# + YES, Log file will be written in unicode format +# + NO, Log will be written as normal, not unicode, file. +# + +[Logger_Defaults] + +#NOTE: If you want to set Logger using next setting(s) remove comment(s)'#' +#NOTE: TestEngine and TestServer logging settings cannot change here + +#CreateLogDirectories= YES # Possible values: YES or NO + +#EmulatorBasePath= C:\LOGS\TestFramework\ +#EmulatorFormat= HTML # Possible values: TXT or HTML +#EmulatorOutput= FILE # Possible values: FILE or RDEBUG + +#HardwareBasePath= D:\LOGS\TestFramework\ +#HardwareFormat= HTML # Possible values: TXT or HTML +#HardwareOutput= FILE # Possible values: FILE or RDEBUG + +#FileCreationMode= OVERWRITE # Possible values: OVERWRITE or APPEND + +#ThreadIdToLogFile= YES # Possible values: YES or NO +#WithTimeStamp= YES # Possible values: YES or NO +#WithLineBreak= YES # Possible values: YES or NO +#WithEventRanking= YES # Possible values: YES or NO + +#FileUnicode= YES # Possible values: YES or NO +#AddTestCaseTitle= YES # Possible values: YES or NO +[End_Logger_Defaults] +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + + + +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +# Set filters to be used by ConsoleUI. +# If you want to use filter with ConsoleUI, simply remove comments +# from section below and provide valid filter entries. +# Each filter line has to start with "filter= " keyword. +# Filter can contain special wildcard characters: +# * which stands for none or any literal; +# ? which stands for single character. +# Filters are not case-sensitive. + +#[Filters] +#filter= *math* +#filter= *radio* +#[End_Filters] +# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + +# End of file diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/rom/Tstartuptest.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/rom/Tstartuptest.iby Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,7 @@ +#ifndef __TSTARTUPANIMTEST_IBY__ +#define __TSTARTUPANIMTEST_IBY__ + + +data=\epoc32\data\z\system\data\TestFramework.ini \testframework\TestFramework.ini + +#endif \ No newline at end of file diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/tsanimsvg/Bmarm/TSanimsvgU.DEF --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/tsanimsvg/Bmarm/TSanimsvgU.DEF Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,3 @@ +EXPORTS + LibEntryL__FR13CTestModuleIf @ 1 NONAME R3UNUSED ; LibEntryL(CTestModuleIf &) + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/tsanimsvg/Bwins/TSanimsvgu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/tsanimsvg/Bwins/TSanimsvgu.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,3 @@ +EXPORTS + ?LibEntryL@@YAPAVCScriptBase@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CScriptBase * __cdecl LibEntryL(class CTestModuleIf &) + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/tsanimsvg/conf/UI_TSanimsvg.cfg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/tsanimsvg/conf/UI_TSanimsvg.cfg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,323 @@ +[Test] +title Example +create TSanimsvg AnimSvgPlugin +AnimSvgPlugin Example pa ra me ters +delete AnimSvgPlugin +[Endtest] + +[Test] +title TestConstructor +create TSanimsvg AnimSvgPlugin +AnimSvgPlugin SetupEmpty +AnimSvgPlugin TestConstructor +AnimSvgPlugin Teardown +delete AnimSvgPlugin +[Endtest] + +[Test] +title TestConstructorNoMemory +create TSanimsvg AnimSvgPlugin +AnimSvgPlugin SetupEmpty +AnimSvgPlugin TestConstructorNoMemory +AnimSvgPlugin Teardown +delete AnimSvgPlugin +[Endtest] + + +[Test] +title TestUnknownFileL +create TSanimsvg AnimSvgPlugin +AnimSvgPlugin SetupObj +AnimSvgPlugin TestUnknownFile +AnimSvgPlugin Teardown +delete AnimSvgPlugin +[Endtest] + + +[Test] +title TestCorruptFile +create TSanimsvg AnimSvgPlugin +AnimSvgPlugin SetupObj +AnimSvgPlugin TestCorruptFile +AnimSvgPlugin Teardown +delete AnimSvgPlugin +[Endtest] + +[Test] +title TestLoadStillImage +create TSanimsvg AnimSvgPlugin +AnimSvgPlugin SetupObj +AnimSvgPlugin TestLoadStillImage +AnimSvgPlugin Teardown +delete AnimSvgPlugin +[Endtest] + + +[Test] +title TestLoadScaledAnimation +create TSanimsvg AnimSvgPlugin +AnimSvgPlugin SetupObj +AnimSvgPlugin TestLoadScaledAnimation +AnimSvgPlugin Teardown +delete AnimSvgPlugin +[Endtest] + +[Test] +title TestLoadUnscaledAnimation +create TSanimsvg AnimSvgPlugin +AnimSvgPlugin SetupObj +AnimSvgPlugin TestLoadUnscaledAnimation +AnimSvgPlugin Teardown +delete AnimSvgPlugin +[Endtest] + + +[Test] +title TestLoadAnimationWithText +create TSanimsvg AnimSvgPlugin +AnimSvgPlugin SetupObj +AnimSvgPlugin TestLoadAnimationWithText +AnimSvgPlugin Teardown +delete AnimSvgPlugin +[Endtest] + +[Test] +title TestLoadStillImageBinary +create TSanimsvg AnimSvgPlugin +AnimSvgPlugin SetupObj +AnimSvgPlugin TestLoadStillImageBinary +AnimSvgPlugin Teardown +delete AnimSvgPlugin +[Endtest] + +[Test] +title TestLoadScaledAnimationBinary +create TSanimsvg AnimSvgPlugin +AnimSvgPlugin SetupObj +AnimSvgPlugin TestLoadScaledAnimationBinary +AnimSvgPlugin Teardown +delete AnimSvgPlugin +[Endtest] + + +[Test] +title TestLoadNoMemory +create TSanimsvg AnimSvgPlugin +AnimSvgPlugin SetupObj +AnimSvgPlugin TestLoadNoMemory +AnimSvgPlugin Teardown +delete AnimSvgPlugin +[Endtest] + + +[Test] +title TestCancelLoad +create TSanimsvg AnimSvgPlugin +AnimSvgPlugin SetupObj +AnimSvgPlugin TestCancelLoad +AnimSvgPlugin Teardown +delete AnimSvgPlugin +[Endtest] + +[Test] +title TestShowStillImage +create TSanimsvg AnimSvgPlugin +AnimSvgPlugin SetupStillImage +AnimSvgPlugin TestShowStillImage +AnimSvgPlugin Teardown +delete AnimSvgPlugin +[Endtest] + +[Test] +title TestShowAnimation +create TSanimsvg AnimSvgPlugin +AnimSvgPlugin SetupScaledAnimation +AnimSvgPlugin TestShowAnimation +AnimSvgPlugin Teardown +delete AnimSvgPlugin +[Endtest] + + +[Test] +title TestShowAnimation +create TSanimsvg AnimSvgPlugin +AnimSvgPlugin SetupUnscaledAnimation +AnimSvgPlugin TestShowAnimation +AnimSvgPlugin Teardown +delete AnimSvgPlugin +[Endtest] + +[Test] +title TestShowAnimation +create TSanimsvg AnimSvgPlugin +AnimSvgPlugin SetupAnimationWithText +AnimSvgPlugin TestShowAnimation +AnimSvgPlugin Teardown +delete AnimSvgPlugin +[Endtest] + + +[Test] +title TestShowStillImage +create TSanimsvg AnimSvgPlugin +AnimSvgPlugin SetupStillImageBinary +AnimSvgPlugin TestShowStillImage +AnimSvgPlugin Teardown +delete AnimSvgPlugin +[Endtest] + + +[Test] +title TestShowAnimation +create TSanimsvg AnimSvgPlugin +AnimSvgPlugin SetupScaledAnimationBinary +AnimSvgPlugin TestShowAnimation +AnimSvgPlugin Teardown +delete AnimSvgPlugin +[Endtest] + + +[Test] +title TestShowNoMemory +create TSanimsvg AnimSvgPlugin +AnimSvgPlugin SetupStillImage +AnimSvgPlugin TestShowNoMemory +AnimSvgPlugin Teardown +delete AnimSvgPlugin +[Endtest] + + +[Test] +title TestCancelStillImage +create TSanimsvg AnimSvgPlugin +AnimSvgPlugin SetupStillImage +AnimSvgPlugin TestCancelStillImage +AnimSvgPlugin Teardown +delete AnimSvgPlugin +[Endtest] + + +[Test] +title TestCancelAnimation +create TSanimsvg AnimSvgPlugin +AnimSvgPlugin SetupScaledAnimation +AnimSvgPlugin TestCancelAnimation +AnimSvgPlugin Teardown +delete AnimSvgPlugin +[Endtest] + +[Test] +title TestCancelNotActive +create TSanimsvg AnimSvgPlugin +AnimSvgPlugin SetupObj +AnimSvgPlugin TestCancelNotActive +AnimSvgPlugin Teardown +delete AnimSvgPlugin +[Endtest] + + +[Test] +title TestCancelNotActive +create TSanimsvg AnimSvgPlugin +AnimSvgPlugin SetupScaledAnimation +AnimSvgPlugin TestCancelNotActive +AnimSvgPlugin Teardown +delete AnimSvgPlugin +[Endtest] + + +[Test] +title TestCancelNotActive +create TSanimsvg AnimSvgPlugin +AnimSvgPlugin SetupFinished +AnimSvgPlugin TestCancelNotActive +AnimSvgPlugin Teardown +delete AnimSvgPlugin +[Endtest] + + +[Test] +title TestLoadStillImage +create TSanimsvg AnimSvgPlugin +AnimSvgPlugin SetupFinished +AnimSvgPlugin TestLoadStillImage +AnimSvgPlugin Teardown +delete AnimSvgPlugin +[Endtest] + + +[Test] +title TestLoadNoMemory +create TSanimsvg AnimSvgPlugin +AnimSvgPlugin SetupFinished +AnimSvgPlugin TestLoadNoMemory +AnimSvgPlugin Teardown +delete AnimSvgPlugin +[Endtest] + + +[Test] +title TestSetDisplayMode +create TSanimsvg AnimSvgPlugin +AnimSvgPlugin SetupObj +AnimSvgPlugin TestSetDisplayMode +AnimSvgPlugin Teardown +delete AnimSvgPlugin +[Endtest] + + +[Test] +title TestSetSize +create TSanimsvg AnimSvgPlugin +AnimSvgPlugin SetupObj +AnimSvgPlugin TestSetSize +AnimSvgPlugin Teardown +delete AnimSvgPlugin +[Endtest] + + +[Test] +title TestSetFrameDelay +create TSanimsvg AnimSvgPlugin +AnimSvgPlugin SetupObj +AnimSvgPlugin TestSetFrameDelay +AnimSvgPlugin Teardown +delete AnimSvgPlugin +[Endtest] + + +[Test] +title TestBackroundColour +create TSanimsvg AnimSvgPlugin +AnimSvgPlugin SetupObj +AnimSvgPlugin TestBackroundColour +AnimSvgPlugin Teardown +delete AnimSvgPlugin +[Endtest] + +[Test] +title TestBackroundColour +create TSanimmif AnimSvgPlugin +AnimSvgPlugin SetupStillImage +AnimSvgPlugin TestBackroundColour +AnimSvgPlugin Teardown +delete AnimSvgPlugin +[Endtest] + + + + + + + + + + + + + + + + + + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/tsanimsvg/eabi/TSanimsvgu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/tsanimsvg/eabi/TSanimsvgu.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,3 @@ +EXPORTS + _Z9LibEntryLR13CTestModuleIf @ 1 NONAME + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/tsanimsvg/group/TSanimsvg.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/tsanimsvg/group/TSanimsvg.pkg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,60 @@ +; +; 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: +; +; Installation file for STIF +; + +; Languages +&EN + +; Provide value for uid +#{"STIF"},(0x00000000),1,1,0,TYPE=SA + +; Series60 product id for S60 3.0 +[0x101F7961], 0, 0, 0, {"Series60ProductID"} + +; Localised Vendor name +%{"Nokia"} + +; Unique Vendor name +:"Nokia" + +; Logo +; None + +; Package signature - Optional +; None + +; Start of Package body + +; Condition blocks +; None + +; Options list +; None + +; Install files +"\epoc32\release\armv5\udeb\TSanimsvg.dll" - "!:\Sys\Bin\TSanimsvg.dll" + +; Embedded SIS +; None + +; End of Package body + +; PKG dependencies +; None + +; PKG capabilities +; None diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/tsanimsvg/group/TSanimsvg_DoxyFile.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/tsanimsvg/group/TSanimsvg_DoxyFile.txt Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,240 @@ +# +# 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: +# +# + +# Doxyfile 1.4.1 + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = TSanimsvg +PROJECT_NUMBER = +OUTPUT_DIRECTORY = \TSanimsvg\ +CREATE_SUBDIRS = NO +OUTPUT_LANGUAGE = English +USE_WINDOWS_ENCODING = YES +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ABBREVIATE_BRIEF = +ALWAYS_DETAILED_SEC = NO +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +STRIP_FROM_INC_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = NO +MULTILINE_CPP_IS_BRIEF = NO +DETAILS_AT_TOP = NO +INHERIT_DOCS = YES +DISTRIBUTE_GROUP_DOC = NO +TAB_SIZE = 8 +ALIASES = +OPTIMIZE_OUTPUT_FOR_C = YES +OPTIMIZE_OUTPUT_JAVA = NO +SUBGROUPING = YES +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- +EXTRACT_ALL = YES +EXTRACT_PRIVATE = NO +EXTRACT_STATIC = NO +EXTRACT_LOCAL_CLASSES = NO +EXTRACT_LOCAL_METHODS = NO +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +HIDE_FRIEND_COMPOUNDS = NO +HIDE_IN_BODY_DOCS = NO +INTERNAL_DOCS = YES +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +SHOW_INCLUDE_FILES = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +SORT_BRIEF_DOCS = NO +SORT_BY_SCOPE_NAME = NO +GENERATE_TODOLIST = NO +GENERATE_TESTLIST = NO +GENERATE_BUGLIST = NO +GENERATE_DEPRECATEDLIST= YES +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +SHOW_USED_FILES = YES +SHOW_DIRECTORIES = YES +FILE_VERSION_FILTER = +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- +QUIET = NO +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES +WARN_IF_DOC_ERROR = YES +WARN_NO_PARAMDOC = NO +WARN_FORMAT = "$file:$line: $text" +WARN_LOGFILE = +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = \TSanimsvg\ +FILE_PATTERNS = *.h \ + *.rh \ + *.hrh +RECURSIVE = YES +EXCLUDE = +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +EXAMPLE_RECURSIVE = NO +IMAGE_PATH = +INPUT_FILTER = +FILTER_PATTERNS = +FILTER_SOURCE_FILES = NO +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- +SOURCE_BROWSER = NO +INLINE_SOURCES = NO +STRIP_CODE_COMMENTS = YES +REFERENCED_BY_RELATION = YES +REFERENCES_RELATION = YES +VERBATIM_HEADERS = YES +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- +ALPHABETICAL_INDEX = NO +COLS_IN_ALPHA_INDEX = 5 +IGNORE_PREFIX = +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- +GENERATE_HTML = NO +HTML_OUTPUT = html +HTML_FILE_EXTENSION = .html +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = YES +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +BINARY_TOC = YES +TOC_EXPAND = YES +DISABLE_INDEX = YES +ENUM_VALUES_PER_LINE = 4 +GENERATE_TREEVIEW = YES +TREEVIEW_WIDTH = 250 +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +LATEX_CMD_NAME = latex +MAKEINDEX_CMD_NAME = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +USE_PDFLATEX = NO +LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- +GENERATE_RTF = YES +RTF_OUTPUT = Doc +COMPACT_RTF = YES +RTF_HYPERLINKS = YES +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_LINKS = NO +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- +GENERATE_XML = NO +XML_OUTPUT = xml +XML_SCHEMA = +XML_DTD = +XML_PROGRAMLISTING = YES +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- +GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- +GENERATE_PERLMOD = NO +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = YES +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = NONSHARABLE_CLASS +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- +TAGFILES = +GENERATE_TAGFILE = +ALLEXTERNALS = NO +EXTERNAL_GROUPS = YES +PERL_PATH = /usr/bin/perl +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- +CLASS_DIAGRAMS = YES +HIDE_UNDOC_RELATIONS = YES +HAVE_DOT = NO +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +GROUP_GRAPHS = YES +UML_LOOK = NO +TEMPLATE_RELATIONS = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +CALL_GRAPH = NO +GRAPHICAL_HIERARCHY = YES +DIRECTORY_GRAPH = YES +DOT_IMAGE_FORMAT = png +DOT_PATH = +DOTFILE_DIRS = +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 +MAX_DOT_GRAPH_DEPTH = 0 +DOT_TRANSPARENT = NO +DOT_MULTI_TARGETS = NO +GENERATE_LEGEND = YES +DOT_CLEANUP = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- +SEARCHENGINE = NO diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/tsanimsvg/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/tsanimsvg/group/bld.inf Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,60 @@ +/* +* 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: +* +*/ + +PRJ_PLATFORMS +// specify the platforms your component needs to be built for here +// defaults to WINS MARM so you can ignore this if you just build these + + DEFAULT + +PRJ_TESTEXPORTS +// NOTE: If using ARS requirements all export operations should be done under this. +// 'abld test export' + +PRJ_EXPORTS +// Specify the source file followed by its destination here +// copy will be used to copy the source file to its destination +// If there's no destination then the source file will be copied +// to the same name in \epoc32\include +// Example: +/* +\agnmodel\inc\AGMCOMON.H +*/ + +PRJ_TESTMMPFILES + + tsanimsvg.mmp + +PRJ_MMPFILES + + tsanimsvg.mmp + +// Specify the .mmp files required for building the important component +// releasables. +// +// Specify "tidy" if the component you need to build doesn't need to be +// released. Specify "ignore" if the MMP file exists but should be +// ignored. +// Example: +/* +\agnmodel\group\agnmodel.mmp +#if defined(MARM) +\agnmodel\group\agsvexe.mmp +#endif +*/ + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/tsanimsvg/group/ctcerr.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/tsanimsvg/group/ctcerr.txt Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,436 @@ + +******************************************************************************* + +argv[0]: C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\mwldsym2.exe +argv[1]: -version + +*** CTC++/ctcagent command: set PATH=C:\Apps\sbs\win32\mingw\bin;C:\Apps\sbs\win32\cygwin\bin;C:\Apps\sbs\win32\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\Wireless\Bin;c:\Program Files\Intel\WiFi\bin\;C:\Program Files\NTRU Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files\Wave Systems Corp\Gemalto\Access Client\v5\;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\ctc;C:\APPS\prevent\bin;C:\APPS\cltools;C:\APPS\7zip;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\APPS\imaker;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Nokia\FastTrace;\epoc32\gcc_mingw\bin;C:\APPS\romtools;C:\APPS\bc;C:\APPS\codecollaborator;C:\APPS\actpython\.;C:\APPS\codescanner;C:\APPS\sbs\bin;C:\APPS\symdec;C:\APPS\symrec;C:\APPS\blocks\bin;C:\APPS\helium;C:\APPS\ant\bin;C:\APPS\jdk_1.6.0_11\bin; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_cw\winscw.ini @C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\ctcopts.rsp mwldsym2 -version +*** CTC++/ctcagent command status: 0 + + +******************************************************************************* + +argv[0]: C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\mwccsym2.exe +argv[1]: -version + +*** CTC++/ctcagent command: set PATH=C:\Apps\sbs\win32\mingw\bin;C:\Apps\sbs\win32\cygwin\bin;C:\Apps\sbs\win32\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\Wireless\Bin;c:\Program Files\Intel\WiFi\bin\;C:\Program Files\NTRU Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files\Wave Systems Corp\Gemalto\Access Client\v5\;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\ctc;C:\APPS\prevent\bin;C:\APPS\cltools;C:\APPS\7zip;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\APPS\imaker;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Nokia\FastTrace;\epoc32\gcc_mingw\bin;C:\APPS\romtools;C:\APPS\bc;C:\APPS\codecollaborator;C:\APPS\actpython\.;C:\APPS\codescanner;C:\APPS\sbs\bin;C:\APPS\symdec;C:\APPS\symrec;C:\APPS\blocks\bin;C:\APPS\helium;C:\APPS\ant\bin;C:\APPS\jdk_1.6.0_11\bin; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_cw\winscw.ini @C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\ctcopts.rsp mwccsym2 -version +*** CTC++/ctcagent command status: 0 + + +******************************************************************************* + +argv[0]: C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\mwccsym2.exe +argv[1]: -c +argv[2]: -align +argv[3]: 4 +argv[4]: -warnings +argv[5]: on +argv[6]: -w +argv[7]: nohidevirtual,nounusedexpr +argv[8]: -msgstyle +argv[9]: gcc +argv[10]: -enum +argv[11]: int +argv[12]: -str +argv[13]: pool +argv[14]: -exc +argv[15]: ms +argv[16]: -trigraphs +argv[17]: on +argv[18]: -cwd +argv[19]: source +argv[20]: -g +argv[21]: -O0 +argv[22]: -inline +argv[23]: off +argv[24]: -runtime +argv[25]: staticmulti +argv[26]: -wchar_t +argv[27]: off +argv[28]: -nostdinc +argv[29]: -gccdepends +argv[30]: -MD +argv[31]: -d +argv[32]: __SYMBIAN32__ +argv[33]: -d +argv[34]: __CW32__ +argv[35]: -d +argv[36]: __WINS__ +argv[37]: -d +argv[38]: __WINSCW__ +argv[39]: -d +argv[40]: __SUPPORT_CPP_EXCEPTIONS__ +argv[41]: -d +argv[42]: _UNICODE +argv[43]: -d +argv[44]: _DEBUG +argv[45]: -d +argv[46]: __DLL__ +argv[47]: -i- +argv[48]: -i +argv[49]: Z:/startupservices/startupanimation/internal/test/TSanimsvg/inc +argv[50]: -i +argv[51]: Z:/startupservices/startupanimation/internal/test/inc +argv[52]: -i +argv[53]: Z:/inc +argv[54]: -i +argv[55]: Z:/startupservices/startupanimation/sanimengine/inc +argv[56]: -i +argv[57]: Z:/epoc32/include +argv[58]: -i +argv[59]: Z:/epoc32/include/platform +argv[60]: -i +argv[61]: Z:/epoc32/include/platform/loc +argv[62]: -i +argv[63]: Z:/epoc32/include/platform/loc/sc +argv[64]: -i +argv[65]: Z:/epoc32/include +argv[66]: -include +argv[67]: feature_settings.hrh +argv[68]: -o +argv[69]: Z:/epoc32/build/tsanimsvg/c_38dac13c6cc36cd1/tsanimsvg_dll/winscw/udeb/TSanimsvg.o +argv[70]: Z:/startupservices/startupanimation/internal/test/TSanimsvg/src/TSanimsvg.cpp + +*** CTC++/ctcagent command: set PATH=C:\Apps\sbs\win32\mingw\bin;C:\Apps\sbs\win32\cygwin\bin;C:\Apps\sbs\win32\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\Wireless\Bin;c:\Program Files\Intel\WiFi\bin\;C:\Program Files\NTRU Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files\Wave Systems Corp\Gemalto\Access Client\v5\;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\ctc;C:\APPS\prevent\bin;C:\APPS\cltools;C:\APPS\7zip;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\APPS\imaker;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Nokia\FastTrace;\epoc32\gcc_mingw\bin;C:\APPS\romtools;C:\APPS\bc;C:\APPS\codecollaborator;C:\APPS\actpython\.;C:\APPS\codescanner;C:\APPS\sbs\bin;C:\APPS\symdec;C:\APPS\symrec;C:\APPS\blocks\bin;C:\APPS\helium;C:\APPS\ant\bin;C:\APPS\jdk_1.6.0_11\bin; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_cw\winscw.ini @C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\ctcopts.rsp mwccsym2 -c -align 4 -warnings on -w nohidevirtual,nounusedexpr -msgstyle gcc -enum int -str pool -exc ms -trigraphs on -cwd source -g -O0 -inline off -runtime staticmulti -wchar_t off -nostdinc -gccdepends -MD -d __SYMBIAN32__ -d __CW32__ -d __WINS__ -d __WINSCW__ -d __SUPPORT_CPP_EXCEPTIONS__ -d _UNICODE -d _DEBUG -d __DLL__ -i- -i Z:/startupservices/startupanimation/internal/test/TSanimsvg/inc -i Z:/startupservices/startupanimation/internal/test/inc -i Z:/inc -i Z:/startupservices/startupanimation/sanimengine/inc -i Z:/epoc32/include -i Z:/epoc32/include/platform -i Z:/epoc32/include/platform/loc -i Z:/epoc32/include/platform/loc/sc -i Z:/epoc32/include -include feature_settings.hrh -o Z:/epoc32/build/tsanimsvg/c_38dac13c6cc36cd1/tsanimsvg_dll/winscw/udeb/TSanimsvg.o Z:/startupservices/startupanimation/internal/test/TSanimsvg/src/TSanimsvg.cpp + +******************************************************************************* + +argv[0]: C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\mwccsym2.exe +argv[1]: -c +argv[2]: -align +argv[3]: 4 +argv[4]: -warnings +argv[5]: on +argv[6]: -w +argv[7]: nohidevirtual,nounusedexpr +argv[8]: -msgstyle +argv[9]: gcc +argv[10]: -enum +argv[11]: int +argv[12]: -str +argv[13]: pool +argv[14]: -exc +argv[15]: ms +argv[16]: -trigraphs +argv[17]: on +argv[18]: -cwd +argv[19]: source +argv[20]: -g +argv[21]: -O0 +argv[22]: -inline +argv[23]: off +argv[24]: -runtime +argv[25]: staticmulti +argv[26]: -wchar_t +argv[27]: off +argv[28]: -nostdinc +argv[29]: -gccdepends +argv[30]: -MD +argv[31]: -d +argv[32]: __SYMBIAN32__ +argv[33]: -d +argv[34]: __CW32__ +argv[35]: -d +argv[36]: __WINS__ +argv[37]: -d +argv[38]: __WINSCW__ +argv[39]: -d +argv[40]: __SUPPORT_CPP_EXCEPTIONS__ +argv[41]: -d +argv[42]: _UNICODE +argv[43]: -d +argv[44]: _DEBUG +argv[45]: -d +argv[46]: __DLL__ +argv[47]: -i- +argv[48]: -i +argv[49]: Z:/startupservices/startupanimation/internal/test/TSanimsvg/inc +argv[50]: -i +argv[51]: Z:/startupservices/startupanimation/internal/test/inc +argv[52]: -i +argv[53]: Z:/inc +argv[54]: -i +argv[55]: Z:/startupservices/startupanimation/sanimengine/inc +argv[56]: -i +argv[57]: Z:/epoc32/include +argv[58]: -i +argv[59]: Z:/epoc32/include/platform +argv[60]: -i +argv[61]: Z:/epoc32/include/platform/loc +argv[62]: -i +argv[63]: Z:/epoc32/include/platform/loc/sc +argv[64]: -i +argv[65]: Z:/epoc32/include +argv[66]: -include +argv[67]: feature_settings.hrh +argv[68]: -o +argv[69]: Z:/epoc32/build/tsanimsvg/c_38dac13c6cc36cd1/tsanimsvg_dll/winscw/udeb/testwaiter.o +argv[70]: Z:/startupservices/startupanimation/internal/test/TSanimsvg/src/testwaiter.cpp + +*** CTC++/ctcagent command: set PATH=C:\Apps\sbs\win32\mingw\bin;C:\Apps\sbs\win32\cygwin\bin;C:\Apps\sbs\win32\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\Wireless\Bin;c:\Program Files\Intel\WiFi\bin\;C:\Program Files\NTRU Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files\Wave Systems Corp\Gemalto\Access Client\v5\;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\ctc;C:\APPS\prevent\bin;C:\APPS\cltools;C:\APPS\7zip;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\APPS\imaker;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Nokia\FastTrace;\epoc32\gcc_mingw\bin;C:\APPS\romtools;C:\APPS\bc;C:\APPS\codecollaborator;C:\APPS\actpython\.;C:\APPS\codescanner;C:\APPS\sbs\bin;C:\APPS\symdec;C:\APPS\symrec;C:\APPS\blocks\bin;C:\APPS\helium;C:\APPS\ant\bin;C:\APPS\jdk_1.6.0_11\bin; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_cw\winscw.ini @C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\ctcopts.rsp mwccsym2 -c -align 4 -warnings on -w nohidevirtual,nounusedexpr -msgstyle gcc -enum int -str pool -exc ms -trigraphs on -cwd source -g -O0 -inline off -runtime staticmulti -wchar_t off -nostdinc -gccdepends -MD -d __SYMBIAN32__ -d __CW32__ -d __WINS__ -d __WINSCW__ -d __SUPPORT_CPP_EXCEPTIONS__ -d _UNICODE -d _DEBUG -d __DLL__ -i- -i Z:/startupservices/startupanimation/internal/test/TSanimsvg/inc -i Z:/startupservices/startupanimation/internal/test/inc -i Z:/inc -i Z:/startupservices/startupanimation/sanimengine/inc -i Z:/epoc32/include -i Z:/epoc32/include/platform -i Z:/epoc32/include/platform/loc -i Z:/epoc32/include/platform/loc/sc -i Z:/epoc32/include -include feature_settings.hrh -o Z:/epoc32/build/tsanimsvg/c_38dac13c6cc36cd1/tsanimsvg_dll/winscw/udeb/testwaiter.o Z:/startupservices/startupanimation/internal/test/TSanimsvg/src/testwaiter.cpp + +******************************************************************************* + +argv[0]: C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\mwldsym2.exe +argv[1]: Z:/epoc32/build/tsanimsvg/c_38dac13c6cc36cd1/tsanimsvg_dll/winscw/udeb/TSanimsvg.prep.def +argv[2]: -importlib +argv[3]: -o +argv[4]: Z:/epoc32/release/winscw/udeb/TSanimsvg.lib +argv[5]: -addcommand +argv[6]: out:TSanimsvg.dll +argv[7]: -warnings +argv[8]: off + +*** CTC++/ctcagent command: set PATH=C:\Apps\sbs\win32\mingw\bin;C:\Apps\sbs\win32\cygwin\bin;C:\Apps\sbs\win32\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\Wireless\Bin;c:\Program Files\Intel\WiFi\bin\;C:\Program Files\NTRU Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files\Wave Systems Corp\Gemalto\Access Client\v5\;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\ctc;C:\APPS\prevent\bin;C:\APPS\cltools;C:\APPS\7zip;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\APPS\imaker;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Nokia\FastTrace;\epoc32\gcc_mingw\bin;C:\APPS\romtools;C:\APPS\bc;C:\APPS\codecollaborator;C:\APPS\actpython\.;C:\APPS\codescanner;C:\APPS\sbs\bin;C:\APPS\symdec;C:\APPS\symrec;C:\APPS\blocks\bin;C:\APPS\helium;C:\APPS\ant\bin;C:\APPS\jdk_1.6.0_11\bin; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_cw\winscw.ini @C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\ctcopts.rsp mwldsym2 Z:/epoc32/build/tsanimsvg/c_38dac13c6cc36cd1/tsanimsvg_dll/winscw/udeb/TSanimsvg.prep.def -importlib -o Z:/epoc32/release/winscw/udeb/TSanimsvg.lib -addcommand out:TSanimsvg.dll -warnings off + +******************************************************************************* + +argv[0]: C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\mwccsym2.exe +argv[1]: -c +argv[2]: -align +argv[3]: 4 +argv[4]: -warnings +argv[5]: on +argv[6]: -w +argv[7]: nohidevirtual,nounusedexpr +argv[8]: -msgstyle +argv[9]: gcc +argv[10]: -enum +argv[11]: int +argv[12]: -str +argv[13]: pool +argv[14]: -exc +argv[15]: ms +argv[16]: -trigraphs +argv[17]: on +argv[18]: -cwd +argv[19]: source +argv[20]: -g +argv[21]: -O0 +argv[22]: -inline +argv[23]: off +argv[24]: -runtime +argv[25]: staticmulti +argv[26]: -wchar_t +argv[27]: off +argv[28]: -nostdinc +argv[29]: -gccdepends +argv[30]: -MD +argv[31]: -d +argv[32]: __SYMBIAN32__ +argv[33]: -d +argv[34]: __CW32__ +argv[35]: -d +argv[36]: __WINS__ +argv[37]: -d +argv[38]: __WINSCW__ +argv[39]: -d +argv[40]: __SUPPORT_CPP_EXCEPTIONS__ +argv[41]: -d +argv[42]: _UNICODE +argv[43]: -d +argv[44]: _DEBUG +argv[45]: -d +argv[46]: __DLL__ +argv[47]: -i- +argv[48]: -i +argv[49]: Z:/startupservices/startupanimation/internal/test/TSanimsvg/inc +argv[50]: -i +argv[51]: Z:/startupservices/startupanimation/internal/test/inc +argv[52]: -i +argv[53]: Z:/inc +argv[54]: -i +argv[55]: Z:/startupservices/startupanimation/sanimengine/inc +argv[56]: -i +argv[57]: Z:/epoc32/include +argv[58]: -i +argv[59]: Z:/epoc32/include/platform +argv[60]: -i +argv[61]: Z:/epoc32/include/platform/loc +argv[62]: -i +argv[63]: Z:/epoc32/include/platform/loc/sc +argv[64]: -i +argv[65]: Z:/epoc32/include +argv[66]: -include +argv[67]: feature_settings.hrh +argv[68]: -o +argv[69]: Z:/epoc32/build/tsanimsvg/c_38dac13c6cc36cd1/tsanimsvg_dll/winscw/udeb/TSanimsvgBlocks.o +argv[70]: Z:/startupservices/startupanimation/internal/test/TSanimsvg/src/TSanimsvgBlocks.cpp + +*** CTC++/ctcagent command: set PATH=C:\Apps\sbs\win32\mingw\bin;C:\Apps\sbs\win32\cygwin\bin;C:\Apps\sbs\win32\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\Wireless\Bin;c:\Program Files\Intel\WiFi\bin\;C:\Program Files\NTRU Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files\Wave Systems Corp\Gemalto\Access Client\v5\;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\ctc;C:\APPS\prevent\bin;C:\APPS\cltools;C:\APPS\7zip;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\APPS\imaker;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Nokia\FastTrace;\epoc32\gcc_mingw\bin;C:\APPS\romtools;C:\APPS\bc;C:\APPS\codecollaborator;C:\APPS\actpython\.;C:\APPS\codescanner;C:\APPS\sbs\bin;C:\APPS\symdec;C:\APPS\symrec;C:\APPS\blocks\bin;C:\APPS\helium;C:\APPS\ant\bin;C:\APPS\jdk_1.6.0_11\bin; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_cw\winscw.ini @C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\ctcopts.rsp mwccsym2 -c -align 4 -warnings on -w nohidevirtual,nounusedexpr -msgstyle gcc -enum int -str pool -exc ms -trigraphs on -cwd source -g -O0 -inline off -runtime staticmulti -wchar_t off -nostdinc -gccdepends -MD -d __SYMBIAN32__ -d __CW32__ -d __WINS__ -d __WINSCW__ -d __SUPPORT_CPP_EXCEPTIONS__ -d _UNICODE -d _DEBUG -d __DLL__ -i- -i Z:/startupservices/startupanimation/internal/test/TSanimsvg/inc -i Z:/startupservices/startupanimation/internal/test/inc -i Z:/inc -i Z:/startupservices/startupanimation/sanimengine/inc -i Z:/epoc32/include -i Z:/epoc32/include/platform -i Z:/epoc32/include/platform/loc -i Z:/epoc32/include/platform/loc/sc -i Z:/epoc32/include -include feature_settings.hrh -o Z:/epoc32/build/tsanimsvg/c_38dac13c6cc36cd1/tsanimsvg_dll/winscw/udeb/TSanimsvgBlocks.o Z:/startupservices/startupanimation/internal/test/TSanimsvg/src/TSanimsvgBlocks.cpp +*** CTC++/ctcagent command status: 0 + + +******************************************************************************* + +argv[0]: C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\mwccsym2.exe +argv[1]: -c +argv[2]: -align +argv[3]: 4 +argv[4]: -warnings +argv[5]: on +argv[6]: -w +argv[7]: nohidevirtual,nounusedexpr +argv[8]: -msgstyle +argv[9]: gcc +argv[10]: -enum +argv[11]: int +argv[12]: -str +argv[13]: pool +argv[14]: -exc +argv[15]: ms +argv[16]: -trigraphs +argv[17]: on +argv[18]: -cwd +argv[19]: source +argv[20]: -g +argv[21]: -O0 +argv[22]: -inline +argv[23]: off +argv[24]: -runtime +argv[25]: staticmulti +argv[26]: -wchar_t +argv[27]: off +argv[28]: -nostdinc +argv[29]: -gccdepends +argv[30]: -MD +argv[31]: -d +argv[32]: __SYMBIAN32__ +argv[33]: -d +argv[34]: __CW32__ +argv[35]: -d +argv[36]: __WINS__ +argv[37]: -d +argv[38]: __WINSCW__ +argv[39]: -d +argv[40]: __SUPPORT_CPP_EXCEPTIONS__ +argv[41]: -d +argv[42]: _UNICODE +argv[43]: -d +argv[44]: _DEBUG +argv[45]: -d +argv[46]: __DLL__ +argv[47]: -i- +argv[48]: -i +argv[49]: Z:/startupservices/startupanimation/internal/test/TSanimsvg/inc +argv[50]: -i +argv[51]: Z:/startupservices/startupanimation/internal/test/inc +argv[52]: -i +argv[53]: Z:/inc +argv[54]: -i +argv[55]: Z:/startupservices/startupanimation/sanimengine/inc +argv[56]: -i +argv[57]: Z:/epoc32/include +argv[58]: -i +argv[59]: Z:/epoc32/include/platform +argv[60]: -i +argv[61]: Z:/epoc32/include/platform/loc +argv[62]: -i +argv[63]: Z:/epoc32/include/platform/loc/sc +argv[64]: -i +argv[65]: Z:/epoc32/include +argv[66]: -include +argv[67]: feature_settings.hrh +argv[68]: -o +argv[69]: Z:/epoc32/build/tsanimsvg/c_38dac13c6cc36cd1/tsanimsvg_dll/winscw/udeb/TSanimsvg_UID_.o +argv[70]: Z:/epoc32/build/tsanimsvg/c_38dac13c6cc36cd1/tsanimsvg_dll/winscw/udeb/TSanimsvg.UID.CPP + +*** CTC++/ctcagent command: set PATH=C:\Apps\sbs\win32\mingw\bin;C:\Apps\sbs\win32\cygwin\bin;C:\Apps\sbs\win32\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\Wireless\Bin;c:\Program Files\Intel\WiFi\bin\;C:\Program Files\NTRU Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files\Wave Systems Corp\Gemalto\Access Client\v5\;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\ctc;C:\APPS\prevent\bin;C:\APPS\cltools;C:\APPS\7zip;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\APPS\imaker;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Nokia\FastTrace;\epoc32\gcc_mingw\bin;C:\APPS\romtools;C:\APPS\bc;C:\APPS\codecollaborator;C:\APPS\actpython\.;C:\APPS\codescanner;C:\APPS\sbs\bin;C:\APPS\symdec;C:\APPS\symrec;C:\APPS\blocks\bin;C:\APPS\helium;C:\APPS\ant\bin;C:\APPS\jdk_1.6.0_11\bin; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_cw\winscw.ini @C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\ctcopts.rsp mwccsym2 -c -align 4 -warnings on -w nohidevirtual,nounusedexpr -msgstyle gcc -enum int -str pool -exc ms -trigraphs on -cwd source -g -O0 -inline off -runtime staticmulti -wchar_t off -nostdinc -gccdepends -MD -d __SYMBIAN32__ -d __CW32__ -d __WINS__ -d __WINSCW__ -d __SUPPORT_CPP_EXCEPTIONS__ -d _UNICODE -d _DEBUG -d __DLL__ -i- -i Z:/startupservices/startupanimation/internal/test/TSanimsvg/inc -i Z:/startupservices/startupanimation/internal/test/inc -i Z:/inc -i Z:/startupservices/startupanimation/sanimengine/inc -i Z:/epoc32/include -i Z:/epoc32/include/platform -i Z:/epoc32/include/platform/loc -i Z:/epoc32/include/platform/loc/sc -i Z:/epoc32/include -include feature_settings.hrh -o Z:/epoc32/build/tsanimsvg/c_38dac13c6cc36cd1/tsanimsvg_dll/winscw/udeb/TSanimsvg_UID_.o Z:/epoc32/build/tsanimsvg/c_38dac13c6cc36cd1/tsanimsvg_dll/winscw/udeb/TSanimsvg.UID.CPP +*** CTC++/ctcagent command status: 0 + +*** CTC++/ctcagent command status: 0 + +*** CTC++/ctcagent command status: 0 + +*** CTC++/ctcagent command status: 0 + + +******************************************************************************* + +argv[0]: C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\mwldsym2.exe +argv[1]: -msgstyle +argv[2]: gcc +argv[3]: -stdlib +argv[4]: -subsystem +argv[5]: windows +argv[6]: -g +argv[7]: -main +argv[8]: __Win32DllMain@12 +argv[9]: -shared +argv[10]: -m +argv[11]: __E32Dll +argv[12]: -export +argv[13]: dllexport +argv[14]: -nocompactimportlib +argv[15]: -addcommand +argv[16]: out:TSanimsvg.dll +argv[17]: -warnings +argv[18]: off +argv[19]: -implib +argv[20]: Z:/epoc32/build/tsanimsvg/c_38dac13c6cc36cd1/tsanimsvg_dll/winscw/udeb/TSanimsvg.lib +argv[21]: -o +argv[22]: Z:/epoc32/build/tsanimsvg/c_38dac13c6cc36cd1/tsanimsvg_dll/winscw/udeb/TSanimsvg.dll +argv[23]: Z:/epoc32/release/winscw/udeb/edll.lib +argv[24]: Z:/epoc32/release/winscw/udeb/scppnwdl.lib +argv[25]: Z:/epoc32/release/winscw/udeb/euser.lib +argv[26]: Z:/epoc32/release/winscw/udeb/stiftestinterface.lib +argv[27]: Z:/epoc32/release/winscw/udeb/stiftestengine.lib +argv[28]: Z:/epoc32/release/winscw/udeb/ecom.lib +argv[29]: Z:/epoc32/release/winscw/udeb/efsrv.lib +argv[30]: Z:/epoc32/release/winscw/udeb/sanimengine.lib +argv[31]: -l +argv[32]: Z:/epoc32/build/tsanimsvg/c_38dac13c6cc36cd1/tsanimsvg_dll/winscw/udeb +argv[33]: -search +argv[34]: @Z:/epoc32/build/tsanimsvg/c_38dac13c6cc36cd1/tsanimsvg_dll/winscw/udeb/TSanimsvg_udeb_objects.lrf + +*** CTC++/ctcagent command: set PATH=C:\Apps\sbs\win32\mingw\bin;C:\Apps\sbs\win32\cygwin\bin;C:\Apps\sbs\win32\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\Wireless\Bin;c:\Program Files\Intel\WiFi\bin\;C:\Program Files\NTRU Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files\Wave Systems Corp\Gemalto\Access Client\v5\;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\ctc;C:\APPS\prevent\bin;C:\APPS\cltools;C:\APPS\7zip;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\APPS\imaker;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Nokia\FastTrace;\epoc32\gcc_mingw\bin;C:\APPS\romtools;C:\APPS\bc;C:\APPS\codecollaborator;C:\APPS\actpython\.;C:\APPS\codescanner;C:\APPS\sbs\bin;C:\APPS\symdec;C:\APPS\symrec;C:\APPS\blocks\bin;C:\APPS\helium;C:\APPS\ant\bin;C:\APPS\jdk_1.6.0_11\bin; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_cw\winscw.ini @C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\ctcopts.rsp mwldsym2 -msgstyle gcc -stdlib -subsystem windows -g -main __Win32DllMain@12 -shared -m __E32Dll -export dllexport -nocompactimportlib -addcommand out:TSanimsvg.dll -warnings off -implib Z:/epoc32/build/tsanimsvg/c_38dac13c6cc36cd1/tsanimsvg_dll/winscw/udeb/TSanimsvg.lib -o Z:/epoc32/build/tsanimsvg/c_38dac13c6cc36cd1/tsanimsvg_dll/winscw/udeb/TSanimsvg.dll Z:/epoc32/release/winscw/udeb/edll.lib Z:/epoc32/release/winscw/udeb/scppnwdl.lib Z:/epoc32/release/winscw/udeb/euser.lib Z:/epoc32/release/winscw/udeb/stiftestinterface.lib Z:/epoc32/release/winscw/udeb/stiftestengine.lib Z:/epoc32/release/winscw/udeb/ecom.lib Z:/epoc32/release/winscw/udeb/efsrv.lib Z:/epoc32/release/winscw/udeb/sanimengine.lib -l Z:/epoc32/build/tsanimsvg/c_38dac13c6cc36cd1/tsanimsvg_dll/winscw/udeb -search @Z:/epoc32/build/tsanimsvg/c_38dac13c6cc36cd1/tsanimsvg_dll/winscw/udeb/TSanimsvg_udeb_objects.lrf +*** CTC++/ctcagent command status: 0 + + +******************************************************************************* + +argv[0]: C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\mwldsym2.exe +argv[1]: -S +argv[2]: -show +argv[3]: only,names,unmangled,verbose +argv[4]: -o +argv[5]: Z:/epoc32/build/tsanimsvg/c_38dac13c6cc36cd1/tsanimsvg_dll/winscw/udeb/TSanimsvg.inf +argv[6]: Z:/epoc32/build/tsanimsvg/c_38dac13c6cc36cd1/tsanimsvg_dll/winscw/udeb/TSanimsvg.lib + +*** CTC++/ctcagent command: set PATH=C:\Apps\sbs\win32\mingw\bin;C:\Apps\sbs\win32\cygwin\bin;C:\Apps\sbs\win32\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\Wireless\Bin;c:\Program Files\Intel\WiFi\bin\;C:\Program Files\NTRU Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files\Wave Systems Corp\Gemalto\Access Client\v5\;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\ctc;C:\APPS\prevent\bin;C:\APPS\cltools;C:\APPS\7zip;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\APPS\imaker;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Nokia\FastTrace;\epoc32\gcc_mingw\bin;C:\APPS\romtools;C:\APPS\bc;C:\APPS\codecollaborator;C:\APPS\actpython\.;C:\APPS\codescanner;C:\APPS\sbs\bin;C:\APPS\symdec;C:\APPS\symrec;C:\APPS\blocks\bin;C:\APPS\helium;C:\APPS\ant\bin;C:\APPS\jdk_1.6.0_11\bin; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_cw\winscw.ini @C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\ctcopts.rsp mwldsym2 -S -show only,names,unmangled,verbose -o Z:/epoc32/build/tsanimsvg/c_38dac13c6cc36cd1/tsanimsvg_dll/winscw/udeb/TSanimsvg.inf Z:/epoc32/build/tsanimsvg/c_38dac13c6cc36cd1/tsanimsvg_dll/winscw/udeb/TSanimsvg.lib +*** CTC++/ctcagent command status: 0 + + +******************************************************************************* + +argv[0]: C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\mwldsym2.exe +argv[1]: -msgstyle +argv[2]: gcc +argv[3]: -stdlib +argv[4]: -subsystem +argv[5]: windows +argv[6]: -g +argv[7]: -main +argv[8]: __Win32DllMain@12 +argv[9]: -shared +argv[10]: -f +argv[11]: Z:/epoc32/build/tsanimsvg/c_38dac13c6cc36cd1/tsanimsvg_dll/winscw/udeb/TSanimsvg.def +argv[12]: Z:/epoc32/release/winscw/udeb/edll.lib +argv[13]: Z:/epoc32/release/winscw/udeb/scppnwdl.lib +argv[14]: Z:/epoc32/release/winscw/udeb/euser.lib +argv[15]: Z:/epoc32/release/winscw/udeb/stiftestinterface.lib +argv[16]: Z:/epoc32/release/winscw/udeb/stiftestengine.lib +argv[17]: Z:/epoc32/release/winscw/udeb/ecom.lib +argv[18]: Z:/epoc32/release/winscw/udeb/efsrv.lib +argv[19]: Z:/epoc32/release/winscw/udeb/sanimengine.lib +argv[20]: -o +argv[21]: Z:/epoc32/release/winscw/udeb/TSanimsvg.dll +argv[22]: -noimplib +argv[23]: -l +argv[24]: Z:/epoc32/build/tsanimsvg/c_38dac13c6cc36cd1/tsanimsvg_dll/winscw/udeb +argv[25]: -search +argv[26]: @Z:/epoc32/build/tsanimsvg/c_38dac13c6cc36cd1/tsanimsvg_dll/winscw/udeb/TSanimsvg_udeb_objects.lrf + +*** CTC++/ctcagent command: set PATH=C:\Apps\sbs\win32\mingw\bin;C:\Apps\sbs\win32\cygwin\bin;C:\Apps\sbs\win32\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\Wireless\Bin;c:\Program Files\Intel\WiFi\bin\;C:\Program Files\NTRU Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files\Wave Systems Corp\Gemalto\Access Client\v5\;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\ctc;C:\APPS\prevent\bin;C:\APPS\cltools;C:\APPS\7zip;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\APPS\imaker;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Nokia\FastTrace;\epoc32\gcc_mingw\bin;C:\APPS\romtools;C:\APPS\bc;C:\APPS\codecollaborator;C:\APPS\actpython\.;C:\APPS\codescanner;C:\APPS\sbs\bin;C:\APPS\symdec;C:\APPS\symrec;C:\APPS\blocks\bin;C:\APPS\helium;C:\APPS\ant\bin;C:\APPS\jdk_1.6.0_11\bin; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_cw\winscw.ini @C:\DOCUME~1\praprave\LOCALS~1\Temp\ctc4\ctcopts.rsp mwldsym2 -msgstyle gcc -stdlib -subsystem windows -g -main __Win32DllMain@12 -shared -f Z:/epoc32/build/tsanimsvg/c_38dac13c6cc36cd1/tsanimsvg_dll/winscw/udeb/TSanimsvg.def Z:/epoc32/release/winscw/udeb/edll.lib Z:/epoc32/release/winscw/udeb/scppnwdl.lib Z:/epoc32/release/winscw/udeb/euser.lib Z:/epoc32/release/winscw/udeb/stiftestinterface.lib Z:/epoc32/release/winscw/udeb/stiftestengine.lib Z:/epoc32/release/winscw/udeb/ecom.lib Z:/epoc32/release/winscw/udeb/efsrv.lib Z:/epoc32/release/winscw/udeb/sanimengine.lib -o Z:/epoc32/release/winscw/udeb/TSanimsvg.dll -noimplib -l Z:/epoc32/build/tsanimsvg/c_38dac13c6cc36cd1/tsanimsvg_dll/winscw/udeb -search @Z:/epoc32/build/tsanimsvg/c_38dac13c6cc36cd1/tsanimsvg_dll/winscw/udeb/TSanimsvg_udeb_objects.lrf +*** CTC++/ctcagent command status: 0 + diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/tsanimsvg/group/profile.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/tsanimsvg/group/profile.txt Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,115 @@ +***************************************************************************** +* CTC++, Test Coverage Analyzer for C/C++, Version 6.5.5 * +* * +* EXECUTION PROFILE LISTING * +* * +* Copyright (c) 1993-2009 Testwell Oy * +***************************************************************************** + + +Symbol file(s) used : MON.sym (Mon Aug 23 12:07:03 2010) +Data file(s) used : N.A. +Listing produced at : Mon Aug 23 12:50:08 2010 +Coverage view : As instrumented + + + +MONITORED SOURCE FILE : Z:/startupservices/startupanimation/internal/test/TSanimsvg/src/TSanimsvg.cpp +INSTRUMENTATION MODE : function + + START/ END/ + TRUE FALSE LINE DESCRIPTION +============================================================================= + + 0 0 - 80 FUNCTION CTSanimsvg::CTSanimsvg() + 0 0 - 91 FUNCTION CTSanimsvg::ConstructL() + 0 0 - 139 FUNCTION CTSanimsvg::NewL() + 0 0 - 153 FUNCTION CTSanimsvg::~CTSanimsvg() + 0 0 - 169 FUNCTION CTSanimsvg::SendTestClassVersion() + 0 0 - 190 FUNCTION LibEntryL() + +***TER 0 % ( 0/ 6) of SOURCE FILE Z:/startupservices/startupanimation/internal/test/TSanimsvg/src/TSanimsvg.cpp +----------------------------------------------------------------------------- + + + +MONITORED SOURCE FILE : Z:/startupservices/startupanimation/internal/test/TSanimsvg/src/TSanimsvgBlocks.cpp +INSTRUMENTATION MODE : function + + START/ END/ + TRUE FALSE LINE DESCRIPTION +============================================================================= + + 0 0 - 81 FUNCTION CTSanimsvg::Delete() + 0 0 - 91 FUNCTION CTSanimsvg::RunMethodL() + 0 0 - 154 FUNCTION TMockSvgAnimationObserver::UpdateScreen() + 0 0 - 167 FUNCTION TMockSvgAnimationObserver::UpdateScreen() + 0 0 - 179 FUNCTION CTSanimsvg::SetupEmptyL() + 0 0 - 196 FUNCTION CTSanimsvg::SetupObjL() + 0 0 - 212 FUNCTION CTSanimsvg::SetupFileL() + 0 0 - 227 FUNCTION CTSanimsvg::SetupStillImageL() + 0 0 - 239 FUNCTION CTSanimsvg::SetupScaledAnimationL() + 0 0 - 251 FUNCTION CTSanimsvg::SetupUnscaledAnimationL() + 0 0 - 263 FUNCTION CTSanimsvg::SetupAnimationWithTextL() + 0 0 - 275 FUNCTION CTSanimsvg::SetupStillImageBinaryL() + 0 0 - 287 FUNCTION CTSanimsvg::SetupScaledAnimationBinaryL() + 0 0 - 299 FUNCTION CTSanimsvg::SetupFinishedL() + 0 0 - 314 FUNCTION CTSanimsvg::Teardown() + 0 0 - 336 FUNCTION CTSanimsvg::TestConstructorL() + 0 0 - 354 FUNCTION CTSanimsvg::TestConstructorNoMemoryL() + 0 0 - 369 FUNCTION CTSanimsvg::TestUnknownFileL() + 0 0 - 384 FUNCTION CTSanimsvg::TestCorruptFileL() + 0 0 - 399 FUNCTION CTSanimsvg::TestLoadStillImageL() + 0 0 - 414 FUNCTION CTSanimsvg::TestLoadScaledAnimationL() + 0 0 - 429 FUNCTION CTSanimsvg::TestLoadUnscaledAnimationL() + 0 0 - 444 FUNCTION CTSanimsvg::TestLoadAnimationWithTextL() + 0 0 - 459 FUNCTION CTSanimsvg::TestLoadStillImageBinaryL() + 0 0 - 474 FUNCTION CTSanimsvg::TestLoadScaledAnimationBinaryL() + 0 0 - 489 FUNCTION CTSanimsvg::TestLoadNoMemoryL() + 0 0 - 504 FUNCTION CTSanimsvg::TestCancelLoadL() + 0 0 - 520 FUNCTION CTSanimsvg::TestShowStillImageL() + 0 0 - 536 FUNCTION CTSanimsvg::TestShowAnimationL() + 0 0 - 551 FUNCTION CTSanimsvg::TestShowNoMemoryL() + 0 0 - 566 FUNCTION CTSanimsvg::TestCancelStillImageL() + 0 0 - 582 FUNCTION CTSanimsvg::TestCancelAnimationL() + 0 0 - 598 FUNCTION CTSanimsvg::TestCancelNotActiveL() + 0 0 - 610 FUNCTION CTSanimsvg::TestShowBeforeLoadL() + 0 0 - 622 FUNCTION CTSanimsvg::TestSetDisplayModeL() + 0 0 - 646 FUNCTION CTSanimsvg::TestSetSizeL() + 0 0 - 670 FUNCTION CTSanimsvg::TestSetFrameDelayL() + 0 0 - 695 FUNCTION CTSanimsvg::TestBackroundColourL() + 0 0 - 709 FUNCTION CTSanimsvg::ExampleL() + +***TER 0 % ( 0/ 39) of SOURCE FILE Z:/startupservices/startupanimation/internal/test/TSanimsvg/src/TSanimsvgBlocks.cpp +----------------------------------------------------------------------------- + + + +MONITORED SOURCE FILE : Z:/startupservices/startupanimation/internal/test/TSanimsvg/src/testwaiter.cpp +INSTRUMENTATION MODE : function + + START/ END/ + TRUE FALSE LINE DESCRIPTION +============================================================================= + + 0 0 - 30 FUNCTION CTestWaiter::NewL() + 0 0 - 42 FUNCTION CTestWaiter::~CTestWaiter() + 0 0 - 52 FUNCTION CTestWaiter::Activate() + 0 0 - 65 FUNCTION CTestWaiter::CTestWaiter() + 0 0 - 77 FUNCTION CTestWaiter::DoCancel() + 0 0 - 87 FUNCTION CTestWaiter::RunL() + +***TER 0 % ( 0/ 6) of SOURCE FILE Z:/startupservices/startupanimation/internal/test/TSanimsvg/src/testwaiter.cpp +----------------------------------------------------------------------------- + + + + + +SUMMARY +======= + +Number of monitored source files : 3 +Number of source lines : 1020 +Number of measurement points : 102 +TER : 0% (function) diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/tsanimsvg/group/tsanimsvg.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/tsanimsvg/group/tsanimsvg.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,89 @@ +/*TYPE TESTCLASS*/ +/* +* 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: MMP file for STIF Test Framework's TestScripter +* testclass test module. +* +*/ + +#include + +SMPSAFE + +TARGET tsanimsvg.dll +TARGETTYPE dll +UID 0x1000008D 0x101FB3E3 + +CAPABILITY ALL -TCB +/* Remove comments and replace 0x00000000 with correct vendor id */ +// VENDORID 0x00000000 +/* Remove comments and replace 0x00000000 with correct secure id */ +// SECUREID 0x00000000 + +//TARGETPATH ?target_path +DEFFILE tsanimsvg.def + + +USERINCLUDE ../inc +USERINCLUDE ../../inc +USERINCLUDE ../../../../../../inc +USERINCLUDE ../../../../sanimengine/inc + + +OS_LAYER_SYSTEMINCLUDE + +SOURCEPATH ../src + +SOURCE TSanimsvg.cpp +SOURCE TSanimsvgBlocks.cpp +SOURCE testwaiter.cpp + +//RESOURCE resource_file +//RESOURCE resource_file2 + +LIBRARY euser.lib +LIBRARY stiftestinterface.lib +LIBRARY stiftestengine.lib +LIBRARY ecom.lib +LIBRARY efsrv.lib +LIBRARY sanimengine.lib + + + +EPOCALLOWDLLDATA +LANG SC + +/* +START WINS +?wins_specific_information +END + +START MARM +?marm_specific_information +END +*/ +// Other possible keywords: + +// DOCUMENT ?file, that is not compiled, but added to MSVC project workspace (i.e. release notes) +/* +START BITMAP ?target +TARGETPATH ?emulated_path_on_target_machine +HEADER +SOURCE ?color_depth ?source_bitmap +END +*/ +// DEFFILE ?filename +// AIF ?filename + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/tsanimsvg/inc/TSanimsvg.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/tsanimsvg/inc/TSanimsvg.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,240 @@ +/* +* 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: STIF testclass declaration +* +*/ + +#ifndef TSANIMSVG_H +#define TSANIMSVG_H + +// INCLUDES +#include +#include +#include +#include + + +#include +#include +#include "sanimobserver.h" + +class CSAnimImagePlugin; +class CTestWaiter; +// FORWARD DECLARATIONS +//class ?FORWARD_CLASSNAME; +class CTSanimsvg; + + + +NONSHARABLE_CLASS( TMockSvgAnimationObserver ) : public MSAnimObserver + { +public: + TMockSvgAnimationObserver( CTSanimsvg& aTestSuite ) : iTestSuite( aTestSuite ) {} + virtual void UpdateScreen( const CFbsBitmap& /*aFrame*/, const CFbsBitmap& /*aMask*/ ); + virtual void UpdateScreen( const CFbsBitmap& /*aFrame*/ ); +private: + CTSanimsvg& iTestSuite; + }; + + + +// CONSTANTS +//const ?type ?constant_var = ?constant; + +// MACROS +//#define ?macro ?macro_def +#define TEST_CLASS_VERSION_MAJOR 0 +#define TEST_CLASS_VERSION_MINOR 0 +#define TEST_CLASS_VERSION_BUILD 0 + +// Logging path +_LIT( KTSanimsvgLogPath, "\\logs\\testframework\\TSanimsvg\\" ); +// Log file +_LIT( KTSanimsvgLogFile, "TSanimsvg.txt" ); +_LIT( KTSanimsvgLogFileWithTitle, "TSanimsvg_[%S].txt" ); + +// FUNCTION PROTOTYPES +//?type ?function_name(?arg_list); + + +// DATA TYPES +//enum ?declaration +//typedef ?declaration +//extern ?data_type; + +// CLASS DECLARATION + +/** +* CTSanimsvg test class for STIF Test Framework TestScripter. +* ?other_description_lines +* +* @lib ?library +* @since ?Series60_version +*/ +NONSHARABLE_CLASS(CTSanimsvg) : public CScriptBase + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + */ + static CTSanimsvg* NewL( CTestModuleIf& aTestModuleIf ); + + /** + * Destructor. + */ + virtual ~CTSanimsvg(); + + public: // New functions + + /** + * ?member_description. + * @since ?Series60_version + * @param ?arg1 ?description + * @return ?description + */ + //?type ?member_function( ?type ?arg1 ); + + public: // Functions from base classes + + /** + * From CScriptBase Runs a script line. + * @since ?Series60_version + * @param aItem Script line containing method name and parameters + * @return Symbian OS error code + */ + virtual TInt RunMethodL( CStifItemParser& aItem ); + + protected: // New functions + + /** + * ?member_description. + * @since ?Series60_version + * @param ?arg1 ?description + * @return ?description + */ + //?type ?member_function( ?type ?arg1 ); + + protected: // Functions from base classes + + /** + * From ?base_class ?member_description + */ + //?type ?member_function(); + + private: + + /** + * C++ default constructor. + */ + CTSanimsvg( CTestModuleIf& aTestModuleIf ); + + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL(); + + // Prohibit copy constructor if not deriving from CBase. + // ?classname( const ?classname& ); + // Prohibit assigment operator if not deriving from CBase. + // ?classname& operator=( const ?classname& ); + + /** + * Frees all resources allocated from test methods. + * @since ?Series60_version + */ + void Delete(); + + /** + * Test methods are listed below. + */ + + /** + * Example test method. + * @since ?Series60_version + * @param aItem Script line containing parameters. + * @return Symbian OS error code. + */ + virtual TInt ExampleL( CStifItemParser& aItem ); + + /** + * Method used to log version of test class + */ + void SendTestClassVersion(); + + + TInt SetupEmptyL(); + TInt SetupObjL(); + void SetupFileL( const TDesC& aFileName ); + TInt SetupStillImageL(); + TInt SetupScaledAnimationL(); + TInt SetupUnscaledAnimationL(); + TInt SetupAnimationWithTextL(); + TInt SetupStillImageBinaryL(); + TInt SetupScaledAnimationBinaryL(); + TInt SetupFinishedL(); + TInt Teardown(); + + TInt TestConstructorL(); + TInt TestConstructorNoMemoryL(); + TInt TestUnknownFileL(); + TInt TestCorruptFileL(); + TInt TestLoadStillImageL(); + TInt TestLoadScaledAnimationL(); + TInt TestLoadUnscaledAnimationL(); + TInt TestLoadAnimationWithTextL(); + TInt TestLoadStillImageBinaryL(); + TInt TestLoadScaledAnimationBinaryL(); + TInt TestLoadNoMemoryL(); + TInt TestCancelLoadL(); + TInt TestShowStillImageL(); + TInt TestShowAnimationL(); + TInt TestShowNoMemoryL(); + TInt TestCancelStillImageL(); + TInt TestCancelAnimationL(); + TInt TestCancelNotActiveL(); + TInt TestShowBeforeLoadL(); + TInt TestSetDisplayModeL(); + TInt TestSetSizeL(); + TInt TestSetFrameDelayL(); + TInt TestBackroundColourL(); + + private: // data + + + friend class TMockSvgAnimationObserver; + + /** File server session used in testing. */ + RFs iFs; + + /** Instance of the class that this test suite is testing. */ + CSAnimImagePlugin* iTestObj; + + /** A 32 bit identifer returned by ECom to identify this instance to the framework. */ + TUid iDtorKey; + + /** For testing async calls. */ + CTestWaiter* iWaiter; + + /** For testing correct number of calls to animation observer. */ + TInt iFrameCounter; + + /** Animation observer for testing. */ + TMockSvgAnimationObserver iObserver; + + }; + +#endif // TSANIMSVG_H + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/tsanimsvg/inc/sanimsvgplugintestsuite.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/tsanimsvg/inc/sanimsvgplugintestsuite.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,149 @@ +/* +* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Symbian Foundation License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Declaration of CSAnimSvgPluginTestSuite class +* +*/ + + +#ifndef SANIMSVGPLUGINTESTSUITE_H +#define SANIMSVGPLUGINTESTSUITE_H + +#include +#include +#include +#include "sanimobserver.h" + +class CSAnimImagePlugin; +class CSAnimSvgPluginTestSuite; +class CTestWaiter; + +NONSHARABLE_CLASS( TMockSvgAnimationObserver ) : public MSAnimObserver + { +public: + TMockSvgAnimationObserver( CSAnimSvgPluginTestSuite& aTestSuite ) : iTestSuite( aTestSuite ) {} + virtual void UpdateScreen( const CFbsBitmap& /*aFrame*/, const CFbsBitmap& /*aMask*/ ); + virtual void UpdateScreen( const CFbsBitmap& /*aFrame*/ ); +private: + CSAnimSvgPluginTestSuite& iTestSuite; + }; + +/** +* Test cases for CSAnimSvgPlugin class. +* +* @lib None +* @since S60 3.2 +*/ +NONSHARABLE_CLASS( CSAnimSvgPluginTestSuite ) : public CEUnitTestSuiteClass + { + +public: + + /** + * Constructs a CSAnimSvgPluginTestSuite object. + * + * @since S60 3.2 + * + * @return The new object + */ + static CSAnimSvgPluginTestSuite* NewL(); + static CSAnimSvgPluginTestSuite* NewLC(); + + /** + * Destructor. + * + * @since S60 3.2 + */ + virtual ~CSAnimSvgPluginTestSuite(); + +private: + + /** + * First phase constructor. + * + * @since S60 3.2 + */ + CSAnimSvgPluginTestSuite(); + + /** + * Second phase constructor. + * + * @since S60 3.2 + */ + void ConstructL(); + +private: // New methods + + void SetupEmptyL(); + void SetupObjL(); + void SetupFileL( const TDesC& aFileName ); + void SetupStillImageL(); + void SetupScaledAnimationL(); + void SetupUnscaledAnimationL(); + void SetupAnimationWithTextL(); + void SetupStillImageBinaryL(); + void SetupScaledAnimationBinaryL(); + void SetupFinishedL(); + void Teardown(); + + void TestConstructorL(); + void TestConstructorNoMemoryL(); + void TestUnknownFileL(); + void TestCorruptFileL(); + void TestLoadStillImageL(); + void TestLoadScaledAnimationL(); + void TestLoadUnscaledAnimationL(); + void TestLoadAnimationWithTextL(); + void TestLoadStillImageBinaryL(); + void TestLoadScaledAnimationBinaryL(); + void TestLoadNoMemoryL(); + void TestCancelLoadL(); + void TestShowStillImageL(); + void TestShowAnimationL(); + void TestShowNoMemoryL(); + void TestCancelStillImageL(); + void TestCancelAnimationL(); + void TestCancelNotActiveL(); + void TestShowBeforeLoadL(); + void TestSetDisplayModeL(); + void TestSetSizeL(); + void TestSetFrameDelayL(); + void TestBackroundColourL(); + +private: // data + + EUNIT_DECLARE_TEST_TABLE; + + friend class TMockSvgAnimationObserver; + + /** File server session used in testing. */ + RFs iFs; + + /** Instance of the class that this test suite is testing. */ + CSAnimImagePlugin* iTestObj; + + /** A 32 bit identifer returned by ECom to identify this instance to the framework. */ + TUid iDtorKey; + + /** For testing async calls. */ + CTestWaiter* iWaiter; + + /** For testing correct number of calls to animation observer. */ + TInt iFrameCounter; + + /** Animation observer for testing. */ + TMockSvgAnimationObserver iObserver; + + }; + +#endif // SANIMSVGPLUGINTESTSUITE_H diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/tsanimsvg/inc/testwaiter.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/tsanimsvg/inc/testwaiter.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,88 @@ +/* +* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Symbian Foundation License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Declaration of CTestWaiter class +* +*/ + + +#ifndef TESTWAITER_H +#define TESTWAITER_H + +#include + +/** +* Stops active scheduler in RunL. +* +* @lib None +* @since S60 3.2 +*/ +class CTestWaiter : public CActive + { + +public: + + /** + * Constructs a CTestWaiter object. + * + * @return The new object + * @since S60 3.2 + */ + static CTestWaiter* NewL(); + + /** + * Destructor. + * + * @since S60 3.2 + */ + virtual ~CTestWaiter(); + + /** + * Set active. + * + * @since S60 3.2 + */ + void Activate(); + +protected: + + /** + * From CActive. + * Implements cancellation of an outstanding request. + * + * @since S60 3.2 + */ + virtual void DoCancel(); + + /** + * From CActive. + * Handles an active object's request completion event. + * Never leaves. + * + * @since S60 3.2 + */ + virtual void RunL(); + +private: + + /** + * First phase constructor. + * + */ + CTestWaiter(); + +private: // data + + }; + +#endif // TESTWAITER_H diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/tsanimsvg/rom/TSanimSvg.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/tsanimsvg/rom/TSanimSvg.iby Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,9 @@ +#ifndef __TSANIMSVG_IBY__ +#define __TSANIMSVG_IBY__ + +file=ABI_DIR\BUILD_DIR\tsanimsvg.dll SHARED_LIB_DIR\tsanimsvg.dll + +data=\epoc32\data\z\system\data\UI_tsanimSvg.cfg \testframework\UI_tsanimsvg.cfg + + +#endif \ No newline at end of file diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/tsanimsvg/src/TSanimsvg.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/tsanimsvg/src/TSanimsvg.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,198 @@ +/* +* 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: This file contains testclass implementation. +* +*/ + +// INCLUDE FILES +#include +#include "TSanimsvg.h" +#include + +// EXTERNAL DATA STRUCTURES +//extern ?external_data; + +// EXTERNAL FUNCTION PROTOTYPES +//extern ?external_function( ?arg_type,?arg_type ); + +// CONSTANTS +//const ?type ?constant_var = ?constant; + +// MACROS +//#define ?macro ?macro_def + +// LOCAL CONSTANTS AND MACROS +//const ?type ?constant_var = ?constant; +//#define ?macro_name ?macro_def + +// MODULE DATA STRUCTURES +//enum ?declaration +//typedef ?declaration + +// LOCAL FUNCTION PROTOTYPES +//?type ?function_name( ?arg_type, ?arg_type ); + +// FORWARD DECLARATIONS +//class ?FORWARD_CLASSNAME; + +// ============================= LOCAL FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// ?function_name ?description. +// ?description +// Returns: ?value_1: ?description +// ?value_n: ?description_line1 +// ?description_line2 +// ----------------------------------------------------------------------------- +// +/* +?type ?function_name( + ?arg_type arg, // ?description + ?arg_type arg) // ?description + { + + ?code // ?comment + + // ?comment + ?code + } +*/ + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CTSanimsvg::CTSanimsvg +// C++ default constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +// +CTSanimsvg::CTSanimsvg( + CTestModuleIf& aTestModuleIf ): + CScriptBase( aTestModuleIf ),iObserver( *this ) + { + } + +// ----------------------------------------------------------------------------- +// CTSanimsvg::ConstructL +// Symbian 2nd phase constructor can leave. +// ----------------------------------------------------------------------------- +// +void CTSanimsvg::ConstructL() + { + //Read logger settings to check whether test case name is to be + //appended to log file name. + RSettingServer settingServer; + TInt ret = settingServer.Connect(); + if(ret != KErrNone) + { + User::Leave(ret); + } + // Struct to StifLogger settigs. + TLoggerSettings loggerSettings; + // Parse StifLogger defaults from STIF initialization file. + ret = settingServer.GetLoggerSettings(loggerSettings); + if(ret != KErrNone) + { + User::Leave(ret); + } + // Close Setting server session + settingServer.Close(); + + TFileName logFileName; + + if(loggerSettings.iAddTestCaseTitle) + { + TName title; + TestModuleIf().GetTestCaseTitleL(title); + logFileName.Format(KTSanimsvgLogFileWithTitle, &title); + } + else + { + logFileName.Copy(KTSanimsvgLogFile); + } + + iLog = CStifLogger::NewL( KTSanimsvgLogPath, + logFileName, + CStifLogger::ETxt, + CStifLogger::EFile, + EFalse ); + + SendTestClassVersion(); + } + +// ----------------------------------------------------------------------------- +// CTSanimsvg::NewL +// Two-phased constructor. +// ----------------------------------------------------------------------------- +// +CTSanimsvg* CTSanimsvg::NewL( + CTestModuleIf& aTestModuleIf ) + { + CTSanimsvg* self = new (ELeave) CTSanimsvg( aTestModuleIf ); + + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop(); + + return self; + + } + +// Destructor +CTSanimsvg::~CTSanimsvg() + { + + // Delete resources allocated from test methods + Delete(); + + // Delete logger + delete iLog; + + } + +//----------------------------------------------------------------------------- +// CTSanimsvg::SendTestClassVersion +// Method used to send version of test class +//----------------------------------------------------------------------------- +// +void CTSanimsvg::SendTestClassVersion() + { + TVersion moduleVersion; + moduleVersion.iMajor = TEST_CLASS_VERSION_MAJOR; + moduleVersion.iMinor = TEST_CLASS_VERSION_MINOR; + moduleVersion.iBuild = TEST_CLASS_VERSION_BUILD; + + TFileName moduleName; + moduleName = _L("TSanimsvg.dll"); + + TBool newVersionOfMethod = ETrue; + TestModuleIf().SendTestModuleVersion(moduleVersion, moduleName, newVersionOfMethod); + } + +// ========================== OTHER EXPORTED FUNCTIONS ========================= + +// ----------------------------------------------------------------------------- +// LibEntryL is a polymorphic Dll entry point. +// Returns: CScriptBase: New CScriptBase derived object +// ----------------------------------------------------------------------------- +// +EXPORT_C CScriptBase* LibEntryL( + CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework + { + + return ( CScriptBase* ) CTSanimsvg::NewL( aTestModuleIf ); + + } + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/tsanimsvg/src/TSanimsvgBlocks.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/tsanimsvg/src/TSanimsvgBlocks.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,826 @@ +/* +* 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: This file contains testclass implementation. +* +*/ + +// [INCLUDE FILES] - do not remove +#include +#include +#include +#include "TSanimsvg.h" + + +#include "sanimimageplugin.h" +#include "testwaiter.h" + +#include + + +#pragma tagging OFF // To disable CodeTest tagging + +const TInt KSAnimSvgPluginImplUid = 0x2000B122; +const TInt K1Second = 1000000; + +_LIT( KUnknownFile, "C:\\temp\\unknown.svg" ); +_LIT( KCorruptFile, "C:\\temp\\corrupt.svg" ); +_LIT( KStillImageFile, "C:\\temp\\testimg_1.svg" ); +_LIT( KScaledAnimationFile, "C:\\temp\\testanim_1.svg" ); +_LIT( KUnscaledAnimationFile, "C:\\temp\\testanim_2.svg" ); +_LIT( KAnimationWithTextFile, "C:\\temp\\testanim_3.svg" ); +_LIT( KStillImageBinaryFile, "C:\\temp\\testimg_1.svgb" ); +_LIT( KScaledAnimationBinaryFile, "C:\\temp\\testanim_1.svgb" ); + + + +// FORWARD DECLARATIONS +//class ?FORWARD_CLASSNAME; + +// ============================= LOCAL FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// ?function_name ?description. +// ?description +// Returns: ?value_1: ?description +// ?value_n: ?description_line1 +// ?description_line2 +// ----------------------------------------------------------------------------- +// +/* +?type ?function_name( + ?arg_type arg, // ?description + ?arg_type arg) // ?description + { + + ?code // ?comment + + // ?comment + ?code + } +*/ + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CTSanimsvg::Delete +// Delete here all resources allocated and opened from test methods. +// Called from destructor. +// ----------------------------------------------------------------------------- +// +void CTSanimsvg::Delete() + { + + } + +// ----------------------------------------------------------------------------- +// CTSanimsvg::RunMethodL +// Run specified method. Contains also table of test mothods and their names. +// ----------------------------------------------------------------------------- +// +TInt CTSanimsvg::RunMethodL( + CStifItemParser& aItem ) + { + + static TStifFunctionInfo const KFunctions[] = + { + // Copy this line for every implemented function. + // First string is the function name used in TestScripter script file. + // Second is the actual implementation member function. + ENTRY( "Example", CTSanimsvg::ExampleL ), + ENTRY( "SetupEmpty", CTSanimsvg::SetupEmptyL ), + ENTRY( "SetupObj", CTSanimsvg::SetupObjL ), + ENTRY( "SetupStillImage", CTSanimsvg::SetupStillImageL ), + ENTRY( "SetupScaledAnimation", CTSanimsvg::SetupScaledAnimationL ), + ENTRY( "SetupUnscaledAnimation", CTSanimsvg::SetupUnscaledAnimationL ), + ENTRY( "SetupAnimationWithText", CTSanimsvg::SetupAnimationWithTextL ), + ENTRY( "SetupStillImageBinary", CTSanimsvg::SetupStillImageBinaryL ), + ENTRY( "SetupScaledAnimationBinary", CTSanimsvg::SetupScaledAnimationBinaryL ), + ENTRY( "SetupFinished", CTSanimsvg::SetupFinishedL ), + ENTRY( "Teardown", CTSanimsvg::Teardown ), + ENTRY( "TestConstructor", CTSanimsvg::TestConstructorL ), + ENTRY( "TestConstructorNoMemory", CTSanimsvg::TestConstructorNoMemoryL ), + ENTRY( "TestUnknownFile", CTSanimsvg::TestUnknownFileL ), + ENTRY( "TestCorruptFile", CTSanimsvg::TestCorruptFileL ), + ENTRY( "TestLoadStillImage", CTSanimsvg::TestLoadStillImageL ), + ENTRY( "TestLoadScaledAnimation", CTSanimsvg::TestLoadScaledAnimationL ), + ENTRY( "TestLoadUnscaledAnimation", CTSanimsvg::TestLoadUnscaledAnimationL ), + ENTRY( "TestLoadAnimationWithText", CTSanimsvg::TestLoadAnimationWithTextL ), + ENTRY( "TestLoadStillImageBinary", CTSanimsvg::TestLoadStillImageBinaryL ), + ENTRY( "TestLoadScaledAnimationBinary", CTSanimsvg::TestLoadScaledAnimationBinaryL ), + ENTRY( "TestLoadNoMemory", CTSanimsvg::TestLoadNoMemoryL ), + ENTRY( "TestCancelLoad", CTSanimsvg::TestCancelLoadL ), + ENTRY( "TestShowStillImage", CTSanimsvg::TestShowStillImageL ), + ENTRY( "TestShowAnimation", CTSanimsvg::TestShowAnimationL ), + ENTRY( "TestShowNoMemory", CTSanimsvg::TestShowNoMemoryL ), + ENTRY( "TestCancelStillImage", CTSanimsvg::TestCancelStillImageL ), + ENTRY( "TestCancelAnimation", CTSanimsvg::TestCancelAnimationL ), + ENTRY( "TestCancelNotActive", CTSanimsvg::TestCancelNotActiveL ), + ENTRY( "TestShowBeforeLoad", CTSanimsvg::TestShowBeforeLoadL ), + ENTRY( "TestSetDisplayMode", CTSanimsvg::TestSetDisplayModeL ), + ENTRY( "TestSetSize", CTSanimsvg::TestSetSizeL ), + ENTRY( "TestSetFrameDelay", CTSanimsvg::TestSetFrameDelayL ), + ENTRY( "TestBackroundColour", CTSanimsvg::TestBackroundColourL ), + + + //ADD NEW ENTRY HERE + // [test cases entries] - Do not rove + + }; + + const TInt count = sizeof( KFunctions ) / + sizeof( TStifFunctionInfo ); + + return RunInternalL( KFunctions, count, aItem ); + + } + +// ======== MEMBER FUNCTIONS ======== + +// --------------------------------------------------------------------------- +// TMockSvgAnimationObserver::UpdateScreen +// +// --------------------------------------------------------------------------- +// +void TMockSvgAnimationObserver::UpdateScreen( const CFbsBitmap& /*aFrame*/, const CFbsBitmap& /*aMask*/ ) + { + RDebug::Print( _L( "TMockSvgAnimationObserver::UpdateScreen" ) ); + + iTestSuite.iFrameCounter++; + } + + +// --------------------------------------------------------------------------- +// TMockSvgAnimationObserver::UpdateScreen +// +// --------------------------------------------------------------------------- +// +void TMockSvgAnimationObserver::UpdateScreen( const CFbsBitmap& /*aFrame*/ ) + { + iTestSuite.iFrameCounter++; + } + + + +// --------------------------------------------------------------------------- +// CSAnimSvgPluginTestSuite::SetupEmptyL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimsvg::SetupEmptyL() + { + iTestObj = NULL; + iDtorKey = TUid::Uid( 0 ); + User::LeaveIfError( iFs.Connect() ); + User::LeaveIfError( iFs.ShareProtected() ); + iWaiter = CTestWaiter::NewL(); + iFrameCounter = 0; + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimSvgPluginTestSuite::SetupObjL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimsvg::SetupObjL() + { + SetupEmptyL(); + iTestObj = static_cast( + REComSession::CreateImplementationL( + TUid::Uid( KSAnimSvgPluginImplUid ), iDtorKey, &iObserver ) ); + iTestObj->SetSize( TSize( 360 , 61 ) ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimSvgPluginTestSuite::SetupFileL +// +// --------------------------------------------------------------------------- +// +void CTSanimsvg::SetupFileL( const TDesC& aFileName ) + { + SetupObjL(); + iTestObj->Load( iFs, aFileName, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + + } + + +// --------------------------------------------------------------------------- +// CSAnimSvgPluginTestSuite::SetupStillImageL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimsvg::SetupStillImageL() + { + SetupFileL( KStillImageFile ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimSvgPluginTestSuite::SetupScaledAnimationL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimsvg::SetupScaledAnimationL() + { + SetupFileL( KScaledAnimationFile ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimSvgPluginTestSuite::SetupUnscaledAnimationL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimsvg::SetupUnscaledAnimationL() + { + SetupFileL( KUnscaledAnimationFile ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimSvgPluginTestSuite::SetupAnimationWithTextL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimsvg::SetupAnimationWithTextL() + { + SetupFileL( KAnimationWithTextFile ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimSvgPluginTestSuite::SetupStillImageBinaryL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimsvg::SetupStillImageBinaryL() + { + SetupFileL( KStillImageBinaryFile ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimSvgPluginTestSuite::SetupScaledAnimationBinaryL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimsvg::SetupScaledAnimationBinaryL() + { + SetupFileL( KScaledAnimationBinaryFile ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimSvgPluginTestSuite::SetupFinishedL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimsvg::SetupFinishedL() + { + SetupScaledAnimationL(); + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimSvgPluginTestSuite::Teardown +// +// --------------------------------------------------------------------------- +// +TInt CTSanimsvg::Teardown() + { + delete iTestObj; + iTestObj = NULL; + + REComSession::DestroyedImplementation( iDtorKey ); + + delete iWaiter; + iWaiter = NULL; + + iFs.Close(); + + REComSession::FinalClose(); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimSvgPluginTestSuite::TestConstructorL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimsvg::TestConstructorL() + { + TAny* ptr = NULL; + ptr = REComSession::CreateImplementationL(TUid::Uid( KSAnimSvgPluginImplUid ),iDtorKey, &iObserver); + + iTestObj = static_cast( ptr ); + // EUNIT_ASSERT( iTestObj ); + delete iTestObj; + iTestObj = NULL; + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimSvgPluginTestSuite::TestConstructorNoMemoryL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimsvg::TestConstructorNoMemoryL() + { + TAny* ptr = NULL; + ptr = REComSession::CreateImplementationL(TUid::Uid( KSAnimSvgPluginImplUid ), iDtorKey, &iObserver ); + + //EUNIT_ASSERT( !ptr ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimSvgPluginTestSuite::TestUnknownFileL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimsvg::TestUnknownFileL() + { + iTestObj->Load( iFs, KUnknownFile, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if( iWaiter->iStatus.Int()== KErrGeneral ) // SVG engine returns "unknown error" + { + + } + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimSvgPluginTestSuite::TestCorruptFileL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimsvg::TestCorruptFileL() + { + iTestObj->Load( iFs, KCorruptFile, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int()== KErrGeneral )// SVG engine returns "unknown error" + { + + } + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimSvgPluginTestSuite::TestLoadStillImageL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimsvg::TestLoadStillImageL() + { + iTestObj->Load( iFs, KStillImageFile, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int() == KErrNone ) + { + + } + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimSvgPluginTestSuite::TestLoadScaledAnimationL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimsvg::TestLoadScaledAnimationL() + { + iTestObj->Load( iFs, KScaledAnimationFile, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int()== KErrNone ) + { + + } + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimSvgPluginTestSuite::TestLoadUnscaledAnimationL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimsvg::TestLoadUnscaledAnimationL() + { + iTestObj->Load( iFs, KUnscaledAnimationFile, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int()== KErrNone ) + { + + } + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimSvgPluginTestSuite::TestLoadAnimationWithTextL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimsvg::TestLoadAnimationWithTextL() + { + iTestObj->Load( iFs, KAnimationWithTextFile, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int() == KErrNone ) + { + + } + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimSvgPluginTestSuite::TestLoadStillImageBinaryL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimsvg::TestLoadStillImageBinaryL() + { + iTestObj->Load( iFs, KStillImageBinaryFile, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int()== KErrNone ) + { + + } + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimSvgPluginTestSuite::TestLoadScaledAnimationBinaryL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimsvg::TestLoadScaledAnimationBinaryL() + { + iTestObj->Load( iFs, KScaledAnimationBinaryFile, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int()== KErrNone ) + { + + } + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimSvgPluginTestSuite::TestLoadNoMemoryL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimsvg::TestLoadNoMemoryL() + { + iTestObj->Load( iFs, KAnimationWithTextFile, iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if (iWaiter->iStatus.Int()== KErrNoMemory ) + { + + } + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimSvgPluginTestSuite::TestCancelLoadL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimsvg::TestCancelLoadL() + { + iTestObj->Load( iFs, KAnimationWithTextFile, iWaiter->iStatus ); + iWaiter->Activate(); + iTestObj->Cancel(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int()== KErrNone ) + { + } + + // Load is syncronous + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimSvgPluginTestSuite::TestShowStillImageL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimsvg::TestShowStillImageL() + { + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if (iWaiter->iStatus.Int() == KErrNone ) + { + + } + // EUNIT_ASSERT_EQUALS( iFrameCounter, 1 ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimSvgPluginTestSuite::TestShowAnimationL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimsvg::TestShowAnimationL() + { + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int()== KErrNone ) + { + + } + //EUNIT_ASSERT( iFrameCounter > 1 ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimSvgPluginTestSuite::TestShowNoMemoryL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimsvg::TestShowNoMemoryL() + { + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int()== KErrNoMemory ) + { + + } + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimSvgPluginTestSuite::TestCancelStillImageL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimsvg::TestCancelStillImageL() + { + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + iTestObj->Cancel(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if (iWaiter->iStatus.Int()== KErrNone ) + { + + } + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimSvgPluginTestSuite::TestCancelAnimationL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimsvg::TestCancelAnimationL() + { + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + iTestObj->Cancel(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int()== KErrCancel ) + { + + } + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimSvgPluginTestSuite::TestCancelNotActiveL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimsvg::TestCancelNotActiveL() + { + iTestObj->Cancel(); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimSvgPluginTestSuite::TestShowBeforeLoadL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimsvg::TestShowBeforeLoadL() + { + /* + [Test] + title TestShowBeforeLoad + create TSanimsvg AnimSvgPlugin + AnimSvgPlugin SetupObj + AnimSvgPlugin TestShowBeforeLoad + AnimSvgPlugin Teardown + delete AnimSvgPlugin + [Endtest] + */ + + // STIF_ASSERT_PANIC( iTestObj->Start( iWaiter->iStatus ), "STARTUPANIMATION", 2 ); + // iTestObj->Start( iWaiter->iStatus ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimSvgPluginTestSuite::TestSetDisplayModeL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimsvg::TestSetDisplayModeL() + { + iTestObj->SetDisplayMode( EGray2 ); + iTestObj->Load( iFs, KStillImageFile, iWaiter->iStatus ); + iTestObj->SetDisplayMode( ENone ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int()== KErrNone ) + { + } + + iTestObj->SetDisplayMode( EColor16MA ); + iTestObj->SetDisplayMode( EColor16MU ); + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int()== KErrNone ) + { + + } + iTestObj->SetDisplayMode( EColor256 ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimSvgPluginTestSuite::TestSetSizeL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimsvg::TestSetSizeL() + { + iTestObj->SetSize( TSize( 10, 10 ) ); + iTestObj->Load( iFs, KStillImageFile, iWaiter->iStatus ); + iTestObj->SetSize( TSize( 10000, 10000 ) ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + //EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + iTestObj->SetSize( TSize( 0, 0 ) ); + iTestObj->SetSize( TSize( 2, 1000 ) ); + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int()== KErrNone ) + { + + } + //iTestObj->SetSize( TSize( 1, 1 ) ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimSvgPluginTestSuite::TestSetFrameDelayL +// +// --------------------------------------------------------------------------- +// +TInt CTSanimsvg::TestSetFrameDelayL() + { + iTestObj->SetFrameDelay( 100 ); + iTestObj->Load( iFs, KScaledAnimationFile, iWaiter->iStatus ); + iTestObj->SetFrameDelay( 0 ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + //EUNIT_ASSERT_EQUALS( iWaiter->iStatus.Int(), KErrNone ); + iTestObj->SetFrameDelay( 12000 ); + iTestObj->SetFrameDelay( 50 ); + iTestObj->Start( iWaiter->iStatus ); + iWaiter->Activate(); + CActiveScheduler::Start(); // Waiter stops it when request completes. + if ( iWaiter->iStatus.Int()== KErrNone ) + { + + } + iTestObj->SetFrameDelay( 3 ); + return KErrNone; + } + + +// --------------------------------------------------------------------------- +// CSAnimSvgPluginTestSuite::TestBackroundColourL +// +// --------------------------------------------------------------------------- +// + +TInt CTSanimsvg::TestBackroundColourL() + { + TRgb colour = iTestObj->BackroundColour(); + // EUNIT_ASSERT_EQUALS( colour, TRgb() ); // Empty + return KErrNone; + } + + +// ----------------------------------------------------------------------------- +// CTSanimsvg::ExampleL +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CTSanimsvg::ExampleL( CStifItemParser& aItem ) + { + + // Print to UI + _LIT( KTSanimsvg, "TSanimsvg" ); + _LIT( KExample, "In Example" ); + TestModuleIf().Printf( 0, KTSanimsvg, KExample ); + // Print to log file + iLog->Log( KExample ); + + TInt i = 0; + TPtrC string; + _LIT( KParam, "Param[%i]: %S" ); + while ( aItem.GetNextString ( string ) == KErrNone ) + { + TestModuleIf().Printf( i, KTSanimsvg, + KParam, i, &string ); + i++; + } + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTSanimsvg::?member_function +// ?implementation_description +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +/* +TInt CTSanimsvg::?member_function( + CItemParser& aItem ) + { + + ?code + + } +*/ + +// ========================== OTHER EXPORTED FUNCTIONS ========================= +// None + +// [End of File] - Do not remove + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 startupservices/startupanimation/tsrc/tsanimsvg/src/testwaiter.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/startupservices/startupanimation/tsrc/tsanimsvg/src/testwaiter.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,92 @@ +/* +* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Symbian Foundation License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Implementation of CTestWaiter class +* +*/ + + +#include "testwaiter.h" + +#pragma tagging OFF // To disable CodeTest tagging + +// ======== MEMBER FUNCTIONS ======== + +// --------------------------------------------------------------------------- +// CTestWaiter::NewL +// +// --------------------------------------------------------------------------- +// +CTestWaiter* CTestWaiter::NewL() + { + CTestWaiter* self = new( ELeave ) CTestWaiter; + return self; + } + + +// --------------------------------------------------------------------------- +// CTestWaiter::~CTestWaiter +// +// --------------------------------------------------------------------------- +// +CTestWaiter::~CTestWaiter() + { + } + + +// --------------------------------------------------------------------------- +// CTestWaiter::Activate +// +// --------------------------------------------------------------------------- +// +void CTestWaiter::Activate() + { + __ASSERT_ALWAYS( !IsActive(), User::Invariant() ); + + SetActive(); + } + + +// --------------------------------------------------------------------------- +// CTestWaiter::CTestWaiter +// +// --------------------------------------------------------------------------- +// +CTestWaiter::CTestWaiter() + : CActive( EPriorityStandard ) + { + CActiveScheduler::Add( this ); + } + + +// --------------------------------------------------------------------------- +// CTestWaiter::DoCancel +// +// --------------------------------------------------------------------------- +// +void CTestWaiter::DoCancel() + { + } + + +// --------------------------------------------------------------------------- +// CTestWaiter::RunL +// +// --------------------------------------------------------------------------- +// +void CTestWaiter::RunL() + { + CActiveScheduler::Stop(); + } + +#pragma tagging ON // To stop disabling CodeTest tagging diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/inc/Ood.h --- a/sysresmonitoring/oodmonitor/inc/Ood.h Wed Sep 29 15:24:56 2010 +0300 +++ b/sysresmonitoring/oodmonitor/inc/Ood.h Thu Oct 07 06:25:45 2010 +0300 @@ -35,6 +35,9 @@ const TInt KMaxMsgSize = 256; #endif // _DEBUG +#ifdef FCC_UNIT_TEST +class Tut_LafShutdownManager; +#endif // --------------------------------------------------------- // // --------------------------------------------------------- @@ -45,7 +48,12 @@ static CLafShutdownManager* NewL(MShutdownEventObserver& aObserver); ~CLafShutdownManager(); -private: +#ifdef FCC_UNIT_TEST + public: +#else + private: +#endif + // ====================================================================== // Out of disk watcher @@ -101,7 +109,12 @@ void ConstructL(RResourceFile& aResFile, TResourceReader& aResReader); void CleanupL(TBool aCancel = ETrue); +#ifdef FCC_UNIT_TEST + public: +#else private: +#endif + class CMessageInfo : public CBase { public: @@ -117,7 +130,9 @@ TMessageType iMessageType; CMessageInfo* iMessageInfo[4]; - +#ifdef FCC_UNIT_TEST + friend class Tut_LafShutdownManager; +#endif }; // ====================================================================== @@ -181,6 +196,10 @@ private: friend class CLafShutdownManager::COutOfDiskWatcher; + +#ifdef FCC_UNIT_TEST + friend class Tut_LafShutdownManager; +#endif }; #endif LAFSHUT_H \ No newline at end of file diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/oodmonitor2/inc/outofdiskmonitor.h --- a/sysresmonitoring/oodmonitor/oodmonitor2/inc/outofdiskmonitor.h Wed Sep 29 15:24:56 2010 +0300 +++ b/sysresmonitoring/oodmonitor/oodmonitor2/inc/outofdiskmonitor.h Thu Oct 07 06:25:45 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2007-2010 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" @@ -78,7 +78,6 @@ TInt GetTopPriorityDrive(); void SetAsDisplayedL(TInt aDrive, TInt aDriveStatus); private: //Data - COutOfDiskNotifyObserver* iOutOfDiskNotifyObserver; //owns COutOfDiskPSObserver* iOutOfDiskPSObserver; //owns COutOfDiskGlobalNote* iOutOfDiskGlobalNote; // owns RFs iFs; @@ -91,6 +90,11 @@ TInt iDefaultRomDrive; RResourceFile iResourceFile; TInt64 iOODWarningThresholdMassMemory; + +#ifdef FCC_UNIT_TEST + public: +#endif + COutOfDiskNotifyObserver* iOutOfDiskNotifyObserver; //owns }; #endif // __OUTOFDISKMONITOR_H__ diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/oodmonitor2/src/outofdiskmonitor.cpp --- a/sysresmonitoring/oodmonitor/oodmonitor2/src/outofdiskmonitor.cpp Wed Sep 29 15:24:56 2010 +0300 +++ b/sysresmonitoring/oodmonitor/oodmonitor2/src/outofdiskmonitor.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2007-2010 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" @@ -427,9 +427,11 @@ { TAfterNoteTimer* p = 0; p = new (ELeave) TAfterNoteTimer; + CleanupStack::PushL(p); p->iOODM = this; p->iDrive = aDrive; iDriveStatus[aDrive].iTimer = CPeriodic::NewL( EPriorityNormal ); + CleanupStack::Pop(p); iDriveStatus[aDrive].iTimer->Start( KDelayAfterNote, KDelayAfterNote, TCallBack( DoStopTimingL, p ) ); } } diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/oodmonitor2/src/outofdisknotifyobserver.cpp --- a/sysresmonitoring/oodmonitor/oodmonitor2/src/outofdisknotifyobserver.cpp Wed Sep 29 15:24:56 2010 +0300 +++ b/sysresmonitoring/oodmonitor/oodmonitor2/src/outofdisknotifyobserver.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2007-2010 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" @@ -100,7 +100,10 @@ } } - iWait->Start(); +#ifndef FCC_UNIT_TEST + iWait->Start(); +#endif + TRACES("COutOfDiskNotifyObserver::ConstructL: End"); } diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/src/lafshut.cpp --- a/sysresmonitoring/oodmonitor/src/lafshut.cpp Wed Sep 29 15:24:56 2010 +0300 +++ b/sysresmonitoring/oodmonitor/src/lafshut.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -803,13 +803,18 @@ CleanupL(); - + +#ifndef FCC_UNIT_TEST CHbDeviceMessageBoxSymbian* globalNote = CHbDeviceMessageBoxSymbian::NewL(CHbDeviceMessageBoxSymbian::EWarning); CleanupStack::PushL(globalNote); globalNote->SetTextL((iMessageInfo[iMessageType]->iMessage)->Des()); globalNote->SetTimeoutL(0); globalNote->ExecL(); CleanupStack::PopAndDestroy(globalNote); +#else + iMessageInfo[iMessageType]->iMessage->Des().Fill('s'); + TRACES("CLafShutdownManager::CGlobalQueryActive::DisplayL change size()"); +#endif iMessageType = ENone; TRACES("CLafShutdownManager::CGlobalQueryActive::DisplayL: End"); diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/group/bld.inf Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,30 @@ +/* +* Copyright (c) 2010 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: +* +*/ + + +PRJ_PLATFORMS +DEFAULT + +PRJ_EXPORTS + +PRJ_MMPFILES + +PRJ_TESTMMPFILES +#include "../ut_oodmonitor/group/bld.inf" +#include "../ut_oodsubscriber/group/bld.inf" +#include "../ut_oodmonitorv1/group/bld.inf" +// End of File diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/group/readme.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/group/readme.txt Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,27 @@ +ut_oodmonitor are unit test code for oodmonitor. + +How to build test code +go to group directory and run +>sbs reallyclean +>sbs + +How to install test module +Copy related exe, dll, resource file to device +1) \epoc32\release\armv5\udeb\ut_oodmonitor.dll -> c:\sys\bin\ut_oodmonitor.dll +2) \epoc32\release\armv5\udeb\ut_oodsubscriber.dll -> c:\sys\bin\ut_oodsubscriber.dll +3) \epoc32\release\armv5\udeb\ut_oodmonitorv1.dll -> c:\sys\bin\ut_oodmonitorv1.dll +How to run test code at emulator +1)start symbian device emulator +2)start eshell +3)start command at eshell + atsinterface.exe -testmodule ut_oodmonitor + atsinterface.exe -testmodule ut_oodsubscriber + atsinterface.exe -testmodule ut_oodmonitorv1 + +How to run test code at hw +1)start symbian device +2)start eshell +3)start command at eshell + atsinterface.exe -testmodule ut_oodmonitor + atsinterface.exe -testmodule ut_oodsubscriber + atsinterface.exe -testmodule ut_oodmonitorv1 diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodmonitor/Bwins/ut_oodmonitoru.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodmonitor/Bwins/ut_oodmonitoru.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,4 @@ +EXPORTS + ?LibEntryL@@YAPAVCTestModuleBase@@XZ @ 1 NONAME ; class CTestModuleBase * __cdecl LibEntryL(void) + ?SetRequirements@@YAHAAPAVCTestModuleParam@@AAK@Z @ 2 NONAME ; int __cdecl SetRequirements(class CTestModuleParam * &,unsigned long &) + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodmonitor/eabi/ut_oodmonitoru.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodmonitor/eabi/ut_oodmonitoru.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,15 @@ +EXPORTS + _Z9LibEntryLv @ 1 NONAME + _Z15SetRequirementsRP16CTestModuleParamRm @ 2 NONAME + _ZN11LafShutdown17SaveFromAppSwitchEv @ 3 NONAME + _ZN11LafShutdown18SaveFromViewSwitchEv @ 4 NONAME + _ZN11LafShutdown21CreateShutdownManagerER22MShutdownEventObserver @ 5 NONAME + _ZTI20COutOfDiskPSObserver @ 6 NONAME + _ZTI20COutOfDiskSubscriber @ 7 NONAME + _ZTI22CUTOutOfDiskPSObserver @ 8 NONAME + _ZTI22TshutdownEventObserver @ 9 NONAME + _ZTV20COutOfDiskPSObserver @ 10 NONAME + _ZTV20COutOfDiskSubscriber @ 11 NONAME + _ZTV22CUTOutOfDiskPSObserver @ 12 NONAME + _ZTV22TshutdownEventObserver @ 13 NONAME + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodmonitor/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodmonitor/group/bld.inf Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,35 @@ +/* +* Copyright (c) 2010 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: +* +*/ + +PRJ_PLATFORMS + + DEFAULT + +PRJ_TESTEXPORTS + + +PRJ_EXPORTS + + +PRJ_TESTMMPFILES + + ut_oodmonitor.mmp + +PRJ_MMPFILES + + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodmonitor/group/ut_oodmonitor.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodmonitor/group/ut_oodmonitor.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,79 @@ +/*TYPE STIFUNIT*/ +/* +* Copyright (c) 2010 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: MMP file for STIF Test Framework's STIFUnit test module. +* +*/ + +#include + +SMPSAFE + +TARGET ut_oodmonitor.dll +TARGETTYPE dll +UID 0x1000008D 0x2002CAD6 + +CAPABILITY ALL -TCB +/* Remove comments and replace 0x00000000 with correct vendor id */ +// VENDORID 0x00000000 +/* Remove comments and replace 0x00000000 with correct secure id */ +// SECUREID 0x00000000 + +macro FCC_UNIT_TEST +#define FCC_UNIT_TEST + +//TARGETPATH ?target_path +DEFFILE ut_oodmonitor.def + +USERINCLUDE ../inc +USERINCLUDE ../../../oodmonitor2/inc +USERINCLUDE ../../../inc +SYSTEMINCLUDE /epoc32/include/mw/hb/hbwidgets + +MW_LAYER_SYSTEMINCLUDE +OS_LAYER_SYSTEMINCLUDE + +SOURCEPATH ../src + +SOURCE ut_oodmonitor.cpp +SOURCE ut_oodmonitorCases.cpp +SOURCE utoutofdiskpsobserver.cpp +SOURCE mockshutdowneventobserver.cpp + +SOURCEPATH ../../../oodmonitor2/src +SOURCE outofdiskglobalnote.cpp +SOURCE outofdiskmonitor.cpp +SOURCE outofdiskpsobserver.cpp +SOURCE outofdisksubscriber.cpp +SOURCE lafshut.cpp +SOURCE outofdisknotifyobserver.cpp + +//RESOURCE resource_file +//RESOURCE resource_file2 + +LIBRARY euser.lib +LIBRARY stiftestinterface.lib + +LIBRARY efsrv.lib +LIBRARY bafl.lib +LIBRARY commonengine.lib +LIBRARY HbWidgets.lib +LIBRARY platformenv.lib +LIBRARY disknotifyhandler.lib +LIBRARY centralrepository.lib + +LANG SC + +// AIF ?filename// End of File + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodmonitor/group/ut_oodmonitor.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodmonitor/group/ut_oodmonitor.pkg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,60 @@ +; +; Copyright (c) 2010 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: +; +; Installation file for STIF +; + +; Languages +&EN + +; Provide value for uid +#{"STIF"},(0x00000000),1,1,0,TYPE=SA + +; Series60 product id for S60 3.0 +[0x101F7961], 0, 0, 0, {"Series60ProductID"} + +; Localised Vendor name +%{"Nokia"} + +; Unique Vendor name +:"Nokia" + +; Logo +; None + +; Package signature - Optional +; None + +; Start of Package body + +; Condition blocks +; None + +; Options list +; None + +; Install files +"\epoc32\release\armv5\udeb\ut_oodmonitor.dll" - "!:\Sys\Bin\ut_oodmonitor.dll" + +; Embedded SIS +; None + +; End of Package body + +; PKG dependencies +; None + +; PKG capabilities +; None diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodmonitor/group/v2CTCHTML.rar Binary file sysresmonitoring/oodmonitor/tsrc/ut_oodmonitor/group/v2CTCHTML.rar has changed diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodmonitor/inc/mockshutdowneventobserver.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodmonitor/inc/mockshutdowneventobserver.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,35 @@ +/* +* Copyright (c) 2010 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: Implementation of COutOfDiskNotifyObserver class. +* +*/ + +#ifndef MOCKSHUTDOWNEVENTOBSERVER_H_ +#define MOCKSHUTDOWNEVENTOBSERVER_H_ + +#include + +class TshutdownEventObserver : public MShutdownEventObserver + { +public: + TshutdownEventObserver(); + virtual ~TshutdownEventObserver(); + virtual void HandleShutdownEventL(MSaveObserver::TSaveType aAction,TBool aPowerOff, + TPowerState aEvent = EPwStandby); + virtual CArrayFix* ClientArrayLC(); + virtual TBool IsClientHung(TThreadId aId) const; + virtual void GetShutdownState(TBool& aPowerOff, TBool& aAllSessionsHavePendingRequest) const; + }; + +#endif /* MOCKSHUTDOWNEVENTOBSERVER_H_ */ diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodmonitor/inc/utoutofdiskpsobserver.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodmonitor/inc/utoutofdiskpsobserver.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,45 @@ +/* +* Copyright (c) 2010 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: COutOfDiskPSObserver contains a protected function and some private functions which can't be directly accessed +* by test code, so that this derived class is used to public those functions. +* +*/ + + +#ifndef UTOUTOFDISKPSOBSERVER_H +#define UTOUTOFDISKPSOBSERVER_H + +// USER INCLUDES +#include +#include "outofdiskpsobserver.h" + +// CLASS DECLARATION +class COutOfDiskMonitor; + +class CUTOutOfDiskPSObserver : public COutOfDiskPSObserver + { + public: // Constructors and destructor + /** + * Two-phased constructor. + */ + static CUTOutOfDiskPSObserver* NewL( COutOfDiskMonitor* aOutOfDiskMonitor ); + + public: // From MSysApPropertyResponder + + void HandlePropertyChangedL( const TUid& aCategory, TUint aKey ); + }; + +#endif // UTOUTOFDISKPSOBSERVER_H + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodmonitor/src/mockshutdowneventobserver.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodmonitor/src/mockshutdowneventobserver.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,51 @@ +/* +* Copyright (c) 2010 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: Implementation of COutOfDiskNotifyObserver class. +* +*/ + +#include +#include + +#include "MockShutdownEventObserver.h" + +TshutdownEventObserver::TshutdownEventObserver() + { + + } + +TshutdownEventObserver::~TshutdownEventObserver() + { + + } + +void TshutdownEventObserver::HandleShutdownEventL(MSaveObserver::TSaveType aAction,TBool aPowerOff, TPowerState aEvent) + { + + } + +CArrayFix* TshutdownEventObserver::ClientArrayLC() + { + return (CArrayFix*)NULL; + } + +TBool TshutdownEventObserver::IsClientHung(TThreadId aId) const + { + return ETrue; + } + +void TshutdownEventObserver::GetShutdownState(TBool& aPowerOff, TBool& aAllSessionsHavePendingRequest) const + { + + } diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodmonitor/src/ut_oodmonitor.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodmonitor/src/ut_oodmonitor.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,124 @@ +/* +* Copyright (c) 2010 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: This file contains STIFUnit module implementation. +* +*/ + +/******************************************************************************/ +/* + * + * Test module configuration +*/ + +// Version +#define TEST_MODULE_VERSION_MAJOR 0 +#define TEST_MODULE_VERSION_MINOR 0 +#define TEST_MODULE_VERSION_BUILD 0 + +// Uncomment following defines, if you want to provide implementation +// of enlisted virtual methods of test module. +// Implementation part is located at the end of this file. +//#define STIFUNIT_OOMTESTQUERYL +//#define STIFUNIT_OOMTESTINITIALIZEL +//#define STIFUNIT_OOMHANDLEWARNINGL +//#define STIFUNIT_OOMTESTFINALIZEL +// Uncomment following define, if you want to increase heap or stack size. +// #define STIFUNIT_SETHEAPANDSTACKSIZE +/******************************************************************************/ + + +/* + * Test module internals. Please do not edit them. +*/ + +// Includes +#include + +// Literals +_LIT( KUnitLogPath, "\\logs\\testframework\\ut_oodmonitor\\" ); +_LIT( KUnitLogFile, "ut_oodmonitor.txt" ); +_LIT( KLogStart, "ut_oodmonitor logging starts!" ); + +// Defines +#define STIF_UNIT_TEST_CASES "../src/ut_oodmonitorCases.cpp" +#define STIF_UNIT_MODULE_CLASS_NAME Cut_oodmonitor +#define STIF_UNIT_MODULE_NAME _L("ut_oodmonitor.dll") + +// Include STIF unit generic file +#include + +/* + * Implementation of setHeapAndStack virtual methods. + * To changes heap and stack size provide new values to iTestThreadStackSize, iTestThreadMinHeap and iTestThreadMaxHeap. +*/ + +#ifdef STIFUNIT_SETHEAPANDSTACKSIZE +EXPORT_C TInt SetRequirements( CTestModuleParam*& aTestModuleParam, + TUint32& aParameterValid ) + { + aParameterValid = KStifTestModuleParameterChanged; + CTestModuleParamVer01* param = CTestModuleParamVer01::NewL(); + // Stack size + param->iTestThreadStackSize= 16384; // 16K stack + // Heap sizes + param->iTestThreadMinHeap = 4096; // 4K heap min + param->iTestThreadMaxHeap = 1048576;// 1M heap max + + return KErrNone; + } +#undef STIFUNIT_SETHEAPANDSTACKSIZE +#endif + +/* + * User implementation of OOM virtual methods. + * Providing own implementation requires uncommenting defines at the + * beginnig of this file. +*/ +#ifdef STIFUNIT_OOMTESTQUERYL +TBool Cut_oodmonitor::OOMTestQueryL( const TFileName& /*aTestCaseFile*/, + const TInt aCaseNumber, + TOOMFailureType& aFailureType, + TInt& aFirstMemFailure, + TInt& aLastMemFailure) + { + } +#undef STIFUNIT_OOMTESTQUERYL +#endif + +#ifdef STIFUNIT_OOMTESTINITIALIZEL +void Cut_oodmonitor::OOMTestInitializeL( const TFileName& /*aTestCaseFile*/, + const TInt /*aCaseNumber*/ ) + { + } +#undef STIFUNIT_OOMTESTINITIALIZEL +#endif + +#ifdef STIFUNIT_OOMHANDLEWARNINGL +void Cut_oodmonitor::OOMHandleWarningL( const TFileName& /*aTestCaseFile*/, + const TInt /*aCaseNumber*/, + TInt& /*aFailNextValue*/) + { + } +#undef STIFUNIT_OOMHANDLEWARNINGL +#endif + +#ifdef STIFUNIT_OOMTESTFINALIZEL +void Cut_oodmonitor::OOMTestFinalizeL( const TFileName& /*aTestCaseFile*/, + const TInt /*aCaseNumber*/ ) + { + } +#undef STIFUNIT_OOMTESTFINALIZEL +#endif + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodmonitor/src/ut_oodmonitorCases.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodmonitor/src/ut_oodmonitorCases.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,373 @@ +/* +* Copyright (c) 2010 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: This file contains STIFUnit implementation. +* +*/ + +/** + * STIF_UNIT_INCLUDE SECTION - put all #includes between STIF_UNIT_INCLUDE_SECTION + * and STIF_UNIT_INCLUDE_SECTION_END + */ +#ifdef STIF_UNIT_INCLUDE_SECTION +#include +#include +#include "outofdiskglobalnote.h" +#include "outofdiskmonitor.h" +#include "utoutofdiskpsobserver.h" +#include "outofdisknotifyobserver.h" +#include "MockShutdownEventObserver.h" +#endif //STIF_UNIT_INCLUDE_SECTION_END + +/** + * GLOBAL VARIABLES SECTION + */ +#ifdef TEST_VAR_DECLARATIONS + CActiveScheduler* scheduler; + const TInt64 KWarningThreshold = 2048; + const TInt64 KCriticalThreshold = 1024; +#endif +/** + * END OF GLOBAL VARIABLES SECTION + */ + + +/** + * TEST CASES SECTION + */ +#ifdef TEST_CASES +/** + * STIF_SETUP defines activities needed before every test case. + */ +STIF_SETUP +{ +// instance and install, but not started +scheduler = new (ELeave) CActiveScheduler(); +CleanupStack::PushL(scheduler); +CActiveScheduler::Install(scheduler); +} + +/** + * STIF_TEARDOWN defines activities needed after every test case + */ +STIF_TEARDOWN +{ +CActiveScheduler::Install(NULL); +CleanupStack::PopAndDestroy(scheduler); +} + +/** + * @SYMTestCaseID GAPS-OODMONITOR-GLOBALNOTE-001 + * @SYMTestCaseDesc Unit test for COutOfDiskGlobalNote. + * @SYMTestPriority Medium + * @SYMTestActions 1. Connect file server. + * 2. Construct a COutOfDiskMonitor object. + * 3. Construct a COutOfDiskGlobalNote object. + * 4. Get note info. + * 5. NoteOnDisplay. + * 6. Display a message. + * 7. MessageBoxClosed. + * 8. Destroy the COutOfDiskGlobalNote object. + * 9. Destroy the mock COutOfDiskMonitor object + * 10. Destroy the RFs object. + * @SYMTestExpectedResults 1. File server was connected. + * 2. COutOfDiskMonitor object was constructed. + * 3. COutOfDiskGlobalNote object was constructed. + * 4. NoteInfo was correct. + * 5. Property was defined. + * 6. Message was displayed. + * 7. No error. + * 8. The COutOfDiskGlobalNote object was destroyed. + * 9. The COutOfDiskMonitor object was destroyed. + * 10. The RFs object was closed. + * @SYMTestType Unit Test + * @SYMCreationDate 23-08-2010 + */ +STIF_TESTDEFINE(GAPS-OODMONITOR-GLOBALNOTE-001) +{ + TestModuleIf().SetBehavior(CTestModuleIf::ETestLeaksHandles); + + STIF_LOG("1. Connect file server."); + RFs fileServer; + STIF_ASSERT_EQUALS(KErrNone, fileServer.Connect()); + CleanupClosePushL(fileServer); + + STIF_LOG("2. Construct a COutOfDiskMonitor object."); + MShutdownEventObserver* shutdownEventObserver = NULL; + COutOfDiskMonitor* outOfDiskMonitor = COutOfDiskMonitor::NewL(*shutdownEventObserver); + CleanupStack::PushL(outOfDiskMonitor); + + STIF_LOG("3. Construct a COutOfDiskGlobalNote object."); + COutOfDiskGlobalNote* outOfDiskGlobalNote = COutOfDiskGlobalNote::NewL(outOfDiskMonitor, fileServer); + CleanupStack::PushL(outOfDiskGlobalNote); + + STIF_LOG("4. Get note info."); + TNoteInfo noteInfo = outOfDiskGlobalNote->GetNoteInfo(); + STIF_ASSERT_EQUALS(KErrNotFound, noteInfo.iNoteId); + STIF_ASSERT_EQUALS(DISK_SPACE_OK, noteInfo.iStatus); + STIF_ASSERT_EQUALS(KErrNotFound, noteInfo.iDrive); + + STIF_LOG("5. NoteOnDisplay."); + STIF_ASSERT_FALSE(outOfDiskGlobalNote->NoteOnDisplay()); + + STIF_LOG("6. Display a message."); + outOfDiskGlobalNote->DisplayL(_L("Display a message.")); + + STIF_LOG("7. MessageBoxClosed."); + outOfDiskGlobalNote->MessageBoxClosed(NULL, CHbDeviceMessageBoxSymbian::EAcceptButton); + + STIF_LOG("8. Destroy the COutOfDiskGlobalNote object."); + CleanupStack::PopAndDestroy(outOfDiskGlobalNote); + + STIF_LOG("9. Destroy the COutOfDiskMonitor object."); + CleanupStack::PopAndDestroy(outOfDiskMonitor); + + STIF_LOG("10. Destroy the RFs object."); + CleanupStack::PopAndDestroy(&fileServer); +} + +/** + * @SYMTestCaseID GAPS-OODMONITOR-PSOBSERVER-001 + * @SYMTestCaseDesc Unit test for COutOfDiskPSObserver. + * @SYMTestPriority Medium + * @SYMTestActions 1. Construct a COutOfDiskMonitor object. + * 2. Construct a COutOfDiskPSObserver object. + * 3. Handle property change. Category is KPSUidUikon, and Key is KUikGlobalNotesAllowed. + * 4. Handle property change. Category is KPSUidCoreApplicationUIs, and Key is KCoreAppUIsAutolockStatus. + * 5. Destroy the COutOfDiskPSObserver object. + * 6. Destroy the COutOfDiskMonitor object + * @SYMTestExpectedResults 1. Mock COutOfDiskMonitor object was constructed. + * 2. COutOfDiskPSObserver object was constructed. + * 3. Property change was handled successfully. + * 4. Property change was handled successfully. + * 5. The COutOfDiskPSObserver object was destroyed. + * 6. The COutOfDiskMonitor object was destroyed. + * @SYMTestType Unit Test + * @SYMCreationDate 23-08-2010 + */ +STIF_TESTDEFINE(GAPS-OODMONITOR-PSOBSERVER-001) +{ + STIF_LOG("1. Construct a COutOfDiskMonitor object."); + MShutdownEventObserver* shutdownEventObserver = NULL; + COutOfDiskMonitor* outOfDiskMonitor = COutOfDiskMonitor::NewL(*shutdownEventObserver); + CleanupStack::PushL(outOfDiskMonitor); + + STIF_LOG("2. Construct a COutOfDiskPSObserver object."); + CUTOutOfDiskPSObserver* outOfDiskPSObserver = CUTOutOfDiskPSObserver::NewL(outOfDiskMonitor); + CleanupStack::PushL(outOfDiskPSObserver); + + STIF_LOG("3. Handle property change. Category is KPSUidUikon, and Key is KUikGlobalNotesAllowed."); + outOfDiskPSObserver->HandlePropertyChangedL(KPSUidUikon, KUikGlobalNotesAllowed); + + STIF_LOG("4. Handle property change. Category is KPSUidCoreApplicationUIs, and Key is KCoreAppUIsAutolockStatus."); + outOfDiskPSObserver->HandlePropertyChangedL(KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus); + + STIF_LOG("5. Destroy the COutOfDiskPSObserver object."); + CleanupStack::PopAndDestroy(outOfDiskPSObserver); + + STIF_LOG("6. Destroy the COutOfDiskMonitor object."); + CleanupStack::PopAndDestroy(outOfDiskMonitor); +} + +/** + * @SYMTestCaseID GAPS-OODMONITOR-OUTOFDISKMONITOR-001 + * @SYMTestCaseDesc Unit test for COutOfDiskMonitor. + * @SYMTestPriority Medium + * @SYMTestActions 1. Construct a COutOfDiskMonitor object. + * 2. ShowGlobalQueryIfNeededL. + * 3. Get C Drive Status. + * 4. SetAsDisplayedL. + * 5. SetGlobalNotesAllowed to ETrue. + * 6. GetGlobalNotesAllowed. + * 7. SetGlobalNotesAllowed to EFalse. + * 8. GetGlobalNotesAllowed. + * 9. GetDefaultPhoneMemory. + * 10. GetDefaultMassStorage. + * 11. GetDefaultRomDrive. + * 12. Destroy the COutOfDiskMonitor object. + * @SYMTestExpectedResults 1. The COutOfDiskMonitor object was constructed. + * 2. No error. + * 3. DISK_SPACE_OK was returned. + * 4. Set successfully. + * 5. Set successfully. + * 6. The value set by step5 was returned. + * 7. Set successfully. + * 8. The value set by step7 was returned. + * 9. DefaultPhoneMemory was correctly gotten. + * 10. DefaultMassStorage was correctly gotten. + * 11. DefaultRomDrive was correctly gotten. + * 12. The COutOfDiskMonitor object was destroyed. + * @SYMTestType Unit Test + * @SYMCreationDate 23-08-2010 + */ +STIF_TESTDEFINE(GAPS-OODMONITOR-OUTOFDISKMONITOR-001) +{ + STIF_LOG("1. Construct a COutOfDiskMonitor object."); + MShutdownEventObserver* shutdownEventObserver = NULL; + COutOfDiskMonitor* outOfDiskMonitor = COutOfDiskMonitor::NewL(*shutdownEventObserver); + CleanupStack::PushL(outOfDiskMonitor); + + STIF_LOG("2. ShowGlobalQueryIfNeededL."); + outOfDiskMonitor->ShowGlobalQueryIfNeededL(); + + STIF_LOG("3. Get C Drive Status."); + STIF_ASSERT_EQUALS(DISK_SPACE_OK, outOfDiskMonitor->GetDriveStatus(EDriveC)); + + // GetThreshold is called by GetDriveStatis. + // SaveDriveStatus is called by ConstructL. + // ResetDisplayedStatus is called by SaveDriveStatus. + // AllowedToReset is called by RestDisplayedStatus. + // GetTopPriorityDrive is called by ShowGlobalQueryIfNeededL. + + STIF_LOG("4. SetAsDisplayedL."); + outOfDiskMonitor->SetAsDisplayedL(EDriveC, DISK_SPACE_OK); + + STIF_LOG("5. SetGlobalNotesAllowed to ETrue."); + outOfDiskMonitor->SetGlobalNotesAllowed(ETrue); + + STIF_LOG("6. GetGlobalNotesAllowed."); + STIF_ASSERT_TRUE(outOfDiskMonitor->GetGlobalNotesAllowed()); + + STIF_LOG("7. SetGlobalNotesAllowed to EFalse."); + outOfDiskMonitor->SetGlobalNotesAllowed(EFalse); + + STIF_LOG("8. GetGlobalNotesAllowed."); + STIF_ASSERT_FALSE(outOfDiskMonitor->GetGlobalNotesAllowed()); + + STIF_LOG("9. GetDefaultPhoneMemory."); + TInt defaultPhoneMemory = 0; + DriveInfo::GetDefaultDrive( DriveInfo::EDefaultPhoneMemory, defaultPhoneMemory ); + STIF_ASSERT_EQUALS(defaultPhoneMemory, outOfDiskMonitor->GetDefaultPhoneMemory()); + + STIF_LOG("10. GetDefaultMassStorage."); + TInt defaultMassStorage = 0; + DriveInfo::GetDefaultDrive( DriveInfo::EDefaultMassStorage, defaultMassStorage ); + STIF_ASSERT_EQUALS(defaultMassStorage, outOfDiskMonitor->GetDefaultMassStorage()); + + STIF_LOG("11. GetDefaultRomDrive."); + // Actually COutOfDiskMonitor doesn't set iDefaultRomDrive, so that I don't need to check the result. + TInt defaultRomDrive = outOfDiskMonitor->GetDefaultRomDrive(); + + STIF_LOG("12. Destroy the COutOfDiskMonitor object."); + CleanupStack::PopAndDestroy(outOfDiskMonitor); +} + +/** + * @SYMTestCaseID GAPS-OOD-LAFSHUT-001 + * @SYMTestCaseDesc Unit test for lafshut.cpp + * @SYMTestPriority Medium + * @SYMTestActions 1. Create ShutdownEventObserver object. + * 2. Create CLafShutdownManagerBase object. + * 3. Call SaveFromViewSwitch(); + * 4. Call SaveFromAppSwitch(); + * 5. Delete CLafShutdownManagerBase object. + * @SYMTestExpectedResults 1. ShutdownEventObserver object is created. + * 2. CLafShutdownManagerBase object is create successfully. + * 3. SaveFromViewSwitch() return expected value. + * 4. SaveFromAppSwitch(); return expected value. + * 5. CLafShutdownManagerBase object is deleted. + * @SYMTestType Unit Test + * @SYMCreationDate 03-09-2010 + */ +STIF_TESTDEFINE(GAPS-OOD-LAFSHUT-001) +{ + STIF_LOG("1. Create ShutdownEventObserver object."); + TshutdownEventObserver shutdownEventObserver; + + STIF_LOG("2. Create CLafShutdownManagerBase object."); + CLafShutdownManagerBase* shutdownManager = LafShutdown::CreateShutdownManager(shutdownEventObserver); + STIF_ASSERT_NOT_NULL(shutdownManager); + + STIF_LOG("3. Call SaveFromViewSwitch();"); + MSaveObserver::TSaveType type = LafShutdown::SaveFromViewSwitch(); + STIF_ASSERT_EQUALS(MSaveObserver::ESaveNone, type); + + STIF_LOG("4. Call SaveFromAppSwitch();"); + type = LafShutdown::SaveFromAppSwitch(); + STIF_ASSERT_EQUALS(MSaveObserver::ESaveNone, type); + + STIF_LOG("5. Delete CLafShutdownManagerBase object."); + delete shutdownManager; +} + +/** + * @SYMTestCaseID GAPS-OODMONITOR-OUTOFDISKNOTIFYOBSERVER-001 + * @SYMTestCaseDesc Unit test for COutOfDiskNotifyObserver. + * @SYMTestPriority Medium + * @SYMTestActions 1. Construct a COutOfDiskMonitor object. + * 2. COutOfDiskNotifyObserver::NotifyDiskSpace + * 3. COutOfDiskNotifyObserver::HandleNotifyDisk. + * 4. COutOfDiskNotifyObserver::HandleNotifyDismount + * 5. COutOfDiskNotifyObserver::HandleNotifyDiskSpace + * 6. COutOfDiskNotifyObserver::HandleNotifyEntry + * 7. Destroy the COutOfDiskMonitor object. + * @SYMTestExpectedResults 1. The COutOfDiskMonitor object was constructed. + * 2. Function returned successfully. + * 3. Function returned successfully. + * 4. Function returned successfully. + * 5. Function returned successfully. + * 6. Function returned successfully. + * 7. The COutOfDiskMonitor object was destroyed. + * @SYMTestType Unit Test + * @SYMCreationDate 09-09-2010 + */ +STIF_TESTDEFINE(GAPS-OODMONITOR-OUTOFDISKNOTIFYOBSERVER-001) +{ + STIF_LOG("1. Construct a COutOfDiskMonitor object."); + MShutdownEventObserver* shutdownEventObserver = NULL; + COutOfDiskMonitor* outOfDiskMonitor = COutOfDiskMonitor::NewL(*shutdownEventObserver); + CleanupStack::PushL(outOfDiskMonitor); + + STIF_LOG("2. NotifyDiskSpace"); + outOfDiskMonitor->iOutOfDiskNotifyObserver->NotifyDiskSpace(KWarningThreshold, KCriticalThreshold, EDriveF); + + STIF_LOG("3. HandleNotifyDisk"); + MDiskNotifyHandlerCallback::TDiskEvent diskEvent; + diskEvent.iDrive = EDriveF; + + diskEvent.iType = MDiskNotifyHandlerCallback::EDiskAdded; + outOfDiskMonitor->iOutOfDiskNotifyObserver->HandleNotifyDisk(KErrNone, diskEvent); + + diskEvent.iType = MDiskNotifyHandlerCallback::EDiskError; + outOfDiskMonitor->iOutOfDiskNotifyObserver->HandleNotifyDisk(KErrNone, diskEvent); + + diskEvent.iType = MDiskNotifyHandlerCallback::EDiskRemoved; + outOfDiskMonitor->iOutOfDiskNotifyObserver->HandleNotifyDisk(KErrNone, diskEvent); + + diskEvent.iType = MDiskNotifyHandlerCallback::EDiskStatusChanged; + outOfDiskMonitor->iOutOfDiskNotifyObserver->HandleNotifyDisk(KErrNone, diskEvent); + + STIF_LOG("4. HandleNotifyDismount"); + MDiskNotifyHandlerCallback::TDismountEvent dismountEvent; + dismountEvent.iDrive = EDriveF; + outOfDiskMonitor->iOutOfDiskNotifyObserver->HandleNotifyDismount(KErrNone, dismountEvent); + + STIF_LOG("5. HandleNotifyDiskSpace"); + MDiskNotifyHandlerCallback::TDiskSpaceEvent diskSpaceEvent; + diskSpaceEvent.iDrive = EDriveF; + outOfDiskMonitor->iOutOfDiskNotifyObserver->HandleNotifyDiskSpace(KErrNone, diskSpaceEvent); + + STIF_LOG("6. HandleNotifyEntry"); + MDiskNotifyHandlerCallback::TEntryEvent entryEvent; + outOfDiskMonitor->iOutOfDiskNotifyObserver->HandleNotifyEntry(KErrNone, entryEvent); + + STIF_LOG("7. Destroy the COutOfDiskMonitor object."); + CleanupStack::PopAndDestroy(outOfDiskMonitor); +} + +#endif +/** + * END OF TEST CASES SECTION + */ + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodmonitor/src/utoutofdiskpsobserver.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodmonitor/src/utoutofdiskpsobserver.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,42 @@ +/* +* Copyright (c) 2010 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: COutOfDiskPSObserver contains a protected function and some private functions which can't be directly accessed +* by test code, so that this derived class is used to public those functions. +* +*/ + +// USER INCLUDES +#include "utoutofdiskpsobserver.h" +#include "outofdiskmonitor.h" + +// ============================ MEMBER FUNCTIONS ============================== + +// ---------------------------------------------------------------------------- +// CSysApPubSubObserver::NewL() +// ---------------------------------------------------------------------------- +CUTOutOfDiskPSObserver* CUTOutOfDiskPSObserver::NewL( COutOfDiskMonitor* aOutOfDiskMonitor ) + { + return static_cast (COutOfDiskPSObserver::NewL(aOutOfDiskMonitor)); + } + + +// ---------------------------------------------------------------------------- +// CSysApPubSubObserver::HandlePropertyChangedL() +// ---------------------------------------------------------------------------- +void CUTOutOfDiskPSObserver::HandlePropertyChangedL( const TUid& aCategory, const TUint aKey ) + { + COutOfDiskPSObserver::HandlePropertyChangedL(aCategory, aKey); + } + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodmonitorv1/Bmarm/ut_oodmonitorU.DEF --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodmonitorv1/Bmarm/ut_oodmonitorU.DEF Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,4 @@ +EXPORTS + LibEntryL__Fv @ 1 NONAME R3UNUSED ; LibEntryL(void) + SetRequirements__FRP16CTestModuleParamRUl @ 2 NONAME R3UNUSED ; SetRequirements(CTestModuleParam *&, unsigned long &) + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodmonitorv1/Bwins/ut_oodmonitoru.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodmonitorv1/Bwins/ut_oodmonitoru.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,4 @@ +EXPORTS + ?LibEntryL@@YAPAVCTestModuleBase@@XZ @ 1 NONAME ; class CTestModuleBase * __cdecl LibEntryL(void) + ?SetRequirements@@YAHAAPAVCTestModuleParam@@AAK@Z @ 2 NONAME ; int __cdecl SetRequirements(class CTestModuleParam * &,unsigned long &) + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodmonitorv1/eabi/ut_oodmonitoru.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodmonitorv1/eabi/ut_oodmonitoru.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,13 @@ +EXPORTS + _Z9LibEntryLv @ 1 NONAME + _Z15SetRequirementsRP16CTestModuleParamRm @ 2 NONAME + _ZN11LafShutdown17SaveFromAppSwitchEv @ 3 NONAME + _ZN11LafShutdown18SaveFromViewSwitchEv @ 4 NONAME + _ZN11LafShutdown21CreateShutdownManagerER22MShutdownEventObserver @ 5 NONAME + _ZTI20Cut_OODMonitor_Timer @ 6 NONAME + _ZTI21ShutdownEventObserver @ 7 NONAME + _ZTI22Tut_LafShutdownManager @ 8 NONAME + _ZTV20Cut_OODMonitor_Timer @ 9 NONAME + _ZTV21ShutdownEventObserver @ 10 NONAME + _ZTV22Tut_LafShutdownManager @ 11 NONAME + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodmonitorv1/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodmonitorv1/group/bld.inf Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,36 @@ +/* +* Copyright (c) 2010 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: +* +*/ + +PRJ_PLATFORMS + + DEFAULT + +PRJ_TESTEXPORTS + + +PRJ_EXPORTS + + +PRJ_TESTMMPFILES + + +PRJ_MMPFILES + + ut_oodmonitorv1.mmp + + + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodmonitorv1/group/ut_oodmonitor.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodmonitorv1/group/ut_oodmonitor.pkg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,60 @@ +; +; Copyright (c) 2010 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: +; +; Installation file for STIF +; + +; Languages +&EN + +; Provide value for uid +#{"STIF"},(0x00000000),1,1,0,TYPE=SA + +; Series60 product id for S60 3.0 +[0x101F7961], 0, 0, 0, {"Series60ProductID"} + +; Localised Vendor name +%{"Nokia"} + +; Unique Vendor name +:"Nokia" + +; Logo +; None + +; Package signature - Optional +; None + +; Start of Package body + +; Condition blocks +; None + +; Options list +; None + +; Install files +"\epoc32\release\armv5\udeb\ut_oodmonitorv1.dll" - "!:\Sys\Bin\ut_oodmonitorv1.dll" + +; Embedded SIS +; None + +; End of Package body + +; PKG dependencies +; None + +; PKG capabilities +; None diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodmonitorv1/group/ut_oodmonitorv1.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodmonitorv1/group/ut_oodmonitorv1.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,61 @@ +/*TYPE STIFUNIT*/ +/* +* Copyright (c) 2010 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: MMP file for STIF Test Framework's STIFUnit test +* module. +* +*/ + +#include + +macro FCC_UNIT_TEST +#define FCC_UNIT_TEST + +SMPSAFE + +TARGET ut_oodmonitorv1.dll +TARGETTYPE dll +UID 0x1000008D 0x200338CE + +CAPABILITY ALL -TCB + +DEFFILE ut_oodmonitor.def + +USERINCLUDE ../inc +USERINCLUDE ../../../inc + +MW_LAYER_SYSTEMINCLUDE +SYSTEMINCLUDE /epoc32/include/mw/hb/hbwidgets +SYSTEMINCLUDE /epoc32/include/platform/mw/uiklaf/private + +SOURCEPATH ../src +SOURCE ut_oodmonitor.cpp +SOURCE ut_oodmonitorCases.cpp +SOURCE ut_lafshutdownmanager.cpp +SOURCE mockshutdowneventobserver.cpp +SOURCE ut_oodmonitor_timer.cpp + +SOURCEPATH ../../../src +SOURCE lafshut.cpp + +LIBRARY euser.lib +LIBRARY stiftestinterface.lib +LIBRARY efsrv.lib +LIBRARY bafl.lib +LIBRARY ws32.lib +LIBRARY HbWidgets.lib + +LANG SC + + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodmonitorv1/group/v1CTCHTML.rar Binary file sysresmonitoring/oodmonitor/tsrc/ut_oodmonitorv1/group/v1CTCHTML.rar has changed diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodmonitorv1/inc/mockshutdowneventobserver.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodmonitorv1/inc/mockshutdowneventobserver.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,35 @@ +/* +* Copyright (c) 2010 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 MOCKSHUTDOWNEVENTOBSERVER_H_ +#define MOCKSHUTDOWNEVENTOBSERVER_H_ + +#include + +class ShutdownEventObserver : public MShutdownEventObserver + { +public: + ShutdownEventObserver(); + virtual ~ShutdownEventObserver(); + virtual void HandleShutdownEventL(MSaveObserver::TSaveType aAction,TBool aPowerOff, + TPowerState aEvent = EPwStandby); + virtual CArrayFix* ClientArrayLC(); + virtual TBool IsClientHung(TThreadId aId) const; + virtual void GetShutdownState(TBool& aPowerOff, TBool& aAllSessionsHavePendingRequest) const; + }; + +#endif /* MOCKSHUTDOWNEVENTOBSERVER_H_ */ diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodmonitorv1/inc/ut_lafshutdownmanager.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodmonitorv1/inc/ut_lafshutdownmanager.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,75 @@ +/* +* Copyright (c) 2010 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 UT_LAFSHUTDOWNMANAGER_H_ +#define UT_LAFSHUTDOWNMANAGER_H_ + +#include +#include "ood.h" + +enum TDiskLevel + { + EWarning, + ECritical + }; + +class Tut_LafShutdownManager + { +public: + Tut_LafShutdownManager(); + virtual ~Tut_LafShutdownManager(); + + RProperty GetDiskStatusProperty(CLafShutdownManager* aShutdownManager); + RProperty GetMMCStatusProperty(CLafShutdownManager* aShutdownManager); + RProperty GetCanDisplayNotesProperty(CLafShutdownManager* aShutdownManager); + RProperty GetAutolockStatusProperty(CLafShutdownManager* aShutdownManager); + RProperty GetEnableMMCWatchProperty(CLafShutdownManager* aShutdownManager); + + CBase* GetDisplayNotesSubscriber(CLafShutdownManager* aShutdownManager); + CBase* GetAutolockStatusSubscriber(CLafShutdownManager* aShutdownManager); + CBase* GetMMCWatchSubscriber(CLafShutdownManager* aShutdownManager); + + CLafShutdownManager::CGlobalQueryActive* GetGlobalQueryActive(CLafShutdownManager* aShutdownManager); + CActive* GetOODWarningWatcher(CLafShutdownManager* aShutdownManager); + CActive* GetOODCriticalWatcher(CLafShutdownManager* aShutdownManager); + + TInt GetOODWarningThreshold(CLafShutdownManager* aShutdownManager); + TInt GetOODCriticalThreshold(CLafShutdownManager* aShutdownManager); + + void CallReportEventL(CLafShutdownManager* aShutdownManager, + MSaveObserver::TSaveType aAction,TBool aPowerOff); + void CallGetShutdownState(CLafShutdownManager* aShutdownManager, + TBool& aPowerOff, TBool& aAllSessionsHavePendingRequest); + TInt CallGetDiskStatusL(CLafShutdownManager* aShutdownManager, + TVolumeInfo& aVolInfo,TDriveNumber aDrive); + + void CreateFileL(const TDesC &aFileName, TInt aSize); + void DeleteFileL(const TDesC &aFileName); + void FreeDiskL(CDesCArrayFlat* aDescArray); + void EatDiskL(CDesCArrayFlat* aDescArray, TDriveNumber aDriver, TDiskLevel aLevel); + void GetDiskInfoL(TVolumeInfo& aVolInfo, TDriveNumber aDrive); + + void CallFreeDiskThresholdCrossedL(CLafShutdownManager* aShutdownManager, TDriveNumber aDrive, TBool aIsCallBack, TBool aForcedNote); + CLafShutdownManager::CGlobalQueryActive::CMessageInfo* GetMessageInfoList(CLafShutdownManager::CGlobalQueryActive* aGlobalQueryActive, + TInt aIndex); + CLafShutdownManager::CGlobalQueryActive::TMessageType + GetMessageType(CLafShutdownManager::CGlobalQueryActive* aGlobalQueryActive); + }; + +#endif /* UT_LAFSHUTDOWNMANAGER_H_ */ + + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodmonitorv1/inc/ut_oodmonitor_const.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodmonitorv1/inc/ut_oodmonitor_const.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,47 @@ +/* +* Copyright (c) 2010 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 UT_OODMONITOR_CONST_H_ +#define UT_OODMONITOR_CONST_H_ + +#include + +const TInt KTwoSecondInMicro = 2000000; + +const TUid KUTSysApPropertyCategory = {0x10000000}; +const TUint32 KHandleShutdownEventKey = 9000; +const TUint32 KGetShutdownStateKey = 9001; + +const TInt KHandleShutdownEventValue0 = 1000; +const TInt KHandleShutdownEventValue1 = 99; +const TInt KGetShutdownStateValue0 = 66; +const TInt KGetShutdownStateValue1 = 1; + +_LIT_SECURITY_POLICY_PASS(KAllowAllPolicy); + +const TInt KMaxFileSize = 0x1000000; +const TInt KOverlaySize = 1000; +const TInt KMaxFileNameLength = 256; + +const TInt KArraySize = 10; + +_LIT(KTextFileName, "\\testframework\\oodtest"); +_LIT(KDriverC, "c:"); +_LIT(KDriverE, "e:"); +_LIT(KDriverF, "f:"); + +#endif //UT_OODMONITOR_CONST_H_ diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodmonitorv1/inc/ut_oodmonitor_timer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodmonitorv1/inc/ut_oodmonitor_timer.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,71 @@ +/* +* Copyright (c) 2010 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 UT_OODMONITOR_TIMER_H_ +#define UT_OODMONITOR_TIMER_H_ + +#include + +#include "ut_lafshutdownmanager.h" + +enum TPhase + { + EPhase1, //=0 + EPhase2, + EPhase3, + EPhase4, + EPhase5, + EPhase6, + EPhase7, + EPhase8, + EPhase9, + EPhase10, + EPhase11 + }; + +enum TTestCase + { + EMMCTest, //=0 + EDisplayNotes, + EAutolock, + EOODWatcher + }; + +class Cut_OODMonitor_Timer : public CTimer + { +public: + static Cut_OODMonitor_Timer* NewLC(CLafShutdownManager* aShutdownManager, Tut_LafShutdownManager& aFriendLafShutdownManager, TTestCase aTestCase); + static Cut_OODMonitor_Timer* NewL(CLafShutdownManager* aShutdownManager, Tut_LafShutdownManager& aFriendLafShutdownManager, TTestCase aTestCase); + virtual ~Cut_OODMonitor_Timer(); + +private: + Cut_OODMonitor_Timer(CLafShutdownManager* aShutdownManager, Tut_LafShutdownManager& aFriendLafShutdownManager, TTestCase aTestCase); + void ConstructL(); + virtual void RunL(); + void ChangeMMCStatus(); + void ChangeDisplayNotes(); + void ChangeAutoLockStatus(); + +private: + Tut_LafShutdownManager& iFriendLafShutdownManager; + CLafShutdownManager* iShutdownManager; + TTestCase iTestCase; + TPhase iPhase; + CDesCArrayFlat* iFileNameArray; + }; + +#endif /* UT_OODMONITOR_TIMER_H_ */ diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodmonitorv1/src/mockshutdowneventobserver.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodmonitorv1/src/mockshutdowneventobserver.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,62 @@ +/* +* Copyright (c) 2010 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: +* +*/ + +#include +#include + +#include "mockshutdowneventobserver.h" +#include "ut_oodmonitor_const.h" + +ShutdownEventObserver::ShutdownEventObserver() + { + + } + +ShutdownEventObserver::~ShutdownEventObserver() + { + + } + +void ShutdownEventObserver::HandleShutdownEventL(MSaveObserver::TSaveType aAction,TBool aPowerOff, TPowerState aEvent) + { + if((MSaveObserver::ESaveData == aAction) && aPowerOff) + { + TInt err; + err=RProperty::Set(KUTSysApPropertyCategory, KHandleShutdownEventKey, KHandleShutdownEventValue1); + RDebug::Print(_L("CLafShutdownManager:: err=%d"),err); + } + } + +CArrayFix* ShutdownEventObserver::ClientArrayLC() + { + return (CArrayFix*)NULL; + } + +TBool ShutdownEventObserver::IsClientHung(TThreadId aId) const + { + return ETrue; + } + +void ShutdownEventObserver::GetShutdownState(TBool& aPowerOff, TBool& aAllSessionsHavePendingRequest) const + { + if(aAllSessionsHavePendingRequest && aPowerOff) + { + TInt err; + err=RProperty::Set(KUTSysApPropertyCategory, KGetShutdownStateKey, KGetShutdownStateValue1); + RDebug::Print(_L("CLafShutdownManager:: err=%d"),err); + } + } diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodmonitorv1/src/ut_lafshutdownmanager.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodmonitorv1/src/ut_lafshutdownmanager.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,280 @@ +/* +* Copyright (c) 2010 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: +* +*/ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "ut_lafshutdownmanager.h" +#include "ut_oodmonitor_const.h" +#include "ood.h" + +Tut_LafShutdownManager::Tut_LafShutdownManager() + { + + } + +Tut_LafShutdownManager::~Tut_LafShutdownManager() + { + + } + +RProperty Tut_LafShutdownManager::GetDiskStatusProperty(CLafShutdownManager* aShutdownManager) + { + return aShutdownManager->iDiskStatusProperty; + } + +RProperty Tut_LafShutdownManager::GetMMCStatusProperty(CLafShutdownManager* aShutdownManager) + { + return aShutdownManager->iMMCStatusProperty; + } + +RProperty Tut_LafShutdownManager::GetCanDisplayNotesProperty(CLafShutdownManager* aShutdownManager) + { + return aShutdownManager->iCanDisplayNotesProperty; + } + +RProperty Tut_LafShutdownManager::GetAutolockStatusProperty(CLafShutdownManager* aShutdownManager) + { + return aShutdownManager->iAutolockStatusProperty; + } + +RProperty Tut_LafShutdownManager::GetEnableMMCWatchProperty(CLafShutdownManager* aShutdownManager) + { + return aShutdownManager->iEnableMMCWatchProperty; + } + +CBase* Tut_LafShutdownManager::GetDisplayNotesSubscriber(CLafShutdownManager* aShutdownManager) + { + return aShutdownManager->iDisplayNotesSubscriber; + } + +CBase* Tut_LafShutdownManager::GetAutolockStatusSubscriber(CLafShutdownManager* aShutdownManager) + { + return aShutdownManager->iAutolockStatusSubscriber; + } + +CBase* Tut_LafShutdownManager::GetMMCWatchSubscriber(CLafShutdownManager* aShutdownManager) + { + return aShutdownManager->iMMCWatchSubscriber; + } + +TInt Tut_LafShutdownManager::GetOODWarningThreshold(CLafShutdownManager* aShutdownManager) + { + return aShutdownManager->iOODWarningThreshold; + } + +TInt Tut_LafShutdownManager::GetOODCriticalThreshold(CLafShutdownManager* aShutdownManager) + { + return aShutdownManager->iOODCriticalThreshold; + } + +CLafShutdownManager::CGlobalQueryActive* Tut_LafShutdownManager::GetGlobalQueryActive(CLafShutdownManager* aShutdownManager) + { + return aShutdownManager->iGlobalQueryActive; + } + +CActive* Tut_LafShutdownManager::GetOODWarningWatcher(CLafShutdownManager* aShutdownManager) + { + RDebug::Print(_L("Tut_LafShutdownManager::iOODWarningWatcher=%d"), aShutdownManager->iOOMMCWarningWatcher); + return aShutdownManager->iOODWarningWatcher; + } + +CActive* Tut_LafShutdownManager::GetOODCriticalWatcher(CLafShutdownManager* aShutdownManager) + { + RDebug::Print(_L("Tut_LafShutdownManager::iOODCriticalWatcher=%d"), aShutdownManager->iOOMMCCriticalWatcher); + return aShutdownManager->iOODCriticalWatcher; + } + +void Tut_LafShutdownManager::CallReportEventL(CLafShutdownManager* aShutdownManager, + MSaveObserver::TSaveType aAction,TBool aPowerOff) + { + aShutdownManager->ReportEventL(aAction, aPowerOff); + } + +void Tut_LafShutdownManager::CallGetShutdownState(CLafShutdownManager* aShutdownManager, + TBool& aPowerOff, TBool& aAllSessionsHavePendingRequest) + { + aShutdownManager->GetShutdownState(aPowerOff, aAllSessionsHavePendingRequest); + } + +TInt Tut_LafShutdownManager::CallGetDiskStatusL(CLafShutdownManager* aShutdownManager, + TVolumeInfo& aVolInfo,TDriveNumber aDrive) + { + return aShutdownManager->GetDiskStatusL(aVolInfo, aDrive); + } + +void Tut_LafShutdownManager::CreateFileL(const TDesC &aFileName, TInt aSize) + { + RDebug::Print(_L("CLafShutdownManager:: create filename = %S "), &aFileName); + RDebug::Print(_L("CLafShutdownManager:: size = %d "), aSize); + RFs fs; + + User::LeaveIfError(fs.Connect()); + CleanupClosePushL(fs); + + RFile file; + CleanupClosePushL(file); + User::LeaveIfError(file.Replace(fs, aFileName, EFileWrite)); + User::LeaveIfError(file.SetSize(aSize)); + + CleanupStack::PopAndDestroy(2); + RDebug::Print(_L("CLafShutdownManager:: CreateFileL end")); + } + +void Tut_LafShutdownManager::DeleteFileL(const TDesC &aFileName) + { + RDebug::Print(_L("CLafShutdownManager:: delete filename = %S "), &aFileName); + RFs fs; + User::LeaveIfError(fs.Connect()); + CleanupClosePushL(fs); + User::LeaveIfError(fs.Delete(aFileName)); + CleanupStack::PopAndDestroy(); + RDebug::Print(_L("CLafShutdownManager:: DeleteFileL end")); + } + +void Tut_LafShutdownManager::GetDiskInfoL(TVolumeInfo& aVolInfo, TDriveNumber aDrive) + { + RDebug::Print(_L("CLafShutdownManager::GetDiskInfoL")); + RFs fs; + User::LeaveIfError(fs.Connect()); + CleanupClosePushL(fs); + + User::LeaveIfError(fs.Volume(aVolInfo,aDrive)); + + CleanupStack::PopAndDestroy(); + } + +void Tut_LafShutdownManager::EatDiskL(CDesCArrayFlat* aDescArray, TDriveNumber aDriver, TDiskLevel aLevel ) + { + RDebug::Print(_L("CLafShutdownManager::EatDiskL")); + TVolumeInfo volInfo; + TInt err; + TInt threshod; + + if(EWarning == aLevel) + { + threshod = KDRIVECWARNINGTHRESHOLD; + } + else if (ECritical == aLevel) + { + threshod = KDRIVECCRITICALTHRESHOLD; + } + else + { + threshod =0; + } + + TRAP(err,GetDiskInfoL(volInfo, aDriver)); + + if (KErrNone == err) + { + TInt leftFileSize; + TInt64 freeSpace = volInfo.iFree; + RDebug::Print(_L("CLafShutdownManager:: free disk size = %ld"),freeSpace); + RDebug::Print(_L("CLafShutdownManager:: threshod = %d"),threshod); + + if((freeSpace + KOverlaySize) > threshod) + { + TInt fileNum = (freeSpace - threshod + KOverlaySize) / KMaxFileSize; + leftFileSize = freeSpace + KOverlaySize - fileNum*KMaxFileSize - threshod; + RDebug::Print(_L("CLafShutdownManager:: fileNume = %d"),fileNum); + RDebug::Print(_L("CLafShutdownManager:: leftFileSize = %d"),leftFileSize); + + TBuf drivers; + + if(EDriveE == aDriver) + { + TBuf driver(KDriverE); + drivers.Append(driver); + } + else if(EDriveF == aDriver) + { + TBuf driver(KDriverF); + drivers.Append(driver); + } + else + { + TBuf driver(KDriverC); + drivers.Append(driver); + } + TBuf fileName(KTextFileName); + TBuf path; + path.Append(drivers); + path.Append(fileName); + TRAP(err, CreateFileL(path, leftFileSize)); + if(KErrNone == err) + { + aDescArray->AppendL(path); + } + + for(TInt i = 1; i<=fileNum; i++) + { + TBuf fileNo; + fileNo.Num(i); + + TBuf newPath; + newPath.Append(drivers); + newPath.Append(fileName); + newPath.Append(fileNo); + + TRAP(err, CreateFileL(newPath, KMaxFileSize)); + if(KErrNone == err) + { + aDescArray->AppendL(newPath); + } + } + } + } + } + +void Tut_LafShutdownManager::FreeDiskL(CDesCArrayFlat* aDescArray) + { + RDebug::Print(_L("CLafShutdownManager::FreeDiskL")); + TInt fileNum = aDescArray->MdcaCount(); + + for(TInt i=0; i fileName=(aDescArray->MdcaPoint(i)); + DeleteFileL(fileName); + } + } + +CLafShutdownManager::CGlobalQueryActive::CMessageInfo* Tut_LafShutdownManager:: + GetMessageInfoList(CLafShutdownManager::CGlobalQueryActive* aGlobalQueryActive, TInt aIndex) + { + return aGlobalQueryActive->iMessageInfo[aIndex]; + } + +CLafShutdownManager::CGlobalQueryActive::TMessageType Tut_LafShutdownManager:: + GetMessageType(CLafShutdownManager::CGlobalQueryActive* aGlobalQueryActive) + { + return aGlobalQueryActive->iMessageType; + } + +void Tut_LafShutdownManager::CallFreeDiskThresholdCrossedL(CLafShutdownManager* aShutdownManager, + TDriveNumber aDrive, TBool aIsCallBack, TBool aForcedNote) + { + aShutdownManager->FreeDiskThresholdCrossedL(aDrive, aIsCallBack, aForcedNote); + } + + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodmonitorv1/src/ut_oodmonitor.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodmonitorv1/src/ut_oodmonitor.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,124 @@ +/* +* Copyright (c) 2010 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: This file contains STIFUnit module implementation. +* +*/ + +/******************************************************************************/ +/* + * + * Test module configuration +*/ + +// Version +#define TEST_MODULE_VERSION_MAJOR 0 +#define TEST_MODULE_VERSION_MINOR 0 +#define TEST_MODULE_VERSION_BUILD 0 + +// Uncomment following defines, if you want to provide implementation +// of enlisted virtual methods of test module. +// Implementation part is located at the end of this file. +//#define STIFUNIT_OOMTESTQUERYL +//#define STIFUNIT_OOMTESTINITIALIZEL +//#define STIFUNIT_OOMHANDLEWARNINGL +//#define STIFUNIT_OOMTESTFINALIZEL +// Uncomment following define, if you want to increase heap or stack size. +// #define STIFUNIT_SETHEAPANDSTACKSIZE +/******************************************************************************/ + + +/* + * Test module internals. Please do not edit them. +*/ + +// Includes +#include + +// Literals +_LIT( KUnitLogPath, "\\logs\\testframework\\ut_oodmonitor\\" ); +_LIT( KUnitLogFile, "ut_oodmonitor.txt" ); +_LIT( KLogStart, "ut_oodmonitor logging starts!" ); + +// Defines +#define STIF_UNIT_TEST_CASES "../src/ut_oodmonitorCases.cpp" +#define STIF_UNIT_MODULE_CLASS_NAME Cut_oodmonitor +#define STIF_UNIT_MODULE_NAME _L("ut_oodmonitor.dll") + +// Include STIF unit generic file +#include + +/* + * Implementation of setHeapAndStack virtual methods. + * To changes heap and stack size provide new values to iTestThreadStackSize, iTestThreadMinHeap and iTestThreadMaxHeap. +*/ + +#ifdef STIFUNIT_SETHEAPANDSTACKSIZE +EXPORT_C TInt SetRequirements( CTestModuleParam*& aTestModuleParam, + TUint32& aParameterValid ) + { + aParameterValid = KStifTestModuleParameterChanged; + CTestModuleParamVer01* param = CTestModuleParamVer01::NewL(); + // Stack size + param->iTestThreadStackSize= 16384; // 16K stack + // Heap sizes + param->iTestThreadMinHeap = 4096; // 4K heap min + param->iTestThreadMaxHeap = 1048576;// 1M heap max + + return KErrNone; + } +#undef STIFUNIT_SETHEAPANDSTACKSIZE +#endif + +/* + * User implementation of OOM virtual methods. + * Providing own implementation requires uncommenting defines at the + * beginnig of this file. +*/ +#ifdef STIFUNIT_OOMTESTQUERYL +TBool Cut_oodmonitor::OOMTestQueryL( const TFileName& /*aTestCaseFile*/, + const TInt aCaseNumber, + TOOMFailureType& aFailureType, + TInt& aFirstMemFailure, + TInt& aLastMemFailure) + { + } +#undef STIFUNIT_OOMTESTQUERYL +#endif + +#ifdef STIFUNIT_OOMTESTINITIALIZEL +void Cut_oodmonitor::OOMTestInitializeL( const TFileName& /*aTestCaseFile*/, + const TInt /*aCaseNumber*/ ) + { + } +#undef STIFUNIT_OOMTESTINITIALIZEL +#endif + +#ifdef STIFUNIT_OOMHANDLEWARNINGL +void Cut_oodmonitor::OOMHandleWarningL( const TFileName& /*aTestCaseFile*/, + const TInt /*aCaseNumber*/, + TInt& /*aFailNextValue*/) + { + } +#undef STIFUNIT_OOMHANDLEWARNINGL +#endif + +#ifdef STIFUNIT_OOMTESTFINALIZEL +void Cut_oodmonitor::OOMTestFinalizeL( const TFileName& /*aTestCaseFile*/, + const TInt /*aCaseNumber*/ ) + { + } +#undef STIFUNIT_OOMTESTFINALIZEL +#endif + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodmonitorv1/src/ut_oodmonitorCases.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodmonitorv1/src/ut_oodmonitorCases.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,705 @@ +/* +* Copyright (c) 2010 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: This file contains STIFUnit implementation. +* +*/ + +/** + * STIF_UNIT_INCLUDE SECTION - put all #includes between STIF_UNIT_INCLUDE_SECTION + * and STIF_UNIT_INCLUDE_SECTION_END + */ +#ifdef STIF_UNIT_INCLUDE_SECTION + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#include "mockshutdowneventobserver.h" +#include "ut_oodmonitor_const.h" +#include "ut_oodmonitor_timer.h" +#include "Ood.h" + +#endif //STIF_UNIT_INCLUDE_SECTION_END + +/** + * GLOBAL VARIABLES SECTION + */ +#ifdef TEST_VAR_DECLARATIONS + + +#endif +/** + * END OF GLOBAL VARIABLES SECTION + */ + + +/** + * TEST CASES SECTION + */ +#ifdef TEST_CASES +/** + * STIF_SETUP defines activities needed before every test case. + */ +STIF_SETUP +{ + // property for setting AccMode + RProperty::Define(KUTSysApPropertyCategory, KHandleShutdownEventKey, + RProperty::EInt, KAllowAllPolicy, KAllowAllPolicy); + RProperty::Define(KUTSysApPropertyCategory, KGetShutdownStateKey, + RProperty::EInt, KAllowAllPolicy, KAllowAllPolicy); +} + +/** + * STIF_TEARDOWN defines activities needed after every test case + */ +STIF_TEARDOWN +{ + RProperty::Delete(KUTSysApPropertyCategory, KHandleShutdownEventKey); + RProperty::Delete(KUTSysApPropertyCategory, KGetShutdownStateKey); +} + +/** + * @SYMTestCaseID GAPS-OOD-SHUTDOWNMANAGER-001 + * @SYMTestCaseDesc Create CLafShutdownManager object then delete it. + * @SYMTestPriority Medium + * @SYMTestActions 1. Create scheduler. + * 2. Create friend class object of CLafShutdownManager. + * 3. Create CLafShutdownManager object. + * 4. Check all the proterties have been initialized. + * 5. Check subscribers have been initialized. + * 6. Check thresholds of OODWarning and OODCritical have been assigned correct value. + * 7. Check GlobalQueryActive has been initialized. + * 8. Check OODWarningWatcher and iOODCriticalWatcher has been initialized. + * @SYMTestExpectedResults 1. Sechduler is created. + * 2. Friend class object of CLafShutdownManager is created. + * 3. CLafShutdownManager object is created. + * 4. All the proterties can be accessed. + * 5. All the pointer of subscribers are not null. + * 6. The thresholds of OODWarning and OODCritical have been assigned correct value. + * 7. The pointer of GlobalQueryActive is not null. + * 8. Pointers to OODWarningWatcher and iOODCriticalWatcher are not null. + * @SYMTestType Unit Test + * @SYMCreationDate 09-09-2010 + */ +STIF_TESTDEFINE(GAPS-OOD-SHUTDOWNMANAGER-001) +{ + iLog->Log(_L("CLafShutdownManager:: GAPS-OOD-SHUTDOWNMANAGER-001 start")); + // Create active scheduler (to run active objects) + CActiveScheduler* scheduler = new (ELeave) CActiveScheduler(); + CleanupStack::PushL(scheduler); + CActiveScheduler::Install(scheduler); + + Tut_LafShutdownManager friendClass; + ShutdownEventObserver shutdownEventObserver; + CLafShutdownManager* shutdownManager = CLafShutdownManager::NewL(shutdownEventObserver); + + // Check properties + TInt value; + TInt err; + RProperty diskStatusProperty = friendClass.GetDiskStatusProperty(shutdownManager); + err = diskStatusProperty.Get(value); + STIF_ASSERT_EQUALS(KErrNone, err); + + RProperty mmcStatusProperty = friendClass.GetMMCStatusProperty(shutdownManager); + err = mmcStatusProperty.Get(value); + STIF_ASSERT_EQUALS(KErrNone, err); + + RProperty canDisplayNotesProperty = friendClass.GetCanDisplayNotesProperty(shutdownManager); + err = canDisplayNotesProperty.Get(value); + iLog->Log(_L("CLafShutdownManager:: iDisplayNotesProperty=%d"), value); + STIF_ASSERT_EQUALS(KErrNone, err); + + RProperty autolockStatusProperty = friendClass.GetAutolockStatusProperty(shutdownManager); + err = autolockStatusProperty.Get(value); + iLog->Log(_L("CLafShutdownManager:: iAutolockStatusProperty=%d"), value); + STIF_ASSERT_EQUALS(KErrNone, err); + + RProperty enableMMCWatchProperty = friendClass.GetEnableMMCWatchProperty(shutdownManager); + err = enableMMCWatchProperty.Get(value); + STIF_ASSERT_EQUALS(KErrNone, err); + + // Check subscriber + CBase* pointer = friendClass.GetDisplayNotesSubscriber(shutdownManager); + STIF_ASSERT_NOT_NULL(pointer); + pointer = friendClass.GetAutolockStatusSubscriber(shutdownManager); + STIF_ASSERT_NOT_NULL(pointer); + pointer = friendClass.GetMMCWatchSubscriber(shutdownManager); + STIF_ASSERT_NOT_NULL(pointer); + + TInt oodWarningThreshold = friendClass.GetOODWarningThreshold(shutdownManager); + STIF_ASSERT_EQUALS(KDRIVECWARNINGTHRESHOLD, oodWarningThreshold); + TInt oodCriticalThreshold = friendClass.GetOODCriticalThreshold(shutdownManager); + STIF_ASSERT_EQUALS(KDRIVECCRITICALTHRESHOLD, oodCriticalThreshold); + + CLafShutdownManager::CGlobalQueryActive* globalQuaryActive = friendClass.GetGlobalQueryActive(shutdownManager); + iLog->Log(_L("CLafShutdownManager::iGlobalQueryActive=%d"), globalQuaryActive); + STIF_ASSERT_NOT_NULL(globalQuaryActive); + + RFs fs; + User::LeaveIfError(fs.Connect()); + CleanupClosePushL(fs); + + RResourceFile resFile; + TFileName filename(KDriveZ); + filename.Append(KDC_RESOURCE_FILES_DIR); + filename.Append(KOOMWatcherResourceFileName); + BaflUtils::NearestLanguageFile(fs, filename); + resFile.OpenL(fs, filename); + CleanupClosePushL(resFile); + + TResourceReader theReader; + + CLafShutdownManager::CGlobalQueryActive::CMessageInfo* messageInfoPointer = + friendClass.GetMessageInfoList(globalQuaryActive, CLafShutdownManager::CGlobalQueryActive::ECritical); + + HBufC8* message = resFile.AllocReadLC(R_QTN_MEMLO_MEMORY_FULL); + theReader.SetBuffer(message); + HBufC* criticalMessage = theReader.ReadHBufCL(); + + iLog->Log(_L("CLafShutdownManager::criticalMessage=%S"), criticalMessage); + iLog->Log(_L("CLafShutdownManager::criticalMessage1=%S"), messageInfoPointer->iMessage); + + TInt result = criticalMessage->Compare(*(messageInfoPointer->iMessage)); + iLog->Log(_L("CLafShutdownManager::result=%d"), result); + + STIF_ASSERT_TRUE(0 == result); + delete criticalMessage; + CleanupStack::PopAndDestroy(message); + + messageInfoPointer = + friendClass.GetMessageInfoList(globalQuaryActive, CLafShutdownManager::CGlobalQueryActive::EWarning); + message = resFile.AllocReadLC(R_QTN_MEMLO_MEMORY_RUNNING_OUT); + theReader.SetBuffer(message); + HBufC* warningMessage = theReader.ReadHBufCL(); + + iLog->Log(_L("CLafShutdownManager::warningMessage=%S"), warningMessage); + iLog->Log(_L("CLafShutdownManager::warningMessage1=%S"), messageInfoPointer->iMessage); + + result = warningMessage->Compare(*(messageInfoPointer->iMessage)); + iLog->Log(_L("CLafShutdownManager::result=%d"), result); + + STIF_ASSERT_TRUE(0 == result); + delete warningMessage; + CleanupStack::PopAndDestroy(message); + + messageInfoPointer = + friendClass.GetMessageInfoList(globalQuaryActive, CLafShutdownManager::CGlobalQueryActive::EWarningMMC); + message = resFile.AllocReadLC(R_QTN_MEMLO_MMC_MEMORY_RUNNING_OUT); + theReader.SetBuffer(message); + HBufC* warningMMCMessage = theReader.ReadHBufCL(); + + iLog->Log(_L("CLafShutdownManager::warningMMCMessage=%S"), warningMMCMessage); + iLog->Log(_L("CLafShutdownManager::warningMMCMessage1=%S"), messageInfoPointer->iMessage); + + result = warningMMCMessage->Compare(*(messageInfoPointer->iMessage)); + iLog->Log(_L("CLafShutdownManager::result=%d"), result); + + STIF_ASSERT_TRUE(0 == result); + delete warningMMCMessage; + CleanupStack::PopAndDestroy(message); + + messageInfoPointer = + friendClass.GetMessageInfoList(globalQuaryActive, CLafShutdownManager::CGlobalQueryActive::ECriticalMMC); + message = resFile.AllocReadLC(R_QTN_MEMLO_MMC_MEMORY_FULL); + theReader.SetBuffer(message); + HBufC* criticalMMCMessage = theReader.ReadHBufCL(); + + iLog->Log(_L("CLafShutdownManager::criticalMMCMessage=%S"), criticalMMCMessage); + iLog->Log(_L("CLafShutdownManager::criticalMMCMessage1=%S"), messageInfoPointer->iMessage); + + result = criticalMMCMessage->Compare(*(messageInfoPointer->iMessage)); + iLog->Log(_L("CLafShutdownManager::result=%d"), result); + + STIF_ASSERT_TRUE(0 == result); + delete criticalMMCMessage; + CleanupStack::PopAndDestroy(message); + + CleanupStack::PopAndDestroy(&resFile); + CleanupStack::PopAndDestroy(&fs); + + CActive* pointer1 = friendClass.GetOODWarningWatcher(shutdownManager); + iLog->Log(_L("CLafShutdownManager::iOODWarningWatcher=%d"), pointer1); + STIF_ASSERT_NOT_NULL(pointer1); + pointer1 = friendClass.GetOODCriticalWatcher(shutdownManager); + iLog->Log(_L("CLafShutdownManager::iOODCriticalWatcher=%d"), pointer1); + STIF_ASSERT_NOT_NULL(pointer1); + + delete shutdownManager; + + // Delete active scheduler + CleanupStack::PopAndDestroy(scheduler); + iLog->Log(_L("CLafShutdownManager:: GAPS-OOD-SHUTDOWNMANAGER-001 end")); +} + +/** + * @SYMTestCaseID GAPS-OOD-SHUTDOWNMANAGER-002 + * @SYMTestCaseDesc Test LafShutdown class. + * @SYMTestPriority Medium + * @SYMTestActions 1. Create scheduler. + * 2. Test LafShutdown::CreateShutdownManager(); + * 3. Test LafShutdown::SaveFromViewSwitch(); + * 4. Test LafShutdown::SaveFromAppSwitch(); + * 5. Delete CLafShutdownManagerBase object. + * 6. Delete scheduler. + * @SYMTestExpectedResults 1. Sechduler is created. + * 2. CLafShutdownManagerBase object is created. + * 3. LafShutdown::SaveFromViewSwitch(); return expected value. + * 4. LafShutdown::SaveFromAppSwitch(); return expected value. + * 5. CLafShutdownManagerBase object is deleted. + * 6. Scheduler is deleted. + * @SYMTestType Unit Test + * @SYMCreationDate 09-09-2010 + */ +STIF_TESTDEFINE(GAPS-OOD-SHUTDOWNMANAGER-002) +{ + iLog->Log(_L("CLafShutdownManager:: GAPS-OOD-SHUTDOWNMANAGER-002 start")); + + // Create active scheduler (to run active objects) + CActiveScheduler* scheduler = new (ELeave) CActiveScheduler(); + CleanupStack::PushL(scheduler); + CActiveScheduler::Install(scheduler); + + ShutdownEventObserver shutdownEventObserver; + + CLafShutdownManagerBase* shutdownManager = LafShutdown::CreateShutdownManager(shutdownEventObserver); + STIF_ASSERT_NOT_NULL(shutdownManager); + + MSaveObserver::TSaveType type = LafShutdown::SaveFromViewSwitch(); + STIF_ASSERT_EQUALS(MSaveObserver::ESaveNone, type); + + type = LafShutdown::SaveFromAppSwitch(); + STIF_ASSERT_EQUALS(MSaveObserver::ESaveNone, type); + + delete shutdownManager; + + // Delete active scheduler + CleanupStack::PopAndDestroy(scheduler); + iLog->Log(_L("CLafShutdownManager:: GAPS-OOD-SHUTDOWNMANAGER-002 end")); +} + +/** + * @SYMTestCaseID GAPS-OOD-SHUTDOWNMANAGER-003 + * @SYMTestCaseDesc Test MMCWatchSubscriber + * @SYMTestPriority Medium + * @SYMTestActions 1. Create scheduler. + * 2. Create CLafShutdownManager object. + * 3. Create Cut_OODMonitor_Timer object. + * 4. Start scheduler. + * 5. Change enableMMCWatchProperty. + * 6. Change enableMMCWatchProperty after two seconds. + * 7. Stop shceduler. + * 8. Check mmcStatusProperty property. + * 9. Delete Cut_OODMonitor_Timer object and CLafShutdownManager object. + * 10. Delete scheduler. + * @SYMTestExpectedResults 1. Sechduler is created. + * 2. CLafShutdownManager object is created. + * 3. Cut_OODMonitor_Timer object is created. + * 4. Scheduler starts. + * 5. enableMMCWatchProperty changed; + * 6. enableMMCWatchProperty changed after two seconds. + * 7. Shceduler stoped. + * 8. mmcStatusProperty property is assign value as expected. + * 9. Cut_OODMonitor_Timer object and CLafShutdownManager object are deleted. + * 10. Scheduler is deleted. + * @SYMTestType Unit Test + * @SYMCreationDate 09-09-2010 + */ +STIF_TESTDEFINE(GAPS-OOD-SHUTDOWNMANAGER-003) +{ + // Create active scheduler (to run active objects) + iLog->Log(_L("CLafShutdownManager:: GAPS-OOD-SHUTDOWNMANAGER-003 start")); + CActiveScheduler* scheduler = new (ELeave) CActiveScheduler(); + CleanupStack::PushL(scheduler); + CActiveScheduler::Install(scheduler); + + Tut_LafShutdownManager friendClass; + ShutdownEventObserver shutdownEventObserver; + CLafShutdownManager* shutdownManager = CLafShutdownManager::NewL(shutdownEventObserver); + + Cut_OODMonitor_Timer* oodMonitorTimer = Cut_OODMonitor_Timer::NewLC(shutdownManager, friendClass, EMMCTest); + CActiveScheduler::Start(); + + TInt value; + TInt err; + RProperty mmcStatusProperty = friendClass.GetMMCStatusProperty(shutdownManager); + err = mmcStatusProperty.Get(value); + iLog->Log(_L("CLafShutdownManager:: value=%d"),value); + STIF_ASSERT_EQUALS(KErrNone, err); + STIF_ASSERT_EQUALS(value, DISK_SPACE_OK); + + CleanupStack::PopAndDestroy(oodMonitorTimer); + delete shutdownManager; + + // Delete active scheduler + CleanupStack::PopAndDestroy(scheduler); + iLog->Log(_L("CLafShutdownManager:: GAPS-OOD-SHUTDOWNMANAGER-003 end")); +} + +/** + * @SYMTestCaseID GAPS-OOD-SHUTDOWNMANAGER-004 + * @SYMTestCaseDesc Test DisplayNotesSubscriber. + * @SYMTestPriority Medium + * @SYMTestActions 1. Create scheduler. + * 2. Create CLafShutdownManager object. + * 3. Create Cut_OODMonitor_Timer object. + * 4. Start scheduler. + * 5. Change canDisplayNotesProperty and fill the disk space to + * critical level. + * 6. Change canDisplayNotesProperty after two seconds. + * 7. Free disk space after two seconds. + * 8. Stop shceduler. + * 9. Check FreeDiskThresholdCrossedL() is called. + * 10. Delete Cut_OODMonitor_Timer object and CLafShutdownManager object. + * 11. Delete scheduler. + * @SYMTestExpectedResults 1. Sechduler is created. + * 2. CLafShutdownManager object is created. + * 3. Cut_OODMonitor_Timer object is created. + * 4. Scheduler start. + * 5. canDisplayNotesProperty changed and disk space is filled to + * critical level. + * 6. canDisplayNotesProperty changed after two seconds. + * 7. Disk space is freed after two seconds. + * 8. Stop shceduler. + * 9. FreeDiskThresholdCrossedL() is called. + * 10. Cut_OODMonitor_Timer object and CLafShutdownManager object are deleted. + * 11. Scheduler is deleted. + * @SYMTestType Unit Test + * @SYMCreationDate 09-09-2010 + */ +STIF_TESTDEFINE(GAPS-OOD-SHUTDOWNMANAGER-004) +{ + iLog->Log(_L("CLafShutdownManager:: GAPS-OOD-SHUTDOWNMANAGER-004 start")); + + // Create active scheduler (to run active objects) + CActiveScheduler* scheduler = new (ELeave) CActiveScheduler(); + CleanupStack::PushL(scheduler); + CActiveScheduler::Install(scheduler); + + Tut_LafShutdownManager friendClass; + ShutdownEventObserver shutdownEventObserver; + CLafShutdownManager* shutdownManager = CLafShutdownManager::NewL(shutdownEventObserver); + + Cut_OODMonitor_Timer* oodMonitorTimer = Cut_OODMonitor_Timer::NewLC(shutdownManager, friendClass, EDisplayNotes); + CActiveScheduler::Start(); + + CLafShutdownManager::CGlobalQueryActive* globalQuaryActive = friendClass.GetGlobalQueryActive(shutdownManager); + iLog->Log(_L("CLafShutdownManager::iGlobalQueryActive=%d"), globalQuaryActive); + STIF_ASSERT_NOT_NULL(globalQuaryActive); + + CLafShutdownManager::CGlobalQueryActive::CMessageInfo* messageInfoPointer = + friendClass.GetMessageInfoList(globalQuaryActive, CLafShutdownManager::CGlobalQueryActive::ECritical); + + TInt locate = messageInfoPointer->iMessage->Des().Locate('s'); + iLog->Log(_L("CLafShutdownManager::locate=%d"), locate); + STIF_ASSERT_EQUALS(0, locate); + + + + CleanupStack::PopAndDestroy(oodMonitorTimer); + delete shutdownManager; + + // Delete active scheduler + CleanupStack::PopAndDestroy(scheduler); + iLog->Log(_L("CLafShutdownManager:: GAPS-OOD-SHUTDOWNMANAGER-004 end")); +} + +/** + * @SYMTestCaseID GAPS-OOD-SHUTDOWNMANAGER-005 + * @SYMTestCaseDesc Test AutolockStatusSubscriber. + * @SYMTestPriority Medium + * @SYMTestActions 1. Create scheduler. + * 2. Create CLafShutdownManager object. + * 3. Create Cut_OODMonitor_Timer object. + * 4. Start scheduler. + * 5. Change autolockStatusProperty and fill the disk space to + * warning level. + * 6. Change autolockStatusProperty after two seconds. + * 7. Free disk space after two seconds. + * 8. Stop shceduler. + * 9. Check FreeDiskThresholdCrossedL() is called. + * 10. Delete Cut_OODMonitor_Timer object. + * 11. Delete CLafShutdownManager object. + * 12. Delete scheduler. + * @SYMTestExpectedResults 1. Sechduler is created. + * 2. CLafShutdownManager object is created. + * 3. Cut_OODMonitor_Timer object is created. + * 4. Scheduler start. + * 5. autolockStatusProperty changed and disk space is filled to + * warning level. + * 6. autolockStatusProperty changed after two seconds. + * 7. Disk space is freed after two seconds. + * 8. Stop shceduler. + * 9. FreeDiskThresholdCrossedL() is called. + * 10. Cut_OODMonitor_Timer object is deleted. + * 11. CLafShutdownManager object is deleted. + * 12. Scheduler is deleted. + * @SYMTestType Unit Test + * @SYMCreationDate 09-09-2010 + */ + +STIF_TESTDEFINE(GAPS-OOD-SHUTDOWNMANAGER-005) +{ + // Create active scheduler (to run active objects) + iLog->Log(_L("CLafShutdownManager:: GAPS-OOD-SHUTDOWNMANAGER-005 start")); + CActiveScheduler* scheduler = new (ELeave) CActiveScheduler(); + CleanupStack::PushL(scheduler); + CActiveScheduler::Install(scheduler); + + Tut_LafShutdownManager friendClass; + ShutdownEventObserver shutdownEventObserver; + CLafShutdownManager* shutdownManager = CLafShutdownManager::NewL(shutdownEventObserver); + + Cut_OODMonitor_Timer* oodMonitorTimer = Cut_OODMonitor_Timer::NewLC(shutdownManager, friendClass, EAutolock); + CActiveScheduler::Start(); + + CLafShutdownManager::CGlobalQueryActive* globalQuaryActive = friendClass.GetGlobalQueryActive(shutdownManager); + iLog->Log(_L("CLafShutdownManager::iGlobalQueryActive=%d"), globalQuaryActive); + STIF_ASSERT_NOT_NULL(globalQuaryActive); + + CLafShutdownManager::CGlobalQueryActive::CMessageInfo* messageInfoPointer = + friendClass.GetMessageInfoList(globalQuaryActive, CLafShutdownManager::CGlobalQueryActive::EWarning); + + TInt locate = messageInfoPointer->iMessage->Des().Locate('s'); + iLog->Log(_L("CLafShutdownManager::locate=%d"), locate); + STIF_ASSERT_EQUALS(0, locate); + + CleanupStack::PopAndDestroy(oodMonitorTimer); + delete shutdownManager; + + // Delete active scheduler + CleanupStack::PopAndDestroy(scheduler); + iLog->Log(_L("CLafShutdownManager:: GAPS-OOD-SHUTDOWNMANAGER-005 end")); +} + +/** + * @SYMTestCaseID GAPS-OOD-SHUTDOWNMANAGER-006 + * @SYMTestCaseDesc Test ReportEventL() and GetShutdownState(). + * @SYMTestPriority Medium + * @SYMTestActions 1. Create scheduler. + * 2. Create CLafShutdownManager object. + * 3. Call ReportEventL(). + * 4. Call GetShutdownState(). + * 5. Delete CLafShutdownManager object. + * 6. Delete scheduler. + * @SYMTestExpectedResults 1. Sechduler is created. + * 2. CLafShutdownManager object is created. + * 3. ReportEventL() is called correctly. + * 4. GetShutdownState is called correctly. + * 5. CLafShutdownManager object is deleted. + * 6. Scheduler is delted. + * @SYMTestType Unit Test + * @SYMCreationDate 09-09-2010 + */ + +STIF_TESTDEFINE(GAPS-OOD-SHUTDOWNMANAGER-006) +{ + // Create active scheduler (to run active objects) + iLog->Log(_L("CLafShutdownManager:: GAPS-OOD-SHUTDOWNMANAGER-006 start")); + CActiveScheduler* scheduler = new (ELeave) CActiveScheduler(); + CleanupStack::PushL(scheduler); + CActiveScheduler::Install(scheduler); + + TInt err; + err=RProperty::Set(KUTSysApPropertyCategory, KHandleShutdownEventKey, KHandleShutdownEventValue0); + iLog->Log(_L("CLafShutdownManager:: err=%d"),err); + err=RProperty::Set(KUTSysApPropertyCategory, KGetShutdownStateKey, KGetShutdownStateValue0); + iLog->Log(_L("CLafShutdownManager:: err=%d"),err); + + ShutdownEventObserver shutdownEventObserver; + CLafShutdownManager* shutdownManager = CLafShutdownManager::NewL(shutdownEventObserver); + Tut_LafShutdownManager friendClass; + + // Check ReportEventL() + TBool boolValue = ETrue; + friendClass.CallReportEventL(shutdownManager, MSaveObserver::ESaveData, boolValue); + + TInt propertyValue; + RProperty::Get(KUTSysApPropertyCategory, KHandleShutdownEventKey, propertyValue); + iLog->Log(_L("CLafShutdownManager:: KHandleShutdownEventKey = %d"), propertyValue); + STIF_ASSERT_EQUALS(KHandleShutdownEventValue1, propertyValue); + + // Check GetShutdownState() + friendClass.CallGetShutdownState(shutdownManager, boolValue, boolValue); + + RProperty::Get(KUTSysApPropertyCategory, KGetShutdownStateKey, propertyValue); + iLog->Log(_L("CLafShutdownManager:: KGetShutdownStateKey = %d"), propertyValue); + STIF_ASSERT_EQUALS(KGetShutdownStateValue1, propertyValue); + + delete shutdownManager; + + // Delete active scheduler + CleanupStack::PopAndDestroy(scheduler); + iLog->Log(_L("CLafShutdownManager:: GAPS-OOD-SHUTDOWNMANAGER-006 end")); +} + +/** + * @SYMTestCaseID GAPS-OOD-SHUTDOWNMANAGER-007 + * @SYMTestCaseDesc Test CallGetDiskStatusL(). + * @SYMTestPriority Medium + * @SYMTestActions 1. Create scheduler. + * 2. Create CLafShutdownManager object. + * 3. Fill the disk space to critical level. + * 4. Call CallGetDiskStatusL(). + * 5. Free disk space. + * 6. Fill the disk space to warning level. + * 7. Call CallGetDiskStatusL(). + * 8. Free disk space. + * 9. Call CallGetDiskStatusL(). + * 10. Delete CLafShutdownManager object. + * 11. Delete scheduler. + * @SYMTestExpectedResults 1. Sechduler is created. + * 2. CLafShutdownManager object is created. + * 3. Disk space is filled to critical level. + * 4. CallGetDiskStatusL() return correct value. + * 5. Disk space is freed. + * 6. Disk space is filled to warning level. + * 7. CallGetDiskStatusL() return correct value. + * 8. Disk space is freed. + * 9. CallGetDiskStatusL() return correct value. + * 10. CLafShutdownManager object is deleted. + * 11. Scheduler is deleted. + * @SYMTestType Unit Test + * @SYMCreationDate 09-09-2010 + */ + +STIF_TESTDEFINE(GAPS-OOD-SHUTDOWNMANAGER-007) +{ + // Create active scheduler (to run active objects) + iLog->Log(_L("CLafShutdownManager:: GAPS-OOD-SHUTDOWNMANAGER-007 start")); + CActiveScheduler* scheduler = new (ELeave) CActiveScheduler(); + CleanupStack::PushL(scheduler); + CActiveScheduler::Install(scheduler); + + ShutdownEventObserver shutdownEventObserver; + CLafShutdownManager* shutdownManager = CLafShutdownManager::NewL(shutdownEventObserver); + + CDesCArrayFlat* fileNameArray = new (ELeave) CDesCArrayFlat(KArraySize); + CleanupStack::PushL(fileNameArray); + + Tut_LafShutdownManager friendClass; + + // Critical + iLog->Log(_L("CLafShutdownManager:: Critical")); + friendClass.EatDiskL(fileNameArray, EDriveC, ECritical); + + TVolumeInfo volInfo; + + TInt value = friendClass.CallGetDiskStatusL(shutdownManager, volInfo, EDriveC); + iLog->Log(_L("CLafShutdownManager:: value=%d"),value); + STIF_ASSERT_TRUE(value == DISK_SPACE_CRITICAL); + + friendClass.FreeDiskL(fileNameArray); + + //Warning + iLog->Log(_L("CLafShutdownManager:: Warning")); + fileNameArray->Reset(); + friendClass.EatDiskL(fileNameArray, EDriveC, EWarning); + + value = friendClass.CallGetDiskStatusL(shutdownManager, volInfo, EDriveC); + iLog->Log(_L("CLafShutdownManager:: value=%d"),value); + STIF_ASSERT_TRUE(value == DISK_SPACE_WARNING) + + User::After(KTwoSecondInMicro); + friendClass.FreeDiskL(fileNameArray); + + // Normal + iLog->Log(_L("CLafShutdownManager:: Normal")); + value = friendClass.CallGetDiskStatusL(shutdownManager, volInfo, EDriveC); + iLog->Log(_L("CLafShutdownManager:: value=%d"),value); + STIF_ASSERT_TRUE(value == DISK_SPACE_OK) + + CleanupStack::PopAndDestroy(fileNameArray); + delete shutdownManager; + + //Delete active scheduler + CleanupStack::PopAndDestroy(scheduler); + iLog->Log(_L("CLafShutdownManager:: GAPS-OOD-SHUTDOWNMANAGER-007 end")); +} + +/** + * @SYMTestCaseID GAPS-OOD-SHUTDOWNMANAGER-008 + * @SYMTestCaseDesc Test OOD disk watcher. + * @SYMTestPriority Medium + * @SYMTestActions 1. Create scheduler. + * 2. Create CLafShutdownManager object. + * 3. Create Cut_OODMonitor_Timer object. + * 4. Start scheduler. + * 5. Fill the disk space to critical level. + * 6. Free disk space after two seconds. + * 7. Stop shceduler. + * 8. Check DiskStatusProperty. + * 9. Delete Cut_OODMonitor_Timer object and CLafShutdownManager object. + * 10. Delete scheduler. + * @SYMTestExpectedResults 1. Sechduler is created. + * 2. CLafShutdownManager object is created. + * 3. Cut_OODMonitor_Timer object is created. + * 4. Scheduler started. + * 5. Disk space is filled to critical level. + * 6. Disk space is freed after two seconds. + * 7. Shceduler stopped. + * 8. DiskStatusProperty is assigned value as expected. + * 9. Delete Cut_OODMonitor_Timer object and CLafShutdownManager object. + * 10. Delete scheduler. + * @SYMTestType Unit Test + * @SYMCreationDate 09-09-2010 + */ + +STIF_TESTDEFINE(GAPS-OOD-SHUTDOWNMANAGER-008) +{ + // Create active scheduler (to run active objects) + iLog->Log(_L("CLafShutdownManager:: GAPS-OOD-SHUTDOWNMANAGER-008 start")); + CActiveScheduler* scheduler = new (ELeave) CActiveScheduler(); + CleanupStack::PushL(scheduler); + CActiveScheduler::Install(scheduler); + + ShutdownEventObserver shutdownEventObserver; + CLafShutdownManager* shutdownManager = CLafShutdownManager::NewL(shutdownEventObserver); + + Tut_LafShutdownManager friendClass; + + Cut_OODMonitor_Timer* oodMonitorTimer = Cut_OODMonitor_Timer::NewLC(shutdownManager, friendClass, EOODWatcher); + CActiveScheduler::Start(); + + TInt value; + TInt err; + RProperty diskStatusProperty = friendClass.GetDiskStatusProperty(shutdownManager); + err = diskStatusProperty.Get(value); + iLog->Log(_L("CLafShutdownManager:: value=%d"),value); + STIF_ASSERT_EQUALS(KErrNone, err); + STIF_ASSERT_EQUALS(value, DISK_SPACE_OK); + + CleanupStack::PopAndDestroy(oodMonitorTimer); + delete shutdownManager; + + //Delete active scheduler + CleanupStack::PopAndDestroy(scheduler); + iLog->Log(_L("CLafShutdownManager:: GAPS-OOD-SHUTDOWNMANAGER-008 end")); +} +#endif +/** + * END OF TEST CASES SECTION + */ + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodmonitorv1/src/ut_oodmonitor_timer.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodmonitorv1/src/ut_oodmonitor_timer.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,267 @@ +/* +* Copyright (c) 2010 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: +* +*/ + +#include +#include +#include +#include +#include +#include +#include +#include + + +#include "ut_oodmonitor_const.h" +#include "ut_oodmonitor_timer.h" + +Cut_OODMonitor_Timer* Cut_OODMonitor_Timer::NewLC(CLafShutdownManager* aShutdownManager, Tut_LafShutdownManager& aFriendLafShutdownManager, TTestCase aTestCase) + { + Cut_OODMonitor_Timer* self=new(ELeave) Cut_OODMonitor_Timer(aShutdownManager, aFriendLafShutdownManager, aTestCase); + CleanupStack::PushL(self); + self->ConstructL(); + return self; + } + +Cut_OODMonitor_Timer* Cut_OODMonitor_Timer::NewL(CLafShutdownManager* aShutdownManager, Tut_LafShutdownManager& aFriendLafShutdownManager, TTestCase aTestCase) + { + Cut_OODMonitor_Timer* self=Cut_OODMonitor_Timer::NewLC(aShutdownManager, aFriendLafShutdownManager, aTestCase); + CleanupStack::Pop(self); + return self; + } + +Cut_OODMonitor_Timer::Cut_OODMonitor_Timer(CLafShutdownManager* aShutdownManager, Tut_LafShutdownManager& aFriendLafShutdownManager, TTestCase aTestCase): + CTimer(EPriorityStandard), iFriendLafShutdownManager(aFriendLafShutdownManager), iShutdownManager(aShutdownManager), iTestCase(aTestCase), + iPhase(EPhase1) + { + + } + +Cut_OODMonitor_Timer::~Cut_OODMonitor_Timer() + { + iFileNameArray->Reset(); + delete iFileNameArray; + } + +void Cut_OODMonitor_Timer::ConstructL() + { + iFileNameArray = new (ELeave) CDesCArrayFlat(KArraySize); + CTimer::ConstructL(); + CActiveScheduler::Add(this); + After(KTwoSecondInMicro); + } + +void Cut_OODMonitor_Timer::RunL() + { + switch(iTestCase) + { + case EMMCTest: + { + switch(iPhase) + { + case EPhase1: + { + ChangeMMCStatus(); + iPhase = EPhase2; + After(KTwoSecondInMicro); + break; + } + case EPhase2: + { + ChangeMMCStatus(); + iPhase = EPhase3; + After(KTwoSecondInMicro); + break; + } + default: + { + CActiveScheduler::Stop(); + break; + } + } + break; + } // EMMCTest + case EDisplayNotes: + { + switch(iPhase) + { + case EPhase1: + { + iFriendLafShutdownManager.EatDiskL(iFileNameArray, EDriveC, ECritical); + ChangeDisplayNotes(); + iPhase = EPhase2; + After(KTwoSecondInMicro); + break; + } + case EPhase2: + { + ChangeDisplayNotes(); + iPhase = EPhase3; + After(KTwoSecondInMicro); + break; + } + case EPhase3: + { + iPhase = EPhase4; + iFriendLafShutdownManager.FreeDiskL(iFileNameArray); + iFileNameArray->Reset(); + After(KTwoSecondInMicro); + break; + } + default: + { + CActiveScheduler::Stop(); + break; + } + } + break; + } // EDisplayNotes + case EAutolock: + { + switch(iPhase) + { + case EPhase1: + { + iFriendLafShutdownManager.EatDiskL(iFileNameArray, EDriveC, EWarning); + ChangeAutoLockStatus(); + iPhase = EPhase2; + After(KTwoSecondInMicro); + break; + } + case EPhase2: + { + ChangeAutoLockStatus(); + iPhase = EPhase3; + After(KTwoSecondInMicro); + break; + } + case EPhase3: + { + iPhase = EPhase4; + iFriendLafShutdownManager.FreeDiskL(iFileNameArray); + iFileNameArray->Reset(); + After(KTwoSecondInMicro); + break; + } + default: + { + CActiveScheduler::Stop(); + break; + } + } + break; + } // EAutolock + case EOODWatcher: + { + switch(iPhase) + { + case EPhase1: + { + iFriendLafShutdownManager.EatDiskL(iFileNameArray, EDriveC, ECritical); + iPhase = EPhase2; + After(KTwoSecondInMicro); + break; + } + case EPhase2: + { + iFriendLafShutdownManager.FreeDiskL(iFileNameArray); + iFileNameArray->Reset(); + iPhase = EPhase3; + After(KTwoSecondInMicro); + break; + } + default: + { + CActiveScheduler::Stop(); + break; + } + } + break; + } // EOODWatcher + default: + { + CActiveScheduler::Stop(); + } // default + } + } +void Cut_OODMonitor_Timer::ChangeMMCStatus() + { + TInt value; + + RProperty enableMMCWatchProperty = iFriendLafShutdownManager.GetEnableMMCWatchProperty(iShutdownManager); + enableMMCWatchProperty.Get(value); + + RDebug::Print(_L("CLafShutdownManager::enableMMCWatchProperty=%d"), value); + + const TInt mmcRemovedStatus = 0; + const TInt mmcInsertedStatus = 1; + + if(mmcRemovedStatus == value) + { + value = mmcInsertedStatus; + } + else + { + value = mmcRemovedStatus; + } + + enableMMCWatchProperty.Set(value); + } + +void Cut_OODMonitor_Timer::ChangeDisplayNotes() + { + TInt value; + + RProperty canDisplayNotesProperty = iFriendLafShutdownManager.GetCanDisplayNotesProperty(iShutdownManager); + canDisplayNotesProperty.Get(value); + + RDebug::Print(_L("CLafShutdownManager::canDisplayNotesProperty=%d"), value); + + const TInt notShowDisplayNotes = 0; + const TInt ShowDisplayNotes = 1; + + if(notShowDisplayNotes == value) + { + value = ShowDisplayNotes; + } + else + { + value = notShowDisplayNotes; + } + + canDisplayNotesProperty.Set(value); + } + +void Cut_OODMonitor_Timer::ChangeAutoLockStatus() + { + TInt value; + + RProperty autolockStatusProperty = iFriendLafShutdownManager.GetAutolockStatusProperty(iShutdownManager); + autolockStatusProperty.Get(value); + + RDebug::Print(_L("CLafShutdownManager::autolockStatusProperty=%d"), value); + + if(EAutolockOff == value) + { + value = EManualLocked; + } + else + { + value = EAutolockOff; + } + + autolockStatusProperty.Set(value); + } diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodsubscriber/Bwins/ut_oodsubscriberu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodsubscriber/Bwins/ut_oodsubscriberu.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,4 @@ +EXPORTS + ?LibEntryL@@YAPAVCTestModuleBase@@XZ @ 1 NONAME ; class CTestModuleBase * __cdecl LibEntryL(void) + ?SetRequirements@@YAHAAPAVCTestModuleParam@@AAK@Z @ 2 NONAME ; int __cdecl SetRequirements(class CTestModuleParam * &,unsigned long &) + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodsubscriber/eabi/ut_oodsubscriberu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodsubscriber/eabi/ut_oodsubscriberu.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,8 @@ +EXPORTS + _Z9LibEntryLv @ 1 NONAME + _Z15SetRequirementsRP16CTestModuleParamRm @ 2 NONAME + _ZTI20COutOfDiskPSObserver @ 3 NONAME + _ZTI20COutOfDiskSubscriber @ 4 NONAME + _ZTV20COutOfDiskPSObserver @ 5 NONAME + _ZTV20COutOfDiskSubscriber @ 6 NONAME + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodsubscriber/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodsubscriber/group/bld.inf Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,40 @@ +/* +* Copyright (c) 2010 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: +* +*/ + +PRJ_PLATFORMS +// specify the platforms your component needs to be built for here +// defaults to WINS MARM so you can ignore this if you just build these + + DEFAULT + +PRJ_TESTEXPORTS +// NOTE: If using ARS requirements all export operations should be done under this. +// 'abld test export' + +PRJ_EXPORTS + + +PRJ_TESTMMPFILES + + ut_oodsubscriber.mmp + +PRJ_MMPFILES + + //ut_oodsubscriber_nrm.mmp + + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodsubscriber/group/subcriberCTCHTML.rar Binary file sysresmonitoring/oodmonitor/tsrc/ut_oodsubscriber/group/subcriberCTCHTML.rar has changed diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodsubscriber/group/ut_oodsubscriber.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodsubscriber/group/ut_oodsubscriber.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,75 @@ +/*TYPE STIFUNIT*/ +/* +* Copyright (c) 2010 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: MMP file for STIF Test Framework's STIFUnit test module. +* +*/ + +#include + +SMPSAFE + +TARGET ut_oodsubscriber.dll +TARGETTYPE dll +UID 0x1000008D 0x2002CAD7 + +CAPABILITY ALL -TCB +/* Remove comments and replace 0x00000000 with correct vendor id */ +// VENDORID 0x00000000 +/* Remove comments and replace 0x00000000 with correct secure id */ +// SECUREID 0x00000000 + +macro FCC_UNIT_TEST +#define FCC_UNIT_TEST + +//TARGETPATH ?target_path +DEFFILE ut_oodsubscriber.def + +USERINCLUDE ../inc +USERINCLUDE ../../../oodmonitor2/inc +USERINCLUDE ../../../inc +SYSTEMINCLUDE /epoc32/include/mw/hb/hbwidgets + +MW_LAYER_SYSTEMINCLUDE +OS_LAYER_SYSTEMINCLUDE + +SOURCEPATH ../src + +SOURCE ut_oodsubscriber.cpp +SOURCE ut_oodsubscriberCases.cpp +SOURCE mockoutofdiskpsobserver.cpp + +SOURCEPATH ../../../oodmonitor2/src +SOURCE outofdisksubscriber.cpp +SOURCE outofdiskglobalnote.cpp +SOURCE outofdiskmonitor.cpp +SOURCE outofdisknotifyobserver.cpp + +//RESOURCE resource_file +//RESOURCE resource_file2 + +LIBRARY euser.lib +LIBRARY stiftestinterface.lib + +LIBRARY efsrv.lib +LIBRARY bafl.lib +LIBRARY commonengine.lib +LIBRARY HbWidgets.lib +LIBRARY platformenv.lib +LIBRARY disknotifyhandler.lib +LIBRARY centralrepository.lib + +LANG SC + +// AIF ?filename// End of File diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodsubscriber/group/ut_oodsubscriber.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodsubscriber/group/ut_oodsubscriber.pkg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,60 @@ +; +; Copyright (c) 2010 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: +; +; Installation file for STIF +; + +; Languages +&EN + +; Provide value for uid +#{"STIF"},(0x00000000),1,1,0,TYPE=SA + +; Series60 product id for S60 3.0 +[0x101F7961], 0, 0, 0, {"Series60ProductID"} + +; Localised Vendor name +%{"Nokia"} + +; Unique Vendor name +:"Nokia" + +; Logo +; None + +; Package signature - Optional +; None + +; Start of Package body + +; Condition blocks +; None + +; Options list +; None + +; Install files +"\epoc32\release\armv5\udeb\ut_oodsubscriber.dll" - "!:\Sys\Bin\ut_oodsubscriber.dll" + +; Embedded SIS +; None + +; End of Package body + +; PKG dependencies +; None + +; PKG capabilities +; None diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodsubscriber/inc/utoodsubscriberconst.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodsubscriber/inc/utoodsubscriberconst.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,17 @@ +/* + * utoodsubscriberconst.h + * + * Created on: Sep 01, 2010 + * + */ + +#ifndef UTOODSUBSCRIBERCONST_H_ +#define UTOODSUBSCRIBERCONST_H_ +const TUid KUTOODPropertyCategory = {0x10000000}; + +const TUint32 KUTOODStubKey = 2; + +const TInt KNotTouched = 0; + +_LIT_SECURITY_POLICY_PASS(KAllowAllPolicy); +#endif /* UTOODSUBSCRIBERCONST_H_ */ diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodsubscriber/src/mockoutofdiskpsobserver.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodsubscriber/src/mockoutofdiskpsobserver.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,103 @@ +/* +* Copyright (c) 2010 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: +* This class handles the received indications from the PubSub. +* +*/ + + +// SYSTEM INCLUDES + +// USER INCLUDES +#include "outofdiskmonitor.h" +#include "outofdisksubscriber.h" +#include "outofdiskpsobserver.h" +#include "OodTraces.h" + +// ================= MEMBER FUNCTIONS ======================= + +// ---------------------------------------------------- +// COutOfDiskPSObserver::COutOfDiskPSObserver( COutOfDiskMonitor* aOutOfDiskMonitor ) +// C++ default constructor can NOT contain any code, that +// might leave. +// ---------------------------------------------------- +COutOfDiskPSObserver::COutOfDiskPSObserver( COutOfDiskMonitor* aOutOfDiskMonitor ) : + iOutOfDiskMonitor( aOutOfDiskMonitor ) + { + } + +// ---------------------------------------------------- +// COutOfDiskPSObserver::ConstructL() +// ---------------------------------------------------- +void COutOfDiskPSObserver::ConstructL() + { + TRACES("COutOfDiskPSObserver::ConstructL()"); + +// iUikGlobalNotesAllowedSubscriber = COutOfDiskSubscriber::NewL( *this, +// KPSUidUikon, +// KUikGlobalNotesAllowed ); +// iUikGlobalNotesAllowedSubscriber->Subscribe(); +// +// TInt state(0); +// RProperty::Get( KPSUidUikon, KUikGlobalNotesAllowed, state ); +// iOutOfDiskMonitor->SetGlobalNotesAllowed(state); +// +// iAutolockStatusSubscriber = COutOfDiskSubscriber::NewL( *this, +// KPSUidCoreApplicationUIs, +// KCoreAppUIsAutolockStatus ); +// iAutolockStatusSubscriber->Subscribe(); +// RProperty::Get( KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus, iAutolockStatus ); + + TRACES("COutOfDiskPSObserver::ConstructL(): End"); + } + +// ---------------------------------------------------------------------------- +// COutOfDiskPSObserver::HandlePropertyChangedL() +// ---------------------------------------------------------------------------- +void COutOfDiskPSObserver::HandlePropertyChangedL( const TUid& aCategory, TUint aKey ) + { + TInt value( 0 ); + RProperty::Get( aCategory, aKey, value ); + + CActiveScheduler::Stop(); + } + +// ---------------------------------------------------- +// COutOfDiskPSObserver::NewL( COutOfDiskMonitor** aOutOfDiskMonitor ) +// ---------------------------------------------------- +COutOfDiskPSObserver* COutOfDiskPSObserver::NewL( COutOfDiskMonitor* aOutOfDiskMonitor ) + { + TRACES("COutOfDiskPSObserver::NewL()"); + COutOfDiskPSObserver* self = new (ELeave) COutOfDiskPSObserver( aOutOfDiskMonitor ); + + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + + TRACES("COutOfDiskPSObserver::NewL(): End"); + return self; + } + +// ---------------------------------------------------- +// COutOfDiskPSObserver::~COutOfDiskPSObserver() +// ---------------------------------------------------- +COutOfDiskPSObserver::~COutOfDiskPSObserver() + { + TRACES("COutOfDiskPSObserver::~COutOfDiskPSObserver()"); + delete iAutolockStatusSubscriber; + delete iUikGlobalNotesAllowedSubscriber; + TRACES("COutOfDiskPSObserver::~COutOfDiskPSObserver(): End"); + } + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodsubscriber/src/ut_oodsubscriber.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodsubscriber/src/ut_oodsubscriber.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,124 @@ +/* +* Copyright (c) 2010 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: This file contains STIFUnit module implementation. +* +*/ + +/******************************************************************************/ +/* + * + * Test module configuration +*/ + +// Version +#define TEST_MODULE_VERSION_MAJOR 0 +#define TEST_MODULE_VERSION_MINOR 0 +#define TEST_MODULE_VERSION_BUILD 0 + +// Uncomment following defines, if you want to provide implementation +// of enlisted virtual methods of test module. +// Implementation part is located at the end of this file. +//#define STIFUNIT_OOMTESTQUERYL +//#define STIFUNIT_OOMTESTINITIALIZEL +//#define STIFUNIT_OOMHANDLEWARNINGL +//#define STIFUNIT_OOMTESTFINALIZEL +// Uncomment following define, if you want to increase heap or stack size. +// #define STIFUNIT_SETHEAPANDSTACKSIZE +/******************************************************************************/ + + +/* + * Test module internals. Please do not edit them. +*/ + +// Includes +#include + +// Literals +_LIT( KUnitLogPath, "\\logs\\testframework\\ut_oodsubscriber\\" ); +_LIT( KUnitLogFile, "ut_oodsubscriber.txt" ); +_LIT( KLogStart, "ut_oodsubscriber logging starts!" ); + +// Defines +#define STIF_UNIT_TEST_CASES "../src/ut_oodsubscriberCases.cpp" +#define STIF_UNIT_MODULE_CLASS_NAME Cut_oodsubscriber +#define STIF_UNIT_MODULE_NAME _L("ut_oodsubscriber.dll") + +// Include STIF unit generic file +#include + +/* + * Implementation of setHeapAndStack virtual methods. + * To changes heap and stack size provide new values to iTestThreadStackSize, iTestThreadMinHeap and iTestThreadMaxHeap. +*/ + +#ifdef STIFUNIT_SETHEAPANDSTACKSIZE +EXPORT_C TInt SetRequirements( CTestModuleParam*& aTestModuleParam, + TUint32& aParameterValid ) + { + aParameterValid = KStifTestModuleParameterChanged; + CTestModuleParamVer01* param = CTestModuleParamVer01::NewL(); + // Stack size + param->iTestThreadStackSize= 16384; // 16K stack + // Heap sizes + param->iTestThreadMinHeap = 4096; // 4K heap min + param->iTestThreadMaxHeap = 1048576;// 1M heap max + + return KErrNone; + } +#undef STIFUNIT_SETHEAPANDSTACKSIZE +#endif + +/* + * User implementation of OOM virtual methods. + * Providing own implementation requires uncommenting defines at the + * beginnig of this file. +*/ +#ifdef STIFUNIT_OOMTESTQUERYL +TBool Cut_oodsubscriber::OOMTestQueryL( const TFileName& /*aTestCaseFile*/, + const TInt aCaseNumber, + TOOMFailureType& aFailureType, + TInt& aFirstMemFailure, + TInt& aLastMemFailure) + { + } +#undef STIFUNIT_OOMTESTQUERYL +#endif + +#ifdef STIFUNIT_OOMTESTINITIALIZEL +void Cut_oodsubscriber::OOMTestInitializeL( const TFileName& /*aTestCaseFile*/, + const TInt /*aCaseNumber*/ ) + { + } +#undef STIFUNIT_OOMTESTINITIALIZEL +#endif + +#ifdef STIFUNIT_OOMHANDLEWARNINGL +void Cut_oodsubscriber::OOMHandleWarningL( const TFileName& /*aTestCaseFile*/, + const TInt /*aCaseNumber*/, + TInt& /*aFailNextValue*/) + { + } +#undef STIFUNIT_OOMHANDLEWARNINGL +#endif + +#ifdef STIFUNIT_OOMTESTFINALIZEL +void Cut_oodsubscriber::OOMTestFinalizeL( const TFileName& /*aTestCaseFile*/, + const TInt /*aCaseNumber*/ ) + { + } +#undef STIFUNIT_OOMTESTFINALIZEL +#endif + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oodmonitor/tsrc/ut_oodsubscriber/src/ut_oodsubscriberCases.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oodmonitor/tsrc/ut_oodsubscriber/src/ut_oodsubscriberCases.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,128 @@ +/* +* Copyright (c) 2010 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: This file contains STIFUnit implementation. +* +*/ + +/** + * STIF_UNIT_INCLUDE SECTION - put all #includes between STIF_UNIT_INCLUDE_SECTION + * and STIF_UNIT_INCLUDE_SECTION_END + */ +#ifdef STIF_UNIT_INCLUDE_SECTION +#include +#include "utoodsubscriberconst.h" +#include "outofdiskmonitor.h" +#include "outofdiskpsobserver.h" +#include "outofdisksubscriber.h" +#endif //STIF_UNIT_INCLUDE_SECTION_END + +/** + * GLOBAL VARIABLES SECTION + */ +#ifdef TEST_VAR_DECLARATIONS + CActiveScheduler* scheduler; +#endif +/** + * END OF GLOBAL VARIABLES SECTION + */ + + +/** + * TEST CASES SECTION + */ +#ifdef TEST_CASES +/** + * STIF_SETUP defines activities needed before every test case. + */ +STIF_SETUP +{ +RProperty::Define(KUTOODPropertyCategory, KUTOODStubKey, + RProperty::EInt, KAllowAllPolicy, KAllowAllPolicy); +} + +/** + * STIF_TEARDOWN defines activities needed after every test case + */ +STIF_TEARDOWN +{ +RProperty::Delete(KUTOODPropertyCategory, KUTOODStubKey); +} + +/** + * @SYMTestCaseID GAPS-OODMONITOR-SUBSCRIBER-001 + * @SYMTestCaseDesc Unit test for COutOfDiskSubscriber. + * @SYMTestPriority Medium + * @SYMTestActions 1. Construct a mock COutOfDiskMonitor object. + * 2. Construct a mock COutOfDiskPSObserver object. + * 3. Construct a COutOfDiskSubscriber object. + * 4. Subscribe + * 5. Set property value. + * 6. Start activescheduler + * 7. Directly call RunError + * @SYMTestExpectedResults 1. Mock COutOfDiskMonitor object was constructed. + * 2. Mock COutOfDiskPSObserver object was constructed. + * 3. COutOfDiskSubscriber object was constructed. + * 4. COutOfDiskSubscriber object was set active. + * 5. Property was set. + * 6. ActiveScheduler was started. + * 7. RunError returns error code. + * @SYMTestType Unit Test + * @SYMCreationDate 23-08-2010 + */ +STIF_TESTDEFINE(GAPS-OODMONITOR-SUBSCRIBER-001) +{ + // instance and install, but not started + scheduler = new (ELeave) CActiveScheduler(); + CleanupStack::PushL(scheduler); + CActiveScheduler::Install(scheduler); + + STIF_LOG("1. Construct a mock COutOfDiskMonitor object."); + MShutdownEventObserver* shutdownEventObserver = NULL; + COutOfDiskMonitor* outOfDiskMonitor = COutOfDiskMonitor::NewL(*shutdownEventObserver); + CleanupStack::PushL(outOfDiskMonitor); + + STIF_LOG("2. Construct a mock COutOfDiskPSObserver object."); + COutOfDiskPSObserver* outOfDiskPSObserver = COutOfDiskPSObserver::NewL(outOfDiskMonitor); + CleanupStack::PushL(outOfDiskPSObserver); + + STIF_LOG("3. Construct a COutOfDiskSubscriber object."); + COutOfDiskSubscriber* outOfDiskSubscriber = COutOfDiskSubscriber::NewL(*outOfDiskPSObserver, KUTOODPropertyCategory, KUTOODStubKey); + CleanupStack::PushL(outOfDiskSubscriber); + + STIF_LOG("4. Subscribe."); + outOfDiskSubscriber->Subscribe(); + + STIF_LOG("5. Set property value."); + RProperty::Set(KUTOODPropertyCategory, KUTOODStubKey, KNotTouched); + + STIF_LOG("6. Start activescheduler"); + CActiveScheduler::Start(); + + STIF_LOG("7. Directly call RunError."); + STIF_ASSERT_EQUALS(KErrNoMemory, outOfDiskSubscriber->RunError(KErrNoMemory)); + + CleanupStack::PopAndDestroy(outOfDiskSubscriber); + CleanupStack::PopAndDestroy(outOfDiskPSObserver); + CleanupStack::PopAndDestroy(outOfDiskMonitor); + + CActiveScheduler::Install(NULL); + CleanupStack::PopAndDestroy(scheduler); +} + +#endif +/** + * END OF TEST CASES SECTION + */ + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/inc/oommemorymonitor.h --- a/sysresmonitoring/oommonitor/inc/oommemorymonitor.h Wed Sep 29 15:24:56 2010 +0300 +++ b/sysresmonitoring/oommonitor/inc/oommemorymonitor.h Thu Oct 07 06:25:45 2010 +0300 @@ -63,6 +63,11 @@ NONSHARABLE_CLASS(CMemoryMonitor) : public CBase { public: + +#ifdef FCC_UNIT_TEST + friend class COomFriendClass; +#endif + static CMemoryMonitor* NewL(); ~CMemoryMonitor(); diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/inc/oommonitorclientserver.h --- a/sysresmonitoring/oommonitor/inc/oommonitorclientserver.h Wed Sep 29 15:24:56 2010 +0300 +++ b/sysresmonitoring/oommonitor/inc/oommonitorclientserver.h Thu Oct 07 06:25:45 2010 +0300 @@ -29,7 +29,11 @@ void PanicClient(const RMessagePtr2& aMessage,TOomMonitorClientPanic aPanic); +#ifndef FCC_UNIT_TEST _LIT(KMemoryMonitorServerName, "OomMonitorServer"); +#else +_LIT(KMemoryMonitorServerName, "MockOomMonitorServer"); +#endif enum TOomMonitorCmd { diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/src/oomactionlist.cpp --- a/sysresmonitoring/oommonitor/src/oomactionlist.cpp Wed Sep 29 15:24:56 2010 +0300 +++ b/sysresmonitoring/oommonitor/src/oomactionlist.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -37,7 +37,9 @@ #include "oomapplicationconfig.h" #include "oomcloseappconfig.h" #include "oomrunpluginconfig.h" - +#ifdef FCC_UNIT_TEST +#include "ut_oom.h" +#endif const TUid KUidMatrixMenuApp = { 0x101F4CD2 }; template @@ -698,8 +700,9 @@ // Create an action acording to the config COomRunPlugin* action = COomRunPlugin::NewL(iPluginList->Uid(pluginIndex), pluginConfig, *this, iPluginListV2->Implementation(pluginIndex), &(iPluginListV2->Implementation(pluginIndex))); - + CleanupStack::PushL(action); iRunPluginActions.AppendL(action); + CleanupStack::Pop(); } //allocate empty COomCloseApp objects @@ -707,6 +710,8 @@ while (appCloseIndex--) { COomCloseApp* action = COomCloseApp::NewL(*this, iWs); + CleanupStack::PushL(action); iCloseAppActions.AppendL(action); + CleanupStack::Pop(); } } diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/src/oomconfig.cpp --- a/sysresmonitoring/oommonitor/src/oomconfig.cpp Wed Sep 29 15:24:56 2010 +0300 +++ b/sysresmonitoring/oommonitor/src/oomconfig.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -55,7 +55,10 @@ if (!applicationConfigPointer) { applicationConfig = COomApplicationConfig::NewL(aActionConfig->iId); + CleanupStack::PushL(applicationConfig); iApplicationToConfigMapping.InsertL(aActionConfig->iId, applicationConfig); + CleanupStack::Pop(); + } else { diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/src/oommemorymonitor.cpp --- a/sysresmonitoring/oommonitor/src/oommemorymonitor.cpp Wed Sep 29 15:24:56 2010 +0300 +++ b/sysresmonitoring/oommonitor/src/oommemorymonitor.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -308,7 +308,8 @@ iActionTrigger = EClientServerRequestFreeMemory; iDataPaged = aDataPaged; - StartFreeSomeRamL(iLowRamThreshold, aBytesRequested + iLowSwapThreshold); + + StartFreeSomeRamL(iLowRamThreshold+aBytesRequested, aBytesRequested + iLowSwapThreshold); } void CMemoryMonitor::FreeOptionalRamL(TInt aBytesRequested, TInt aPluginId, TBool aDataPaged) // The ID of the plugin that will clear up the allocation, used to determine the priority of the allocation diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/src/oommonitor.cpp --- a/sysresmonitoring/oommonitor/src/oommonitor.cpp Wed Sep 29 15:24:56 2010 +0300 +++ b/sysresmonitoring/oommonitor/src/oommonitor.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -61,8 +61,12 @@ if ( err == KErrNone ) { +#ifdef FCC_UNIT_TEST + scheduler->Error(0); +#else // start the watchers CActiveScheduler::Start(); +#endif } } diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/appfortest/group/appfortest.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/appfortest/group/appfortest.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,32 @@ +/* +* Copyright (c) 2002-2006 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: Project definition file for appfortest +* +*/ + +TARGET appfortest.exe +TARGETTYPE exe +UID 0 0x200338CB + +CAPABILITY ALL -TCB + +MW_LAYER_SYSTEMINCLUDE + +USERINCLUDE ..\inc + +SOURCEPATH ..\src +SOURCE redrawmonitor.cpp main.cpp eventmonitor.cpp controler.cpp + +LIBRARY euser.lib ws32.lib apgrfx.lib gdi.lib + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/appfortest/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/appfortest/group/bld.inf Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,23 @@ +/* +* Copyright (c) 2002-2010 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: Bld.inf file for appfortest.exe +* +*/ + +PRJ_PLATFORMS +DEFAULT + +PRJ_MMPFILES +appfortest.mmp diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/appfortest/inc/controler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/appfortest/inc/controler.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,59 @@ +/* +* Copyright (c) 2010 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: This file is the head file of controler.cpp +* +*/ + +#ifndef CONTROL_H +#define CONTROL_H + +// INCLUDES +#include +#include +#include // ws32.lib + +class CRedrawMonitor; +class CEventMonitor; + +class CControler: public CBase + { + public: + ~CControler(); + static CControler* NewL(); + void ExecuteD(); + void Exit(); + void Paint(TUint aHandle, const TRect& aRect); + void HandleChangeForeGroundL(); + TBool HandleKeyEventL(const TKeyEvent& aKey, TEventCode aCode); + TUid GetForeGroundAppUid(); + + private: + CControler(); + void ConstructL(); + + private: + CActiveScheduler* iActiveScheduler; + CWsScreenDevice* iScreenDevice; + RWsSession iWsSession; + RWindowGroup iWindowGroup; + RWindow* iWindow; + CWindowGc* iWindowGc; + CFont* iFont; + CRedrawMonitor* iRedrawMonitor; + CEventMonitor* iEventMonitor; + + TBuf<100> iBuffer; + }; + +#endif // CONTROL_H diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/appfortest/inc/eventmonitor.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/appfortest/inc/eventmonitor.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,50 @@ +/* +* Copyright (c) 2010 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: This file is the head file of eventmonitor.cpp +* +*/ + +#ifndef EVENTMONITOR_H +#define EVENTMONITOR_H + +#include + +class CControler; + +class CEventMonitor: public CActive + { + public: + ~CEventMonitor(); + static CEventMonitor* NewL(CControler&, RWsSession&, RWindowGroup&); + + void CaptureKeyL(); + void CancelCapture(); + void HandleChangeForeGroundL(); + + protected: + CEventMonitor(CControler&, RWsSession&, RWindowGroup&); + void ConstructL(); + + private: + void RunL(); + void DoCancel(); + private: + + CControler& iYlEnv; + RArray iKeyCodeHandles; + RArray iKeyCodes; + RWsSession iWsSession; + RWindowGroup iWindowGroup; + }; +#endif // EVENTMONITOR_H diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/appfortest/inc/redrawmonitor.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/appfortest/inc/redrawmonitor.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,42 @@ +/* +* Copyright (c) 2010 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: This file is the head file of redrawmonitor.cpp +* +*/ + +#ifndef REDRAWMONITOR_H +#define REDRAWMONITOR_H + +#include +#include + +class CControler; + +class CRedrawMonitor: public CActive + { + public: + static CRedrawMonitor* NewL(CControler&, RWsSession&, RWindowGroup&); + virtual ~CRedrawMonitor(); + protected: + CRedrawMonitor(CControler&, RWsSession&, RWindowGroup&); + void ConstructL(); + void DoCancel(); + void RunL(); + private: + CControler& iYlEnv; + RWsSession iWsSession; + RWindowGroup iWindowGroup; + }; + +#endif // REDRAWMONITOR_H diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/appfortest/rom/appfortest.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/appfortest/rom/appfortest.iby Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,26 @@ +/* +* Copyright (c) 2002-2008 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: Guides image creation process for appfortest. +* +*/ + + +#ifndef APPFORTEST_IBY +#define APPFORTEST_IBY + +file=ABI_DIR\BUILD_DIR\appfortest.exe sys\bin\appfortest.exe + +#endif + + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/appfortest/sis/appfortest_eka2.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/appfortest/sis/appfortest_eka2.pkg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,24 @@ +; Installation file for Symbian OS 9.x for generic console application +; Installation file for TESTEXE EXE +; +; This is an auto-generated PKG file by Carbide. +; This file uses variables specific to Carbide builds that will not work +; on command-line builds. If you want to use this generated PKG file from the +; command-line tools you will need to modify the variables with the appropriate +; values: $(EPOCROOT), $(PLATFORM), $(TARGET) +; + +; +; UID is the exe's UID +; +#{"APPFORTEST EXE"},(0x200338CB),1,0,0 + + +;Localised Vendor name +%{"Vendor-EN"} + +;Unique Vendor name +:"Vendor" + +"$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\appfortest.exe" -"!:\sys\bin\appfortest.exe" + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/appfortest/src/controler.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/appfortest/src/controler.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,167 @@ +/* +* Copyright (c) 2010 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: This file create two active object. +* +*/ + +#include +#include +#include +#include + +#include "controler.h" +#include "eventmonitor.h" +#include "redrawmonitor.h" + +CControler::CControler() + { + + } + +CControler::~CControler() + { + if(NULL!=iRedrawMonitor) + { + delete iRedrawMonitor; + } + + if(NULL!=iEventMonitor) + { + delete iEventMonitor; + } + + if(NULL!=iWindow) + { + iWindow->Close(); + delete iWindow; + } + + iWindowGroup.Close(); + + if(NULL!=iWindowGc) + { + delete iWindowGc; + } + + if(NULL!=iScreenDevice) + { + iScreenDevice->ReleaseFont(iFont); + delete iScreenDevice; + } + + iWsSession.Close(); + + if(NULL!=iActiveScheduler) + { + delete iActiveScheduler; + } + } + +CControler* CControler::NewL() + { + CControler* self = new (ELeave) CControler(); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(); // self; + return self; + } + +void CControler::ExecuteD() + { + CActiveScheduler::Start(); + if(NULL!=this) + { + delete this; // delete this object after scheduler stopped. + } + } + +void CControler::Exit() + { + CActiveScheduler::Stop(); + } + +void CControler::ConstructL() + { + iActiveScheduler = new (ELeave) CActiveScheduler; + CActiveScheduler::Install(iActiveScheduler); + + User::LeaveIfError(iWsSession.Connect()); + iWsSession.ComputeMode(RWsSession::EPriorityControlDisabled); + iScreenDevice = new (ELeave) CWsScreenDevice(iWsSession); + User::LeaveIfError(iScreenDevice->Construct()); + iScreenDevice->SetScreenModeEnforcement(ESizeEnforcementNone); + iWindowGroup = RWindowGroup(iWsSession); + User::LeaveIfError(iWindowGroup.Construct((TUint32) this, ETrue)); + // This window group cannot receive keyboard focus + iWindowGroup.EnableReceiptOfFocus(EFalse); + + // Create graphics context for the screen device + User::LeaveIfError(iScreenDevice->CreateContext(iWindowGc)); + + // font + TFontSpec myFontSpec(_L("Series 60 Sans Regular"), 100); + iScreenDevice->GetNearestFontInTwips(iFont, myFontSpec); + + // Finally, create a window, set its properties, and display it + iWindow = new (ELeave) RWindow(iWsSession); + User::LeaveIfError(iWindow->Construct(iWindowGroup, (TUint32) iWindow)); + iWindow->SetExtent(TPoint(100, 10), TSize(100, 100)); + //iWindow->SetOrdinalPosition(0, ECoeWinPriorityAlwaysAtFront + 1); + iWindow->SetCornerType(EWindowCorner5); + iWindow->SetNonFading(ETrue); + iWindow->SetVisible(ETrue); + iWindow->Activate(); + + iRedrawMonitor = CRedrawMonitor::NewL(*this, iWsSession, iWindowGroup); + iEventMonitor = CEventMonitor::NewL(*this,iWsSession, iWindowGroup); + iEventMonitor->CaptureKeyL(); + } + +void CControler::Paint(TUint aHandle, const TRect&) + { + RWindow* aWindow = (RWindow*)aHandle; + + iWindowGc->Activate(*aWindow); + aWindow->BeginRedraw(); + iWindowGc->SetBrushStyle(CGraphicsContext::ESolidBrush); + iWindowGc->SetBrushColor(TRgb(255, 0, 0)); + iWindowGc->Clear(); + aWindow->EndRedraw(); + iWindowGc->Deactivate(); + iWsSession.Flush(); + } + +void CControler::HandleChangeForeGroundL() + { + + } + +TBool CControler::HandleKeyEventL(const TKeyEvent& aKey, TEventCode aCode) + { + if(aCode == EEventKey && aKey.iCode == EKeyBackspace) + { + Exit(); + } + + return EFalse; + } + +TUid CControler::GetForeGroundAppUid() + { + TInt wgid = iWsSession.GetFocusWindowGroup(); + CApaWindowGroupName* gn = CApaWindowGroupName::NewLC(iWsSession, wgid); + TUid aCurAppUid = gn->AppUid(); + CleanupStack::PopAndDestroy(gn); + return aCurAppUid; + } diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/appfortest/src/eventmonitor.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/appfortest/src/eventmonitor.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,136 @@ +/* +* Copyright (c) 2010 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: Eventmonitor active object. +* +*/ + +#include +#include +#include +#include +#include + +#include "eventmonitor.h" +#include "controler.h" + +CEventMonitor* CEventMonitor::NewL(CControler& aControler, RWsSession& aWsSession, + RWindowGroup& aWindowGroup) + { + CEventMonitor* self = new (ELeave) CEventMonitor(aControler, aWsSession, aWindowGroup); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(); + return self; + } + +CEventMonitor::CEventMonitor(CControler& aControler, RWsSession& aWsSession, + RWindowGroup& aWindowGroup): CActive(CActive::EPriorityHigh), iYlEnv(aControler) + ,iWsSession(aWsSession), iWindowGroup(aWindowGroup) + { + CActiveScheduler::Add(this); + } + +void CEventMonitor::ConstructL() + { + iWindowGroup.EnableFocusChangeEvents(); + + CApaWindowGroupName* wgName = CApaWindowGroupName::NewLC(iWsSession); + wgName->SetHidden(ETrue); + wgName->SetWindowGroupName(iWindowGroup); + CleanupStack::PopAndDestroy(wgName); + + for (TInt i = '0'; i <= '9'; i++) + { + iKeyCodes.AppendL(i); + } + for (TInt i = 'a'; i <= 'z'; i++) + { + iKeyCodes.AppendL(i); + } + iKeyCodes.AppendL('*'); + iKeyCodes.AppendL('#'); + iKeyCodes.AppendL(EKeyBackspace); + iKeyCodes.AppendL(EKeyDevice3); + iKeyCodes.AppendL(EKeyDevice0); + iKeyCodes.AppendL(EKeyDevice1); + iKeyCodes.AppendL(EKeyLeftArrow); + iKeyCodes.AppendL(EKeyRightArrow); + iKeyCodes.AppendL(EKeyUpArrow); + iKeyCodes.AppendL(EKeyDownArrow); + iKeyCodes.AppendL(EKeyYes); + + iWsSession.EventReady(&iStatus); + SetActive(); + } + +CEventMonitor::~CEventMonitor() + { + Cancel(); + iKeyCodes.Close(); + iKeyCodeHandles.Close(); + } + +void CEventMonitor::CaptureKeyL() + { + Cancel(); + iKeyCodeHandles.Reset(); + for (TInt i = 0; i < iKeyCodes.Count(); i++) + { + iKeyCodeHandles.AppendL(iWindowGroup.CaptureKey(iKeyCodes[i], 0, 0)); + } + iWsSession.EventReady(&iStatus); + SetActive(); + } + +void CEventMonitor::CancelCapture() + { + Cancel(); + for (TInt i = 0; i < iKeyCodeHandles.Count(); i++) + { + iWindowGroup.CancelCaptureKey(iKeyCodeHandles[i]); + } + iKeyCodeHandles.Reset(); + iWsSession.EventReady(&iStatus); + SetActive(); + } +void CEventMonitor::RunL() + { + TWsEvent event; + iWsSession.GetEvent(event); + + TInt eventType = event.Type(); + if (eventType == EEventFocusGroupChanged) + { + iYlEnv.HandleChangeForeGroundL(); + } + else if (eventType == EEventKey) + { + if (!iYlEnv.HandleKeyEventL(*event.Key(), EEventKey)) + { + TInt wgId = iWsSession.GetFocusWindowGroup(); + if (wgId != KErrNotFound) + { + iWsSession.SendEventToWindowGroup(wgId, event); + } + } + } + iWsSession.EventReady(&iStatus); + SetActive(); + } + +void CEventMonitor::DoCancel() + { + iWsSession.EventReadyCancel(); + } + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/appfortest/src/main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/appfortest/src/main.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,39 @@ +/* +* Copyright (c) 2010 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: Main program. +* +*/ + +#include "controler.h" + +void ExeMainL() + { + CControler::NewL()->ExecuteD(); + } + +void RegisterWsExe(const TDesC&); + +GLDEF_C TInt E32Main() + { + __UHEAP_MARK; + CTrapCleanup* cleanup = CTrapCleanup::New(); + + TRAPD(error, ExeMainL()); + __ASSERT_ALWAYS(!error, User::Panic(_L("EXEUI"), error)); + + delete cleanup; + __UHEAP_MARKEND; + + return 0; + } diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/appfortest/src/redrawmonitor.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/appfortest/src/redrawmonitor.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,62 @@ +/* +* Copyright (c) 2010 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: Redrawmonitor active object +* +*/ + +#include + +#include "controler.h" +#include "redrawmonitor.h" + +CRedrawMonitor::CRedrawMonitor(CControler& aControler, RWsSession& aWsSession, + RWindowGroup& aWindowGroup) : CActive(CActive::EPriorityLow),iYlEnv(aControler) + ,iWsSession(aWsSession), iWindowGroup(aWindowGroup) + { + CActiveScheduler::Add(this); + } +CRedrawMonitor* CRedrawMonitor::NewL(CControler& aControler, RWsSession& aWsSession, + RWindowGroup& aWindowGroup) + { + CRedrawMonitor* self = new (ELeave) CRedrawMonitor(aControler, aWsSession, aWindowGroup); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(); // self; + return self; + } +void CRedrawMonitor::ConstructL() + { + iWsSession.RedrawReady(&iStatus); + SetActive(); + } +CRedrawMonitor::~CRedrawMonitor() + { + Cancel(); + } +void CRedrawMonitor::RunL() + { + if (iStatus == KErrNone) + { + TWsRedrawEvent event; + iWsSession.GetRedraw(event); + iYlEnv.Paint(event.Handle(), event.Rect()); + iWsSession.RedrawReady(&iStatus); + SetActive(); + } + } +void CRedrawMonitor::DoCancel() + { + iWsSession.RedrawReadyCancel(); + } + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/group/bld.inf Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,5 @@ +#include "../ut_oom/group/bld.inf" +#include "../ut_oom_memorymonitor/group/bld.inf" +#include "../utoomclientrequestqueue/group/bld.inf" +#include "../utoomconfigparser/group/bld.inf" + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/oomtest/t_oomdummyapp/group/t_oomdummyapp.mmp --- a/sysresmonitoring/oommonitor/tsrc/oomtest/t_oomdummyapp/group/t_oomdummyapp.mmp Wed Sep 29 15:24:56 2010 +0300 +++ b/sysresmonitoring/oommonitor/tsrc/oomtest/t_oomdummyapp/group/t_oomdummyapp.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -62,7 +62,6 @@ LIBRARY efsrv.lib LIBRARY estor.lib LIBRARY aknnotify.lib -LIBRARY hlplch.lib LIBRARY oommonitor.lib LANG SC diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/oomtest/t_oomdummyapp/inc/t_oomdummyappAppUi.h --- a/sysresmonitoring/oommonitor/tsrc/oomtest/t_oomdummyapp/inc/t_oomdummyappAppUi.h Wed Sep 29 15:24:56 2010 +0300 +++ b/sysresmonitoring/oommonitor/tsrc/oomtest/t_oomdummyapp/inc/t_oomdummyappAppUi.h Thu Oct 07 06:25:45 2010 +0300 @@ -81,12 +81,6 @@ */ void HandleStatusPaneSizeChange(); - /** - * From CCoeAppUi, HelpContextL. - * Provides help context for the application. - * size is changed. - */ - CArrayFix* HelpContextL() const; private: // Data diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/oomtest/t_oomdummyapp/src/t_oomdummyappAppUi.cpp --- a/sysresmonitoring/oommonitor/tsrc/oomtest/t_oomdummyapp/src/t_oomdummyappAppUi.cpp Wed Sep 29 15:24:56 2010 +0300 +++ b/sysresmonitoring/oommonitor/tsrc/oomtest/t_oomdummyapp/src/t_oomdummyappAppUi.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -163,13 +163,6 @@ CleanupStack::PopAndDestroy(3); // filedata, inputFileStream, rFile } break; - case EHelp: - { - - CArrayFix* buf = CCoeAppUi::AppHelpContextL(); - HlpLauncher::LaunchHelpApplicationL(iEikonEnv->WsSession(), buf); - } - break; case EAbout: { @@ -248,23 +241,5 @@ iAppView->SetRect(ClientRect()); } -CArrayFix* Ct_oomdummyappAppUi::HelpContextL() const - { - // Note: Help will not work if the application uid3 is not in the - // protected range. The default uid3 range for projects created - // from this template (0xE0000000 - 0xEFFFFFFF) are not in the protected range so that they - // can be self signed and installed on the device during testing. - // Once you get your official uid3 from Symbian Ltd. and find/replace - // all occurrences of uid3 in your project, the context help will - // work. Alternatively, a patch now exists for the versions of - // HTML help compiler in SDKs and can be found here along with an FAQ: - // http://www3.symbian.com/faq.nsf/AllByDate/E9DF3257FD565A658025733900805EA2?OpenDocument - CArrayFixFlat* array = new (ELeave) CArrayFixFlat< - TCoeHelpContext> (1); - CleanupStack::PushL(array); - //array->AppendL(TCoeHelpContext(KUidt_oomdummyappApp, KGeneral_Information)); - CleanupStack::Pop(array); - return array; - } // End of File diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/oomtest/t_oomharness_stif/group/t_oomharness_stif.mmp --- a/sysresmonitoring/oommonitor/tsrc/oomtest/t_oomharness_stif/group/t_oomharness_stif.mmp Wed Sep 29 15:24:56 2010 +0300 +++ b/sysresmonitoring/oommonitor/tsrc/oomtest/t_oomharness_stif/group/t_oomharness_stif.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -46,8 +46,8 @@ SOURCE CDummyApplicationHandle.cpp LIBRARY euser.lib -LIBRARY stiftestinterface.lib -LIBRARY stiftestengine.lib +LIBRARY StifTestInterface.lib +LIBRARY StifTestEngine.lib LIBRARY t_oomclient.lib LIBRARY hal.lib LIBRARY oommonitor.lib diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/readme for oommonitor and others.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/readme for oommonitor and others.txt Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,38 @@ +ut_oom are unit test code for oom. + +How to build test code +go to group directory and run +>sbs reallyclean +>sbs + +How to install test module +Copy related exe, dll, resource file to device +1) \epoc32\release\armv5\udeb\ut_oom.dll -> c:\sys\bin\ut_oom.dll +2) \epoc32\release\armv5\udeb\ut_oomplugin.dll -> c:\sys\bin\ut_oomplugin.dll +3) \epoc32\Data\z\resource\plugins\ut_oomplugin.RSC -> C:\resource\plugins\ut_oomplugin.RSC +4) \epoc32\release\armv5\udeb\ut_oomplugin2.dll -> c:\sys\bin\ut_oomplugin2.dll +5) \epoc32\Data\z\resource\plugins\ut_oomplugin2.RSC -> C:\resource\plugins\ut_oomplugin2.RSC +6) \epoc32\release\armv5\udeb\appfortest.exe -> c:\sys\bin\appfortest.exe +7) \epoc32\release\armv5\udeb\ut_oomwatcher.dll -> c:\sys\bin\ut_oomwatcher.dll +8) \epoc32\release\armv5\udeb\ut_mockoomserver.exe -> c:\sys\bin\ut_mockoomserver.exe +9) \epoc32\release\armv5\udeb\ut_oom_closeapp.dll -> c:\sys\bin\ut_oom_closeapp.dll +10) \epoc32\release\armv5\udeb\ut_oom_memorymonitor.dll -> c:\sys\bin\ut_oom_memorymonitor.dll +11) \epoc32\winscw\c\testframework\oomconfig.xml -> c:\testframework\oomconfig.xml + +How to run test code at emulator +1)start symbian device emulator +2)start eshell +3)start command at eshell + atsinterface.exe -testmodule ut_oom + atsinterface.exe -testmodule ut_oom_closeapp + atsinterface.exe -testmodule ut_oomwatcher + atsinterface.exe -testmodule ut_oom_memorymonitor + +How to run test code at hw +1)start symbian device +2)start eshell +3)start command at eshell + atsinterface.exe -testmodule ut_oom + atsinterface.exe -testmodule ut_oom_closeapp + atsinterface.exe -testmodule ut_oomwatcher + atsinterface.exe -testmodule ut_oom_memorymonitor diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/readme for utooomclientrequestqueue and utoomconfigparser.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/readme for utooomclientrequestqueue and utoomconfigparser.txt Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,68 @@ +1. For test code to run, a Macro inserted in to oommonitorclientserver.h, should ask developer to update code. Here is it: +/* +* Copyright (c) 2006-2010 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: The client / server classes allowing clients to make requests to OOM monitor. +* +*/ + + +#ifndef OOMMONITORCLIENTSERVER_H +#define OOMMONITORCLIENTSERVER_H + +#include + +enum TOomMonitorClientPanic + { + EPanicIllegalFunction, + EPanicRequestActive + }; + +void PanicClient(const RMessagePtr2& aMessage,TOomMonitorClientPanic aPanic); + +#ifndef FCC_UNIT_TEST +_LIT(KMemoryMonitorServerName, "OomMonitorServer"); +#else +_LIT(KMemoryMonitorServerName, "MockOomMonitorServer"); +#endif + +enum TOomMonitorCmd + { + EOomMonitorRequestFreeMemory, + EOomMonitorCancelRequestFreeMemory, + EOomMonitorThisAppIsNotExiting, + EOomMonitorRequestOptionalRam, + EOomMonitorSetPriorityBusy, + EOomMonitorSetPriorityNormal, + EOomMonitorSetPriorityHigh + }; + +#endif // OOMMONITORCLIENTSERVER_H + +2. As pointed out earlier from Tong Sun's email, one panic in oomclientrequestqueue.cpp, cause one of the test cases failed. +3. CTC++ report are in group folder. + +// for utoomconfigparser +1. copy file: +w:\epoc32\release\armv5\urel\utoomconfigparser.dll c:\sys\bin\utoomconfigparser.dll + +2. run +z:\sys\bin\atsinterface.exe -testmodule utoomconfigparser + +// for utoomclientrequestqueue +1. copy file: +w:\epoc32\release\armv5\urel\utoomclientrequestqueue.dll c:\sys\bin\utoomclientrequestqueue.dll +w:\epoc32\release\armv5\urel\mockoommonitorserver.exe c:\sys\bin\mockoommonitorserver.exe + +2. run +z:\sys\bin\atsinterface.exe -testmodule utoomclientrequestqueue diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom/Bwins/ut_oomu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom/Bwins/ut_oomu.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,22 @@ +EXPORTS + ?LibEntryL@@YAPAVCTestModuleBase@@XZ @ 1 NONAME ; class CTestModuleBase * __cdecl LibEntryL(void) + ?SetRequirements@@YAHAAPAVCTestModuleParam@@AAK@Z @ 2 NONAME ; int __cdecl SetRequirements(class CTestModuleParam * &,unsigned long &) + ??0COomMonitorPlugin@@QAE@XZ @ 3 NONAME ; COomMonitorPlugin::COomMonitorPlugin(void) + ?FsSession@COomMonitorPlugin@@QAEAAVRFs@@XZ @ 4 NONAME ; class RFs & COomMonitorPlugin::FsSession(void) + ?SetOomPriority@ROomMonitorSession@@QAEXW4TOomPriority@1@@Z @ 5 NONAME ; void ROomMonitorSession::SetOomPriority(enum ROomMonitorSession::TOomPriority) + ?NewL@CAppOomMonitorPlugin@@SAPAV1@VTUid@@@Z @ 6 NONAME ; class CAppOomMonitorPlugin * CAppOomMonitorPlugin::NewL(class TUid) + ?CancelRequestFreeMemory@ROomMonitorSession@@QAEXXZ @ 7 NONAME ; void ROomMonitorSession::CancelRequestFreeMemory(void) + ?CreateOOMWatcherThreadL@@YAXXZ @ 8 NONAME ; void CreateOOMWatcherThreadL(void) + ?RequestFreeMemory@ROomMonitorSession@@QAEHH@Z @ 9 NONAME ; int ROomMonitorSession::RequestFreeMemory(int) + ?ConstructL@COomMonitorPlugin@@QAEXXZ @ 10 NONAME ; void COomMonitorPlugin::ConstructL(void) + ?ExtensionInterface@COomMonitorPlugin@@MAEXVTUid@@AAPAX@Z @ 11 NONAME ; void COomMonitorPlugin::ExtensionInterface(class TUid, void * &) + ?SetMemoryMonitorTls@@YAXPAVCMemoryMonitor@@@Z @ 12 NONAME ; void SetMemoryMonitorTls(class CMemoryMonitor *) + ??1COomMonitorPlugin@@UAE@XZ @ 13 NONAME ; COomMonitorPlugin::~COomMonitorPlugin(void) + ?FreeRam@COomMonitorPluginV2@@UAEXXZ @ 14 NONAME ; void COomMonitorPluginV2::FreeRam(void) + ?RequestFreeMemory@ROomMonitorSession@@QAEXHAAVTRequestStatus@@@Z @ 15 NONAME ; void ROomMonitorSession::RequestFreeMemory(int, class TRequestStatus &) + ?WsSession@COomMonitorPlugin@@QAEAAVRWsSession@@XZ @ 16 NONAME ; class RWsSession & COomMonitorPlugin::WsSession(void) + ?RequestOptionalRam@ROomMonitorSession@@QAEHHHHAAH@Z @ 17 NONAME ; int ROomMonitorSession::RequestOptionalRam(int, int, int, int &) + ?RequestOptionalRam@ROomMonitorSession@@QAEXHHHAAVTRequestStatus@@@Z @ 18 NONAME ; void ROomMonitorSession::RequestOptionalRam(int, int, int, class TRequestStatus &) + ?ThisAppIsNotExiting@ROomMonitorSession@@QAEXH@Z @ 19 NONAME ; void ROomMonitorSession::ThisAppIsNotExiting(int) + ?Connect@ROomMonitorSession@@QAEHXZ @ 20 NONAME ; int ROomMonitorSession::Connect(void) + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom/eabi/ut_oomu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom/eabi/ut_oomu.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,32 @@ +EXPORTS + _Z9LibEntryLv @ 1 NONAME + _Z15SetRequirementsRP16CTestModuleParamRm @ 2 NONAME + _Z19SetMemoryMonitorTlsP14CMemoryMonitor @ 3 NONAME + _Z23CreateOOMWatcherThreadLv @ 4 NONAME + _ZN17COomMonitorPlugin10ConstructLEv @ 5 NONAME + _ZN17COomMonitorPlugin18ExtensionInterfaceE4TUidRPv @ 6 NONAME + _ZN17COomMonitorPlugin9FsSessionEv @ 7 NONAME + _ZN17COomMonitorPlugin9WsSessionEv @ 8 NONAME + _ZN17COomMonitorPluginC2Ev @ 9 NONAME + _ZN17COomMonitorPluginD0Ev @ 10 NONAME + _ZN17COomMonitorPluginD1Ev @ 11 NONAME + _ZN17COomMonitorPluginD2Ev @ 12 NONAME + _ZN18ROomMonitorSession14SetOomPriorityENS_12TOomPriorityE @ 13 NONAME + _ZN18ROomMonitorSession17RequestFreeMemoryEi @ 14 NONAME + _ZN18ROomMonitorSession17RequestFreeMemoryEiR14TRequestStatus @ 15 NONAME + _ZN18ROomMonitorSession18RequestOptionalRamEiiiR14TRequestStatus @ 16 NONAME + _ZN18ROomMonitorSession18RequestOptionalRamEiiiRi @ 17 NONAME + _ZN18ROomMonitorSession19ThisAppIsNotExitingEi @ 18 NONAME + _ZN18ROomMonitorSession23CancelRequestFreeMemoryEv @ 19 NONAME + _ZN18ROomMonitorSession7ConnectEv @ 20 NONAME + _ZN19COomMonitorPluginV27FreeRamEv @ 21 NONAME + _ZN20CAppOomMonitorPlugin4NewLE4TUid @ 22 NONAME + _ZTI15COomFriendClass @ 23 NONAME + _ZTI16CUt_OomTestTimer @ 24 NONAME + _ZTI17COomMonitorPlugin @ 25 NONAME + _ZTI19COomMonitorPluginV2 @ 26 NONAME + _ZTV15COomFriendClass @ 27 NONAME + _ZTV16CUt_OomTestTimer @ 28 NONAME + _ZTV17COomMonitorPlugin @ 29 NONAME + _ZTV19COomMonitorPluginV2 @ 30 NONAME + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom/group/bld.inf Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,41 @@ +/* +* Copyright (c) 2010 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: +* +*/ +#include "../../ut_oomwatcher/group/bld.inf" +#include "../../ut_oom_closeapp/group/bld.inf" +#include "../../appfortest/group/bld.inf" +#include + +PRJ_PLATFORMS + + DEFAULT + +PRJ_TESTEXPORTS + +PRJ_EXPORTS + + +PRJ_TESTMMPFILES + ut_oom.mmp + ut_oomlib.mmp + ../ut_oomplugin/group/ut_oomplugin.mmp + ../ut_oomplugin2/group/ut_oomplugin2.mmp + +PRJ_MMPFILES + + + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom/group/ut_oom.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom/group/ut_oom.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,105 @@ +/*TYPE STIFUNIT*/ +/* +* Copyright (c) 2010 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: MMP file for STIF Test Framework's STIFUnit test module. +* +*/ + +#include + +//uncomment both of these macros to use the CLIENT_REQUEST_QUEUE +macro CLIENT_REQUEST_QUEUE +#define CLIENT_REQUEST_QUEUE + +macro FCC_UNIT_TEST +#define FCC_UNIT_TEST + +SMPSAFE +EPOCALLOWDLLDATA + +TARGET ut_oom.dll +TARGETTYPE dll +UID 0x1000008D 0x2002CAD5 + +CAPABILITY ALL -TCB + +//TARGETPATH ?target_path +DEFFILE ut_oom.def + +USERINCLUDE ../inc +USERINCLUDE ../../../inc + +OS_LAYER_SYSTEMINCLUDE +MW_LAYER_SYSTEMINCLUDE +APP_LAYER_SYSTEMINCLUDE + +SOURCEPATH ../src +SOURCE ut_oom.cpp +SOURCE ut_oomcases.cpp +SOURCE oomfriendclass.cpp +SOURCE mock_oomactionlist.cpp +SOURCE ut_oomtesttimer.cpp + +SOURCEPATH ../../../src +SOURCE oomaction.cpp +SOURCE oomactionconfig.cpp +SOURCE oomactionlist.cpp +SOURCE oomactionref.cpp +SOURCE oomidletimerule.cpp +SOURCE oomappclosetimer.cpp +SOURCE oomappclosewatcher.cpp +SOURCE oomapplicationconfig.cpp +SOURCE oomcloseapp.cpp +SOURCE oomcloseappconfig.cpp +SOURCE oomconfig.cpp +SOURCE oomconfigparser.cpp +SOURCE oomforegroundrule.cpp +SOURCE oomglobalconfig.cpp +SOURCE oomlog.cpp +SOURCE oommemorymonitor.cpp +SOURCE oommemorymonitorserver.cpp +SOURCE oommemorymonitorsession.cpp +SOURCE oommonitor.cpp +SOURCE oommonitorplugin.cpp +SOURCE oommonitorsession.cpp +SOURCE oomoutofmemorywatcher.cpp +SOURCE oompanic.cpp +SOURCE oompluginwaiter.cpp +SOURCE oomrunplugin.cpp +SOURCE oomrunpluginconfig.cpp +SOURCE oomsubscribehelper.cpp +SOURCE oomwindowgrouplist.cpp +SOURCE oomwserveventreceiver.cpp +#ifdef CLIENT_REQUEST_QUEUE +SOURCE oomclientrequestqueue.cpp +#endif + +LIBRARY euser.lib +LIBRARY apparc.lib +LIBRARY eikcore.lib +LIBRARY aknnotify.lib +LIBRARY apgrfx.lib +LIBRARY ws32.lib +LIBRARY apgrfx.lib +LIBRARY bafl.lib +LIBRARY ecom.lib +LIBRARY hal.lib +LIBRARY efsrv.lib +LIBRARY xmlframework.lib +LIBRARY cone.lib +LIBRARY stiftestinterface.lib +#ifdef _DEBUG +LIBRARY flogger.lib +#endif +LANG SC diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom/group/ut_oom.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom/group/ut_oom.pkg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,42 @@ +; +; Copyright (c) 2010 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: +; +; Installation file for STIF +; + +; Languages +&EN + +; Provide value for uid +#{"STIF"},(0x2002CAD5),1,1,0,TYPE=SA + +; Series60 product id for S60 3.0 +[0x101F7961], 0, 0, 0, {"Series60ProductID"} + +; Localised Vendor name +%{"Nokia"} + +; Unique Vendor name +:"Nokia" + +; Install files +"\epoc32\release\armv5\udeb\ut_oom.dll" - "!:\Sys\Bin\ut_oom.dll" +"\epoc32\release\armv5\udeb\ut_oom.dll" - "!:\sys\bin\ut_oom.dll" +"\epoc32\release\armv5\udeb\ut_oomplugin.dll" - "!:\sys\bin\ut_oomplugin.dll" +"\epoc32\Data\z\resource\plugins\ut_oomplugin.RSC" - "!:\resource\plugins\ut_oomplugin.RSC" +"\epoc32\release\armv5\udeb\ut_oomplugin2.dll" - "!:\sys\bin\ut_oomplugin2.dll" +"\epoc32\Data\z\resource\plugins\ut_oomplugin2.RSC" - "!:\resource\plugins\ut_oomplugin2.RSC" + + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom/group/ut_oomlib.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom/group/ut_oomlib.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,23 @@ +/*TYPE STIFUNIT*/ +/* +* Copyright (c) 2010 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: MMP file for STIF Test Framework's STIFUnit test module. +* +*/ +TARGET ut_oom.dll +TARGETTYPE IMPLIB +UID 0x1000008d 0x20033982 + + +DEFFILE ut_oom.def \ No newline at end of file diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom/inc/mock_oomactionlist.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom/inc/mock_oomactionlist.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,39 @@ +/* +* Copyright (c) 2010 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: Main classes for Out of Memory Monitor. +* +*/ + + +#ifndef MOCK_OOMACTIONLIST_H +#define MOCK_OOMACTIONLIST_H + +#include "oomactionlist.h" +#include "ut_oom.h" + +NONSHARABLE_CLASS(CMoc_COomActionList) : public CBase, public MOomActionObserver + { +public: + void StateChanged(); + TInt GetState(); +private: + TInt iStateChange; + }; + +_LIT_SECURITY_POLICY_PASS(KAllowAllPolicy); +const TUid KUtOomWatcherTestProperty = { 0x10000002 }; +const TUint32 KUtOomPluginWatcherTestKey = 0x00000001; +const TInt KUtOomPluginMemGood = 1; + +#endif /*MOCK_OOMACTIONLIST_H*/ diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom/inc/oomfriendclass.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom/inc/oomfriendclass.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,57 @@ +/* + * oomfriendclass.h + * + * Created on: Aug 8, 2010 + * Author: gecheng + */ + +#ifndef OOMFRIENDCLASS_H_ +#define OOMFRIENDCLASS_H_ + +#include + +class CMemoryMonitor; +class COomWindowGroupList; +class COomConfig; +class COomClientRequestQueue; +class CMemoryMonitorServer; +class COomActionList; +class COomLogger; +class COutOfMemoryWatcher; +class CWservEventReceiver; + +class COomFriendClass : public CBase + { +public: + static COomFriendClass* NewL(); + static COomFriendClass* NewLC(); + virtual ~COomFriendClass(); + COomWindowGroupList* GetWindowGroupList(CMemoryMonitor* aMemoryMonitor); + COomConfig* GetOomConfig(CMemoryMonitor* aMemoryMonitor); + COomClientRequestQueue* GetClientRequestQueue(CMemoryMonitor* aMemoryMonitor); + CMemoryMonitorServer* GetMemoryMonitorServer(CMemoryMonitor* aMemoryMonitor); + COomActionList* GetOomActionList(CMemoryMonitor* aMemoryMonitor); + COomLogger* GetOomLogger(CMemoryMonitor* aMemoryMonitor); + COutOfMemoryWatcher* GetOutOfMemoryWatcher(CMemoryMonitor* aMemoryMonitor); + CWservEventReceiver* GetEventReceiver(CMemoryMonitor* aMemoryMonitor); + void CallRefreshThresholds(CMemoryMonitor* aMemoryMonitor); + TInt GetGoodRamThreshold(CMemoryMonitor* aMemoryMonitor); + TInt GetLowRamThreshold(CMemoryMonitor* aMemoryMonitor); + TInt GetGoodSwapThreshold(CMemoryMonitor* aMemoryMonitor); + TInt GetLowSwapThreshold(CMemoryMonitor* aMemoryMonitor); + TInt GetCurrentRamTarget(CMemoryMonitor* aMemoryMonitor); + TInt GetCurrentSwapTarget(CMemoryMonitor* aMemoryMonitor); + TInt GetDataPaged(CMemoryMonitor* aMemoryMonitor); + TInt GetActionTrigger(CMemoryMonitor* aMemoryMonitor); + TInt GetLastMemoryMonitorStatusProperty(CMemoryMonitor* aMemoryMonitor); + +private: + COomFriendClass(); + void ConstructL(); + }; + +#endif /* OOMFRIENDCLASS_H_ */ + + + + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom/inc/ut_oom.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom/inc/ut_oom.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,41 @@ +/* +* Copyright (c) 2010 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: Main classes for Out of Memory Monitor. +* +*/ +#ifndef UT_OOM_H +#define UT_OOM_H + +//redeine plugin uid for unit testing +//This is must because OS oom plugin can only created by OOM monitor thread +#ifdef KOomPluginInterfaceUidValue +#undef KOomPluginInterfaceUidValue +#define KOomPluginInterfaceUidValue 0x2003397d +#endif + +#ifdef KOomPluginInterfaceUid +#undef KOomPluginInterfaceUid +#define KOomPluginInterfaceUid (TUid::Uid(KOomPluginInterfaceUidValue)) +#endif + +#ifdef KOomPluginInterfaceV2UidValue +#undef KOomPluginInterfaceV2UidValue +#define KOomPluginInterfaceV2UidValue 0x2003397e +#endif + +#ifdef KOomPluginInterfaceV2Uid +#undef KOomPluginInterfaceV2Uid +#define KOomPluginInterfaceV2Uid (TUid::Uid(KOomPluginInterfaceV2UidValue)) +#endif +#endif //UT_OOM_H diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom/inc/ut_oomtesttimer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom/inc/ut_oomtesttimer.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,43 @@ +/* +* Copyright (c) 2010 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: This file contains stub for testing CSubscribeHelper +* +*/ +#ifndef UT_OOMTESTTIMER_H +#define UT_OOMTESTTIMER_H + +#include + +class CUt_OomTestTimer + : public CTimer + { +public: // Constructors and destructor + static CUt_OomTestTimer* NewL(); + ~CUt_OomTestTimer(); + +protected: // From CTimer + void RunL(); + void DoCancel(); + +private: // Constructors + CUt_OomTestTimer(); + void ConstructL(); + +public: // Data + TBool iIsTimerElapsed; + +private: + }; + +#endif /* UT_OOMTESTTIMER_H */ diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom/src/mock_oomactionlist.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom/src/mock_oomactionlist.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,30 @@ +/* +* Copyright (c) 2010 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: Main classes for Out of Memory Monitor. +* +*/ + + + +#include "mock_oomactionlist.h" + +void CMoc_COomActionList::StateChanged() + { + iStateChange++; + CActiveScheduler::Stop(); + } +TInt CMoc_COomActionList::GetState() + { + return iStateChange; + } diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom/src/oomfriendclass.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom/src/oomfriendclass.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,140 @@ +/* + * oomfriendclass.cpp + * + * Created on: Aug 8, 2010 + * Author: gecheng + */ + +#include "oomfriendclass.h" +#include <../../../inc/oommemorymonitor.h> +#include +#include +#include +#include +#include +#include +#include +#include + + +COomFriendClass::COomFriendClass() + { + + } + +COomFriendClass::~COomFriendClass() + { + + } + +COomFriendClass* COomFriendClass::COomFriendClass::NewLC() + { + COomFriendClass* self=new(ELeave) COomFriendClass(); + CleanupStack::PushL(self); + self->ConstructL(); + return self; + } + +COomFriendClass* COomFriendClass::COomFriendClass::NewL() + { + COomFriendClass* self=COomFriendClass::NewLC(); + CleanupStack::Pop(self); + return self; + } + +void COomFriendClass::ConstructL() + { + + } + +COomWindowGroupList* COomFriendClass::GetWindowGroupList(CMemoryMonitor* aMemoryMonitor) + { + return aMemoryMonitor->iOomWindowGroupList; + } + +COomConfig* COomFriendClass::GetOomConfig(CMemoryMonitor* aMemoryMonitor) + { + return aMemoryMonitor->iConfig; + } + +COomClientRequestQueue* COomFriendClass::GetClientRequestQueue(CMemoryMonitor* aMemoryMonitor) + { + return aMemoryMonitor->iQueue; + } + +CMemoryMonitorServer* COomFriendClass::GetMemoryMonitorServer(CMemoryMonitor* aMemoryMonitor) + { + return aMemoryMonitor->iServer; + } + +COomActionList* COomFriendClass::GetOomActionList(CMemoryMonitor* aMemoryMonitor) + { + return aMemoryMonitor->iOomActionList; + } + +#ifdef _DEBUG +COomLogger* COomFriendClass::GetOomLogger(CMemoryMonitor* aMemoryMonitor) + { + return aMemoryMonitor->iLogger; + } +#endif + +COutOfMemoryWatcher* COomFriendClass::GetOutOfMemoryWatcher(CMemoryMonitor* aMemoryMonitor) + { + return aMemoryMonitor->iOOMWatcher; + } + +CWservEventReceiver* COomFriendClass::GetEventReceiver(CMemoryMonitor* aMemoryMonitor) + { + return aMemoryMonitor->iWservEventReceiver; + } + +void COomFriendClass::CallRefreshThresholds(CMemoryMonitor* aMemoryMonitor) + { + aMemoryMonitor->RefreshThresholds(); + } + +TInt COomFriendClass::GetGoodRamThreshold(CMemoryMonitor* aMemoryMonitor) + { + return aMemoryMonitor->iGoodRamThreshold; + } + +TInt COomFriendClass::GetLowRamThreshold(CMemoryMonitor* aMemoryMonitor) + { + return aMemoryMonitor->iLowRamThreshold; + } + +TInt COomFriendClass::GetGoodSwapThreshold(CMemoryMonitor* aMemoryMonitor) + { + return aMemoryMonitor->iGoodSwapThreshold; + } + +TInt COomFriendClass::GetLowSwapThreshold(CMemoryMonitor* aMemoryMonitor) + { + return aMemoryMonitor->iLowSwapThreshold; + } + +TInt COomFriendClass::GetCurrentRamTarget(CMemoryMonitor* aMemoryMonitor) + { + return aMemoryMonitor->iCurrentRamTarget; + } + +TInt COomFriendClass::GetCurrentSwapTarget(CMemoryMonitor* aMemoryMonitor) + { + return aMemoryMonitor->iCurrentSwapTarget; + } + +TInt COomFriendClass::GetActionTrigger(CMemoryMonitor* aMemoryMonitor) + { + return STATIC_CAST(TInt, aMemoryMonitor->iActionTrigger); + } + +TBool COomFriendClass::GetDataPaged(CMemoryMonitor* aMemoryMonitor) + { + return aMemoryMonitor->iDataPaged; + } + +TInt COomFriendClass::GetLastMemoryMonitorStatusProperty(CMemoryMonitor* aMemoryMonitor) + { + return aMemoryMonitor->iLastMemoryMonitorStatusProperty; + } diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom/src/ut_oom.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom/src/ut_oom.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,114 @@ +/* +* Copyright (c) 2010 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: This file contains STIFUnit module implementation. +* +*/ + +/******************************************************************************/ +/* + * + * Test module configuration +*/ + +// Version +#define TEST_MODULE_VERSION_MAJOR 1 +#define TEST_MODULE_VERSION_MINOR 1 +#define TEST_MODULE_VERSION_BUILD 1 + + +/* + * Test module internals. Please do not edit them. +*/ + +// Includes +#include + +// Literals +_LIT( KUnitLogPath, "\\logs\\testframework\\ut_oom\\" ); +_LIT( KUnitLogFile, "ut_oom.txt" ); +_LIT( KLogStart, "ut_oom logging starts!" ); + +// Defines +#define STIF_UNIT_TEST_CASES "../src/ut_oomcases.cpp" +#define STIF_UNIT_MODULE_CLASS_NAME Cut_oom +#define STIF_UNIT_MODULE_NAME _L("ut_oom.dll") + +// Include STIF unit generic file +#include + +/* + * Implementation of setHeapAndStack virtual methods. + * To changes heap and stack size provide new values to iTestThreadStackSize, iTestThreadMinHeap and iTestThreadMaxHeap. +*/ + +#ifdef STIFUNIT_SETHEAPANDSTACKSIZE +EXPORT_C TInt SetRequirements( CTestModuleParam*& aTestModuleParam, + TUint32& aParameterValid ) + { + aParameterValid = KStifTestModuleParameterChanged; + CTestModuleParamVer01* param; + TRAPD(err, param = CTestModuleParamVer01::NewL()); + // Stack size + param->iTestThreadStackSize= 16384; // 16K stack + // Heap sizes + param->iTestThreadMinHeap = 4096; // 4K heap min + param->iTestThreadMaxHeap = 1048576;// 1M heap max + + return KErrNone; + } +#undef STIFUNIT_SETHEAPANDSTACKSIZE +#endif + +/* + * User implementation of OOM virtual methods. + * Providing own implementation requires uncommenting defines at the + * beginnig of this file. +*/ +#ifdef STIFUNIT_OOMTESTQUERYL +TBool Cut_oom::OOMTestQueryL( const TFileName& /*aTestCaseFile*/, + const TInt aCaseNumber, + TOOMFailureType& aFailureType, + TInt& aFirstMemFailure, + TInt& aLastMemFailure) + { + } +#undef STIFUNIT_OOMTESTQUERYL +#endif + +#ifdef STIFUNIT_OOMTESTINITIALIZEL +void Cut_oom::OOMTestInitializeL( const TFileName& /*aTestCaseFile*/, + const TInt /*aCaseNumber*/ ) + { + } +#undef STIFUNIT_OOMTESTINITIALIZEL +#endif + +#ifdef STIFUNIT_OOMHANDLEWARNINGL +void Cut_oom::OOMHandleWarningL( const TFileName& /*aTestCaseFile*/, + const TInt /*aCaseNumber*/, + TInt& /*aFailNextValue*/) + { + } +#undef STIFUNIT_OOMHANDLEWARNINGL +#endif + +#ifdef STIFUNIT_OOMTESTFINALIZEL +void Cut_oom::OOMTestFinalizeL( const TFileName& /*aTestCaseFile*/, + const TInt /*aCaseNumber*/ ) + { + } +#undef STIFUNIT_OOMTESTFINALIZEL +#endif + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom/src/ut_oomcases.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom/src/ut_oomcases.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,1220 @@ +/* +* Copyright (c) 2010 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: This file contains STIFUnit implementation. +* +*/ + +/** + * STIF_UNIT_INCLUDE SECTION - put all #includes between STIF_UNIT_INCLUDE_SECTION + * and STIF_UNIT_INCLUDE_SECTION_END + */ +#ifdef STIF_UNIT_INCLUDE_SECTION +#include +#include "oomapplicationconfig.h" +#include "oomactionlist.h" +#include "oommemorymonitor.h" +#include "oomclientrequestqueue.h" +#include "oomcloseappconfig.h" +#include "oomidletimerule.h" +#include "oomforegroundrule.h" +#include "oomconstants.hrh" +#include "oomconfig.h" +#include "oomrunpluginconfig.h" +#include "oomwindowgrouplist.h" +#include "oompanic.h" +#include "oomsubscribehelper.h" +#include "ut_oomtesttimer.h" + +#include "mock_oomactionlist.h" +#include "oomcloseapp.h" +#include "oomrunplugin.h" +#include "oommonitor.h" +#include "oomactionref.h" +#include "oomfriendclass.h" + +#include +#include + +const TUint Koomplugid = 0x2003397f; +const TUid KUtOomAppUid = {0x20033981}; +const TInt KAppIndex = 0x12345; +const TInt KPlugFreeMem = 100; +const TInt KTestPriority = 100; +const TInt KDefaultOomVal = 255; + +// Used for flagging called of callback method +static TBool isSubscribeCallbackCalled; + +/* + * Test function used as callback of CSubscribeHelper + */ +static TInt SubsribeCallbackStub(TAny* /*aPtr*/) + { + isSubscribeCallbackCalled = ETrue; + CActiveScheduler::Stop(); + return KErrNone; + } + + +#endif //STIF_UNIT_INCLUDE_SECTION_END + +/** + * GLOBAL VARIABLES SECTION + */ +#ifdef TEST_VAR_DECLARATIONS + RWsSession ws; + RFs fs; + + CActiveScheduler* scheduler; + CMemoryMonitor* oomMon; + COomActionList* oomAct; + COomFriendClass* oomFriend; + COomActionList* oomActionList; + COomForegroundRule* oomForeground; + COomCloseAppConfig* oomActionCfg; + COomRunPluginConfig* oomRunActionCfg; + COomWindowGroupList* oomWinGroup; + + COomCloseApp* oomAction; + COomRunPlugin* oomRunPlugin; + COomRunPluginConfig* oomRunConfig; + CAppOomMonitorPlugin* oomMonitorPlugin; + CMoc_COomActionList* oomActList; +#endif +/** + * END OF GLOBAL VARIABLES SECTION + */ + + +/** + * TEST CASES SECTION + */ +#ifdef TEST_CASES +/** + * STIF_SETUP defines activities needed before every test case. + */ +STIF_SETUP +{ + // Install active scheduler at start up + User::LeaveIfError(ws.Connect()); + CleanupClosePushL(ws); + User::LeaveIfError(fs.Connect()); + CleanupClosePushL(fs); + scheduler = new (ELeave) CActiveScheduler(); + CleanupStack::PushL(scheduler); + CActiveScheduler::Install(scheduler); + STIF_LOG("Create RProperty of ut_oom"); + RProperty::Define( KUtOomWatcherTestProperty, KUtOomPluginWatcherTestKey, RProperty::EInt, KAllowAllPolicy, KAllowAllPolicy); + } + +/** + * STIF_TEARDOWN defines activities needed after every test case + */ +STIF_TEARDOWN + { + RProperty::Delete(KUtOomWatcherTestProperty, KUtOomPluginWatcherTestKey); + // Delete active scheduler at last + CActiveScheduler::Install(NULL); + CleanupStack::PopAndDestroy(scheduler); + CleanupStack::PopAndDestroy(&fs); + CleanupStack::PopAndDestroy(&ws); + REComSession::FinalClose(); + } + +/** + * STIF_TESTDEFINE defines a test case + */ + + /** + * @SYMTestCaseID GAPS-OOM-ACTIONLIST-001 + * @SYMTestCaseDesc To test create COomActionList object + * @SYMTestPriority Medium + * @SYMTestActions 1) Create CMemoryMonitor object + * + * @SYMTestExpectedResults 1) After COomActionList build success, MemoryGood feed back form plugin Property + * + * @SYMTestType Unit Test + * @SYMCreationDate 13-08-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-ACTIONLIST-001) + { + TInt err; + TInt val; + RProperty oomProperty; + STIF_LOG("Create CMocMemoryMonitor Obj"); + STIF_ASSERT_NOT_LEAVES(oomMon = CMemoryMonitor::NewL()); + CleanupStack::PushL(oomMon); + STIF_ASSERT_NOT_LEAVES(oomFriend = COomFriendClass::NewL()); + CleanupStack::PushL(oomFriend); + oomAct = oomFriend->GetOomActionList(oomMon); + STIF_ASSERT_NOT_NULL(oomAct); + oomMon->AppNotExiting(0); + oomAct->SwitchOffPlugins(); + oomAct->StateChanged(); + STIF_ASSERT_NOT_LEAVES(oomMon->StartFreeSomeRamL(KPlugFreeMem, KDefaultOomVal)); + err = oomProperty.Attach(KUtOomWatcherTestProperty, KUtOomPluginWatcherTestKey, EOwnerThread); + CleanupClosePushL(oomProperty); + STIF_ASSERT_EQUALS(err, KErrNone); + err = oomProperty.Get(val); + STIF_ASSERT_EQUALS(err, KErrNone); + STIF_ASSERT_EQUALS(val,KUtOomPluginMemGood); + STIF_LOG("After COomActionList called, MemoryGood feed back form plugin Property"); + CleanupStack::PopAndDestroy(&oomProperty); + CleanupStack::PopAndDestroy(oomFriend); + CleanupStack::PopAndDestroy(oomMon); + } + +/** + * @SYMTestCaseID GAPS-OOM-ACTION-002 + * @SYMTestCaseDesc To test COomActionConfig class + * @SYMTestPriority Medium + * @SYMTestActions 1) Create COomActionConfig(COomCloseAppConfig) object + * 2) Create COomForegroundRule Obj + * 3) Add rule of Foreground + * 4) Create OomWindowGroupList Obj + * 5) Set default priority to 0 + * 6) Check if return default priority + * + * @SYMTestExpectedResults 1) Create COomActionConfig object success + * 2) Create foreground rule success + * 3) Add rule success and no leave + * 4) Create empty window group no leave + * 5) Set default prority of action config no error + * 6) empty wondow group priority is same as default priority + * @SYMTestType Unit Test + * @SYMCreationDate 13-08-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-ACTION-002) + { + TUint priority=0; + STIF_LOG("1) Create COomActionConfig(COomCloseAppConfig) Object"); + STIF_ASSERT_NOT_LEAVES(oomActionCfg = COomCloseAppConfig::NewL(0)); + CleanupStack::PushL(oomActionCfg); + + STIF_LOG("2) Create COomForegroundRule Obj"); + STIF_ASSERT_NOT_LEAVES(oomForeground = new (ELeave) COomForegroundRule(0,0)); + CleanupStack::PushL(oomForeground); + + STIF_LOG("3) Add rule of Foreground"); + STIF_ASSERT_NOT_LEAVES(oomActionCfg->AddRuleL(oomForeground)); + CleanupStack::Pop(oomForeground); + + STIF_LOG("4) Create OomWindowGroupList Obj"); + STIF_ASSERT_NOT_LEAVES(oomWinGroup = COomWindowGroupList::NewL(ws)); + CleanupStack::PushL(oomWinGroup); + + STIF_LOG("5) Set default priority"); + oomActionCfg->SetDefaultPriority(priority); + + STIF_LOG("6) Check if return default priority"); + STIF_ASSERT_EQUALS(oomActionCfg->CalculateCloseAppPriority(*oomWinGroup,0),priority); + + STIF_LOG("Clean Enviroment"); + CleanupStack::PopAndDestroy(oomWinGroup); + CleanupStack::PopAndDestroy(oomActionCfg); + } + +/** + * @SYMTestCaseID GAPS-OOM-ACTION-003 + * @SYMTestCaseDesc To test COomActionConfig class + * @SYMTestPriority Medium + * @SYMTestActions 1) Create COomActionConfig(COomRunPluginConfig) object + * 2) Create a foreground rule + * 3) Add foreground rule into action config + * 4) Create a empty window group + * 5) Set default priority of action config to 0 + * 6) Get empty window group priority + * + * @SYMTestExpectedResults 1) Create COomRunPluginConfig object success + * 2) Create foreground rule success + * 3) Add rule success and no leave + * 4) Create empty window group no leave + * 5) Set default prority of action config no error + * 6) empty wondow group priority is same as default priority + * @SYMTestType Unit Test + * @SYMCreationDate 13-08-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-ACTION-003) + { + TUint priority=0; + STIF_LOG("1) Create COomActionConfig(COomCloseAppConfig) Object"); + STIF_ASSERT_NOT_LEAVES(oomRunActionCfg = COomRunPluginConfig::NewL(Koomplugid,EOomAppPlugin)); + CleanupStack::PushL(oomRunActionCfg); + + STIF_LOG("2) Create COomForegroundRule Obj"); + STIF_ASSERT_NOT_LEAVES(oomForeground = new (ELeave) COomForegroundRule(0,0)); + CleanupStack::PushL(oomForeground); + + STIF_LOG("3) Add rule of Foreground"); + STIF_ASSERT_NOT_LEAVES(oomRunActionCfg->AddRuleL(oomForeground)); + CleanupStack::Pop(oomForeground); + + STIF_LOG("4) Create OomWindowGroupList Obj"); + STIF_ASSERT_NOT_LEAVES(oomWinGroup = COomWindowGroupList::NewL(ws)); + CleanupStack::PushL(oomWinGroup); + + STIF_LOG("5) Set default priority"); + oomRunActionCfg->SetDefaultPriority(priority); + + STIF_LOG("6) Check if return default priority"); + STIF_ASSERT_EQUALS(oomRunActionCfg->CalculatePluginPriority(*oomWinGroup),priority); + + STIF_LOG("Clean Enviroment"); + CleanupStack::PopAndDestroy(oomWinGroup); + CleanupStack::PopAndDestroy(oomRunActionCfg); + } + +/** + * @SYMTestCaseID GAPS-OOM-OOMMONITORPLUGIN-004 + * @SYMTestCaseDesc To test COomActionConfig class + * @SYMTestPriority Medium + * @SYMTestActions 1) Create COomRunPluginConfig Object + * 2) Create COomActionList Object + * 3) Create CMemoryMonitor Object + * 4) Create COomCloseApp Object + * 5) Call COomAction::FreeMemory + * + * @SYMTestExpectedResults 1) Create COomRunPluginConfig object success + * 2) Create COomActionList object success + * 3) Create CMemoryMonitor success + * 4) Create COomCloseApp OK + * 5) oomActList->GetState() and the value is default + * @SYMTestType Unit Test + * @SYMCreationDate 13-08-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-OOMMONITORPLUGIN-004) + { + STIF_LOG("1) Create COomRunPluginConfig Object"); + STIF_ASSERT_NOT_LEAVES(oomRunConfig = COomRunPluginConfig::NewL(Koomplugid,EOomSystemPlugin)); + CleanupStack::PushL(oomRunConfig); + + STIF_LOG("2) Create COomActionList Object"); + STIF_ASSERT_NOT_LEAVES(oomActList = new (ELeave) CMoc_COomActionList()); + CleanupStack::PushL(oomActList); + + STIF_LOG("3) Create CMemoryMonitor Object"); + STIF_ASSERT_NOT_LEAVES(oomMon = CMemoryMonitor::NewL()); + CleanupStack::PushL(oomMon); + Dll::SetTls(oomMon); + + STIF_LOG("4) Create COomCloseApp Object"); + STIF_ASSERT_NOT_LEAVES(oomAction = COomCloseApp::NewL(*oomActList,ws)); + CleanupStack::PushL(oomAction); + + STIF_LOG("5) Call COomAction::FreeMemory"); + oomAction->FreeMemory(0,EFalse); + CActiveScheduler::Start(); + + STIF_ASSERT_NOT_EQUALS(oomActList->GetState(),0); + + STIF_LOG("Clean Enviroment"); + CleanupStack::PopAndDestroy(oomAction); + CleanupStack::PopAndDestroy(oomMon); + CleanupStack::PopAndDestroy(oomActList); + CleanupStack::PopAndDestroy(oomRunConfig); + } + +/** + * @SYMTestCaseID GAPS-OOM-OOMRUNPLUGIN-005 + * @SYMTestCaseDesc To test COomMonitorPlugin(COomRunPlugin) class + * @SYMTestPriority Medium + * @SYMTestActions 1) Create COomRunPluginConfig Object + * 2) Create COomActionList Object + * 3) Create CMemoryMonitor Object + * 4) Create COomMonitorPlugin(CAppOomMonitorPlugin) Object + * 5) Create COomMonitorPlugin(COomRunPlugin) Object + * 6) Free Some memory + * 7) Create TActionRef object + * + * @SYMTestExpectedResults 1) Create COomRunPluginConfig object success + * 2) Create COomActionList success + * 3) Create CMemoryMonitor success + * 4) Create COomMonitorPlugin no leave + * 5) Create COomMonitorPlugin(COomRunPlugin) no leave + * 6) Free memory OK + * 7) Get value of TActionRef is same as seting + * @SYMTestType Unit Test + * @SYMCreationDate 13-08-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-OOMRUNPLUGIN-005) + { + + STIF_LOG("1) Create COomRunPluginConfig Object"); + STIF_ASSERT_NOT_LEAVES(oomRunConfig = COomRunPluginConfig::NewL(Koomplugid,EOomSystemPlugin)); + CleanupStack::PushL(oomRunConfig); + + STIF_LOG("2) Create COomActionList Object"); + STIF_ASSERT_NOT_LEAVES(oomActList = new (ELeave) CMoc_COomActionList()); + CleanupStack::PushL(oomActList); + + STIF_LOG("3) Create CMemoryMonitor Object"); + STIF_ASSERT_NOT_LEAVES(oomMon = CMemoryMonitor::NewL()); + CleanupStack::PushL(oomMon); + Dll::SetTls(oomMon); + + STIF_LOG("4) Create COomMonitorPlugin(CAppOomMonitorPlugin) Object"); + STIF_ASSERT_NOT_LEAVES(oomMonitorPlugin = CAppOomMonitorPlugin::NewL(KUtOomAppUid)); + CleanupStack::PushL(oomMonitorPlugin); + + STIF_LOG("5) Create COomMonitorPlugin(COomRunPlugin) Object"); + STIF_ASSERT_NOT_LEAVES(oomRunPlugin = COomRunPlugin::NewL(Koomplugid,*oomRunConfig,*oomActList,*oomMonitorPlugin)); + CleanupStack::PushL(oomRunPlugin); + + STIF_LOG("6) Free Some memory"); + oomRunPlugin->FreeMemory(KPlugFreeMem,0); + CActiveScheduler::Start(); + STIF_ASSERT_NOT_EQUALS(oomActList->GetState(),0); + oomRunPlugin->MemoryGood(); + TActionRef::TActionType type(TActionRef::ESystemPlugin); + TUint priority(KDefaultOomVal); + TInt ramEstimate(KDefaultOomVal); + TOomSyncMode sync(EContinue); + TUint wgIndexOfTargetApp(KAppIndex); + TInt wgId(KDefaultOomVal); + TInt wgIndex(KDefaultOomVal); + + STIF_LOG("7) Create TActionRef object"); + TActionRef actionRef(type,priority,sync,ramEstimate,*oomRunPlugin,wgIndexOfTargetApp); + STIF_ASSERT_EQUALS(actionRef.Type(),type); + STIF_ASSERT_EQUALS(actionRef.Priority(),priority); + STIF_ASSERT_EQUALS(actionRef.SyncMode(),sync); + STIF_ASSERT_EQUALS(actionRef.RamEstimate(),ramEstimate); + STIF_ASSERT_EQUALS(&actionRef.RunPlugin(),oomRunPlugin); + + actionRef = TActionRef(type,priority,sync,ramEstimate,wgId,wgIndex); + STIF_ASSERT_EQUALS(actionRef.WgId(),wgId); + STIF_ASSERT_EQUALS(actionRef.WgIndex(),wgIndex); + + CleanupStack::PopAndDestroy(oomRunPlugin); + CleanupStack::PopAndDestroy(oomMonitorPlugin); + CleanupStack::PopAndDestroy(oomMon); + CleanupStack::PopAndDestroy(oomActList); + CleanupStack::PopAndDestroy(oomRunConfig); + } + +/** + * @SYMTestCaseID GAPS-OOM-OOMWATCHER-006 + * @SYMTestCaseDesc To test oommonitor + * @SYMTestPriority Medium + * @SYMTestActions 1) Call CreateOOMWatcherThreadL + * + * @SYMTestExpectedResults 1) CreateOOMWatcherThreadL no leave + * @SYMTestType Unit Test + * @SYMCreationDate 13-08-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-OOMWATCHER-006) + { + STIF_LOG("1) call CreateOOMWatcherThreadL"); + STIF_ASSERT_NOT_LEAVES(CreateOOMWatcherThreadL()); + } + +/** + * @SYMTestCaseID GAPS-OOM-OOMPANIC-007 + * @SYMTestCaseDesc To test OomMonitorPluginPanic + * @SYMTestPriority Medium + * @SYMTestActions 1) Set TLS to NULL + * 2) Try to create a CAppOomMonitorPlugin + * + * @SYMTestExpectedResults 1) Set TLS to NULL success + * 2) Create CAppOomMonitorPlugin been panic + * @SYMTestType Unit Test + * @SYMCreationDate 01-08-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-OOMPANIC-007) + { + STIF_LOG("1) Set TLS to NULL"); + Dll::SetTls(NULL); + STIF_LOG("2) Create COomMonitorPlugin(CAppOomMonitorPlugin) Object"); + STIF_ASSERT_PANIC(0,oomMonitorPlugin = CAppOomMonitorPlugin::NewL(KUtOomAppUid)); + delete oomMonitorPlugin; + } + +/** + * @SYMTestCaseID GAPS-OOM-APPLICATIONCONFIG-001 + * @SYMTestCaseDesc Unit test for COomApplicationConfig and COomCloseAppConfig. + * @SYMTestPriority Medium + * @SYMTestActions 1. Construct a COomApplicationConfig object. + * 2. Check applicatin ID is correct. + * 3. Construct a COomCloseAppConfig object. + * 4. Set close app config for the COomApplicationConfig object. + * 5. Check close app config for the COomApplicationConfig object. + * 6. Construct a COomForegroundRule object. + * 7. Add foreground rule into the COomApplicationConfig object. + * 8. Construct a COomIdleTimeRule object. + * 9. Add idle time rule into the COomApplicationConfig object. + * @SYMTestExpectedResults 1. COomApplicationConfig object was successfully constructed. + * 2. Application ID is correct. + * 3. COomCloseAppConfig object was successfully constructed. + * 4. Close app config was set for the COomApplicationConfig object. + * 5. Close app config is correct in the COomApplicationConfig object. + * 6. COomForegroundRule object was successfully constructed. + * 7. COomForegroundRule object was successfully added into COomApplicationConfig object. + * 8. COomIdleTimeRule object was successfully constructed. + * 9. COomIdleTimeRule object was successfully added into COomApplicationConfig object. + * @SYMTestType Unit Test + * @SYMCreationDate 03-08-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-APPLICATIONCONFIG-001) +{ + // + STIF_LOG("1. Construct a COomApplicationConfig object."); + TUint applicationID = 0x100058B3; + COomApplicationConfig* applicationConfig = COomApplicationConfig::NewL(applicationID); + CleanupStack::PushL(applicationConfig); + + STIF_LOG("2. Check applicatin ID is correct."); + STIF_ASSERT_EQUALS(applicationConfig->Id(), applicationID); + + STIF_LOG("3. Construct a COomCloseAppConfig object."); + COomCloseAppConfig* closeAppConfig = COomCloseAppConfig::NewL(applicationID); + + CleanupStack::PushL(closeAppConfig); + + STIF_LOG("4. Set close app config for the COomApplicationConfig object."); + applicationConfig->SetAppCloseConfig(closeAppConfig); + + CleanupStack::Pop(closeAppConfig); + + STIF_LOG("5. Check close app config for the COomApplicationConfig object."); + STIF_ASSERT_EQUALS(applicationConfig->GetAppCloseConfig(), closeAppConfig); + + STIF_LOG("6. Construct a COomForegroundRule object."); + COomForegroundRule* foregroundRule = new (ELeave) COomForegroundRule(KOomBusyAppId, KOomPriorityInfinate); + CleanupStack::PushL(foregroundRule); + + STIF_LOG("7. Add foreground rule into the COomApplicationConfig object."); + applicationConfig->AddRuleL(foregroundRule); + CleanupStack::Pop(foregroundRule); + + STIF_LOG("8. Construct a COomIdleTimeRule object."); + COomIdleTimeRule* idleRule = COomIdleTimeRule::NewL(KMicrosecondsInMillisecond, KOomPriorityInfinate); + CleanupStack::PushL(idleRule); + + STIF_LOG("9. Add idle time rule into the COomApplicationConfig object."); + applicationConfig->AddRuleL(idleRule); + CleanupStack::Pop(idleRule); + + CleanupStack::PopAndDestroy(applicationConfig); +} + +/** + * @SYMTestCaseID GAPS-OOM-OOMCONFIG-001 + * @SYMTestCaseDesc Unit test for COomConfig::AddApplicationConfigL. + * @SYMTestPriority Medium + * @SYMTestActions 1. Construct a COomConfig object. + * 2. Add default application config. + * 3. Add default application config again. + * @SYMTestExpectedResults 1. COomConfig object was successfully constructed. + * 2. Default application config was added. + * 3. Panic with KAppConfigAddedTwice. + * @SYMTestType Unit Test + * @SYMCreationDate 03-08-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-OOMCONFIG-001) +{ + STIF_LOG("1. Construct a COomConfig object."); + COomConfig* oomConfig = COomConfig::NewL(); + CleanupStack::PushL(oomConfig); + + STIF_LOG("2. Add default application config."); + COomApplicationConfig* defaultApplicationConfig = COomApplicationConfig::NewL(KOomDefaultAppId); + CleanupStack::PushL(defaultApplicationConfig); + + oomConfig->AddApplicationConfigL(defaultApplicationConfig); + + STIF_LOG("3. Add default application config again."); + STIF_ASSERT_PANIC(KAppConfigAddedTwice, oomConfig->AddApplicationConfigL(defaultApplicationConfig)); + CleanupStack::Pop(defaultApplicationConfig); + + CleanupStack::PopAndDestroy(oomConfig); +} + +/** + * @SYMTestCaseID GAPS-OOM-OOMCONFIG-002 + * @SYMTestCaseDesc Unit test for COomConfig::GetApplicationConfig. + * @SYMTestPriority Medium + * @SYMTestActions 1. Construct a COomConfig object. + * 2. Add default application config. + * 3. Get another application config. + * @SYMTestExpectedResults 1. COomConfig object was successfully constructed. + * 2. Default application config was added. + * 3. KOomDefaultAppId should be returned. + * @SYMTestType Unit Test + * @SYMCreationDate 03-08-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-OOMCONFIG-002) +{ + TUint applicationID = 0x100058B3; + + STIF_LOG("1. Construct a COomConfig object."); + COomConfig* oomConfig = COomConfig::NewL(); + CleanupStack::PushL(oomConfig); + + STIF_LOG("2. Add default application config."); + COomApplicationConfig* defaultApplicationConfig = COomApplicationConfig::NewL(KOomDefaultAppId); + CleanupStack::PushL(defaultApplicationConfig); + + oomConfig->AddApplicationConfigL(defaultApplicationConfig); + + CleanupStack::Pop(defaultApplicationConfig); + + STIF_LOG("3. Get application config."); + COomApplicationConfig& defaultAppConfig = oomConfig->GetApplicationConfig(applicationID); + STIF_ASSERT_EQUALS(defaultAppConfig.Id(), (TUint)KOomDefaultAppId); + + CleanupStack::PopAndDestroy(oomConfig); +} + +/** + * @SYMTestCaseID GAPS-OOM-OOMCONFIG-003 + * @SYMTestCaseDesc Unit test for COomConfig add rule config before adding application config. + * @SYMTestPriority Medium + * @SYMTestActions 1. Construct a COomConfig object. + * 2. Add rule config. + * @SYMTestExpectedResults 1. COomConfig object was successfully constructed. + * 2. Panic with KRuleConfiguredBeforeApplication. + * @SYMTestType Unit Test + * @SYMCreationDate 03-08-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-OOMCONFIG-003) +{ + TUint applicationID = 0x100058B3; + + STIF_LOG("1. Construct a COomConfig object."); + COomConfig* oomConfig = COomConfig::NewL(); + CleanupStack::PushL(oomConfig); + + STIF_LOG("2. Add rule config."); + COomForegroundRule* foregroundRule = new (ELeave) COomForegroundRule(applicationID, KOomPriorityInfinate); + CleanupStack::PushL(foregroundRule); + + STIF_ASSERT_PANIC(KRuleConfiguredBeforeApplication, oomConfig->AddApplicationRuleL(applicationID, foregroundRule)); + + CleanupStack::Pop(foregroundRule); + + CleanupStack::PopAndDestroy(oomConfig); +} + +/** + * @SYMTestCaseID GAPS-OOM-OOMCONFIG-004 + * @SYMTestCaseDesc Unit test for COomConfig add the same configuration for an application closure twice. + * @SYMTestPriority Medium + * @SYMTestActions 1. Construct a COomConfig object. + * 2. Add the configuration for an application closure. + * 3. Add the same configuration for an application closure again. + * @SYMTestExpectedResults 1. COomConfig object was successfully constructed. + * 2. Application config was created. Application closure was added. + * 3. Panic with KSameAppClosureConfiguredTwice. + * @SYMTestType Unit Test + * @SYMCreationDate 03-08-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-OOMCONFIG-004) +{ + TUint applicationID = 0x100058B3; + + STIF_LOG("1. Construct a COomConfig object."); + COomConfig* oomConfig = COomConfig::NewL(); + CleanupStack::PushL(oomConfig); + + STIF_LOG("2. Add the configuration for an application closure."); + COomCloseAppConfig* closeAppConfig = COomCloseAppConfig::NewL(applicationID); + CleanupStack::PushL(closeAppConfig); + + oomConfig->SetAppCloseConfigL(closeAppConfig); + + STIF_LOG("3. Add the same configuration for an application closure again."); + STIF_ASSERT_PANIC(KSameAppClosureConfiguredTwice, oomConfig->SetAppCloseConfigL(closeAppConfig)); + + CleanupStack::Pop(closeAppConfig); + + CleanupStack::PopAndDestroy(oomConfig); +} + +/** + * @SYMTestCaseID GAPS-OOM-OOMCONFIG-005 + * @SYMTestCaseDesc Unit test for COomConfig add the same rule configuration. + * @SYMTestPriority Medium + * @SYMTestActions 1. Construct a COomConfig object. + * 2. Add the configuration for an application closure. + * 3. Get application config. + * 4. Add the rule config. + * @SYMTestExpectedResults 1. COomConfig object was successfully constructed. + * 2. Application config was created. Application closure was added. + * 3. Correct application id should be returned. + * 4. The rule config was added. + * @SYMTestType Unit Test + * @SYMCreationDate 03-08-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-OOMCONFIG-005) +{ + TUint applicationID = 0x100058B3; + + STIF_LOG("1. Construct a COomConfig object."); + COomConfig* oomConfig = COomConfig::NewL(); + CleanupStack::PushL(oomConfig); + + STIF_LOG("2. Add the configuration for an application closure."); + COomCloseAppConfig* closeAppConfig = COomCloseAppConfig::NewL(applicationID); + CleanupStack::PushL(closeAppConfig); + + oomConfig->SetAppCloseConfigL(closeAppConfig); + + CleanupStack::Pop(closeAppConfig); + + STIF_LOG("3. Get application config."); + COomApplicationConfig& appConfig = oomConfig->GetApplicationConfig(applicationID); + STIF_ASSERT_EQUALS(appConfig.Id(), applicationID); + + STIF_LOG("4. Add the rule config."); + COomForegroundRule* foregroundRule = new (ELeave) COomForegroundRule(applicationID, KOomPriorityInfinate); + CleanupStack::PushL(foregroundRule); + + oomConfig->AddApplicationRuleL(applicationID, foregroundRule); + + CleanupStack::Pop(foregroundRule); + + CleanupStack::PopAndDestroy(oomConfig); +} + +/** + * @SYMTestCaseID GAPS-OOM-OOMCONFIG-006 + * @SYMTestCaseDesc Unit test for COomConfig::AddPluginConfigL. + * @SYMTestPriority Medium + * @SYMTestActions 1. Construct a COomConfig object. + * 2. Add default run plugin config. + * 3. Add default run plugin config again. + * @SYMTestExpectedResults 1. COomConfig object was successfully constructed. + * 2. Default run plugin config was added. + * 3. Panic with KPluginConfigAddedTwice. + * @SYMTestType Unit Test + * @SYMCreationDate 03-08-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-OOMCONFIG-006) +{ + STIF_LOG("1. Construct a COomConfig object."); + COomConfig* oomConfig = COomConfig::NewL(); + CleanupStack::PushL(oomConfig); + + STIF_LOG("2. Add default run plugin config."); + COomRunPluginConfig* runPluginConfig = COomRunPluginConfig::NewL(KOomDefaultPluginId, EOomSystemPlugin); + CleanupStack::PushL(runPluginConfig); + + oomConfig->AddPluginConfigL(runPluginConfig); + + STIF_LOG("3. Add default run plugin config again."); + STIF_ASSERT_PANIC(KPluginConfigAddedTwice, oomConfig->AddPluginConfigL(runPluginConfig)); + + CleanupStack::Pop(runPluginConfig); + + CleanupStack::PopAndDestroy(oomConfig); +} + +/** + * @SYMTestCaseID GAPS-OOM-OOMCONFIG-007 + * @SYMTestCaseDesc Unit test for COomConfig::GetPluginConfig. + * @SYMTestPriority Medium + * @SYMTestActions 1. Construct a COomConfig object. + * 2. Add run plugin config. + * 3. Get another run plugin config. + * @SYMTestExpectedResults 1. COomConfig object was successfully constructed. + * 2. Default run plugin config was added. + * 3. KOomDefaultPluginId should be returned. + * @SYMTestType Unit Test + * @SYMCreationDate 03-08-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-OOMCONFIG-007) +{ + TUint pluginID = 0x100058B3; + + STIF_LOG("1. Construct a COomConfig object."); + COomConfig* oomConfig = COomConfig::NewL(); + CleanupStack::PushL(oomConfig); + + STIF_LOG("2. Add default run plugin config."); + COomRunPluginConfig* runPluginConfig = COomRunPluginConfig::NewL(KOomDefaultPluginId, EOomSystemPlugin); + CleanupStack::PushL(runPluginConfig); + + oomConfig->AddPluginConfigL(runPluginConfig); + + CleanupStack::Pop(runPluginConfig); + + STIF_LOG("3. Get another run plugin config."); + COomRunPluginConfig& defaultPluginConfig = oomConfig->GetPluginConfig(pluginID); + STIF_ASSERT_EQUALS(defaultPluginConfig.Id(), (TUint)KOomDefaultPluginId); + + CleanupStack::PopAndDestroy(oomConfig); +} + +/** + * @SYMTestCaseID GAPS-OOM-OOMCONFIG-008 + * @SYMTestCaseDesc Unit test for COomConfig add rule config before adding run plugin config. + * @SYMTestPriority Medium + * @SYMTestActions 1. Construct a COomConfig object. + * 2. Add rule config for run plugin config. + * @SYMTestExpectedResults 1. COomConfig object was successfully constructed. + * 2. Panic with KRuleConfiguredBeforePlugin. + * @SYMTestType Unit Test + * @SYMCreationDate 03-08-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-OOMCONFIG-008) +{ + TUint pluginID = 0x100058B3; + + STIF_LOG("1. Construct a COomConfig object."); + COomConfig* oomConfig = COomConfig::NewL(); + CleanupStack::PushL(oomConfig); + + STIF_LOG("2. Add rule config for run plugin config."); + COomForegroundRule* foregroundRule = new (ELeave) COomForegroundRule(pluginID, KOomPriorityInfinate); + CleanupStack::PushL(foregroundRule); + + STIF_ASSERT_PANIC(KRuleConfiguredBeforePlugin, oomConfig->AddPluginRuleL(pluginID, foregroundRule)); + + CleanupStack::Pop(foregroundRule); + + CleanupStack::PopAndDestroy(oomConfig); +} + +/** + * @SYMTestCaseID GAPS-OOM-OOMCONFIG-009 + * @SYMTestCaseDesc Unit test for COomConfig add run plugin config twicw. + * @SYMTestPriority Medium + * @SYMTestActions 1. Construct a COomConfig object. + * 2. Add the configuration for a plugin action. + * 3. Add the configuration for a plugin action again. + * @SYMTestExpectedResults 1. COomConfig object was successfully constructed. + * 2. Run plugin config was added. + * 3. + * @SYMTestType Unit Test + * @SYMCreationDate 03-08-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-OOMCONFIG-009) +{ + TUint pluginID = 0x100058B3; + + STIF_LOG("1. Construct a COomConfig object."); + COomConfig* oomConfig = COomConfig::NewL(); + CleanupStack::PushL(oomConfig); + + STIF_LOG("2. Add the configuration for a plugin action."); + COomRunPluginConfig* runPluginConfig = COomRunPluginConfig::NewL(pluginID, EOomSystemPlugin); + CleanupStack::PushL(runPluginConfig); + + oomConfig->AddPluginConfigL(runPluginConfig); + + STIF_LOG("3. Add the same configuration for a plugin action again."); + STIF_ASSERT_PANIC(KPluginConfigAddedTwice, oomConfig->AddPluginConfigL(runPluginConfig)); + + CleanupStack::Pop(runPluginConfig); + + CleanupStack::PopAndDestroy(oomConfig); +} + +/** + * @SYMTestCaseID GAPS-OOM-OOMCONFIG-010 + * @SYMTestCaseDesc Unit test for COomConfig the rule config again. + * @SYMTestPriority Medium + * @SYMTestActions 1. Construct a COomConfig object. + * 2. Add the configuration for a plugin action. + * 3. Get run plugin config. + * 4. Add the rule config. + * @SYMTestExpectedResults 1. COomConfig object was successfully constructed. + * 2. The configuration for a plugin action was added. + * 3. Correct run plugin id should be returned. + * 4. The rule config was added. + * @SYMTestType Unit Test + * @SYMCreationDate 03-08-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-OOMCONFIG-010) +{ + TUint pluginID = 0x100058B3; + STIF_LOG("1. Construct a COomConfig object."); + COomConfig* oomConfig = COomConfig::NewL(); + CleanupStack::PushL(oomConfig); + + STIF_LOG("2. Add the configuration for a plugin action."); + COomRunPluginConfig* runPluginConfig = COomRunPluginConfig::NewL(pluginID, EOomSystemPlugin); + CleanupStack::PushL(runPluginConfig); + + oomConfig->AddPluginConfigL(runPluginConfig); + + CleanupStack::Pop(runPluginConfig); + + STIF_LOG("3. Get run plugin config."); + COomRunPluginConfig& pluginConfig = oomConfig->GetPluginConfig(pluginID); + STIF_ASSERT_EQUALS(pluginConfig.Id(), pluginID); + + STIF_LOG("4. Add the rule config."); + COomForegroundRule* foregroundRule = new (ELeave) COomForegroundRule(pluginID, KOomPriorityInfinate); + CleanupStack::PushL(foregroundRule); + + oomConfig->AddPluginRuleL(pluginID, foregroundRule); + + CleanupStack::Pop(foregroundRule); + + CleanupStack::PopAndDestroy(oomConfig); +} + +/** + * @SYMTestCaseID GAPS-OOM-OOMCONFIG-011 + * @SYMTestCaseDesc Unit test for COomConfig iGlobalConfig related functions. + * @SYMTestPriority Medium + * @SYMTestActions 1. Construct a COomConfig object. + * 2. Set default low ram threshold. + * 3. Set default good ram threshold. + * 4. Set swap usage monitored. + * 5. Set default low swap threshold. + * 6. Set default good swap threshold. + * 7. Set max close app batch. + * 8. Set default wait after plugin. + * 9. Set max app exit time. + * 10. Get global config. + * 11. Check default low ram threshold. + * 12. Check default good ram threshold. + * 13. Check swap usage monitored. + * 14. Check default low swap threshold. + * 15. Check default good swap threshold. + * 16. Check max close app batch. + * 17. Check default wait after plugin. + * 18. Check max app exit time. + * @SYMTestExpectedResults 1. COomConfig object was successfully constructed. + * 2. Default low ram threshold was set. + * 3. Default good ram threshold was set. + * 4. Swap usage monitored was set. + * 5. Default low swap threshold was set. + * 6. Default good swap threshold was set. + * 7. Max close app batch was set. + * 8. Default wait after plugin was set. + * 9. Max app exit time was set. + * 10. Global config is got. + * 11. Default low ram threshold is correct. + * 12. Default good ram threshold is correct. + * 13. Swap usage monitored is correct. + * 14. Default low swap threshold is correct. + * 15. Default good swap threshold is correct. + * 16. Max close app batch is correct. + * 17. Default wait after plugin is correct. + * 18. Max app exit time is correct. + * @SYMTestType Unit Test + * @SYMCreationDate 03-08-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-OOMCONFIG-011) +{ + STIF_LOG("1. Construct a COomConfig object."); + COomConfig* oomConfig = COomConfig::NewL(); + CleanupStack::PushL(oomConfig); + + const TInt KBytesInMegabyte = 1024; + + STIF_LOG("2. Set default low ram threshold."); + oomConfig->SetDefaultLowRamThreshold(KBytesInMegabyte); + + STIF_LOG("3. Set default good ram threshold."); + oomConfig->SetDefaultGoodRamThreshold(KBytesInMegabyte); + + STIF_LOG("4. Set swap usage monitored."); + oomConfig->SetSwapUsageMonitored(ETrue); + + STIF_LOG("5. Set default low swap threshold."); + oomConfig->SetDefaultLowSwapThreshold(KBytesInMegabyte); + + STIF_LOG("6. Set default good swap threshold."); + oomConfig->SetDefaultGoodSwapThreshold(KBytesInMegabyte); + + STIF_LOG("7. Set max close app batch."); + TUint maxCloseAppBatch = 100; + oomConfig->SetMaxCloseAppBatch(maxCloseAppBatch); + + STIF_LOG("8. Set default wait after plugin."); + oomConfig->SetDefaultWaitAfterPlugin(KMicrosecondsInMillisecond); + + STIF_LOG("9. Set max app exit time."); + oomConfig->SetMaxAppExitTime(KMicrosecondsInMillisecond); + + STIF_LOG("10. Get global config."); + COomGlobalConfig& globalConfig = oomConfig->GlobalConfig(); + + STIF_LOG("11. Check default low ram threshold."); + STIF_ASSERT_EQUALS(globalConfig.iLowRamThreshold, KBytesInMegabyte); + + STIF_LOG("12. Check default good ram threshold."); + STIF_ASSERT_EQUALS(globalConfig.iGoodRamThreshold, KBytesInMegabyte); + + STIF_LOG("13. Check swap usage monitored."); + STIF_ASSERT_TRUE(globalConfig.iSwapUsageMonitored); + + STIF_LOG("14. Check default low swap threshold."); + STIF_ASSERT_EQUALS(globalConfig.iLowSwapThreshold, KBytesInMegabyte); + + STIF_LOG("15. Check default good swap threshold."); + STIF_ASSERT_EQUALS(globalConfig.iGoodSwapThreshold, KBytesInMegabyte); + + STIF_LOG("16. Check max close app batch."); + STIF_ASSERT_EQUALS(globalConfig.iMaxCloseAppBatch, maxCloseAppBatch); + + STIF_LOG("17. Check default wait after plugin."); + STIF_ASSERT_EQUALS(globalConfig.iDefaultWaitAfterPlugin, KMicrosecondsInMillisecond); + + STIF_LOG("18. Check max app exit time."); + STIF_ASSERT_EQUALS(globalConfig.iMaxAppExitTime, KMicrosecondsInMillisecond); + + CleanupStack::PopAndDestroy(oomConfig); +} + +/** + * @SYMTestCaseID GAPS-OOM-PLUGINCONFIG-001 + * @SYMTestCaseDesc Test constructor of COomRunPluginConfig + * @SYMTestPriority Medium + * @SYMTestActions 1) Create COomRunPluginConfig object + * 2) Check the values with getter methods + * @SYMTestExpectedResults 1) Create COomRunPluginConfig object + * 2) Check the values with getter methods + * @SYMTestType Unit Test + * @SYMCreationDate 20-07-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-PLUGINCONFIG-001) +{ + TUint testPluginId = 1001; + TOomPluginType testPluginType = EOomAppPlugin; + COomRunPluginConfig* pluginConfig = COomRunPluginConfig::NewL(testPluginId, testPluginType); + CleanupStack::PushL(pluginConfig); + + // Verify the object is created successfully + STIF_ASSERT_NOT_NULL(pluginConfig); + STIF_LOG("COomRunPluginConfig created successfully"); + + // Verify member variable value + STIF_ASSERT_EQUALS(pluginConfig->Id(), testPluginId); + STIF_ASSERT_EQUALS(pluginConfig->PluginType(), testPluginType); + STIF_ASSERT_TRUE(pluginConfig->CallIfTargetAppNotRunning()); + STIF_LOG("Member variables set in COomRunPluginConfig constuctor has been verified"); + + CleanupStack::PopAndDestroy(pluginConfig); +} + +/** + * @SYMTestCaseID GAPS-OOM-PLUGINCONFIG-002 + * @SYMTestCaseDesc Test setters and getters of COomRunPluginConfig + * @SYMTestPriority Medium + * @SYMTestActions 1) Create COomRunPluginConfig object + * 2) Check the values with getter methods + * 3) Call getter/setter methods + * @SYMTestExpectedResults 1) Create COomRunPluginConfig object + * 2) Check the values with getter methods + * 3) Getter is getting same value as its paried setter + * @SYMTestType Unit Test + * @SYMCreationDate 20-07-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-PLUGINCONFIG-002) +{ + TUint testPluginId = 1001; + TOomPluginType testPluginType = EOomAppPlugin; + COomRunPluginConfig* pluginConfig = COomRunPluginConfig::NewL(testPluginId, testPluginType); + CleanupStack::PushL(pluginConfig); + + // Verify the object is created successfully + STIF_ASSERT_NOT_NULL(pluginConfig); + STIF_LOG("COomRunPluginConfig created successfully"); + + // Verify member variable value + STIF_ASSERT_EQUALS(pluginConfig->Id(), testPluginId); + STIF_ASSERT_EQUALS(pluginConfig->PluginType(), testPluginType); + STIF_ASSERT_TRUE(pluginConfig->CallIfTargetAppNotRunning()); + STIF_LOG("Member variables set in COomRunPluginConfig constuctor has been verified"); + + pluginConfig->SetCallIfTargetAppNotRunning(EFalse); + STIF_ASSERT_FALSE(pluginConfig->CallIfTargetAppNotRunning()); + STIF_LOG("CallIfTargetAppNotRunning setter/getter has been verified"); + + TInt testTimeToWait = 1002; + pluginConfig->SetWaitAfterPlugin(testTimeToWait); + STIF_ASSERT_TRUE(pluginConfig->WaitAfterPluginDefined()); + STIF_ASSERT_EQUALS(pluginConfig->WaitAfterPlugin(), testTimeToWait); + STIF_LOG("WaitAfterPlugin setter/getter has been verified"); + + TUint testTargetApp = 1003; + pluginConfig->SetTargetApp(testTargetApp); + STIF_ASSERT_EQUALS(pluginConfig->TargetApp(), testTargetApp); + STIF_LOG("TargetApp setter/getter has been verified"); + + CleanupStack::PopAndDestroy(pluginConfig); +} + +/** + * @SYMTestCaseID GAPS-OOM-PLUGINCONFIG-003 + * @SYMTestCaseDesc Test COomRunPluginConfig::CalculatePluginPriority + * @SYMTestPriority Medium + * @SYMTestActions 1) Create COomRunPluginConfig object + * 2) Create a COomWindowGroupList object + * 3) Call COomRunPluginConfig::CalculatePluginPriority() using the COomWindowGroupList + * created in step 2 as parameter + * @SYMTestExpectedResults 1) Create COomRunPluginConfig object + * 2) COomWindowGroupList object created + * 3) The returned priority is correct + * @SYMTestType Unit Test + * @SYMCreationDate 20-07-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-PLUGINCONFIG-003) +{ + TUint testPluginId = 1001; + TOomPluginType testPluginType = EOomAppPlugin; + COomRunPluginConfig* pluginConfig = COomRunPluginConfig::NewL(testPluginId, testPluginType); + CleanupStack::PushL(pluginConfig); + + RWsSession ws; + STIF_ASSERT_EQUALS(ws.Connect(), KErrNone); + CleanupClosePushL(ws); + COomWindowGroupList* wgList = COomWindowGroupList::NewL(ws); + CleanupStack::PushL(wgList); + + // Verify the object is created successfully + STIF_ASSERT_NOT_NULL(pluginConfig); + STIF_LOG("COomRunPluginConfig created successfully"); + STIF_ASSERT_NOT_NULL(wgList); + STIF_LOG("COomWindowGroupList created successfully"); + + // Verify calculate plugin priority + TUint priority = pluginConfig->CalculatePluginPriority(*wgList); + TUint expectedPriority = 0; + STIF_ASSERT_EQUALS(priority, expectedPriority); + STIF_LOG("calculate priority has been verified"); + + CleanupStack::PopAndDestroy(3); +} + +/** + * @SYMTestCaseID GAPS-OOM-PANIC-001 + * @SYMTestCaseDesc Test OomMonitorPanic + * @SYMTestPriority Medium + * @SYMTestActions 1) Panic with OomMonitorPanic + * @SYMTestExpectedResults 1) The client panic with specified panic code + * @SYMTestType Unit Test + * @SYMCreationDate 20-07-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-PANIC-001) +{ + TOomMonitorPanic panicReason = KRuleConfiguredBeforeApplication; + TestModuleIf().SetExitReason(CTestModuleIf::EPanic, (TInt)panicReason); + + OomMonitorPanic(panicReason); +} + +/** + * @SYMTestCaseID GAPS-OOM-PANIC-002 + * @SYMTestCaseDesc Test OomConfigParserPanic + * @SYMTestPriority Medium + * @SYMTestActions 1) Panic with OomConfigParserPanic + * @SYMTestExpectedResults 1) The client panic with specified panic code + * @SYMTestType Unit Test + * @SYMCreationDate 20-07-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-PANIC-002) +{ + TInt panicReason = 2; + TestModuleIf().SetExitReason(CTestModuleIf::EPanic, panicReason); + + OomConfigParserPanic(panicReason); +} + +/** + * @SYMTestCaseID GAPS-OOM-SUBSCRIBE-001 + * @SYMTestCaseDesc Property issued when subscribed + * @SYMTestPriority Medium + * @SYMTestActions 1) Define and attach to an RProperty + * 2) Create a CSubscribeHelper object, subscribe to the property create in step 1 + * and specify a callback function + * 3) Set the value of the property created in step 1 + * @SYMTestExpectedResults 1) RProperty created and attached to + * 2) Object created successfully + * 3) The callback function is called + * @SYMTestType Unit Test + * @SYMCreationDate 20-07-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-SUBSCRIBE-001) +{ + TInt KDefaultWaitTimeInMicroSeconds = 5000000; + isSubscribeCallbackCalled = EFalse; + _LIT_SECURITY_POLICY_PASS(KAllowAllPolicy); + + // Create Callback + TCallBack testCallback(&SubsribeCallbackStub); + // Create properties used in test + const TUid KOomSubscribeTestProperty = { 0x10000000 }; + const TUint32 KOomSubscribeTestKey = 0x00000001; + RProperty testSubscribeProperty; + RProperty testSetProperty; + TInt error; + error = RProperty::Define(KOomSubscribeTestProperty, KOomSubscribeTestKey, RProperty::EInt, + KAllowAllPolicy, KAllowAllPolicy); + STIF_ASSERT_EQUALS(error, KErrNone); + error = testSubscribeProperty.Attach(KOomSubscribeTestProperty, KOomSubscribeTestKey, EOwnerThread); + STIF_ASSERT_EQUALS(error, KErrNone); + CleanupClosePushL(testSubscribeProperty); + error = testSetProperty.Attach(KOomSubscribeTestProperty, KOomSubscribeTestKey, EOwnerThread); + STIF_ASSERT_EQUALS(error, KErrNone); + CleanupClosePushL(testSetProperty); + STIF_LOG("Properties created successfully"); + + // Create subscribe helper + CSubscribeHelper* subscribeHelper = new (ELeave) CSubscribeHelper(testCallback, testSubscribeProperty); + CleanupStack::PushL(subscribeHelper); + // Verify the object is created successfully + STIF_ASSERT_NOT_NULL(subscribeHelper); + STIF_LOG("CSubscribeHelper created successfully"); + + CUt_OomTestTimer* subscribeTimer = CUt_OomTestTimer::NewL(); + CleanupStack::PushL(subscribeTimer); + // Verify the object is created successfully + STIF_ASSERT_NOT_NULL(subscribeTimer); + STIF_LOG("CUt_OomTestTimer created successfully"); + + // start timer and subscribe to helper + subscribeTimer->After(TTimeIntervalMicroSeconds32(KDefaultWaitTimeInMicroSeconds)); + subscribeHelper->Subscribe(); + // Set a property, and wait for timer or callback stop active scheduler + error = testSetProperty.Set(1); + CActiveScheduler::Start(); + + // Verify the values are set in subscriber correctly + STIF_ASSERT_FALSE(subscribeTimer->iIsTimerElapsed); + STIF_ASSERT_TRUE(isSubscribeCallbackCalled); + STIF_LOG("Property set when subscribed has been verified"); + + // reset isSubscribeCallbackCalled to EFalse; + isSubscribeCallbackCalled = EFalse; + // Stop timer + subscribeTimer->Cancel(); + + // start timer and unsubscribe to helper + subscribeTimer->After(TTimeIntervalMicroSeconds32(KDefaultWaitTimeInMicroSeconds)); + subscribeHelper->StopSubscribe(); + // Set a property, and wait for timer or callback stop active scheduler + testSetProperty.Set(2); + CActiveScheduler::Start(); + + // Verify the values are set in subscriber correctly + STIF_ASSERT_TRUE(subscribeTimer->iIsTimerElapsed); + STIF_ASSERT_FALSE(isSubscribeCallbackCalled); + STIF_LOG("Property set when unsubscribed has been verified"); + + CleanupStack::PopAndDestroy(4); + error = RProperty::Delete(KOomSubscribeTestProperty, KOomSubscribeTestKey); + STIF_ASSERT_EQUALS(error, KErrNone); +} +#endif +/** + * END OF TEST CASES SECTION + */ + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom/src/ut_oomtesttimer.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom/src/ut_oomtesttimer.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,56 @@ +/* +* Copyright (c) 2010 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: This file contains stub for testing CSubscribeHelper +* +*/ + +#include "ut_oomtesttimer.h" + +CUt_OomTestTimer* CUt_OomTestTimer::NewL() + { + CUt_OomTestTimer* self = new( ELeave ) CUt_OomTestTimer(); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop(); + return self; + } + +CUt_OomTestTimer::~CUt_OomTestTimer() + { + + } + +CUt_OomTestTimer::CUt_OomTestTimer() + : CTimer(CActive::EPriorityStandard), iIsTimerElapsed(EFalse) + { + } + +void CUt_OomTestTimer::ConstructL() + { + CTimer::ConstructL(); + CActiveScheduler::Add(this); + } + + +void CUt_OomTestTimer::RunL() + { + iIsTimerElapsed = ETrue; + CActiveScheduler::Stop(); + } + +void CUt_OomTestTimer::DoCancel() + { + CTimer::DoCancel(); + } + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom/ut_oomplugin/data/ut_oomplugin.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom/ut_oomplugin/data/ut_oomplugin.rss Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,52 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Symbian Foundation License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +#include +#include +#include "ut_oom.h" + +RESOURCE REGISTRY_INFO theInfo +{ + dll_uid = 0x2003397f; + interfaces = + { + INTERFACE_INFO + { + interface_uid = KOomPluginInterfaceUidValue; + implementations = + { + IMPLEMENTATION_INFO + { + implementation_uid = 0x2003397f; + version_no = 1; + display_name = "ut_oomplugin 1"; + default_data = ""; + opaque_data = ""; + }, + IMPLEMENTATION_INFO + { + implementation_uid = 0x20033980; + version_no = 1; + display_name = "ut_oomplugin 2"; + default_data = ""; + opaque_data = ""; + } + }; + } + }; +} diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom/ut_oomplugin/group/ut_oomplugin.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom/ut_oomplugin/group/ut_oomplugin.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,52 @@ +/* +* Copyright (c) 20010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Symbian Foundation License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +#include +#include + +TARGET ut_oomplugin.dll +TARGETTYPE PLUGIN +UID 0x10009d8d 0x2003397f + +CAPABILITY CAP_ECOM_PLUGIN +VENDORID VID_DEFAULT + + + +// This is a SYSTEMINCLUDE macro containing the middleware +// layer specific include directories +MW_LAYER_SYSTEMINCLUDE + +SYSTEMINCLUDE /epoc32/include/ecom +USERINCLUDE ../inc +USERINCLUDE ../../inc +USERINCLUDE ../../../../inc + +SOURCEPATH ../data +START RESOURCE ut_oomplugin.rss +TARGET ut_oomplugin.rsc +END + +SOURCEPATH ../src +SOURCE ut_oomplugin.cpp + +LIBRARY ecom.lib +LIBRARY euser.lib +LIBRARY ut_oom.lib + +SMPSAFE diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom/ut_oomplugin/inc/ut_oomplugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom/ut_oomplugin/inc/ut_oomplugin.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,43 @@ +/* +* Copyright (c) 2010 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 UT_OOMPLUGIN_H +#define UT_OOMPLUGIN_H +#include +#include +#include +#include "mock_oomactionlist.h" + +class CUtOomMonitorPlugin : public COomMonitorPlugin + { +public: + CUtOomMonitorPlugin(); + ~CUtOomMonitorPlugin(); + void ConstructL(); + +public: + void FreeRam(); + void MemoryGood(); + +private: + void ExtensionInterface(TUid aInterfaceId, TAny*& aImplementaion); + }; + +#endif //UT_OOMPLUGIN_H diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom/ut_oomplugin/src/ut_oomplugin.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom/ut_oomplugin/src/ut_oomplugin.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,97 @@ +/* + * Copyright (c) 2010 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: + * + */ +#include +#include "ut_oomplugin.h" + +const TUid KMyAppUid = { 0x20033981 }; // a nonsense UID for testing + +CUtOomMonitorPlugin::CUtOomMonitorPlugin() + { + RDebug::Print(_L("CUtOomMonitorPlugin::COomMonitorTestPlugin")); + } + +CUtOomMonitorPlugin::~CUtOomMonitorPlugin() + { + RDebug::Print(_L("CUtOomMonitorPlugin::~COomMonitorTestPlugin")); + } + +void CUtOomMonitorPlugin::ConstructL() + { + COomMonitorPlugin::ConstructL(); + RDebug::Print(_L("CUtOomMonitorPlugin::ConstructL")); + } +void CUtOomMonitorPlugin::FreeRam() + { + RDebug::Print(_L("CUtOomMonitorPlugin::FreeRam")); + } + +void CUtOomMonitorPlugin::MemoryGood() + { + TInt err; + TAny * pointer = NULL; + RDebug::Print(_L("CUtOomMonitorPlugin::MemoryGood")); + ExtensionInterface(KMyAppUid,pointer); + COomMonitorPlugin::FsSession(); + RProperty oomProperty; + err = oomProperty.Attach(KUtOomWatcherTestProperty, KUtOomPluginWatcherTestKey, EOwnerThread); + if(!err) + { + oomProperty.Set(KUtOomPluginMemGood); + } + oomProperty.Close(); + } + +void CUtOomMonitorPlugin::ExtensionInterface(TUid aInterfaceId, + TAny*& aImplementaion) + { + RDebug::Print(_L("CUtOomMonitorPlugin::ExtensionInterface(%08x, %08x)"), + aInterfaceId.iUid, aImplementaion); + COomMonitorPlugin::ExtensionInterface(aInterfaceId, aImplementaion); + } + +TAny* CreateFullPluginL() + { + CUtOomMonitorPlugin* plugin = new (ELeave) CUtOomMonitorPlugin; + CleanupStack::PushL(plugin); + plugin->ConstructL(); + CleanupStack::Pop(plugin); + plugin->FreeRam(); + plugin->MemoryGood(); + return plugin; + } + +TAny* CreateAppPluginL() + { + return CAppOomMonitorPlugin::NewL(KMyAppUid); + } + +// +// The ECom registration code +// + +const TImplementationProxy ImplementationTable[] = + { + {{0x2003397f}, ::CreateFullPluginL}, + {{0x20033980}, ::CreateAppPluginL} + }; + +EXPORT_C const TImplementationProxy* ImplementationGroupProxy( + TInt& aTableCount) + { + aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy); + return ImplementationTable; + } diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom/ut_oomplugin2/data/ut_oomplugin2.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom/ut_oomplugin2/data/ut_oomplugin2.rss Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,52 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Symbian Foundation License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +#include +#include +#include "ut_oom.h" + +RESOURCE REGISTRY_INFO theInfo + { + dll_uid = 0x20033983; + interfaces = + { + INTERFACE_INFO + { + interface_uid = KOomPluginInterfaceV2UidValue; + implementations = + { + IMPLEMENTATION_INFO + { + implementation_uid = 0x20033982; + version_no = 1; + display_name = "ut_oomplugin2 1"; + default_data = ""; + opaque_data = ""; + }, + IMPLEMENTATION_INFO + { + implementation_uid = 0x20033983; + version_no = 1; + display_name = "ut_oomplugin2 2"; + default_data = ""; + opaque_data = ""; + } + }; + } + }; + } diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom/ut_oomplugin2/group/ut_oomplugin2.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom/ut_oomplugin2/group/ut_oomplugin2.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,50 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Symbian Foundation License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +#include +#include + +TARGET ut_oomplugin2.dll +TARGETTYPE PLUGIN + +UID 0x10009d8d 0x20033983 +CAPABILITY CAP_ECOM_PLUGIN +VENDORID VID_DEFAULT + +// This is a SYSTEMINCLUDE macro containing the middleware +// layer specific include directories +MW_LAYER_SYSTEMINCLUDE + +SYSTEMINCLUDE /epoc32/include/ecom +USERINCLUDE ../inc +USERINCLUDE ../../inc +USERINCLUDE ../../../../inc + +SOURCEPATH ../data +START RESOURCE ut_oomplugin2.rss +TARGET ut_oomplugin2.rsc +END + +SOURCEPATH ../src +SOURCE ut_oomplugin2.cpp + +LIBRARY ecom.lib +LIBRARY euser.lib +LIBRARY ut_oom.lib + +SMPSAFE diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom/ut_oomplugin2/inc/ut_oomplugin2.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom/ut_oomplugin2/inc/ut_oomplugin2.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,51 @@ +/* +* Copyright (c) 2010 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 UT_OOMPLUGIN2_H +#define UT_OOMPLUGIN2_H + +#include +#include +#include +#include "mock_oomactionlist.h" + + + +class CUtOomMonitorPluginV2 : public COomMonitorPluginV2 + { +public: + static CUtOomMonitorPluginV2* NewL(TInt aInstance); + ~CUtOomMonitorPluginV2(); +private: + CUtOomMonitorPluginV2(TInt aInstance); + void ConstructL(); + //from COomMonitorPlugin + virtual void FreeRam(TInt aBytesRequested); + virtual void MemoryGood(); + +private: + TInt iInstance; + TInt iLowMemoryCallCount; + TInt iGoodMemoryCallCount; + }; + + + +#endif //UT_OOMPLUGIN2_H diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom/ut_oomplugin2/src/ut_oomplugin2.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom/ut_oomplugin2/src/ut_oomplugin2.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,77 @@ +/* + * Copyright (c) 2010 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: + * + */ + +#include "ut_oomplugin2.h" + +#define DECLARE_CREATE_INSTANCEV2(UID) CUtOomMonitorPluginV2* CreateInstance##UID() { return CUtOomMonitorPluginV2::NewL(UID); } +#define IMPLEMENTATION_INSTANCEV2(UID) IMPLEMENTATION_PROXY_ENTRY(UID, CreateInstance##UID) + +//ECOM factory functions +DECLARE_CREATE_INSTANCEV2(0x20033982) +DECLARE_CREATE_INSTANCEV2(0x20033983) + +// Define the private interface UIDs +const TImplementationProxy ImplementationTable[] = + { + IMPLEMENTATION_INSTANCEV2(0x20033982), + IMPLEMENTATION_INSTANCEV2(0x20033983) + }; + +CUtOomMonitorPluginV2* CUtOomMonitorPluginV2::NewL(TInt aInstance) + { + CUtOomMonitorPluginV2* self = new (ELeave) CUtOomMonitorPluginV2( + aInstance); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(self); + return self; + } + +CUtOomMonitorPluginV2::CUtOomMonitorPluginV2(TInt aInstance) : + iInstance(aInstance) + { + + } + +void CUtOomMonitorPluginV2::ConstructL() + { + RDebug::Print(_L("CUtOomMonitorPluginV2::ConstructL")); + FreeRam(0); + MemoryGood(); + } + +CUtOomMonitorPluginV2::~CUtOomMonitorPluginV2() + { + RDebug::Print(_L("CUtOomMonitorPluginV2::~CUtOomMonitorPluginV2")); + } + +void CUtOomMonitorPluginV2::FreeRam(TInt /*aBytesRequested*/) + { + iLowMemoryCallCount++; + COomMonitorPluginV2::FreeRam(); + } + +void CUtOomMonitorPluginV2::MemoryGood() + { + iGoodMemoryCallCount++; + } + +EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount) + { + aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy); + return ImplementationTable; + } diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_closeapp/Bwins/ut_oom_closeappu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_closeapp/Bwins/ut_oom_closeappu.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,13 @@ +EXPORTS + ?LibEntryL@@YAPAVCTestModuleBase@@XZ @ 1 NONAME ; class CTestModuleBase * __cdecl LibEntryL(void) + ?SetRequirements@@YAHAAPAVCTestModuleParam@@AAK@Z @ 2 NONAME ; int __cdecl SetRequirements(class CTestModuleParam * &,unsigned long &) + ??0COomMonitorPlugin@@QAE@XZ @ 3 NONAME ; COomMonitorPlugin::COomMonitorPlugin(void) + ?SetMemoryMonitorTls@@YAXPAVCMemoryMonitor@@@Z @ 4 NONAME ; void SetMemoryMonitorTls(class CMemoryMonitor *) + ?FsSession@COomMonitorPlugin@@QAEAAVRFs@@XZ @ 5 NONAME ; class RFs & COomMonitorPlugin::FsSession(void) + ?ExtensionInterface@COomMonitorPlugin@@MAEXVTUid@@AAPAX@Z @ 6 NONAME ; void COomMonitorPlugin::ExtensionInterface(class TUid, void * &) + ?ConstructL@COomMonitorPlugin@@QAEXXZ @ 7 NONAME ; void COomMonitorPlugin::ConstructL(void) + ??1COomMonitorPlugin@@UAE@XZ @ 8 NONAME ; COomMonitorPlugin::~COomMonitorPlugin(void) + ?FreeRam@COomMonitorPluginV2@@UAEXXZ @ 9 NONAME ; void COomMonitorPluginV2::FreeRam(void) + ?NewL@CAppOomMonitorPlugin@@SAPAV1@VTUid@@@Z @ 10 NONAME ; class CAppOomMonitorPlugin * CAppOomMonitorPlugin::NewL(class TUid) + ?WsSession@COomMonitorPlugin@@QAEAAVRWsSession@@XZ @ 11 NONAME ; class RWsSession & COomMonitorPlugin::WsSession(void) + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_closeapp/eabi/ut_oom_closeappu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_closeapp/eabi/ut_oom_closeappu.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,21 @@ +EXPORTS + _Z9LibEntryLv @ 1 NONAME + _Z15SetRequirementsRP16CTestModuleParamRm @ 2 NONAME + _Z19SetMemoryMonitorTlsP14CMemoryMonitor @ 3 NONAME + _ZN17COomMonitorPlugin10ConstructLEv @ 4 NONAME + _ZN17COomMonitorPlugin18ExtensionInterfaceE4TUidRPv @ 5 NONAME + _ZN17COomMonitorPlugin9FsSessionEv @ 6 NONAME + _ZN17COomMonitorPlugin9WsSessionEv @ 7 NONAME + _ZN17COomMonitorPluginC2Ev @ 8 NONAME + _ZN17COomMonitorPluginD0Ev @ 9 NONAME + _ZN17COomMonitorPluginD1Ev @ 10 NONAME + _ZN17COomMonitorPluginD2Ev @ 11 NONAME + _ZN19COomMonitorPluginV27FreeRamEv @ 12 NONAME + _ZN20CAppOomMonitorPlugin4NewLE4TUid @ 13 NONAME + _ZTI17COomMonitorPlugin @ 14 NONAME + _ZTI19COomMonitorPluginV2 @ 15 NONAME + _ZTV17COomMonitorPlugin @ 16 NONAME + _ZTV19COomMonitorPluginV2 @ 17 NONAME + _ZTI8CMyTimer @ 18 NONAME + _ZTV8CMyTimer @ 19 NONAME + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_closeapp/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_closeapp/group/bld.inf Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,32 @@ +/* +* 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: +* +*/ + +PRJ_PLATFORMS + + DEFAULT + +PRJ_TESTEXPORTS + +PRJ_EXPORTS + +PRJ_TESTMMPFILES + + ut_oom_closeapp.mmp + +PRJ_MMPFILES + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_closeapp/group/ut_oom_closeapp.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_closeapp/group/ut_oom_closeapp.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,79 @@ +/*TYPE STIFUNIT*/ +/* +* Copyright (c) 2010 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: MMP file for STIF Test Framework's STIFUnit test module. +* +*/ + +#include + +//uncomment both of these macros to use the CLIENT_REQUEST_QUEUE +macro CLIENT_REQUEST_QUEUE +#define CLIENT_REQUEST_QUEUE + +SMPSAFE + +TARGET ut_oom_closeapp.dll +TARGETTYPE dll +UID 0x1000008D 0x2002CAD2 + +CAPABILITY ALL -TCB + +DEFFILE ut_oom_closeapp.def + +USERINCLUDE ../inc +USERINCLUDE ../../../inc + +MW_LAYER_SYSTEMINCLUDE +OS_LAYER_SYSTEMINCLUDE + +SOURCEPATH ../src + +SOURCE ut_oom_closeapp.cpp +SOURCE ut_oom_closeappCases.cpp +SOURCE moc_oomactionlist.cpp +SOURCE moc_oommemorymonitor.cpp +SOURCE mytimer.cpp + +SOURCEPATH ../../../src +SOURCE oomcloseapp.cpp +SOURCE oomappclosetimer.cpp +SOURCE oomappclosewatcher.cpp +SOURCE oomactionref.cpp +SOURCE oomconfig.cpp +SOURCE oommonitorplugin.cpp +SOURCE oomaction.cpp +SOURCE oomwindowgrouplist.cpp +SOURCE oomwserveventreceiver.cpp +SOURCE oomglobalconfig.cpp +SOURCE oompanic.cpp +SOURCE oomactionconfig.cpp +SOURCE oomapplicationconfig.cpp + +LIBRARY euser.lib +LIBRARY stiftestinterface.lib + +LIBRARY apparc.lib +LIBRARY eikcore.lib +LIBRARY aknnotify.lib +LIBRARY apgrfx.lib +LIBRARY ws32.lib +LIBRARY bafl.lib +LIBRARY ecom.lib +LIBRARY hal.lib +LIBRARY efsrv.lib +LIBRARY xmlframework.lib +LIBRARY cone.lib + +LANG SC diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_closeapp/group/ut_oom_closeapp.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_closeapp/group/ut_oom_closeapp.pkg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,32 @@ +; +; Copyright (c) 2010 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: +; +; Installation file for STIF +; + +; Languages +&EN + +; Provide value for uid +#{"STIF"},(0x2002CAD2),1,1,0,TYPE=SA + +; Localised Vendor name +%{"Nokia"} + +; Unique Vendor name +:"Nokia" + +; Install files +"\epoc32\release\armv5\udeb\ut_oom_closeapp.dll" - "!:\Sys\Bin\ut_oom_closeapp.dll" diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_closeapp/inc/moc_oomactionlist.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_closeapp/inc/moc_oomactionlist.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,33 @@ +/* +* Copyright (c) 2010 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: Main classes for Out of Memory Monitor. +* +*/ + + +#ifndef MOC_OOMACTIONLIST_H +#define MOC_OOMACTIONLIST_H + +#include "oomactionlist.h" + +NONSHARABLE_CLASS(CMoc_COomActionList) : public CBase, public MOomActionObserver + { +public: + void StateChanged(); + TInt GetState(); +private: + TInt iStateChange; + }; + +#endif /*MOC_OOMACTIONLIST_H*/ diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_closeapp/inc/mytimer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_closeapp/inc/mytimer.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,53 @@ +/* +* Copyright (c) 2010 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: This file contains STIFUnit implementation. +* +*/ + +#ifndef MYTIMER_H_ +#define MYTIMER_H_ + +#include +#include + +enum TStatus + { + EPhase1, //=0 + EPhase2, + EPhase3, + EPhase4, + EPhase5, + }; + +class CMyTimer : public CTimer + { +public: + static CMyTimer* NewLC(CWservEventReceiver*); + static CMyTimer* NewL(CWservEventReceiver*); + virtual ~CMyTimer(); + +protected: + CMyTimer(CWservEventReceiver*); + +private: + void ConstructL(); + virtual void RunL(); + +private: + RProcess iProcess; + enum TStatus currentStatus; + CWservEventReceiver* iWsEventRecv; + }; + +#endif /* MYTIMER_H_ */ diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_closeapp/src/moc_oomactionlist.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_closeapp/src/moc_oomactionlist.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,29 @@ +/* +* Copyright (c) 2010 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: Main classes for Out of Memory Monitor. +* +*/ + + + +#include "moc_oomactionlist.h" + +void CMoc_COomActionList::StateChanged() + { + iStateChange++; + } +TInt CMoc_COomActionList::GetState() + { + return iStateChange; + } diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_closeapp/src/moc_oommemorymonitor.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_closeapp/src/moc_oommemorymonitor.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,185 @@ +/* +* Copyright (c) 2006-2010 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: Main classes for Out of Memory Monitor. +* +*/ + + +#include +#include + +#include + +#include "oommemorymonitor.h" +#include "oomconfig.h" +#include "oommonitorplugin.h" +#include "oomconstants.hrh" + +// ====================================================================== +// class CMemoryMonitor +// ====================================================================== + +// --------------------------------------------------------- +// +// --------------------------------------------------------- +// +CMemoryMonitor* CMemoryMonitor::NewL() + { // static + CMemoryMonitor* self = new(ELeave) CMemoryMonitor(); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(self); + return self; + } + +CMemoryMonitor::CMemoryMonitor() + { + SetMemoryMonitorTls(this); + } + +// --------------------------------------------------------- +// +// --------------------------------------------------------- +// +CMemoryMonitor::~CMemoryMonitor() + { + delete iConfig; + } + +// --------------------------------------------------------- +// +// --------------------------------------------------------- +// +void CMemoryMonitor::ConstructL() + { + iConfig = COomConfig::NewL(); + + iConfig->SetMaxAppExitTime(KMicrosecondsInMillisecond); + } + +const COomGlobalConfig& CMemoryMonitor::GlobalConfig() + { + CMemoryMonitor* globalMemoryMonitor = static_cast(Dll::Tls()); + return globalMemoryMonitor->iConfig->GlobalConfig(); + } + + +// --------------------------------------------------------- +// +// --------------------------------------------------------- +// +void CMemoryMonitor::FreeMemThresholdCrossedL() + { + } + +void CMemoryMonitor::HandleFocusedWgChangeL() + { + TAny* pointer=Dll::Tls(); + TInt* Count=STATIC_CAST(TInt*, pointer); + (*Count)++; + } + +void CMemoryMonitor::StartFreeSomeRamL(TInt /*aFreeRamTarget*/, TInt /*aFreeSwapTarget*/) + { + } + +void CMemoryMonitor::StartFreeSomeRamL(TInt /*aFreeRamTarget*/, TInt /*aFreeSwapTarget*/, TInt /*aMaxPriority*/) // The maximum priority of action to run + { + } + +void CMemoryMonitor::RequestFreeMemoryPandSL(TInt /*aBytesRequested*/) + { + } + +void CMemoryMonitor::RequestFreeMemoryL(TInt /*aBytesRequested*/, TBool /*aDataPaged*/) + { + } + +void CMemoryMonitor::FreeOptionalRamL(TInt /*aBytesRequested*/, TInt /*aPluginId*/, TBool /*aDataPaged*/) // The ID of the plugin that will clear up the allocation, used to determine the priority of the allocation + { + } + +void CMemoryMonitor::GetFreeMemory(TInt& /*aCurrentFreeMemory*/) + { + } + +void CMemoryMonitor::GetFreeSwapSpace(TInt& /*aCurrentFreeSwapSpace*/) + { + } + +#ifndef CLIENT_REQUEST_QUEUE +TInt CMemoryMonitor::WatchdogStatusStatusChanged(TAny* /*aPtr*/) + { + return KErrNone; + } + +// --------------------------------------------------------- +// +// --------------------------------------------------------- +// +void CMemoryMonitor::HandleWatchdogStatusCallBack() + { + } +#endif //CLIENT_REQUEST_QUEUE + +void CMemoryMonitor::AppNotExiting(TInt /*aWgId*/) + { + } + + +void CMemoryMonitor::RefreshThresholds() + { + } + +// SetMemoryMonitorStatusProperty - updates the property value only if it has changed +void CMemoryMonitor::SetMemoryMonitorStatusProperty(const TMemoryMonitorStatusPropertyValues /*aValue*/) + { + } + +void CMemoryMonitor::ResetTargets() + { + } + +void CMemoryMonitor::SetPriorityBusy(TInt /*aWgId*/) + { + } + +void CMemoryMonitor::SetPriorityNormal(TInt /*aWgId*/) + { + } + +void CMemoryMonitor::SetPriorityHigh(TInt /*aWgId*/) + { + } + +TActionTriggerType CMemoryMonitor::ActionTrigger() const + { + return iActionTrigger; + } + +#ifdef CLIENT_REQUEST_QUEUE +TInt CMemoryMonitor::GoodRamThreshold() const + { + return iGoodRamThreshold; + } + +TInt CMemoryMonitor::LowRamThreshold() const + { + return iLowRamThreshold; + } + +void CMemoryMonitor::ActionsCompleted(TInt /*aBytesFree*/, TBool /*aMemoryGood*/) + { + } +#endif //CLIENT_REQUEST_QUEUE diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_closeapp/src/mytimer.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_closeapp/src/mytimer.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,99 @@ +/* +* 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: This file contains STIFUnit implementation. +* +*/ + +#include +#include +#include "mytimer.h" + +_LIT (KExeName, "appfortest.exe"); + +CMyTimer::CMyTimer(CWservEventReceiver* aWsEventRecv):CTimer(EPriorityStandard), + iWsEventRecv(aWsEventRecv) + { + currentStatus=EPhase1; + } + +CMyTimer::~CMyTimer() + { + iProcess.Close(); + } + +CMyTimer* CMyTimer::NewLC(CWservEventReceiver* aWsEventRecv) + { + CMyTimer* self=new(ELeave) CMyTimer(aWsEventRecv); + CleanupStack::PushL(self); + self->ConstructL(); + return self; + } + +CMyTimer* CMyTimer::NewL(CWservEventReceiver* aWsEventRecv) + { + CMyTimer* self=CMyTimer::NewLC(aWsEventRecv); + CleanupStack::Pop(); + return self; + } + +void CMyTimer::ConstructL() + { + CTimer::ConstructL(); + CActiveScheduler::Add(this); + After(5000000); + } + +void CMyTimer::RunL() + { + switch(currentStatus) + { + case EPhase1: + { + User::LeaveIfError(iProcess.Create(KExeName, KNullDesC) ); + iProcess.Resume(); + currentStatus=EPhase2; + After(5000000); + break; + } + case EPhase2: + { + iProcess.Kill(0); + iProcess.Close(); + iWsEventRecv->Cancel(); + currentStatus=EPhase3; + After(5000000); + break; + } + case EPhase3: + { + User::LeaveIfError(iProcess.Create(KExeName, KNullDesC) ); + iProcess.Resume(); + currentStatus=EPhase4; + After(5000000); + break; + } + case EPhase4: + { + iProcess.Kill(0); + iProcess.Close(); + currentStatus=EPhase5; + After(5000000); + break; + } + default: + { + CActiveScheduler::Stop(); + } + } + } diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_closeapp/src/ut_oom_closeapp.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_closeapp/src/ut_oom_closeapp.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,130 @@ +/* +* Copyright (c) 2010 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: This file contains STIFUnit module implementation. +* +*/ + +/******************************************************************************/ +/* + * + * Test module configuration +*/ + +// Version +#define TEST_MODULE_VERSION_MAJOR 0 +#define TEST_MODULE_VERSION_MINOR 0 +#define TEST_MODULE_VERSION_BUILD 0 + +// Uncomment following defines, if you want to provide implementation +// of enlisted virtual methods of test module. +// Implementation part is located at the end of this file. +//#define STIFUNIT_OOMTESTQUERYL +//#define STIFUNIT_OOMTESTINITIALIZEL +//#define STIFUNIT_OOMHANDLEWARNINGL +//#define STIFUNIT_OOMTESTFINALIZEL +// Uncomment following define, if you want to increase heap or stack size. +// #define STIFUNIT_SETHEAPANDSTACKSIZE +/******************************************************************************/ + + +/* + * Test module internals. Please do not edit them. +*/ + +// Includes +#include + +// Literals +_LIT( KUnitLogPath, "\\logs\\testframework\\ut_oom_closeapp\\" ); +_LIT( KUnitLogFile, "ut_oom_closeapp.txt" ); +_LIT( KLogStart, "ut_oom_closeapp logging starts!" ); +_LIT( KExeName, "appfortest.exe" ); +_LIT( KArguments, "" ); +_LIT(KDummyWgName, "20"); + +// Defines +#define STIF_UNIT_TEST_CASES "../src/ut_oom_closeappCases.cpp" +#define STIF_UNIT_MODULE_CLASS_NAME Cut_oom_closeapp +#define STIF_UNIT_MODULE_NAME _L("ut_oom_closeapp.dll") + +// Include STIF unit generic file +#include + +/* + * Implementation of setHeapAndStack virtual methods. + * To changes heap and stack size provide new values to iTestThreadStackSize, iTestThreadMinHeap and iTestThreadMaxHeap. +*/ + +#ifdef STIFUNIT_SETHEAPANDSTACKSIZE +EXPORT_C TInt SetRequirements( CTestModuleParam*& aTestModuleParam, + TUint32& aParameterValid ) + { + aParameterValid = KStifTestModuleParameterChanged; + TRAPD(err, CTestModuleParamVer01* param = CTestModuleParamVer01::NewL()); + if(KErrNone==err) + { + // Stack size + param->iTestThreadStackSize= 16384; // 16K stack + // Heap sizes + param->iTestThreadMinHeap = 4096; // 4K heap min + param->iTestThreadMaxHeap = 1048576;// 1M heap max + } + + return err; + } +#undef STIFUNIT_SETHEAPANDSTACKSIZE +#endif + +/* + * User implementation of OOM virtual methods. + * Providing own implementation requires uncommenting defines at the + * beginnig of this file. +*/ +#ifdef STIFUNIT_OOMTESTQUERYL +TBool Cut_oom_closeapp::OOMTestQueryL( const TFileName& /*aTestCaseFile*/, + const TInt aCaseNumber, + TOOMFailureType& aFailureType, + TInt& aFirstMemFailure, + TInt& aLastMemFailure) + { + } +#undef STIFUNIT_OOMTESTQUERYL +#endif + +#ifdef STIFUNIT_OOMTESTINITIALIZEL +void Cut_oom_closeapp::OOMTestInitializeL( const TFileName& /*aTestCaseFile*/, + const TInt /*aCaseNumber*/ ) + { + } +#undef STIFUNIT_OOMTESTINITIALIZEL +#endif + +#ifdef STIFUNIT_OOMHANDLEWARNINGL +void Cut_oom_closeapp::OOMHandleWarningL( const TFileName& /*aTestCaseFile*/, + const TInt /*aCaseNumber*/, + TInt& /*aFailNextValue*/) + { + } +#undef STIFUNIT_OOMHANDLEWARNINGL +#endif + +#ifdef STIFUNIT_OOMTESTFINALIZEL +void Cut_oom_closeapp::OOMTestFinalizeL( const TFileName& /*aTestCaseFile*/, + const TInt /*aCaseNumber*/ ) + { + } +#undef STIFUNIT_OOMTESTFINALIZEL +#endif + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_closeapp/src/ut_oom_closeappCases.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_closeapp/src/ut_oom_closeappCases.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,551 @@ +/* +* Copyright (c) 2010 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: This file contains STIFUnit implementation. +* +*/ + +/** + * STIF_UNIT_INCLUDE SECTION - put all #includes between STIF_UNIT_INCLUDE_SECTION + * and STIF_UNIT_INCLUDE_SECTION_END + */ +#ifdef STIF_UNIT_INCLUDE_SECTION +#include "oomconstants.hrh" +#include "oomcloseapp.h" +#include "oomappclosetimer.h" +#include "oomappclosewatcher.h" +#include "moc_oomactionlist.h" +#include "oomactionref.h" +#include "oommemorymonitor.h" +#include +#include +#include +#include +#include +#endif //STIF_UNIT_INCLUDE_SECTION_END + +/** + * GLOBAL VARIABLES SECTION + */ +#ifdef TEST_VAR_DECLARATIONS + CActiveScheduler* scheduler; +#endif +/** + * END OF GLOBAL VARIABLES SECTION + */ + + +/** + * TEST CASES SECTION + */ +#ifdef TEST_CASES +/** + * STIF_SETUP defines activities needed before every test case. + */ +STIF_SETUP +{ + // Install active scheduler at start up + scheduler = new (ELeave) CActiveScheduler(); + CleanupStack::PushL(scheduler); + CActiveScheduler::Install(scheduler); +} + +/** + * STIF_TEARDOWN defines activities needed after every test case + */ +STIF_TEARDOWN +{ + // Delete active scheduler at last + CActiveScheduler::Install(NULL); + CleanupStack::PopAndDestroy(scheduler); +} + +/** + * @SYMTestCaseID GAPS-OOM-WINDOWGROUPLIST-001 + * @SYMTestCaseDesc Verify the behaviors of oomwindowgrouplist. + * @SYMTestPriority Medium + * @SYMTestActions 1. Get the list of window group of current system. + * 2. Create appfortest process. + * 3. Get the list of window group of current system. + * 4. Get the wgID of appfortest process. + * 5. Create COomWindowGroupList object. + * 6. Get window group name. + * 7. Get index from app ID. + * 8. Get app ID from index. + * 9. Get Idle time 1 of appfortest. + * 10. Wait 1 second. + * 11. Get Idle time 2 of appfortest. + * 12. Compare Idle times. + * 13. Set appfortest priority busy. + * 14. Check appfortest priority. + * 15. Set appfortest priority high. + * 16. Check appfortest priority. + * 17. Set appfortest priority normal. + * 18. Check appfortest priority. + * @SYMTestExpectedResults 1. Get the window group list of current system successfully. + * 2. Create appfortest process successfully. + * 3. Get the window group list of current system successfully. + * 4. Get the wgID of appfortest process successfully. + * 5. Create COomWindowGroupList object successfully. + * 6. Get window group name successfully. + * 7. Get index from app ID successfully. + * 8. Get app ID from index successfully. + * 9. Get Idle time 1 of appfortest successfully. + * 10. Wait 1 second. + * 11. Get Idle time of appfortest successfully. + * 12. Idle time 2 greater than or equal to idle time 1. + * 13. Set appfortest priority busy successfully. + * 14. Appfortest priority is set to busy. + * 15. Set appfortest priority high successfully. + * 16. Appfortest priority is set to high. + * 17. Set appfortest priority normal successfully. + * 18. Appfortest priority is set to normal. + * @SYMTestType Unit Test + * @SYMCreationDate 20-07-2010 + */ + +STIF_TESTDEFINE(GAPS-OOM-WINDOWGROUPLIST-001) +{ + TInt retrunValue=KErrNone; + + RWsSession wsSession; + CleanupClosePushL(wsSession); + User::LeaveIfError(wsSession.Connect()); + TInt numGroups = wsSession.NumWindowGroups(0); + + //Get the wgID list before appfortest.exe start + RArray wgIds; + wgIds.ReserveL(numGroups); + User::LeaveIfError(wsSession.WindowGroupList(0, &wgIds)); + + //Create appfortest.exe process + RProcess process; + CleanupClosePushL(process); + User::LeaveIfError(process.Create(KExeName, KNullDesC) ); + process.Resume(); + User::After(5000000); // wait process start... + + // Get the app id of appfortest.exe + TSecureId AppSecuID=process.SecureId(); + + // Check wgNumber + TInt numGroups1 = wsSession.NumWindowGroups(0); + // STIF_ASSERT_EQUALS(numGroups+1, numGroups1); + + //Get the wgID list after appfortest.exe started + RArray wgIds1; + wgIds1.ReserveL(numGroups1); + User::LeaveIfError(wsSession.WindowGroupList(0, &wgIds1)); + + // Get teh wgID of appfortest.exe + for(TInt count=0; countLog(_L("Failed to get wgID of appfortest.exe!\n")); + retrunValue = KErrNotFound; + } + + if(KErrNone == retrunValue) + { + // Create wsSession object + COomWindowGroupList* oomWindowGroupList = COomWindowGroupList::NewL(wsSession); + CleanupStack::PushL(oomWindowGroupList); + + // Test WgName + CApaWindowGroupName* wgName=oomWindowGroupList->WgName(); + TPtrC potint=wgName->WindowGroupName(); + if(wgName->WindowGroupName()==KDummyWgName) + { + iLog->Log(_L("Get WgName successfully!\n")); + } + else + { + iLog->Log(_L("Failed to get windowgroup name!\n")); + retrunValue = KErrGeneral; + } + + // Test GetIndexFromAppId and AppID + TInt index=oomWindowGroupList->GetIndexFromAppId(AppSecuID.iId); + + TUint appID=oomWindowGroupList->AppId(index, ETrue); + if(AppSecuID.iId==appID) + { + iLog->Log(_L("Get AppID successfully!\n")); + } + else + { + iLog->Log(_L("Failed to get AppID!\n")); + retrunValue = KErrGeneral; + } + + // Test IdleTime + TTimeIntervalSeconds time1=oomWindowGroupList->IdleTime(index); + User::After(1000000); + TTimeIntervalSeconds time2=oomWindowGroupList->IdleTime(index); + if(time2>=time1) + { + iLog->Log(_L("IdleTime test passed!\n")); + } + else + { + iLog->Log(_L("IdleTime test failed!\n")); + retrunValue = KErrGeneral; + } + + // Test priority + oomWindowGroupList->SetPriorityBusy(wgID); + if(!oomWindowGroupList->IsDynamicHighPriority(index) && oomWindowGroupList->IsBusy(index)) + { + iLog->Log(_L("Test priority passed 1!\n")); + } + else + { + iLog->Log(_L("Test priority failed 1!\n")); + retrunValue = KErrGeneral; + } + + oomWindowGroupList->SetPriorityHigh(wgID); + if(!oomWindowGroupList->IsBusy(index) && oomWindowGroupList->IsDynamicHighPriority(index)) + { + iLog->Log(_L("Test priority passed 2!\n")); + } + else + { + iLog->Log(_L("Test priority failed 2!\n")); + retrunValue = KErrGeneral; + } + + oomWindowGroupList->SetPriorityNormal(wgID); + if(!oomWindowGroupList->IsBusy(index) && !oomWindowGroupList->IsDynamicHighPriority(index)) + { + iLog->Log(_L("Test priority passed 3!\n")); + } + else + { + iLog->Log(_L("Test priority failed 3!\n")); + retrunValue = KErrGeneral; + } + CleanupStack::PopAndDestroy(oomWindowGroupList); + } + + wgIds.Close(); + wgIds1.Close(); + process.Kill(KErrNone); + + User::After(5000000); // waiting to kill process ... + CleanupStack::PopAndDestroy(&process); + CleanupStack::PopAndDestroy(&wsSession); + + STIF_ASSERT_EQUALS(retrunValue, KErrNone); +} + +/** + * @SYMTestCaseID GAPS-OOM-WINDOWGROUPLIST-001 + * @SYMTestCaseDesc Verify the behaviors of oomwserveventreceiver.cpp. + * @SYMTestPriority Medium + * @SYMTestActions 1. Create and install CActiveScheduler object. + * 2. Create RWsSession object. + * 3. Create CWservEventReceiver object and add it into ActiveScheduler. + * 4. Create CMyTimer object. + * 5. Start ActiveScheduler. + * 6. Create appfortest.exe process. + * 7. Close appfortest.exe process. Call the cancel method of CTimer object. + * 8. Create appfortest.exe process. + * 9. Close appfortest.exe process. + * 10. Stop CActiveScheduler. + * @SYMTestExpectedResults 1. Create and install CActiveScheduler object successfully. + * 2. Create RWsSession object successfully. + * 3. Create CWservEventReceiver object and add it into ActiveScheduler successfully. + * 4. Create CMyTimer object successfully. + * 5. Start ActiveScheduler successfully. + * 6. Create appfortest.exe process successfully. WservEventReceiver received focus change event. + * 7. Close appfortest.exe process successfully. cancel method is called. + * 8. Create CMyTimer object successfully. WservEventReceiver will not receive focus change event. + * 9. Close appfortest.exe process successfully. + * 10. Stop CActiveScheduler successfully. + * @SYMTestType Unit Test + * @SYMCreationDate 20-07-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-WSERVEVENTRECEIVER-001) +{ + iLog->Log(_L("Start oomwserveventreceiver.cpp test!\n")); + TInt Count=0; + Dll::SetTls(&Count); + + RWsSession wsSession; + CleanupClosePushL(wsSession); + User::LeaveIfError(wsSession.Connect()); + + CMemoryMonitor* oom=NULL; + CWservEventReceiver* winServEventReceiver = new(ELeave) CWservEventReceiver(*oom, wsSession); + CleanupStack::PushL(winServEventReceiver); + winServEventReceiver->ConstructL(); + + CMyTimer* timer=CMyTimer::NewLC(winServEventReceiver); + iLog->Log(_L("Start CActiveScheduler!\n")); + CActiveScheduler::Start(); + + iLog->Log(_L("CActiveScheduler stopped!\n")); + + CleanupStack::PopAndDestroy(3, &wsSession); + + TInt* pointer=(int*)(Dll::Tls()); + TInt* Count1=STATIC_CAST(TInt*, pointer); + iLog->Log(_L("count=%d\n"),*Count1); + + STIF_ASSERT_EQUALS(*Count1, 2); + iLog->Log(_L("End of oomwserveventreceiver.cpp test!\n")); +} + +/** + * @SYMTestCaseID GAPS-OOM-CLOSEAPP-001 + * @SYMTestCaseDesc Unit test for COomCloseApp, COomAppCloseTimer, and COomAppCloseWatcher. Given process is data caged. + * @SYMTestPriority Medium + * @SYMTestActions 1. Connect window session. + * 2. Get the wgID list before appfortest.exe start. + * 3. Create appfortest.exe process. + * 4. Get the app id of eshell. + * 5. Get the wgID list after appfortest.exe started. + * 6. Get teh wgID of appfortest.exe. + * 7. Construct a COomCloseApp object. + * 8. Reconfigure the reference to an action. + * 9. Close the application in order to free memory. + * 10.Close windows group list + * @SYMTestExpectedResults 1. Windows session connected. + * 2. wgID list was got. + * 3. appfortest was created. + * 4. App id was got. + * 5. wgID list was got again. + * 6. wgID of appfortest.exe was got. + * 7. COomCloseApp object was constructed. + * 8. The reference to an action was reconfigured. + * 9. appfortest was closed. + * 10. Windows group list was closed. + * @SYMTestType Unit Test + * @SYMCreationDate 03-08-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-CLOSEAPP-001) +{ + STIF_LOG("1. Connect window session."); + RWsSession wsSession; + CleanupClosePushL(wsSession); + User::LeaveIfError(wsSession.Connect()); + TInt numGroups = wsSession.NumWindowGroups(0); + + STIF_LOG("2. Get the wgID list before appfortest.exe start."); + RArray wgIds; + CleanupClosePushL(wgIds); + wgIds.ReserveL(numGroups); + User::LeaveIfError(wsSession.WindowGroupList(0, &wgIds)); + + STIF_LOG("3. Create appfortest.exe process."); + RProcess process; + CleanupClosePushL(process); + User::LeaveIfError(process.Create(KExeName, KArguments) ); + process.Resume(); + User::After(5000000); // wait process start... + + STIF_LOG("4. Get the app id of eshell."); + TSecureId AppSecuID=process.SecureId(); + + CleanupStack::PopAndDestroy(&process); + + TInt numGroups1 = wsSession.NumWindowGroups(0); + + STIF_LOG("5. Get the wgID list after appfortest.exe started."); + RArray wgIds1; + CleanupClosePushL(wgIds1); + wgIds1.ReserveL(numGroups1); + User::LeaveIfError(wsSession.WindowGroupList(0, &wgIds1)); + + STIF_LOG("6. Get teh wgID of appfortest.exe."); + for(TInt count=0; countReconfigure(actionRef); + + STIF_LOG("9. Close the application in order to free memory."); + oomCloseApp->FreeMemory(0, ETrue); + + CleanupStack::PopAndDestroy(oomCloseApp); + CleanupStack::PopAndDestroy(oomActList); + CleanupStack::PopAndDestroy(memoryMonitor); + + STIF_LOG("10. Close windows group list."); + + CleanupStack::PopAndDestroy(&wgIds1); + CleanupStack::PopAndDestroy(&wgIds); + + User::After(5000000); // wait resource cleaning... + + CleanupStack::PopAndDestroy(&wsSession); +} + +/** + * @SYMTestCaseID GAPS-OOM-CLOSEAPP-002 + * @SYMTestCaseDesc Unit test for COomCloseApp, COomAppCloseTimer, and COomAppCloseWatcher. Given process is not data caged. + * @SYMTestPriority Medium + * @SYMTestActions 1. Connect window session. + * 2. Get the wgID list before appfortest.exe start. + * 3. Create appfortest.exe process. + * 4. Get the app id of eshell. + * 5. Get the wgID list after appfortest.exe started. + * 6. Get teh wgID of appfortest.exe. + * 7. Construct a COomCloseApp object. + * 8. Reconfigure the reference to an action. + * 9. Close the application in order to free memory. + * 10.Close windows group list + * @SYMTestExpectedResults 1. Windows session connected. + * 2. wgID list was got. + * 3. appfortest was created. + * 4. App id was got. + * 5. wgID list was got again. + * 6. wgID of appfortest.exe was got. + * 7. COomCloseApp object was constructed. + * 8. The reference to an action was reconfigured. + * 9. appfortest was closed. + * 10. Windows group list was closed. + * @SYMTestType Unit Test + * @SYMCreationDate 03-08-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-CLOSEAPP-002) +{ + STIF_LOG("1. Connect window session."); + RWsSession wsSession; + CleanupClosePushL(wsSession); + User::LeaveIfError(wsSession.Connect()); + TInt numGroups = wsSession.NumWindowGroups(0); + + STIF_LOG("2. Get the wgID list before appfortest.exe start."); + RArray wgIds; + CleanupClosePushL(wgIds); + wgIds.ReserveL(numGroups); + User::LeaveIfError(wsSession.WindowGroupList(0, &wgIds)); + + STIF_LOG("3. Create appfortest.exe process."); + RProcess process; + CleanupClosePushL(process); + User::LeaveIfError(process.Create(KExeName, KArguments) ); + process.Resume(); + User::After(5000000); // wait process start... + + STIF_LOG("4. Get the app id of eshell."); + TSecureId AppSecuID=process.SecureId(); + + CleanupStack::PopAndDestroy(&process); + + TInt numGroups1 = wsSession.NumWindowGroups(0); + + STIF_LOG("5. Get the wgID list after appfortest.exe started."); + RArray wgIds1; + CleanupClosePushL(wgIds1); + wgIds1.ReserveL(numGroups1); + User::LeaveIfError(wsSession.WindowGroupList(0, &wgIds1)); + + STIF_LOG("6. Get teh wgID of appfortest.exe."); + for(TInt count=0; countReconfigure(actionRef); + + STIF_LOG("9. Close the application in order to free memory."); + oomCloseApp->FreeMemory(0, EFalse); + + CleanupStack::PopAndDestroy(oomCloseApp); + CleanupStack::PopAndDestroy(oomActList); + CleanupStack::PopAndDestroy(memoryMonitor); + + STIF_LOG("10. Close windows group list."); + + CleanupStack::PopAndDestroy(&wgIds1); + CleanupStack::PopAndDestroy(&wgIds); + + User::After(5000000); // wait resource cleaning... + + CleanupStack::PopAndDestroy(&wsSession); +} + +#endif +/** + * END OF TEST CASES SECTION + */ + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/Bmarm/ut_oom_memorymonitorU.DEF --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/Bmarm/ut_oom_memorymonitorU.DEF Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,4 @@ +EXPORTS + LibEntryL__Fv @ 1 NONAME R3UNUSED ; LibEntryL(void) + SetRequirements__FRP16CTestModuleParamRUl @ 2 NONAME R3UNUSED ; SetRequirements(CTestModuleParam *&, unsigned long &) + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/Bwins/ut_oom_memorymonitoru.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/Bwins/ut_oom_memorymonitoru.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,4 @@ +EXPORTS + ?LibEntryL@@YAPAVCTestModuleBase@@XZ @ 1 NONAME ; class CTestModuleBase * __cdecl LibEntryL(void) + ?SetRequirements@@YAHAAPAVCTestModuleParam@@AAK@Z @ 2 NONAME ; int __cdecl SetRequirements(class CTestModuleParam * &,unsigned long &) + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/data/oomconfig.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/data/oomconfig.xml Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/eabi/ut_oom_memorymonitoru.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/eabi/ut_oom_memorymonitoru.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,23 @@ +EXPORTS + _Z9LibEntryLv @ 1 NONAME + _Z15SetRequirementsRP16CTestModuleParamRm @ 2 NONAME + _Z19SetMemoryMonitorTlsP14CMemoryMonitor @ 3 NONAME + _ZN17COomMonitorPlugin10ConstructLEv @ 4 NONAME + _ZN17COomMonitorPlugin18ExtensionInterfaceE4TUidRPv @ 5 NONAME + _ZN17COomMonitorPlugin9FsSessionEv @ 6 NONAME + _ZN17COomMonitorPlugin9WsSessionEv @ 7 NONAME + _ZN17COomMonitorPluginC2Ev @ 8 NONAME + _ZN17COomMonitorPluginD0Ev @ 9 NONAME + _ZN17COomMonitorPluginD1Ev @ 10 NONAME + _ZN17COomMonitorPluginD2Ev @ 11 NONAME + _ZN19COomMonitorPluginV27FreeRamEv @ 12 NONAME + _ZN20CAppOomMonitorPlugin4NewLE4TUid @ 13 NONAME + _ZTI15COomFriendClass @ 14 NONAME + _ZTI17COomMonitorPlugin @ 15 NONAME + _ZTI19COomMonitorPluginV2 @ 16 NONAME + _ZTI6DicLog @ 17 NONAME + _ZTV15COomFriendClass @ 18 NONAME + _ZTV17COomMonitorPlugin @ 19 NONAME + _ZTV19COomMonitorPluginV2 @ 20 NONAME + _ZTV6DicLog @ 21 NONAME + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/group/bld.inf Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,32 @@ +/* +* Copyright (c) 2010 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: +* +*/ + +PRJ_PLATFORMS + +PRJ_TESTEXPORTS + +PRJ_EXPORTS + +../data/oomconfig.xml /epoc32/winscw/c/testframework/oomconfig.xml + +PRJ_TESTMMPFILES + + ut_oom_memorymonitor.mmp + +PRJ_MMPFILES + + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/group/ut_oom_memorymonitor.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/group/ut_oom_memorymonitor.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,72 @@ +/*TYPE STIFUNIT*/ +/* +* Copyright (c) 2010 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: MMP file for STIF Test Framework's STIFUnit test module. +* +*/ + +#include + +macro CLIENT_REQUEST_QUEUE +#define CLIENT_REQUEST_QUEUE + +macro FCC_UNIT_TEST +#define FCC_UNIT_TEST + +TARGET ut_oom_memorymonitor.dll +TARGETTYPE dll +UID 0x1000008D 0x200338CC + +CAPABILITY ALL -TCB + +DEFFILE ut_oom_memorymonitor.def + +USERINCLUDE ..\inc +USERINCLUDE ..\..\..\inc +OS_LAYER_SYSTEMINCLUDE +MW_LAYER_SYSTEMINCLUDE +OS_LAYER_LIBC_SYSTEMINCLUDE + +SOURCEPATH ..\..\..\src +SOURCE oommemorymonitor.cpp + +SOURCEPATH ..\src +SOURCE ut_oom_memorymonitor.cpp +SOURCE ut_oom_memorymonitorCases.cpp +SOURCE mockoomclientrequestqueue.cpp +SOURCE diclog.cpp +SOURCE mockoomwindowgrouplist.cpp +SOURCE mockoomactionconfig.cpp +SOURCE mockoomactionlist.cpp +SOURCE mockoomconfig.cpp +SOURCE mockoomconfigparser.cpp +SOURCE mockoomglobalconfig.cpp +SOURCE mockoomlog.cpp +SOURCE mockoommemorymonitorserver.cpp +SOURCE mockoomoutofmemorywatcher.cpp +SOURCE mockoomrunpluginconfig.cpp +SOURCE mockoomwserveventreceiver.cpp +SOURCE mockoommemorymonitorsession.cpp +SOURCE mockoommonitorplugin.cpp +SOURCE oomfriendclass.cpp +SOURCE mockoompanic.cpp +SOURCE mockoomforegroundrule.cpp +SOURCE mockoomcloseappconfig.cpp +SOURCE mockoomapplicationconfig.cpp +SOURCE mockoomIdletimerule.cpp + +LIBRARY euser.lib +LIBRARY stiftestinterface.lib ws32.lib apgrfx.lib hal.lib bafl.lib efsrv.lib estor.lib xmlframework.lib + +LANG SC diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/group/ut_oom_memorymonitor.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/group/ut_oom_memorymonitor.pkg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,60 @@ +; +; Copyright (c) 2010 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: +; +; Installation file for STIF +; + +; Languages +&EN + +; Provide value for uid +#{"STIF"},(0x00000000),1,1,0,TYPE=SA + +; Series60 product id for S60 3.0 +[0x101F7961], 0, 0, 0, {"Series60ProductID"} + +; Localised Vendor name +%{"Nokia"} + +; Unique Vendor name +:"Nokia" + +; Logo +; None + +; Package signature - Optional +; None + +; Start of Package body + +; Condition blocks +; None + +; Options list +; None + +; Install files +"\epoc32\release\armv5\udeb\ut_oom_memorymonitor.dll" - "!:\Sys\Bin\ut_oom_memorymonitor.dll" + +; Embedded SIS +; None + +; End of Package body + +; PKG dependencies +; None + +; PKG capabilities +; None diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/inc/diclog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/inc/diclog.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,54 @@ +/* +* Copyright (c) 2010 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: This file contains STIFUnit implementation. +* +*/ + +#ifndef DICLOG_H_ +#define DICLOG_H_ + +#include +#include + +#define DICLOGMAXLENGTH 10; + +class DicLog + { +public: + DicLog(); + virtual ~DicLog(); + static TInt WriteIntLog(const TDesC& aFileName, const TUid aUid, const TInt32 aValue); + static TInt WriteIntLog(const TUid aUid, const TInt32 aValue); + + static TInt WriteLog(const TDesC& aFileName, const TUid aUid, const TDesC& aLog); + static TInt WriteLog(const TUid aUid, const TDesC& aLog); + + static TInt ReadIntLog(const TDesC& aFileName, const TUid aUid, TInt32& aValue); + static TInt ReadIntLog(const TUid aUid, TInt32& aValue); + + static TInt ReadLog(const TDesC& aFileName, const TUid aUid, TDes& aLog); + static TInt ReadLog(const TUid aUid, TDes& aLog); + + static TInt RemoveLogFile(); + static TInt RemoveLogFile(const TDesC& aFileName); + +private: + static void WriteIntLogL(const TDesC& aFileName, const TUid aUid, const TInt32 aValue); + static void WriteLogL(const TDesC& aFileName, const TUid aUid, const TDesC& aLog); + static void ReadIntLogL(const TDesC& aFileName, const TUid aUid, TInt32& aValue); + static void ReadLogL(const TDesC& aFileName, const TUid aUid, TDes& aLog); + static void RemoveLogFileL(const TDesC& aFileName); + }; + +#endif /* DICLOG_H_ */ diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/inc/globaldata.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/inc/globaldata.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,50 @@ +/* +* Copyright (c) 2010 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: This file contains STIFUnit implementation. +* +*/ + +const TInt KIntValue8=8; +const TInt KIntValue7=7; +const TInt KIntValue9=9; +const TInt KIntValue18=18; +const TInt KIntValue60=60; +const TInt KMaxPriority1=889; +const TInt KGoodRamThreshold=200; +const TInt KLowRamThreshold=100; +const TInt KGoodSwapThreshold=400; +const TInt KLowSwapThreshold=300; +const TInt KMSize=1024*1024; + +_LIT(KConfigParserParser, "ParseL()"); // 0x0001 8 +_LIT(KOutOfMemoryWatcherStart, "Start()"); // 0x0002 7 +_LIT(KWingoupListRefresh, "Refresh()"); // 0x0003 9 +//oomwindowgrouplist SetPriorityHigh // 0x0004 int +//oomwindowgrouplist SetPriorityNormal // 0x0005 int +//oomwindowgrouplist SetPriorityBusy // 0x0006 int +_LIT(KActionListSwitchOffPlugins, "SwitchOffPlugins()"); // 0x0007 18 +_LIT(KClientRequestQueue, "ActionsCompleted()"); // 0x0008 18 +//oomoutofmemorywatcher aLowRamThreshold // 0x0009 int +//oomoutofmemorywatcher aGoodRamThreshold // 0x0010 int +//oomoutofmemorywatcher aLowSwapThreshold // 0x0011 int +//oomoutofmemorywatcher aGoodSwapThreshold // 0x0012 int +_LIT(KOomLoggerStartL, "StartL()"); // 0x0013 8 +_LIT(KActionListBuildActionListL, "BuildActionListL()"); // 0x0014 18 +//COomActionList FreeMemory aMaxPriority // 0x0015 int +//COomActionList AppNotExiting aWgId // 0x0016 int + + + + + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/inc/oomfriendclass.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/inc/oomfriendclass.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,67 @@ +/* +* Copyright (c) 2010 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: This file contains STIFUnit implementation. +* +*/ + +#ifndef OOMFRIENDCLASS_H_ +#define OOMFRIENDCLASS_H_ + +#include + +class CMemoryMonitor; +class COomWindowGroupList; +class COomConfig; +class COomClientRequestQueue; +class CMemoryMonitorServer; +class COomActionList; +class COomLogger; +class COutOfMemoryWatcher; +class CWservEventReceiver; + +class COomFriendClass : public CBase + { +public: + static COomFriendClass* NewL(); + static COomFriendClass* NewLC(); + virtual ~COomFriendClass(); + COomWindowGroupList* GetWindowGroupList(CMemoryMonitor* aMemoryMonitor); + COomConfig* GetOomConfig(CMemoryMonitor* aMemoryMonitor); + COomClientRequestQueue* GetClientRequestQueue(CMemoryMonitor* aMemoryMonitor); + CMemoryMonitorServer* GetMemoryMonitorServer(CMemoryMonitor* aMemoryMonitor); + COomActionList* GetOomActionList(CMemoryMonitor* aMemoryMonitor); + COomLogger* GetOomLogger(CMemoryMonitor* aMemoryMonitor); + COutOfMemoryWatcher* GetOutOfMemoryWatcher(CMemoryMonitor* aMemoryMonitor); + CWservEventReceiver* GetEventReceiver(CMemoryMonitor* aMemoryMonitor); + void CallRefreshThresholds(CMemoryMonitor* aMemoryMonitor); + TInt GetGoodRamThreshold(CMemoryMonitor* aMemoryMonitor); + TInt GetLowRamThreshold(CMemoryMonitor* aMemoryMonitor); + TInt GetGoodSwapThreshold(CMemoryMonitor* aMemoryMonitor); + TInt GetLowSwapThreshold(CMemoryMonitor* aMemoryMonitor); + TInt GetCurrentRamTarget(CMemoryMonitor* aMemoryMonitor); + TInt GetCurrentSwapTarget(CMemoryMonitor* aMemoryMonitor); + TInt GetDataPaged(CMemoryMonitor* aMemoryMonitor); + TInt GetActionTrigger(CMemoryMonitor* aMemoryMonitor); + TInt GetLastMemoryMonitorStatusProperty(CMemoryMonitor* aMemoryMonitor); + +private: + COomFriendClass(); + void ConstructL(); + }; + +#endif /* OOMFRIENDCLASS_H_ */ + + + + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/diclog.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/diclog.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,204 @@ +/* +* Copyright (c) 2010 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: This file contains STIFUnit implementation. +* +*/ + +#include +#include + +#include "diclog.h" +#include "globaldata.h" + +_LIT(KDicLogFileName, "c:\\logs\\diclog"); + +DicLog::DicLog() + { + + } + +DicLog::~DicLog() + { + + } + +void DicLog::WriteIntLogL(const TDesC& aFileName, const TUid aUid, const TInt32 aValue) + { + RFs fs; + User::LeaveIfError(fs.Connect()); + CleanupClosePushL(fs); + + TInt err=KErrGeneral; + err = fs.MkDir(aFileName); + if(KErrAlreadyExists == err || KErrNone == err) + { + CDictionaryStore *dicStore = CDictionaryFileStore::OpenLC(fs, aFileName, TUid::Uid(0x0001)); + + RDictionaryWriteStream in; + in.AssignLC(*dicStore,aUid); + in.WriteInt32L(aValue); + in.CommitL(); + dicStore->CommitL(); + + CleanupStack::PopAndDestroy(&in); + CleanupStack::PopAndDestroy(dicStore); + } + else + { + User::Leave(err); + } + + CleanupStack::PopAndDestroy(&fs); + } + +TInt DicLog::WriteIntLog(const TDesC& aFileName, const TUid aUid, const TInt32 aValue) + { + TRAPD(err, DicLog::WriteIntLogL(aFileName, aUid, aValue)); + return err; + } + +TInt DicLog::WriteIntLog(const TUid aUid, const TInt32 aValue) + { + TBuf fileNmae(KDicLogFileName); + return DicLog::WriteIntLog(fileNmae, aUid, aValue); + } + +void DicLog::WriteLogL(const TDesC& aFileName, const TUid aUid, const TDesC& aLog) + { + RFs fs; + User::LeaveIfError(fs.Connect()); + CleanupClosePushL(fs); + + TInt err=KErrGeneral; + err = fs.MkDir(aFileName); + if(KErrAlreadyExists == err || KErrNone == err) + { + CDictionaryStore *dicStore = CDictionaryFileStore::OpenLC(fs, aFileName, TUid::Uid(0x0001)); + + RDictionaryWriteStream in; + in.AssignLC(*dicStore,aUid); + in.WriteL(aLog); + in.CommitL(); + dicStore->CommitL(); + + CleanupStack::PopAndDestroy(&in); + CleanupStack::PopAndDestroy(dicStore); + } + else + { + User::Leave(err); + } + + CleanupStack::PopAndDestroy(&fs); + } + +TInt DicLog::WriteLog(const TDesC& aFileName, const TUid aUid, const TDesC& aLog) + { + TRAPD(err, DicLog::WriteLogL(aFileName, aUid, aLog)); + return err; + } + +TInt DicLog::ReadLog(const TDesC& aFileName, const TUid aUid, TDes& aLog) + { + TInt err=KErrGeneral; + TRAP(err, DicLog::ReadLogL(aFileName, aUid, aLog)); + + return err; + } + +void DicLog::ReadLogL(const TDesC& aFileName, const TUid aUid, TDes& aLog) + { + RFs fs; + User::LeaveIfError(fs.Connect()); + CleanupClosePushL(fs); + + CDictionaryStore *dicStore = CDictionaryFileStore::OpenLC(fs, aFileName, TUid::Uid(0x0001)); + + RDictionaryReadStream out; + out.OpenLC(*dicStore,aUid); + out.ReadL(aLog); + + CleanupStack::PopAndDestroy(&out); + CleanupStack::PopAndDestroy(dicStore); + + CleanupStack::PopAndDestroy(&fs); + } + +TInt DicLog::ReadIntLog(const TUid aUid, TInt32& aValue) + { + TBuf fileNmae(KDicLogFileName); + return DicLog::ReadIntLog(fileNmae, aUid, aValue); + } + +TInt DicLog::ReadIntLog(const TDesC& aFileName, const TUid aUid, TInt32& aValue) + { + TInt err=KErrGeneral; + TRAP(err, DicLog::ReadIntLogL(aFileName, aUid, aValue)); + + return err; + } + +void DicLog::ReadIntLogL(const TDesC& aFileName, const TUid aUid, TInt32& aValue) + { + RFs fs; + User::LeaveIfError(fs.Connect()); + CleanupClosePushL(fs); + + CDictionaryStore *dicStore = CDictionaryFileStore::OpenLC(fs, aFileName, TUid::Uid(0x0001)); + + RDictionaryReadStream out; + out.OpenLC(*dicStore,aUid); + aValue=out.ReadInt32L(); + + CleanupStack::PopAndDestroy(&out); + CleanupStack::PopAndDestroy(dicStore); + + CleanupStack::PopAndDestroy(&fs); + } + +TInt DicLog::WriteLog(const TUid aUid, const TDesC& aLog) + { + TBuf fileNmae(KDicLogFileName); + return DicLog::WriteLog(fileNmae, aUid, aLog); + } + +TInt DicLog::ReadLog(const TUid aUid, TDes& aLog) + { + TBuf fileNmae(KDicLogFileName); + return DicLog::ReadLog(fileNmae, aUid, aLog); + } + +TInt DicLog::RemoveLogFile() + { + TBuf fileNmae(KDicLogFileName); + return RemoveLogFile(fileNmae); + } + +TInt DicLog::RemoveLogFile(const TDesC& aFileName) + { + TInt err=KErrGeneral; + TRAP(err, DicLog::RemoveLogFileL(aFileName)); + + return err; + } + +void DicLog::RemoveLogFileL(const TDesC& aFileName) + { + RFs fs; + User::LeaveIfError(fs.Connect()); + CleanupClosePushL(fs); + + User::LeaveIfError(fs.Delete(aFileName)); + CleanupStack::PopAndDestroy(&fs); + } diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoomIdletimerule.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoomIdletimerule.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,51 @@ +/* +* Copyright (c) 2010 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: Configuration representation classes for Out of Memory Monitor. +* +*/ + +#include "oomidletimerule.h" +#include "oomwindowgrouplist.h" +#include "OomTraces.h" + +COomIdleTimeRule* COomIdleTimeRule::NewL(TTimeIntervalSeconds aIdleTime, TInt aPriority) + { + FUNC_LOG; + + COomIdleTimeRule* self = new (ELeave) COomIdleTimeRule(aIdleTime, aPriority); + return self; + } + +TBool COomIdleTimeRule::RuleIsApplicable(const COomWindowGroupList& aWindowGroupList, TInt aAppIndexInWindowGroup) const + { + FUNC_LOG; + + TBool applicable = EFalse; + if (aAppIndexInWindowGroup >= 0) + { + applicable = (aWindowGroupList.IdleTime(aAppIndexInWindowGroup) >= iIdleTime); + } + return applicable; + } + +COomIdleTimeRule::~COomIdleTimeRule() + { + FUNC_LOG; + } + +COomIdleTimeRule::COomIdleTimeRule(TTimeIntervalSeconds aIdleTime, TInt aPriority) : iIdleTime(aIdleTime), iPriority(aPriority) + { + FUNC_LOG; + } + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoomactionconfig.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoomactionconfig.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,47 @@ +/* +* Copyright (c) 2010 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: Configuration representation classes for Out of Memory Monitor. +* +*/ + +#include "oomactionconfig.h" +#include "oomruleconfig.h" +#include "OomTraces.h" + +void COomActionConfig::AddRuleL(MOomRuleConfig* aRule) // Add the configuration for a rule (e.g. an idle time rule) + { + + } + +COomActionConfig::~COomActionConfig() + { + + } + +TUint COomActionConfig::Priority(const COomWindowGroupList& aWindowGroupList, TInt aAppIndexInWindowGroup) const + { + return 0; + } + +void COomActionConfig::ConstructL() + { + + } + +COomActionConfig::COomActionConfig(TInt32 aId) : iId(aId) + { + + } + + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoomactionlist.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoomactionlist.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,145 @@ +/* +* Copyright (c) 2010 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: Classes for executing OOM actions (e.g. closing applications and running plugins). +* +*/ + +#include +#include +#include + +#include "oommonitorplugin.h" +#include "oommonitorplugin.hrh" +#include "oomactionlist.h" +#include "oomwindowgrouplist.h" +#include "oompanic.h" +#include "OomTraces.h" +#include "oomconstants.hrh" +#include "oommemorymonitor.h" +#include "oommemorymonitorserver.h" +#include "oomrunplugin.h" +#include "oomcloseapp.h" +#include "oomconfig.h" +#include "oomactionref.h" +#include "oomapplicationconfig.h" +#include "oomcloseappconfig.h" +#include "oomrunpluginconfig.h" + +#include "globaldata.h" +#include "diclog.h" + +template +COomPluginList::COomPluginList() + { + + } + +template +COomPluginList::~COomPluginList() + { + + } + +template +void COomPluginList::ConstructL(TInt aInterfaceUid) + { + + } + +template +COomPluginList::TPlugin::TPlugin() +: iImpl(0) + { + + } + +template +COomPluginList* COomPluginList::NewL(TInt aInterfaceUid) + { + FUNC_LOG; + + COomPluginList* self = new (ELeave) COomPluginList(); + CleanupStack::PushL(self); + self->ConstructL(aInterfaceUid); + CleanupStack::Pop(self); + return self; + } + +COomActionList* COomActionList::NewL(CMemoryMonitor& aMonitor, CMemoryMonitorServer& aServer, RWsSession& aWs, COomConfig& aConfig) + { + FUNC_LOG; + + COomActionList* self = new (ELeave) COomActionList(aMonitor, aServer, aWs); + CleanupStack::PushL(self); + self->ConstructL(aConfig); + CleanupStack::Pop(self); + return self; + } + +COomActionList::~COomActionList() + { + + } + +void COomActionList::BuildActionListL(COomWindowGroupList& aWindowGroupList, COomConfig& aConfig) + { + TBuf buf(KActionListBuildActionListL); + DicLog::WriteLog(TUid::Uid(0x0014), buf); + } + +template +void COomActionList::BuildPluginActionsL(COomPluginList& aPluginList, COomWindowGroupList& aWindowGroupList, COomConfig& aConfig, TInt& aActionsIndex) + { + + } + + +// Execute the OOM actions according to their priority +// Run batches of OOM actions according to their sync mode +void COomActionList::FreeMemory(TInt aMaxPriority) + { + DicLog::WriteIntLog(TUid::Uid(0x0015),aMaxPriority); + } + +void COomActionList::SwitchOffPlugins() + { + TBuf buf(KActionListSwitchOffPlugins); + DicLog::WriteLog(TUid::Uid(0x0007), buf); + } + +TInt COomActionList::ComparePriorities(const TActionRef& aPos1, const TActionRef& aPos2 ) + { + return 0; + } + +void COomActionList::AppNotExiting(TInt aWgId) + { + DicLog::WriteIntLog(TUid::Uid(0x0016),aWgId); + } + +void COomActionList::StateChanged() + { + + } + +COomActionList::COomActionList(CMemoryMonitor& aMonitor, CMemoryMonitorServer& aServer, RWsSession& aWs) + : iWs(aWs), iMonitor(aMonitor), iServer(aServer) + { + + } + +void COomActionList::ConstructL(COomConfig& aConfig) + { + + } diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoomapplicationconfig.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoomapplicationconfig.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,63 @@ +/* +* Copyright (c) 2010 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: Configuration representation classes for Out of Memory Monitor. +* +*/ + +#include "oomapplicationconfig.h" +#include "oomconstants.hrh" +#include "oomcloseappconfig.h" +#include "OomTraces.h" + +COomApplicationConfig* COomApplicationConfig::NewL(TUint aApplicationId) + { + FUNC_LOG; + + COomApplicationConfig* self = new (ELeave) COomApplicationConfig(aApplicationId); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(self); + return self; + } + +void COomApplicationConfig::AddRuleL(MOomRuleConfig* aRule) + { + FUNC_LOG; + + __ASSERT_ALWAYS(iCloseAppConfig, OomMonitorPanic(KRuleConfiguredBeforeApplication)); + + iCloseAppConfig->AddRuleL(aRule); + } + +COomApplicationConfig::~COomApplicationConfig() + { + FUNC_LOG; + + delete iCloseAppConfig; + } + +void COomApplicationConfig::ConstructL() + { + FUNC_LOG; + + iGoodRamThreshold = KOomThresholdUnset; + iLowRamThreshold = KOomThresholdUnset; + iGoodSwapThreshold = KOomThresholdUnset; + iLowSwapThreshold = KOomThresholdUnset; + } + +COomApplicationConfig::COomApplicationConfig(TUint aApplicationId) : iApplicationId(aApplicationId) + { + FUNC_LOG; + } diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoomclientrequestqueue.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoomclientrequestqueue.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,137 @@ +/* +* Copyright (c) 2010 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: COomClientRequestQueue.cpp. +* +*/ + +#include "oomclientrequestqueue.h" +#include "OomTraces.h" +#include "oomsubscribehelper.h" +#include "oompanic.h" +#include "oommemorymonitor.h" +#include + +#include "globaldata.h" +#include "diclog.h" + +COomClientRequestQueue::COomClientRequestQueue(CMemoryMonitor& aMonitor) + :iQueue(_FOFF(TClientRequest,iLink)), + iMonitor(aMonitor) + { + + } + +COomClientRequestQueue::~COomClientRequestQueue() + { + + } + +COomClientRequestQueue* COomClientRequestQueue::NewL(CMemoryMonitor& aMonitor) + { + COomClientRequestQueue* self = new (ELeave) COomClientRequestQueue(aMonitor); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(self); + return self; + } + +void COomClientRequestQueue::ConstructL() + { + + } + +void COomClientRequestQueue::RequestFreeMemoryL(const RMessage2& aMessage) + { + + } + +void COomClientRequestQueue::RequestOptionalRamL(const RMessage2& aMessage) + { + + } + +TInt COomClientRequestQueue::WatchdogStatusStatusChanged(TAny* aPtr) + { + return KErrNone; + } + +void COomClientRequestQueue::HandleWatchdogStatusCallBack() + { + + } + +void COomClientRequestQueue::AddClientRequestL(TClientRequest& request) + { + + } + +void COomClientRequestQueue::StartClientRequestL() + { + + } + +CMemoryMonitor& COomClientRequestQueue::Monitor() + { + return iMonitor; + } + +TClientRequest::TClientRequest(TActionTriggerType aClientRequestType, TInt aBytesRequested) + : iClientRequestType(aClientRequestType), iBytesRequested(aBytesRequested) + { + + } + +TClientRequest::TClientRequest(TActionTriggerType aClientRequestType, const RMessage2& aRequestFreeRam) + : iClientRequestType(aClientRequestType), iRequestFreeRamMessage(aRequestFreeRam) + { + + } + +void COomClientRequestQueue::ActionsCompleted(TInt aBytesFree, TBool aMemoryGood) + { + TBuf buf(KClientRequestQueue); + DicLog::WriteLog(TUid::Uid(0x0008), buf); + } + +void COomClientRequestQueue::RequestTimerCallbackL() + { + + } + +COomClientRequestTimer* COomClientRequestTimer::NewL(COomClientRequestQueue& aQueue) + { + COomClientRequestTimer* self = new (ELeave) COomClientRequestTimer(aQueue); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(self); + return self; + } + +COomClientRequestTimer::COomClientRequestTimer(COomClientRequestQueue& aQueue) +: CTimer(CActive::EPriorityStandard), iClientRequestQueue(aQueue) + { + + } + + +void COomClientRequestTimer::RunL() + { + + } + + + + + + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoomcloseappconfig.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoomcloseappconfig.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,42 @@ +/* +* Copyright (c) 2010 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: Configuration representation classes for Out of Memory Monitor. +* +*/ + + + +#include "oomcloseappconfig.h" +#include "OomTraces.h" + +COomCloseAppConfig* COomCloseAppConfig::NewL(TInt32 aId) + { + FUNC_LOG; + + COomCloseAppConfig* self = new (ELeave) COomCloseAppConfig(aId); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(self); + return self; + } + +COomCloseAppConfig::~COomCloseAppConfig() + { + FUNC_LOG; + } + +COomCloseAppConfig::COomCloseAppConfig(TInt32 aId) : COomActionConfig(aId) + { + FUNC_LOG; + } diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoomconfig.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoomconfig.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,201 @@ +/* +* Copyright (c) 2010 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: Configuration representation classes for Out of Memory Monitor. +* +*/ + + +#include +#include // RDebug + +#include "oomconfig.h" +#include "oomconstants.hrh" +#include "oomapplicationconfig.h" +#include "oomrunpluginconfig.h" +#include "oomcloseappconfig.h" +#include "OomTraces.h" + + +COomConfig* COomConfig::NewL() + { + FUNC_LOG; + + COomConfig* self = new (ELeave) COomConfig; + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(self); + return self; + } + + +// Add the configuration for an application closure. +// This class takes ownership of this action. +void COomConfig::SetAppCloseConfigL(COomCloseAppConfig* aActionConfig) + { + FUNC_LOG; + + // Find the right application config (if there is one) for the app + // The map actually contains pointers for values, so we get pointers to pointers here... + COomApplicationConfig** applicationConfigPointer = iApplicationToConfigMapping.Find(aActionConfig->iId); + + // Used to de-reference the pointer-to-pointer, hopefully making the code more readable + COomApplicationConfig* applicationConfig = NULL; + + // Create a new COomApplicationConfig if there isn't one for this app + if (!applicationConfigPointer) + { + applicationConfig = COomApplicationConfig::NewL(aActionConfig->iId); + iApplicationToConfigMapping.InsertL(aActionConfig->iId, applicationConfig); + } + else + { + applicationConfig = *applicationConfigPointer; + } + + // Append the action config to the appropriate list (the list for the relevant application) + applicationConfig->SetAppCloseConfig(aActionConfig); + } + +// Add the configuration for a plugin action. +// This class takes ownership of the configuration object. +void COomConfig::AddPluginConfigL(COomRunPluginConfig* aPluginConfig) + { + FUNC_LOG; + + // Check if the plugin has already been added, if so then this is an error in configuration (something is trying to add the same plugin twice) + COomRunPluginConfig** runPluginConfig = iPluginToConfigMapping.Find(aPluginConfig->Id()); + if (runPluginConfig) + { + OomMonitorPanic(KPluginConfigAddedTwice); + } + + iPluginToConfigMapping.InsertL(aPluginConfig->Id(), aPluginConfig); + + } + +// Add a rule +// This class takes ownership of the given rule +// This rule applies to the specified application (and not a plugin associated with this application) +// The rule would usually apply to an "application close" event +void COomConfig::AddApplicationRuleL(TUint aTargetAppId, MOomRuleConfig* aRule) + { + FUNC_LOG; + + COomApplicationConfig** applicationConfig = iApplicationToConfigMapping.Find(aTargetAppId); + + if (applicationConfig) + { + (*applicationConfig)->AddRuleL(aRule); + } + else + { + OomMonitorPanic(KRuleConfiguredBeforeApplication); + } + } + +// Add a rule for a plugin +// This class takes ownership of the given rule +// This rule is applied to the plugin with the specified ID +void COomConfig::AddPluginRuleL(TUint aPluginId, MOomRuleConfig* aRule) + { + FUNC_LOG; + + COomRunPluginConfig** runPluginConfig = iPluginToConfigMapping.Find(aPluginId); + + if (runPluginConfig) + { + (*runPluginConfig)->AddRuleL(aRule); + } + else + { + OomMonitorPanic(KRuleConfiguredBeforePlugin); + } + } + +// Add this application config - this class takes ownership of it +// Application config includes settings for a particular application, e.g. whether or not it can be closed +void COomConfig::AddApplicationConfigL(COomApplicationConfig* aApplicationConfig) + { + FUNC_LOG; + + // Check if the application has already been added, if so then this is an error in configuration (something is trying to add the same app twice) + COomApplicationConfig** applicationConfig = iApplicationToConfigMapping.Find(aApplicationConfig->Id()); + if (applicationConfig) + { + OomMonitorPanic(KAppConfigAddedTwice); + } + + iApplicationToConfigMapping.InsertL(aApplicationConfig->Id(), aApplicationConfig); + } + +// Get the list of configured actions for the given app id +// If no specific actions have been configured for this application then the default action is returned +COomApplicationConfig& COomConfig::GetApplicationConfig(TInt32 aAppId) + { + RDebug::Print(_L("aPluginId=%d\n"),aAppId); + + FUNC_LOG; + + COomApplicationConfig** applicationConfig = iApplicationToConfigMapping.Find(aAppId); + + if (!applicationConfig) + applicationConfig = iApplicationToConfigMapping.Find(KOomDefaultAppId); + + // The default app configuration should always exist + __ASSERT_ALWAYS(applicationConfig, OomMonitorPanic(KOomDefaultAppNotConfigured)); + + return *(*applicationConfig); + } + +// Get the plugin configuration for the given plugin id +// If no specific actions have been configured for this plugin then the default plugin configuration is returned +COomRunPluginConfig& COomConfig::GetPluginConfig(TInt32 aPluginId) + { + FUNC_LOG; + + COomRunPluginConfig** runPluginConfig = iPluginToConfigMapping.Find(aPluginId); + + if (!runPluginConfig) + runPluginConfig = iPluginToConfigMapping.Find(KOomDefaultPluginId); + + // The default app configuration should always exist + __ASSERT_ALWAYS(runPluginConfig, OomMonitorPanic(KOomDefaultPluginNotConfigured)); + + return *(*runPluginConfig); + } + +COomConfig::~COomConfig() + { + FUNC_LOG; + RDebug::Print( _L("OomMemoryMonitor: Begin delete COomConfig!")); + // Iterate through the hash map deleting all of the items + RHashMap::TIter iterator(iApplicationToConfigMapping); + while (iterator.NextValue()) + delete *iterator.CurrentValue(); + + // Iterate through the plugiun hash map deleting all of the items + RHashMap::TIter pluginIterator(iPluginToConfigMapping); + while (pluginIterator.NextValue()) + delete *pluginIterator.CurrentValue(); + + iApplicationToConfigMapping.Close(); + iPluginToConfigMapping.Close(); + + RDebug::Print( _L("OomMemoryMonitor: Delete COomConfig!")); + } + +void COomConfig::ConstructL() + { + FUNC_LOG; + } diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoomconfigparser.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoomconfigparser.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,1155 @@ +/* +* Copyright (c) 2010 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: The parser for the OOM configuration file. +* +*/ +#include +#include + +#include "oomconfigparser.h" +#include "oompanic.h" +#include "OomTraces.h" +#include "oomidletimerule.h" +#include "oomforegroundrule.h" +#include "oomconstants.hrh" +#include "oomapplicationconfig.h" +#include "oomcloseappconfig.h" +#include "oomconfig.h" +#include "oomrunpluginconfig.h" + +#include "diclog.h" +#include "globaldata.h" + +enum TOomConfigParserPanic +{ +KOomErrMoreThanOneOomConfig = 0, +KOomErrGlobalSettingsMustComeAfterRoot, +KOomErrAppSettingsMustComeAfterGlobalSettings, +KOomErrCloseAppSettingsMustComeAfterAppSettings, +KOomErrAppIdleSettingsMustComeAfterAppCloseSettings, +KOomErrLowRamErrorInGlobalSettings, +KOomErrGoodRamErrorInGlobalSettings, +KOomErrSwapUsageMonitoredErrorInGlobalSettings, +KOomErrLowSwapErrorInGlobalSettings, +KOomErrGoodSwapErrorInGlobalSettings, +KOomErrMaxCloseErrorInGlobalSettings, +KOomErrDefaultPriorityErrorInGlobalSettings, +KOomErrMissingUidFromAppCloseConfig, +KOomErrMissingPriorityFromAppCloseConfig, +KOomErrMissingSyncModeFromAppCloseConfig, +KOomErrMissingEstimateFromAppCloseConfig, +KOomErrInvalidSyncMode, +KOomErrMissingSyncModeInAppCloseConfig, +KOomErrBadOrMissingPriorityInAppIdleRule, +KOomErrBadOrMissingIdleTimeInAppIdleRule, +KOomErrBadOrMissingUidInAppIdleRule, +KOomErrBadNeverCloseValue, +KOomErrBadOrMissingUidInAppConfig, +KOomErrBadOrMissingPriorityInAppCloseConfig, +KOomErrBadLowThresholdValueForAppConfig, +KOomErrBadGoodThresholdValueForAppConfig, +KOomErrSystemPluginSettingsMustComeAfterAppCloseSettings, +KOomErrAppPluginSettingsMustComeAfterSystemPluginSettings, +KOomErrAppPluginIdleTimeRulesMustComeAfterAppPluginSettings, +KOomErrBadOrMissingUidInAppCloseConfig, +KOomErrBadOrMissingUidInSystemPluginConfig, +KOomErrBadOrMissingPriorityInSystemPluginConfig, +KOomErrBadOrMissingTargetAppIdInAppPluginConfig, +KOomErrBadOrMissingUidInAppPluginConfig, +KOomErrBadOrMissingPriorityInAppPluginConfig, +KOomErrBadOrMissingPriorityInPluginIdleRule, +KOomErrBadOrMissingIdleTimeInPluginIdleRule, +KOomErrBadOrMissingUidInPluginIdleRule, +KOomErrBadOrMissingUidInForegroundAppRule, +KOomErrBadOrMissingPriorityInForegroundAppRule, +KOomErrBadOrMissingTargetAppIdInForegroundAppRule, +KOomErrDefaultWaitAfterPluginInGlobalSettings, +KOomErrBadOrMissingPriorityInForceCheck, +KOomErrOomRulesMustComeLast, +KOomErrBadPluginWaitTime, +KOomErrBadXml, +KOomErrAppCloseIdleRuleOutsideAppCloseElement, +KOomErrForegroundAppRuleOutsideAppCloseElement, +KOomErrPluginIdleRuleOutsideAppPluginElement, +KOomErrPluginForegroundRuleOutsidePluginElement, +KOomErrBadCallIfTargetAppNotRunning +}; + +const TInt KOomXmlFileBufferSize = 1024; +const TInt KOomMaxAppExitTime = 2000; +const TInt KBytesInMegabyte = 1024; +#ifdef __WINS__ +const TInt KEmulatorTickDivisor = 5; // The tick is 5 times slower on the emulator than on the phone +#endif +using namespace Xml; + +// Mime type of the parsed document +_LIT8(KXmlMimeType, "text/xml"); + +_LIT(KOomConfigFilePath, ":\\testframework\\oomconfig.xml"); +_LIT(KRomDrive, "z"); + +// Element strings +// Root +_LIT8(KOomConfigOomConfig, "oom_config"); + +// Global settings +_LIT8(KOomConfigGlobalSettings, "global_settings"); +_LIT8(KOomConfigForceCheckAtPriority, "force_check"); + +// App settings +_LIT8(KOomConfigAppSettings, "app_specific_thresholds"); +_LIT8(KOomConfigApp, "app"); + +// App close settings +_LIT8(KOomConfigAppCloseSettings, "app_close_settings"); +_LIT8(KOomConfigCloseApp, "close_app"); + +// App close idle time +_LIT8(KOomConfigAppCloseIdlePriority, "app_close_idle_priority"); + +_LIT8(KOomConfigForegroundAppPriority, "foreground_app_priority"); + +// Global settings attribute names +_LIT8(KOomAttributeLowRamThreshold, "low_ram_threshold"); +_LIT8(KOomAttributeGoodRamThreshold, "good_ram_threshold"); +_LIT8(KOomAttributeSwapUsageMonitored, "swap_usage_monitored"); +_LIT8(KOomAttributeLowSwapThreshold, "low_swap_threshold"); +_LIT8(KOomAttributeGoodSwapThreshold, "good_swap_threshold"); +_LIT8(KOomAttributeMaxAppCloseBatch, "max_app_close_batch"); +_LIT8(KOomAttributeDefaultWaitAfterPlugin, "default_wait_after_plugin"); +_LIT8(KOomAttributeMaxAppExitTime , "max_app_exit_time"); + +// System plugins + +_LIT8(KOomAttributeSystemPluginSettings, "system_plugin_settings"); +_LIT8(KOomAttributeSystemPlugin, "system_plugin"); + +// Application plugins + +_LIT8(KOomAttributeAppPluginSettings, "app_plugin_settings"); +_LIT8(KOomAttributeAppPlugin, "app_plugin"); + +// Plugin idle time rules + +_LIT8(KOomAttributePluginIdlePriority, "plugin_idle_priority"); + +// Plugin foreground app rules +_LIT8(KOomAttributePluginForegroundAppPriority, "plugin_foreground_app_priority"); + +// Atribute names +_LIT8(KOomAttibuteUid, "uid"); +_LIT8(KOomAttibuteSyncMode, "sync_mode"); +_LIT8(KOomAttibutePriority, "priority"); +_LIT8(KOomAttibuteRamEstimate, "ram_estimate"); + +_LIT8(KOomConfigSyncModeContinue, "continue"); +_LIT8(KOomConfigSyncModeCheck, "check"); +_LIT8(KOomConfigSyncModeEstimate, "estimate"); + +_LIT8(KOomAttibuteIdleTime, "idle_time"); +_LIT8(KOomAttibuteIdlePriority, "priority"); + +_LIT8(KOomAttibuteNeverClose, "NEVER_CLOSE"); + +_LIT8(KOomAttributeTargetAppId, "target_app_id"); + +_LIT8(KOomAttributeWait, "wait"); + +_LIT8(KOomAttributeIfForegroundAppId, "if_foreground_app_id"); + +_LIT8(KOomAttributeCallIfTargetAppNotRunning, "call_if_target_app_not_running"); +_LIT8(KOomAttributeTrue, "true"); +_LIT8(KOomAttributeFalse, "false"); +_LIT8(KOomAttribute0, "0"); +_LIT8(KOomAttribute1, "1"); + + +_LIT8(KOomConfigDefaultAppUid, "DEFAULT_APP"); +_LIT8(KOomConfigDefaultPluginUid, "DEFAULT_PLUGIN"); +_LIT8(KOomConfigTargetAppValue, "TARGET_APP"); + +_LIT8(KOomConfigBusyAppUid, "BUSY_APP"); +_LIT8(KOomConfigHighPriorityAppUid, "HIGH_PRIORITY_APP"); + +COomConfigParser::COomConfigParser(COomConfig& aConfig, RFs& aFs) : iConfig(aConfig), iFs(aFs), iState(EOomParsingStateNone) + { + } + +void COomConfigParser::ParseL() + { + TBuf buf(KConfigParserParser); + DicLog::WriteLog(TUid::Uid(0x0001), buf); + + FUNC_LOG; + + TRACES("COomConfigParser::ParseL: Parsing Config File"); + + CParser* parser = CParser::NewLC(KXmlMimeType, *this); + + RFile configFile; + TFileName configFileName; + TChar driveChar = iFs.GetSystemDriveChar(); + configFileName.Append(driveChar); + configFileName.Append(KOomConfigFilePath); + if (configFile.Open(iFs, configFileName, EFileShareExclusive) != KErrNone) + { + configFileName.Replace(0,1,KRomDrive); //replace 'c' with 'z' + User::LeaveIfError(configFile.Open(iFs, configFileName, EFileShareExclusive)); + } + CleanupClosePushL(configFile); + + TBuf8 fileBuffer; + TInt bytesRead; + do + { + User::LeaveIfError(configFile.Read(fileBuffer)); + bytesRead = fileBuffer.Size(); + + parser->ParseL(fileBuffer); + + } while (bytesRead != 0); + + CleanupStack::PopAndDestroy(2, parser); // config file - automatically closes it + // parser + + TRACES("COomConfigParser::ParseL: Finished Parsing Config File"); + } + +void COomConfigParser::OnStartDocumentL(const RDocumentParameters&, TInt) + { + FUNC_LOG; + } + +void COomConfigParser::OnEndDocumentL(TInt) + { + FUNC_LOG; + } + + +void COomConfigParser::OnEndElementL(const RTagInfo&, TInt) + { + } + +void COomConfigParser::OnContentL(const TDesC8&, TInt) + { + } + +void COomConfigParser::OnStartPrefixMappingL(const RString&, const RString&, + TInt) + { + } + +void COomConfigParser::OnEndPrefixMappingL(const RString&, TInt) + { + } + +void COomConfigParser::OnIgnorableWhiteSpaceL(const TDesC8&, TInt) + { + } + +void COomConfigParser::OnSkippedEntityL(const RString&, TInt) + { + } + +void COomConfigParser::OnProcessingInstructionL(const TDesC8&, const TDesC8&, + TInt) + { + } + +void COomConfigParser::OnError(TInt) + { + } + +TAny* COomConfigParser::GetExtendedInterface(const TInt32) + { + return 0; + } + +void COomConfigParser::OnStartElementL(const RTagInfo& aElement, const RAttributeArray& aAttributes, + TInt aErrorCode) + { + if (aErrorCode != KErrNone) + ConfigError(KOomErrBadXml); + + StartElementL(aElement.LocalName().DesC(), aAttributes); + } + +void COomConfigParser::StartElementL(const TDesC8& aLocalName, + const RAttributeArray& aAttributes) + { + // Root + if (aLocalName == KOomConfigOomConfig) + { + if (iState != EOomParsingStateNone) + ConfigError(KOomErrMoreThanOneOomConfig); + + ChangeState(EOomParsingStateRoot); + } + // Parse main elements + else if (aLocalName == KOomConfigGlobalSettings) + { + if (iState != EOomParsingStateRoot) + ConfigError(KOomErrGlobalSettingsMustComeAfterRoot); + + SetGlobalSettings(aAttributes); + + ChangeState(EOomParsingStateGlobalSettings); + } + else if (aLocalName == KOomConfigAppSettings) + { + ChangeState(EOomParsingStateAppSettings); + } + else if (aLocalName == KOomConfigAppCloseSettings) + { + ChangeState(EOomParsingStateAppCloseSettings); + } + else if (aLocalName == KOomAttributeSystemPluginSettings) + { + ChangeState(EOomParsingStateSystemPluginSettings); + } + else if (aLocalName == KOomAttributeAppPluginSettings) + { + ChangeState(EOomParsingStateAppPluginSettings); + } + // Parse actual configuration elements + else if (aLocalName == KOomConfigForceCheckAtPriority) + { + SetForceCheckConfigL(aAttributes); + } + else if (aLocalName == KOomConfigApp) + { + SetAppConfigL(aAttributes); + } + else if (aLocalName == KOomConfigCloseApp) + { + SetCloseAppConfigL(aAttributes); + } + else if (aLocalName == KOomConfigAppCloseIdlePriority) + { + CheckState(EOomParsingStateAppCloseSettings, KOomErrAppCloseIdleRuleOutsideAppCloseElement); + SetAppCloseIdlePriorityConfigL(aAttributes); + } + else if (aLocalName == KOomConfigForegroundAppPriority) + { + CheckState(EOomParsingStateAppCloseSettings, KOomErrForegroundAppRuleOutsideAppCloseElement); + SetForegroundAppPriorityL(aAttributes); + } + else if (aLocalName == KOomAttributeSystemPlugin) + { + SetSystemPluginConfigL(aAttributes); + } + else if (aLocalName == KOomAttributeAppPlugin) + { + SetAppPluginConfigL(aAttributes); + } + else if (aLocalName == KOomAttributePluginIdlePriority) + { + CheckState(EOomParsingStateAppPluginSettings, KOomErrPluginIdleRuleOutsideAppPluginElement); + SetPluginIdlePriorityL(aAttributes); + } + else if (aLocalName == KOomAttributePluginForegroundAppPriority) + { + CheckState(EOomParsingStateAppPluginSettings, EOomParsingStateSystemPluginSettings, KOomErrPluginForegroundRuleOutsidePluginElement); + SetPluginForegroundAppPriorityL(aAttributes); + } + + } + +void COomConfigParser::ConfigError(TInt aError) + { + OomConfigParserPanic(aError); + } + +void COomConfigParser::SetGlobalSettings(const RAttributeArray& aAttributes) + { + TInt defaultLowMemoryThreshold; + TInt err = GetValueFromDecimalAttributeList(aAttributes, KOomAttributeLowRamThreshold, defaultLowMemoryThreshold); + + if (err == KErrNone) + iConfig.SetDefaultLowRamThreshold(defaultLowMemoryThreshold * KBytesInMegabyte); + else + ConfigError(KOomErrLowRamErrorInGlobalSettings); + + if (err == KErrNone) + { + TInt defaultGoodMemoryThreshold; + TInt err = GetValueFromDecimalAttributeList(aAttributes, KOomAttributeGoodRamThreshold, defaultGoodMemoryThreshold); + + if (err == KErrNone) + iConfig.SetDefaultGoodRamThreshold(defaultGoodMemoryThreshold * KBytesInMegabyte); + else + ConfigError(KOomErrGoodRamErrorInGlobalSettings); + } + + if (err == KErrNone) + { + TInt swapUsageMonitored; + TInt err = GetValueFromBooleanAttributeList(aAttributes, KOomAttributeSwapUsageMonitored, swapUsageMonitored); + + if (err == KErrNone) + iConfig.SetSwapUsageMonitored(swapUsageMonitored); + else + ConfigError(KOomErrSwapUsageMonitoredErrorInGlobalSettings); + } + + if (err == KErrNone) + { + TInt defaultLowSwapThreshold; + TInt err = GetValueFromDecimalAttributeList(aAttributes, KOomAttributeLowSwapThreshold, defaultLowSwapThreshold); + + if (err == KErrNone) + iConfig.SetDefaultLowSwapThreshold(defaultLowSwapThreshold * KBytesInMegabyte); + else + ConfigError(KOomErrLowSwapErrorInGlobalSettings); + } + + if (err == KErrNone) + { + TInt defaultGoodSwapThreshold; + TInt err = GetValueFromDecimalAttributeList(aAttributes, KOomAttributeGoodSwapThreshold, defaultGoodSwapThreshold); + + if (err == KErrNone) + iConfig.SetDefaultGoodSwapThreshold(defaultGoodSwapThreshold * KBytesInMegabyte); + else + ConfigError(KOomErrGoodSwapErrorInGlobalSettings); + } + + if (err == KErrNone) + { + TInt defaultMaxCloseAppBatch; + TInt err = GetValueFromDecimalAttributeList(aAttributes, KOomAttributeMaxAppCloseBatch, defaultMaxCloseAppBatch); + + if (err == KErrNone) + iConfig.SetMaxCloseAppBatch(defaultMaxCloseAppBatch); + else + ConfigError(KOomErrMaxCloseErrorInGlobalSettings); + } + + if (err == KErrNone) + { + TInt defaultWaitAfterPlugin; + TInt err = GetValueFromDecimalAttributeList(aAttributes, KOomAttributeDefaultWaitAfterPlugin, defaultWaitAfterPlugin); + + if (err == KErrNone) + iConfig.SetDefaultWaitAfterPlugin(defaultWaitAfterPlugin); + else + ConfigError(KOomErrDefaultWaitAfterPluginInGlobalSettings); + } + + if (err == KErrNone) + { + TInt maxAppExitTime; + TInt err = GetValueFromDecimalAttributeList(aAttributes, KOomAttributeMaxAppExitTime, maxAppExitTime); + + if (err == KErrNone) + iConfig.SetMaxAppExitTime(maxAppExitTime); + else + iConfig.SetMaxAppExitTime(KOomMaxAppExitTime); + } + } + +void COomConfigParser::SetForceCheckConfigL(const RAttributeArray& aAttributes) + { + TUint priority; + TInt err = GetValueFromDecimalAttributeList(aAttributes, KOomAttibutePriority, priority); + if (err == KErrNone) + { + iConfig.GlobalConfig().AddForceCheckPriorityL(priority); + } + else + { + ConfigError(KOomErrBadOrMissingPriorityInForceCheck); + } + } + +void COomConfigParser::SetAppConfigL(const RAttributeArray& aAttributes) + { + TUint uid; + COomApplicationConfig* appConfig = NULL; + + TInt err = GetValueFromHexAttributeList(aAttributes, KOomAttibuteUid, uid); + + if (err != KErrNone) + { + ConfigError(KOomErrBadOrMissingUidInAppConfig); + } + else + iParentUid = uid; + + appConfig = COomApplicationConfig::NewL(uid); + CleanupStack::PushL(appConfig); + + // Set the app specific memory thresholds (if they exist) + // Get the app specific low threshold + if (err == KErrNone) + { + TUint lowThreshold; + err = GetValueFromDecimalAttributeList(aAttributes, KOomAttributeLowRamThreshold, lowThreshold); + if (err == KErrNone) + { + appConfig->iLowRamThreshold = lowThreshold * KBytesInMegabyte; + } + else if (err == KErrNotFound) + err = KErrNone; + + if (err != KErrNone) + ConfigError(KOomErrBadLowThresholdValueForAppConfig); + } + + // Get the app specific good threshold + if (err == KErrNone) + { + TUint goodThreshold; + err = GetValueFromDecimalAttributeList(aAttributes, KOomAttributeGoodRamThreshold, goodThreshold); + if (err == KErrNone) + { + appConfig->iGoodRamThreshold = goodThreshold * KBytesInMegabyte; + } + else if (err == KErrNotFound) + err = KErrNone; + + if (err != KErrNone) + ConfigError(KOomErrBadGoodThresholdValueForAppConfig); + } + + // Set the app specific swap thresholds (if they exist) + // Get the app specific low swap threshold + if (err == KErrNone) + { + TUint lowThreshold; + err = GetValueFromDecimalAttributeList(aAttributes, KOomAttributeLowSwapThreshold, lowThreshold); + if (err == KErrNone) + { + appConfig->iLowSwapThreshold = lowThreshold * KBytesInMegabyte; + } + else if (err == KErrNotFound) + err = KErrNone; + + if (err != KErrNone) + ConfigError(KOomErrBadLowThresholdValueForAppConfig); + } + + // Get the app specific good swapthreshold + if (err == KErrNone) + { + TUint goodThreshold; + err = GetValueFromDecimalAttributeList(aAttributes, KOomAttributeGoodSwapThreshold, goodThreshold); + if (err == KErrNone) + { + appConfig->iGoodSwapThreshold = goodThreshold * KBytesInMegabyte; + } + else if (err == KErrNotFound) + err = KErrNone; + + if (err != KErrNone) + ConfigError(KOomErrBadGoodThresholdValueForAppConfig); + } + + // Add the applciation config to the main config + if ((err == KErrNone) && (appConfig)) + { + iConfig.AddApplicationConfigL(appConfig); + } + + if (appConfig) + CleanupStack::Pop(appConfig); + } + +void COomConfigParser::SetCloseAppConfigL(const RAttributeArray& aAttributes) + { + // Get and convert uid attribute to TInt + TInt err = KErrNone; + + TUint uid; + err = GetValueFromHexAttributeList(aAttributes, KOomAttibuteUid, uid); + + if (err != KErrNone) + { + ConfigError(KOomErrBadOrMissingUidInAppCloseConfig); + return; + } + else + iParentUid = uid; + + COomCloseAppConfig* closeAppConfig = COomCloseAppConfig::NewL(uid); // Radio UID + CleanupStack::PushL(closeAppConfig); + + if (err == KErrNone) + { + // Check that we have a priority for the added app_close event + // Specifying a priority is mandatory + TUint priority; + err = GetValueFromDecimalAttributeList(aAttributes, KOomAttibutePriority, priority); + if (err == KErrNone) + { + closeAppConfig->SetDefaultPriority(priority); + } + else + { + ConfigError(KOomErrBadOrMissingPriorityInAppCloseConfig); + } + } + + if (err == KErrNone) + { + TPtrC8 syncModeString; + err = GetValueFromAttributeList(aAttributes, KOomAttibuteSyncMode, syncModeString); + + if (err == KErrNone) + { + TOomSyncMode syncMode = EContinue; + + if (syncModeString == KOomConfigSyncModeContinue) + syncMode = EContinue; + else if (syncModeString == KOomConfigSyncModeCheck) + syncMode = ECheckRam; + else if (syncModeString == KOomConfigSyncModeEstimate) + syncMode = EEstimate; + else + ConfigError(KOomErrInvalidSyncMode); + + if (err == KErrNone) + { + closeAppConfig->iSyncMode = syncMode; + } + } + else + { + ConfigError(KOomErrMissingSyncModeInAppCloseConfig); + } + } + + + if (err == KErrNone) + { + // If we have a default priority attribute then add it, otherwise use the global default priority + TInt ramEstimate; + err = GetValueFromDecimalAttributeList(aAttributes, KOomAttibuteRamEstimate, ramEstimate); + if ((err == KErrNotFound) && (closeAppConfig->iSyncMode != EEstimate)) + { + err = KErrNone; + } + + if (err != KErrNone) + ConfigError(KOomErrMissingEstimateFromAppCloseConfig); + else + closeAppConfig->iRamEstimate = ramEstimate * KBytesInMegabyte; + } + + if (err == KErrNone) + iConfig.SetAppCloseConfigL(closeAppConfig); + + CleanupStack::Pop(closeAppConfig); + } + +void COomConfigParser::SetAppCloseIdlePriorityConfigL(const RAttributeArray& aAttributes) + { + TUint uid; + TInt idleTime; + TUint priority; + + // Use the UID from the parent scope + uid = iParentUid; + + TInt err = KErrNone; + + err = GetValueFromDecimalAttributeList(aAttributes, KOomAttibuteIdleTime, idleTime); + +#ifdef __WINS__ + // The tick is 5 times slower on the emulator than on the phone + idleTime = idleTime / KEmulatorTickDivisor; +#endif + + if (err != KErrNone) + { + ConfigError(KOomErrBadOrMissingIdleTimeInAppIdleRule); + } + + if (err == KErrNone) + { + err = GetValueFromDecimalAttributeList(aAttributes, KOomAttibuteIdlePriority, priority); + + if (err != KErrNone) + { + ConfigError(KOomErrBadOrMissingPriorityInAppIdleRule); + } + } + + if (err == KErrNone) + { + COomIdleTimeRule* idleRule = COomIdleTimeRule::NewL(idleTime, priority); + CleanupStack::PushL(idleRule); + iConfig.AddApplicationRuleL(uid, idleRule); + CleanupStack::Pop(idleRule); + } + } + +void COomConfigParser::SetForegroundAppPriorityL(const RAttributeArray& aAttributes) + { + TUint appUid; + TUint targetAppId; + TUint priority; + + TInt err = KErrNone; + + // Use the UID from the parent scope + appUid = iParentUid; + + // Check that we have a priority for the added system plugin action + // Specifying a priority is mandatory + err = GetValueFromHexAttributeList(aAttributes, KOomAttributeIfForegroundAppId, targetAppId); + if (err != KErrNone) + { + ConfigError(KOomErrBadOrMissingTargetAppIdInForegroundAppRule); + } + + if (err == KErrNone) + { + err = GetValueFromDecimalAttributeList(aAttributes, KOomAttibuteIdlePriority, priority); + + if (err != KErrNone) + { + ConfigError(KOomErrBadOrMissingPriorityInForegroundAppRule); + } + } + + if (err == KErrNone) + { + COomForegroundRule* foregroundRule = new (ELeave) COomForegroundRule(targetAppId, priority); + CleanupStack::PushL(foregroundRule); + iConfig.AddApplicationRuleL(appUid, foregroundRule); + CleanupStack::Pop(foregroundRule); + } + + } + +void COomConfigParser::SetSystemPluginConfigL(const RAttributeArray& aAttributes) + { + // Get and convert uid attribute to TInt + TInt err = KErrNone; + + TUint uid; + err = GetValueFromHexAttributeList(aAttributes, KOomAttibuteUid, uid); + + if (err != KErrNone) + { + ConfigError(KOomErrBadOrMissingUidInSystemPluginConfig); + return; + } + else + iParentUid = uid; + + COomRunPluginConfig* pluginConfig = COomRunPluginConfig::NewL(uid, EOomSystemPlugin); + CleanupStack::PushL(pluginConfig); + + if (err == KErrNone) + { + // Check that we have a priority for the added system plugin action + // Specifying a priority is mandatory + TUint priority; + err = GetValueFromDecimalAttributeList(aAttributes, KOomAttibutePriority, priority); + if (err == KErrNone) + { + pluginConfig->SetDefaultPriority(priority); + } + else + { + ConfigError(KOomErrBadOrMissingPriorityInSystemPluginConfig); + } + } + + if (err == KErrNone) + { + TInt wait; + err = GetValueFromDecimalAttributeList(aAttributes, KOomAttributeWait, wait); + if (err == KErrNone) + { + pluginConfig->SetWaitAfterPlugin(wait); + } + else if (err == KErrNotFound) + { + // If this attribute isn't present then just don't set it, and clear the error + err = KErrNone; + } + else + ConfigError(KOomErrBadPluginWaitTime); + } + + if (err == KErrNone) + { + // Get the config for the sync mode for this plugin (if one is specified) and set it + SetPluginSyncMode(aAttributes, *pluginConfig); + } + + iConfig.AddPluginConfigL(pluginConfig); + + CleanupStack::Pop(pluginConfig); + } + +void COomConfigParser::SetAppPluginConfigL(const RAttributeArray& aAttributes) + { + // Get and convert uid attribute to TInt + TInt err = KErrNone; + + TUint uid; + err = GetValueFromHexAttributeList(aAttributes, KOomAttibuteUid, uid); + + if (err != KErrNone) + { + ConfigError(KOomErrBadOrMissingUidInAppPluginConfig); + return; + } + else + iParentUid = uid; + + COomRunPluginConfig* pluginConfig = COomRunPluginConfig::NewL(uid, EOomAppPlugin); + CleanupStack::PushL(pluginConfig); + + if (err == KErrNone) + { + // Check that we have a priority for the added system plugin action + // Specifying a priority is mandatory + TUint priority; + err = GetValueFromDecimalAttributeList(aAttributes, KOomAttibutePriority, priority); + if (err == KErrNone) + { + pluginConfig->SetDefaultPriority(priority); + } + else + { + ConfigError(KOomErrBadOrMissingPriorityInAppPluginConfig); + } + } + + if (err == KErrNone) + { + // Check that we have a priority for the added system plugin action + // Specifying a priority is mandatory + TUint targetAppId; + err = GetValueFromHexAttributeList(aAttributes, KOomAttributeTargetAppId, targetAppId); + if (err == KErrNone) + { + pluginConfig->SetTargetApp(targetAppId); + iParentTargetApp = targetAppId; + } + else + { + ConfigError(KOomErrBadOrMissingTargetAppIdInAppPluginConfig); + } + } + + if (err == KErrNone) + { + TInt wait; + err = GetValueFromDecimalAttributeList(aAttributes, KOomAttributeWait, wait); + if (err == KErrNone) + { + pluginConfig->SetWaitAfterPlugin(wait); + } + else if (err == KErrNotFound) + { + // If this attribute isn't present then just don't set it, and clear the error + err = KErrNone; + } + else + ConfigError(KOomErrBadPluginWaitTime); + } + + if (err == KErrNone) + { + // Get the config for the sync mode for this plugin (if one is specified) and set it + SetPluginSyncMode(aAttributes, *pluginConfig); + + TBool targetAppNotRunning; + err = GetValueFromBooleanAttributeList(aAttributes, KOomAttributeCallIfTargetAppNotRunning, targetAppNotRunning); + if (err == KErrNone) + { + pluginConfig->SetCallIfTargetAppNotRunning(targetAppNotRunning); + } + else if (err == KErrNotFound) + { + // If this attribute isn't present then just don't set it, and clear the error + err = KErrNone; + } + else + { + ConfigError(KOomErrBadCallIfTargetAppNotRunning); + } + } + + iConfig.AddPluginConfigL(pluginConfig); + + CleanupStack::Pop(pluginConfig); + + } + +void COomConfigParser::SetPluginIdlePriorityL(const RAttributeArray& aAttributes) + { + TUint uid; + TInt idleTime; + TUint priority; + + TInt err = KErrNone; + + // Use the UID from the parent scope + uid = iParentUid; + + err = GetValueFromDecimalAttributeList(aAttributes, KOomAttibuteIdleTime, idleTime); + +#ifdef __WINS__ + // The tick is 5 times slower on the emulator than on the phone + idleTime = idleTime / KEmulatorTickDivisor; +#endif + + if (err != KErrNone) + { + ConfigError(KOomErrBadOrMissingIdleTimeInPluginIdleRule); + } + + if (err == KErrNone) + { + err = GetValueFromDecimalAttributeList(aAttributes, KOomAttibuteIdlePriority, priority); + + if (err != KErrNone) + { + ConfigError(KOomErrBadOrMissingPriorityInPluginIdleRule); + } + } + + if (err == KErrNone) + { + COomIdleTimeRule* idleRule = COomIdleTimeRule::NewL(idleTime, priority); + CleanupStack::PushL(idleRule); + iConfig.AddPluginRuleL(uid, idleRule); + CleanupStack::Pop(idleRule); + } + } + +void COomConfigParser::SetPluginForegroundAppPriorityL(const RAttributeArray& aAttributes) + { + TUint uid; + TUint targetAppId; + TUint priority; + + TInt err = KErrNone; + + // Use the UID from the parent scope + uid = iParentUid; + + // Check that we have a priority for the added system plugin action + // Specifying a priority is mandatory + + TPtrC8 targetAppString; + err = GetValueFromAttributeList(aAttributes, KOomAttributeTargetAppId, targetAppString); + if ((err == KErrNone) + && (targetAppString == KOomConfigTargetAppValue) + && (iState == EOomParsingStateAppPluginSettings)) + // If the target app is specified as "TARGET_APP" then we use the target app from the parent entry + { + targetAppId = iParentTargetApp; + } + else + { + err = GetValueFromHexAttributeList(aAttributes, KOomAttributeTargetAppId, targetAppId); + if (err != KErrNone) + { + ConfigError(KOomErrBadOrMissingTargetAppIdInForegroundAppRule); + } + } + + if (err == KErrNone) + { + err = GetValueFromDecimalAttributeList(aAttributes, KOomAttibuteIdlePriority, priority); + + if (err != KErrNone) + { + ConfigError(KOomErrBadOrMissingPriorityInForegroundAppRule); + } + } + + if (err == KErrNone) + { + COomForegroundRule* foregroundRule = new (ELeave) COomForegroundRule(targetAppId, priority); + CleanupStack::PushL(foregroundRule); + iConfig.AddPluginRuleL(uid, foregroundRule); + CleanupStack::Pop(foregroundRule); + } + } + +// Finds an attribute of the given name and gets its value +// A value is only valid as long as AAtrributes is valid (and unmodified) +// Returns KErrNone if the attribute is present in the list, KErrNotFound otherwise +TInt COomConfigParser::GetValueFromAttributeList(const RAttributeArray& aAttributes, const TDesC8& aName, TPtrC8& aValue) + { + TInt index = aAttributes.Count(); + TBool attributeFound = EFalse; + while ((index--) && (!attributeFound)) + { + if (aAttributes[index].Attribute().LocalName().DesC() == aName) + { + attributeFound = ETrue; + aValue.Set(aAttributes[index].Value().DesC()); + } + } + + TInt err = KErrNone; + + if (!attributeFound) + err = KErrNotFound; + + return err; + } + +// Finds an attribute of the given name and gets its value (coverting the string hex value to a UInt) +// Returns KErrNone if the attribute is present in the list, KErrNotFound otherwise +// Returns KErrCorrupt if the string is not a valid hex number +TInt COomConfigParser::GetValueFromHexAttributeList(const RAttributeArray& aAttributes, const TDesC8& aName, TUint& aValue) + { + TPtrC8 hexString; + TInt err = GetValueFromAttributeList(aAttributes, aName, hexString); + + if (hexString == KOomConfigDefaultAppUid) + { + // This is a special case + // When we hit this value in a hex field then we return the default app UID + aValue = KOomDefaultAppId; + } + else if (hexString == KOomConfigDefaultPluginUid) + { + // This is a special case + // When we hit this value in a hex field then we return the default app UID + aValue = KOomDefaultPluginId; + } + else if (hexString == KOomConfigBusyAppUid) + { + aValue = KOomBusyAppId; + } + else if (hexString == KOomConfigHighPriorityAppUid) + { + aValue = KOomHighPriorityAppId; + } + else if (err == KErrNone) + { + TLex8 hexLex(hexString); + err = hexLex.Val(aValue, EHex); + if (err != KErrNone) + err = KErrCorrupt; + } + + return err; + } + +// Finds an attribute of the given name and gets its value (coverting the string decimal value to a UInt) +// Returns KErrNone if the attribute is present in the list, KErrNotFound otherwise +// Returns KErrCorrupt if the string is not a valid decimal number +TInt COomConfigParser::GetValueFromDecimalAttributeList(const RAttributeArray& aAttributes, const TDesC8& aName, TUint& aValue) + { + TPtrC8 decimalString; + TInt err = GetValueFromAttributeList(aAttributes, aName, decimalString); + + if (err == KErrNone) + { + if (decimalString == KOomAttibuteNeverClose) + aValue = KOomPriorityInfinate; + else + { + TLex8 decimalLex(decimalString); + err = decimalLex.Val(aValue, EDecimal); + if (err != KErrNone) + err = KErrCorrupt; + } + } + + return err; + } + +TInt COomConfigParser::GetValueFromDecimalAttributeList(const RAttributeArray& aAttributes, const TDesC8& aName, TInt& aValue) + { + TUint uintValue; + TInt err = GetValueFromDecimalAttributeList(aAttributes, aName, uintValue); + aValue = uintValue; + return err; + } + +TInt COomConfigParser::GetValueFromBooleanAttributeList(const RAttributeArray& aAttributes, const TDesC8& aName, TBool& aValue) + { + TPtrC8 ptrValue; + TInt err = GetValueFromAttributeList(aAttributes, aName, ptrValue); + if (err == KErrNone) + { + if (ptrValue == KOomAttributeTrue || ptrValue == KOomAttribute1) + { + aValue = ETrue; + } + else if (ptrValue == KOomAttributeFalse || ptrValue == KOomAttribute0) + { + aValue = EFalse; + } + else + { + err = KErrCorrupt; + } + } + return err; + } + +void COomConfigParser::SetPluginSyncMode(const RAttributeArray& aAttributes, COomRunPluginConfig& aRunPluginConfig) + { + TPtrC8 syncModeString; + TInt err = GetValueFromAttributeList(aAttributes, KOomAttibuteSyncMode, syncModeString); + + if (err == KErrNone) + // If there is no specified sync mode then leave it as the default + { + TOomSyncMode syncMode = EContinue; + + if (syncModeString == KOomConfigSyncModeContinue) + syncMode = EContinueIgnoreMaxBatchSize; + else if (syncModeString == KOomConfigSyncModeCheck) + syncMode = ECheckRam; + else if (syncModeString == KOomConfigSyncModeEstimate) + syncMode = EEstimate; + else + ConfigError(KOomErrInvalidSyncMode); + + if (err == KErrNone) + { + aRunPluginConfig.iSyncMode = syncMode; + } + } + } + +// Check that the current state is as expected +// If not then the specified config error is generated +void COomConfigParser::CheckState(TOomParsingState aExpectedState, TInt aError) + { + if (iState != aExpectedState) + ConfigError(aError); + } + +// Check that the current state is as expected +// If not then the specified config error is generated +// This version checks to ensure that the current state matches either of the passed in states +void COomConfigParser::CheckState(TOomParsingState aExpectedState1, TOomParsingState aExpectedState2, TInt aError) + { + if ((iState != aExpectedState1) + && (iState != aExpectedState2)) + ConfigError(aError); + } + +void COomConfigParser::ChangeState(TOomParsingState aState) + { + iState = aState; + } diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoomforegroundrule.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoomforegroundrule.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,43 @@ +/* +* Copyright (c) 2010 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: Configuration representation classes for Out of Memory Monitor. +* +*/ + + +#include "oomforegroundrule.h" +#include "oomwindowgrouplist.h" +#include "OomTraces.h" + +// If the specified target app is in the foreground then apply the specified priority +COomForegroundRule::COomForegroundRule(TInt aTargetAppId, TInt aPriority) : iTargetAppId(aTargetAppId), iPriority(aPriority) + { + FUNC_LOG; + } + +TBool COomForegroundRule::RuleIsApplicable(const COomWindowGroupList& aWindowGroupList, TInt /*aAppIndexInWindowGroup*/) const + { + FUNC_LOG; + + TBool ruleIsApplicable = EFalse; + if (aWindowGroupList.Count() > 0) + { + // If the target app is in the foreground then this rule is applicable + TUint foregroundAppId = aWindowGroupList.AppId(0, ETrue); + if (foregroundAppId == iTargetAppId) + ruleIsApplicable = ETrue; + } + + return ruleIsApplicable; + } diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoomglobalconfig.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoomglobalconfig.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,26 @@ +/* +* Copyright (c) 2010 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: Configuration representation classes for Out of Memory Monitor. +* +*/ + + + +#include "oomglobalconfig.h" +#include "OomTraces.h" + +COomGlobalConfig::~COomGlobalConfig() + { + + } diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoomlog.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoomlog.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,99 @@ +/* +* Copyright (c) 2010 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: Logging functionality for OOM monitor profiling. +* +*/ + +#ifdef _DEBUG + +#include +#include +#include +#include +#include +#include + +#include "oomlog.h" +#include "oompanic.h" + +#include "globaldata.h" +#include "diclog.h" + +COomLogger* COomLogger::NewL(RWsSession& aWs, RFs& aFs) + { + COomLogger* self = new (ELeave) COomLogger(aWs, aFs); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(self); + return self; + } + +void COomLogger::StartL() + { + TBuf buf(KOomLoggerStartL); + DicLog::WriteLog(TUid::Uid(0x0013), buf); + } + +void COomLogger::RunL() + { + + } + +void COomLogger::DoCancel() + { + + } + +COomLogger::~COomLogger() + { + + } + +void COomLogger::Write(const TDesC8& aBuffer) + { + + } + +void COomLogger::LogApplicationIds() + { + + } + +void COomLogger::LogFreeMemory() + { + + } + +COomLogger::COomLogger(RWsSession& aWs, RFs& aFs) : CTimer(EPriorityStandard), iWs(aWs), iFs(aFs) + { + + } + +void COomLogger::ConstructL() + { + + } + +void COomLogger::ColapseWindowGroupTree() + { + + } + +TUid COomLogger::GetUidFromWindowGroupId(TInt aWgId) + { + TUid uid=TUid::Uid(0); + return uid; + } + +#endif //_DEBUG diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoommemorymonitorserver.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoommemorymonitorserver.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,93 @@ +/* +* Copyright (c) 2010 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: Main classes for Out of Memory Monitor. +* +*/ + +#include "oommemorymonitorserver.h" +#include "oommonitorclientserver.h" +#include "oommemorymonitorsession.h" +#include "oommemorymonitor.h" +#include "OomTraces.h" + +#ifdef CLIENT_REQUEST_QUEUE +CMemoryMonitorServer* CMemoryMonitorServer::NewL(COomClientRequestQueue& aQueue) +#else +CMemoryMonitorServer* CMemoryMonitorServer::NewL(CMemoryMonitor& aMonitor) +#endif + { +// FUNC_LOG; + +#ifdef CLIENT_REQUEST_QUEUE + CMemoryMonitorServer* self=new(ELeave) CMemoryMonitorServer(aQueue); +#else + CMemoryMonitorServer* self=new(ELeave) CMemoryMonitorServer(aMonitor); +#endif + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(self); + return self; + } + +CMemoryMonitorServer::~CMemoryMonitorServer() + { +// FUNC_LOG; + } + +#ifdef CLIENT_REQUEST_QUEUE +CMemoryMonitorServer::CMemoryMonitorServer(COomClientRequestQueue& aQueue) + :CServer2(CActive::EPriorityStandard), iQueue(aQueue) +#else +CMemoryMonitorServer::CMemoryMonitorServer(CMemoryMonitor& aMonitor) + :CServer2(CActive::EPriorityStandard), iMonitor(aMonitor) +#endif + { + + } + +void CMemoryMonitorServer::ConstructL() + { + + } + +CSession2* CMemoryMonitorServer::NewSessionL(const TVersion& /*aVersion*/, const RMessage2& /*aMessage*/) const + { + return new(ELeave) CMemoryMonitorSession(); + } + +TInt CMemoryMonitorServer::RunError(TInt aError) + { + return KErrNone; // handled the error fully + } + +#ifdef CLIENT_REQUEST_QUEUE +COomClientRequestQueue& CMemoryMonitorServer::ClientRequestQueue() + { + FUNC_LOG; + + return iQueue; + } +#else +CMemoryMonitor& CMemoryMonitorServer::Monitor() + { + + } +#endif + +#ifndef CLIENT_REQUEST_QUEUE +void CMemoryMonitorServer::CloseAppsFinished(TInt aBytesFree, TBool aMemoryGood) + { + + } +#endif diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoommemorymonitorsession.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoommemorymonitorsession.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,113 @@ +/* +* Copyright (c) 2010 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: Main classes for Out of Memory Monitor. +* +*/ + +#include +#include +#include <../../../inc/oommemorymonitor.h> +#include +#include +#include + +CMemoryMonitorSession::CMemoryMonitorSession() + { + + } + +CMemoryMonitorSession::~CMemoryMonitorSession() + { + + } + +CMemoryMonitorServer& CMemoryMonitorSession::Server() + { + return *static_cast(const_cast(CSession2::Server())); + } + +#ifdef CLIENT_REQUEST_QUEUE +COomClientRequestQueue& CMemoryMonitorSession::ClientRequestQueue() + { + return Server().ClientRequestQueue(); + } +#endif + +CMemoryMonitor& CMemoryMonitorSession::Monitor() + { + +#ifdef CLIENT_REQUEST_QUEUE + return ClientRequestQueue().Monitor(); +#else + return Server().Monitor(); +#endif + } +#ifndef CLIENT_REQUEST_QUEUE +TBool CMemoryMonitorSession::IsDataPaged(const RMessage2& aMessage) + { + RThread clientThread; + TInt err = aMessage.Client(clientThread); + TBool dataPaged = EFalse; + if(err == KErrNone) + { + RProcess processName; + err = clientThread.Process(processName); + if(err == KErrNone) + { + dataPaged = processName.DefaultDataPaged(); + } + else + { + PanicClient(aMessage, EPanicIllegalFunction); + } + } + else + { + PanicClient(aMessage, EPanicIllegalFunction); + } + return dataPaged; + } +#endif + +void CMemoryMonitorSession::ServiceL(const RMessage2& aMessage) + { + + } + +#ifndef CLIENT_REQUEST_QUEUE +void CMemoryMonitorSession::CloseAppsFinished(TInt aBytesFree, TBool aMemoryGood) + { + FUNC_LOG; + + if (!iRequestFreeRam.IsNull()) + { + if (iFunction == EOomMonitorRequestOptionalRam) + { + TInt memoryAvailable = aBytesFree - CMemoryMonitor::GlobalConfig().iGoodRamThreshold; + + // If memory available is greater than the requested RAM then complete with the amount of free memory, otherwise complete with KErrNoMemory + if (memoryAvailable >= iMinimumMemoryRequested) + { + iRequestFreeRam.Complete(memoryAvailable); + } + else + { + iRequestFreeRam.Complete(KErrNoMemory); + } + } + else + iRequestFreeRam.Complete(aMemoryGood ? KErrNone : KErrNoMemory); + } + } +#endif diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoommonitorplugin.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoommonitorplugin.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,135 @@ +/* +* Copyright (c) 2010 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: OOM Monitor plug-in interface. +* +*/ + +#include +#include "oommonitorplugin.h" +#include "oommemorymonitor.h" +#include "OomTraces.h" + +// TLS is used to store the CMemoryMonitor pointer, CMemoryMonitor +// being the main object in the OOM monitor thread. This allows +// plugins to access the CMemoryMonitor object easily. +EXPORT_C void SetMemoryMonitorTls(CMemoryMonitor* aMonitor) + { + FUNC_LOG; + + Dll::SetTls(aMonitor); + } + +CMemoryMonitor* MemoryMonitorTls() + { + FUNC_LOG; + + return static_cast(Dll::Tls()); + } + + +void OomMonitorPluginPanic(TOomMonitorPluginPanic aReason) + { + FUNC_LOG; + + _LIT(KCat, "OomMonitorPlugin"); + User::Panic(KCat, aReason); + } + + +EXPORT_C COomMonitorPlugin::COomMonitorPlugin() +: iMemoryMonitor(MemoryMonitorTls()) + { + FUNC_LOG; + + __ASSERT_ALWAYS(iMemoryMonitor, OomMonitorPluginPanic(EOomMonitorPluginPanic_PluginConstructedOutsideOomMonitorThread)); + } + +EXPORT_C COomMonitorPlugin::~COomMonitorPlugin() + { + FUNC_LOG; + } + +EXPORT_C void COomMonitorPlugin::ConstructL() + { + FUNC_LOG; + + // CAppOomMonitorPlugin assumes ConstructL is empty + } + +EXPORT_C void COomMonitorPlugin::ExtensionInterface(TUid /*aInterfaceId*/, TAny*& /*aImplementaion*/) + { + FUNC_LOG; + } + +EXPORT_C RFs& COomMonitorPlugin::FsSession() + { + FUNC_LOG; + + return iMemoryMonitor->iFs; + } + +EXPORT_C RWsSession& COomMonitorPlugin::WsSession() + { + FUNC_LOG; + + return iMemoryMonitor->iWs; + } + +EXPORT_C void COomMonitorPluginV2::FreeRam() + { + // Note that OomMonitorV2 will not call this version of the function + // so it does not need to be implemented in derived classes. + } + +EXPORT_C CAppOomMonitorPlugin* CAppOomMonitorPlugin::NewL(TUid aAppUid) + { + CAppOomMonitorPlugin* self = new(ELeave) CAppOomMonitorPlugin(aAppUid); + // ConstructL() currently not needed + return self; + } + +CAppOomMonitorPlugin::CAppOomMonitorPlugin(TUid aAppUid) +: iAppUid(aAppUid) + { + } + +void CAppOomMonitorPlugin::FreeRam() + { + SendMessageToApp(KAppOomMonitor_FreeRam); + } + +void CAppOomMonitorPlugin::MemoryGood() + { + SendMessageToApp(KAppOomMonitor_MemoryGood); + } + +void CAppOomMonitorPlugin::SendMessageToApp(TInt aMessage) + { + RWsSession& ws = WsSession(); + TInt wgId = 0; + + do + { + CApaWindowGroupName::FindByAppUid(iAppUid, ws, wgId); + if (wgId>0) + { + TWsEvent event; + event.SetType(aMessage); + event.SetTimeNow(); + ws.SendEventToWindowGroup(wgId, event); + } + } + while (wgId>0); + } + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoomoutofmemorywatcher.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoomoutofmemorywatcher.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,77 @@ +/* +* Copyright (c) 2010 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: Main classes for Out of Memory Monitor. +* +*/ + +#include "oomoutofmemorywatcher.h" +#include "oommemorymonitor.h" +#include "OomTraces.h" +#include + +#include "diclog.h" +#include "globaldata.h" + +COutOfMemoryWatcher* COutOfMemoryWatcher::NewL(CMemoryMonitor& aMonitor, TInt aLowRamThreshold, TInt aGoodRamThreshold, TBool aSwapUsageMonitored, TInt aLowSwapThreshold, TInt aGoodSwapThreshold) + { + FUNC_LOG; + + COutOfMemoryWatcher* self = new (ELeave) COutOfMemoryWatcher(aMonitor, aSwapUsageMonitored); + CleanupStack::PushL(self); + self->ConstructL(aLowRamThreshold, aGoodRamThreshold, aLowSwapThreshold, aGoodSwapThreshold); + CleanupStack::Pop(self); + return self; + } + +COutOfMemoryWatcher::~COutOfMemoryWatcher() + { + + } + +COutOfMemoryWatcher::COutOfMemoryWatcher(CMemoryMonitor& aMonitor, TBool aSwapUsageMonitored) +: CActive(CActive::EPriorityStandard), + iMemoryMonitor(aMonitor), + iSwapUsageMonitored(aSwapUsageMonitored) + { + + } + +void COutOfMemoryWatcher::ConstructL(TInt aLowRamThreshold, TInt aGoodRamThreshold, TInt aLowSwapThreshold, TInt aGoodSwapThreshold) + { + + } + +void COutOfMemoryWatcher::UpdateThresholds(TInt aLowRamThreshold, TInt aGoodRamThreshold, TInt aLowSwapThreshold, TInt aGoodSwapThreshold) + { + DicLog::WriteIntLog(TUid::Uid(0x0009),aLowRamThreshold); + DicLog::WriteIntLog(TUid::Uid(0x0010),aGoodRamThreshold); + DicLog::WriteIntLog(TUid::Uid(0x0011),aLowSwapThreshold); + DicLog::WriteIntLog(TUid::Uid(0x0012),aGoodSwapThreshold); + } + +void COutOfMemoryWatcher::Start() + { + TBuf buf(KOutOfMemoryWatcherStart); + DicLog::WriteLog(TUid::Uid(0x0002), buf); + } + +void COutOfMemoryWatcher::DoCancel() + { + + } + +void COutOfMemoryWatcher::RunL() + { + + } diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoompanic.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoompanic.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,32 @@ +/* +* Copyright (c) 2010 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: Panic codes for OOM monitor. +* +*/ + +#include "oompanic.h" + +#include + +void OomMonitorPanic(TOomMonitorPanic aReason) + { + _LIT(KCat, "OomMonitor"); + User::Panic(KCat, aReason); + } + +void OomConfigParserPanic(TInt aReason) + { + _LIT(KParserCat, "OomParser"); + User::Panic(KParserCat, aReason); + } diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoomrunpluginconfig.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoomrunpluginconfig.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,47 @@ +/* +* Copyright (c) 2010 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: Configuration representation classes for Out of Memory Monitor. +* +*/ + + +#include "oomrunpluginconfig.h" +#include "oomwindowgrouplist.h" +#include "OomTraces.h" +#include "globaldata.h" + +COomRunPluginConfig* COomRunPluginConfig::NewL(TUint aPluginId, TOomPluginType aPluginType) + { + FUNC_LOG; + + COomRunPluginConfig* self = new (ELeave) COomRunPluginConfig(aPluginId, aPluginType); + return self; + } + +TUint COomRunPluginConfig::CalculatePluginPriority(const COomWindowGroupList& aWindowGroupList) + { + return KMaxPriority1; + } + + +COomRunPluginConfig::~COomRunPluginConfig() + { + + } + + +COomRunPluginConfig::COomRunPluginConfig(TUint aPluginId, TOomPluginType aPluginType) : COomActionConfig(aPluginId), iPluginId(aPluginId), iPluginType(aPluginType) + { + + } diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoomwindowgrouplist.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoomwindowgrouplist.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,485 @@ +/* +* Copyright (c) 2010 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: A wrapper for the window group list, adding additional functionality required by OOM Monitor v2. +* +*/ + +#include +#include +#include +#include + +#include "oomwindowgrouplist.h" +#include "OomTraces.h" +#include "oomconstants.hrh" +#include "oompanic.h" + +#include "globaldata.h" +#include "diclog.h" + +_LIT(KDummyWgName, "20"); +const TInt KPreallocatedSpaceForAppList = 50; + +const TUint KOomTicksPerSecond = 1000; + +COomWindowGroupList::TOomWindowGroupProperties::TOomWindowGroupProperties() : iIdleTickTime(0), iDynamicPriority(EOomPriorityNormal) + { + FUNC_LOG; + } + +// Update the list of window groups +void COomWindowGroupList::Refresh() + { + TBuf buf(KWingoupListRefresh); + DicLog::WriteLog(TUid::Uid(0x0003), buf); + + FUNC_LOG; + +#ifdef _DEBUG + TRAPD(err, RefreshL()); + if (err) + { + TRACES1("COomWindowGroupList::Refresh(): RefreshL leave %d", err); + } +#else + TRAP_IGNORE(RefreshL()); + // Ignore any error + // Errors are very unlikely, the only possibility is OOM errors (which should be very unlikely due to pre-created, re-reserved lists) + // The outcome of any error is that the most foreground operations will be missing from the list + // meaning that they will not be considered candidates for closing +#endif + } + +// Update the list of window groups +// Should be called whenever the +void COomWindowGroupList::RefreshL() + { + FUNC_LOG; + + // Refresh window group list + // get all window groups, with info about parents + TInt numGroups = iWs.NumWindowGroups(0); + iWgIds.ReserveL(numGroups); + User::LeaveIfError(iWs.WindowGroupList(0, &iWgIds)); + + // Remove all child window groups, promote parents to foremost child position + CollapseWindowGroupTree(); + + // Note the current foreground window ID (if there is one) + TBool oldForegroundWindowExists = EFalse; + + TInt oldForegroundWindowId; + if (iWgIds.Count() > 0) + { + oldForegroundWindowId = iWgIds[0].iId; + oldForegroundWindowExists = ETrue; + } + + // Cleanup the idletime hash map to remove idle times for any windows that have closed + RemovePropertiesForClosedWindowsL(); + + // Update the idle tick on the old foreground application (which might now be in the background) + // This will be set to the current system tick count and will be used later to determine the idle time + if (oldForegroundWindowExists) + { + TOomWindowGroupProperties* wgProperties = iWgToPropertiesMapping.Find(oldForegroundWindowId); + if (wgProperties) + { + wgProperties->iIdleTickTime = User::NTickCount(); + } + + // If there is no idle tick entry for this window ID then it will be created in the next step... + } + + TInt index = iWgIds.Count(); + + while (index--) + { + // See if there is a tick count entry for each window in the list + TOomWindowGroupProperties* wgProperties = iWgToPropertiesMapping.Find(iWgIds[index].iId); + + if (!wgProperties) + { + TOomWindowGroupProperties wgProperties; + wgProperties.iIdleTickTime = User::NTickCount(); + // If there is no idle tick entry for this window then add one + iWgToPropertiesMapping.InsertL(iWgIds[index].iId, wgProperties); + } + } + } + + + +void COomWindowGroupList::RemovePropertiesForClosedWindowsL() + { + FUNC_LOG; + + // First, clear the existing set of window IDs (it would be quicker to delete it BUT we have reserved memory for it and don't want to be allocating in low memory conditions) + RHashSet::TIter windowIdSetIter(iExistingWindowIds); + while (windowIdSetIter.Next()) + { + windowIdSetIter.RemoveCurrent(); + } + + // Create the set of existing window IDs (this saves expensive/repeated searching later on) + TInt index = iWgIds.Count(); + while (index--) + { + iExistingWindowIds.InsertL(iWgIds[index].iId); + } + + // Iterate the idle-time hash map - remove any items where the window no longer exists + RHashMap::TIter wgToIdleIterator(iWgToPropertiesMapping); + while (wgToIdleIterator.NextKey()) + { + // If the current key (window ID) does not exist in the set then remove the idle-time as it is no longer relevant + if (!iExistingWindowIds.Find(*(wgToIdleIterator.CurrentKey()))) + wgToIdleIterator.RemoveCurrent(); + } + } + + +TUint COomWindowGroupList::AppId(TInt aIndex, TBool aResolveFromThread) const + { + FUNC_LOG; + + // get the app's details + TPtr wgPtr(iWgNameBuf->Des()); + + TUid uid; + + TInt wgId = iWgIds[aIndex].iId; + + TInt err = iWs.GetWindowGroupNameFromIdentifier(wgId, wgPtr); + + if (KErrNone != err) + // If there is an error then set the UID to 0; + { + uid.iUid = 0; + } + else + { + iWgName->SetWindowGroupName(iWgNameBuf); // iWgName takes ownership of iWgNameBuf + uid = iWgName->AppUid(); // This UID comes from the app, not the mmp! + if (aResolveFromThread && uid.iUid == 0) + { + TApaTask task(iWs); + task.SetWgId(wgId); + TThreadId threadId = task.ThreadId(); + + TUint resolvedUid = 0; + RThread appThread; + TInt err = appThread.Open( threadId ); + if ( err == KErrNone ) + { + resolvedUid = appThread.SecureId().iId; + } + appThread.Close(); + TRACES2("COomWindowGroupList::AppId: NULL wg UID, taking from thread; resolvedUid = %x aIndex = %d", resolvedUid, aIndex); + return resolvedUid; + } + } + + return uid.iUid; + } + + +TTimeIntervalSeconds COomWindowGroupList::IdleTime(TInt aIndex) const + { + FUNC_LOG; + + TUint32 currentTickCount = User::NTickCount(); + + const TOomWindowGroupProperties* wgProperties = iWgToPropertiesMapping.Find(iWgIds[aIndex].iId); + + TTimeIntervalSeconds idleTime = 0; + + if (wgProperties) + { + // This should also handle the case where the current tick count has wrapped to a lower value than the idle tick time + // It will only work if it has wrapped once, but + TUint32 differenceBetweenTickCounts = currentTickCount - wgProperties->iIdleTickTime; + idleTime = differenceBetweenTickCounts / KOomTicksPerSecond; + } + + return idleTime; + } + + + +void COomWindowGroupList::CollapseWindowGroupTree() + { + FUNC_LOG; + + // start from the front, wg count can reduce as loop runs + for (TInt ii=0; ii 0) // wg has a parent + { + // Look for the parent position + TInt parentPos = ii; // use child pos as not-found signal + TInt count = iWgIds.Count(); + for (TInt jj=0; jj ii) // parent should be moved forward + { + iWgIds[ii] = iWgIds[parentPos]; + iWgIds.Remove(parentPos); + } + else if (parentPos < ii) // parent is already ahead of child, remove child + iWgIds.Remove(ii); + else // parent not found, skip + ii++; + } + else // wg does not have a parent, skip + ii++; + } + } + + + +COomWindowGroupList::COomWindowGroupList(RWsSession& aWs) : iWs(aWs) + { + FUNC_LOG; + } + + + +void COomWindowGroupList::ConstructL() + { + FUNC_LOG; + + // Reserve enough space to build an app list later. + iWgIds.ReserveL(KPreallocatedSpaceForAppList); + iUncollapsedWgIds.ReserveL(KPreallocatedSpaceForAppList); + + // Reserve enough space for the WG to idle tick mapping + iWgToPropertiesMapping.ReserveL(KPreallocatedSpaceForAppList); + + // Reserve enough space for CApaWindowGroupName. + iWgName = CApaWindowGroupName::NewL(iWs); + iWgNameBuf = HBufC::NewL(CApaWindowGroupName::EMaxLength); + (*iWgNameBuf) = KDummyWgName; + iWgName->SetWindowGroupName(iWgNameBuf); // iWgName takes ownership of iWgNameBuf + + RefreshL(); + } + + + +COomWindowGroupList* COomWindowGroupList::NewL(RWsSession& aWs) + { + FUNC_LOG; + + COomWindowGroupList* self = new (ELeave) COomWindowGroupList(aWs); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(self); + return self; + } + + + +COomWindowGroupList::~COomWindowGroupList() + { + FUNC_LOG; + + iWgIds.Close(); + iUncollapsedWgIds.Close(); + iWgToPropertiesMapping.Close(); + iExistingWindowIds.Close(); + delete iWgName; + } + + +void COomWindowGroupList::SetPriorityBusy(TInt aWgId) + { + DicLog::WriteIntLog(TUid::Uid(0x0006),aWgId); + + FUNC_LOG; + + Refresh(); + + TInt parentId; + TRAPD(err, parentId = FindParentIdL(aWgId)); + if (err) + { + parentId = aWgId; + } + + TOomWindowGroupProperties* wgProperties = iWgToPropertiesMapping.Find(parentId); + if (wgProperties) + { + wgProperties->iDynamicPriority = EOomPriorityBusy; + } + + // If we can't find the window group then ignore it + } + + +TInt COomWindowGroupList::FindParentIdL(TInt aWgId) + { + TInt numGroups = iWs.NumWindowGroups(0); + iUncollapsedWgIds.ReserveL(numGroups); + User::LeaveIfError(iWs.WindowGroupList(0, &iUncollapsedWgIds)); + + TInt parentPos = KErrNotFound; + + //loop through the window group list + for (TInt i=0; i=0 ) + { + while (iUncollapsedWgIds[parentPos].iParentId > 0) + { + // find the index for the parent + for (TInt j=0; jiDynamicPriority == EOomPriorityBusy); + } + + return isBusy; + } + +// Returns ETrue if an application has registered itself as high priority at runtime +TBool COomWindowGroupList::IsDynamicHighPriority(TInt aWgIndex) + { + FUNC_LOG; + + TBool isHighPriority = EFalse; + //__ASSERT_DEBUG(aWgIndex < iWgIds.Count(), OomMonitorPanic(KWindowGroupArrayIndexOutOfBounds)); + TOomWindowGroupProperties* wgProperties = iWgToPropertiesMapping.Find(iWgIds[aWgIndex].iId); + if (wgProperties) + { + isHighPriority = (wgProperties->iDynamicPriority == EOomPriorityHigh); + } + + return isHighPriority; + } + +CApaWindowGroupName* COomWindowGroupList::WgName() const + { + return iWgName; + } + +void COomWindowGroupList::SetPriorityNormal(TInt aWgId) + { + DicLog::WriteIntLog(TUid::Uid(0x0005),aWgId); + + FUNC_LOG; + + Refresh(); + + TInt parentId; + TRAPD(err, parentId = FindParentIdL(aWgId)); + if (err) + { + parentId = aWgId; + } + + TOomWindowGroupProperties* wgProperties = iWgToPropertiesMapping.Find(parentId); + if (wgProperties) + { + wgProperties->iDynamicPriority = EOomPriorityNormal; + } + + // If we can't find the window group then ignore it + } + + +void COomWindowGroupList::SetPriorityHigh(TInt aWgId) + { + DicLog::WriteIntLog(TUid::Uid(0x0004),aWgId); + + FUNC_LOG; + + Refresh(); + + TInt parentId; + TRAPD(err, parentId = FindParentIdL(aWgId)); + if (err) + { + parentId = aWgId; + } + + TOomWindowGroupProperties* wgProperties = iWgToPropertiesMapping.Find(parentId); + if (wgProperties) + { + wgProperties->iDynamicPriority = EOomPriorityHigh; + } + + // If we can't find the window group then ignore it + } + +// Find the specificed application in the window group list and return the index +TInt COomWindowGroupList::GetIndexFromAppId(TUint aAppId) const + { + FUNC_LOG; + + TInt indexInGroupList = Count(); + TBool appFoundInWindowGroupList = EFalse; + + while (indexInGroupList--) + { + if (AppId(indexInGroupList, ETrue) == aAppId) + { + appFoundInWindowGroupList = ETrue; + break; + } + } + + if (!appFoundInWindowGroupList) + indexInGroupList = KAppNotInWindowGroupList; + + return indexInGroupList; + } diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoomwserveventreceiver.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/mockoomwserveventreceiver.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,56 @@ +/* +* Copyright (c) 2010 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: Main classes for Out of Memory Monitor. +* +*/ + +#include +#include +#include "oomwserveventreceiver.h" +#include "oommemorymonitor.h" +#include "OomTraces.h" +#include "oomconstants.hrh" + +#include "apgwgnam.h" + +CWservEventReceiver::CWservEventReceiver(CMemoryMonitor& aMonitor, RWsSession& aWs) +: CActive(CActive::EPriorityStandard), iMonitor(aMonitor), iWs(aWs), iWg(aWs) + { + + } + +CWservEventReceiver::~CWservEventReceiver() + { + + } + +void CWservEventReceiver::ConstructL() + { + + } + +void CWservEventReceiver::Queue() + { + + } + +void CWservEventReceiver::DoCancel() + { + + } + +void CWservEventReceiver::RunL() + { + + } diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/oomfriendclass.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/oomfriendclass.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,150 @@ +/* +* Copyright (c) 2010 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: This file contains STIFUnit implementation. +* +*/ + +#include "oomfriendclass.h" +#include <../../../inc/oommemorymonitor.h> +#include +#include +#include +#include +#include +#include +#include +#include + + +COomFriendClass::COomFriendClass() + { + + } + +COomFriendClass::~COomFriendClass() + { + + } + +COomFriendClass* COomFriendClass::COomFriendClass::NewLC() + { + COomFriendClass* self=new(ELeave) COomFriendClass(); + CleanupStack::PushL(self); + self->ConstructL(); + return self; + } + +COomFriendClass* COomFriendClass::COomFriendClass::NewL() + { + COomFriendClass* self=COomFriendClass::NewLC(); + CleanupStack::Pop(self); + return self; + } + +void COomFriendClass::ConstructL() + { + + } + +COomWindowGroupList* COomFriendClass::GetWindowGroupList(CMemoryMonitor* aMemoryMonitor) + { + return aMemoryMonitor->iOomWindowGroupList; + } + +COomConfig* COomFriendClass::GetOomConfig(CMemoryMonitor* aMemoryMonitor) + { + return aMemoryMonitor->iConfig; + } + +COomClientRequestQueue* COomFriendClass::GetClientRequestQueue(CMemoryMonitor* aMemoryMonitor) + { + return aMemoryMonitor->iQueue; + } + +CMemoryMonitorServer* COomFriendClass::GetMemoryMonitorServer(CMemoryMonitor* aMemoryMonitor) + { + return aMemoryMonitor->iServer; + } + +COomActionList* COomFriendClass::GetOomActionList(CMemoryMonitor* aMemoryMonitor) + { + return aMemoryMonitor->iOomActionList; + } + +#ifdef _DEBUG +COomLogger* COomFriendClass::GetOomLogger(CMemoryMonitor* aMemoryMonitor) + { + return aMemoryMonitor->iLogger; + } +#endif + +COutOfMemoryWatcher* COomFriendClass::GetOutOfMemoryWatcher(CMemoryMonitor* aMemoryMonitor) + { + return aMemoryMonitor->iOOMWatcher; + } + +CWservEventReceiver* COomFriendClass::GetEventReceiver(CMemoryMonitor* aMemoryMonitor) + { + return aMemoryMonitor->iWservEventReceiver; + } + +void COomFriendClass::CallRefreshThresholds(CMemoryMonitor* aMemoryMonitor) + { + aMemoryMonitor->RefreshThresholds(); + } + +TInt COomFriendClass::GetGoodRamThreshold(CMemoryMonitor* aMemoryMonitor) + { + return aMemoryMonitor->iGoodRamThreshold; + } + +TInt COomFriendClass::GetLowRamThreshold(CMemoryMonitor* aMemoryMonitor) + { + return aMemoryMonitor->iLowRamThreshold; + } + +TInt COomFriendClass::GetGoodSwapThreshold(CMemoryMonitor* aMemoryMonitor) + { + return aMemoryMonitor->iGoodSwapThreshold; + } + +TInt COomFriendClass::GetLowSwapThreshold(CMemoryMonitor* aMemoryMonitor) + { + return aMemoryMonitor->iLowSwapThreshold; + } + +TInt COomFriendClass::GetCurrentRamTarget(CMemoryMonitor* aMemoryMonitor) + { + return aMemoryMonitor->iCurrentRamTarget; + } + +TInt COomFriendClass::GetCurrentSwapTarget(CMemoryMonitor* aMemoryMonitor) + { + return aMemoryMonitor->iCurrentSwapTarget; + } + +TInt COomFriendClass::GetActionTrigger(CMemoryMonitor* aMemoryMonitor) + { + return STATIC_CAST(TInt, aMemoryMonitor->iActionTrigger); + } + +TBool COomFriendClass::GetDataPaged(CMemoryMonitor* aMemoryMonitor) + { + return aMemoryMonitor->iDataPaged; + } + +TInt COomFriendClass::GetLastMemoryMonitorStatusProperty(CMemoryMonitor* aMemoryMonitor) + { + return aMemoryMonitor->iLastMemoryMonitorStatusProperty; + } diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/ut_oom_memorymonitor.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/ut_oom_memorymonitor.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,125 @@ +/* +* Copyright (c) 2010 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: This file contains STIFUnit module implementation. +* +*/ + +/******************************************************************************/ +/* + * + * Test module configuration +*/ + +// Version +#define TEST_MODULE_VERSION_MAJOR 0 +#define TEST_MODULE_VERSION_MINOR 0 +#define TEST_MODULE_VERSION_BUILD 0 + +// Uncomment following defines, if you want to provide implementation +// of enlisted virtual methods of test module. +// Implementation part is located at the end of this file. +//#define STIFUNIT_OOMTESTQUERYL +//#define STIFUNIT_OOMTESTINITIALIZEL +//#define STIFUNIT_OOMHANDLEWARNINGL +//#define STIFUNIT_OOMTESTFINALIZEL +// Uncomment following define, if you want to increase heap or stack size. +// #define STIFUNIT_SETHEAPANDSTACKSIZE +/******************************************************************************/ + + +/* + * Test module internals. Please do not edit them. +*/ + +// Includes +#include + +// Literals +_LIT( KUnitLogPath, "\\logs\\testframework\\ut_oom_memorymonitor\\" ); +_LIT( KUnitLogFile, "ut_oom_memorymonitor.txt" ); +_LIT( KLogStart, "ut_oom_memorymonitor logging starts!" ); + +// Defines +#define STIF_UNIT_TEST_CASES "../src/ut_oom_memorymonitorCases.cpp" +#define STIF_UNIT_MODULE_CLASS_NAME Cut_oom_memorymonitor +#define STIF_UNIT_MODULE_NAME _L("ut_oom_memorymonitor.dll") + +// Include STIF unit generic file +#include + +/* + * Implementation of setHeapAndStack virtual methods. + * To changes heap and stack size provide new values to iTestThreadStackSize, iTestThreadMinHeap and iTestThreadMaxHeap. +*/ + +#ifdef STIFUNIT_SETHEAPANDSTACKSIZE +EXPORT_C TInt SetRequirements( CTestModuleParam*& aTestModuleParam, + TUint32& aParameterValid ) + { + aParameterValid = KStifTestModuleParameterChanged; + TRAPD(err, CTestModuleParamVer01* param = CTestModuleParamVer01::NewL()); + if(KErrNone==err) + { + // Stack size + param->iTestThreadStackSize= 16384; // 16K stack + // Heap sizes + param->iTestThreadMinHeap = 4096; // 4K heap min + param->iTestThreadMaxHeap = 1048576;// 1M heap max + } + } +#undef STIFUNIT_SETHEAPANDSTACKSIZE +#endif + +/* + * User implementation of OOM virtual methods. + * Providing own implementation requires uncommenting defines at the + * beginnig of this file. +*/ +#ifdef STIFUNIT_OOMTESTQUERYL +TBool Cut_oom_memorymonitor::OOMTestQueryL( const TFileName& /*aTestCaseFile*/, + const TInt aCaseNumber, + TOOMFailureType& aFailureType, + TInt& aFirstMemFailure, + TInt& aLastMemFailure) + { + } +#undef STIFUNIT_OOMTESTQUERYL +#endif + +#ifdef STIFUNIT_OOMTESTINITIALIZEL +void Cut_oom_memorymonitor::OOMTestInitializeL( const TFileName& /*aTestCaseFile*/, + const TInt /*aCaseNumber*/ ) + { + } +#undef STIFUNIT_OOMTESTINITIALIZEL +#endif + +#ifdef STIFUNIT_OOMHANDLEWARNINGL +void Cut_oom_memorymonitor::OOMHandleWarningL( const TFileName& /*aTestCaseFile*/, + const TInt /*aCaseNumber*/, + TInt& /*aFailNextValue*/) + { + } +#undef STIFUNIT_OOMHANDLEWARNINGL +#endif + +#ifdef STIFUNIT_OOMTESTFINALIZEL +void Cut_oom_memorymonitor::OOMTestFinalizeL( const TFileName& /*aTestCaseFile*/, + const TInt /*aCaseNumber*/ ) + { + } +#undef STIFUNIT_OOMTESTFINALIZEL +#endif + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/ut_oom_memorymonitorCases.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oom_memorymonitor/src/ut_oom_memorymonitorCases.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,1109 @@ +/* +* Copyright (c) 2010 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: This file contains STIFUnit implementation. +* +*/ + +/** + * STIF_UNIT_INCLUDE SECTION - put all #includes between STIF_UNIT_INCLUDE_SECTION + * and STIF_UNIT_INCLUDE_SECTION_END + */ +#ifdef STIF_UNIT_INCLUDE_SECTION + +#include // RDebug +#include +#include +#include +#include +#include +#include "diclog.h" +#include "globaldata.h" +#include "oomfriendclass.h" + +#endif //STIF_UNIT_INCLUDE_SECTION_END + +/** + * GLOBAL VARIABLES SECTION + */ +#ifdef TEST_VAR_DECLARATIONS + /** + * Example of variable common for some test cases + */ + + +#endif +/** + * END OF GLOBAL VARIABLES SECTION + */ + + +/** + * TEST CASES SECTION + */ +#ifdef TEST_CASES +/** + * STIF_SETUP defines activities needed before every test case. + */ +STIF_SETUP +{ + /** Example of use of STIF_SETUP - a variable common for some test cases is initialized + */ + +} + +/** + * STIF_TEARDOWN defines activities needed after every test case + */ +STIF_TEARDOWN +{ + /** Example of use of STIF_TEARDOWN - a variable common for some test cases is destroyed + */ + +} + +/** + * @SYMTestCaseID GAPS-OOM-MEMORYMONITOR-001 + * @SYMTestCaseDesc Test ConstruL() function of CMemoryMonitor. + * @SYMTestPriority Medium + * @SYMTestActions 1. Create CMemoryMonitor object. + * 2. Create COomFriendClass object. + * 3. Check WindowGroupList pointer. + * 4. Check OomConfig pointer. + * 5. Check ClientRequestQueue pointer. + * 6. Check MemoryMonitorServer pointer. + * 7. Check ActionList pointer. + * 8. Check OomLogger pointer when debug. + * 9. Check OutOfMemoryWatcher pointer. + * 10. Check EventReceiver pointer. + * 11. Check the call of COomConfigParser::ParseL(). + * 12. Check the call of COutOfMemoryWatcher::Start(). + * 13. Check the call of COomWindowGroupList::Refresh(). + * 14. Delete diclog file. + * 15. Delete COomFriendClass object. + * 16. Delete CMemoryMonitor object. + * @SYMTestExpectedResults 1. Create CMemoryMonitor object successfully. + * 2. Create COomFriendClass object sucessfully. + * 3. WindowGroupList pointer is not NULL. + * 4. OomConfig pointer is not NULL. + * 5. ClientRequestQueue pointer is not NULL. + * 6. MemoryMonitorServer pointer is not NULL. + * 7. ActionList pointer is not NULL. + * 8. OomLogger pointer when debug is not NULL. + * 9. OutOfMemoryWatcher pointer is not NULL. + * 10. EventReceiver pointer is not NULL. + * 11. COomConfigParser::ParseL() is called. + * 12. COutOfMemoryWatcher::Start() is called. + * 13. COomWindowGroupList::Refresh() is called. + * 14. Delete diclog file successfully. + * 15. Delete COomFriendClass object successfully. + * 16. Delete CMemoryMonitor object successfully. + * @SYMTestType Unit Test + * @SYMCreationDate 15-08-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-MEMORYMONITOR-001) +{ + iLog->Log( _L("OomMemoryMonitor: Start test ConstructL()!")); + iLog->Log( _L("OomMemoryMonitor: Create CMemoryMonitor object!")); + CMemoryMonitor* oom = NULL; + oom = CMemoryMonitor::NewL(); + STIF_ASSERT_NOT_NULL(oom); + + CleanupStack::PushL(oom); + iLog->Log( _L("OomMemoryMonitor: Delete diclog file.")); + + iLog->Log( _L("OomMemoryMonitor: Create friend class!")); + COomFriendClass* oomFriendClass=COomFriendClass::NewLC(); + STIF_ASSERT_NOT_NULL(oomFriendClass); + + COomWindowGroupList* oomWindowGroupList=oomFriendClass->GetWindowGroupList(oom); + iLog->Log( _L("OomMemoryMonitor: oomWindowGroupList=%d"),oomWindowGroupList); + STIF_ASSERT_NOT_NULL(oomWindowGroupList); + + COomConfig* oomConfig=oomFriendClass->GetOomConfig(oom); + iLog->Log( _L("OomMemoryMonitor: oomConfig=%d"),oomConfig); + STIF_ASSERT_NOT_NULL(oomConfig); + + COomClientRequestQueue* oomClientRequestQueue=oomFriendClass->GetClientRequestQueue(oom); + iLog->Log( _L("OomMemoryMonitor: oomClientRequestQueue=%d"),oomClientRequestQueue); + STIF_ASSERT_NOT_NULL(oomClientRequestQueue); + + CMemoryMonitorServer* oomMemoryMonitorServer=oomFriendClass->GetMemoryMonitorServer(oom); + iLog->Log( _L("OomMemoryMonitor: oomMemoryMonitorServer=%d"),oomMemoryMonitorServer); + STIF_ASSERT_NOT_NULL(oomMemoryMonitorServer); + + COomActionList* oomActionList=oomFriendClass->GetOomActionList(oom); + iLog->Log( _L("OomMemoryMonitor: oomActionList=%d"),oomActionList); + STIF_ASSERT_NOT_NULL(oomActionList); + +#ifdef _DEBUG + COomLogger* oomLogger=oomFriendClass->GetOomLogger(oom); + iLog->Log( _L("OomMemoryMonitor: oomLogger=%d"),oomLogger); + STIF_ASSERT_NOT_NULL(oomLogger); + +#endif + + COutOfMemoryWatcher* oomOutOfMemoryWatcher=oomFriendClass->GetOutOfMemoryWatcher(oom); + iLog->Log( _L("OomMemoryMonitor: oomOutOfMemoryWatcher=%d"),oomOutOfMemoryWatcher); + STIF_ASSERT_NOT_NULL(oomOutOfMemoryWatcher); + + CWservEventReceiver* oomEventReceiver=oomFriendClass->GetEventReceiver(oom); + iLog->Log( _L("OomMemoryMonitor: oomEventReceiver=%d"),oomEventReceiver); + STIF_ASSERT_NOT_NULL(oomEventReceiver); + + iLog->Log( _L("OomMemoryMonitor: Check the call of COomConfigParser::ParseL()!")); + TBuf buf(KConfigParserParser); + TBuf buf1; + DicLog::ReadLog(TUid::Uid(0x0001), buf1); + STIF_ASSERT_EQUALS(buf1, buf); + + iLog->Log( _L("OomMemoryMonitor: Check the call of COutOfMemoryWatcher::Start()!")); + TBuf buf2(KOutOfMemoryWatcherStart); + TBuf buf3; + DicLog::ReadLog(TUid::Uid(0x0002), buf3); + STIF_ASSERT_EQUALS(buf2, buf3); + + iLog->Log( _L("OomMemoryMonitor: Check the call of COomWindowGroupList::Refresh()!")); + TBuf buf4(KWingoupListRefresh); + TBuf buf5; + DicLog::ReadLog(TUid::Uid(0x0003), buf5); + STIF_ASSERT_EQUALS(buf4, buf5); + + DicLog::RemoveLogFile(); + iLog->Log( _L("OomMemoryMonitor: Delete diclog file.")); + CleanupStack::PopAndDestroy(oomFriendClass); + iLog->Log( _L("OomMemoryMonitor: Delete oomFriendClass!")); + CleanupStack::PopAndDestroy(oom); + iLog->Log( _L("OomMemoryMonitor: test ConstructL() finished!")); +} + +/** + * @SYMTestCaseID GAPS-OOM-MEMORYMONITOR-002 + * @SYMTestCaseDesc Test RefreshThresholds() function of CMemoryMonitor. + * @SYMTestPriority Medium + * @SYMTestActions 1. Create CMemoryMonitor object. + * 2. Create COomFriendClass object. + * 3. Set GoodRamThreshold, LowRamThreshold, GoodSwapThreshold and LowSwapThreshold + * of global config. + * 4. Call RefreshThresholds(). + * 5. Check windowgrouplist refresh function is called. + * 6. Check GoodRamThreshold, LowRamThreshold, GoodSwapThreshold and LowSwapThreshold + * value of CMemoryMonitor object. + * 7. Delete diclog file. + * 8. Delete COomFriendClass object. + * 9. Delete CMemoryMonitor object. + * @SYMTestExpectedResults 1. Create CMemoryMonitor object successfully. + * 2. Create COomFriendClass object. + * 3. The value of GoodRamThreshold, LowRamThreshold, GoodSwapThreshold and LowSwapThreshold + * of global config is set. + * 4. RefreshThresholds() function is called. + * 5. Refresh function of windowgrouplist is called. + * 6. The value of GoodRamThreshold, LowRamThreshold, GoodSwapThreshold and LowSwapThreshold + * of CMemoryMonitor object is set as expected. + * 7. Delete diclog file successfully. + * 8. Delete COomFriendClass object successfully. + * 9. Delete CMemoryMonitor object successfully. + * @SYMTestType Unit Test + * @SYMCreationDate 15-08-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-MEMORYMONITOR-002) +{ + iLog->Log(_L("OomMemoryMonitor: Start test RefreshThresholds()!\n")); + CMemoryMonitor* oom = NULL; + oom = CMemoryMonitor::NewL(); + STIF_ASSERT_NOT_NULL(oom); + + CleanupStack::PushL(oom); + iLog->Log( _L("OomMemoryMonitor: Create friend class!\n")); + COomFriendClass* oomFriendClass=COomFriendClass::NewLC(); + + COomConfig* oomConfig=oomFriendClass->GetOomConfig(oom); + STIF_ASSERT_NOT_NULL(oomConfig); + + const TInt goodRamThre=100; + const TInt lowRamThre=200; + const TInt goodSwapThre=300; + const TInt lowSwapThre=400; + + oomConfig->SetDefaultGoodRamThreshold(goodRamThre); + oomConfig->SetDefaultLowRamThreshold(lowRamThre); + oomConfig->SetDefaultGoodSwapThreshold(goodSwapThre); + oomConfig->SetDefaultLowSwapThreshold(lowSwapThre); + + oomFriendClass->CallRefreshThresholds(oom); + + iLog->Log( _L("OomMemoryMonitor: Call COomWindowGroupList::Refresh()!\n")); + TBuf buf1(KWingoupListRefresh); + TBuf buf2; + DicLog::ReadLog(TUid::Uid(0x0003), buf2); + iLog->Log(_L("KWingoupListRefresh=%s"),buf2.Ptr()); + STIF_ASSERT_EQUALS(buf1, buf2); + + iLog->Log(_L("OomMemoryMonitor: Check return value!\n")); + TInt goodRamThreshold=oomFriendClass->GetGoodRamThreshold(oom); + TInt lowRamThreshold=oomFriendClass->GetLowRamThreshold(oom); + TInt goodSwapThreshold=oomFriendClass->GetGoodSwapThreshold(oom); + TInt lowSwapThreshold=oomFriendClass->GetLowSwapThreshold(oom); + iLog->Log(_L("valuse=%d,%d,%d,%d\n"),&goodRamThreshold, &lowRamThreshold, &goodSwapThreshold, &lowSwapThreshold); + STIF_ASSERT_EQUALS(goodRamThre,goodRamThreshold); + STIF_ASSERT_EQUALS(lowRamThre,lowRamThreshold); + STIF_ASSERT_EQUALS(goodSwapThre,goodSwapThreshold); + STIF_ASSERT_EQUALS(lowSwapThre,lowSwapThreshold); + + DicLog::RemoveLogFile(); + CleanupStack::PopAndDestroy(oomFriendClass); + CleanupStack::PopAndDestroy(oom); + iLog->Log( _L("OomMemoryMonitor: test RefreshThresholds() finished!")); +} + +/** + * @SYMTestCaseID GAPS-OOM-MEMORYMONITOR-003 + * @SYMTestCaseDesc Test StartFreeSomeRamL() function of CMemoryMonitor. + * @SYMTestPriority Medium + * @SYMTestActions 1. Create CMemoryMonitor object. + * 2. Create COomFriendClass object. + * 3. Call StartFreeSomeRamL() function; + * 4. Check COomActionList->FreeMemory(aMaxPriority) is function is called. + * 5. Delete diclog file. + * 6. Delete COomFriendClass object. + * 7. Delete CMemoryMonitor object. + * @SYMTestExpectedResults 1. Create CMemoryMonitor object successfully. + * 2. Create COomFriendClass object. + * 3. StartFreeSomeRamL() function is called. + * 4. COomActionList->SwitchOffPlugins() is called. + * 5. Delete diclog file successfully. + * 6. Delete COomFriendClass object successfully. + * 7. Delete CMemoryMonitor object successfully. + * @SYMTestType Unit Test + * @SYMCreationDate 15-08-2010 + */ + +STIF_TESTDEFINE(GAPS-OOM-MEMORYMONITOR-003) +{ + iLog->Log(_L("OomMemoryMonitor: Start test StartFreeSomeRamL()!\n")); + CMemoryMonitor* oom = NULL; + oom = CMemoryMonitor::NewL(); + STIF_ASSERT_NOT_NULL(oom); + + CleanupStack::PushL(oom); + iLog->Log( _L("OomMemoryMonitor: Create friend class!\n")); + COomFriendClass* oomFriendClass=COomFriendClass::NewLC(); + + const TInt KPriority2=35; + const TInt KTargeRamSize=500*1024*1024; + oom->StartFreeSomeRamL(KTargeRamSize, KTargeRamSize, KPriority2); + + TInt32 maxPriority32=0; + DicLog::ReadIntLog(TUid::Uid(0x0015), maxPriority32); + TInt maxPriority=STATIC_CAST(TInt, maxPriority32); + iLog->Log(_L("OomMemoryMonitor: maxPriority32=%d"), maxPriority32); + STIF_ASSERT_EQUALS(maxPriority, KPriority2); + + DicLog::RemoveLogFile(); + CleanupStack::PopAndDestroy(oomFriendClass); + CleanupStack::PopAndDestroy(oom); + iLog->Log(_L("OomMemoryMonitor: test StartFreeSomeRamL() finished!")); +} + +/** + * @SYMTestCaseID GAPS-OOM-MEMORYMONITOR-004 + * @SYMTestCaseDesc Test HandleFocusedWgChangeL() function of CMemoryMonitor. + * @SYMTestPriority Medium + * @SYMTestActions 1. Create CMemoryMonitor object. + * 2. Create COomFriendClass object. + * 3. Set the value of iGoodRamThreshold, iLowRamThreshold, iGoodSwapThreshold + * iLowSwapThreshold of CMemoryMonitor object. + * 4. Set GoodRamThreshold, LowRamThreshold, GoodSwapThreshold and LowSwapThreshold + * of global config. + * 5. Call HandleFocusedWgChangeL function. + * 6. Check iGoodRamThreshold, iLowRamThreshold, iGoodSwapThreshold + * iLowSwapThreshold of CMemoryMonitor object is set correct value. + * 7. Check iCurrentRamTarget and iCurrentSwapTarget of CMemoryMonitor object + * is set correct value. + * 8. Check COomConfig->StartL() is called. + * 9. Check COomActionList->BuildActionListL() is called. + * 10. Check COomActionList->FreeMemory(aMaxPriority) is called. + * 11. Delete diclog file. + * 12. Delete COomFriendClass object. + * 13. Delete CMemoryMonitor object. + * @SYMTestExpectedResults 1. Create CMemoryMonitor object successfully. + * 2. Create COomFriendClass object. + * 3. The value of iGoodRamThreshold, iLowRamThreshold, iGoodSwapThreshold + * iLowSwapThreshold of CMemoryMonitor object is set. + * 4. The value of GoodRamThreshold, LowRamThreshold, GoodSwapThreshold and LowSwapThreshold + * of global config is set. + * 5. HandleFocusedWgChangeL function is called. + * 6. iGoodRamThreshold, iLowRamThreshold, iGoodSwapThreshold + * iLowSwapThreshold of CMemoryMonitor object is set correct value. + * 7. iCurrentRamTarget and iCurrentSwapTarget of CMemoryMonitor object + * is set correct value. + * 8. COomConfig->StartL() is called. + * 9. COomActionList->BuildActionListL() is called. + * 10. COomActionList->FreeMemory(aMaxPriority) is called. + * 11. Delete diclog file successfully. + * 12. Delete COomFriendClass object successfully. + * 13. Delete CMemoryMonitor object successfully. + * @SYMTestType Unit Test + * @SYMCreationDate 15-08-2010 + */ + +STIF_TESTDEFINE(GAPS-OOM-MEMORYMONITOR-004) +{ + iLog->Log(_L("OomMemoryMonitor: Start test HandleFocusedWgChangeL()!\n")); + CMemoryMonitor* oom = NULL; + oom = CMemoryMonitor::NewL(); + STIF_ASSERT_NOT_NULL(oom); + + CleanupStack::PushL(oom); + iLog->Log( _L("OomMemoryMonitor: Create friend class!\n")); + COomFriendClass* oomFriendClass=COomFriendClass::NewLC(); + + COomConfig* oomConfig=oomFriendClass->GetOomConfig(oom); + STIF_ASSERT_NOT_NULL(oomConfig); + + oomConfig->SetDefaultGoodRamThreshold(KGoodRamThreshold); + oomConfig->SetDefaultLowRamThreshold(KLowRamThreshold); + oomConfig->SetDefaultGoodSwapThreshold(KGoodSwapThreshold); + oomConfig->SetDefaultLowSwapThreshold(KLowSwapThreshold); + + oomFriendClass->CallRefreshThresholds(oom); + + oomConfig->SetDefaultGoodRamThreshold(KGoodRamThreshold*KMSize); + oomConfig->SetDefaultLowRamThreshold(KLowRamThreshold*KMSize); + oomConfig->SetDefaultGoodSwapThreshold(KGoodSwapThreshold*KMSize); + oomConfig->SetDefaultLowSwapThreshold(KLowSwapThreshold*KMSize); + + oom->HandleFocusedWgChangeL(); + + TInt32 lowRamThreshold32=0; + DicLog::ReadIntLog(TUid::Uid(0x0009), lowRamThreshold32); + TInt lowRamThreshold=STATIC_CAST(TInt, lowRamThreshold32); + STIF_ASSERT_EQUALS(lowRamThreshold, KLowRamThreshold*KMSize); + + TInt32 goodRamThreshold32=0; + DicLog::ReadIntLog(TUid::Uid(0x0010), goodRamThreshold32); + TInt goodRamThreshold=STATIC_CAST(TInt, goodRamThreshold32); + STIF_ASSERT_EQUALS(goodRamThreshold, KGoodRamThreshold*KMSize); + + TInt32 lowSwapThreshold32=0; + DicLog::ReadIntLog(TUid::Uid(0x0011), lowSwapThreshold32); + TInt lowSwapThreshold=STATIC_CAST(TInt, lowSwapThreshold32); + STIF_ASSERT_EQUALS((TInt)lowSwapThreshold, KLowSwapThreshold*KMSize); + + TInt32 goodSwapThreshold32=0; + DicLog::ReadIntLog(TUid::Uid(0x0012), goodSwapThreshold32); + TInt goodSwapThreshold=STATIC_CAST(TInt, goodSwapThreshold32); + STIF_ASSERT_EQUALS(goodSwapThreshold, KGoodSwapThreshold*KMSize); + + TInt ramTarget=oomFriendClass->GetCurrentRamTarget(oom); + TInt swapTarget=oomFriendClass->GetCurrentSwapTarget(oom); + + STIF_ASSERT_EQUALS(ramTarget, KGoodRamThreshold*KMSize); + STIF_ASSERT_EQUALS(swapTarget, KGoodSwapThreshold*KMSize); + +#ifdef _DEBUG + TBuf buf1(KOomLoggerStartL); + TBuf buf2; + DicLog::ReadLog(TUid::Uid(0x0013), buf2); + iLog->Log(_L("KOomLoggerStartL=%s"),buf2.Ptr()); + STIF_ASSERT_EQUALS(buf1, buf2); +#endif + + TBuf buf3(KActionListBuildActionListL); + TBuf buf4; + DicLog::ReadLog(TUid::Uid(0x0014), buf4); + iLog->Log(_L("KActionListBuildActionListL=%s"),buf4.Ptr()); + STIF_ASSERT_EQUALS(buf3, buf4); + + TInt32 maxPriority32=0; + DicLog::ReadIntLog(TUid::Uid(0x0015), maxPriority32); + TInt maxPriority=STATIC_CAST(TInt, maxPriority32); + STIF_ASSERT_EQUALS(maxPriority, KOomPriorityInfinate - 1); + + DicLog::RemoveLogFile(); + CleanupStack::PopAndDestroy(oomFriendClass); + CleanupStack::PopAndDestroy(oom); + iLog->Log(_L("OomMemoryMonitor: test HandleFocusedWgChangeL() finished!")); +} + +/** + * @SYMTestCaseID GAPS-OOM-MEMORYMONITOR-005 + * @SYMTestCaseDesc Test FreeMemThresholdCrossedL() function of CMemoryMonitor. + * @SYMTestPriority Medium + * @SYMTestActions 1. Create CMemoryMonitor object. + * 2. Create COomFriendClass object. + * 3. Set GoodRamThreshold, LowRamThreshold, GoodSwapThreshold and LowSwapThreshold + * of global config. + * 4. Call FreeMemThresholdCrossedL function. + * 5. Check iActionTrigger value of CMemoryMonitor object. + * 6. Check iCurrentRamTarget and iCurrentSwapTarget of CMemoryMonitor object + * is set correct value. + * 7. Delete diclog file. + * 8. Delete COomFriendClass object. + * 9. Delete CMemoryMonitor object. + * @SYMTestExpectedResults 1. Create CMemoryMonitor object successfully. + * 2. Create COomFriendClass object. + * 3. The value of GoodRamThreshold, LowRamThreshold, GoodSwapThreshold and LowSwapThreshold + * of global config is set. + * 4. FreeMemThresholdCrossedL function is called. + * 5. The value of iActionTrigger of CMemoryMonitor object is set as expected. + * 6. iCurrentRamTarget and iCurrentSwapTarget of CMemoryMonitor object + * is set correct value. + * 7. Delete diclog file successfully. + * 8. Delete COomFriendClass object successfully. + * 9. Delete CMemoryMonitor object successfully. + * @SYMTestType Unit Test + * @SYMCreationDate 15-08-2010 + */ + +STIF_TESTDEFINE(GAPS-OOM-MEMORYMONITOR-005) +{ + iLog->Log(_L("OomMemoryMonitor: Start test FreeMemThresholdCrossedL()!\n")); + CMemoryMonitor* oom = NULL; + oom = CMemoryMonitor::NewL(); + STIF_ASSERT_NOT_NULL(oom); + + CleanupStack::PushL(oom); + iLog->Log(_L("OomMemoryMonitor: Create friend class!\n")); + COomFriendClass* oomFriendClass=COomFriendClass::NewLC(); + + COomConfig* oomConfig=oomFriendClass->GetOomConfig(oom); + STIF_ASSERT_NOT_NULL(oomConfig); + + oomConfig->SetDefaultGoodRamThreshold(KGoodRamThreshold*KMSize); + oomConfig->SetDefaultLowRamThreshold(KLowRamThreshold*KMSize); + oomConfig->SetDefaultGoodSwapThreshold(KGoodSwapThreshold*KMSize); + oomConfig->SetDefaultLowSwapThreshold(KLowSwapThreshold*KMSize); + + oomFriendClass->CallRefreshThresholds(oom); + + oom->FreeMemThresholdCrossedL(); + + TInt actionTriggerType1=STATIC_CAST(TInt, ERamRotation); + TInt actionTriggerType2=oom->ActionTrigger(); + TInt actionTriggerType3=STATIC_CAST(TInt, actionTriggerType2); + iLog->Log( _L("OomMemoryMonitor: ActionTrigger=%d\n"), actionTriggerType3); + STIF_ASSERT_EQUALS(actionTriggerType1, actionTriggerType3); + + TInt ramTarget=oomFriendClass->GetCurrentRamTarget(oom); + TInt swapTarget=oomFriendClass->GetCurrentSwapTarget(oom); + iLog->Log( _L("OomMemoryMonitor: ramTarget=%d, swapTarget=%d\n"), ramTarget, swapTarget); + + STIF_ASSERT_EQUALS(ramTarget, KGoodRamThreshold*KMSize); + STIF_ASSERT_EQUALS(swapTarget, KGoodSwapThreshold*KMSize); + + DicLog::RemoveLogFile(); + CleanupStack::PopAndDestroy(oomFriendClass); + CleanupStack::PopAndDestroy(oom); + iLog->Log(_L("OomMemoryMonitor: test FreeMemThresholdCrossedL() finished!")); +} + +/** + * @SYMTestCaseID GAPS-OOM-MEMORYMONITOR-006 + * @SYMTestCaseDesc Test RequestFreeMemoryPandSL() function of CMemoryMonitor. + * @SYMTestPriority Medium + * @SYMTestActions 1. Create CMemoryMonitor object. + * 2. Create COomFriendClass object. + * 3. Set GoodRamThreshold, LowRamThreshold, GoodSwapThreshold and LowSwapThreshold + * of global config. + * 4. Call RequestFreeMemoryPandSL function. + * 5. Check iActionTrigger value of CMemoryMonitor object. + * 6. Check iCurrentRamTarget and iCurrentSwapTarget of CMemoryMonitor object + * is set correct value. + * 7. Delete diclog file. + * 8. Delete COomFriendClass object. + * 9. Delete CMemoryMonitor object. + * @SYMTestExpectedResults 1. Create CMemoryMonitor object successfully. + * 2. Create COomFriendClass object. + * 3. The value of GoodRamThreshold, LowRamThreshold, GoodSwapThreshold and LowSwapThreshold + * of global config is set. + * 4. RequestFreeMemoryPandSL function is called. + * 5. The value of iActionTrigger of CMemoryMonitor object is set as expected. + * 6. iCurrentRamTarget and iCurrentSwapTarget of CMemoryMonitor object + * is set correct value. + * 7. Delete diclog file successfully. + * 8. Delete COomFriendClass object successfully. + * 9. Delete CMemoryMonitor object successfully. + * @SYMTestType Unit Test + * @SYMCreationDate 15-08-2010 + */ + +STIF_TESTDEFINE(GAPS-OOM-MEMORYMONITOR-006) +{ + iLog->Log(_L("OomMemoryMonitor: Start test RequestFreeMemoryPandSL()!\n")); + CMemoryMonitor* oom = NULL; + oom = CMemoryMonitor::NewL(); + STIF_ASSERT_NOT_NULL(oom); + + CleanupStack::PushL(oom); + iLog->Log(_L("OomMemoryMonitor: Create friend class!\n")); + COomFriendClass* oomFriendClass=COomFriendClass::NewLC(); + + COomConfig* oomConfig=oomFriendClass->GetOomConfig(oom); + STIF_ASSERT_NOT_NULL(oomConfig); + + oomConfig->SetDefaultGoodRamThreshold(KGoodRamThreshold*KMSize); + oomConfig->SetDefaultLowRamThreshold(KLowRamThreshold*KMSize); + oomConfig->SetDefaultGoodSwapThreshold(KGoodSwapThreshold*KMSize); + oomConfig->SetDefaultLowSwapThreshold(KLowSwapThreshold*KMSize); + + oomFriendClass->CallRefreshThresholds(oom); + + TInt KByetRequest=1000; + oom->RequestFreeMemoryPandSL(KByetRequest); + + TInt actionTriggerType1=STATIC_CAST(TInt, EPublishAndSubscribe); + TInt actionTriggerType2=oom->ActionTrigger(); + TInt actionTriggerType3=STATIC_CAST(TInt, actionTriggerType2); + iLog->Log(_L("OomMemoryMonitor: ActionTrigger=%d\n"), actionTriggerType3); + STIF_ASSERT_EQUALS(actionTriggerType1, actionTriggerType3); + + TInt ramTarget=oomFriendClass->GetCurrentRamTarget(oom); + TInt swapTarget=oomFriendClass->GetCurrentSwapTarget(oom); + iLog->Log(_L("OomMemoryMonitor: ramTarget=%d, swapTarget=%d\n"), ramTarget, swapTarget); + STIF_ASSERT_EQUALS(ramTarget, KLowRamThreshold*KMSize+KByetRequest); + STIF_ASSERT_EQUALS(swapTarget, KLowSwapThreshold*KMSize); + + DicLog::RemoveLogFile(); + CleanupStack::PopAndDestroy(oomFriendClass); + CleanupStack::PopAndDestroy(oom); + iLog->Log(_L("OomMemoryMonitor: test RequestFreeMemoryPandSL() finished!")); +} + +/** + * @SYMTestCaseID GAPS-OOM-MEMORYMONITOR-007 + * @SYMTestCaseDesc Test RequestFreeMemoryL() function of CMemoryMonitor. + * @SYMTestPriority Medium + * @SYMTestActions 1. Create CMemoryMonitor object. + * 2. Create COomFriendClass object. + * 3. Set GoodRamThreshold, LowRamThreshold, GoodSwapThreshold and LowSwapThreshold + * of global config. + * 4. Call RequestFreeMemoryL function. + * 5. Check iActionTrigger value of CMemoryMonitor object. + * 6. Check iCurrentRamTarget and iCurrentSwapTarget of CMemoryMonitor object + * is set correct value. + * 7. Check iDataPaged value. + * 8. Delete diclog file. + * 9. Delete COomFriendClass object. + * 10. Delete CMemoryMonitor object. + * @SYMTestExpectedResults 1. Create CMemoryMonitor object successfully. + * 2. Create COomFriendClass object. + * 3. The value of GoodRamThreshold, LowRamThreshold, GoodSwapThreshold and LowSwapThreshold + * of global config is set. + * 4. RequestFreeMemoryL function is called. + * 5. The value of iActionTrigger of CMemoryMonitor object is set as expected. + * 6. iCurrentRamTarget and iCurrentSwapTarget of CMemoryMonitor object + * is set correct value. + * 7. iDataPaged is assigned value as expected. + * 8. Delete diclog file successfully. + * 9. Delete COomFriendClass object successfully. + * 10. Delete CMemoryMonitor object successfully. + * @SYMTestType Unit Test + * @SYMCreationDate 15-08-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-MEMORYMONITOR-007) +{ + iLog->Log(_L("OomMemoryMonitor: Start test RequestFreeMemoryL()!\n")); + CMemoryMonitor* oom = NULL; + oom = CMemoryMonitor::NewL(); + STIF_ASSERT_NOT_NULL(oom); + + CleanupStack::PushL(oom); + iLog->Log(_L("OomMemoryMonitor: Create friend class!\n")); + COomFriendClass* oomFriendClass=COomFriendClass::NewLC(); + + COomConfig* oomConfig=oomFriendClass->GetOomConfig(oom); + STIF_ASSERT_NOT_NULL(oomConfig); + + oomConfig->SetDefaultGoodRamThreshold(KGoodRamThreshold*KMSize); + oomConfig->SetDefaultLowRamThreshold(KLowRamThreshold*KMSize); + oomConfig->SetDefaultGoodSwapThreshold(KGoodSwapThreshold*KMSize); + oomConfig->SetDefaultLowSwapThreshold(KLowSwapThreshold*KMSize); + + oomFriendClass->CallRefreshThresholds(oom); + + const TInt KByetRequestMem=2000; + oom->RequestFreeMemoryL(KByetRequestMem, ETrue); + + TInt actionTriggerType1=STATIC_CAST(TInt, EClientServerRequestFreeMemory); + TInt actionTriggerType2=oom->ActionTrigger(); + TInt actionTriggerType3=STATIC_CAST(TInt, actionTriggerType2); + iLog->Log(_L("OomMemoryMonitor: ActionTrigger=%d\n"), actionTriggerType3); + STIF_ASSERT_EQUALS(actionTriggerType1, actionTriggerType3); + + TInt ramTarget=oomFriendClass->GetCurrentRamTarget(oom); + TInt swapTarget=oomFriendClass->GetCurrentSwapTarget(oom); + iLog->Log(_L("OomMemoryMonitor: ramTarget=%d, swapTarget=%d\n"), ramTarget, swapTarget); + STIF_ASSERT_EQUALS(ramTarget, KLowRamThreshold*KMSize); + STIF_ASSERT_EQUALS(swapTarget, KLowSwapThreshold*KMSize+KByetRequestMem); + + TBool dataPaged=oomFriendClass->GetDataPaged(oom); + STIF_ASSERT_TRUE(dataPaged); + + DicLog::RemoveLogFile(); + CleanupStack::PopAndDestroy(oomFriendClass); + CleanupStack::PopAndDestroy(oom); + iLog->Log(_L("OomMemoryMonitor: test RequestFreeMemoryL() finished!")); +} + +/** + * @SYMTestCaseID GAPS-OOM-MEMORYMONITOR-008 + * @SYMTestCaseDesc Test FreeOptionalRamL() function of CMemoryMonitor. + * @SYMTestPriority Medium + * @SYMTestActions 1. Create CMemoryMonitor object. + * 2. Create COomFriendClass object. + * 3. Set GoodRamThreshold, LowRamThreshold, GoodSwapThreshold and LowSwapThreshold + * of global config. + * 4. Call FreeOptionalRamL function. + * 5. Check iActionTrigger value of CMemoryMonitor object. + * 6. Check iCurrentRamTarget and iCurrentSwapTarget of CMemoryMonitor object + * is set correct value. + * 7. Check iDataPaged value. + * 8. Check COomActionList->FreeMemory(aMaxPriority) is called. + * 9. Delete diclog file. + * 10. Delete COomFriendClass object. + * 11. Delete CMemoryMonitor object. + * @SYMTestExpectedResults 1. Create CMemoryMonitor object successfully. + * 2. Create COomFriendClass object. + * 3. The value of GoodRamThreshold, LowRamThreshold, GoodSwapThreshold and LowSwapThreshold + * of global config is set. + * 4. FreeOptionalRamL function is called. + * 5. The value of iActionTrigger of CMemoryMonitor object is set as expected. + * 6. iCurrentRamTarget and iCurrentSwapTarget of CMemoryMonitor object + * is set correct value. + * 7. iDataPaged is assigned value as expected. + * 8. COomActionList->FreeMemory(aMaxPriority) is called. + * 9. Delete diclog file successfully. + * 10. Delete COomFriendClass object successfully. + * 11. Delete CMemoryMonitor object successfully. + * @SYMTestType Unit Test + * @SYMCreationDate 15-08-2010 + */ + +STIF_TESTDEFINE(GAPS-OOM-MEMORYMONITOR-008) +{ + iLog->Log(_L("OomMemoryMonitor: Start test FreeOptionalRamL()!\n")); + CMemoryMonitor* oom = NULL; + oom = CMemoryMonitor::NewL(); + STIF_ASSERT_NOT_NULL(oom); + + CleanupStack::PushL(oom); + iLog->Log(_L("OomMemoryMonitor: Create friend class!\n")); + COomFriendClass* oomFriendClass=COomFriendClass::NewLC(); + + COomConfig* oomConfig=oomFriendClass->GetOomConfig(oom); + STIF_ASSERT_NOT_NULL(oomConfig); + + oomConfig->SetDefaultGoodRamThreshold(KGoodRamThreshold*KMSize); + oomConfig->SetDefaultLowRamThreshold(KLowRamThreshold*KMSize); + oomConfig->SetDefaultGoodSwapThreshold(KGoodSwapThreshold*KMSize); + oomConfig->SetDefaultLowSwapThreshold(KLowSwapThreshold*KMSize); + + oomFriendClass->CallRefreshThresholds(oom); + + const TInt KByetRequestMemory=3000; + const TInt KPluginID=99; + oom->FreeOptionalRamL(KByetRequestMemory, KPluginID, EFalse); + + TInt actionTriggerType1=STATIC_CAST(TInt, EClientServerRequestOptionalRam); + TInt actionTriggerType2=oom->ActionTrigger(); + TInt actionTriggerType3=STATIC_CAST(TInt, actionTriggerType2); + iLog->Log(_L("OomMemoryMonitor: ActionTrigger=%d\n"), actionTriggerType3); + STIF_ASSERT_EQUALS(actionTriggerType1, actionTriggerType3); + + TInt ramTarget=oomFriendClass->GetCurrentRamTarget(oom); + TInt swapTarget=oomFriendClass->GetCurrentSwapTarget(oom); + iLog->Log(_L("OomMemoryMonitor: ramTarget=%d, swapTarget=%d\n"), ramTarget, swapTarget); + STIF_ASSERT_EQUALS(ramTarget, KGoodRamThreshold*KMSize+KByetRequestMemory); + STIF_ASSERT_EQUALS(swapTarget, KLowSwapThreshold*KMSize); + + TBool dataPaged=oomFriendClass->GetDataPaged(oom); + iLog->Log( _L("OomMemoryMonitor: GetDataPaged=%d\n"), dataPaged); + STIF_ASSERT_FALSE(dataPaged); + + TInt32 maxPriority32=0; + DicLog::ReadIntLog(TUid::Uid(0x0015), maxPriority32); + TInt maxPriority=STATIC_CAST(TInt, maxPriority32); + iLog->Log(_L("OomMemoryMonitor: maxPriority=%d\n"), maxPriority); + STIF_ASSERT_EQUALS(maxPriority, KMaxPriority1-1); + + DicLog::RemoveLogFile(); + CleanupStack::PopAndDestroy(oomFriendClass); + CleanupStack::PopAndDestroy(oom); + iLog->Log(_L("OomMemoryMonitor: test FreeOptionalRamL() finished!")); +} + +/** + * @SYMTestCaseID GAPS-OOM-MEMORYMONITOR-009 + * @SYMTestCaseDesc Test GetFreeMemory() function of CMemoryMonitor. + * @SYMTestPriority Medium + * @SYMTestActions 1. Create CMemoryMonitor object. + * 2. Get free memory value. + * 3. Calculate free memory value. + * 4. Check free memory value. + * 5. Delete CMemoryMonitor object. + * @SYMTestExpectedResults 1. Create CMemoryMonitor object successfully. + * 2. Get free memory successfully. + * 3. Calculate free memory successfully. + * 4. Two value are same. + * 5. Delete CMemoryMonitor object. + * @SYMTestType Unit Test + * @SYMCreationDate 15-08-2010 + */ + +STIF_TESTDEFINE(GAPS-OOM-MEMORYMONITOR-009) +{ + iLog->Log(_L("OomMemoryMonitor: Start test GetFreeMemory()!\n")); + CMemoryMonitor* oom = NULL; + oom = CMemoryMonitor::NewL(); + STIF_ASSERT_NOT_NULL(oom); + + CleanupStack::PushL(oom); + + TInt freeMemory; + oom->GetFreeMemory(freeMemory); + TInt freeMemory1; + User::CompressAllHeaps(); + HAL::Get( HALData::EMemoryRAMFree, freeMemory1); + iLog->Log(_L("OomMemoryMonitor: test freeMemory=%d, freeMemory1=%d!"), freeMemory, freeMemory1); + STIF_ASSERT_EQUALS(freeMemory, freeMemory1); + + CleanupStack::PopAndDestroy(oom); + iLog->Log(_L("OomMemoryMonitor: test GetFreeMemory() finished!")); +} + +/** + * @SYMTestCaseID GAPS-OOM-MEMORYMONITOR-010 + * @SYMTestCaseDesc Test AppNotExiting(), ActionsCompleted() function of CMemoryMonitor. + * @SYMTestPriority Medium + * @SYMTestActions 1. Create CMemoryMonitor object. + * 2. Call AppNotExiting function. + * 3. Check COomActionList->AppNotExiting() is called. + * 4. Call ActionsCompleted function. + * 5. Check ActionsCompleted() function is called. + * 6. Delete diclog file. + * 7. Delete CMemoryMonitor object. + * @SYMTestExpectedResults 1. Create CMemoryMonitor object successfully. + * 2. AppNotExiting function is called. + * 3. COomActionList->AppNotExiting() is called. + * 4. Call ActionsCompleted function. + * 5. COomClientRequestQueue->ActionsCompleted() function is called. + * 6. Diclog file is deleted. + * 7. Delete CMemoryMonitor object. + * @SYMTestType Unit Test + * @SYMCreationDate 15-08-2010 + */ + +STIF_TESTDEFINE(GAPS-OOM-MEMORYMONITOR-010) +{ + iLog->Log(_L("OomMemoryMonitor: Start test AppNotExiting(), ActionsCompleted()!\n")); + CMemoryMonitor* oom = NULL; + oom = CMemoryMonitor::NewL(); + STIF_ASSERT_NOT_NULL(oom); + + CleanupStack::PushL(oom); + + const TInt KWgId=99; + oom->AppNotExiting(KWgId); + + TInt32 wgID32=0; + DicLog::ReadIntLog(TUid::Uid(0x0016), wgID32); + TInt wgID=STATIC_CAST(TInt, wgID32); + STIF_ASSERT_EQUALS(wgID, KWgId); + + oom->ActionsCompleted(KWgId,KWgId); + + iLog->Log(_L("OomMemoryMonitor: Call COomClientRequestQueue::ActionsCompleted()!\n")); + TBuf<18> buf3(KClientRequestQueue); + TBuf<18> buf4; + DicLog::ReadLog(TUid::Uid(0x0008), buf4); + iLog->Log(_L("COomClientRequestQueue::ActionsCompleted()()=%s"),buf4.Ptr()); + STIF_ASSERT_EQUALS(buf3, buf4); + + DicLog::RemoveLogFile(); + CleanupStack::PopAndDestroy(oom); + iLog->Log(_L("OomMemoryMonitor: test AppNotExiting(), ActionsCompleted() finished!")); +} + +/** + * @SYMTestCaseID GAPS-OOM-MEMORYMONITOR-011 + * @SYMTestCaseDesc Test ResetTargets() function of CMemoryMonitor. + * @SYMTestPriority Medium + * @SYMTestActions 1. Create CMemoryMonitor object. + * 2. Create COomFriendClass object. + * 3. Set GoodRamThreshold, GoodSwapThreshold of global config. + * 4. Call ResetTargets function. + * 5. Check iCurrentRamTarget and iCurrentSwapTarget of CMemoryMonitor object + * is set correct value. + * 6. Delete diclog file. + * 7. Delete COomFriendClass object. + * 8. Delete CMemoryMonitor object. + * @SYMTestExpectedResults 1. Create CMemoryMonitor object successfully. + * 2. Create COomFriendClass object. + * 3. The value of GoodRamThreshold, GoodSwapThreshold of global config is set. + * 4. ResetTargets function is called. + * 5. iCurrentRamTarget and iCurrentSwapTarget of CMemoryMonitor object + * is set correct value. + * 6. Delete diclog file successfully. + * 7. Delete COomFriendClass object successfully. + * 8. Delete CMemoryMonitor object successfully. + * @SYMTestType Unit Test + * @SYMCreationDate 15-08-2010 + */ + +STIF_TESTDEFINE(GAPS-OOM-MEMORYMONITOR-011) +{ + iLog->Log(_L("OomMemoryMonitor: Test ResetTargets()")); + + iLog->Log(_L("OomMemoryMonitor: Create CMemoryMonitor object!")); + CMemoryMonitor* oom = NULL; + oom = CMemoryMonitor::NewL(); + STIF_ASSERT_NOT_NULL(oom); + + CleanupStack::PushL(oom); + + iLog->Log(_L("OomMemoryMonitor: Create friend class!")); + COomFriendClass* oomFriendClass=COomFriendClass::NewLC(); + + COomConfig* oomConfig=oomFriendClass->GetOomConfig(oom); + STIF_ASSERT_NOT_NULL(oomConfig); + + const TInt KGoodRamThre=500; + const TInt KGoodSwapThre=600; + + oomConfig->SetDefaultGoodRamThreshold(KGoodRamThre); + oomConfig->SetDefaultGoodSwapThreshold(KGoodSwapThre); + oomFriendClass->CallRefreshThresholds(oom); + + oom->ResetTargets(); + TInt ramTarget=oomFriendClass->GetCurrentRamTarget(oom); + TInt swapTarget=oomFriendClass->GetCurrentSwapTarget(oom); + iLog->Log(_L("OomMemoryMonitor: ramTarget=%d, swapTarget=%d!"), ramTarget, swapTarget); + STIF_ASSERT_EQUALS(ramTarget, KGoodRamThre); + STIF_ASSERT_EQUALS(swapTarget, KGoodSwapThre); + + DicLog::RemoveLogFile(); + CleanupStack::PopAndDestroy(oomFriendClass); + iLog->Log(_L("OomMemoryMonitor: Delete oomFriendClass!")); + CleanupStack::PopAndDestroy(oom); + iLog->Log(_L("OomMemoryMonitor: Delete OomMemoryMonitor object!")); + iLog->Log(_L("OomMemoryMonitor: Test ResetTargets() finished!")); +} + +/** + * @SYMTestCaseID GAPS-OOM-MEMORYMONITOR-012 + * @SYMTestCaseDesc Test ResetTargets() function of CMemoryMonitor. + * @SYMTestPriority Medium + * @SYMTestActions 1. Create CMemoryMonitor object. + * 2. Create COomFriendClass object. + * 3. Call SetMemoryMonitorStatusProperty function. + * 4. Check iLastMemoryMonitorStatusProperty value. + * 5. Delete diclog file. + * 6. Delete COomFriendClass object. + * 7. Delete CMemoryMonitor object. + * @SYMTestExpectedResults 1. Create CMemoryMonitor object successfully. + * 2. Create COomFriendClass object. + * 3. SetMemoryMonitorStatusProperty function is called. + * 4. iLastMemoryMonitorStatusProperty is set as expected value. + * 5. Delete diclog file successfully. + * 6. Delete COomFriendClass object successfully. + * 7. Delete CMemoryMonitor object successfully. + * @SYMTestType Unit Test + * @SYMCreationDate 15-08-2010 + */ + +STIF_TESTDEFINE(GAPS-OOM-MEMORYMONITOR-012) +{ + iLog->Log(_L("OomMemoryMonitor: Test SetMemoryMonitorStatusProperty()")); + + iLog->Log(_L("OomMemoryMonitor: Create CMemoryMonitor object!")); + CMemoryMonitor* oom = NULL; + oom = CMemoryMonitor::NewL(); + STIF_ASSERT_NOT_NULL(oom); + + CleanupStack::PushL(oom); + + iLog->Log(_L("OomMemoryMonitor: Create friend class!")); + COomFriendClass* oomFriendClass=COomFriendClass::NewLC(); + + COomConfig* oomConfig=oomFriendClass->GetOomConfig(oom); + STIF_ASSERT_NOT_NULL(oomConfig); + + oom->SetMemoryMonitorStatusProperty(EBelowTreshHold); + TInt lastMemoryMonitorStatusProperty=oomFriendClass->GetLastMemoryMonitorStatusProperty(oom); + + iLog->Log(_L("OomMemoryMonitor: lastMemoryMonitorStatusProperty=%d"),lastMemoryMonitorStatusProperty); + + TInt statusPropertyValues= STATIC_CAST(TInt,EBelowTreshHold); + STIF_ASSERT_EQUALS(lastMemoryMonitorStatusProperty, statusPropertyValues); + + DicLog::RemoveLogFile(); + CleanupStack::PopAndDestroy(oomFriendClass); + iLog->Log(_L("OomMemoryMonitor: Delete oomFriendClass!")); + CleanupStack::PopAndDestroy(oom); + iLog->Log(_L("OomMemoryMonitor: Delete OomMemoryMonitor object!")); + iLog->Log(_L("OomMemoryMonitor: Test SetMemoryMonitorStatusProperty() finished!")); +} + +/** + * @SYMTestCaseID GAPS-OOM-MEMORYMONITOR-013 + * @SYMTestCaseDesc Test GoodRamThreshold() LowRamThreshold() and ActionTrigger() function of CMemoryMonitor. + * @SYMTestPriority Medium + * @SYMTestActions 1. Create CMemoryMonitor object. + * 2. Create COomFriendClass object. + * 3. Call GoodRamThreshold function. + * 4. Check iGoodRamThreshold value. + * 5. Call LowRamThreshold function. + * 6. Check iLowRamThreshold value. + * 7. Call ActionTrigger function. + * 8. Check iActionTrigger value. + * 9. Delete COomFriendClass object. + * 10. Delete CMemoryMonitor object. + * @SYMTestExpectedResults 1. Create CMemoryMonitor object successfully. + * 2. Create COomFriendClass object. + * 3. GoodRamThreshold function is called. + * 4. iGoodRamThreshold is set as expected value. + * 5. LowRamThreshold function is called. + * 6. iLowRamThreshold is set as expected value. + * 7. ActionTrigger function is called. + * 8. iActionTrigger is set as expected value. + * 9. Delete COomFriendClass object successfully. + * 10. Delete CMemoryMonitor object successfully. + * @SYMTestType Unit Test + * @SYMCreationDate 15-08-2010 + */ + +STIF_TESTDEFINE(GAPS-OOM-MEMORYMONITOR-013) +{ + iLog->Log(_L("OomMemoryMonitor: Test GoodRamThreshold() LowRamThreshold() and ActionTrigger()")); + + iLog->Log(_L("OomMemoryMonitor: Create CMemoryMonitor object!")); + CMemoryMonitor* oom = NULL; + oom = CMemoryMonitor::NewL(); + STIF_ASSERT_NOT_NULL(oom); + + CleanupStack::PushL(oom); + + iLog->Log(_L("OomMemoryMonitor: Create friend class!")); + COomFriendClass* oomFriendClass=COomFriendClass::NewLC(); + + TInt goodRamThreshold2=oom->GoodRamThreshold(); + TInt goodRamThreshold1=oomFriendClass->GetGoodRamThreshold(oom); + STIF_ASSERT_EQUALS(goodRamThreshold1, goodRamThreshold2); + iLog->Log(_L("OomMemoryMonitor: GoodRamThreshold() passed!")); + + TInt lowRamThreshold2=oom->LowRamThreshold(); + TInt lowRamThreshold1=oomFriendClass->GetLowRamThreshold(oom); + STIF_ASSERT_EQUALS(lowRamThreshold1, lowRamThreshold2); + iLog->Log(_L("OomMemoryMonitor: GetLowRamThreshold() passed!")); + + TInt actionTriggerType2=STATIC_CAST(TInt,oom->ActionTrigger()); + TInt actionTriggerType1=oomFriendClass->GetActionTrigger(oom); + STIF_ASSERT_EQUALS(actionTriggerType1, actionTriggerType2); + iLog->Log(_L("OomMemoryMonitor: ActionTrigger() passed!")); + + DicLog::RemoveLogFile(); + CleanupStack::PopAndDestroy(oomFriendClass); + iLog->Log(_L("OomMemoryMonitor: Delete oomFriendClass!")); + CleanupStack::PopAndDestroy(oom); + iLog->Log(_L("OomMemoryMonitor: Delete OomMemoryMonitor object!")); + iLog->Log(_L("OomMemoryMonitor: Test GoodRamThreshold() LowRamThreshold() and ActionTrigger() finished!")); +} + + +/** + * @SYMTestCaseID GAPS-OOM-MEMORYMONITOR-014 + * @SYMTestCaseDesc Test SetPriorityBusy(), SetPriorityNormal() and SetPriorityHigh() function of CMemoryMonitor. + * @SYMTestPriority Medium + * @SYMTestActions 1. Create CMemoryMonitor object. + * 2. Create COomFriendClass object. + * 3. Get wgID of forground window. + * 4. Call SetPriorityBusy function. + * 5. Check COomWindowGroupList->SetPriorityBusy() is called. + * 6. Call SetPriorityHigh function. + * 7. Check COomWindowGroupList->SetPriorityHigh() is called. + * 8. Call SetPriorityNormal function. + * 9. Check COomWindowGroupList->SetPriorityNormal() is called. + * 10. Delete diclog file. + * 11. Delete COomFriendClass object. + * 12. Delete CMemoryMonitor object. + * @SYMTestExpectedResults 1. Create CMemoryMonitor object successfully. + * 2. Create COomFriendClass object successfully. + * 3. The wgID of forground window is get. + * 4. Call SetPriorityBusy function. + * 5. COomWindowGroupList->SetPriorityBusy() is called. + * 6. Call SetPriorityHigh function. + * 7. COomWindowGroupList->SetPriorityHigh() is called. + * 8. Call SetPriorityNormal function. + * 9. COomWindowGroupList->SetPriorityNormal() is called. + * 10. Delete diclog file successfully. + * 11. Delete COomFriendClass object successfully. + * 12. Delete CMemoryMonitor object sucessfully. + * @SYMTestType Unit Test + * @SYMCreationDate 15-08-2010 + */ + +STIF_TESTDEFINE(GAPS-OOM-MEMORYMONITOR-014) +{ + iLog->Log(_L("OomMemoryMonitor: Test SetPriorityBusy(), SetPriorityNormal() and SetPriorityHigh()")); + + iLog->Log(_L("OomMemoryMonitor: Create CMemoryMonitor object!")); + CMemoryMonitor* oom = NULL; + oom = CMemoryMonitor::NewL(); + STIF_ASSERT_NOT_NULL(oom); + + CleanupStack::PushL(oom); + + iLog->Log(_L("OomMemoryMonitor: Create friend class!")); + COomFriendClass* oomFriendClass=COomFriendClass::NewLC(); + + COomWindowGroupList* oomWindowGroupList=oomFriendClass->GetWindowGroupList(oom); + STIF_ASSERT_NOT_NULL(oomWindowGroupList); + + RWsSession::TWindowGroupChainInfo wgChainInfo=oomWindowGroupList->WgId(0); + TInt wgId=wgChainInfo.iId; + + iLog->Log(_L("OomMemoryMonitor: wgId=%d"), wgId); + + oom->SetPriorityBusy(wgId); + TInt32 return1=0; + DicLog::ReadIntLog(TUid::Uid(0x0006), return1); + iLog->Log(_L("OomMemoryMonitor: wgId=%d"), return1); + STIF_ASSERT_EQUALS((TInt)return1, wgId); + + oom->SetPriorityHigh(wgId); + TInt32 return2=0; + DicLog::ReadIntLog(TUid::Uid(0x0004), return2); + iLog->Log(_L("OomMemoryMonitor: wgId=%d"), return2); + STIF_ASSERT_EQUALS((TInt)return2, wgId); + + oom->SetPriorityNormal(wgId); + TInt32 return3=0; + DicLog::ReadIntLog(TUid::Uid(0x0005), return3); + iLog->Log(_L("OomMemoryMonitor: wgId=%d"), return3); + STIF_ASSERT_EQUALS((TInt)return3, wgId); + + DicLog::RemoveLogFile(); + CleanupStack::PopAndDestroy(oomFriendClass); + iLog->Log(_L("OomMemoryMonitor: Delete oomFriendClass!")); + CleanupStack::PopAndDestroy(oom); + iLog->Log(_L("OomMemoryMonitor: Delete OomMemoryMonitor object!")); + iLog->Log(_L("OomMemoryMonitor: Test SetPriorityBusy(), SetPriorityNormal() and SetPriorityHigh() finished.")); +} + +#endif +/** + * END OF TEST CASES SECTION + */ + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oomwatcher/.cproject --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oomwatcher/.cproject Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,257 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oomwatcher/.project --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oomwatcher/.project Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,20 @@ + + + ut_oomwatcher + + + + + + com.nokia.carbide.cdt.builder.carbideCPPBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.core.ccnature + com.nokia.carbide.cdt.builder.carbideCPPBuilderNature + com.nokia.carbide.cdt.builder.carbideSBSv2BuilderNature + + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oomwatcher/Bwins/ut_oomwatcheru.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oomwatcher/Bwins/ut_oomwatcheru.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,12 @@ +EXPORTS + ?LibEntryL@@YAPAVCTestModuleBase@@XZ @ 1 NONAME ; class CTestModuleBase * __cdecl LibEntryL(void) + ?SetRequirements@@YAHAAPAVCTestModuleParam@@AAK@Z @ 2 NONAME ; int __cdecl SetRequirements(class CTestModuleParam * &,unsigned long &) + ?RequestFreeMemory@ROomMonitorSession@@QAEXHAAVTRequestStatus@@@Z @ 3 NONAME ; void ROomMonitorSession::RequestFreeMemory(int, class TRequestStatus &) + ?RequestFreeMemory@ROomMonitorSession@@QAEHH@Z @ 4 NONAME ; int ROomMonitorSession::RequestFreeMemory(int) + ?RequestOptionalRam@ROomMonitorSession@@QAEXHHHAAVTRequestStatus@@@Z @ 5 NONAME ; void ROomMonitorSession::RequestOptionalRam(int, int, int, class TRequestStatus &) + ?RequestOptionalRam@ROomMonitorSession@@QAEHHHHAAH@Z @ 6 NONAME ; int ROomMonitorSession::RequestOptionalRam(int, int, int, int &) + ?SetOomPriority@ROomMonitorSession@@QAEXW4TOomPriority@1@@Z @ 7 NONAME ; void ROomMonitorSession::SetOomPriority(enum ROomMonitorSession::TOomPriority) + ?CancelRequestFreeMemory@ROomMonitorSession@@QAEXXZ @ 8 NONAME ; void ROomMonitorSession::CancelRequestFreeMemory(void) + ?ThisAppIsNotExiting@ROomMonitorSession@@QAEXH@Z @ 9 NONAME ; void ROomMonitorSession::ThisAppIsNotExiting(int) + ?Connect@ROomMonitorSession@@QAEHXZ @ 10 NONAME ; int ROomMonitorSession::Connect(void) + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oomwatcher/eabi/ut_oomwatcheru.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oomwatcher/eabi/ut_oomwatcheru.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,12 @@ +EXPORTS + _Z9LibEntryLv @ 1 NONAME + _Z15SetRequirementsRP16CTestModuleParamRm @ 2 NONAME + _ZN18ROomMonitorSession14SetOomPriorityENS_12TOomPriorityE @ 3 NONAME + _ZN18ROomMonitorSession17RequestFreeMemoryEi @ 4 NONAME + _ZN18ROomMonitorSession17RequestFreeMemoryEiR14TRequestStatus @ 5 NONAME + _ZN18ROomMonitorSession18RequestOptionalRamEiiiR14TRequestStatus @ 6 NONAME + _ZN18ROomMonitorSession18RequestOptionalRamEiiiRi @ 7 NONAME + _ZN18ROomMonitorSession19ThisAppIsNotExitingEi @ 8 NONAME + _ZN18ROomMonitorSession23CancelRequestFreeMemoryEv @ 9 NONAME + _ZN18ROomMonitorSession7ConnectEv @ 10 NONAME + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oomwatcher/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oomwatcher/group/bld.inf Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,33 @@ +/* +* Copyright (c) 2010 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: +* +*/ + +PRJ_PLATFORMS + + DEFAULT + +PRJ_TESTEXPORTS + + +PRJ_EXPORTS + + +PRJ_TESTMMPFILES + + ut_oomwatcher.mmp + ut_mockoomserver.mmp + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oomwatcher/group/ut_mockoomserver.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oomwatcher/group/ut_mockoomserver.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,48 @@ +/* +* Copyright (c) 2010 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: Project definition file +* +*/ + +macro CLIENT_REQUEST_QUEUE +#define CLIENT_REQUEST_QUEUE +macro FCC_UNIT_TEST +#define FCC_UNIT_TEST + +TARGET ut_mockoomserver.exe +TARGETTYPE exe +UID 0 0xA89FA86D + +USERINCLUDE ../inc +USERINCLUDE ../../../inc + +OS_LAYER_SYSTEMINCLUDE +MW_LAYER_SYSTEMINCLUDE + +SOURCEPATH ../src +SOURCE ut_mockoomserver.cpp +SOURCE ut_mockoommonitor.cpp +SOURCE ut_mockoomclientrequestqueue.cpp +SOURCEPATH ../../../src +SOURCE oommemorymonitorserver.cpp +SOURCE oommemorymonitorsession.cpp +SOURCE oommonitor.cpp + +LIBRARY euser.lib +LIBRARY ws32.lib +LIBRARY ecom.lib + +#ifdef ENABLE_ABIV2_MODE +DEBUGGABLE_UDEBONLY +#endif diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oomwatcher/group/ut_oomwatcher.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oomwatcher/group/ut_oomwatcher.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,61 @@ +/*TYPE STIFUNIT*/ +/* +* Copyright (c) 2010 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: MMP file for STIF Test Framework's STIFUnit test module. +* +*/ + +#include + +macro FCC_UNIT_TEST +#define FCC_UNIT_TEST + +SMPSAFE + +TARGET ut_oomwatcher.dll +TARGETTYPE dll +UID 0x1000008D 0x101FB3E7 + +CAPABILITY ALL -TCB +/* Remove comments and replace 0x00000000 with correct vendor id */ +// VENDORID 0x00000000 +/* Remove comments and replace 0x00000000 with correct secure id */ +// SECUREID 0x00000000 + +//TARGETPATH ?target_path +DEFFILE ut_oomwatcher.def + +USERINCLUDE ../inc +USERINCLUDE ../../../inc + +OS_LAYER_SYSTEMINCLUDE +MW_LAYER_SYSTEMINCLUDE + +SOURCEPATH ../src +SOURCE ut_oomwatcher.cpp +SOURCE ut_oomwatchercases.cpp +SOURCE ut_mockoommonitor.cpp + +SOURCEPATH ../../../src +SOURCE oomoutofmemorywatcher.cpp +SOURCE oommonitorsession.cpp +SOURCE oompanic.cpp + +LIBRARY euser.lib +LIBRARY stiftestinterface.lib +LIBRARY ws32.lib +LIBRARY hal.lib +LIBRARY cone.lib + +LANG SC diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oomwatcher/group/ut_oomwatcher.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oomwatcher/group/ut_oomwatcher.pkg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,60 @@ +; +; Copyright (c) 2010 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: +; +; Installation file for STIF +; + +; Languages +&EN + +; Provide value for uid +#{"STIF"},(0x00000000),1,1,0,TYPE=SA + +; Series60 product id for S60 3.0 +[0x101F7961], 0, 0, 0, {"Series60ProductID"} + +; Localised Vendor name +%{"Nokia"} + +; Unique Vendor name +:"Nokia" + +; Logo +; None + +; Package signature - Optional +; None + +; Start of Package body + +; Condition blocks +; None + +; Options list +; None + +; Install files +"\epoc32\release\armv5\udeb\ut_oomwatcher.dll" - "!:\Sys\Bin\ut_oomwatcher.dll" + +; Embedded SIS +; None + +; End of Package body + +; PKG dependencies +; None + +; PKG capabilities +; None diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oomwatcher/inc/ut_mockoomserver.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oomwatcher/inc/ut_mockoomserver.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,30 @@ +/* +* Copyright (c) 2010 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: Mock oom server entry +* +*/ + +#ifndef UT_MOCKOOMSERVER_H +#define UT_MOCKOOMSERVER_H + +// Include Files + +#include + +// Function Prototypes + +GLDEF_C TInt E32Main(); + +#endif // UT_MOCKOOMSERVER_H + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oomwatcher/inc/ut_oomwatchercommon.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oomwatcher/inc/ut_oomwatchercommon.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,38 @@ +/* +* Copyright (c) 2010 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: Common variables used in COutOfMemoryWatcher testing +* +*/ + +#ifndef UT_OOMWATCHERCOMMON_H +#define UT_OOMWATCHERCOMMON_H + +#include + +_LIT_SECURITY_POLICY_PASS(KAllowAllPolicy); +const TInt KOomTestWatcherPropertyValue = 11; +const TUid KOomWatcherTestProperty = { 0x10000000 }; +const TUint32 KOomWatcherTestKey = 0x00000001; +const TUid KOomServerTestProperty = { 0x10000001 }; +const TUint32 KOomServerTestKey = 0x00000001; +const TInt KOomTestInitialValue = 0; +const TInt KOomTestClientQueueFreeMemoryCalled = 100; +const TInt KOomTestClientQueueOptionalRamCalled = KOomTestClientQueueFreeMemoryCalled+1; +const TInt KOomTestMonitorAppNotExitingCalled = 200; +const TInt KOomTestMonitorSetPriorityBusyCalled = KOomTestMonitorAppNotExitingCalled+1; +const TInt KOomTestMonitorSetPriorityNormalCalled = KOomTestMonitorAppNotExitingCalled+2; +const TInt KOomTestMonitorSetPriorityHighCalled = KOomTestMonitorAppNotExitingCalled+3; + + +#endif /* UT_OOMWATCHERCOMMON_H */ diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oomwatcher/src/ut_mockoomclientrequestqueue.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oomwatcher/src/ut_mockoomclientrequestqueue.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,161 @@ +/* +* Copyright (c) 2010 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: Mock COomClientRequestQueue implementation for unit test +* +*/ + +#include "oomclientrequestqueue.h" +#include "ut_oomwatchercommon.h" +//#include "OomTraces.h" +//#include "oomsubscribehelper.h" +//#include "oompanic.h" +//#include "oommemorymonitor.h" +//#include +// +//const TInt KOomWatchDogStatusIdle = -1; +//const TInt KClientTimeToFreeMemory = 500000; //microseconds + +COomClientRequestQueue::COomClientRequestQueue(CMemoryMonitor& aMonitor) + :iQueue(_FOFF(TClientRequest,iLink)), + iMonitor(aMonitor) + { + + } + +COomClientRequestQueue::~COomClientRequestQueue() + { + TClientRequest* request; + TSglQueIter iter(iQueue); + iter.SetToFirst(); + while (iter) + { + request = iter++; + iQueue.Remove(*request); + delete request; + }; + } + +COomClientRequestQueue* COomClientRequestQueue::NewL(CMemoryMonitor& aMonitor) + { + COomClientRequestQueue* self = new (ELeave) COomClientRequestQueue(aMonitor); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(self); + return self; + } + +void COomClientRequestQueue::ConstructL() + { + + } + +void COomClientRequestQueue::RequestFreeMemoryL(const RMessage2& aMessage) + { + // Create property for getting whether server has called correct method + RProperty testServerProperty; + + testServerProperty.Attach(KOomServerTestProperty, KOomServerTestKey, EOwnerThread); + testServerProperty.Set(KOomTestClientQueueFreeMemoryCalled); + testServerProperty.Close(); + + aMessage.Complete(KErrNone); + } + +void COomClientRequestQueue::RequestOptionalRamL(const RMessage2& aMessage) + { + // Create property for getting whether server has called correct method + RProperty testServerProperty; + + testServerProperty.Attach(KOomServerTestProperty, KOomServerTestKey, EOwnerThread); + testServerProperty.Set(KOomTestClientQueueOptionalRamCalled); + testServerProperty.Close(); + + aMessage.Complete(KErrNone); + } + +TInt COomClientRequestQueue::WatchdogStatusStatusChanged(TAny* /*aPtr*/) + { + return KErrNone; + } + +void COomClientRequestQueue::HandleWatchdogStatusCallBack() + { + + } + +// The new request is added to the queue, then we have the following conditions: +// 1. A client request is currently being processed +// 2. The last client request completed less than KClientTimeToFreeMemory microseconds ago -> start the timer +// 3. The timer has already been started +// 4. none of the above -> process this request +void COomClientRequestQueue::AddClientRequestL(TClientRequest& /*request*/) + { + + } + +void COomClientRequestQueue::StartClientRequestL() + { + + } + +CMemoryMonitor& COomClientRequestQueue::Monitor() + { + return iMonitor; + } + +TClientRequest::TClientRequest(TActionTriggerType aClientRequestType, TInt aBytesRequested) + : iClientRequestType(aClientRequestType), iBytesRequested(aBytesRequested) + { + + } + +TClientRequest::TClientRequest(TActionTriggerType aClientRequestType, const RMessage2& aRequestFreeRam) + : iClientRequestType(aClientRequestType), iRequestFreeRamMessage(aRequestFreeRam) + { + iBytesRequested = aRequestFreeRam.Int0(); + } + +void COomClientRequestQueue::ActionsCompleted(TInt /*aBytesFree*/, TBool /*aMemoryGood*/) + { + + } + +void COomClientRequestQueue::RequestTimerCallbackL() + { + + } + +COomClientRequestTimer* COomClientRequestTimer::NewL(COomClientRequestQueue& aQueue) + { + COomClientRequestTimer* self = new (ELeave) COomClientRequestTimer(aQueue); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(self); + return self; + } + +COomClientRequestTimer::COomClientRequestTimer(COomClientRequestQueue& aQueue) +: CTimer(CActive::EPriorityStandard), iClientRequestQueue(aQueue) + { + CActiveScheduler::Add(this); + } + + +void COomClientRequestTimer::RunL() + { + iClientRequestQueue.RequestTimerCallbackL(); + } + + + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oomwatcher/src/ut_mockoommonitor.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oomwatcher/src/ut_mockoommonitor.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,229 @@ +/* +* Copyright (c) 2010 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: Mock CMemoryMonitor +* +*/ + +#include "ut_oomwatchercommon.h" +#include "oommemorymonitor.h" +#include "oomclientrequestqueue.h" +#include "oommemorymonitorserver.h" +#include + + + +// ====================================================================== +// class CMemoryMonitor +// ====================================================================== + +// --------------------------------------------------------- +// +// --------------------------------------------------------- +// +CMemoryMonitor* CMemoryMonitor::NewL() + { // static + CMemoryMonitor* self = new(ELeave) CMemoryMonitor(); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(self); + return self; + } + +CMemoryMonitor::CMemoryMonitor() + { + + } + +// --------------------------------------------------------- +// +// --------------------------------------------------------- +// +CMemoryMonitor::~CMemoryMonitor() + { +#ifdef CLIENT_REQUEST_QUEUE + delete iServer; + + delete iQueue; +#endif + } + +// --------------------------------------------------------- +// +// --------------------------------------------------------- +// +void CMemoryMonitor::ConstructL() + { +#ifdef CLIENT_REQUEST_QUEUE + iQueue = COomClientRequestQueue::NewL(*this); + + iServer = CMemoryMonitorServer::NewL(*iQueue); +#endif + } + +const COomGlobalConfig& CMemoryMonitor::GlobalConfig() + { + COomGlobalConfig* MyConfig=NULL; + return *MyConfig; + } + + +// --------------------------------------------------------- +// +// --------------------------------------------------------- +// +void CMemoryMonitor::FreeMemThresholdCrossedL() + { + // Create property for getting whether watcher has called correct method + RProperty testWatcherProperty; + + User::LeaveIfError(testWatcherProperty.Attach(KOomWatcherTestProperty, KOomWatcherTestKey, EOwnerThread)); + CleanupClosePushL(testWatcherProperty); + User::LeaveIfError(testWatcherProperty.Set(KOomTestWatcherPropertyValue)); + CleanupStack::PopAndDestroy(); + + CActiveScheduler::Stop(); + } + +void CMemoryMonitor::HandleFocusedWgChangeL() + { + } + +void CMemoryMonitor::StartFreeSomeRamL(TInt /*aFreeRamTarget*/, TInt /*aFreeSwapTarget*/) + { + + } + +void CMemoryMonitor::StartFreeSomeRamL(TInt /*aFreeRamTarget*/, TInt /*aFreeSwapTarget*/, TInt /*aMaxPriority*/) // The maximum priority of action to run + { + + + // Build the list of memory freeing actions + + } + +void CMemoryMonitor::RequestFreeMemoryPandSL(TInt /*aBytesRequested*/) + { + + } + +void CMemoryMonitor::RequestFreeMemoryL(TInt /*aBytesRequested*/, TBool /*aDataPaged*/) + { + + } + +void CMemoryMonitor::FreeOptionalRamL(TInt /*aBytesRequested*/, TInt /*aPluginId*/, TBool /*aDataPaged*/) // The ID of the plugin that will clear up the allocation, used to determine the priority of the allocation + { + + } + +void CMemoryMonitor::GetFreeMemory(TInt& /*aCurrentFreeMemory*/) + { + + } + +void CMemoryMonitor::GetFreeSwapSpace(TInt& /*aCurrentFreeSwapSpace*/) + { + + } + +#ifndef CLIENT_REQUEST_QUEUE +TInt CMemoryMonitor::WatchdogStatusStatusChanged(TAny* /*aPtr*/) + { + return KErrNone; + } + +void CMemoryMonitor::HandleWatchdogStatusCallBack() + { + + } +#endif //CLIENT_REQUEST_QUEUE + +void CMemoryMonitor::AppNotExiting(TInt /*aWgId*/) + { + // Create property for getting whether server has called correct method + RProperty testServerProperty; + + testServerProperty.Attach(KOomServerTestProperty, KOomServerTestKey, EOwnerThread); + testServerProperty.Set(KOomTestMonitorAppNotExitingCalled); + testServerProperty.Close(); + } + + +void CMemoryMonitor::RefreshThresholds() + { + + } + +// SetMemoryMonitorStatusProperty - updates the property value only if it has changed +void CMemoryMonitor::SetMemoryMonitorStatusProperty(const TMemoryMonitorStatusPropertyValues /*aValue*/) + { + + } + +void CMemoryMonitor::ResetTargets() + { + + } + +void CMemoryMonitor::SetPriorityBusy(TInt /*aWgId*/) + { + // Create property for getting whether server has called correct method + RProperty testServerProperty; + + testServerProperty.Attach(KOomServerTestProperty, KOomServerTestKey, EOwnerThread); + testServerProperty.Set(KOomTestMonitorSetPriorityBusyCalled); + testServerProperty.Close(); + } + +void CMemoryMonitor::SetPriorityNormal(TInt /*aWgId*/) + { + // Create property for getting whether server has called correct method + RProperty testServerProperty; + + testServerProperty.Attach(KOomServerTestProperty, KOomServerTestKey, EOwnerThread); + testServerProperty.Set(KOomTestMonitorSetPriorityNormalCalled); + testServerProperty.Close(); + } + +void CMemoryMonitor::SetPriorityHigh(TInt /*aWgId*/) + { + // Create property for getting whether server has called correct method + RProperty testServerProperty; + + testServerProperty.Attach(KOomServerTestProperty, KOomServerTestKey, EOwnerThread); + testServerProperty.Set(KOomTestMonitorSetPriorityHighCalled); + testServerProperty.Close(); + } + +TActionTriggerType CMemoryMonitor::ActionTrigger() const + { + return iActionTrigger; + } + +#ifdef CLIENT_REQUEST_QUEUE +TInt CMemoryMonitor::GoodRamThreshold() const + { + return 0; + } + +TInt CMemoryMonitor::LowRamThreshold() const + { + return 0; + } + +void CMemoryMonitor::ActionsCompleted(TInt /*aBytesFree*/, TBool /*aMemoryGood*/) + { + + } +#endif //CLIENT_REQUEST_QUEUE diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oomwatcher/src/ut_mockoomserver.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oomwatcher/src/ut_mockoomserver.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,90 @@ +/* +* Copyright (c) 2010 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: Mock oom server entry +* +*/ +// Include Files + +#include "ut_mockoomserver.h" +#include "oommemorymonitor.h" +#include +#include +#include // Console + +// Constants + +_LIT(KTextConsoleTitle, "Console"); +_LIT(KTextFailed, " failed, leave code = %d"); +_LIT(KTextPressAnyKey, " [press any key]\n"); + +// Global Variables + +LOCAL_D CConsoleBase* console; // write all messages to this + + +// Local Functions + +LOCAL_C void MainL() + { + CMemoryMonitor* monitor = CMemoryMonitor::NewL(); + CleanupStack::PushL(monitor); + RProcess::Rendezvous(KErrNone); + CActiveScheduler::Start(); + + CleanupStack::PopAndDestroy(monitor); + } + +LOCAL_C void DoStartL() + { + // Create active scheduler (to run active objects) + CActiveScheduler* scheduler = new (ELeave) CActiveScheduler(); + CleanupStack::PushL(scheduler); + CActiveScheduler::Install(scheduler); + + MainL(); + + // Delete active scheduler + CleanupStack::PopAndDestroy(scheduler); + } + +// Global Functions + +GLDEF_C TInt E32Main() + { + // Create cleanup stack + __UHEAP_MARK; + CTrapCleanup* cleanup = CTrapCleanup::New(); + + // Create output console + TRAPD(createError, console = Console::NewL(KTextConsoleTitle, TSize( + KConsFullScreen, KConsFullScreen))); + if (createError) + { + delete cleanup; + return createError; + } + + // Run application code inside TRAP harness, wait keypress when terminated + TRAPD(mainError, DoStartL()); + if (mainError) + console->Printf(KTextFailed, mainError); + console->Printf(KTextPressAnyKey); + console->Getch(); + + delete console; + delete cleanup; + __UHEAP_MARKEND; + return KErrNone; + } + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oomwatcher/src/ut_oomwatcher.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oomwatcher/src/ut_oomwatcher.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,125 @@ +/* +* Copyright (c) 2010 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: This file contains STIFUnit module implementation. +* +*/ + +/******************************************************************************/ +/* + * + * Test module configuration +*/ + +// Version +#define TEST_MODULE_VERSION_MAJOR 0 +#define TEST_MODULE_VERSION_MINOR 0 +#define TEST_MODULE_VERSION_BUILD 0 + +// Uncomment following defines, if you want to provide implementation +// of enlisted virtual methods of test module. +// Implementation part is located at the end of this file. +//#define STIFUNIT_OOMTESTQUERYL +//#define STIFUNIT_OOMTESTINITIALIZEL +//#define STIFUNIT_OOMHANDLEWARNINGL +//#define STIFUNIT_OOMTESTFINALIZEL +// Uncomment following define, if you want to increase heap or stack size. +// #define STIFUNIT_SETHEAPANDSTACKSIZE +/******************************************************************************/ + + +/* + * Test module internals. Please do not edit them. +*/ + +// Includes +#include + +// Literals +_LIT( KUnitLogPath, "\\logs\\testframework\\ut_oomwatcher\\" ); +_LIT( KUnitLogFile, "ut_oomwatcher.txt" ); +_LIT( KLogStart, "ut_oomwatcher logging starts!" ); + +// Defines +#define STIF_UNIT_TEST_CASES "../src/ut_oomwatchercases.cpp" +#define STIF_UNIT_MODULE_CLASS_NAME Cut_oomwatcher +#define STIF_UNIT_MODULE_NAME _L("ut_oomwatcher.dll") + +// Include STIF unit generic file +#include + +/* + * Implementation of setHeapAndStack virtual methods. + * To changes heap and stack size provide new values to iTestThreadStackSize, iTestThreadMinHeap and iTestThreadMaxHeap. +*/ + +#ifdef STIFUNIT_SETHEAPANDSTACKSIZE +EXPORT_C TInt SetRequirements( CTestModuleParam*& aTestModuleParam, + TUint32& aParameterValid ) + { + aParameterValid = KStifTestModuleParameterChanged; + CTestModuleParamVer01* param; + TRAPD(err, param = CTestModuleParamVer01::NewL()); + // Stack size + param->iTestThreadStackSize= 16384; // 16K stack + // Heap sizes + param->iTestThreadMinHeap = 4096; // 4K heap min + param->iTestThreadMaxHeap = 1048576;// 1M heap max + + return KErrNone; + } +#undef STIFUNIT_SETHEAPANDSTACKSIZE +#endif + +/* + * User implementation of OOM virtual methods. + * Providing own implementation requires uncommenting defines at the + * beginnig of this file. +*/ +#ifdef STIFUNIT_OOMTESTQUERYL +TBool Cut_oomwatcher::OOMTestQueryL( const TFileName& /*aTestCaseFile*/, + const TInt aCaseNumber, + TOOMFailureType& aFailureType, + TInt& aFirstMemFailure, + TInt& aLastMemFailure) + { + } +#undef STIFUNIT_OOMTESTQUERYL +#endif + +#ifdef STIFUNIT_OOMTESTINITIALIZEL +void Cut_oomwatcher::OOMTestInitializeL( const TFileName& /*aTestCaseFile*/, + const TInt /*aCaseNumber*/ ) + { + } +#undef STIFUNIT_OOMTESTINITIALIZEL +#endif + +#ifdef STIFUNIT_OOMHANDLEWARNINGL +void Cut_oomwatcher::OOMHandleWarningL( const TFileName& /*aTestCaseFile*/, + const TInt /*aCaseNumber*/, + TInt& /*aFailNextValue*/) + { + } +#undef STIFUNIT_OOMHANDLEWARNINGL +#endif + +#ifdef STIFUNIT_OOMTESTFINALIZEL +void Cut_oomwatcher::OOMTestFinalizeL( const TFileName& /*aTestCaseFile*/, + const TInt /*aCaseNumber*/ ) + { + } +#undef STIFUNIT_OOMTESTFINALIZEL +#endif + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/ut_oomwatcher/src/ut_oomwatchercases.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/ut_oomwatcher/src/ut_oomwatchercases.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,390 @@ +/* +* Copyright (c) 2010 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: This file contains STIFUnit implementation. +* +*/ + +/** + * STIF_UNIT_INCLUDE SECTION - put all #includes between STIF_UNIT_INCLUDE_SECTION + * and STIF_UNIT_INCLUDE_SECTION_END + */ +#ifdef STIF_UNIT_INCLUDE_SECTION +#include "ut_oomwatchercommon.h" +#include "oomoutofmemorywatcher.h" +#include "oommemorymonitor.h" +#include +#include "oompanic.h" + +#include +#include +#include + +#endif //STIF_UNIT_INCLUDE_SECTION_END + +/** + * GLOBAL VARIABLES SECTION + */ +#ifdef TEST_VAR_DECLARATIONS +CActiveScheduler* scheduler; + +#endif +/** + * END OF GLOBAL VARIABLES SECTION + */ + + +/** + * TEST CASES SECTION + */ +#ifdef TEST_CASES +/** + * STIF_SETUP defines activities needed before every test case. + */ +STIF_SETUP +{ + // Install active scheduler at start up + scheduler = new (ELeave) CActiveScheduler(); + CleanupStack::PushL(scheduler); + CActiveScheduler::Install(scheduler); +} + +/** + * STIF_TEARDOWN defines activities needed after every test case + */ +STIF_TEARDOWN +{ + // Delete active scheduler at last + CActiveScheduler::Install(NULL); + CleanupStack::PopAndDestroy(scheduler); +} + +/** + * @SYMTestCaseID GAPS-OOM-WATCHER-001 + * @SYMTestCaseDesc Watch when memory is lower then threshold + * @SYMTestPriority Medium + * @SYMTestActions 1) Create COutOfMemoryWatcher object, set memory threshold in constructor + * 2) Occupy memory so that free memory is below memory threshold + * @SYMTestExpectedResults 1) COutOfMemoryWatcher object created + * 2) FreeMemThresholdCrossedL() is called + * @SYMTestType Unit Test + * @SYMCreationDate 20-07-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-WATCHER-001) +{ + const TInt KMemThresholdLow = 26214400; + const TInt KMemThresholdGood = 31457280; // low=25M good=30M + CMemoryMonitor* monitor = CMemoryMonitor::NewL(); + CleanupStack::PushL(monitor); + COutOfMemoryWatcher* watcher = COutOfMemoryWatcher::NewL(*monitor, KMemThresholdLow, KMemThresholdGood, + ETrue, KMemThresholdLow, KMemThresholdGood);// low=25M good=30M + CleanupStack::PushL(watcher); + // Verify objects created + STIF_ASSERT_NOT_NULL(monitor); + STIF_ASSERT_NOT_NULL(watcher); + STIF_LOG("CMemoryMonitor and COutOfMemoryWatcher has been created successfully"); + + // Start the watcher + watcher->Start(); + + // Create property for getting whether watcher has called correct method + RProperty testWatcherProperty; + TInt error; + error = RProperty::Define(KOomWatcherTestProperty, KOomWatcherTestKey, RProperty::EInt, + KAllowAllPolicy, KAllowAllPolicy); + STIF_ASSERT_EQUALS(error, KErrNone); + error = testWatcherProperty.Attach(KOomWatcherTestProperty, KOomWatcherTestKey, EOwnerThread); + STIF_ASSERT_EQUALS(error, KErrNone); + CleanupClosePushL(testWatcherProperty); + STIF_LOG("Communication property created"); + + // Occupy memory so that low mem is triggered + UserSvr::HalFunction(EHalGroupKernel, EKernelHalSupervisorBarrier, 0, 0); + TMemoryInfoV1Buf meminfo; + UserHal::MemoryInfo(meminfo); + TInt free = meminfo().iFreeRamInBytes; + TInt totalRam; + STIF_ASSERT_EQUALS(HAL::Get(HAL::EMemoryRAM, totalRam), KErrNone); + TChunkCreateInfo createInfo; + const TInt KChunkMaximumBelowFree = 20480*1024; // Chunk maximum = free - 20M + createInfo.SetNormal(0, free - KChunkMaximumBelowFree); + createInfo.SetPaging(TChunkCreateInfo::EUnpaged); + RChunk c; + error = c.Create(createInfo); + STIF_ASSERT_EQUALS(error, KErrNone); + CleanupClosePushL(c); + const TInt KBufferSpace = 22528*1024; // 22M buffer + STIF_LOG("Leave 22M RAM"); + error = c.Adjust(free - KBufferSpace); // leave 22M + STIF_ASSERT_EQUALS(error, KErrNone); + STIF_LOG("Memory occupied"); + + CActiveScheduler::Start(); + TInt propValue; + error = testWatcherProperty.Get(propValue); + STIF_ASSERT_EQUALS(error, KErrNone); + STIF_ASSERT_EQUALS(propValue, KOomTestWatcherPropertyValue); // Same with set in ut_mockoommonitor.cpp + STIF_LOG("Memory low handling function has been called correctly"); + + // Cleanup + CleanupStack::PopAndDestroy(4); + error = RProperty::Delete(KOomWatcherTestProperty, KOomWatcherTestKey); + STIF_ASSERT_EQUALS(error, KErrNone); +} + +/** + * @SYMTestCaseID GAPS-OOM-WATCHER-002 + * @SYMTestCaseDesc Watch when swap memory is lower then threshold + * @SYMTestPriority Medium + * @SYMTestActions 1) Create COutOfMemoryWatcher object + * 2) Set swap memory threshold with UpdateThresholds, + * the value is larger than maximum swap memory space + * @SYMTestExpectedResults 1) COutOfMemoryWatcher object created + * 2) FreeMemThresholdCrossedL() is called + * @SYMTestType Unit Test + * @SYMCreationDate 20-07-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-WATCHER-002) +{ + const TInt KMemThresholdLow = 26214400; + const TInt KMemThresholdGood = 31457280; // low=25M good=30M + CMemoryMonitor* monitor = CMemoryMonitor::NewL(); + CleanupStack::PushL(monitor); + COutOfMemoryWatcher* watcher = COutOfMemoryWatcher::NewL(*monitor, KMemThresholdLow, KMemThresholdGood, ETrue, KMemThresholdLow, KMemThresholdGood);// low=25M good=30M + CleanupStack::PushL(watcher); + // Verify objects created + STIF_ASSERT_NOT_NULL(monitor); + STIF_ASSERT_NOT_NULL(watcher); + STIF_LOG("CMemoryMonitor and COutOfMemoryWatcher has been created successfully"); + + // Start the watcher + watcher->Start(); + + // Create property for getting whether watcher has called correct method + RProperty testWatcherProperty; + TInt error; + error = RProperty::Define(KOomWatcherTestProperty, KOomWatcherTestKey, RProperty::EInt, + KAllowAllPolicy, KAllowAllPolicy); + STIF_ASSERT_EQUALS(error, KErrNone); + error = testWatcherProperty.Attach(KOomWatcherTestProperty, KOomWatcherTestKey, EOwnerThread); + STIF_ASSERT_EQUALS(error, KErrNone); + CleanupClosePushL(testWatcherProperty); + STIF_LOG("Communication property created"); + + // Change swap memory target to lower then swap memory, so that low mem is triggered + // Get swap info + SVMSwapInfo swapInfo; + error = UserSvr::HalFunction(EHalGroupVM, EVMHalGetSwapInfo, &swapInfo, 0); + STIF_ASSERT_EQUALS(error, KErrNone); + // Set swap threshold + watcher->UpdateThresholds(KMemThresholdLow, KMemThresholdGood, swapInfo.iSwapSize, swapInfo.iSwapSize); + STIF_LOG("Swap memory threshold changed"); + + CActiveScheduler::Start(); + TInt propValue; + error = testWatcherProperty.Get(propValue); + STIF_ASSERT_EQUALS(error, KErrNone); + STIF_ASSERT_EQUALS(propValue, KOomTestWatcherPropertyValue); // Same with set in ut_mockoommonitor.cpp + STIF_LOG("Swap memory low handling function has been called correctly"); + + // Cleanup + CleanupStack::PopAndDestroy(3); + error = RProperty::Delete(KOomWatcherTestProperty, KOomWatcherTestKey); + STIF_ASSERT_EQUALS(error, KErrNone); +} + +/** + * @SYMTestCaseID GAPS-OOM-SERVER-001 + * @SYMTestCaseDesc Test calling functions via client-server + * @SYMTestPriority Medium + * @SYMTestActions 1) Start server in another process + * 2) Create and connect to ROomMonitorSession + * 3) Call ROomMonitorSession::RequestFreeMemory() function + * 4) Call ROomMonitorSession::RequestOptionalRam() function + * 5) Call ROomMonitorSession::CancelRequestFreeMemory() function + * 6) Call ROomMonitorSession::ThisAppIsNotExiting() function + * @SYMTestExpectedResults 1) Server started + * 2) ROomMonitorSession connects to server successfully + * 3) RequestFreeMemoryL() function at server side is called + * 4) RequestOptionalRamL() function at server side is called + * 5) The cancel request is handled by ServiceL() function at server side + * 6) AppNotExiting() function at server side is called + * @SYMTestExpectedResults + * + * @SYMTestType Unit Test + * @SYMCreationDate 20-07-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-SERVER-001) +{ + // Start the mock server + _LIT(KServerName, "ut_mockoomserver.exe"); + RProcess process; + TInt error = process.Create(KServerName, KNullDesC); + STIF_ASSERT_EQUALS(error, KErrNone); + CleanupClosePushL(process); + TRequestStatus status; + process.Rendezvous(status); + process.Resume(); + User::WaitForRequest(status); + STIF_ASSERT_EQUALS(status.Int(), KErrNone); + STIF_LOG("Mock test server has been started"); + + // Create property for getting whether server has called correct method + RProperty testServerProperty; + error = RProperty::Define(KOomServerTestProperty, KOomServerTestKey, RProperty::EInt, + KAllowAllPolicy, KAllowAllPolicy); + STIF_ASSERT_EQUALS(error, KErrNone); + error = testServerProperty.Attach(KOomServerTestProperty, KOomServerTestKey, EOwnerThread); + STIF_ASSERT_EQUALS(error, KErrNone); + CleanupClosePushL(testServerProperty); + STIF_LOG("Communication property created"); + + // Connect to ROomMonitorSession + ROomMonitorSession monitorSession; + error = monitorSession.Connect(); + STIF_ASSERT_EQUALS(error, KErrNone); + CleanupClosePushL(monitorSession); + STIF_LOG("ROomMonitorSession has connected to server successfully"); + + // Test ROomMonitorSession::RequestFreeMemory() function (2 overloaded versions) + monitorSession.RequestFreeMemory(0); + // The function shall already be called at this time, and the property shall already get set + TInt propValue = KOomTestInitialValue; + error = testServerProperty.Get(propValue); + STIF_ASSERT_EQUALS(error, KErrNone); + STIF_ASSERT_EQUALS(propValue, KOomTestClientQueueFreeMemoryCalled); // Same with set in ut_mockoomclientrequestqueue.cpp + STIF_LOG("RequestFreeMemory() sync version has been called correctly"); + // Set the property to initial value before next call + error = testServerProperty.Set(KOomTestInitialValue); + STIF_ASSERT_EQUALS(error, KErrNone); + propValue = KOomTestInitialValue; + + monitorSession.RequestFreeMemory(0, status); + User::WaitForRequest(status); + // The function shall already be called at this time, and the property shall already get set + error = testServerProperty.Get(propValue); + STIF_ASSERT_EQUALS(error, KErrNone); + STIF_ASSERT_EQUALS(propValue, KOomTestClientQueueFreeMemoryCalled); // Same with set in ut_mockoomclientrequestqueue.cpp + STIF_LOG("RequestFreeMemory() async version has been called correctly"); + // Set the property to initial value before next call + error = testServerProperty.Set(KOomTestInitialValue); + STIF_ASSERT_EQUALS(error, KErrNone); + propValue = KOomTestInitialValue; + + // Test ROomMonitorSession::RequestOptionalRam() function (2 overloaded versions) + TInt bytesAvailable; + monitorSession.RequestOptionalRam(0, 0, 0, bytesAvailable); + // The function shall already be called at this time, and the property shall already get set + error = testServerProperty.Get(propValue); + STIF_ASSERT_EQUALS(error, KErrNone); + STIF_ASSERT_EQUALS(propValue, KOomTestClientQueueOptionalRamCalled); // Same with set in ut_mockoomclientrequestqueue.cpp + STIF_LOG("RequestOptionalRam() sync version has been called correctly"); + // Set the property to initial value before next call + error = testServerProperty.Set(KOomTestInitialValue); + STIF_ASSERT_EQUALS(error, KErrNone); + propValue = KOomTestInitialValue; + + monitorSession.RequestOptionalRam(0, 0, 0, status); + User::WaitForRequest(status); + // The function shall already be called at this time, and the property shall already get set + error = testServerProperty.Get(propValue); + STIF_ASSERT_EQUALS(error, KErrNone); + STIF_ASSERT_EQUALS(propValue, KOomTestClientQueueOptionalRamCalled); // Same with set in ut_mockoomclientrequestqueue.cpp + STIF_LOG("RequestOptionalRam() async version has been called correctly"); + // Set the property to initial value before next call + error = testServerProperty.Set(KOomTestInitialValue); + STIF_ASSERT_EQUALS(error, KErrNone); + propValue = KOomTestInitialValue; + + // Test ROomMonitorSession::CancelRequestFreeMemory() + monitorSession.CancelRequestFreeMemory(); + // No verification is needed as this function only returns success + STIF_LOG("CancelRequestFreeMemory() has been called correctly"); + + // Test ROomMonitorSession::ThisAppIsNotExiting() function + monitorSession.ThisAppIsNotExiting(0); + // The function shall already be called at this time, and the property shall already get set + error = testServerProperty.Get(propValue); + STIF_ASSERT_EQUALS(error, KErrNone); + STIF_ASSERT_EQUALS(propValue, KOomTestMonitorAppNotExitingCalled); // Same with set in ut_mockoommonitor.cpp + STIF_LOG("ThisAppIsNotExiting() has been called correctly"); + // Set the property to initial value before next call + error = testServerProperty.Set(KOomTestInitialValue); + STIF_ASSERT_EQUALS(error, KErrNone); + propValue = KOomTestInitialValue; + + // The test is done, close the app + process.Kill(KErrNone); + // Cleanup + CleanupStack::PopAndDestroy(3); + error = RProperty::Delete(KOomServerTestProperty, KOomServerTestKey); + STIF_ASSERT_EQUALS(error, KErrNone); +} + +/** + * @SYMTestCaseID GAPS-OOM-SERVER-002 + * @SYMTestCaseDesc Test calling SetOomPriority functions via client-server + * @SYMTestPriority Medium + * @SYMTestActions 1) Start server in another process + * 2) Create and connect to ROomMonitorSession + * 3) Call ROomMonitorSession::SetOomPriority() function + * @SYMTestExpectedResults 1) Server started + * 2) ROomMonitorSession connects to server successfully + * 3) The request is handled by ServiceL() function at server side + * @SYMTestType Unit Test + * @SYMCreationDate 20-07-2010 + */ +STIF_TESTDEFINE(GAPS-OOM-SERVER-002) +{ + // Start the mock server + _LIT(KServerName, "ut_mockoomserver.exe"); + RProcess process; + TInt error = process.Create(KServerName, KNullDesC); + STIF_ASSERT_EQUALS(error, KErrNone); + CleanupClosePushL(process); + TRequestStatus status; + process.Rendezvous(status); + process.Resume(); + User::WaitForRequest(status); + STIF_ASSERT_EQUALS(status.Int(), KErrNone); + STIF_LOG("Mock test server has been started"); + + // Connect to ROomMonitorSession + ROomMonitorSession monitorSession; + error = monitorSession.Connect(); + STIF_ASSERT_EQUALS(error, KErrNone); + CleanupClosePushL(monitorSession); + STIF_LOG("ROomMonitorSession has connected to server successfully"); + +#ifdef _DEBUG + TestModuleIf().SetExitReason(CTestModuleIf::EPanic, KNoCoeEnvFound); +#endif + // Test ROomMonitorSession::SetOomPriority() function + monitorSession.SetOomPriority(ROomMonitorSession::EOomPriorityNormal); + // No need to verify + STIF_LOG("SetOomPriority() has been called correctly"); + + // The test is done, close the app + process.Kill(KErrNone); + // Cleanup + CleanupStack::PopAndDestroy(2); + error = RProperty::Delete(KOomServerTestProperty, KOomServerTestKey); + STIF_ASSERT_EQUALS(error, KErrNone); +} + +#endif +/** + * END OF TEST CASES SECTION + */ + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/utoomclientrequestqueue/.cproject --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/utoomclientrequestqueue/.cproject Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,267 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/utoomclientrequestqueue/.project --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/utoomclientrequestqueue/.project Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,20 @@ + + + utoomclientrequestqueue + + + + + + com.nokia.carbide.cdt.builder.carbideCPPBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.core.ccnature + com.nokia.carbide.cdt.builder.carbideCPPBuilderNature + com.nokia.carbide.cdt.builder.carbideSBSv2BuilderNature + + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/utoomclientrequestqueue/Bwins/utoomclientrequestqueueu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/utoomclientrequestqueue/Bwins/utoomclientrequestqueueu.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,4 @@ +EXPORTS + ?LibEntryL@@YAPAVCTestModuleBase@@XZ @ 1 NONAME ; class CTestModuleBase * __cdecl LibEntryL(void) + ?SetRequirements@@YAHAAPAVCTestModuleParam@@AAK@Z @ 2 NONAME ; int __cdecl SetRequirements(class CTestModuleParam * &,unsigned long &) + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/utoomclientrequestqueue/eabi/mockoommemorymonitorserveru.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/utoomclientrequestqueue/eabi/mockoommemorymonitorserveru.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,3 @@ +EXPORTS + _Z11StartThreadR7RThread @ 1 NONAME + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/utoomclientrequestqueue/eabi/utoomclientrequestqueueu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/utoomclientrequestqueue/eabi/utoomclientrequestqueueu.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,4 @@ +EXPORTS + _Z9LibEntryLv @ 1 NONAME + _Z15SetRequirementsRP16CTestModuleParamRm @ 2 NONAME + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/utoomclientrequestqueue/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/utoomclientrequestqueue/group/bld.inf Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,61 @@ +/* +* 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: +* +*/ + +PRJ_PLATFORMS +// specify the platforms your component needs to be built for here +// defaults to WINS MARM so you can ignore this if you just build these + + DEFAULT + +PRJ_TESTEXPORTS +// NOTE: If using ARS requirements all export operations should be done under this. +// 'abld test export' + +PRJ_EXPORTS +// Specify the source file followed by its destination here +// copy will be used to copy the source file to its destination +// If there's no destination then the source file will be copied +// to the same name in \epoc32\include +// Example: +/* +\agnmodel\inc\AGMCOMON.H +*/ + +PRJ_TESTMMPFILES + + mockoommemorymonitorserver.mmp + utoomclientrequestqueue.mmp + +PRJ_MMPFILES + + + +// Specify the .mmp files required for building the important component +// releasables. +// +// Specify "tidy" if the component you need to build doesn't need to be +// released. Specify "ignore" if the MMP file exists but should be +// ignored. +// Example: +/* +\agnmodel\group\agnmodel.mmp +#if defined(MARM) +\agnmodel\group\agsvexe.mmp +#endif +*/ + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/utoomclientrequestqueue/group/mockoommemorymonitorserver.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/utoomclientrequestqueue/group/mockoommemorymonitorserver.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,44 @@ +/* +============================================================================ + Name : mockoommemorymonitorserver.mmp + Author : + Copyright : Your copyright notice + Description : This is the project specification file for w213. +============================================================================ +*/ + +TARGET mockoommonitorserver.exe +TARGETTYPE exe +UID 0 0x2002CAD3 + +//CAPABILITY all - TCB + +macro CLIENT_REQUEST_QUEUE +#define CLIENT_REQUEST_QUEUE +macro FCC_UNIT_TEST +#define FCC_UNIT_TEST + +USERINCLUDE ../inc +USERINCLUDE ../../../inc + +OS_LAYER_SYSTEMINCLUDE +MW_LAYER_SYSTEMINCLUDE + +SOURCEPATH ../src +SOURCE mockoommemorymonitor.cpp + +SOURCEPATH ../../../src +SOURCE oommemorymonitorserver.cpp +SOURCE oommemorymonitorsession.cpp +SOURCE oompanic.cpp +SOURCE oomsubscribehelper.cpp +#ifdef CLIENT_REQUEST_QUEUE +SOURCE oomclientrequestqueue.cpp +#endif + +LIBRARY euser.lib +LIBRARY ws32.lib +LIBRARY hal.lib + +LANG SC + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/utoomclientrequestqueue/group/utoomclientrequestqueue.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/utoomclientrequestqueue/group/utoomclientrequestqueue.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,90 @@ +/*TYPE STIFUNIT*/ +/* +* 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: MMP file for STIF Test Framework's STIFUnit test module. +* +*/ + +#include + +//uncomment both of these macros to use the CLIENT_REQUEST_QUEUE +macro CLIENT_REQUEST_QUEUE +#define CLIENT_REQUEST_QUEUE +macro FCC_UNIT_TEST +#define FCC_UNIT_TEST + + +SMPSAFE + +TARGET utoomclientrequestqueue.dll +TARGETTYPE dll +UID 0x1000008D 0x2002CAD4 + +CAPABILITY ALL -TCB +/* Remove comments and replace 0x00000000 with correct vendor id */ +// VENDORID 0x00000000 +/* Remove comments and replace 0x00000000 with correct secure id */ +// SECUREID 0x00000000 + +//TARGETPATH ?target_path +DEFFILE utoomclientrequestqueue.def + +USERINCLUDE ../inc +USERINCLUDE ../../../inc + + +OS_LAYER_SYSTEMINCLUDE +MW_LAYER_SYSTEMINCLUDE + +SOURCEPATH ../src +SOURCE utoomclientrequestqueue.cpp +SOURCE utoomclientrequestqueueCases.cpp + +SOURCEPATH ../../../src +SOURCE oommonitorsession.cpp +SOURCE oompanic.cpp + + + +//RESOURCE resource_file +//RESOURCE resource_file2 + +LIBRARY stiftestinterface.lib +LIBRARY euser.lib +LIBRARY cone.lib +LIBRARY ws32.lib + +LANG SC + +/* +START WINS +?wins_specific_information +END + +START MARM +?marm_specific_information +END +*/ +// Other possible keywords: + +// DOCUMENT ?file, that is not compiled, but added to MSVC project workspace (i.e. release notes) +/* +START BITMAP ?target +TARGETPATH ?emulated_path_on_target_machine +HEADER +SOURCE ?color_depth ?source_bitmap +END +*/ +// DEFFILE ?filename +// AIF ?filename// End of File diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/utoomclientrequestqueue/group/utoomclientrequestqueue.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/utoomclientrequestqueue/group/utoomclientrequestqueue.pkg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,60 @@ +; +; 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: +; +; Installation file for STIF +; + +; Languages +&EN + +; Provide value for uid +#{"STIF"},(0x00000000),1,1,0,TYPE=SA + +; Series60 product id for S60 3.0 +[0x101F7961], 0, 0, 0, {"Series60ProductID"} + +; Localised Vendor name +%{"Nokia"} + +; Unique Vendor name +:"Nokia" + +; Logo +; None + +; Package signature - Optional +; None + +; Start of Package body + +; Condition blocks +; None + +; Options list +; None + +; Install files +"\epoc32\release\armv5\udeb\utoomclientrequestqueue.dll" - "!:\Sys\Bin\utoomclientrequestqueue.dll" + +; Embedded SIS +; None + +; End of Package body + +; PKG dependencies +; None + +; PKG capabilities +; None diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/utoomclientrequestqueue/inc/utoommockclientserver.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/utoomclientrequestqueue/inc/utoommockclientserver.h Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,35 @@ +/* + * utoomconstant.h + * + * Created on: Aug 9, 2010 + * Author: t4sun + */ + +#ifndef UTOOMMOCKCLIENTSERVER_H_ +#define UTOOMMOCKCLIENTSERVER_H_ +// define properties names +const TUid KUTOomPropertyCategory = {0x10000000}; +const TUint32 KUTOomStubPropertyKey = 0; +const TUint32 KUTOomFreeMemorySetKey = 1; +const TUint32 KUTOomMemoryGoodSetKey = 2; +const TInt Stub_CMemoryMonitor_FreeOptionalRamL = 100; +const TInt Stub_CMemoryMonitor_RequestFreeMemoryL = 200; +const TInt Stub_CMemoryMonitor_RequestFreeMemoryPandSL = 300; + + +const TUint KDefaultHeapSize=0x10000; + +enum TOomServerPanic + { + EBadRequest = 1, + EBadDescriptor, + EMainSchedulerError, + ESvrCreateServer, + ESvrStartServer, + ECreateTrapCleanup, + ENotImplementedYet, + }; + +IMPORT_C TInt StartThread(RThread& aServerThread); + +#endif /* UTOOMMOCKCLIENTSERVER_H_ */ diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/utoomclientrequestqueue/src/mockoommemorymonitor.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/utoomclientrequestqueue/src/mockoommemorymonitor.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,257 @@ +/* + * mockoommemorymonitor.cpp + * + * Created on: Aug 5, 2010 + * Author: t4sun + */ +#include +#include +#include + +#include "oomconstants.hrh" + +#include "oommemorymonitor.h" +#include "oomclientrequestqueue.h" +#include "oomconfig.h" +#include "oomconfigparser.h" +#include "oomconstants.hrh" +#include "oomapplicationconfig.h" +#include "oompanic.h" +#include "oommemorymonitorserver.h" +#include "oommonitorclientserver.h" + +#include "utoommockclientserver.h" + + + +CMemoryMonitor* CMemoryMonitor::NewL() + { + + CMemoryMonitor* self = new(ELeave) CMemoryMonitor(); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(self); + return self; + } + +CMemoryMonitor::CMemoryMonitor() + { + } + +// --------------------------------------------------------- +// +// --------------------------------------------------------- +// +CMemoryMonitor::~CMemoryMonitor() + { + +#ifndef CLIENT_REQUEST_QUEUE + if (iWatchdogStatusSubscriber) + { + iWatchdogStatusSubscriber->StopSubscribe(); + } + iWatchdogStatusProperty.Close(); + delete iWatchdogStatusSubscriber; +#endif + + delete iServer; +#ifdef CLIENT_REQUEST_QUEUE + delete iQueue; +#endif + +#ifdef _DEBUG + delete iLogger; +#endif + } + +// --------------------------------------------------------- +// +// --------------------------------------------------------- +// +void CMemoryMonitor::ConstructL() + { + +#ifdef CLIENT_REQUEST_QUEUE + iQueue = COomClientRequestQueue::NewL(*this); + + iServer = CMemoryMonitorServer::NewL(*iQueue); +#else + iServer = CMemoryMonitorServer::NewL(*this); +#endif + + + + } + +const COomGlobalConfig& CMemoryMonitor::GlobalConfig() + { + TPtrC* par; + CMemoryMonitor* globalMemoryMonitor = (CMemoryMonitor*)(par); + return globalMemoryMonitor->iConfig->GlobalConfig(); + + } + + + +/*** + * FreeOptionalRamL + * RequestFreeMemoryL + * RequestFreeMemoryPandSL + * GoodRamThreshold + */ + +void CMemoryMonitor::FreeOptionalRamL(TInt aBytesRequested, TInt aPluginId, TBool aDataPaged) // The ID of the plugin that will clear up the allocation, used to determine the priority of the allocation + { + // make mark here + RProperty::Set(KUTOomPropertyCategory, KUTOomStubPropertyKey, Stub_CMemoryMonitor_FreeOptionalRamL ); + + iActionTrigger = EClientServerRequestOptionalRam; + + iDataPaged = aDataPaged; + + StartFreeSomeRamL(aBytesRequested + iGoodRamThreshold, iLowSwapThreshold, 0); + } + +void CMemoryMonitor::RequestFreeMemoryL(TInt aBytesRequested, TBool aDataPaged) + { + // make mark here + RProperty::Set(KUTOomPropertyCategory, KUTOomStubPropertyKey, Stub_CMemoryMonitor_RequestFreeMemoryL ); + + iActionTrigger = EClientServerRequestFreeMemory; + iDataPaged = aDataPaged; + StartFreeSomeRamL(iLowRamThreshold, aBytesRequested + iLowSwapThreshold); + } + +void CMemoryMonitor::RequestFreeMemoryPandSL(TInt aBytesRequested) + { + RProperty::Set(KUTOomPropertyCategory, KUTOomStubPropertyKey, Stub_CMemoryMonitor_RequestFreeMemoryPandSL ); + + iActionTrigger = EPublishAndSubscribe; + StartFreeSomeRamL(aBytesRequested + iLowRamThreshold, iLowSwapThreshold); + } + +TInt CMemoryMonitor::GoodRamThreshold() const + { + return 0; + } + +void CMemoryMonitor::StartFreeSomeRamL(TInt aFreeRamTarget, TInt aFreeSwapTarget) + { + StartFreeSomeRamL(aFreeRamTarget, aFreeSwapTarget, KOomPriorityInfinate - 1); + } + +void CMemoryMonitor::StartFreeSomeRamL(TInt aFreeRamTarget, TInt aFreeSwapTarget, TInt aMaxPriority) // The maximum priority of action to run + { + TInt freeMemory = 0; + + // put it here for ut test + // get free memory from property for test + TInt memoryGood(0); + RProperty::Get(KUTOomPropertyCategory, KUTOomFreeMemorySetKey, freeMemory ); + RProperty::Get(KUTOomPropertyCategory, KUTOomMemoryGoodSetKey, memoryGood ); + RProperty::Set(KUTOomPropertyCategory, KUTOomMemoryGoodSetKey, memoryGood+1 ); + if( memoryGood >= 1) + { + iQueue->ActionsCompleted(freeMemory, ETrue); + } + else + { + iQueue->ActionsCompleted(freeMemory, EFalse); + } + + } + +void CMemoryMonitor::GetFreeMemory(TInt& aCurrentFreeMemory) + { + } +TActionTriggerType CMemoryMonitor::ActionTrigger() const + { + return iActionTrigger; + } + +void CMemoryMonitor::RefreshThresholds() + { + } + +void CMemoryMonitor::SetPriorityBusy(TInt aWgId) + { + //FUNC_LOG; + + //iOomWindowGroupList->SetPriorityBusy(aWgId); + } +void CMemoryMonitor::SetPriorityNormal(TInt aWgId) + { + //FUNC_LOG; + + //iOomWindowGroupList->SetPriorityNormal(aWgId); + } + +void CMemoryMonitor::SetPriorityHigh(TInt aWgId) + { + //iOomWindowGroupList->SetPriorityHigh(aWgId); + } + +void CMemoryMonitor::AppNotExiting(TInt aWgId) + { + //FUNC_LOG; + + //iOomActionList->AppNotExiting(aWgId); + } + +void PanicClient(const RMessagePtr2& aMessage,TOomMonitorClientPanic aPanic) + { + //FUNC_LOG; + + aMessage.Panic(KMemoryMonitorServerName, aPanic); + } + +//********************************** +//Global functions +//********************************** + +LOCAL_C void MainL() + { + // + // create and install the active scheduler we need + CActiveScheduler* s=new(ELeave) CActiveScheduler; + CleanupStack::PushL(s); + CActiveScheduler::Install(s); + // + // create the server (leave it on the cleanup stack) + CMemoryMonitor* mmPtr = CMemoryMonitor::NewL(); + if(mmPtr!=NULL) + { + CleanupStack::PushL(mmPtr); + + // Initialisation complete, now signal the client + RProcess::Rendezvous(KErrNone); + // + // Ready to run + CActiveScheduler::Start(); + // + // Cleanup the server + CleanupStack::PopAndDestroy(1); + } + // Cleanup the scheduler + CleanupStack::PopAndDestroy(1); + } +/** + Returns standard error code on exit +*/ +GLDEF_C TInt E32Main() + { + __UHEAP_MARK; + // + CTrapCleanup* cleanup=CTrapCleanup::New(); + TInt r=KErrNoMemory; + if (cleanup) + { + TRAP(r,MainL()); + delete cleanup; + } + // + __UHEAP_MARKEND; + return r; + } + + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/utoomclientrequestqueue/src/utoomclientrequestqueue.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/utoomclientrequestqueue/src/utoomclientrequestqueue.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,124 @@ +/* +* 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: This file contains STIFUnit module implementation. +* +*/ + +/******************************************************************************/ +/* + * + * Test module configuration +*/ + +// Version +#define TEST_MODULE_VERSION_MAJOR 0 +#define TEST_MODULE_VERSION_MINOR 0 +#define TEST_MODULE_VERSION_BUILD 0 + +// Uncomment following defines, if you want to provide implementation +// of enlisted virtual methods of test module. +// Implementation part is located at the end of this file. +//#define STIFUNIT_OOMTESTQUERYL +//#define STIFUNIT_OOMTESTINITIALIZEL +//#define STIFUNIT_OOMHANDLEWARNINGL +//#define STIFUNIT_OOMTESTFINALIZEL +// Uncomment following define, if you want to increase heap or stack size. +// #define STIFUNIT_SETHEAPANDSTACKSIZE +/******************************************************************************/ + + +/* + * Test module internals. Please do not edit them. +*/ + +// Includes +#include + +// Literals +_LIT( KUnitLogPath, "\\logs\\testframework\\" ); +_LIT( KUnitLogFile, "utoomclientrequestqueue.txt" ); +_LIT( KLogStart, "utoomclientrequestqueue logging starts!" ); + +// Defines +#define STIF_UNIT_TEST_CASES "../src/utoomclientrequestqueueCases.cpp" +#define STIF_UNIT_MODULE_CLASS_NAME Cutoomclientrequestqueue +#define STIF_UNIT_MODULE_NAME _L("utoomclientrequestqueue.dll") + +// Include STIF unit generic file +#include + +/* + * Implementation of setHeapAndStack virtual methods. + * To changes heap and stack size provide new values to iTestThreadStackSize, iTestThreadMinHeap and iTestThreadMaxHeap. +*/ + +#ifdef STIFUNIT_SETHEAPANDSTACKSIZE +EXPORT_C TInt SetRequirements( CTestModuleParam*& aTestModuleParam, + TUint32& aParameterValid ) + { + aParameterValid = KStifTestModuleParameterChanged; + CTestModuleParamVer01* param = CTestModuleParamVer01::NewL(); + // Stack size + param->iTestThreadStackSize= 16384; // 16K stack + // Heap sizes + param->iTestThreadMinHeap = 4096; // 4K heap min + param->iTestThreadMaxHeap = 1048576;// 1M heap max + + return KErrNone; + } +#undef STIFUNIT_SETHEAPANDSTACKSIZE +#endif + +/* + * User implementation of OOM virtual methods. + * Providing own implementation requires uncommenting defines at the + * beginnig of this file. +*/ +#ifdef STIFUNIT_OOMTESTQUERYL +TBool Cutoomclientrequestqueue::OOMTestQueryL( const TFileName& /*aTestCaseFile*/, + const TInt aCaseNumber, + TOOMFailureType& aFailureType, + TInt& aFirstMemFailure, + TInt& aLastMemFailure) + { + } +#undef STIFUNIT_OOMTESTQUERYL +#endif + +#ifdef STIFUNIT_OOMTESTINITIALIZEL +void Cutoomclientrequestqueue::OOMTestInitializeL( const TFileName& /*aTestCaseFile*/, + const TInt /*aCaseNumber*/ ) + { + } +#undef STIFUNIT_OOMTESTINITIALIZEL +#endif + +#ifdef STIFUNIT_OOMHANDLEWARNINGL +void Cutoomclientrequestqueue::OOMHandleWarningL( const TFileName& /*aTestCaseFile*/, + const TInt /*aCaseNumber*/, + TInt& /*aFailNextValue*/) + { + } +#undef STIFUNIT_OOMHANDLEWARNINGL +#endif + +#ifdef STIFUNIT_OOMTESTFINALIZEL +void Cutoomclientrequestqueue::OOMTestFinalizeL( const TFileName& /*aTestCaseFile*/, + const TInt /*aCaseNumber*/ ) + { + } +#undef STIFUNIT_OOMTESTFINALIZEL +#endif + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/utoomclientrequestqueue/src/utoomclientrequestqueueCases.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/utoomclientrequestqueue/src/utoomclientrequestqueueCases.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,295 @@ +/* +* 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: This file contains STIFUnit implementation. +* +*/ + +/** + * STIF_UNIT_INCLUDE SECTION - put all #includes between STIF_UNIT_INCLUDE_SECTION + * and STIF_UNIT_INCLUDE_SECTION_END + */ +#ifdef STIF_UNIT_INCLUDE_SECTION +#include +#include +#include +#include + + +#include "oommonitorsession.h" +#include "utoommockclientserver.h" +#include "oommonitorclientserver.h" + +#endif //STIF_UNIT_INCLUDE_SECTION_END + + #define KMaxServerNameLength 256 + #define KRequestMemoryValue 100 + #define KMinMemoryNeedValue 50 + #define KMemoryGoodSetKeyETrueValue 10 // >=1 for memorygood = ETrue else EFalse + #define KMemoryGoodSetKeyEFalseValue 0 // >=1 for memorygood = ETrue else EFalse + +/** + * GLOBAL VARIABLES SECTION + */ +#ifdef TEST_VAR_DECLARATIONS + ROomMonitorSession ss; + const TInt KCreateSessionRetryCount = 2; //CreateSession retry count + const TInt KServerDefaultMessageSlots = 2; //server async Message Slots + RProcess serverProcess; + TRequestStatus waitStatus; + TInt stubValue; + TInt value2; + const TInt KOomWatchDogStatusIdle = -1; + +#endif +/** + * END OF GLOBAL VARIABLES SECTION + */ + + +/** + * TEST CASES SECTION + */ +#ifdef TEST_CASES +/** + * STIF_SETUP defines activities needed before every test case. + */ +STIF_SETUP + { + TInt retry=KCreateSessionRetryCount; //number of CreateSession retries + FOREVER + { + // try to create a session with the server which has KServerDefaultMessageSlots async message slots. + TInt err; + err = ss.Connect(); + if (err!=KErrNotFound && err!=KErrServerTerminated) + break; + STIF_ASSERT_NOT_EQUALS(retry, 0); + //if (--retry==0) + // User::Leave(err); + err = serverProcess.Create(KMemoryMonitorServerName, KNullDesC); + if (err!=KErrNone) + User::Leave(err); + + TRequestStatus stat; + serverProcess.Rendezvous(stat); + + if (stat!=KRequestPending) + serverProcess.Kill(KErrCouldNotConnect); // abort startup + else + serverProcess.Resume(); // logon OK - start the server + + User::WaitForRequest(stat); // wait for start or death + + // The server exit type may be a panic value and a panic value can be zero, which is the same + // value as KErrNone. So, the exit type is tested for a panic before being returned. + if (serverProcess.ExitType()==EExitPanic) + { + err = KErrServerTerminated; + } + else + { + err = stat.Int(); + } + iLog->Log(_L("start server return with %d"), err); + if (err!=KErrNone && err!=KErrAlreadyExists) + User::Leave(err); + } + + _LIT_SECURITY_POLICY_PASS(KOomMemoryMonitorPolicyRead); + + RProperty::Define(KUTOomPropertyCategory, KUTOomStubPropertyKey, RProperty::EInt, KOomMemoryMonitorPolicyRead, KOomMemoryMonitorPolicyRead); + RProperty::Define(KUTOomPropertyCategory, KUTOomFreeMemorySetKey, RProperty::EInt, KOomMemoryMonitorPolicyRead, KOomMemoryMonitorPolicyRead); + RProperty::Define(KUTOomPropertyCategory, KUTOomMemoryGoodSetKey, RProperty::EInt, KOomMemoryMonitorPolicyRead, KOomMemoryMonitorPolicyRead); + + } + +/** + * STIF_TEARDOWN defines activities needed after every test case + */ +STIF_TEARDOWN + { + RProperty::Delete(KUTOomPropertyCategory, KUTOomStubPropertyKey); + RProperty::Delete(KUTOomPropertyCategory, KUTOomFreeMemorySetKey); + RProperty::Delete(KUTOomPropertyCategory, KUTOomMemoryGoodSetKey); + + // close the session + ss.Close(); + + // kill server process + serverProcess.Kill(KErrNone); + iLog->Log(_L("server process killed")); + + } + +/** + * STIF_TESTDEFINE defines a test case + * + * following test case are make call to client resession - ROomMonitorSession + * through client/server framework, control transfer to oomclientrequestqueue + * and then to oommemorymonitor (implementation is mockoommemorymonitor.cpp), + * in which + * 1. will change corresponding property's value to show an API had been called, and + * 2. will check corresponding property's value, and use these values to call + * oomclientrequestqueue::ActionsCompleted(...), then complete RMessage2, + * then control transfer back to test code, so that we check return value and + * corresponsing property's value, make verification, decide if test pass or not. + */ +STIF_TESTDEFINE(RequestFreeMemory_KErrNone) + { + // 1. check call to RequestFreeMemory, + // memory request can be fullfilled, + // return value should be KErrNone. + // make a call and check stub + iLog->Log(_L("start RequestFreeMemory_KErrNone")); + RProperty::Set(KUTOomPropertyCategory, KUTOomStubPropertyKey, 0 ); + RProperty::Set(KUTOomPropertyCategory, KUTOomMemoryGoodSetKey, KMemoryGoodSetKeyETrueValue ); + ss.RequestFreeMemory(KRequestMemoryValue, waitStatus); + User::WaitForRequest(waitStatus); + iLog->Log(_L("wait status is %d"), waitStatus); + RProperty::Get(KUTOomPropertyCategory, KUTOomStubPropertyKey, stubValue ); + RProperty::Get(KUTOomPropertyCategory, KUTOomMemoryGoodSetKey, value2 ); + iLog->Log(_L("call return and property value now is %d, %d"), stubValue, value2); + STIF_ASSERT_EQUALS(stubValue, Stub_CMemoryMonitor_RequestFreeMemoryL); + STIF_ASSERT_EQUALS(waitStatus.Int(), KErrNone); + iLog->Log(_L("RequestFreeMemory_KErrNone passed")); + } + +STIF_TESTDEFINE(RequestFreeMemory_KErrNoMemory) + { + // 2. check call to RequestFreeMemory, + // memory request can not be fullfilled, + // return value should be KErrNoMemory. + // make a call and check stub + iLog->Log(_L("start RequestFreeMemory_KErrNoMemory")); + RProperty::Set(KUTOomPropertyCategory, KUTOomStubPropertyKey, 0 ); + RProperty::Set(KUTOomPropertyCategory, KUTOomMemoryGoodSetKey, KMemoryGoodSetKeyEFalseValue ); + ss.RequestFreeMemory(KRequestMemoryValue, waitStatus); + User::WaitForRequest(waitStatus); + iLog->Log(_L("wait status is %d"), waitStatus); + RProperty::Get(KUTOomPropertyCategory, KUTOomStubPropertyKey, stubValue ); + RProperty::Get(KUTOomPropertyCategory, KUTOomMemoryGoodSetKey, value2 ); + STIF_ASSERT_EQUALS(stubValue, Stub_CMemoryMonitor_RequestFreeMemoryL); + STIF_ASSERT_EQUALS(waitStatus.Int(), KErrNoMemory); + iLog->Log(_L("RequestFreeMemory_KErrNoMemory passed")); + + } + +STIF_TESTDEFINE(Twice_RequestFreeMemory_KErrNoMemory) + { + // 2. check call to RequestFreeMemory, + // memory request can not be fullfilled, + // return value should be KErrNoMemory. + // make a call and check stub + iLog->Log(_L("start RequestFreeMemory_KErrNoMemory")); + RProperty::Set(KUTOomPropertyCategory, KUTOomStubPropertyKey, 0 ); + RProperty::Set(KUTOomPropertyCategory, KUTOomMemoryGoodSetKey, KMemoryGoodSetKeyEFalseValue ); + TRequestStatus waitStatus_second; + ss.RequestFreeMemory(KRequestMemoryValue, waitStatus); + ss.RequestFreeMemory(KRequestMemoryValue, waitStatus_second); + User::WaitForRequest(waitStatus); + User::WaitForRequest(waitStatus_second); + iLog->Log(_L("wait status is %d"), waitStatus); + iLog->Log(_L("second wait status is %d"), waitStatus_second); + RProperty::Get(KUTOomPropertyCategory, KUTOomStubPropertyKey, stubValue ); + RProperty::Get(KUTOomPropertyCategory, KUTOomMemoryGoodSetKey, value2 ); + STIF_ASSERT_EQUALS(stubValue, Stub_CMemoryMonitor_RequestFreeMemoryL); + STIF_ASSERT_EQUALS(waitStatus.Int(), KErrNoMemory); + iLog->Log(_L("RequestFreeMemory_KErrNoMemory passed")); + + } + +STIF_TESTDEFINE(RequestOptionalRam_MemoryAvailable) + { + + // 3. check call to RequestOptionalRam, + // memory request can be fullfilled, + // return value should be memory available. + // make a call and check stub + iLog->Log(_L("start RequestOptionalRam_MemoryAvailable")); + RProperty::Set(KUTOomPropertyCategory, KUTOomStubPropertyKey, 0 ); + RProperty::Set(KUTOomPropertyCategory, KUTOomFreeMemorySetKey, KMinMemoryNeedValue + 10 ); + RProperty::Set(KUTOomPropertyCategory, KUTOomMemoryGoodSetKey, KMemoryGoodSetKeyETrueValue ); + ss.RequestOptionalRam(KRequestMemoryValue, KMinMemoryNeedValue, 1, waitStatus); + User::WaitForRequest(waitStatus); + iLog->Log(_L("wait status is %d"), waitStatus); + RProperty::Get(KUTOomPropertyCategory, KUTOomStubPropertyKey, stubValue ); + RProperty::Get(KUTOomPropertyCategory, KUTOomMemoryGoodSetKey, value2 ); + iLog->Log(_L("call return and property value now is %d, %d"), stubValue, value2); + STIF_ASSERT_EQUALS(stubValue, Stub_CMemoryMonitor_FreeOptionalRamL); + STIF_ASSERT_EQUALS(waitStatus.Int(), 60); + + iLog->Log(_L("RequestOptionalRam_MemoryAvailable passed")); + + } + +STIF_TESTDEFINE(RequestOptionalRam_KErrNoMemory) + { + + // 3. check call to RequestOptionalRam, + // memory request can be fullfilled, + // return value should be memory available. + // make a call and check stub + iLog->Log(_L("start RequestOptionalRam_KErrNoMemory")); + RProperty::Set(KUTOomPropertyCategory, KUTOomStubPropertyKey, 0 ); + RProperty::Set(KUTOomPropertyCategory, KUTOomFreeMemorySetKey, KMinMemoryNeedValue - 10 ); + RProperty::Set(KUTOomPropertyCategory, KUTOomMemoryGoodSetKey, KMemoryGoodSetKeyETrueValue ); + ss.RequestOptionalRam(KRequestMemoryValue, KMinMemoryNeedValue, 1, waitStatus); + User::WaitForRequest(waitStatus); + iLog->Log(_L("wait status is %d"), waitStatus); + RProperty::Get(KUTOomPropertyCategory, KUTOomStubPropertyKey, stubValue ); + RProperty::Get(KUTOomPropertyCategory, KUTOomMemoryGoodSetKey, value2 ); + iLog->Log(_L("call return and property value now is %d, %d"), stubValue, value2); + STIF_ASSERT_EQUALS(stubValue, Stub_CMemoryMonitor_FreeOptionalRamL); + STIF_ASSERT_EQUALS(waitStatus.Int(), KErrNoMemory); + + iLog->Log(_L("RequestOptionalRam_KErrNoMemory passed")); + + } + +/** + * in this test case, + * 1. set property's value, + * 2. check that a stub property's value is changed while mockoommemorymonitor's API + * being called. + */ +STIF_TESTDEFINE(KUikOOMWatchdogStatus_Changed) + { + // 4. check WatchdogStatusStatusChanged should be triggered, + // memory request can be fullfilled, + // check that CMemoryMonitor_RequestFreeMemoryPandSL should be called + + + RProperty::Set(KUTOomPropertyCategory, KUTOomStubPropertyKey, 0 ); + + // set a value to trigger handle function in oomclientrequestqueue + TInt err = RProperty::Set(KPSUidUikon, KUikOOMWatchdogStatus, KRequestMemoryValue ); + STIF_ASSERT_EQUALS(err, KErrNone); + + //wait aleast that last item in queue had been process and idel enough time + User::After(1000000); //microseconds + + // check stub property's value + RProperty::Get(KUTOomPropertyCategory, KUTOomStubPropertyKey, stubValue ); + STIF_ASSERT_EQUALS(stubValue, Stub_CMemoryMonitor_RequestFreeMemoryPandSL); + + CleanupStack::PopAndDestroy(); // watchdogStatusProperty + } + +#endif +/** + * END OF TEST CASES SECTION + */ + + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/utoomconfigparser/.cproject --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/utoomconfigparser/.cproject Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,267 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/utoomconfigparser/.project --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/utoomconfigparser/.project Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,31 @@ + + + utoomconfigparser + + + + + + com.nokia.s60tools.ctc.ctcPreBuilder + + + + + com.nokia.carbide.cdt.builder.carbideCPPBuilder + + + + + com.nokia.s60tools.ctc.ctcPostBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.core.ccnature + com.nokia.carbide.cdt.builder.carbideCPPBuilderNature + com.nokia.carbide.cdt.builder.carbideSBSv2BuilderNature + com.nokia.s60tools.ctc.ctcNature + + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/utoomconfigparser/Bmarm/utoomconfigparserU.DEF --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/utoomconfigparser/Bmarm/utoomconfigparserU.DEF Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,4 @@ +EXPORTS + LibEntryL__Fv @ 1 NONAME R3UNUSED ; LibEntryL(void) + SetRequirements__FRP16CTestModuleParamRUl @ 2 NONAME R3UNUSED ; SetRequirements(CTestModuleParam *&, unsigned long &) + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/utoomconfigparser/Bwins/utoomconfigparseru.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/utoomconfigparser/Bwins/utoomconfigparseru.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,4 @@ +EXPORTS + ?LibEntryL@@YAPAVCTestModuleBase@@XZ @ 1 NONAME ; class CTestModuleBase * __cdecl LibEntryL(void) + ?SetRequirements@@YAHAAPAVCTestModuleParam@@AAK@Z @ 2 NONAME ; int __cdecl SetRequirements(class CTestModuleParam * &,unsigned long &) + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/utoomconfigparser/eabi/utoomconfigparseru.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/utoomconfigparser/eabi/utoomconfigparseru.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,4 @@ +EXPORTS + _Z9LibEntryLv @ 1 NONAME + _Z15SetRequirementsRP16CTestModuleParamRm @ 2 NONAME + diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/utoomconfigparser/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/utoomconfigparser/group/bld.inf Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,59 @@ +/* +* 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: +* +*/ + +PRJ_PLATFORMS +// specify the platforms your component needs to be built for here +// defaults to WINS MARM so you can ignore this if you just build these + + DEFAULT + +PRJ_TESTEXPORTS +// NOTE: If using ARS requirements all export operations should be done under this. +// 'abld test export' + +PRJ_EXPORTS +// Specify the source file followed by its destination here +// copy will be used to copy the source file to its destination +// If there's no destination then the source file will be copied +// to the same name in \epoc32\include +// Example: +/* +\agnmodel\inc\AGMCOMON.H +*/ + +PRJ_TESTMMPFILES + + utoomconfigparser.mmp + +PRJ_MMPFILES + + +// Specify the .mmp files required for building the important component +// releasables. +// +// Specify "tidy" if the component you need to build doesn't need to be +// released. Specify "ignore" if the MMP file exists but should be +// ignored. +// Example: +/* +\agnmodel\group\agnmodel.mmp +#if defined(MARM) +\agnmodel\group\agsvexe.mmp +#endif +*/ + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/utoomconfigparser/group/utoomconfigparser.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/utoomconfigparser/group/utoomconfigparser.mmp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,103 @@ +/*TYPE STIFUNIT*/ +/* +* 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: MMP file for STIF Test Framework's STIFUnit test module. +* +*/ + +#include + +SMPSAFE + +TARGET utoomconfigparser.dll +TARGETTYPE dll +UID 0x1000008D 0x2002CAD2 + +CAPABILITY ALL -TCB +/* Remove comments and replace 0x00000000 with correct vendor id */ +// VENDORID 0x00000000 +/* Remove comments and replace 0x00000000 with correct secure id */ +// SECUREID 0x00000000 + +//TARGETPATH ?target_path +DEFFILE utoomconfigparser.def + +USERINCLUDE ../inc +USERINCLUDE ../../../inc + + +OS_LAYER_SYSTEMINCLUDE +MW_LAYER_SYSTEMINCLUDE + +SOURCEPATH ../src + +SOURCE utoomconfigparser.cpp +SOURCE utoomconfigparserCases.cpp + +SOURCEPATH ../../../src +SOURCE oomconfigparser.cpp +SOURCE oomconfig.cpp +SOURCE oomapplicationconfig.cpp +SOURCE oomcloseappconfig.cpp +SOURCE oomactionconfig.cpp +SOURCE oomglobalconfig.cpp +SOURCE oompanic.cpp +SOURCE oomforegroundrule.cpp +SOURCE oomidletimerule.cpp +SOURCE oomrunpluginconfig.cpp +SOURCE oomwindowgrouplist.cpp + +//RESOURCE resource_file +//RESOURCE resource_file2 + +LIBRARY euser.lib +LIBRARY stiftestinterface.lib +LIBRARY apparc.lib +LIBRARY eikcore.lib +LIBRARY aknnotify.lib +LIBRARY apgrfx.lib +LIBRARY ws32.lib +LIBRARY bafl.lib +LIBRARY ecom.lib +LIBRARY hal.lib +LIBRARY efsrv.lib +LIBRARY xmlframework.lib +LIBRARY cone.lib +#ifdef _DEBUG +LIBRARY flogger.lib +#endif + +LANG SC + +/* +START WINS +?wins_specific_information +END + +START MARM +?marm_specific_information +END +*/ +// Other possible keywords: + +// DOCUMENT ?file, that is not compiled, but added to MSVC project workspace (i.e. release notes) +/* +START BITMAP ?target +TARGETPATH ?emulated_path_on_target_machine +HEADER +SOURCE ?color_depth ?source_bitmap +END +*/ +// DEFFILE ?filename +// AIF ?filename// End of File diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/utoomconfigparser/group/utoomconfigparser.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/utoomconfigparser/group/utoomconfigparser.pkg Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,60 @@ +; +; 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: +; +; Installation file for STIF +; + +; Languages +&EN + +; Provide value for uid +#{"STIF"},(0x00000000),1,1,0,TYPE=SA + +; Series60 product id for S60 3.0 +[0x101F7961], 0, 0, 0, {"Series60ProductID"} + +; Localised Vendor name +%{"Nokia"} + +; Unique Vendor name +:"Nokia" + +; Logo +; None + +; Package signature - Optional +; None + +; Start of Package body + +; Condition blocks +; None + +; Options list +; None + +; Install files +"\epoc32\release\armv5\udeb\utoomconfigparser.dll" - "!:\Sys\Bin\utoomconfigparser.dll" + +; Embedded SIS +; None + +; End of Package body + +; PKG dependencies +; None + +; PKG capabilities +; None diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/utoomconfigparser/src/utoomconfigparser.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/utoomconfigparser/src/utoomconfigparser.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,125 @@ +/* +* 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: This file contains STIFUnit module implementation. +* +*/ + +/******************************************************************************/ +/* + * + * Test module configuration +*/ + +// Version +#define TEST_MODULE_VERSION_MAJOR 0 +#define TEST_MODULE_VERSION_MINOR 0 +#define TEST_MODULE_VERSION_BUILD 0 + +// Uncomment following defines, if you want to provide implementation +// of enlisted virtual methods of test module. +// Implementation part is located at the end of this file. +//#define STIFUNIT_OOMTESTQUERYL +//#define STIFUNIT_OOMTESTINITIALIZEL +//#define STIFUNIT_OOMHANDLEWARNINGL +//#define STIFUNIT_OOMTESTFINALIZEL +// Uncomment following define, if you want to increase heap or stack size. +// #define STIFUNIT_SETHEAPANDSTACKSIZE +/******************************************************************************/ + + +/* + * Test module internals. Please do not edit them. +*/ + +// Includes +#include + +// Literals +//_LIT( KUnitLogPath, "\\logs\\testframework\\utoomconfigparser\\" ); +_LIT( KUnitLogPath, "\\logs\\testframework\\" ); +_LIT( KUnitLogFile, "utoomconfigparser.txt" ); +_LIT( KLogStart, "utoomconfigparser logging starts!" ); + +// Defines +#define STIF_UNIT_TEST_CASES "../src/utoomconfigparserCases.cpp" +#define STIF_UNIT_MODULE_CLASS_NAME Cutoomconfigparser +#define STIF_UNIT_MODULE_NAME _L("utoomconfigparser.dll") + +// Include STIF unit generic file +#include + +/* + * Implementation of setHeapAndStack virtual methods. + * To changes heap and stack size provide new values to iTestThreadStackSize, iTestThreadMinHeap and iTestThreadMaxHeap. +*/ + +#ifdef STIFUNIT_SETHEAPANDSTACKSIZE +EXPORT_C TInt SetRequirements( CTestModuleParam*& aTestModuleParam, + TUint32& aParameterValid ) + { + aParameterValid = KStifTestModuleParameterChanged; + CTestModuleParamVer01* param = CTestModuleParamVer01::NewL(); + // Stack size + param->iTestThreadStackSize= 16384; // 16K stack + // Heap sizes + param->iTestThreadMinHeap = 4096; // 4K heap min + param->iTestThreadMaxHeap = 1048576;// 1M heap max + + return KErrNone; + } +#undef STIFUNIT_SETHEAPANDSTACKSIZE +#endif + +/* + * User implementation of OOM virtual methods. + * Providing own implementation requires uncommenting defines at the + * beginnig of this file. +*/ +#ifdef STIFUNIT_OOMTESTQUERYL +TBool Cutoomconfigparser::OOMTestQueryL( const TFileName& /*aTestCaseFile*/, + const TInt aCaseNumber, + TOOMFailureType& aFailureType, + TInt& aFirstMemFailure, + TInt& aLastMemFailure) + { + } +#undef STIFUNIT_OOMTESTQUERYL +#endif + +#ifdef STIFUNIT_OOMTESTINITIALIZEL +void Cutoomconfigparser::OOMTestInitializeL( const TFileName& /*aTestCaseFile*/, + const TInt /*aCaseNumber*/ ) + { + } +#undef STIFUNIT_OOMTESTINITIALIZEL +#endif + +#ifdef STIFUNIT_OOMHANDLEWARNINGL +void Cutoomconfigparser::OOMHandleWarningL( const TFileName& /*aTestCaseFile*/, + const TInt /*aCaseNumber*/, + TInt& /*aFailNextValue*/) + { + } +#undef STIFUNIT_OOMHANDLEWARNINGL +#endif + +#ifdef STIFUNIT_OOMTESTFINALIZEL +void Cutoomconfigparser::OOMTestFinalizeL( const TFileName& /*aTestCaseFile*/, + const TInt /*aCaseNumber*/ ) + { + } +#undef STIFUNIT_OOMTESTFINALIZEL +#endif + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 sysresmonitoring/oommonitor/tsrc/utoomconfigparser/src/utoomconfigparserCases.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysresmonitoring/oommonitor/tsrc/utoomconfigparser/src/utoomconfigparserCases.cpp Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,442 @@ +/* +* 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: This file contains STIFUnit implementation. +* +*/ + +/** + * STIF_UNIT_INCLUDE SECTION - put all #includes between STIF_UNIT_INCLUDE_SECTION + * and STIF_UNIT_INCLUDE_SECTION_END + */ +#ifdef STIF_UNIT_INCLUDE_SECTION +#include +#include +#include +#include + +#include "oomrunpluginconfig.h" +#include "oomconfig.h" +#include "oomconfigparser.h" +#include "oomwindowgrouplist.h" +#include "oomcloseappconfig.h" +#include "oomapplicationconfig.h" + +#endif //STIF_UNIT_INCLUDE_SECTION_END + +/** + * GLOBAL VARIABLES SECTION + */ +#ifdef TEST_VAR_DECLARATIONS + /** + * Example of variable common for some test cases + */ + TInt err; + RFs configRFs; + COomConfig* oomConfig; + COomConfigParser* oomConfigParser; + // this plugin should be defined in oomconfig.xml + // locate at z:\\private\\10207218\\oomconfig.xml + // if this changes, also update this value to let the + // test valid + const TUint KTestPluginId = 0x10281f93; + const TUint KTestPluginPriority = 30; + const TUint KTestTargetAPPId = 0x10008d39; + const TUint KTestAppId = 0x10005903; + const TInt KOomDefaultAppId = 0; + const TUint KTestDefaultAppPriority = 80; + const TUint KOomErrBadXml = 45; + + // +#endif +/** + * END OF GLOBAL VARIABLES SECTION + */ + + +/** + * TEST CASES SECTION + */ +#ifdef TEST_CASES +/** + * STIF_SETUP defines activities needed before every test case. + */ +STIF_SETUP +{ + /** Example of use of STIF_SETUP - a variable common for some test cases is initialized + */ + oomConfig = COomConfig::NewL(); + STIF_ASSERT_NOT_NULL(oomConfig); + CleanupStack::PushL(oomConfig); + + err = configRFs.Connect(); + CleanupClosePushL(configRFs); + STIF_ASSERT_EQUALS(err, KErrNone); + + oomConfigParser = new (ELeave) COomConfigParser(*oomConfig, configRFs); + STIF_ASSERT_NOT_NULL(oomConfigParser); + CleanupStack::PushL(oomConfigParser); + +} + +/** + * STIF_TEARDOWN defines activities needed after every test case + */ +STIF_TEARDOWN +{ + /** Example of use of STIF_TEARDOWN - a variable common for some test cases is destroyed + */ + iLog->Log(_L("enter tear down")); + CleanupStack::PopAndDestroy(oomConfigParser); + iLog->Log(_L("oomConfigParser pop and desed")); + CleanupStack::PopAndDestroy(); //configRFs + iLog->Log(_L("configRFs closed")); + CleanupStack::PopAndDestroy(oomConfig); + iLog->Log(_L("oomconfig pop and desed")); +} + +/** + * STIF_TESTDEFINE defines a test case + * + * Example test case - length of string is checked. + * The only argument of macro is a name of test case. + */ +STIF_TESTDEFINE(oomconfigparser_ParseL) +{ + + iLog->Log(_L("ParseL start")); + oomConfigParser->ParseL(); + iLog->Log(_L("ParseL returned")); + + COomRunPluginConfig& runPC = oomConfig->GetPluginConfig(KTestPluginId); + + iLog->Log(_L("GetPluginConfig returned %x, %x"), runPC.Id(), runPC.TargetApp()); + if( runPC.Id()!=KTestPluginId ) + { + aResult.SetResult( KErrGeneral, _L("expected plugin did not found") ); + } + if( runPC.TargetApp()!=KTestTargetAPPId ) + { + aResult.SetResult( KErrGeneral, _L("expected Target APP id did not match") ); + } + aResult.SetResult( KErrNone, _L("ParseL passed")); +} + +STIF_TESTDEFINE(oomconfigparser_OnStartElementL_Error) +{ + RTagInfo element; + RAttributeArray attrArray; + + STIF_ASSERT_PANIC(KOomErrBadXml, oomConfigParser->OnStartElementL(element, attrArray, KErrGeneral)); +} + +// call OnStartDocumentL, no leave +STIF_TESTDEFINE(oomconfigparser_OnStartDocumentL) + { + const RDocumentParameters configDocument; + TRAP(err, oomConfigParser->OnStartDocumentL(configDocument, KErrNone)); + STIF_ASSERT_EQUALS(err, KErrNone); + } + +// call OnEndDocumentL, no leave +STIF_TESTDEFINE(oomconfigparser_OnEndDocumentL) + { + TRAP(err, oomConfigParser->OnEndDocumentL(KErrNone)); + STIF_ASSERT_EQUALS(err, KErrNone); + } + +// call OnStartPrefixMappingL, no leave +STIF_TESTDEFINE(oomconfigparser_OnStartPrefixMappingL) + { + RString par1; + RString par2; + + TRAP(err, oomConfigParser->OnStartPrefixMappingL(par1, par2, KErrNone)); + STIF_ASSERT_EQUALS(err, KErrNone); + } + +STIF_TESTDEFINE(oomconfigparser_OnEndPrefixMappingL) + { + RString par1; + + TRAP(err, oomConfigParser->OnEndPrefixMappingL(par1, KErrNone)); + STIF_ASSERT_EQUALS(err, KErrNone); + } + +STIF_TESTDEFINE(oomconfigparser_OnIgnorableWhiteSpaceL) + { + TPtrC8 par1; + + TRAP(err, oomConfigParser->OnIgnorableWhiteSpaceL(par1, KErrNone)); + STIF_ASSERT_EQUALS(err, KErrNone); + } +STIF_TESTDEFINE(oomconfigparser_OnSkippedEntityL) + { + RString par1; + + TRAP(err, oomConfigParser->OnSkippedEntityL(par1, KErrNone)); + STIF_ASSERT_EQUALS(err, KErrNone); + } + +STIF_TESTDEFINE(oomconfigparser_OnProcessingInstructionL) + { + TPtrC8 par1; + TPtrC8 par2; + + TRAP(err, oomConfigParser->OnProcessingInstructionL(par1, par2, KErrNone)); + STIF_ASSERT_EQUALS(err, KErrNone); + } + +STIF_TESTDEFINE(oomconfigparser_OnError) + { + oomConfigParser->OnError(KErrNone); + } +STIF_TESTDEFINE(oomconfigparser_GetExtendedInterface) + { + TInt32 par1(KErrNone); + TAny* retPtr; + retPtr = oomConfigParser->GetExtendedInterface(par1); + STIF_ASSERT_NULL(retPtr); + } +STIF_TESTDEFINE(OomIdleTimeRule_RuleIsApplicable) + { + + RWsSession ws; + err = ws.Connect(); + + if( err!=KErrNone) + { + ws.Close(); + aResult.SetResult( KErrGeneral, _L("WsSession connect() return error") ); + } + else + { + CleanupClosePushL(ws); + oomConfigParser->ParseL(); + + COomWindowGroupList* oomWindowGroupList = COomWindowGroupList::NewL(ws); + CleanupStack::PushL(oomWindowGroupList); + + // get appconfig + COomCloseAppConfig* oomCloseAppConfig = oomConfig->GetApplicationConfig(KOomDefaultAppId).GetAppCloseConfig(); + STIF_ASSERT_NOT_NULL(oomCloseAppConfig); + // get prioity, as we did not wait about 15 minutes, so default value -- 80 returned. + TUint priority = oomCloseAppConfig->CalculateCloseAppPriority(*oomWindowGroupList, oomWindowGroupList->Count() - 1); + iLog->Log(_L("call CalculateCloseAppPriority returned with %d"), priority); + STIF_ASSERT_EQUALS(priority, KTestDefaultAppPriority); + + CleanupStack::PopAndDestroy(oomWindowGroupList); + CleanupStack::PopAndDestroy(); //ws + } + } + +STIF_TESTDEFINE(OomForegroundRule_RuleIsApplicable) +{ + + RWsSession ws; + err = ws.Connect(); + if( err!=KErrNone) + { + ws.Close(); + aResult.SetResult( KErrGeneral, _L("WsSession connect() return error") ); + } + else + { + CleanupClosePushL(ws); + + oomConfigParser->ParseL(); + iLog->Log(_L("ParseL returned")); + + COomWindowGroupList* oomWindowGroupList = COomWindowGroupList::NewL(ws); + CleanupStack::PushL(oomWindowGroupList); + + COomRunPluginConfig& runPC = oomConfig->GetPluginConfig(KTestPluginId); + + iLog->Log(_L("GetPluginConfig returned %x, %x"), runPC.Id(), runPC.TargetApp()); + if( runPC.Id()!=KTestPluginId ) + { + aResult.SetResult( KErrGeneral, _L("expected plugin did not found") ); + } + else + { + TUint priority = runPC.CalculatePluginPriority(*oomWindowGroupList); + // as this plugin's target app is Browser, which is not on foreground by now + // so we got default priority --30 returned + iLog->Log(_L("call CalculateCloseAppPriority returned with %d"), priority); + STIF_ASSERT_EQUALS(priority, KTestPluginPriority); + } + + CleanupStack::PopAndDestroy(oomWindowGroupList); + CleanupStack::PopAndDestroy(); //ws + } +} +STIF_TESTDEFINE(oomconfigparser_SetForceCheckConfigL) + { + //const TUint KCurrPluginId = 0x200267DB; + TInt expectedPriority = 100; + RTagInfo elementTagInfo; + RAttribute priAttr; + RAttribute idleAttr; + RAttributeArray elementAttrs; + + // tag name and attribute + CleanupClosePushL(elementTagInfo); + CleanupClosePushL(priAttr); + CleanupClosePushL(idleAttr); + CleanupClosePushL(elementAttrs); + + + // string table + _LIT8(KOomConfigForceCheckAtPriority, "force_check"); + TPtrC8 par1(KOomConfigForceCheckAtPriority); + _LIT8(KOomAttibutePriority, "priority"); + TPtrC8 par2(KOomAttibutePriority); + _LIT8(KValue, "100"); + TPtrC8 par3(KValue); + + _LIT8(KOomAttributePluginIdlePriority, "plugin_idle_priority"); + TPtrC8 par11(KOomAttributePluginIdlePriority); + _LIT8(KOomAttibuteIdleTime, "idle_time"); + TPtrC8 par12(KOomAttibuteIdleTime); + _LIT8(KIdleTimeValue, "900"); + TPtrC8 par13(KIdleTimeValue); + _LIT8(KOomAttibuteIdlePriority, "priority"); + TPtrC8 par14(KOomAttibuteIdlePriority); + _LIT8(KPriorityValue, "100"); + TPtrC8 par15(KPriorityValue); + + // Intermediate table of pointers to strings + const void * const KStringPointers2[] = + { + (const void*)&KOomConfigForceCheckAtPriority, + (const void*)&KOomAttibutePriority, + (const void*)&KValue, + (const void*)&KOomAttributePluginIdlePriority, + (const void*)&KOomAttibuteIdleTime, + (const void*)&KIdleTimeValue, + (const void*)&KOomAttibuteIdlePriority, + (const void*)&KPriorityValue + }; + + const TStringTable exampleStringTable = {8, KStringPointers2, EFalse}; + iLog->Log(_L("1")); + // open string table and push to cleanup + RStringPool stringPool; + stringPool.OpenL(exampleStringTable); + CleanupClosePushL(stringPool); + + // all rstrings + RString pluginIdlePriority; + RString idleTimeName; + RString idleTimeValue; + RString idlePriorityName; + RString idlePriorityValue; + RString forceCheck; + RString attrNamePriority; + RString attrValuePriority; + + pluginIdlePriority = stringPool.OpenStringL(par11); + CleanupClosePushL(pluginIdlePriority); + + idleTimeName = stringPool.OpenStringL(par12); + CleanupClosePushL(idleTimeName); + idleTimeValue = stringPool.OpenStringL(par13); + CleanupClosePushL(idleTimeValue); + + idlePriorityName = stringPool.OpenStringL(par14); + CleanupClosePushL(idlePriorityName); + idlePriorityValue = stringPool.OpenStringL(par15); + CleanupClosePushL(idlePriorityValue); + + forceCheck = stringPool.OpenStringL(par1); + CleanupClosePushL(forceCheck); + + attrNamePriority = stringPool.OpenStringL(par2); + CleanupClosePushL(attrNamePriority); + attrValuePriority = stringPool.OpenStringL(par3); + CleanupClosePushL(attrValuePriority); + iLog->Log(_L("2")); + + iLog->Log(_L("start oomconfigparser_SetForceCheckConfigL")); + + + oomConfigParser->ParseL(); + iLog->Log(_L("ParseL returned")); + + // insert a rule for force check + elementTagInfo.Open(forceCheck, forceCheck, forceCheck); + priAttr.Open(forceCheck, forceCheck, attrNamePriority, attrValuePriority); + elementAttrs.AppendL(priAttr); + + iLog->Log(_L("3")); + + oomConfigParser->OnStartElementL(elementTagInfo, elementAttrs, KErrNone); + iLog->Log(_L("4")); + + // get global force_check rule with non-exist priority, should return a null pointer + TUint *priority(NULL); + priority = oomConfig->GlobalConfig().iForceCheckPriorities.Find(expectedPriority-1); + STIF_ASSERT_NULL(priority); + // get global force_check rule with a priority value that just added in + // so should return a correct value + priority = oomConfig->GlobalConfig().iForceCheckPriorities.Find(expectedPriority); + STIF_ASSERT_NOT_NULL(priority); + iLog->Log(_L("call CalculateCloseAppPriority returned with %d"), *priority); + + // reset element content for ... + elementAttrs.Close(); + priAttr.Close(); + elementTagInfo.Close(); + + // insert a rule for plugin idle time + elementTagInfo.Open(pluginIdlePriority, pluginIdlePriority, pluginIdlePriority); + + idleAttr.Open(pluginIdlePriority, pluginIdlePriority, idleTimeName, idleTimeValue); + priAttr.Open(pluginIdlePriority, pluginIdlePriority, idlePriorityName, idlePriorityValue); + elementAttrs.AppendL(idleAttr); + elementAttrs.AppendL(priAttr); + + iLog->Log(_L("3")); + + oomConfigParser->OnStartElementL(elementTagInfo, elementAttrs, KErrNone); + iLog->Log(_L("add a fake plugin idle priority rule successfully.")); + + + CleanupStack::PopAndDestroy(13); // + /* + // close all RStrings + CleanupStack::PopAndDestroy(); // + CleanupStack::PopAndDestroy(); // + CleanupStack::PopAndDestroy(); // + CleanupStack::PopAndDestroy(); // + CleanupStack::PopAndDestroy(); // + CleanupStack::PopAndDestroy(); // + CleanupStack::PopAndDestroy(); // + CleanupStack::PopAndDestroy(); // + + // string pool + CleanupStack::PopAndDestroy(); // + // + CleanupStack::PopAndDestroy(); //elementAttrs + CleanupStack::PopAndDestroy(); //idleAttr + CleanupStack::PopAndDestroy(); //priAttr + CleanupStack::PopAndDestroy(); //elementTagInfo + */ + } + +#endif +/** + * END OF TEST CASES SECTION + */ + +// End of File diff -r 1505405bc645 -r b01c07dfcf84 systemsettings/accindicatorplugin/inc/accindicator.h --- a/systemsettings/accindicatorplugin/inc/accindicator.h Wed Sep 29 15:24:56 2010 +0300 +++ b/systemsettings/accindicatorplugin/inc/accindicator.h Thu Oct 07 06:25:45 2010 +0300 @@ -70,6 +70,10 @@ private: Q_DISABLE_COPY(AccIndicatorPlugin) int mError; + +#ifdef FCC_UNIT_TEST + friend class Cutaccindicatorplugin; +#endif }; #endif // ACCINDICATOR_H diff -r 1505405bc645 -r b01c07dfcf84 systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/Bmarm/utaccindicatorpluginU.DEF --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/Bmarm/utaccindicatorpluginU.DEF Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,4 @@ +EXPORTS + LibEntryL__Fv @ 1 NONAME R3UNUSED ; LibEntryL(void) + SetRequirements__FRP16CTestModuleParamRUl @ 2 NONAME R3UNUSED ; SetRequirements(CTestModuleParam *&, unsigned long &) + diff -r 1505405bc645 -r b01c07dfcf84 systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/Bwins/utaccindicatorpluginu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/Bwins/utaccindicatorpluginu.def Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,4 @@ +EXPORTS + ?LibEntryL@@YAPAVCTestModuleBase@@XZ @ 1 NONAME ; class CTestModuleBase * __cdecl LibEntryL(void) + ?SetRequirements@@YAHAAPAVCTestModuleParam@@AAK@Z @ 2 NONAME ; int __cdecl SetRequirements(class CTestModuleParam * &,unsigned long &) + diff -r 1505405bc645 -r b01c07dfcf84 systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/blue.gif Binary file systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/blue.gif has changed diff -r 1505405bc645 -r b01c07dfcf84 systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/ctc.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/ctc.css Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,35 @@ +/************************************************************************ +* CSS stylesheet file generated by ctc2html v2.6 +* Copyright (c) 2006-2010 Testwell Oy +************************************************************************/ + + .head1 {font-family: verdana, arial, helvetica, sans-serif; color: #000088; + font-size: 17pt; background-color: white; font-weight: bold;} + .head2 {font-family: verdana, arial, helvetica, sans-serif; color: #000000; + font-size: 17pt; background-color: white;} + .head3 {font-family: verdana, arial, helvetica, sans-serif; color: #000000; + font-size: 10pt; background-color: white;} + .black {font-family: verdana, arial, helvetica, sans-serif; color: #000000; + font-size: 10pt; background-color: white;} + .blackDecoNo {font-family: verdana, arial, helvetica, sans-serif; color: #000000; + text-decoration: none; font-size: 10pt; background-color: white;} + .red {font-family: verdana, arial, helvetica, sans-serif; color: #FF0000; + text-decoration: none; font-size: 10pt; background-color: white;} + .blue {font-family: verdana, arial, helvetica, sans-serif; color: #101080; + text-decoration: none; font-size: 10pt; background-color: white;} + .black_source {font-family: "courier new", courier, monospace; color: #000000; + font-size: 9pt; background-color: white;} + .red_source {font-family: "courier new", courier, monospace; color: #FF0000; + font-size: 9pt; background-color: white;} + .black_profile {font-family: "courier new", courier, monospace; color: #000000; + font-size: 9pt; background-color: #DFDFE5;} + .red_profile {font-family: "courier new", courier, monospace; color: #FF0000; + font-size: 9pt; background-color: #DFDFE5;} + a:hover {text-decoration: underline;} + table.sortable thead {font-family: verdana, arial, helvetica, sans-serif; color: #000000; + font-size: 10pt; background-color: white; + font-weight: bold; cursor: default;} + table.sortable th {border-bottom: thin solid black; padding-bottom: 0.20em; + padding-right: 0.20em;} + table.sortable td {padding-top: 0.20em; padding-right: 0.20em;} + diff -r 1505405bc645 -r b01c07dfcf84 systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/ctc.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/ctc.js Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,41 @@ +///////////////////////////////////////////////////////////////////////// +// Javascript file generated by ctc2html v2.6 +// Copyright (c) 2006-2010 Testwell Oy +///////////////////////////////////////////////////////////////////////// +target=location.hash; +function load(){ +if(target=="#a1"){ +parent.index.location="indexC.html#a1"; +parent.profile.location="indexD1.html"; +} +if(target=="#a2"){ +parent.index.location="indexC.html#a2"; +parent.profile.location="indexD2.html"; +} +if(target=="#a3"){ +parent.index.location="indexC.html#a3"; +parent.profile.location="indexD3.html"; +} +if(target=="#a4"){ +parent.index.location="indexC.html#a4"; +parent.profile.location="indexD4.html"; +} +} +function load2(){ +if(target=="#ad1"){ +parent.index2.location="indexH.html#ad1"; +parent.functions.location="indexB1.html"; +} +if(target=="#ad2"){ +parent.index2.location="indexH.html#ad2"; +parent.functions.location="indexB2.html"; +} +if(target=="#ad2"){ +parent.index2.location="indexH.html#ad2"; +parent.functions.location="indexB2.html"; +} +if(target=="#ad2"){ +parent.index2.location="indexH.html#ad2"; +parent.functions.location="indexB2.html"; +} +} diff -r 1505405bc645 -r b01c07dfcf84 systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/index.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/index.html Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,53 @@ + + +CTC++ Coverage Report - Files Summary + + + + + + + + +CTC++ Coverage Report - +Files Summary

+Directory Summary | Files Summary | Functions Summary | Execution Profile

+ + + + + + + + + + +
Symbol file(s): MON.sym (Tue Aug 24 13:18:59 2010)
Data file(s): MON.dat (Tue Aug 24 13:33:11 2010)
Listing produced at: Tue Aug 24 13:33:29 2010
Coverage view: As instrumented
 
Input listing: profile.txt
Html generated at: Tue Aug 24 13:33:36 2010
ctc2html v2.6 options: -i profile.txt 
Threshold percent: 100 %

+ + + + + + + + + + + + + + + + + +
TER % - covered/ all  File

Directory: W:\sf\mw\appsupport\systemsettings\accindicatorplugin\src
41 % - 31/ 75 accindicator.cpp
41 % - 31/ 75 DIRECTORY OVERALL (W:\sf\mw\appsupport\systemsettings\accindicatorplugin\src)
 
Directory: W:\sf\mw\appsupport\systemsettings\accindicatorplugin\tsrc\utaccindicatorplugin\src
100 %   0/ 0 utaccindicatorplugin.cpp
100 %   0/ 0 utaccindicatorplugincases.cpp
75 % - 3/ 4 utslot.cpp
75 % - 3/ 4 DIRECTORY OVERALL (W:\sf\mw\appsupport\systemsettings\accindicatorplugin\tsrc\utaccindicatorplugin\src)
 

43 % - 34/ 79 OVERALL

+ + + + + + + +
Number of directories: 2
Number of monitored source files: 4
Number of functions: 17
Number of source lines: 623
Number of measurement points: 96
TER: 43% (decision)

+Directory Summary | Files Summary | Functions Summary | Execution Profile

+ diff -r 1505405bc645 -r b01c07dfcf84 systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/indexA.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/indexA.html Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,16 @@ + + +CTC++ Coverage Report - Execution Profile - Index + + + + + + + + + + + + + diff -r 1505405bc645 -r b01c07dfcf84 systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/indexB1.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/indexB1.html Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,66 @@ + + +CTC++ Coverage Report - Functions Summary - W:\sf\mw\appsupport\systemsettings\accindicatorplugin\src + + + + + + + + +CTC++ Coverage Report - +Functions Summary +   #1/2

+Directory Summary | Files Summary | Functions Summary | Execution Profile
+To directories: First | Previous | Next | Last | Index | No Index


+Directory: W:\sf\mw\appsupport\systemsettings\accindicatorplugin\src
+TER: 41 % ( 31/ 75)

+File: W:\sf\mw\appsupport\systemsettings\accindicatorplugin\src\accindicator.cpp
+Instrumentation mode: function-decision
+TER: 41 % ( 31/ 75)
+To files: Previous | +Next

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TER % - covered/ all  Calls Line Function

0 % - 0/ 2 23 qt_plugin_query_verification_data()
0 % - 0/ 4 23 qt_plugin_instance()
100 %   1/ 1 28 AccIndicatorPlugin::AccIndicatorPlugin()
0 % - 0/ 1 36 AccIndicatorPlugin::~AccIndicatorPlugin()
100 %   2/ 2 45 AccIndicatorPlugin::indicatorTypes()
100 %   2/ 2 55 AccIndicatorPlugin::createIndicator()
0 % - 0/ 2 67 AccIndicatorPlugin::error()
100 %   2/ 2 78 AccIndicatorPlugin::accessAllowed()
83 % - 5/ 6 91 AccIndicatorPlugin::handleInteraction()
55 % - 6/ 11 120 AccIndicatorPlugin::indicatorData()
67 % - 8/ 12 153 AccIndicatorPlugin::handleClientRequest()
25 % - 5/ 20 195 AccIndicatorPlugin::prepareDisplayName()
0 % - 0/ 10 237 AccIndicatorPlugin::processError()

41 % - 31/ 75   accindicator.cpp
 

41 % - 31/ 75   DIRECTORY OVERALL (W:\sf\mw\appsupport\systemsettings\accindicatorplugin\src)

+Directory Summary | Files Summary | Functions Summary | Execution Profile
+To directories: First | Previous | Next | Last | Top | Index | No Index


+ diff -r 1505405bc645 -r b01c07dfcf84 systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/indexB2.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/indexB2.html Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,76 @@ + + +CTC++ Coverage Report - Functions Summary - W:\sf\mw\appsupport\systemsettings\accindicatorplugin\tsrc\utaccindicatorplugin\src + + + + + + + + +CTC++ Coverage Report - +Functions Summary +   #2/2

+Directory Summary | Files Summary | Functions Summary | Execution Profile
+To directories: First | Previous | Next | Last | Index | No Index


+Directory: W:\sf\mw\appsupport\systemsettings\accindicatorplugin\tsrc\utaccindicatorplugin\src
+TER: 75 % ( 3/ 4)

+File: W:\sf\mw\appsupport\systemsettings\accindicatorplugin\tsrc\utaccindicatorplugin\src\utaccindicatorplugin.cpp
+Instrumentation mode: function-decision
+TER: 100 % (  0/  0)
+To files: Previous | +Next

+ + + + + + + + +
TER % - covered/ all  Calls Line Function


100 %   0/ 0   utaccindicatorplugin.cpp

+File: W:\sf\mw\appsupport\systemsettings\accindicatorplugin\tsrc\utaccindicatorplugin\src\utaccindicatorplugincases.cpp
+Instrumentation mode: function-decision
+TER: 100 % (  0/  0)
+To files: Previous | +Next

+ + + + + + + + +
TER % - covered/ all  Calls Line Function


100 %   0/ 0   utaccindicatorplugincases.cpp

+File: W:\sf\mw\appsupport\systemsettings\accindicatorplugin\tsrc\utaccindicatorplugin\src\utslot.cpp
+Instrumentation mode: function-decision
+TER: 75 % (  3/  4)
+To files: Previous | +Next

+ + + + + + + + + + + + + + + + + + + + + +
TER % - covered/ all  Calls Line Function

100 %   1/ 1 10 UTSlot::UTSlot()
0 % - 0/ 1 17 UTSlot::~UTSlot()
100 %   1/ 1 22 UTSlot::dataChangedSlot()
100 %   1/ 1 27 UTSlot::deactivateSlot()

75 % - 3/ 4   utslot.cpp
 

75 % - 3/ 4   DIRECTORY OVERALL (W:\sf\mw\appsupport\systemsettings\accindicatorplugin\tsrc\utaccindicatorplugin\src)

+Directory Summary | Files Summary | Functions Summary | Execution Profile
+To directories: First | Previous | Next | Last | Top | Index | No Index


+ diff -r 1505405bc645 -r b01c07dfcf84 systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/indexC.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/indexC.html Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,40 @@ + + +CTC++ Coverage Report - Execution Profile - Index + + + + + + + + +Index
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
 
W:\sf\mw\appsupport\systemsettings\accindicatorplugin\src\accindicator.cpp
   qt_plugin_query_verification_data()
   qt_plugin_instance()
   AccIndicatorPlugin::AccIndicatorPlugin()
   AccIndicatorPlugin::~AccIndicatorPlugin()
   AccIndicatorPlugin::indicatorTypes()
   AccIndicatorPlugin::createIndicator()
   AccIndicatorPlugin::error()
   AccIndicatorPlugin::accessAllowed()
   AccIndicatorPlugin::handleInteraction()
   AccIndicatorPlugin::indicatorData()
   AccIndicatorPlugin::handleClientRequest()
   AccIndicatorPlugin::prepareDisplayName()
   AccIndicatorPlugin::processError()
 
W:\sf\mw\appsupport\systemsettings\accindicatorplugin\tsrc\utaccindicatorplugin\src\utaccindicatorplugin.cpp
 
W:\sf\mw\appsupport\systemsettings\accindicatorplugin\tsrc\utaccindicatorplugin\src\utaccindicatorplugincases.cpp
 
W:\sf\mw\appsupport\systemsettings\accindicatorplugin\tsrc\utaccindicatorplugin\src\utslot.cpp
   UTSlot::UTSlot()
   UTSlot::~UTSlot()
   UTSlot::dataChangedSlot()
   UTSlot::deactivateSlot()
diff -r 1505405bc645 -r b01c07dfcf84 systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/indexD1.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/indexD1.html Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,295 @@ + + +CTC++ Coverage Report - Execution Profile - accindicator.cpp + + + + + + + + +CTC++ Coverage Report - +Execution Profile +   #1/4

+Directory Summary | Files Summary | Functions Summary | Execution Profile
+To files: First | Previous | Next | Last | Index | No Index


+File: W:\sf\mw\appsupport\systemsettings\accindicatorplugin\src\accindicator.cpp
+Instrumentation mode: function-decision
+TER: 41 % ( 31/ 75)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Start/ End/    
True False - Line Source

  1 /*
  2  * Copyright (c) 2010 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 #include "accindicator.h"
  18 
  19 #include <QtPlugin>
  20 #include <QProcess>
  21 #include <accpolgenericiddefinitions.h>
  22 
Top
- 23 Q_EXPORT_PLUGIN(AccIndicatorPlugin)
 - 23 return qt_plugin_verification_data
Top
- 23 FUNCTION qt_plugin_instance()
- 23 if (! _instance)
 - 23 return _instance
  24 const static char IndicatorType[] = "com.nokia.accessory.indicatorplugin/1.0";
  25 QString KAccMode = "AccMode";
  26 QString KAccType = "AccType";
  27 
Top
  28 AccIndicatorPlugin::AccIndicatorPlugin() :
  29 HbIndicatorInterface(IndicatorType,
  30         HbIndicatorInterface::SettingCategory,
  31         InteractionActivated)
  32     {
  33     mIndicatorTypes << "com.nokia.accessory.indicatorplugin/1.0";
  34     }
  35 
Top
- 36 AccIndicatorPlugin::~AccIndicatorPlugin()
  37     {
  38     }
  39 
  40 // ----------------------------------------------------------------------------
  41 // AccIndicatorPlugin::indicatorTypes
  42 // returns the indicator types handled by this plugin
  43 // ----------------------------------------------------------------------------
  44 
Top
  45 QStringList AccIndicatorPlugin::indicatorTypes() const
  46     {
   47     return mIndicatorTypes;
  48     }
  49 
  50 // ----------------------------------------------------------------------------
  51 // AccIndicatorPlugin::createIndicator
  52 // creates an indicator.
  53 // ----------------------------------------------------------------------------
  54 
Top
  55 HbIndicatorInterface* AccIndicatorPlugin::createIndicator(
  56         const QString &indicatorType)
  57     {
  58     Q_UNUSED(indicatorType)
   59     return this;
  60     }
  61 
  62 // ----------------------------------------------------------------------------
  63 // AccIndicatorPlugin::error
  64 // returns the error code.
  65 // ----------------------------------------------------------------------------
  66 
Top
- 67 int AccIndicatorPlugin::error() const
  68     {
 - 69     return mError;
  70     }
  71 
  72 // ----------------------------------------------------------------------------
  73 // AccIndicatorPlugin::accessAllowed
  74 // check for the access rights of the client. As there are no restrictions for 
  75 // this plugin it always returns true.
  76 // ----------------------------------------------------------------------------
  77 
Top
  78 bool AccIndicatorPlugin::accessAllowed(const QString &indicatorType,const QVariantMap &securityInfo) const
  79     {
  80     Q_UNUSED(indicatorType)
  81     Q_UNUSED(securityInfo)
  82 
   83     return true;
  84     }
  85 
  86 // ----------------------------------------------------------------------------
  87 // AccIndicator::handleInteraction
  88 // called when the user interacts with the indicator.Enable the interaction only
  89 // for headset,tty and tv-out for user to change the settings.
  90 // ----------------------------------------------------------------------------
Top
  91 bool AccIndicatorPlugin::handleInteraction(InteractionType type)
  92     {
  93     bool handled = false;
  94     if (type == InteractionActivated) 
  95         {
  96         // If it is 3-pole ( i.e., HeadSet or TTY ) and TV-Out enable the handleInteraction() to change the settings.
- 97         if(mAccMode == EAccModeWiredHeadset || mAccMode == EAccModeWirelessHeadset || mAccMode == EAccModeTextDevice || mAccMode == EAccModeTVOut )
  98             {
  99             QObject::connect( &mProcess, SIGNAL(error(QProcess::ProcessError)),                       
  100                               this, SLOT(processError(QProcess::ProcessError)));
  101 
  102             QVariant mode,type;
  103             mode.setValue((int)mAccMode); 
  104             type.setValue((int)mAccType);
  105             mArgs.append(mode.toString());
  106             mArgs.append(type.toString());
  107             
  108             // Launch the process to show the view.
  109             mProcess.start("accindicatorsettings" , mArgs);
  110             handled = true;
  111             }
  112         }
   113     return handled;
  114     }
  115 
  116 // ----------------------------------------------------------------------------
  117 // AccIndicator::indicatorData
  118 // returns the name and icon to be displayed in the universal indicator menu.
  119 // ----------------------------------------------------------------------------
Top
  120 QVariant AccIndicatorPlugin::indicatorData(int role) const
  121     {
    122     switch(role)
  123         {
  124         //for displaying the string in indicator.
   125         case PrimaryTextRole: 
  126             {
  127             QString type(mDisplayName);
   128             return type;
  129             }
  130         //for displaying the icon in indicator.
   131         case MonoDecorationNameRole:
  132             {
  133             QString iconName;
- 134             if(mAccType == KPCWired || mAccType == KPCUSB)
  135                 {
  136                 iconName = QString("z:/resource/accindicator/wired_accessory.svg");
  137                 }
- 138             else if (mAccType == KPCBluetooth || mAccType == KPCInfraRed)
  139                 {
  140                 iconName = QString("z:/resource/accindicator/wireless_accessory.svg");
  141                 }
   142             return iconName;
  143             }
 - 144         default: 
 - 145             return QVariant();      
  146         }
  147     }
  148 
  149 // ----------------------------------------------------------------------------
  150 // AccIndicatorPlugin::handleClientRequest
  151 // this function gets called when client activates plugin
  152 // ----------------------------------------------------------------------------
Top
  153 bool AccIndicatorPlugin::handleClientRequest( RequestType type, 
  154         const QVariant &parameter)
  155     {    
  156     bool handled(false);
    157     switch (type) {
   158         case RequestActivate:
  159             {
  160             // Get the params(acctype and mode) from the hbindicator.activate() which is called from sysap.
  161             
  162             QVariantMap mapValues = parameter.toMap();
- 163             if(mapValues.contains(KAccMode))
  164                 {
  165                 mAccMode = static_cast<TAccMode>(mapValues.value(KAccMode).toInt());
  166                 }
- 167             if(mapValues.contains(KAccType))
  168                 {
  169                 mAccType = mapValues.value(KAccType).toInt();
  170                 }
  171 
  172             // prepare the name to be displayed in the universal indicator menu.
  173             prepareDisplayName();
  174             emit dataChanged();
  175             handled =  true;
  176             }
   177             break;
   178         case RequestDeactivate:
  179             {
  180             // reset data 
  181             mDisplayName = QString();
  182             emit deactivate();
  183             }
   184             break;
 - 185         default:
 - 186             break;
  187     }
   188     return handled;
  189     }
  190 
  191 // ----------------------------------------------------------------------------
  192 // AccIndicator::prepareDisplayName
  193 // prepare the name to be displayed in the indicator menu.
  194 // ----------------------------------------------------------------------------
Top
  195 void AccIndicatorPlugin::prepareDisplayName()
  196     {
  197     mDisplayName.clear();
    198     switch(mAccMode)
  199         {
   200         case EAccModeWiredHeadset:
  201             mDisplayName.append(QString("Wired Headset"));
   202             break;
 - 203         case EAccModeWirelessHeadset:
  204             mDisplayName.append(QString("Wireless Headset"));
 - 205             break;
 - 206         case EAccModeWiredCarKit:
  207             mDisplayName.append(QString("Wired CarKit"));
 - 208             break;
 - 209         case EAccModeWirelessCarKit:
  210             mDisplayName.append(QString("Wireless Carkit"));
 - 211             break;
 - 212         case EAccModeTextDevice:
  213             mDisplayName.append(QString("TTY"));
 - 214             break;
 - 215         case EAccModeLoopset:
  216             mDisplayName.append(QString("LoopSet"));
 - 217             break;
 - 218         case EAccModeMusicStand:
  219             mDisplayName.append(QString("Music Stand"));
 - 220             break;
   221         case EAccModeTVOut:
  222             mDisplayName.append(QString("TV Out"));
   223             break;
 - 224         case EAccModeHeadphones:
  225             mDisplayName.append(QString("Head Phones"));
 - 226             break;
 - 227         default :
  228             mDisplayName.append(QString("Unknown"));
  229         }
  230     }
  231 
  232 // ----------------------------------------------------------------------------
  233 // AccIndicator::processError
  234 // handle the error conditions reurned by the QProcess.
  235 // ----------------------------------------------------------------------------
  236 
Top
- 237 void AccIndicatorPlugin::processError(QProcess::ProcessError err)
  238     {
    239     switch (err) {   
 - 240         case QProcess::FailedToStart: 
 - 241         case QProcess::Crashed: 
 - 242         case QProcess::Timedout: 
 - 243         case QProcess::ReadError: 
 - 244         case QProcess::WriteError: 
 - 245         case QProcess::UnknownError:
 - 246              break;  
 - 247         default:
 - 248             break;
  249         }
  250     }
***TER 41% (31/75) of SOURCE FILE accindicator.cpp

+Directory Summary | Files Summary | Functions Summary | Execution Profile
+To files: First | Previous | Next | Last | Top | Index | No Index


+ diff -r 1505405bc645 -r b01c07dfcf84 systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/indexD2.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/indexD2.html Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,152 @@ + + +CTC++ Coverage Report - Execution Profile - utaccindicatorplugin.cpp + + + + + + + + +CTC++ Coverage Report - +Execution Profile +   #2/4

+Directory Summary | Files Summary | Functions Summary | Execution Profile
+To files: First | Previous | Next | Last | Index | No Index


+File: W:\sf\mw\appsupport\systemsettings\accindicatorplugin\tsrc\utaccindicatorplugin\src\utaccindicatorplugin.cpp
+Instrumentation mode: function-decision
+TER: 100 % ( 0/ 0)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Start/ End/    
True False - Line Source

  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: This file contains STIFUnit module implementation.
  15 *
  16 */
  17 
  18 /******************************************************************************/
  19 /*
  20  *
  21  * Test module configuration 
  22 */
  23 
  24 // Version
  25 #define TEST_MODULE_VERSION_MAJOR 0
  26 #define TEST_MODULE_VERSION_MINOR 0
  27 #define TEST_MODULE_VERSION_BUILD 0
  28 
  29 // Uncomment following defines, if you want to provide implementation
  30 // of enlisted virtual methods of test module.
  31 // Implementation part is located at the end of this file.
  32 //#define STIFUNIT_OOMTESTQUERYL
  33 //#define STIFUNIT_OOMTESTINITIALIZEL
  34 //#define STIFUNIT_OOMHANDLEWARNINGL
  35 //#define STIFUNIT_OOMTESTFINALIZEL
  36 // Uncomment following define, if you want to increase heap or stack size.
  37 // #define STIFUNIT_SETHEAPANDSTACKSIZE
  38 /******************************************************************************/
  39 
  40 
  41 /*
  42  * Test module internals. Please do not edit them. 
  43 */
  44 
  45 // Includes
  46 #include <e32base.h>
  47 
  48 // Literals
  49 _LIT( KUnitLogPath, "\\logs\\testframework\\" ); 
  50 _LIT( KUnitLogFile, "utaccindicatorplugin.txt" ); 
  51 _LIT( KLogStart, "utaccindicatorplugin logging starts!" );
  52 
  53 // Defines
  54 #define STIF_UNIT_TEST_CASES "../src/utaccindicatorpluginCases.cpp"
  55 #define STIF_UNIT_MODULE_CLASS_NAME Cutaccindicatorplugin
  56 #define STIF_UNIT_MODULE_NAME _L("utaccindicatorplugin.dll")
  57 
  58 // Include STIF unit generic file
  59 #include <StifUnitGeneric.h>
  60 
  61 /*
  62  * Implementation of setHeapAndStack virtual methods.
  63  * To changes heap and stack size provide new values to iTestThreadStackSize, iTestThreadMinHeap and iTestThreadMaxHeap. 
  64 */
  65 
  66 #ifdef STIFUNIT_SETHEAPANDSTACKSIZE
  67 EXPORT_C TInt SetRequirements( CTestModuleParam*& aTestModuleParam, 
  68                                TUint32& aParameterValid )
  69     {
  70     aParameterValid = KStifTestModuleParameterChanged;
  71     CTestModuleParamVer01* param = CTestModuleParamVer01::NewL(); 
  72     // Stack size 
  73     param->iTestThreadStackSize= 16384; // 16K stack 
  74     // Heap sizes 
  75     param->iTestThreadMinHeap = 4096; // 4K heap min 
  76     param->iTestThreadMaxHeap = 1048576;// 1M heap max 
  77 
  78     return KErrNone;
  79     }
  80 #undef STIFUNIT_SETHEAPANDSTACKSIZE
  81 #endif
  82 
  83 /*
  84  * User implementation of OOM virtual methods.
  85  * Providing own implementation requires uncommenting defines at the
  86  * beginnig of this file.   
  87 */
  88 #ifdef STIFUNIT_OOMTESTQUERYL
  89 TBool Cutaccindicatorplugin::OOMTestQueryL( const TFileName& /*aTestCaseFile*/, 
  90                                    const TInt aCaseNumber, 
  91                                    TOOMFailureType& aFailureType, 
  92                                    TInt& aFirstMemFailure, 
  93                                    TInt& aLastMemFailure)
  94     {
  95     }
  96 #undef STIFUNIT_OOMTESTQUERYL
  97 #endif
  98 
  99 #ifdef STIFUNIT_OOMTESTINITIALIZEL
  100 void Cutaccindicatorplugin::OOMTestInitializeL( const TFileName& /*aTestCaseFile*/, 
  101                                        const TInt /*aCaseNumber*/ )
  102     {
  103     }
  104 #undef STIFUNIT_OOMTESTINITIALIZEL
  105 #endif
  106 
  107 #ifdef STIFUNIT_OOMHANDLEWARNINGL
  108 void Cutaccindicatorplugin::OOMHandleWarningL( const TFileName& /*aTestCaseFile*/,
  109                                       const TInt /*aCaseNumber*/, 
  110                                       TInt& /*aFailNextValue*/)
  111     {
  112     }
  113 #undef STIFUNIT_OOMHANDLEWARNINGL
  114 #endif
  115     
  116 #ifdef STIFUNIT_OOMTESTFINALIZEL
  117 void Cutaccindicatorplugin::OOMTestFinalizeL( const TFileName& /*aTestCaseFile*/, 
  118                                      const TInt /*aCaseNumber*/ )
  119     {
  120     }
  121 #undef STIFUNIT_OOMTESTFINALIZEL
  122 #endif
  123 
  124 // End of File
***TER 100% (0/0) of SOURCE FILE utaccindicatorplugin.cpp

+Directory Summary | Files Summary | Functions Summary | Execution Profile
+To files: First | Previous | Next | Last | Top | Index | No Index


+ diff -r 1505405bc645 -r b01c07dfcf84 systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/indexD3.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/indexD3.html Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,247 @@ + + +CTC++ Coverage Report - Execution Profile - utaccindicatorplugincases.cpp + + + + + + + + +CTC++ Coverage Report - +Execution Profile +   #3/4

+Directory Summary | Files Summary | Functions Summary | Execution Profile
+To files: First | Previous | Next | Last | Index | No Index


+File: W:\sf\mw\appsupport\systemsettings\accindicatorplugin\tsrc\utaccindicatorplugin\src\utaccindicatorplugincases.cpp
+Instrumentation mode: function-decision
+TER: 100 % ( 0/ 0)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Start/ End/    
True False - Line Source

  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: This file contains STIFUnit implementation.
  15 *
  16 */
  17 
  18 /**
  19  * STIF_UNIT_INCLUDE SECTION - put all #includes between STIF_UNIT_INCLUDE_SECTION
  20  *                             and STIF_UNIT_INCLUDE_SECTION_END
  21  */
  22 #ifdef STIF_UNIT_INCLUDE_SECTION
  23 #include <QObject>
  24 #include <QVariant>
  25 #include <e32des16.h> 
  26 
  27 #include <hbindicatorinterface.h>
  28 #include "accindicator.h" 
  29 #include <accpolgenericiddefinitions.h>
  30 
  31 #include "utslot.h"
  32 #endif //STIF_UNIT_INCLUDE_SECTION_END
  33 
  34 /**
  35  * GLOBAL VARIABLES SECTION
  36  */
  37 #ifdef TEST_VAR_DECLARATIONS
  38 AccIndicatorPlugin* accIndicatorPlugin;  
  39 #endif
  40 /**
  41  * END OF GLOBAL VARIABLES SECTION
  42  */
  43 
  44 
  45 /**
  46  * TEST CASES SECTION
  47  */
  48 #ifdef TEST_CASES
  49 /**
  50  * STIF_SETUP defines activities needed before every test case.
  51  */
  52 STIF_SETUP
  53 {
  54     accIndicatorPlugin = new (ELeave) AccIndicatorPlugin();
  55     CleanupStack::PushL(accIndicatorPlugin);
  56 }
  57 
  58 /**
  59  * STIF_TEARDOWN defines activities needed after every test case
  60  */
  61 STIF_TEARDOWN
  62 {
  63     CleanupStack::PopAndDestroy(accIndicatorPlugin);
  64 }
  65 
  66 /**
  67  * STIF_TESTDEFINE defines a test case
  68  *
  69  *  Example test case - length of string is checked.
  70  *  The only argument of macro is a name of test case.
  71  */
  72 
  73 
  74 STIF_TESTDEFINE(createIndicator)
  75     {    
  76     //
  77     QString par1;
  78     STIF_ASSERT_EQUALS((HbIndicatorInterface*)accIndicatorPlugin, accIndicatorPlugin->createIndicator(par1));
  79     }
  80 
  81 STIF_TESTDEFINE(indicatorTypes)
  82     {
  83     QString KIndicatorType = "com.nokia.accessory.indicatorplugin/1.0";
  84     QStringList qStringList = accIndicatorPlugin->indicatorTypes();
  85     STIF_ASSERT_EQUALS(KIndicatorType, qStringList[0]);
  86     }
  87 
  88 STIF_TESTDEFINE(accessAllowed)
  89     {
  90     QVariantMap mapValues;
  91     QString KAccMode = "AccMode";
  92     QString KAccType = "AccType";
  93     mapValues[KAccMode] = (TInt)EAccModeWiredHeadset;
  94     mapValues[KAccType] = (TInt)KPCWired;
  95     QString par1;
  96     
  97     bool expectedResult = true;
  98     STIF_ASSERT_EQUALS(expectedResult, accIndicatorPlugin->accessAllowed(par1, mapValues));
  99     }
  100 
  101 STIF_TESTDEFINE(handleClientRequest_indicatorData)
  102     {
  103     // connect test slot to signal
  104     UTSlot *utSlot = new (ELeave) UTSlot();
  105     CleanupStack::PushL(utSlot);
  106     QObject::connect( accIndicatorPlugin, SIGNAL(dataChanged()),                       
  107                       utSlot, SLOT(dataChangedSlot()));
  108     QObject::connect( accIndicatorPlugin, SIGNAL(deactivate()),                       
  109                       utSlot, SLOT(deactivateSlot()));
  110     utSlot->iDataChangedSlotCalled = EFalse;
  111     
  112     // make a qmap to pass parameters
  113     QVariantMap mapValues;
  114     QString KAccMode = "AccMode";
  115     QString KAccType = "AccType";
  116     mapValues[KAccMode] = (TInt)EAccModeWiredHeadset;
  117     mapValues[KAccType] = (TInt)KPCWired;
  118 
  119     // handleclientrequest activate
  120     HbIndicatorInterface::RequestType requestType = HbIndicatorInterface::RequestActivate;
  121     accIndicatorPlugin->handleClientRequest(requestType, mapValues);
  122     
  123     // verify that slot had been called 
  124     TBool expectedResult = ETrue;
  125     STIF_ASSERT_EQUALS(expectedResult, utSlot->iDataChangedSlotCalled);
  126     
  127     // verify data values
  128     QString displayName = accIndicatorPlugin->indicatorData(HbIndicatorInterface::PrimaryTextRole).toString();
  129     QString iconName = accIndicatorPlugin->indicatorData(HbIndicatorInterface::MonoDecorationNameRole).toString();
  130     QString KDisplayName = "Wired Headset";
  131     QString KIconName = "z:/resource/accindicator/wired_accessory.svg";    
  132     STIF_ASSERT_EQUALS(KDisplayName, displayName);
  133     STIF_ASSERT_EQUALS(KIconName, iconName);
  134             
  135     // handleClientReqeust deactive
  136     utSlot->iDeactiveSlotCalled = EFalse;
  137     requestType = HbIndicatorInterface::RequestDeactivate;
  138     accIndicatorPlugin->handleClientRequest(requestType, mapValues);
  139     
  140     // verify that slot had been called 
  141     expectedResult = ETrue;
  142     STIF_ASSERT_EQUALS(expectedResult, utSlot->iDeactiveSlotCalled);
  143     // verify data values
  144     QString emptyString;
  145     displayName = accIndicatorPlugin->indicatorData(HbIndicatorInterface::PrimaryTextRole).toString();
  146     STIF_ASSERT_EQUALS(emptyString, displayName);
  147         
  148     CleanupStack::PopAndDestroy(utSlot);
  149     }
  150 
  151 STIF_TESTDEFINE(handleInteraction_EAccModeWiredHeadset)
  152     {
  153     // make a qmap to pass parameters
  154     QVariantMap mapValues;
  155     QString KAccMode = "AccMode";
  156     QString KAccType = "AccType";
  157     mapValues[KAccMode] = (TInt)EAccModeWiredHeadset;
  158     mapValues[KAccType] = (TInt)KPCWired;
  159 
  160     // handleclientrequest activate
  161     HbIndicatorInterface::RequestType requestType = HbIndicatorInterface::RequestActivate;
  162     accIndicatorPlugin->handleClientRequest(requestType, mapValues);
  163     
  164     HbIndicatorInterface::InteractionType interactionType;
  165     interactionType = HbIndicatorInterface::NoInteraction;
  166     
  167     // NoInteraction, handled = false
  168     bool expectedResult = false;
  169     STIF_ASSERT_EQUALS(expectedResult, accIndicatorPlugin->handleInteraction(interactionType));
  170     
  171     // InteractionActivated, handled = true
  172     interactionType = HbIndicatorInterface::InteractionActivated;
  173     expectedResult = true;
  174     STIF_ASSERT_EQUALS(expectedResult, accIndicatorPlugin->handleInteraction(interactionType));    
  175     QProcess::ProcessState currState = QProcess::Running;
  176     STIF_ASSERT_EQUALS(currState, accIndicatorPlugin->mProcess.state());
  177     iLog->Log(_L("interface application started."));
  178     accIndicatorPlugin->mProcess.kill();
  179     accIndicatorPlugin->mProcess.waitForFinished(); 
  180     iLog->Log(_L("interface application killed."));
  181 
  182     }
  183 STIF_TESTDEFINE(handleInteraction_EAccModeTVOut)
  184     {
  185     // make a qmap to pass parameters
  186     QVariantMap mapValues;
  187     QString KAccMode = "AccMode";
  188     QString KAccType = "AccType";
  189     mapValues[KAccMode] = (TInt)EAccModeTVOut;
  190     mapValues[KAccType] = (TInt)KPCHDMI;
  191     // handleclientrequest activate
  192     HbIndicatorInterface::RequestType requestType = HbIndicatorInterface::RequestActivate;
  193     accIndicatorPlugin->handleClientRequest(requestType, mapValues);
  194     
  195     HbIndicatorInterface::InteractionType interactionType;
  196     interactionType = HbIndicatorInterface::NoInteraction;
  197     
  198     // NoInteraction, handled = false
  199     bool expectedResult = false;
  200     STIF_ASSERT_EQUALS(expectedResult, accIndicatorPlugin->handleInteraction(interactionType));
  201     
  202     // InteractionActivated, handled = true
  203     interactionType = HbIndicatorInterface::InteractionActivated;
  204     expectedResult = true;
  205     STIF_ASSERT_EQUALS(expectedResult, accIndicatorPlugin->handleInteraction(interactionType));    
  206     QProcess::ProcessState currState = QProcess::Running;
  207     STIF_ASSERT_EQUALS(currState, accIndicatorPlugin->mProcess.state());
  208     iLog->Log(_L("interface application started."));
  209     accIndicatorPlugin->mProcess.kill();
  210     accIndicatorPlugin->mProcess.waitForFinished(); 
  211     iLog->Log(_L("interface application killed."));
  212     }
  213 
  214 #endif
  215 /**
  216  * END OF TEST CASES SECTION
  217  */
  218 
  219 // End of File
***TER 100% (0/0) of SOURCE FILE utaccindicatorplugincases.cpp

+Directory Summary | Files Summary | Functions Summary | Execution Profile
+To files: First | Previous | Next | Last | Top | Index | No Index


+ diff -r 1505405bc645 -r b01c07dfcf84 systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/indexD4.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/indexD4.html Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,62 @@ + + +CTC++ Coverage Report - Execution Profile - utslot.cpp + + + + + + + + +CTC++ Coverage Report - +Execution Profile +   #4/4

+Directory Summary | Files Summary | Functions Summary | Execution Profile
+To files: First | Previous | Next | Last | Index | No Index


+File: W:\sf\mw\appsupport\systemsettings\accindicatorplugin\tsrc\utaccindicatorplugin\src\utslot.cpp
+Instrumentation mode: function-decision
+TER: 75 % ( 3/ 4)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Start/ End/    
True False - Line Source

  1 /*
  2  * UTSlot.cpp
  3  *
  4  *  Created on: Aug 23, 2010
  5  *      Author: t4sun
  6  */
  7 
  8 #include "UTSlot.h"
  9 
Top
  10 UTSlot::UTSlot()
  11     {
  12     // TODO Auto-generated constructor stub
  13     iDataChangedSlotCalled = EFalse;
  14     iDeactiveSlotCalled = EFalse;
  15     }
  16 
Top
- 17 UTSlot::~UTSlot()
  18     {
  19     // TODO Auto-generated destructor stub
  20     }
  21 
Top
  22 void UTSlot::dataChangedSlot()
  23     {
  24     iDataChangedSlotCalled = ETrue;
  25     }
  26 
Top
  27 void UTSlot::deactivateSlot()
  28     {
  29     iDeactiveSlotCalled = ETrue;
  30     }
***TER 75% (3/4) of SOURCE FILE utslot.cpp

+Directory Summary | Files Summary | Functions Summary | Execution Profile
+To files: First | Previous | Next | Last | Top | Index | No Index


+ diff -r 1505405bc645 -r b01c07dfcf84 systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/indexE.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/indexE.html Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,14 @@ + + +CTC++ Coverage Report - Source Files Not Found + + + + + + + + +The following source files were not found by ctc2html: +

+ diff -r 1505405bc645 -r b01c07dfcf84 systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/indexF.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/indexF.html Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,54 @@ + + +CTC++ Coverage Report - Directory Summary + + + + + + + + +CTC++ Coverage Report - +Directory Summary

+Directory Summary | Files Summary | Functions Summary | Execution Profile

+ + + + + + + + + + +
Symbol file(s): MON.sym (Tue Aug 24 13:18:59 2010)
Data file(s): MON.dat (Tue Aug 24 13:33:11 2010)
Listing produced at: Tue Aug 24 13:33:29 2010
Coverage view: As instrumented
 
Input listing: profile.txt
Html generated at: Tue Aug 24 13:33:36 2010
ctc2html v2.6 options: -i profile.txt 
Threshold percent: 100 %

+(Click on header to sort) + + + + + + + + + + + + + + + + + +
TER%- Covered Not-covered All Directory
41%-314475W:\sf\mw\appsupport\systemsettings\accindicatorplugin\src
75%-314W:\sf\mw\appsupport\systemsettings\accindicatorplugin\tsrc\utaccindicatorplugin\src

43%-344579OVERALL

+ + + + + + + +
Number of directories: 2
Number of monitored source files: 4
Number of functions: 17
Number of source lines: 623
Number of measurement points: 96
TER: 43% (decision)

+Directory Summary | Files Summary | Functions Summary | Execution Profile

+ diff -r 1505405bc645 -r b01c07dfcf84 systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/indexG.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/indexG.html Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,16 @@ + + +CTC++ Coverage Report - Functions Summary - Index + + + + + + + + + + + + + diff -r 1505405bc645 -r b01c07dfcf84 systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/indexH.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/indexH.html Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,22 @@ + + +CTC++ Coverage Report - Functions Summary - Index + + + + + + + + +Index
+ + + + + + + + + +
 
W:\sf\mw\appsupport\systemsettings\accindicatorplugin\src
   W:\sf\mw\appsupport\systemsettings\accindicatorplugin\src\accindicator.cpp
 
W:\sf\mw\appsupport\systemsettings\accindicatorplugin\tsrc\utaccindicatorplugin\src
   W:\sf\mw\appsupport\systemsettings\accindicatorplugin\tsrc\utaccindicatorplugin\src\utaccindicatorplugin.cpp
   W:\sf\mw\appsupport\systemsettings\accindicatorplugin\tsrc\utaccindicatorplugin\src\utaccindicatorplugincases.cpp
   W:\sf\mw\appsupport\systemsettings\accindicatorplugin\tsrc\utaccindicatorplugin\src\utslot.cpp
diff -r 1505405bc645 -r b01c07dfcf84 systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/red.gif Binary file systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/red.gif has changed diff -r 1505405bc645 -r b01c07dfcf84 systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/sorttable.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/systemsettings/accindicatorplugin/tsrc/utaccindicatorplugin/CTCHTML/sorttable.js Thu Oct 07 06:25:45 2010 +0300 @@ -0,0 +1,493 @@ +/* + SortTable + version 2 + 7th April 2007 + Stuart Langridge, http://www.kryogenix.org/code/browser/sorttable/ + + Instructions: + Download this file + Add to your HTML + Add class="sortable" to any table you'd like to make sortable + Click on the headers to sort + + Thanks to many, many people for contributions and suggestions. + Licenced as X11: http://www.kryogenix.org/code/browser/licence.html + This basically means: do what you want with it. +*/ + + +var stIsIE = /*@cc_on!@*/false; + +sorttable = { + init: function() { + // quit if this function has already been called + if (arguments.callee.done) return; + // flag this function so we don't do the same thing twice + arguments.callee.done = true; + // kill the timer + if (_timer) clearInterval(_timer); + + if (!document.createElement || !document.getElementsByTagName) return; + + sorttable.DATE_RE = /^(\d\d?)[\/\.-](\d\d?)[\/\.-]((\d\d)?\d\d)$/; + + forEach(document.getElementsByTagName('table'), function(table) { + if (table.className.search(/\bsortable\b/) != -1) { + sorttable.makeSortable(table); + } + }); + + }, + + makeSortable: function(table) { + if (table.getElementsByTagName('thead').length == 0) { + // table doesn't have a tHead. Since it should have, create one and + // put the first table row in it. + the = document.createElement('thead'); + the.appendChild(table.rows[0]); + table.insertBefore(the,table.firstChild); + } + // Safari doesn't support table.tHead, sigh + if (table.tHead == null) table.tHead = table.getElementsByTagName('thead')[0]; + + if (table.tHead.rows.length != 1) return; // can't cope with two header rows + + // Sorttable v1 put rows with a class of "sortbottom" at the bottom (as + // "total" rows, for example). This is B&R, since what you're supposed + // to do is put them in a tfoot. So, if there are sortbottom rows, + // for backwards compatibility, move them to tfoot (creating it if needed). + sortbottomrows = []; + for (var i=0; i5' : ' ▴'; + this.appendChild(sortrevind); + return; + } + if (this.className.search(/\bsorttable_sorted_reverse\b/) != -1) { + // if we're already sorted by this column in reverse, just + // re-reverse the table, which is quicker + sorttable.reverse(this.sorttable_tbody); + this.className = this.className.replace('sorttable_sorted_reverse', + 'sorttable_sorted'); + this.removeChild(document.getElementById('sorttable_sortrevind')); + sortfwdind = document.createElement('span'); + sortfwdind.id = "sorttable_sortfwdind"; + sortfwdind.innerHTML = stIsIE ? ' 6' : ' ▾'; + this.appendChild(sortfwdind); + return; + } + + // remove sorttable_sorted classes + theadrow = this.parentNode; + forEach(theadrow.childNodes, function(cell) { + if (cell.nodeType == 1) { // an element + cell.className = cell.className.replace('sorttable_sorted_reverse',''); + cell.className = cell.className.replace('sorttable_sorted',''); + } + }); + sortfwdind = document.getElementById('sorttable_sortfwdind'); + if (sortfwdind) { sortfwdind.parentNode.removeChild(sortfwdind); } + sortrevind = document.getElementById('sorttable_sortrevind'); + if (sortrevind) { sortrevind.parentNode.removeChild(sortrevind); } + + this.className += ' sorttable_sorted'; + sortfwdind = document.createElement('span'); + sortfwdind.id = "sorttable_sortfwdind"; + sortfwdind.innerHTML = stIsIE ? ' 6' : ' ▾'; + this.appendChild(sortfwdind); + + // build an array to sort. This is a Schwartzian transform thing, + // i.e., we "decorate" each row with the actual sort key, + // sort based on the sort keys, and then put the rows back in order + // which is a lot faster because you only do getInnerText once per row + row_array = []; + col = this.sorttable_columnindex; + rows = this.sorttable_tbody.rows; + for (var j=0; j 12) { + // definitely dd/mm + return sorttable.sort_ddmm; + } else if (second > 12) { + return sorttable.sort_mmdd; + } else { + // looks like a date, but we can't tell which, so assume + // that it's dd/mm (English imperialism!) and keep looking + sortfn = sorttable.sort_ddmm; + } + } + } + } + return sortfn; + }, + + getInnerText: function(node) { + // gets the text we want to use for sorting for a cell. + // strips leading and trailing whitespace. + // this is *not* a generic getInnerText function; it's special to sorttable. + // for example, you can override the cell text with a customkey attribute. + // it also gets .value for fields. + + hasInputs = (typeof node.getElementsByTagName == 'function') && + node.getElementsByTagName('input').length; + + if (node.getAttribute("sorttable_customkey") != null) { + return node.getAttribute("sorttable_customkey"); + } + else if (typeof node.textContent != 'undefined' && !hasInputs) { + return node.textContent.replace(/^\s+|\s+$/g, ''); + } + else if (typeof node.innerText != 'undefined' && !hasInputs) { + return node.innerText.replace(/^\s+|\s+$/g, ''); + } + else if (typeof node.text != 'undefined' && !hasInputs) { + return node.text.replace(/^\s+|\s+$/g, ''); + } + else { + switch (node.nodeType) { + case 3: + if (node.nodeName.toLowerCase() == 'input') { + return node.value.replace(/^\s+|\s+$/g, ''); + } + case 4: + return node.nodeValue.replace(/^\s+|\s+$/g, ''); + break; + case 1: + case 11: + var innerText = ''; + for (var i = 0; i < node.childNodes.length; i++) { + innerText += sorttable.getInnerText(node.childNodes[i]); + } + return innerText.replace(/^\s+|\s+$/g, ''); + break; + default: + return ''; + } + } + }, + + reverse: function(tbody) { + // reverse the rows in a tbody + newrows = []; + for (var i=0; i=0; i--) { + tbody.appendChild(newrows[i]); + } + delete newrows; + }, + + /* sort functions + each sort function takes two parameters, a and b + you are comparing a[0] and b[0] */ + sort_numeric: function(a,b) { + aa = parseFloat(a[0].replace(/[^0-9.-]/g,'')); + if (isNaN(aa)) aa = 0; + bb = parseFloat(b[0].replace(/[^0-9.-]/g,'')); + if (isNaN(bb)) bb = 0; + return aa-bb; + }, + sort_alpha: function(a,b) { + if (a[0]==b[0]) return 0; + if (a[0] 0 ) { + var q = list[i]; list[i] = list[i+1]; list[i+1] = q; + swap = true; + } + } // for + t--; + + if (!swap) break; + + for(var i = t; i > b; --i) { + if ( comp_func(list[i], list[i-1]) < 0 ) { + var q = list[i]; list[i] = list[i-1]; list[i-1] = q; + swap = true; + } + } // for + b++; + + } // while(swap) + } +} + +/* ****************************************************************** + Supporting functions: bundled here to avoid depending on a library + ****************************************************************** */ + +// Dean Edwards/Matthias Miller/John Resig + +/* for Mozilla/Opera9 */ +if (document.addEventListener) { + document.addEventListener("DOMContentLoaded", sorttable.init, false); +} + +/* for Internet Explorer */ +/*@cc_on @*/ +/*@if (@_win32) + document.write("