Revision: 201019
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 27 May 2010 13:43:36 +0300
changeset 32 5d0ec111abfc
parent 27 2c8580950a26
child 35 0deca9b72b62
Revision: 201019 Kit: 2010121
devicediagnosticsfw/diagframework/bwins/diagframework.def
devicediagnosticsfw/diagframework/cenrep_files/clean_cenrep.bat
devicediagnosticsfw/diagframework/cenrep_files/keys_diagnosticsfw.xls
devicediagnosticsfw/diagframework/cenrep_files/make_cenrep.bat
devicediagnosticsfw/diagframework/cenrep_files/output/inifiles/2000B16B.txt
devicediagnosticsfw/diagframework/cenrep_files/output/key_sheets_info.storable
devicediagnosticsfw/diagframework/cenrep_files/output/rfs/cenrep_rfs.txt
devicediagnosticsfw/diagframework/conf/diagnosticsfw.confml
devicediagnosticsfw/diagframework/conf/diagnosticsfw_2000B16B.crml
devicediagnosticsfw/diagframework/eabi/diagframework.def
devicediagnosticsfw/diagframework/group/bld.inf
devicediagnosticsfw/diagframework/group/diagframework.mmp
devicediagnosticsfw/diagframework/group/diagframework_uid_.cpp
devicediagnosticsfw/diagframework/inc/diagappcommand.h
devicediagnosticsfw/diagframework/inc/diagcleanupresetanddestroy.h
devicediagnosticsfw/diagframework/inc/diagcleanupresetanddestroy.inl
devicediagnosticsfw/diagframework/inc/diagcommondialog.h
devicediagnosticsfw/diagframework/inc/diagengine.h
devicediagnosticsfw/diagframework/inc/diagenginecallhandler.h
devicediagnosticsfw/diagframework/inc/diagenginecallhandlerobserver.h
devicediagnosticsfw/diagframework/inc/diagenginecallhandlerstates.h
devicediagnosticsfw/diagframework/inc/diagenginecommon.h
devicediagnosticsfw/diagframework/inc/diagengineconfig.h
devicediagnosticsfw/diagframework/inc/diagengineeventbasic.h
devicediagnosticsfw/diagframework/inc/diagengineevents.h
devicediagnosticsfw/diagframework/inc/diagengineeventtestprogress.h
devicediagnosticsfw/diagframework/inc/diagengineimpl.h
devicediagnosticsfw/diagframework/inc/diagengineobserver.h
devicediagnosticsfw/diagframework/inc/diagenginestatemachine.h
devicediagnosticsfw/diagframework/inc/diagenginestatemachineobserver.h
devicediagnosticsfw/diagframework/inc/diagenginestates.h
devicediagnosticsfw/diagframework/inc/diagenginewatchdogtypes.h
devicediagnosticsfw/diagframework/inc/diagexecplanentry.h
devicediagnosticsfw/diagframework/inc/diagexecplanentryimpl.h
devicediagnosticsfw/diagframework/inc/diagexecplanentryimplobserver.h
devicediagnosticsfw/diagframework/inc/diagexecplanentryimplsuite.h
devicediagnosticsfw/diagframework/inc/diagexecplanentryimpltest.h
devicediagnosticsfw/diagframework/inc/diagframework.pan
devicediagnosticsfw/diagframework/inc/diagframeworkdebug.h
devicediagnosticsfw/diagframework/inc/diaglogeventeraser.h
devicediagnosticsfw/diagframework/inc/diaglogeventeraserobserver.h
devicediagnosticsfw/diagframework/inc/diagnetworkregstatusobserver.h
devicediagnosticsfw/diagframework/inc/diagnetworkregstatuswatcher.h
devicediagnosticsfw/diagframework/inc/diagnosticsfwprivatecrkeys.h
devicediagnosticsfw/diagframework/inc/diagplugin.h
devicediagnosticsfw/diagframework/inc/diagpluginconstructionparam.h
devicediagnosticsfw/diagframework/inc/diagpluginexecplan.h
devicediagnosticsfw/diagframework/inc/diagpluginexecplanimpl.h
devicediagnosticsfw/diagframework/inc/diagpluginloaderdependencyparser.h
devicediagnosticsfw/diagframework/inc/diagpluginpool.h
devicediagnosticsfw/diagframework/inc/diagpluginpoolimpl.h
devicediagnosticsfw/diagframework/inc/diagpluginpoolobserver.h
devicediagnosticsfw/diagframework/inc/diagresultdetail.h
devicediagnosticsfw/diagframework/inc/diagresultsdbItembuilder.h
devicediagnosticsfw/diagframework/inc/diagrootsuite.h
devicediagnosticsfw/diagframework/inc/diagsuiteexecparam.h
devicediagnosticsfw/diagframework/inc/diagsuiteobserver.h
devicediagnosticsfw/diagframework/inc/diagsuiteplugin.h
devicediagnosticsfw/diagframework/inc/diagtestexecparam.h
devicediagnosticsfw/diagframework/inc/diagtestobserver.h
devicediagnosticsfw/diagframework/inc/diagtestplugin.h
devicediagnosticsfw/diagframework/src/DiagTestExecParam.cpp
devicediagnosticsfw/diagframework/src/diagengine.cpp
devicediagnosticsfw/diagframework/src/diagenginecallhandler.cpp
devicediagnosticsfw/diagframework/src/diagengineconfig.cpp
devicediagnosticsfw/diagframework/src/diagengineeventbasic.cpp
devicediagnosticsfw/diagframework/src/diagengineeventtestprogress.cpp
devicediagnosticsfw/diagframework/src/diagengineimpl.cpp
devicediagnosticsfw/diagframework/src/diagenginestatemachine.cpp
devicediagnosticsfw/diagframework/src/diagexecplanentryimpl.cpp
devicediagnosticsfw/diagframework/src/diagexecplanentryimplsuite.cpp
devicediagnosticsfw/diagframework/src/diagexecplanentryimpltest.cpp
devicediagnosticsfw/diagframework/src/diaglogeventeraser.cpp
devicediagnosticsfw/diagframework/src/diagnetworkregstatuswatcher.cpp
devicediagnosticsfw/diagframework/src/diagpluginconstructionparam.cpp
devicediagnosticsfw/diagframework/src/diagpluginexecplanimpl.cpp
devicediagnosticsfw/diagframework/src/diagpluginloaderdependencyparser.cpp
devicediagnosticsfw/diagframework/src/diagpluginpool.cpp
devicediagnosticsfw/diagframework/src/diagpluginpoolimpl.cpp
devicediagnosticsfw/diagframework/src/diagresultsdbitembuilder.cpp
devicediagnosticsfw/diagframework/src/diagrootsuite.cpp
devicediagnosticsfw/diagframework/src/diagsuiteexecparam.cpp
devicediagnosticsfw/diagpluginbase/bwins/diagpluginbase.def
devicediagnosticsfw/diagpluginbase/eabi/diagpluginbase.def
devicediagnosticsfw/diagpluginbase/group/bld.inf
devicediagnosticsfw/diagpluginbase/group/diagpluginbase.mmp
devicediagnosticsfw/diagpluginbase/group/diagpluginbase_uid_.cpp
devicediagnosticsfw/diagpluginbase/inc/diagpluginbase.pan
devicediagnosticsfw/diagpluginbase/inc/diagpluginbaseutils.h
devicediagnosticsfw/diagpluginbase/inc/diagplugincommon.loc
devicediagnosticsfw/diagpluginbase/inc/diagpluginwaitingdialogwrapper.h
devicediagnosticsfw/diagpluginbase/inc/diagresultdetailbasic.h
devicediagnosticsfw/diagpluginbase/inc/diagresultdetailbasicitem.h
devicediagnosticsfw/diagpluginbase/inc/diagsuitepluginbase.h
devicediagnosticsfw/diagpluginbase/inc/diagtestpluginbase.h
devicediagnosticsfw/diagpluginbase/src/diagpluginbaseutils.cpp
devicediagnosticsfw/diagpluginbase/src/diagpluginwaitingdialogwrapper.cpp
devicediagnosticsfw/diagpluginbase/src/diagresultdetailbasic.cpp
devicediagnosticsfw/diagpluginbase/src/diagresultdetailbasicitem.cpp
devicediagnosticsfw/diagpluginbase/src/diagsuitepluginbase.cpp
devicediagnosticsfw/diagpluginbase/src/diagtestpluginbase.cpp
devicediagnosticsfw/diagresultsdb/client/bwins/diagresultsdatabase.def
devicediagnosticsfw/diagresultsdb/client/eabi/diagresultsdatabase.def
devicediagnosticsfw/diagresultsdb/client/group/bld.inf
devicediagnosticsfw/diagresultsdb/client/group/diagresultsdatabase.mmp
devicediagnosticsfw/diagresultsdb/client/group/diagresultsdatabase.xml
devicediagnosticsfw/diagresultsdb/client/inc/diagresultsdatabase.h
devicediagnosticsfw/diagresultsdb/client/inc/diagresultsdatabaseitem.h
devicediagnosticsfw/diagresultsdb/client/inc/diagresultsdatabasetestrecordinfo.h
devicediagnosticsfw/diagresultsdb/client/inc/diagresultsdbrecordengineparam.h
devicediagnosticsfw/diagresultsdb/client/inc/diagresultsdbrecordinfoarraypacked.h
devicediagnosticsfw/diagresultsdb/client/src/diagresultsdatabase.cpp
devicediagnosticsfw/diagresultsdb/client/src/diagresultsdatabaseItem.cpp
devicediagnosticsfw/diagresultsdb/client/src/diagresultsdatabasetestrecordInfo.cpp
devicediagnosticsfw/diagresultsdb/client/src/diagresultsdbrecordengineparam.cpp
devicediagnosticsfw/diagresultsdb/client/src/diagresultsdbrecordinfoarraypacked.cpp
devicediagnosticsfw/diagresultsdb/common/diagresultsdatabasecommon.h
devicediagnosticsfw/diagresultsdb/common/diagresultsdbprivatecrkeys.h
devicediagnosticsfw/diagresultsdb/server/cenrep_files/clean_cenrep.bat
devicediagnosticsfw/diagresultsdb/server/cenrep_files/keys_diagresultsdb.xls
devicediagnosticsfw/diagresultsdb/server/cenrep_files/make_cenrep.bat
devicediagnosticsfw/diagresultsdb/server/cenrep_files/output/inifiles/2000B45D.txt
devicediagnosticsfw/diagresultsdb/server/cenrep_files/output/key_sheets_info.storable
devicediagnosticsfw/diagresultsdb/server/cenrep_files/output/rfs/cenrep_rfs.txt
devicediagnosticsfw/diagresultsdb/server/conf/diagresultsdb.confml
devicediagnosticsfw/diagresultsdb/server/conf/diagresultsdb_2000B45d.crml
devicediagnosticsfw/diagresultsdb/server/group/bld.inf
devicediagnosticsfw/diagresultsdb/server/group/diagresultsdbserver.mmp
devicediagnosticsfw/diagresultsdb/server/group/diagresultsdbserver.xml
devicediagnosticsfw/diagresultsdb/server/inc/diagresultsdbcrdc.h
devicediagnosticsfw/diagresultsdb/server/inc/diagresultsdbserver.h
devicediagnosticsfw/diagresultsdb/server/inc/diagresultsdbsession.h
devicediagnosticsfw/diagresultsdb/server/inc/diagresultsdbstore.h
devicediagnosticsfw/diagresultsdb/server/inc/diagresultsdbtestrecord.h
devicediagnosticsfw/diagresultsdb/server/inc/diagresultsdbtestrecordhandle.h
devicediagnosticsfw/diagresultsdb/server/inc/diagresultsdbtestrecordsubsession.h
devicediagnosticsfw/diagresultsdb/server/src/diagresultsdbserver.cpp
devicediagnosticsfw/diagresultsdb/server/src/diagresultsdbsession.cpp
devicediagnosticsfw/diagresultsdb/server/src/diagresultsdbstore.cpp
devicediagnosticsfw/diagresultsdb/server/src/diagresultsdbtestrecord.cpp
devicediagnosticsfw/diagresultsdb/server/src/diagresultsdbtestrecordhandle.cpp
devicediagnosticsfw/diagresultsdb/server/src/diagresultsdbtestrecordsubsession.cpp
devicediagnosticsfw/group/bld.inf
devicediagnosticsfw/rom_files/diagframework.iby
devicediagnosticsfw/rom_files/diagpluginbase.iby
devicediagnosticsfw/rom_files/diagresultsdatabase.iby
devicediagnosticsfw/rom_files/diagresultsdatabaseserver.iby
group/bld.inf
remotemgmt_plat/diagnostics_framework_api/diagnostics_framework_api.metaxml
remotemgmt_plat/diagnostics_framework_api/group/bld.inf
remotemgmt_plat/diagnostics_framework_api/inc/diagappcommand.h
remotemgmt_plat/diagnostics_framework_api/inc/diagengine.h
remotemgmt_plat/diagnostics_framework_api/inc/diagenginecommon.h
remotemgmt_plat/diagnostics_framework_api/inc/diagengineobserver.h
remotemgmt_plat/diagnostics_framework_api/inc/diagenginewatchdogtypes.h
remotemgmt_plat/diagnostics_framework_api/inc/diagexecplanentry.h
remotemgmt_plat/diagnostics_framework_api/inc/diagframeworkdebug.h
remotemgmt_plat/diagnostics_framework_api/inc/diagpluginexecplan.h
remotemgmt_plat/diagnostics_plugin_api/diagnostics_plugin_api.metaxml
remotemgmt_plat/diagnostics_plugin_api/group/bld.inf
remotemgmt_plat/diagnostics_plugin_api/inc/diagplugin.h
remotemgmt_plat/diagnostics_plugin_api/inc/diagpluginconstructionparam.h
remotemgmt_plat/diagnostics_plugin_api/inc/diagsuiteexecparam.h
remotemgmt_plat/diagnostics_plugin_api/inc/diagsuiteobserver.h
remotemgmt_plat/diagnostics_plugin_api/inc/diagsuiteplugin.h
remotemgmt_plat/diagnostics_plugin_api/inc/diagsuitepluginbase.h
remotemgmt_plat/diagnostics_plugin_api/inc/diagtestexecparam.h
remotemgmt_plat/diagnostics_plugin_api/inc/diagtestobserver.h
remotemgmt_plat/diagnostics_plugin_api/inc/diagtestplugin.h
remotemgmt_plat/diagnostics_plugin_api/inc/diagtestpluginbase.h
remotemgmt_plat/diagnostics_plugin_pool_api/diagnostics_plugin_pool_api.metaxml
remotemgmt_plat/diagnostics_plugin_pool_api/group/bld.inf
remotemgmt_plat/diagnostics_plugin_pool_api/inc/diagpluginpool.h
remotemgmt_plat/diagnostics_plugin_pool_api/inc/diagpluginpoolobserver.h
remotemgmt_plat/diagnostics_plugin_utility_api/diagnostics_plugin_utility_api.metaxml
remotemgmt_plat/diagnostics_plugin_utility_api/group/bld.inf
remotemgmt_plat/diagnostics_plugin_utility_api/inc/diagcommondialog.h
remotemgmt_plat/diagnostics_plugin_utility_api/inc/diaglogeventeraser.h
remotemgmt_plat/diagnostics_plugin_utility_api/inc/diaglogeventeraserobserver.h
remotemgmt_plat/diagnostics_plugin_utility_api/inc/diagnetworkregstatusobserver.h
remotemgmt_plat/diagnostics_plugin_utility_api/inc/diagnetworkregstatuswatcher.h
remotemgmt_plat/diagnostics_plugin_utility_api/inc/diagpluginwaitingdialogwrapper.h
remotemgmt_plat/diagnostics_results_api/diagnostics_results_api.metaxml
remotemgmt_plat/diagnostics_results_api/group/bld.inf
remotemgmt_plat/diagnostics_results_api/inc/diagresultdetail.h
remotemgmt_plat/diagnostics_results_api/inc/diagresultdetailbasic.h
remotemgmt_plat/diagnostics_results_api/inc/diagresultsdatabase.h
remotemgmt_plat/diagnostics_results_api/inc/diagresultsdatabaseitem.h
remotemgmt_plat/diagnostics_results_api/inc/diagresultsdatabasetestrecordinfo.h
remotemgmt_plat/diagnostics_results_api/inc/diagresultsdbitembuilder.h
remotemgmt_plat/diagnostics_results_api/inc/diagresultsdbrecordengineparam.h
remotemgmt_plat/group/bld.inf
syncmlfw/common/syncagent/bld/DEF/bwinscwu.def
syncmlfw/common/syncagent/bld/DEF/eabiu.def
syncmlfw/common/syncagent/bld/NSmlAgentCommon.mmp
syncmlfw/common/syncagent/inc/NSmlAgentBase.h
syncmlfw/common/syncagent/src/NSmlAgentBase.cpp
syncmlfw/ds/settings/src/pcsuite/NSmlDSProfileRes.rss
syncmlfw/ds/syncagent/bld/nsmldsagent.mmp
syncmlfw/ds/syncagent/src/nsmldsagent.cpp
syncmlfw/ds/syncagent/src/nsmldsnetmon.cpp
terminalsecurity/SCP/SCPClient/src/SCPClient.cpp
terminalsecurity/SCP/SCPServer/src/SCPServer.cpp
--- a/devicediagnosticsfw/diagframework/bwins/diagframework.def	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-EXPORTS
-	??0TDiagSuiteExecParam@@QAE@AAVMDiagSuiteObserver@@AAVMDiagEngineCommon@@@Z @ 1 NONAME ; TDiagSuiteExecParam::TDiagSuiteExecParam(class MDiagSuiteObserver &, class MDiagEngineCommon &)
-	??0TDiagTestExecParam@@QAE@AAVMDiagTestObserver@@AAVMDiagEngineCommon@@@Z @ 2 NONAME ; TDiagTestExecParam::TDiagTestExecParam(class MDiagTestObserver &, class MDiagEngineCommon &)
-	??1CDiagEngine@@UAE@XZ @ 3 NONAME ; CDiagEngine::~CDiagEngine(void)
-	??1CDiagLogEventEraser@@UAE@XZ @ 4 NONAME ; CDiagLogEventEraser::~CDiagLogEventEraser(void)
-	??1CDiagNetworkRegStatusWatcher@@UAE@XZ @ 5 NONAME ; CDiagNetworkRegStatusWatcher::~CDiagNetworkRegStatusWatcher(void)
-	??1CDiagPluginConstructionParam@@UAE@XZ @ 6 NONAME ; CDiagPluginConstructionParam::~CDiagPluginConstructionParam(void)
-	??1CDiagPluginPool@@UAE@XZ @ 7 NONAME ; CDiagPluginPool::~CDiagPluginPool(void)
-	?CancelLoadPluginsL@CDiagPluginPool@@QAEXXZ @ 8 NONAME ; void CDiagPluginPool::CancelLoadPluginsL(void)
-	?CreatePluginL@CDiagPluginPool@@SAPAVMDiagPlugin@@VTUid@@@Z @ 9 NONAME ; class MDiagPlugin * CDiagPluginPool::CreatePluginL(class TUid)
-	?CreateSimpleDbItemL@CDiagResultsDbItemBuilder@@SAPAVCDiagResultsDatabaseItem@@VTUid@@HW4TResult@2@@Z @ 10 NONAME ; class CDiagResultsDatabaseItem * CDiagResultsDbItemBuilder::CreateSimpleDbItemL(class TUid, int, enum CDiagResultsDatabaseItem::TResult)
-	?Engine@TDiagSuiteExecParam@@QBEAAVMDiagEngineCommon@@XZ @ 11 NONAME ; class MDiagEngineCommon & TDiagSuiteExecParam::Engine(void) const
-	?Engine@TDiagTestExecParam@@QBEAAVMDiagEngineCommon@@XZ @ 12 NONAME ; class MDiagEngineCommon & TDiagTestExecParam::Engine(void) const
-	?EraseLogsL@CDiagLogEventEraser@@QAEXXZ @ 13 NONAME ; void CDiagLogEventEraser::EraseLogsL(void)
-	?ExecuteL@CDiagEngine@@QAEXXZ @ 14 NONAME ; void CDiagEngine::ExecuteL(void)
-	?Filter@CDiagLogEventEraser@@QAEAAVCLogFilter@@XZ @ 15 NONAME ; class CLogFilter & CDiagLogEventEraser::Filter(void)
-	?FindPlugin@CDiagPluginPool@@QBEHABVTDesC16@@AAPAVMDiagPlugin@@@Z @ 16 NONAME ; int CDiagPluginPool::FindPlugin(class TDesC16 const &, class MDiagPlugin * &) const
-	?FindPlugin@CDiagPluginPool@@QBEHVTUid@@AAPAVMDiagPlugin@@@Z @ 17 NONAME ; int CDiagPluginPool::FindPlugin(class TUid, class MDiagPlugin * &) const
-	?FindPluginL@CDiagPluginPool@@QBEAAVMDiagPlugin@@ABVTDesC16@@@Z @ 18 NONAME ; class MDiagPlugin & CDiagPluginPool::FindPluginL(class TDesC16 const &) const
-	?FindPluginL@CDiagPluginPool@@QBEAAVMDiagPlugin@@VTUid@@@Z @ 19 NONAME ; class MDiagPlugin & CDiagPluginPool::FindPluginL(class TUid) const
-	?GetCurrentTime@CDiagResultsDbItemBuilder@@QBE?AVTTime@@XZ @ 20 NONAME ; class TTime CDiagResultsDbItemBuilder::GetCurrentTime(void) const
-	?GetPluginDependencyL@CDiagEngine@@QAEHXZ @ 21 NONAME ; int CDiagEngine::GetPluginDependencyL(void)
-	?LoadAsyncL@CDiagPluginPool@@QAEXVTUid@@@Z @ 22 NONAME ; void CDiagPluginPool::LoadAsyncL(class TUid)
-	?LogClient@CDiagLogEventEraser@@QAEAAVCLogClient@@XZ @ 23 NONAME ; class CLogClient & CDiagLogEventEraser::LogClient(void)
-	?NewL@CDiagEngine@@SAPAV1@AAVCAknViewAppUi@@AAVMDiagEngineObserver@@AAVRDiagResultsDatabase@@AAVCDiagPluginPool@@HABV?$RArray@VTUid@@@@@Z @ 24 NONAME ; class CDiagEngine * CDiagEngine::NewL(class CAknViewAppUi &, class MDiagEngineObserver &, class RDiagResultsDatabase &, class CDiagPluginPool &, int, class RArray<class TUid> const &)
-	?NewL@CDiagEngine@@SAPAV1@AAVCAknViewAppUi@@AAVMDiagEngineObserver@@AAVRDiagResultsDatabase@@AAVCDiagPluginPool@@VTUid@@@Z @ 25 NONAME ; class CDiagEngine * CDiagEngine::NewL(class CAknViewAppUi &, class MDiagEngineObserver &, class RDiagResultsDatabase &, class CDiagPluginPool &, class TUid)
-	?NewL@CDiagLogEventEraser@@SAPAV1@AAVMDiagLogEventEraserObserver@@PAVCLogFilter@@@Z @ 26 NONAME ; class CDiagLogEventEraser * CDiagLogEventEraser::NewL(class MDiagLogEventEraserObserver &, class CLogFilter *)
-	?NewL@CDiagNetworkRegStatusWatcher@@SAPAV1@AAVMDiagNetworkRegStatusObserver@@@Z @ 27 NONAME ; class CDiagNetworkRegStatusWatcher * CDiagNetworkRegStatusWatcher::NewL(class MDiagNetworkRegStatusObserver &)
-	?NewL@CDiagPluginConstructionParam@@SAPAV1@PAVHBufC16@@PAVCDesC16ArrayFlat@@HVTUid@@2@Z @ 28 NONAME ; class CDiagPluginConstructionParam * CDiagPluginConstructionParam::NewL(class HBufC16 *, class CDesC16ArrayFlat *, int, class TUid, class TUid)
-	?NewL@CDiagPluginPool@@SAPAV1@AAVMDiagPluginPoolObserver@@@Z @ 29 NONAME ; class CDiagPluginPool * CDiagPluginPool::NewL(class MDiagPluginPoolObserver &)
-	?NewL@CDiagResultsDbItemBuilder@@SAPAV1@VTUid@@H@Z @ 30 NONAME ; class CDiagResultsDbItemBuilder * CDiagResultsDbItemBuilder::NewL(class TUid, int)
-	?NewLC@CDiagEngine@@SAPAV1@AAVCAknViewAppUi@@AAVMDiagEngineObserver@@AAVRDiagResultsDatabase@@AAVCDiagPluginPool@@HABV?$RArray@VTUid@@@@@Z @ 31 NONAME ; class CDiagEngine * CDiagEngine::NewLC(class CAknViewAppUi &, class MDiagEngineObserver &, class RDiagResultsDatabase &, class CDiagPluginPool &, int, class RArray<class TUid> const &)
-	?NewLC@CDiagEngine@@SAPAV1@AAVCAknViewAppUi@@AAVMDiagEngineObserver@@AAVRDiagResultsDatabase@@AAVCDiagPluginPool@@VTUid@@@Z @ 32 NONAME ; class CDiagEngine * CDiagEngine::NewLC(class CAknViewAppUi &, class MDiagEngineObserver &, class RDiagResultsDatabase &, class CDiagPluginPool &, class TUid)
-	?NewLC@CDiagPluginConstructionParam@@SAPAV1@PAVHBufC16@@PAVCDesC16ArrayFlat@@HVTUid@@2@Z @ 33 NONAME ; class CDiagPluginConstructionParam * CDiagPluginConstructionParam::NewLC(class HBufC16 *, class CDesC16ArrayFlat *, int, class TUid, class TUid)
-	?NewLC@CDiagPluginPool@@SAPAV1@AAVMDiagPluginPoolObserver@@@Z @ 34 NONAME ; class CDiagPluginPool * CDiagPluginPool::NewLC(class MDiagPluginPoolObserver &)
-	?NewLC@CDiagResultsDbItemBuilder@@SAPAV1@VTUid@@H@Z @ 35 NONAME ; class CDiagResultsDbItemBuilder * CDiagResultsDbItemBuilder::NewLC(class TUid, int)
-	?Observer@TDiagSuiteExecParam@@QBEAAVMDiagSuiteObserver@@XZ @ 36 NONAME ; class MDiagSuiteObserver & TDiagSuiteExecParam::Observer(void) const
-	?Observer@TDiagTestExecParam@@QBEAAVMDiagTestObserver@@XZ @ 37 NONAME ; class MDiagTestObserver & TDiagTestExecParam::Observer(void) const
-	?Order@CDiagPluginConstructionParam@@QBEHXZ @ 38 NONAME ; int CDiagPluginConstructionParam::Order(void) const
-	?ParentUid@CDiagPluginConstructionParam@@QBE?AVTUid@@XZ @ 39 NONAME ; class TUid CDiagPluginConstructionParam::ParentUid(void) const
-	?ResultDetail@CDiagResultsDbItemBuilder@@QBEAAVMDiagResultDetail@@XZ @ 40 NONAME ; class MDiagResultDetail & CDiagResultsDbItemBuilder::ResultDetail(void) const
-	?ResumeL@CDiagEngine@@QAEXXZ @ 41 NONAME ; void CDiagEngine::ResumeL(void)
-	?ServiceProvided@CDiagPluginConstructionParam@@QBEABVTDesC16@@XZ @ 42 NONAME ; class TDesC16 const & CDiagPluginConstructionParam::ServiceProvided(void) const
-	?ServicesRequired@CDiagPluginConstructionParam@@QBEABVCDesC16ArrayFlat@@XZ @ 43 NONAME ; class CDesC16ArrayFlat const & CDiagPluginConstructionParam::ServicesRequired(void) const
-	?SetCustomParam@CDiagEngine@@QAEXPAX@Z @ 44 NONAME ; void CDiagEngine::SetCustomParam(void *)
-	?SetResultDetail@CDiagResultsDbItemBuilder@@QAEXPAVMDiagResultDetail@@@Z @ 45 NONAME ; void CDiagResultsDbItemBuilder::SetResultDetail(class MDiagResultDetail *)
-	?SetTestCompleted@CDiagResultsDbItemBuilder@@QAEXW4TResult@CDiagResultsDatabaseItem@@@Z @ 46 NONAME ; void CDiagResultsDbItemBuilder::SetTestCompleted(enum CDiagResultsDatabaseItem::TResult)
-	?SetTestUid@CDiagResultsDbItemBuilder@@QAEXVTUid@@@Z @ 47 NONAME ; void CDiagResultsDbItemBuilder::SetTestUid(class TUid)
-	?SetTimeCompleted@CDiagResultsDbItemBuilder@@QAEXVTTime@@@Z @ 48 NONAME ; void CDiagResultsDbItemBuilder::SetTimeCompleted(class TTime)
-	?SetTimeStarted@CDiagResultsDbItemBuilder@@QAEXVTTime@@@Z @ 49 NONAME ; void CDiagResultsDbItemBuilder::SetTimeStarted(class TTime)
-	?SetWasDependency@CDiagResultsDbItemBuilder@@QAEXH@Z @ 50 NONAME ; void CDiagResultsDbItemBuilder::SetWasDependency(int)
-	?StartAsyncEraseLogsL@CDiagLogEventEraser@@QAEXXZ @ 51 NONAME ; void CDiagLogEventEraser::StartAsyncEraseLogsL(void)
-	?StartObserver@CDiagNetworkRegStatusWatcher@@QAEXXZ @ 52 NONAME ; void CDiagNetworkRegStatusWatcher::StartObserver(void)
-	?StopObserver@CDiagNetworkRegStatusWatcher@@QAEXXZ @ 53 NONAME ; void CDiagNetworkRegStatusWatcher::StopObserver(void)
-	?SuspendL@CDiagEngine@@QAEXXZ @ 54 NONAME ; void CDiagEngine::SuspendL(void)
-	?TestResult@CDiagResultsDbItemBuilder@@QBE?AW4TResult@CDiagResultsDatabaseItem@@XZ @ 55 NONAME ; enum CDiagResultsDatabaseItem::TResult CDiagResultsDbItemBuilder::TestResult(void) const
-	?TestUid@CDiagResultsDbItemBuilder@@QBE?AVTUid@@XZ @ 56 NONAME ; class TUid CDiagResultsDbItemBuilder::TestUid(void) const
-	?TimeCompleted@CDiagResultsDbItemBuilder@@QBE?AVTTime@@XZ @ 57 NONAME ; class TTime CDiagResultsDbItemBuilder::TimeCompleted(void) const
-	?TimeStarted@CDiagResultsDbItemBuilder@@QBE?AVTTime@@XZ @ 58 NONAME ; class TTime CDiagResultsDbItemBuilder::TimeStarted(void) const
-	?ToResultsDatabaseItemL@CDiagResultsDbItemBuilder@@QBEPAVCDiagResultsDatabaseItem@@XZ @ 59 NONAME ; class CDiagResultsDatabaseItem * CDiagResultsDbItemBuilder::ToResultsDatabaseItemL(void) const
-	?Uid@CDiagPluginConstructionParam@@QBE?AVTUid@@XZ @ 60 NONAME ; class TUid CDiagPluginConstructionParam::Uid(void) const
-	?WasDependency@CDiagResultsDbItemBuilder@@QBEHXZ @ 61 NONAME ; int CDiagResultsDbItemBuilder::WasDependency(void) const
-
--- a/devicediagnosticsfw/diagframework/cenrep_files/clean_cenrep.bat	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-rem
-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:
-rem
-
-rd /s /q output
Binary file devicediagnosticsfw/diagframework/cenrep_files/keys_diagnosticsfw.xls has changed
--- a/devicediagnosticsfw/diagframework/cenrep_files/make_cenrep.bat	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-rem
-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:
-rem
-
-@set XLS_FILE=keys_diagnosticsfw.xls
-@set INI_FILE=2000B16B.txt
-@set RELEASE=3.2
-
-@set CENREP_DIR=%CD%
-@cd \epoc32\tools\cenrep
-
-cenrep.pl -o "%CENREP_DIR%\output" -l "%CENREP_DIR%\%XLS_FILE%" -p %RELEASE%
-copy "%CENREP_DIR%\output\inifiles\%INI_FILE%" \epoc32\RELEASE\winscw\udeb\Z\private\10202be9\
-copy "%CENREP_DIR%\output\inifiles\%INI_FILE%" \epoc32\RELEASE\winscw\udeb\Z\private\10202be9\
-copy "%CENREP_DIR%\output\inifiles\%INI_FILE%" \epoc32\RELEASE\winscw\urel\Z\private\10202be9\
-copy "%CENREP_DIR%\output\inifiles\%INI_FILE%" \epoc32\RELEASE\armv5\udeb\Z\private\10202be9\
-copy "%CENREP_DIR%\output\inifiles\%INI_FILE%" \epoc32\RELEASE\armv5\urel\Z\private\10202be9\
-copy "%CENREP_DIR%\output\inifiles\%INI_FILE%" \epoc32\data\Z\private\10202be9\
-@cd "%CENREP_DIR%"
-
-@echo ================= done. Hit any key to continue ==================
-@pause
-
Binary file devicediagnosticsfw/diagframework/cenrep_files/output/inifiles/2000B16B.txt has changed
Binary file devicediagnosticsfw/diagframework/cenrep_files/output/key_sheets_info.storable has changed
--- a/devicediagnosticsfw/diagframework/cenrep_files/output/rfs/cenrep_rfs.txt	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ÿþ
\ No newline at end of file
Binary file devicediagnosticsfw/diagframework/conf/diagnosticsfw.confml has changed
Binary file devicediagnosticsfw/diagframework/conf/diagnosticsfw_2000B16B.crml has changed
--- a/devicediagnosticsfw/diagframework/eabi/diagframework.def	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-EXPORTS
-	_ZN11CDiagEngine14SetCustomParamEPv @ 1 NONAME
-	_ZN11CDiagEngine20GetPluginDependencyLEv @ 2 NONAME
-	_ZN11CDiagEngine4NewLER13CAknViewAppUiR19MDiagEngineObserverR20RDiagResultsDatabaseR15CDiagPluginPool4TUid @ 3 NONAME
-	_ZN11CDiagEngine4NewLER13CAknViewAppUiR19MDiagEngineObserverR20RDiagResultsDatabaseR15CDiagPluginPooliRK6RArrayI4TUidE @ 4 NONAME
-	_ZN11CDiagEngine5NewLCER13CAknViewAppUiR19MDiagEngineObserverR20RDiagResultsDatabaseR15CDiagPluginPool4TUid @ 5 NONAME
-	_ZN11CDiagEngine5NewLCER13CAknViewAppUiR19MDiagEngineObserverR20RDiagResultsDatabaseR15CDiagPluginPooliRK6RArrayI4TUidE @ 6 NONAME
-	_ZN11CDiagEngine7ResumeLEv @ 7 NONAME
-	_ZN11CDiagEngine8ExecuteLEv @ 8 NONAME
-	_ZN11CDiagEngine8SuspendLEv @ 9 NONAME
-	_ZN11CDiagEngineD0Ev @ 10 NONAME
-	_ZN11CDiagEngineD1Ev @ 11 NONAME
-	_ZN11CDiagEngineD2Ev @ 12 NONAME
-	_ZN15CDiagPluginPool10LoadAsyncLE4TUid @ 13 NONAME
-	_ZN15CDiagPluginPool13CreatePluginLE4TUid @ 14 NONAME
-	_ZN15CDiagPluginPool18CancelLoadPluginsLEv @ 15 NONAME
-	_ZN15CDiagPluginPool4NewLER23MDiagPluginPoolObserver @ 16 NONAME
-	_ZN15CDiagPluginPool5NewLCER23MDiagPluginPoolObserver @ 17 NONAME
-	_ZN15CDiagPluginPoolD0Ev @ 18 NONAME
-	_ZN15CDiagPluginPoolD1Ev @ 19 NONAME
-	_ZN15CDiagPluginPoolD2Ev @ 20 NONAME
-	_ZN18TDiagTestExecParamC1ER17MDiagTestObserverR17MDiagEngineCommon @ 21 NONAME
-	_ZN18TDiagTestExecParamC2ER17MDiagTestObserverR17MDiagEngineCommon @ 22 NONAME
-	_ZN19CDiagLogEventEraser10EraseLogsLEv @ 23 NONAME
-	_ZN19CDiagLogEventEraser20StartAsyncEraseLogsLEv @ 24 NONAME
-	_ZN19CDiagLogEventEraser4NewLER27MDiagLogEventEraserObserverP10CLogFilter @ 25 NONAME
-	_ZN19CDiagLogEventEraser6FilterEv @ 26 NONAME
-	_ZN19CDiagLogEventEraser9LogClientEv @ 27 NONAME
-	_ZN19CDiagLogEventEraserD0Ev @ 28 NONAME
-	_ZN19CDiagLogEventEraserD1Ev @ 29 NONAME
-	_ZN19CDiagLogEventEraserD2Ev @ 30 NONAME
-	_ZN19TDiagSuiteExecParamC1ER18MDiagSuiteObserverR17MDiagEngineCommon @ 31 NONAME
-	_ZN19TDiagSuiteExecParamC2ER18MDiagSuiteObserverR17MDiagEngineCommon @ 32 NONAME
-	_ZN25CDiagResultsDbItemBuilder10SetTestUidE4TUid @ 33 NONAME
-	_ZN25CDiagResultsDbItemBuilder14SetTimeStartedE5TTime @ 34 NONAME
-	_ZN25CDiagResultsDbItemBuilder15SetResultDetailEP17MDiagResultDetail @ 35 NONAME
-	_ZN25CDiagResultsDbItemBuilder16SetTestCompletedEN24CDiagResultsDatabaseItem7TResultE @ 36 NONAME
-	_ZN25CDiagResultsDbItemBuilder16SetTimeCompletedE5TTime @ 37 NONAME
-	_ZN25CDiagResultsDbItemBuilder16SetWasDependencyEi @ 38 NONAME
-	_ZN25CDiagResultsDbItemBuilder19CreateSimpleDbItemLE4TUidiN24CDiagResultsDatabaseItem7TResultE @ 39 NONAME
-	_ZN25CDiagResultsDbItemBuilder4NewLE4TUidi @ 40 NONAME
-	_ZN25CDiagResultsDbItemBuilder5NewLCE4TUidi @ 41 NONAME
-	_ZN28CDiagNetworkRegStatusWatcher12StopObserverEv @ 42 NONAME
-	_ZN28CDiagNetworkRegStatusWatcher13StartObserverEv @ 43 NONAME
-	_ZN28CDiagNetworkRegStatusWatcher4NewLER29MDiagNetworkRegStatusObserver @ 44 NONAME
-	_ZN28CDiagNetworkRegStatusWatcherD0Ev @ 45 NONAME
-	_ZN28CDiagNetworkRegStatusWatcherD1Ev @ 46 NONAME
-	_ZN28CDiagNetworkRegStatusWatcherD2Ev @ 47 NONAME
-	_ZN28CDiagPluginConstructionParam4NewLEP7HBufC16P16CDesC16ArrayFlati4TUidS4_ @ 48 NONAME
-	_ZN28CDiagPluginConstructionParam5NewLCEP7HBufC16P16CDesC16ArrayFlati4TUidS4_ @ 49 NONAME
-	_ZN28CDiagPluginConstructionParamD0Ev @ 50 NONAME
-	_ZN28CDiagPluginConstructionParamD1Ev @ 51 NONAME
-	_ZN28CDiagPluginConstructionParamD2Ev @ 52 NONAME
-	_ZNK15CDiagPluginPool10FindPluginE4TUidRP11MDiagPlugin @ 53 NONAME
-	_ZNK15CDiagPluginPool10FindPluginERK7TDesC16RP11MDiagPlugin @ 54 NONAME
-	_ZNK15CDiagPluginPool11FindPluginLE4TUid @ 55 NONAME
-	_ZNK15CDiagPluginPool11FindPluginLERK7TDesC16 @ 56 NONAME
-	_ZNK18TDiagTestExecParam6EngineEv @ 57 NONAME
-	_ZNK18TDiagTestExecParam8ObserverEv @ 58 NONAME
-	_ZNK19TDiagSuiteExecParam6EngineEv @ 59 NONAME
-	_ZNK19TDiagSuiteExecParam8ObserverEv @ 60 NONAME
-	_ZNK25CDiagResultsDbItemBuilder10TestResultEv @ 61 NONAME
-	_ZNK25CDiagResultsDbItemBuilder11TimeStartedEv @ 62 NONAME
-	_ZNK25CDiagResultsDbItemBuilder12ResultDetailEv @ 63 NONAME
-	_ZNK25CDiagResultsDbItemBuilder13TimeCompletedEv @ 64 NONAME
-	_ZNK25CDiagResultsDbItemBuilder13WasDependencyEv @ 65 NONAME
-	_ZNK25CDiagResultsDbItemBuilder14GetCurrentTimeEv @ 66 NONAME
-	_ZNK25CDiagResultsDbItemBuilder22ToResultsDatabaseItemLEv @ 67 NONAME
-	_ZNK25CDiagResultsDbItemBuilder7TestUidEv @ 68 NONAME
-	_ZNK28CDiagPluginConstructionParam15ServiceProvidedEv @ 69 NONAME
-	_ZNK28CDiagPluginConstructionParam16ServicesRequiredEv @ 70 NONAME
-	_ZNK28CDiagPluginConstructionParam3UidEv @ 71 NONAME
-	_ZNK28CDiagPluginConstructionParam5OrderEv @ 72 NONAME
-	_ZNK28CDiagPluginConstructionParam9ParentUidEv @ 73 NONAME
-	_ZTI28CDiagNetworkRegStatusWatcher @ 74 NONAME ; #<TI>#
-	_ZTV28CDiagNetworkRegStatusWatcher @ 75 NONAME ; #<VT>#
-
--- a/devicediagnosticsfw/diagframework/group/bld.inf	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* 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 "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 Diagnostics Framework
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-
-PRJ_EXPORTS
-// Generic configuration interface for component cenrep settings  
-../conf/diagnosticsfw.confml                    MW_LAYER_CONFML(diagnosticsfw.confml)
-../conf/diagnosticsfw_2000B16B.crml	        MW_LAYER_CRML(diagnosticsfw_2000B16B.crml)
-
-PRJ_MMPFILES
-diagframework.mmp
-
--- a/devicediagnosticsfw/diagframework/group/diagframework.mmp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
-* 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 "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 specification for DiagFramework.dll
-*
-*/
-
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-TARGET      diagframework.dll
-TARGETTYPE  dll
-
-UID	        0x1000008d 0x2000afe8
-
-CAPABILITY  CAP_GENERAL_DLL
-VENDORID    VID_DEFAULT
-
-SOURCEPATH  ../src
-SOURCE      diagengine.cpp
-SOURCE   	diagengineimpl.cpp
-SOURCE      diagenginestatemachine.cpp
-SOURCE      diagpluginpool.cpp
-SOURCE 		diagpluginconstructionparam.cpp
-SOURCE      diagpluginexecplanimpl.cpp
-SOURCE      diagexecplanentryimpl.cpp
-SOURCE      diagexecplanentryimpltest.cpp
-SOURCE      diagexecplanentryimplsuite.cpp
-SOURCE      DiagTestExecParam.cpp
-SOURCE      diagsuiteexecparam.cpp
-SOURCE      diagrootsuite.cpp
-SOURCE      diagpluginpoolimpl.cpp
-SOURCE      diagpluginloaderdependencyparser.cpp
-SOURCE      diagresultsdbitembuilder.cpp
-SOURCE      diagenginecallhandler.cpp
-SOURCE      diagengineconfig.cpp
-// Events
-SOURCE      diagengineeventbasic.cpp
-SOURCE      diagengineeventtestprogress.cpp
-// Log Event Eraser
-SOURCE      diaglogeventeraser.cpp
-// Network registration status watcher
-SOURCE      diagnetworkregstatuswatcher.cpp
-USERINCLUDE ../inc
-
-// System Include Paths
-SYSTEMINCLUDE   /epoc32/include/ecom
-MW_LAYER_SYSTEMINCLUDE
-
-// This macro disables DRM API
-//#define DIAGFW_DISABLE_DRM_API
-
-LIBRARY euser.lib
-LIBRARY ecom.lib
-LIBRARY bafl.lib
-LIBRARY flogger.lib
-LIBRARY xmlframework.lib
-LIBRARY etel3rdparty.lib            // For CTelephony
-LIBRARY centralrepository.lib       // For CRepository
-LIBRARY diagresultsdatabase.lib
-LIBRARY logcli.lib                  // For Log Eraser
-LIBRARY efsrv.lib                   // For Log Eraser
-
-#if ( defined(WINSCW) || !defined(DIAGFW_DISABLE_DRM_API) )
-    LIBRARY drmserviceapi.lib       // DRM::CDrmServiceApi
-#else
-    MACRO __DIAGFW_DISABLE_DRM_API
-#endif
-
-#if defined(WINSCW)
-    deffile ../bwins/diagframework.def
-#else
-    deffile ../eabi/diagframework.def
-#endif
-
-nostrictdef 
--- a/devicediagnosticsfw/diagframework/group/diagframework_uid_.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-/*
-* 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: Implementation of diagnostics components
-*
-*/
-// Makmake-generated uid source file
-#include <e32cmn.h>
-#pragma data_seg(".SYMBIAN")
-__EMULATOR_IMAGE_HEADER2(0x10000079,0x1000008d,0x2000afe8,EPriorityForeground,0x000ffffeu,0x00000000u,0x2000afe8,0x101fb657,0x00010000,0)
-#pragma data_seg()
--- a/devicediagnosticsfw/diagframework/inc/diagappcommand.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* 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 "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:  List of commands that plug-ins can request from application.
-*
-*/
-
-
-#ifndef DIAGAPPCOMMAND_H
-#define DIAGAPPCOMMAND_H
-
-/**
-*  Diagnostics Application command types.
-*
-*  This is a list of command that plug-in can request from the application.
-* 
-*/
-enum TDiagAppCommand
-    {
-    /**
-    * EDiagAppCommandSwitchToMainView
-    *
-    * This command can be used by interactive view plug-in to notify the 
-    * application that plug-in is done with current view and application can
-    * switch to main view. View to switch to is determined by the application.
-    *
-    * aParam1:      No parameter is needed. Always pass NULL.
-    * aParam2:      No parameter is needed. Always pass NULL.
-    *
-    * @code
-    *   
-    *   ExecutionParam().Engine().ExecuteAppCommandL( 
-    *       EDiagAppCommandSwitchToMainView, 
-    *       NULL,
-    *       NULL );
-    *   
-    *   or
-    *   
-    *   TRAPD( err, ExecutionParam().Engine().ExecuteAppCommandL( 
-    *                   EDiagAppCommandSwitchToMainView, 
-    *                   NULL,
-    *                   NULL ) );
-    *   
-    */
-    EDiagAppCommandSwitchToMainView = 1
-    };
-
-#endif // DIAGAPPCOMMAND_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagcleanupresetanddestroy.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* 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 "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:  Provides ResetAndDestroy for RPointerArrays.
-*
-*/
-
-
-#ifndef DIAGCLEANUPRESETANDDESTROY_H
-#define DIAGCLEANUPRESETANDDESTROY_H
-
-// SYSTEM INCLUDES
-#include <e32def.h>                 // TAny
-
-// FORWARD DECLARATION
-template< class T >
-class RPointerArray;
-
-namespace DiagFwInternal
-    {
-
-    /**
-    * Cleanup function for RPointerArray or any other types with ResetAndDestroy()
-    *   @usage
-    *   RPointerArray< CDiagResultsDatabaseItem > myArray;
-    *   CleanupStack::PushL( TCleanupItem( 
-    *       DiagFwInternal::CleanupResetAndDestroy< RPointerArray< CDiagResultsDatabaseItem > >,
-    *       &myArray ) );
-    *    
-    *   ...
-    *
-    *   CleanupStack::PopAndDestroy( &myArray );
-    */
-    template< class T >
-    inline void CleanupResetAndDestroy( TAny* aObj );
-
-    /**
-    * Push a RPointerArray of templated type to cleanup stack
-    *   @usage
-    *   RPointerArray< CDiagResultsDatabaseItem > myArray;
-    *   DiagFwInternal::CleanupRPointerArrayPushL< CDiagResultsDatabaseItem >( &myArray );
-    *
-    *   ...
-    *   
-    *   CleanupStack::PopAndDestroy( &myArray );
-    */
-    template< class T >
-    inline void CleanupRPointerArrayPushL( RPointerArray< T >* aObj );
-
-    }
-
-// Inline methods
-#include "diagcleanupresetanddestroy.inl"
-
-#endif // DIAGCLEANUPRESETANDDESTROY_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagcleanupresetanddestroy.inl	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* 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 "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:  Function Definition of CleanupResetAndDestroy
-*
-*/
-
-
-// CLASS DECLARATION
-
-// SYSTEM INCLUDE FILES
-#include <e32base.h>                // CleanupStack
-
-// USER INCLUDE FILES
-
-namespace DiagFwInternal
-    {
-
-    template< class T >
-    inline void CleanupResetAndDestroy( TAny* aObj )
-        {
-        if ( aObj )
-            {
-            static_cast< T* >( aObj )->ResetAndDestroy();
-            }
-        }
-
-    template< class T >
-    inline void CleanupRPointerArrayPushL( RPointerArray< T >* aObj )
-        {
-        if ( aObj )
-            {
-            CleanupStack::PushL( TCleanupItem(
-                CleanupResetAndDestroy< RPointerArray< T > >,
-                aObj ) );
-            }
-        }
-    }
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagcommondialog.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-/*
-* 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 "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:  List of common dialog types
-*
-*/
-
-
-#ifndef DIAGCOMMONDIALOG_H
-#define DIAGCOMMONDIALOG_H
-
-
-/**
-*  Diagnostics Common Dialog Types
-*
-*  This is a list of common dialogs that can be used by plug-ins.
-* 
-*/
-enum TDiagCommonDialog
-    {
-    /**
-    * EDiagCommonDialogConfirmCancelAll
-    * Dialog that asks the user if all tests should be cancelled or not.
-    *
-    * aInitData:       No init data needed.  Always pass NULL.
-    * Return:          Standard dialog.  Use CAknDialog.
-    * Execution:       Call RunLD().
-    * RunLD() returns: - EAknSoftkeyYes, if the user confirmed the request to
-    *                    cancel all test execution.  Plugins should not do
-    *                    any further execution and should return immediately.
-    *                  - EAknSoftkeyNo, if the user dismissed the dialog and
-    *                    decided not to cancel all test execution.
-    *                  - 0, if the dialog is forced closed.  Generally,
-    *                    plugins should not distinguish between EAknSoftkeyNo
-    *                    and 0 (i.e., they should *only* check for
-    *                    EAknSoftkeyYes), unless there is good reason to.
-    *
-    * @code
-    *
-    *    CAknDialog* dlg = ExecutionParam().Engine().CreateCommonDialogLC(
-    *        EDiagCommonDialogConfirmCancelAll,
-    *        NULL );
-    *
-    *    TInt result = 0;
-    *    if ( !RunWaitingDialogL( dlg, result ) ||
-    *         result == EAknSoftkeyYes )
-    *        {
-    *        // Do not continue executing.  Either the dialog has been deleted
-    *        // or the user has cancelled all execution.
-    *        return;
-    *        }
-    *
-    *    dlg = NULL;
-    *
-    *    // Loop and display the plugin query again.
-    *    askAgain = ETrue;
-    *
-    */
-    EDiagCommonDialogConfirmCancelAll = 1,
-    EDiagCommonDialogConfirmSkipAll =2
-    };
-
-#endif // DIAGCOMMONDIALOG_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagengine.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,297 +0,0 @@
-/*
-* 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 "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:  Class declaration for CDiagEngine
-*
-*/
-
-
-#ifndef DIAGENGINE_H
-#define DIAGENGINE_H
-
-
-// system includes
-#include <e32base.h>                // CBase
-
-// user includes.
-#include <DiagEngineCommon.h>       // MDiagEngineCommon
-
-// Forward declarations
-class MDiagEngineObserver;
-class RDiagResultsDatabase;
-class CDiagPluginPool;
-class CDiagEngineImpl;
-
-
-/**
-*  Diagnostics Framework Engine 
-*
-*  This class is used by the client to execute tests and load plug-ins.
-*
-*  @since S60 v5.0
-*/
-NONSHARABLE_CLASS( CDiagEngine ) : public CBase,
-                                   public MDiagEngineCommon
-    {
-public:
-
-    /**
-    * Two-phased constructors. 
-    *
-    * @param aViewAppUi    View App Ui that is using this engine.
-    * @param aObserver     Engine observer.
-    * @param aDbSession    Session to RDiagResultDatabase to create record.
-    * @param aPluginPool   Initialized plug-in pool that holds plug-ins.
-    * @param aDisableDependency    if ETrue, plug-ins should execute
-    *                      event if dependencies are not met.
-    * @param aExecutionBatch array of plug-ins to execute.
-    * @return New instance of CDiagEngine*.
-    */
-    IMPORT_C static CDiagEngine* NewL( CAknViewAppUi&          aViewAppUi, 
-                                       MDiagEngineObserver&    aObserver,
-                                       RDiagResultsDatabase&   aDbSession,
-                                       CDiagPluginPool&        aPluginPool,
-                                       TBool                   aDisableDependency,
-                                       const RArray< TUid >&   aExecutionBatch );
-
-    /**
-    * Two-phased constructors. This is identical to NewL, except that it will 
-    * keep newl instance in clean up stack.
-    *
-    * @param aViewAppUi    View App Ui that is using this engine.
-    * @param aObserver     Engine observer.
-    * @param aDbSession    Session to RDiagResultDatabase to create record.
-    * @param aPluginPool   Initialized plug-in pool that holds plug-ins.
-    * @param aDisableDependency    if ETrue, plug-ins should execute
-    *                      event if dependencies are not met.
-    * @param aExecutionBatch array of plug-ins to execute.
-    * @return New instance of CDiagEngine*.
-    */
-    IMPORT_C static CDiagEngine* NewLC( CAknViewAppUi&          aViewAppUi, 
-                                        MDiagEngineObserver&    aObserver,
-                                        RDiagResultsDatabase&   aDbSession,
-                                        CDiagPluginPool&        aPluginPool,
-                                        TBool                   aDisableDependency,
-                                        const RArray< TUid >&   aExecutionBatch );
-    /**
-    * Two-phased constructors. 
-    *
-    * @param aViewAppUi    View App Ui that is using this engine.
-    * @param aObserver     Engine observer.
-    * @param aDbSession    Session to RDiagResultDatabase to create record.
-    * @param aPluginPool   Initialized plug-in pool that holds plug-ins.
-    * @param aIncompleteRecordUid - Uid to the record to resume.
-    *   
-    * @return New instance of CDiagEngine*.
-    */
-    IMPORT_C static CDiagEngine* NewL( CAknViewAppUi&          aViewAppUi, 
-                                       MDiagEngineObserver&    aObserver,
-                                       RDiagResultsDatabase&   aDbSession,
-                                       CDiagPluginPool&        aPluginPool,
-                                       TUid                    aIncompleteRecordUid );
-
-    /**
-    * Two-phased constructors. This is identical to NewL, except that it will 
-    * keep newl instance in clean up stack.
-    *
-    * @param aViewAppUi    View App Ui that is using this engine.
-    * @param aObserver     Engine observer.
-    * @param aDbSession    Session to RDiagResultDatabase to create record.
-    * @param aPluginPool   Initialized plug-in pool that holds plug-ins.
-    * @param aIncompleteRecordUid - Uid to the record to resume.
-    *
-    * @return New instance of CDiagEngine*.
-    */
-    IMPORT_C static CDiagEngine* NewLC( CAknViewAppUi&          aViewAppUi, 
-                                        MDiagEngineObserver&    aObserver,
-                                        RDiagResultsDatabase&   aDbSession,
-                                        CDiagPluginPool&        aPluginPool,
-                                        TUid                    aIncompleteRecordUid );
-    
-    /**
-    * Destructor.
-    */
-    virtual ~CDiagEngine();
-
-    /**
-    * Execute tests. This is a asynchronous method. 
-    * First, execution plan is sent via MDiagEngineObserver::TestExecutionBeginL(). 
-    * Then, during the execution, MDiagEngineObserver::TestExecutionProgressL() 
-    * may be called multiple times to notify execution progress.  
-    * When execution is completed, 
-    * MDiagEngineObserver::TestExecutionCompletedL() is called.
-    */
-    IMPORT_C void ExecuteL();
-
-    /**
-    * Set custom execution parameter.
-    *
-    * @param aCustomParams - Custom data. Owership is not transefrred
-    *   so, the client must delete it once test is completed.
-    *   Desipte it being a pointer, ownership cannot be transferred 
-    *   because engine does not know the type of pointer. 
-    */
-    IMPORT_C void SetCustomParam( TAny* aCustomParams );
-
-    /**
-    * Suspend execution.  This can be used to suspend test execution.
-    * If currently executing test is suspendable, it will be suspended and resumed.
-    * Otherwise, it will be stopped. When CDiagEngine::ResumeL is called, 
-    * the stopped test will be restarted from the beginning. Already executed
-    * tests are not affected. 
-    * 
-    * After engine is suspended, MDiagEngineObserver::TestExecutionSuspendedL() is called.
-    *
-    */
-    IMPORT_C void SuspendL();
-
-    /**
-    * Resume suspended execution. This function can be used to resume 
-    * previously suspended execution. If execution was suspended on a test
-    * that cannot be suspended, the test will restart. Previously executed tests
-    * will not be re-run. Also, dependent tests will not be re-run.  If 
-    * the suspended test fails to resume (e.g. leaves), it will be marked as
-    * failure.
-    *
-    * After engine is resumed, MDiagEngineObserver::TestExecutionResumedL() is called.
-    */
-    IMPORT_C void ResumeL();
-    
-    
-    // ADO & Platformization Changes
-    ///@@@KSR: changes for Codescanner error val = High
-    //IMPORT_C TBool GetPluginDependency();
-    IMPORT_C TBool GetPluginDependencyL();
-
-public: // from MDiagEngineCommon
-
-    /**
-    * Returns current execution plan.
-    * @see MDiagEngineCommon::ExecutionPlanL
-    */
-    virtual const MDiagPluginExecPlan& ExecutionPlanL() const;
-
-    /**
-    * Stop current execution of tests.
-    * @see MDiagEngineCommon::ExecutionStopL
-    */
-    virtual void ExecutionStopL( TCancelMode aCancelMode );
-    
-    /**
-    * Resets test execution watchdog timer.
-    * @see MDiagEngineCommon::ResetWatchdog
-    */
-    virtual void ResetWatchdog();
-    
-    /**
-    * Resets test execution watchdog timer.
-    * @see MDiagEngineCommon::ResetWatchdog
-    */
-    virtual void ResetWatchdog( TDiagEngineWatchdogTypes aWatchdogType );
-    
-    /**
-    * Resets test execution watchdog timer.
-    * @see MDiagEngineCommon::ResetWatchdog
-    */
-    virtual void ResetWatchdog( TTimeIntervalMicroSeconds32 aExpectedTimeToComplete );
-
-    /**
-    * Get App Ui reference that launched Diagnostics Engine.
-    * @see MDiagEngineCommon::ViewAppUi
-    */
-    virtual CAknViewAppUi& ViewAppUi();
-
-    /**
-    * Get App Ui reference that launched Diagnostics Engine.
-    * @see MDiagEngineCommon::ViewAppUi
-    */
-    virtual const CAknViewAppUi& ViewAppUi() const;
-
-    /**
-    * Get Database Subsession for record open for writing.
-    * @see MDiagEngineCommon::DbRecord
-    */
-    virtual RDiagResultsDatabaseRecord& DbRecord();
-
-    /**
-    * Get Database Subsession for record open for writing.
-    * @see MDiagEngineCommon::DbRecord
-    */
-    virtual const RDiagResultsDatabaseRecord& DbRecord() const;
-
-    /**
-    * Get reference to Plugin Pool
-    * @see MDiagEngineCommon::PluginPool
-    */
-    virtual CDiagPluginPool& PluginPool();
-
-    /**
-    * Get reference to Plugin Pool
-    * @see MDiagEngineCommon::PluginPool
-    */
-    virtual const CDiagPluginPool& PluginPool() const;
-
-    /**
-    * Add a text to configuraiton list option. 
-    * @see MDiagEngineCommon::AddToConfigListL
-    */
-    virtual void AddToConfigListL( TConfigListType aListType, const TDesC& aText );
-
-    /**
-    * Remove a text from configuration list.
-    * @see MDiagEngineCommon::RemoveFromConfigListL
-    */
-    virtual void RemoveFromConfigListL( TConfigListType aListType, const TDesC& aText );
-
-    /**
-    * Create a common dialog.
-    * @see MDiagEngineCommon::CreateCommonDialogL
-    */
-    virtual CAknDialog* CreateCommonDialogLC( TDiagCommonDialog aDialogType,
-                                              TAny* aInitData );
-
-    /**
-    * Stop watchdog activity temporarily.
-    * @see MDiagEngineCommon::StopWatchdogTemporarily
-    */
-    virtual void StopWatchdogTemporarily();
-
-    /**
-    * Check if current engine is being executed with dependency disabled.
-    *  @see MDiagEngineCommon::IsDependencyDisabled
-    */
-    virtual TBool IsDependencyDisabled() const;
-
-    /**
-    * Get custom param
-    *  @see MDiagEngineCommon::CustomParam
-    */
-    virtual TAny* CustomParam() const;
-
-    /**
-    * Execute an application command. 
-    *   @see MDiagEngineCommon::ExecuteAppCommandL
-    */
-    virtual void ExecuteAppCommandL( TDiagAppCommand aCommand, 
-                                     TAny* aParam1,
-                                     TAny* aParam2 );
-
-private:    // private data
-    CDiagEngineImpl* iEngineImpl;
-    };
-
-
-#endif // DIAGENGINE_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagenginecallhandler.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,186 +0,0 @@
-/*
-* 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 "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:  Class declaration for DiagFwInternal::TEvent
-*
-*/
-
-
-#ifndef DIAGENGINECALLHANDLER_H
-#define DIAGENGINECALLHANDLER_H
-
-// SYSTEM INCLUDES
-#include <etel3rdparty.h>       // CTelephony and its T classes
-#include <badesca.h>            // CDesCArrayFlat - needed since its a typedef
-
-// USER INCLUDES
-#include "diagenginecallhandlerstates.h"    // TDiagEngineCallHandlerState
-
-// FORWARD DECLARATION
-class MDiagEngineCallHandlerObserver;
-
-
-/**
-*  Call Handler.
-*  
-*   This component is responsible for checking both MO and MT voice calls.
-*   If new calls are made, this component will let the observer know that
-*   call status has changed.
-*
-*   It also maintains a list of acceptable phone numbers that can be ignored.
-*   The list can be changed dynamically.
-*   
-*  @since S60 v5.0
-*/
-NONSHARABLE_CLASS( CDiagEngineCallHandler ) : public CActive
-    {
-public:
-    /**
-    * Two-phased constructor
-    * 
-    * @param aObserver - Reference to object interested in voice call events.
-    * @return New instance of CDiagEngineCallHandler
-    */
-    static CDiagEngineCallHandler* NewL( MDiagEngineCallHandlerObserver& aObserver );
-
-    /**
-    * C++ Destructor
-    * 
-    */
-    virtual ~CDiagEngineCallHandler();
-
-    /**
-    * Add a new phone number to a ignore list. If a new call is made, and
-    * it is in the ignore list, state chaneg will not occur.
-    *
-    * Note that if the number specified is already in-call, adding the 
-    * numebr will not cause the state to be changed. Only new calls
-    * are watched.
-    * 
-    * @param aNumber - Phone number to ignore
-    */
-    void AddIgnoreNumberL( const TDesC& aNumber );
-
-    /**
-    * Remove a number from the ignore list. Number must match exactly to
-    * be successful. If entry is not found, this function will leave
-    * vith KErrNotFound.
-    *
-    * Note that if the number specified is already in call, removing 
-    * the number will not generate state change event. Only new
-    * calls are handled.
-    * 
-    * @param aNumber - Phone number to ignore
-    */
-    void RemoveIgnoreNumberL( const TDesC& aNumber );
-
-    /**
-    * Returns current call handler state.
-    *
-    * @return Current call handler state.
-    */
-    TDiagEngineCallHandlerState CurrentState() const;
-
-private:    // from CActive
-    /**
-    * @see CActive::RunL()
-    */
-    virtual void RunL();
-
-    /**
-    * @see CActive::DoCancel()
-    */
-    virtual void DoCancel();
-
-private:    // private functions
-    /**
-    * C++ Constructor
-    *
-    * @param aObserver - reference to observer.
-    */
-    CDiagEngineCallHandler( MDiagEngineCallHandlerObserver& aObserver );
-
-    /**
-    * Second phase constructor.
-    *
-    */
-    void ConstructL();
-
-    /**
-    * Request from the telephony to receive phone status change indication.
-    * This function must be called every time status update happens in
-    * order to continue to receive new state change.
-    *
-    */
-    void RequestNotify();
-
-    /**
-    * Handle CTelephony::EStatusIdle case.
-    *
-    * @return ETrue if state is changed, and observer should be notified.
-    */
-    TBool HandleIdle();
-
-    /**
-    * Handle CTelephony::EStatusDialling and CTelephony::EStatusRinning case.
-    *
-    * @return ETrue if state is changed, and observer should be notified.
-    */
-    TBool HandleCall();
-
-    /**
-    * Debugging function that logs a human readable text of current 
-    * call status.
-    *
-    * This function does not do anything in DEBUG builds.
-    */
-    void LogCallStatus() const;
-
-private:
-    /**
-    * iObserver - Observers call handle status.
-    */
-    MDiagEngineCallHandlerObserver& iObserver;          
-
-    /**
-    * iTelephony - Used to receive call status changed indication.
-    * Owns.
-    */
-    CTelephony* iTelephony;
-
-    /**
-    * iCallStatus - This is where call status data is updated.
-    */
-    CTelephony::TCallStatusV1 iCallStatus;
-
-    /**
-    * iCallStatusPckg - packaged version of iCallStatus
-    */
-    CTelephony::TCallStatusV1Pckg iCallStatusPckg;
-
-    /**
-    * iCallIgnoreList - List of numbers to ignore.
-    * Owns.
-    */
-    CDesCArrayFlat* iCallIgnoreList;    
-
-    /**
-    * iState - internal state.
-    */
-    TDiagEngineCallHandlerState iState;
-    };
-
-#endif // DIAGENGINECALLHANDLER_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagenginecallhandlerobserver.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* 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 "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:  Class declaration for MDiagEngineCallHandlerObserver
-*
-*/
-
-
-#ifndef DIAGENGINECALLHANDLEROBSERVER_H
-#define DIAGENGINECALLHANDLEROBSERVER_H
-
-#include "diagenginecallhandlerstates.h"    // TDiagEngineCallHandlerState
-
-class MDiagEngineCallHandlerObserver
-    {
-public:
-    /**
-    * Notify call state change
-    * @param aState - EDiagEngineCallHandlerStateIdle if not in call.
-    *                 EDiagEngineCallHandlerStateBusy if in call.
-    */
-    virtual void CallHandlerStateChangedL( TDiagEngineCallHandlerState aState ) = 0;
-    };
-
-#endif // DIAGENGINECALLHANDLEROBSERVER_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagenginecallhandlerstates.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* 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 "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:  Class declaration for TDiagEngineCallHandlerState
-*
-*/
-
-
-#ifndef DIAGENGINECALLHANDLERSTATES_H
-#define DIAGENGINECALLHANDLERSTATES_H
-
-enum TDiagEngineCallHandlerState
-    {
-    EDiagEngineCallHandlerStateIdle = 0,    // in idle state.
-    EDiagEngineCallHandlerStateBusy         // call is active.
-    };
-
-#endif // DIAGENGINECALLHANDLERSTATES_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagenginecommon.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,247 +0,0 @@
-/*
-* 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 "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 interface to use engine
-*
-*/
-
-
-#ifndef DIAGENGINECOMMON_H
-#define DIAGENGINECOMMON_H
-
-// SYSTEM INCLUDES
-#include <e32std.h>                     // TDesC, TTimeIntervalMicroSeconds32
-#include <DiagCommonDialog.h>           // TDiagCommonDialog
-#include <DiagAppCommand.h>             // TDiagAppCommand
-#include <DiagEngineWatchdogTypes.h>    // TDiagEngineWatchdogTypes
-
-// FORWARD DECLARATION
-class MDiagPluginExecPlan;
-class MDiagPlugin;
-class CAknViewAppUi;
-class RDiagResultsDatabaseRecord;
-class CDiagPluginPool;
-class CAknDialog;
-
-/**
-*  Diagnostics Framework Engine Common Interface
-*
-*  This interface is provided for Test plug-ins, Suite plug-ins and
-*  any other clients of CDiagEngine.
-*
-*  @since S60 v5.0
-*/
-class MDiagEngineCommon
-    {
-public: // Data Structures
-    
-    /** 
-    * Possible cancellation mode.
-    */
-    enum TCancelMode
-        {
-        ESkip,        // Cancel current test only. Continue rest.
-        ECancelAll      // Cancel current test and skip rest of execution.
-        };
-
-    /**
-    *  Text List based config options
-    */
-    enum TConfigListType
-        { 
-        /**
-        * EConfigListCallIngore - List of phone numbers to ignore. 
-        *   If a phone number is added to this list, engine will ignore the number
-        *   a new MO/MT call is created by the phone, and will not suspend
-        *   the engine execution when new call is made.
-        */
-        EConfigListCallIngore = 0
-        };
-
-public: // public methods
-
-    /**
-    * Returns current execution plan.
-    * If test is not being executed, it will leave with KErrNotReady.
-    *
-    * @return Reference to current execution plan.
-    */
-    virtual const MDiagPluginExecPlan& ExecutionPlanL() const = 0;
-
-    /**
-    * Stop current execution of tests.
-    * If test is not being executed, it will leave with KErrNotReady.
-    *
-    * @param aCancelMode   ESkip       - Skip current test only. Rest will continue.
-    *                      ECancelAll  - Cancels current test and skips the rest of
-    *                                  execution.
-    */
-    virtual void ExecutionStopL( TCancelMode aCancelMode ) = 0;
-
-    /**
-    * Resets test execution watchdog timer.  It will use the last given watchdog
-    * timer value for currently executing plug-in.
-    */
-    virtual void ResetWatchdog() = 0;
-
-    /**
-    * Resets test execution watchdog timer.  
-    *   Watchog timer value will be determined by the type of watchdog requested.
-    *   Given value is valid until next plug-in is executed, or another
-    *   ResetWachdogL() or TestProgressL() is called.
-    *
-    * @param aWatchdogType Type of watchdog timer vaule to use.
-    *   @see TDiagEngineWatchdogTypes
-    */
-    virtual void ResetWatchdog( TDiagEngineWatchdogTypes aWatchdogType ) = 0;
-
-    /**
-    * Resets test execution watchdog timer.  
-    *   Engine will allow specified amount of time. 
-    *   Given value is valid until next plug-in is executed, or another
-    *   ResetWachdogL() or TestProgressL() is called.
-    * 
-    * @param aTimeToWait - Amount of time to wait before watchdog is expired.
-    */
-    virtual void ResetWatchdog( TTimeIntervalMicroSeconds32 aExpectedTimeToComplete ) = 0;
-
-    /**
-    * Get App Ui reference that launched Diagnostics Engine.
-    * AppUi reference can be used for tests that requires AppUi for view switching.
-    * 
-    * @return Reference to CAknViewAppUi
-    */
-    virtual CAknViewAppUi& ViewAppUi() = 0;
-
-    /**
-    * Get App Ui reference that launched Diagnostics Engine.
-    * AppUi reference can be used for tests that requires AppUi for view switching.
-    * 
-    * @return Reference to CAknViewAppUi
-    */
-    virtual const CAknViewAppUi& ViewAppUi() const = 0;
-
-    /**
-    * Get Database Subsession for record open for writing.
-    * 
-    * @return Reference to RDiagResultsDatabaseRecord
-    */
-    virtual RDiagResultsDatabaseRecord& DbRecord() = 0;
-
-    /**
-    * Get Database Subsession for record open for writing.
-    * 
-    * @return Reference to RDiagResultsDatabaseRecord
-    */
-    virtual const RDiagResultsDatabaseRecord& DbRecord() const = 0;
-
-    /**
-    * Get reference to Plugin Pool
-    * 
-    * @return Reference to CDiagPluginPool
-    */
-    virtual CDiagPluginPool& PluginPool() = 0;
-
-    /**
-    * Get reference to Plugin Pool
-    * 
-    * @return Reference to CDiagPluginPool
-    */
-    virtual const CDiagPluginPool& PluginPool() const = 0;
-
-    /**
-    * Add a text to configuraiton list option. 
-    * 
-    * @param aListType - List type to add the configuration option to. 
-    *   @see TConfigListType
-    * @param aText - text to add to the list
-    */
-    virtual void AddToConfigListL( TConfigListType aListType, const TDesC& aText ) = 0;
-
-    /**
-    * Remove a text from configuration list.
-    * If configuration item text does not exist in the list, this function will 
-    * leave with KErrNotFound.
-    * 
-    * @param aListType - List type to remove the item from. 
-    *   @see TConfigListType
-    * @param aText - text for the option
-    */
-    virtual void RemoveFromConfigListL( TConfigListType aListType, const TDesC& aText ) = 0;
-
-    /**
-    * Create a common dialog.
-    * Plug-ins can use this factory method to create a common dialog.
-    * For available dialog types, @see DiagCommonDialog.h
-    * 
-    * @param aDialogType - Type of dialog to create.
-    * @param aInitData - Initialization parameter. Ownership is passed to engine.
-    * @return a pointer to newly created dialog. Ownership is passed to caller.
-    */
-    virtual CAknDialog* CreateCommonDialogLC( TDiagCommonDialog aDialogType,
-                                              TAny* aInitData ) = 0;
-
-    /**
-    * Stop watchdog activity temporarily. Watchdog will stay inactive until:
-    *   a ) TestProgressL() is called.
-    *   b ) ResetWatchdogL() is called.
-    *   c ) Plug-in is cancelled and the next plug-in starts to execute.
-    */
-    virtual void StopWatchdogTemporarily() = 0;
-
-    /**
-    * Check if current engine is being executed with dependency disabled.
-    *   @return TBool - ETrue if dependency is disabled.
-    *                   EFalse if depencenty is enabled.
-    */
-    virtual TBool IsDependencyDisabled() const = 0;
-
-    /**
-    * Get custom parameter passed during engine creation.
-    *   @return TAny* Custom parameter.  Ownership is not transferred.
-    */
-    virtual TAny* CustomParam() const = 0;
-
-    /**
-    * Send a command to application to execute.. This can be used by the plug-in to
-    * request certain behavior from application. For more information about
-    * types of commands possible, @see TDiagAppCommand.
-    * If the command is not supported by the application, this function will 
-    * leave with error code KErrNotSupported.
-    *
-    * Memory Ownership of Parameters.
-    *   Note that in general, parameters should be owned by the caller. This is 
-    *   because if a particular operation is not supported, application 
-    *   will not know how to deallocate the parameter, causing memory leak.
-    *   
-    *   In cases where ownership must be passed, caller must check if
-    *   ExecuteAppCommandL() leaves KErrNotSupported and deallocate
-    *   parameters.
-    *
-    * @param aCommand - Type of command to execute. @see TDiagAppCommand
-    * @param aParam1 - Data for the command. Value of this parameter depends
-    *   on the type of command. Ownership not transferred. @see TDiagAppCommand
-    * @param aParam2 - Data for the command. Value of this parameter depends
-    *   on the type of command. Ownership not transferred. @see TDiagAppCommand
-    *   
-    */
-    virtual void ExecuteAppCommandL( TDiagAppCommand aCommand, 
-                                     TAny* aParam1,
-                                     TAny* aParam2 ) = 0;
-    };
-
-
-#endif // DIAGENGINECOMMON_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagengineconfig.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +0,0 @@
-/*
-* 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 "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:  Class declaration for TDiagEngineConfig
-*
-*/
-
-
-#ifndef DIAGENGINECONFIG_H
-#define DIAGENGINECONFIG_H
-
-// SYSTEM INCLUDE FILES
-#include <e32base.h>                // NONSHARABLE_CLASS
-
-// FORWARD DECLARATIONS
-class CRepository;
-
-/**
-* Diagnostics Engine Configuration.
-*
-* This class implements TDiagEngineConfig class. This class stores configuration
-* information.
-*
-* @since S60 v5.0
-*
-*/
-NONSHARABLE_CLASS( TDiagEngineConfig )
-    {
-public:     // public interface
-    /**
-    * C++ default contructor
-    */
-    TDiagEngineConfig();
-
-    /**
-    * Read Cenrep key vaules
-    */
-    void ReadCenrepKeysL();
-
-    /**
-    * Get watchdog timeout vaule for interactive plug-ins.
-    * 
-    * @return Watchdog timeout value for interactive plug-ins. 
-    */
-    const TTimeIntervalMicroSeconds32& WatchdogTimeoutValueInteractive() const;
-
-    /**
-    * Get watchdog timeout vaule for automatic plug-ins.
-    * 
-    * @return Watchdog timeout value for automatic plug-ins. 
-    */
-    const TTimeIntervalMicroSeconds32& WatchdogTimeoutValueAutomatic() const;
-
-    /**
-    * Get test plug-in initial delay vaule.
-    * 
-    * @return Initial test plug-in delay vaule.
-    *   Unit is in micro seconds
-    */
-    const TTimeIntervalMicroSeconds32& TestPluginInitialDelay() const;
-
-    /**
-    * Set whether engine is configured to disable dependency checks.
-    *
-    * @param aDisableDependency - ETrue to change configuration to disable
-    *   dependency. EFalse to change configuration to enable dependency.
-    */
-    void SetDependencyDisabled( TBool aDisableDependency );
-
-    /**
-    * Get disable depndency value.
-    *
-    * @return - ETrue if dependency is disabled.
-    *   EFalse if dependency is enabled.
-    */
-    TBool IsDependencyDisabled() const;
-
-private:    // private methods
-    /**
-    * Read TTimeIntervalMicroSeconds32 value from cenrep.
-    *   
-    * @param aCenrep - Reference to Cenrep object to read timeout value from.
-    * @param aKey - Cenrep key to read.
-    * @param aValue - If successful, this variable will be updated with
-    *   the value from cenrep.
-    */
-    void ReadTimeIntervalFromCenrepL( CRepository& aCenrep,
-                                      TUint32 aKey,
-                                      TTimeIntervalMicroSeconds32& aValue );
-
-private:    // private data
-    /**
-    * iCenRepWatchdogTimeout - Watchdog timer value for Interactive steps.
-    *   Unit is in microseconds.
-    */
-    TTimeIntervalMicroSeconds32 iCenRepWatchdogTimeoutInteractive;
-    
-    /**
-    * iCenRepWatchdogTimeout - Watchdog timer value for automatic steps.
-    *   Unit is in microseconds.
-    */
-    TTimeIntervalMicroSeconds32 iCenRepWatchdogTimeoutAutomatic;
-
-    /**
-    * iCenRepInitDelay - Initial delay for test plug-ins.
-    *   Unit is in microseconds.
-    */
-    TTimeIntervalMicroSeconds32 iCenRepInitDelay;
-
-    /**
-    * iDisableDependency - If Enabled, dependency will not be executed.
-    * From constructor input.
-    */
-    TBool iDisableDependency;
-
-    };
-
-#endif // DIAGENGINECONFIG_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagengineeventbasic.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
-* 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 "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:  Class declaration for DiagFwInternal::TEvent
-*
-*/
-
-
-#ifndef DIAGENGINEEVENTBASIC_H
-#define DIAGENGINEEVENTBASIC_H
-
-// SYSTEM INCLUDES
-#include <e32base.h>            // CBase
-
-// USER INCLUDES
-#include "diagengineevents.h"
-
-namespace DiagFwInternal
-    {
-/**
-* CEventBasic
-*
-* Basic event with just event ID.
-*/
-NONSHARABLE_CLASS( CEventBasic ) : public CBase
-    {
-public:
-    /**
-    * C++ Constructor
-    * 
-    * @param aType - Type of event.
-    * @see DiagFwInternal::TEvent
-    */
-    CEventBasic( TEvent aType );
-
-    /**
-    * Get Type
-    * 
-    * @see DiagFwInternal::TEvent
-    * @return Type of event.
-    */
-    TEvent GetType() const;
-
-    /**
-    * Get name of the event
-    * 
-    * @return Name of the event
-    */
-    const TDesC& ToString() const;
-
-private:    // private data
-    /**
-    * iType - event type.
-    * @see DiagFwInternal::TEvent
-    */
-    TEvent iType;
-    };    
-    } // namespace DiagFwInternal
-
-#endif // ifndef DIAGENGINEEVENTBASIC_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagengineevents.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* 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 "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:  Class declaration for DiagFwInternal::TEvent
-*
-*/
-
-
-#ifndef DIAGENGINEEVENTS_H
-#define DIAGENGINEEVENTS_H
-
-// SYSTEM INCLUDES
-#include <DiagResultsDatabaseItem.h>    // CDiagResultsDatabaseItem
-#include <DiagEngineCommon.h>           // MDiagEngineCommon
-
-class MDiagPlugin;
-class MDiagTestPlugin;
-class MDiagSuitePlugin;
-
-namespace DiagFwInternal
-    {
-typedef enum
-    {
-    EEventExecute,              // ::ExecuteTestL() is called.
-    EEventPlanCreated,          // Execution plan is created.
-    EEventExecuteNext,          // Execute next item in plan.
-    EEventTestProgress,         // ::TestProgressL is called.
-    EEventAllPluginsCompleted,  // All plug-ins are completed.
-    EEventResumeToRunning,      // Resume to Runinng state from suspend
-    EEventResumeToCreatingPlan, // Resume to Creating plan from suspend
-    EEventSkip,                 // ::ExecutionStopL w/ Skip called
-    EEventCancelAll,            // ::ExecutionStopL w/ CancelAll called
-    EEventSuspend,              // ::SuspendL called.
-    EEventVoiceCallActive,      // MO / MT call
-    EEventFinalized             // db record and plug-ins are finalized.
-    } TEvent;
-    } // end of namespace DiagFwInternal
-
-#endif // DIAGENGINEEVENTS_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagengineeventtestprogress.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-/*
-* 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 "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:  Class declaration for DiagFwInternal::CEventTestProgress
-*
-*/
-
-
-#ifndef DIAGENGINEEVENTTESTPROGRESS_H
-#define DIAGENGINEEVENTTESTPROGRESS_H
-
-// SYSTEM INCLUDES
-#include <e32base.h>            // CBase
-
-// USER INCLUDES
-#include "diagengineevents.h"       // DiagFwInternal::TEvent
-#include "diagengineeventbasic.h"   // DiagFwInternal::CEventBasic
-
-namespace DiagFwInternal
-    {
-/**
-* CEventTestProgress
-*
-* Event for test progress
-*/
-NONSHARABLE_CLASS( CEventTestProgress ) : public CEventBasic
-    {
-public:
-    /** 
-    * C++ Constructor
-    *
-    * @param aSender - Sender of the progress event
-    * @param aCurrentStep - Current progress step
-    * @param aTotalSteps - Total number of steps to complete
-    */
-    CEventTestProgress( const MDiagPlugin& aSender, 
-                        TUint aCurrentStep, 
-                        TUint aTotalSteps );
-
-    /** 
-    * Get Sender
-    *
-    * @return Reference to the plugin
-    */
-    const MDiagPlugin& Sender() const;
-
-    /** 
-    * Get progress
-    *
-    * @return progress
-    */
-    TUint CurrStep() const;
-
-    /** 
-    * Get total number of steps to complete
-    *
-    * @return total number of steps
-    */
-    TUint TotalSteps() const;
-
-private:    // private data
-    /**
-    * iSender - Plug-in that sent in the progress
-    */
-    const MDiagPlugin& iSender;
-
-    /**
-    * iCurrStep - Current step.
-    */
-    TUint iCurrStep;
-
-    /**
-    * iTotalSteps - Total steps
-    */
-    TUint iTotalSteps;
-    };
-    } // namespace DiagFwInternal
-
-#endif // ifndef DIAGENGINEEVENTTESTPROGRESS_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagengineimpl.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,803 +0,0 @@
-/*
-* 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 "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:  Class declaration for CDiagEngineImpl
-*
-*/
-
-
-#ifndef DIAGENGINEIMPL_H
-#define DIAGENGINEIMPL_H
-
-
-// system includes
-#include <e32base.h>                    // CActive
-#include <DiagEngineCommon.h>           // MDiagEngineCommon
-#include <DiagEngineObserver.h>         // MDiagEngineObserver::TSuspendReason
-#include <DiagResultsDatabase.h>        // RDiagResultsDatabase, RDiagResultsDatabaseRecord
-#include <DiagTestPlugin.h>             // MDiagTestPlugin::TStopReason
-#include <DiagSuitePlugin.h>            // MDiagSuitePlugin::TStopReason
-
-// user includes.
-#include "diagenginestatemachineobserver.h"     // DiagFwInternal::MStateMachineObserver
-#include "diagenginestates.h"                   // DiagFwInternal::TState
-#include "diagengineevents.h"                   // DiagFwInternal::TEvent
-#include "diagenginecallhandlerobserver.h"      // MDiagEngineCallHandlerObserver
-#include "diagexecplanentryimplobserver.h"      // MDiagExecPlanEntryImplObserver
-#include "diagengineconfig.h"                   // TDiagEngineConfig
-
-
-// Forward declarations
-class MDiagTestPlugin;
-class MDiagSuitePlugin;
-class CDiagPluginPool;
-class CAknViewAppUi;
-class CDiagEngineCallHandler;
-class CDiagPluginExecPlanImpl;
-class CDiagExecPlanEntryImpl;
-class CDiagExecPlanEntryImplTest;
-
-namespace DiagFwInternal
-    {
-    class CStateMachine;
-    class CEventBasic;
-    class CEventCancel;
-    class CEventSendCompletion;
-    class CEventSuiteContinue;
-    class CEventTestCompleted;
-    class CEventTestProgress;
-    class CEventWatchdog;
-    }
-
-/**
-*  Diagnostics Framework Engine Implementation
-*
-*  This class is the actual class that implements CDiagEngine.
-*  All actual work is done by CDiagEngineImpl class.
-*
-*/
-NONSHARABLE_CLASS( CDiagEngineImpl ) : public CActive,
-                                       public MDiagEngineCommon,
-                                       public MDiagExecPlanEntryImplObserver,
-                                       public DiagFwInternal::MStateMachineObserver,
-                                       public MDiagEngineCallHandlerObserver
-    {
-public:
-
-    /**
-    * Two-phased constructor.
-    * @param aViewAppUi    View App Ui that is using this engine.
-    * @param aObserver     Engine observer.
-    * @param aDbSession    Session to RDiagResultDatabase to create record.
-    * @param aPluginPool   Initialized plug-in pool that holds plug-ins.
-    * @param aDisableDependency    if ETrue, plug-ins should execute
-    *                      event if dependencies are not met.
-    * @param aExecutionBatch - array of test uids to execute
-    *
-    * @return new instance of CDiagEngineImpl*
-    */
-    static CDiagEngineImpl* NewL( CAknViewAppUi&          aViewAppUi, 
-                                  MDiagEngineObserver&    aObserver,
-                                  RDiagResultsDatabase&   aDbSession,
-                                  CDiagPluginPool&        aPluginPool,
-                                  TBool                   aDisableDependency,
-                                  const RArray< TUid >&   aExecutionBatch );
-
-    /**
-    * Two-phased constructor. This function is identical to NewL, 
-    * except that it pushs created object in clean up stack.
-    *
-    * @param aViewAppUi    View App Ui that is using this engine.
-    * @param aObserver     Engine observer.
-    * @param aDbSession    Session to RDiagResultDatabase to create record.
-    * @param aPluginPool   Initialized plug-in pool that holds plug-ins.
-    * @param aDisableDependency    if ETrue, plug-ins should execute
-    *                      event if dependencies are not met.
-    * @param aExecutionBatch - array of test uids to execute
-    *
-    * @return new instance of CDiagEngineImpl*
-    */
-    static CDiagEngineImpl* NewLC( CAknViewAppUi&          aViewAppUi, 
-                                   MDiagEngineObserver&    aObserver,
-                                   RDiagResultsDatabase&   aDbSession,
-                                   CDiagPluginPool&        aPluginPool,
-                                   TBool                   aDisableDependency,
-                                   const RArray< TUid >&   aExecutionBatch );
-    
-
-    /**
-    * Two-phased constructor.
-    * @param aViewAppUi    View App Ui that is using this engine.
-    * @param aObserver     Engine observer.
-    * @param aDbSession    Session to RDiagResultDatabase to create record.
-    * @param aPluginPool   Initialized plug-in pool that holds plug-ins.
-    * @param aIncompleteRecordUid - Uid to the record to resume.
-    *
-    * @return new instance of CDiagEngineImpl*
-    */
-    static CDiagEngineImpl* NewL( CAknViewAppUi&          aViewAppUi, 
-                                  MDiagEngineObserver&    aObserver,
-                                  RDiagResultsDatabase&   aDbSession,
-                                  CDiagPluginPool&        aPluginPool,
-                                  TUid                    aIncompleteRecordUid );
-    /**
-    * Two-phased constructor. This function is identical to NewL, 
-    * except that it pushs created object in clean up stack.
-    *
-    * @param aViewAppUi    View App Ui that is using this engine.
-    * @param aObserver     Engine observer.
-    * @param aDbSession    Session to RDiagResultDatabase to create record.
-    * @param aPluginPool   Initialized plug-in pool that holds plug-ins.
-    * @param aIncompleteRecordUid - Uid to the record to resume.
-    *
-    * @return new instance of CDiagEngineImpl*
-    */
-    static CDiagEngineImpl* NewLC( CAknViewAppUi&          aViewAppUi, 
-                                   MDiagEngineObserver&    aObserver,
-                                   RDiagResultsDatabase&   aDbSession,
-                                   CDiagPluginPool&        aPluginPool,
-                                   TUid                    aIncompleteRecordUid );
-    
-
-    /**
-    * Destructor.
-    */
-    virtual ~CDiagEngineImpl();
-
-    /**
-    * Execute tests. This implements CDiagEngine::ExecuteL
-    *
-    * @see CDiagEngine::ExecuteL
-    */
-    void ExecuteL();
-
-    /**
-    * Set custom execution parameter.
-    *
-    * @see CDiagEngine::SetCustomParam
-    */
-    void SetCustomParam( TAny* aCustomParams );
-
-    /**
-    * Suspend execution.  
-    * 
-    * @see CDiagEngine::SuspendL
-    */
-    void SuspendL();
-
-    /**
-    * Resume suspended execution. This implements CDiagEngine::ResumeL
-    *
-    * @see CDiagEngine::ResumeL
-    */
-    void ResumeL();
-
-public: // from MDiagEngineCommon
-    /**
-    * Returns current execution plan.
-    * 
-    * @see MDiagEngineCommon::ExecutionPlanL
-    */
-    virtual const MDiagPluginExecPlan& ExecutionPlanL() const;
-
-    /**
-    * Stop current execution of tests.
-    * 
-    * @see MDiagEngineCommon::ExecutionStopL
-    */
-    virtual void ExecutionStopL( TCancelMode aCancelMode );
-    
-    /**
-    * Resets test execution watchdog timer.
-    * 
-    * @see MDiagEngineCommon::ResetWatchdog
-    */
-    virtual void ResetWatchdog();
-    
-    /**
-    * Resets test execution watchdog timer.
-    * @see MDiagEngineCommon::ResetWatchdog
-    */
-    virtual void ResetWatchdog( TDiagEngineWatchdogTypes aWatchdogType );
-    
-    /**
-    * Resets test execution watchdog timer.
-    * @see MDiagEngineCommon::ResetWatchdog
-    */
-    virtual void ResetWatchdog( TTimeIntervalMicroSeconds32 aExpectedTimeToComplete );
-    
-    /**
-    * Get App Ui reference that launched Diagnostics Engine.
-    * 
-    * @see MDiagEngineCommon::ViewAppUi()
-    */
-    virtual CAknViewAppUi& ViewAppUi();
-    
-    /**
-    * Get App Ui reference that launched Diagnostics Engine.
-    * 
-    * @see MDiagEngineCommon::ViewAppUi()
-    */
-    virtual const CAknViewAppUi& ViewAppUi() const;
-
-    /**
-    * Get Database Subsession for record open for writing.
-    * 
-    * @see MDiagEngineCommon::DbRecord
-    */
-    virtual RDiagResultsDatabaseRecord& DbRecord();
-
-    /**
-    * Get Database Subsession for record open for writing.
-    * 
-    * @see MDiagEngineCommon::DbRecord
-    */
-    virtual const RDiagResultsDatabaseRecord& DbRecord() const;
-
-    /**
-    * Get reference to Plugin Pool
-    * 
-    * @see MDiagEngineCommon::PluginPool
-    */
-    virtual CDiagPluginPool& PluginPool();
-
-    /**
-    * Get reference to Plugin Pool
-    * 
-    * @see MDiagEngineCommon::PluginPool
-    */
-    virtual const CDiagPluginPool& PluginPool() const;
-
-    /**
-    * Add a text to configuraiton list option. 
-    * 
-    * @see MDiagEngineCommon::AddToConfigListL
-    */
-    virtual void AddToConfigListL( TConfigListType aListType, const TDesC& aText );
-
-    /**
-    * Remove a text from configuration list.
-    * 
-    * @see MDiagEngineCommon::RemoveFromConfigListL
-    */
-    virtual void RemoveFromConfigListL( TConfigListType aListType, const TDesC& aText );
-
-    /**
-    * Create a common dialog.
-    * @see MDiagEngineCommon::CreateCommonDialogL
-    */
-    virtual CAknDialog* CreateCommonDialogLC( TDiagCommonDialog aDialogType,
-                                              TAny* aInitData );
-
-    /**
-    * Stop watchdog activity temporarily.
-    * @see MDiagEngineCommon::StopWatchdogTemporarily
-    */
-    virtual void StopWatchdogTemporarily();
-
-    /**
-    * Check if current engine is being executed with dependency disabled.
-    * @see MDiagEngineCommon::IsDependencyDisabled
-    */
-    virtual TBool IsDependencyDisabled() const;
-
-    /**
-    * Get custom execution parameter.
-    * @see MDiagEngineCommon::CustomParam
-    */
-    virtual TAny* CustomParam() const;
-
-    /**
-    * Send a command to application.
-    *   @see MDiagEngineCommon::ExecuteAppCommandL
-    */
-    virtual void ExecuteAppCommandL( TDiagAppCommand aCommand, 
-                                     TAny* aParam1,
-                                     TAny* aParam2 );
-
-private: // from MDiagExecPlanEntryImplObserver
-    /**
-    * Observe plugin execution progress
-    * @see MDiagExecPlanEntryImplObserver::ExecPlanEntryProgressL
-    */
-    virtual void ExecPlanEntryProgressL( CDiagExecPlanEntryImpl& aSender,
-                                         TUint aCurrentStep,
-                                         TUint aTotalSteps );
-    /**
-    * Observe plugin execution completion
-    * @see MDiagExecPlanEntryImplObserver::ExecPlanEntryExecutedL
-    */
-    virtual void ExecPlanEntryExecutedL( CDiagExecPlanEntryImpl& aSender );
-
-    /**
-    * Observer critical error from plug-in execution entry.
-    * @see MDiagExecPlanEntryImplObserver::ExecPlanEntryCriticalError
-    */
-    virtual void ExecPlanEntryCriticalError( TInt aError );
-
-private: // from DiagFwInternal::MStateMachineObserver
-    /**
-    * Handle state transition
-    * 
-    * @see MDiagEngineStateMachineObserver::HandleStateChangedL
-    */
-    virtual void HandleStateChangedL( DiagFwInternal::TState aPreviousState, 
-                                      DiagFwInternal::TState aCurrentState,
-                                      const DiagFwInternal::CEventBasic& aEventPreview );
-
-    /**
-    * Handle event.
-    * 
-    * @see MDiagEngineStateMachineObserver::HandleEventL
-    */
-    virtual void HandleEventL( DiagFwInternal::CEventBasic& aEvent );
-
-    /**
-    * Handle error.
-    * 
-    * @see MDiagEngineStateMachineObserver::HandleError
-    */
-    virtual DiagFwInternal::TState HandleError( DiagFwInternal::TState aCurrentState, 
-                                                TInt aError );
-
-private:    // From MDiagEngineCallHandlerObserver
-    /**
-    * Handle call handling state change.
-    * 
-    * @see MDiagEngineCallHandlerObserver::CallHandlerStateChangedL
-    */
-    virtual void CallHandlerStateChangedL( TDiagEngineCallHandlerState aState );
-
-private:    // from CActive
-    /**
-    * RunL from CActive
-    * 
-    * @see CActive::RunL
-    */
-    virtual void RunL();
-
-    /**
-    * DoCancel from CActive
-    * 
-    * @see CActive::DoCancel
-    */
-    virtual void DoCancel();
-
-    /**
-    * Handle error 
-    * 
-    * @see CActive::RunError
-    */
-    virtual TInt RunError( TInt aError );
-
-private:    // Private Constructors
-    /**
-    * C++ Constrctor
-    *
-    * @param aViewAppUi - Reference to Appui.
-    * @param aObserver - Reference to engine observer. (Generall app)
-    * @param aDbSession - Session to the database.
-    * @param aPluginPool - Reference to plug-in pool.
-    * @param aDisableDependency - Whether to disable dependency check.
-    * @param aIncompleteRecordUid - Uid to the record to resume.
-    *   If this UID is aIncompleteRecordUid == TUid::Null(), it will create
-    *   a new record. 
-    */
-    CDiagEngineImpl( CAknViewAppUi&          aViewAppUi,
-                     MDiagEngineObserver&    aObserver,
-                     RDiagResultsDatabase&   aDbSession,
-                     CDiagPluginPool&        aPluginPool );
-    
-    /**
-    * Second phase constructor for creating a new record.
-    *
-    * @param aDisableDependency - Whether to disable dependency check
-    * @param aExecutionBatch - Array of plug-in uids to execute
-    */
-    void ConstructNewRecordL( TBool aDisableDependency, 
-                              const RArray< TUid >& aExecutionBatch );
-
-    /**
-    * Second phase constructor for resuming incomplete record.
-    * 
-    * @param aIncompleteRecordUid - Uid of DB record to resume from.
-    */
-    void ConstructIncompleteRecordL( TUid aIncompleteRecordUid );
-    
-    /**
-    * Second phase constructor common.
-    * Initializes items that are common to both new session and resuming session.
-    */
-    void ConstructCommonL();
-
-private:    // Event handlers
-    /**
-    * State handler function for EStateCreatingPlan
-    *
-    * @param aEvent - Event to handle.
-    */
-    void HandleEventInCreatingPlanStateL( DiagFwInternal::CEventBasic& aEvent );
-
-    /**
-    * State handler function for EStateRunning
-    *
-    * @param aEvent - Event to handle.
-    */
-    void HandleEventInRunningStateL( DiagFwInternal::CEventBasic& aEvent );
-
-    /**
-    * State handler function for EStateCancelAll
-    *
-    * @param aEvent - Event to handle.
-    */
-    void HandleEventInCancelAllStateL( DiagFwInternal::CEventBasic& aEvent );
-
-    /**
-    * State handler function for EStateSuspended
-    *
-    * @param aEvent - Event to handle.
-    */
-    void HandleEventInSuspendedStateL( DiagFwInternal::CEventBasic& aEvent );
-
-    /**
-    * State handler function for EStateFinalizing
-    *
-    * @param aEvent - Event to handle.
-    */
-    void HandleEventInFinalizingStateL( DiagFwInternal::CEventBasic& aEvent );
-
-    /**
-    * State handler function for EStateStopped
-    *
-    * @param aEvent - Event to handle.
-    */
-    void HandleEventInStoppedStateL( DiagFwInternal::CEventBasic& aEvent );
-
-private:    // Other private functions
-    /**
-    * Start creating execution plan
-    */
-    void StartCreateExecutionPlanL();
-
-    /**
-    * Handle Plan created event
-    */
-    void HandlePlanCreatedL();
-
-    /**
-    * Notify test progress event to engine observer
-    *
-    * @param aEvent - test progress event.
-    */
-    void NotifyTestProgressL( DiagFwInternal::CEventTestProgress& aEvent );
-
-    /**
-    * Report plug-in execution result to observer and continue to the next test.
-    *
-    * @param aError - Error code to report to observer.
-    * @param aResult - result to report to observer.
-    */
-    void NotifyResultAndContinueL( TInt aError, CDiagResultsDatabaseItem* aResult );
-
-    /**
-    * Commit db record to DB. 
-    *
-    */
-    void CommitResultsToDb();
-
-    /**
-    * Notify observer that last plugin is completed and engine is now stopped.
-    * This could also mean that execution has failed.
-    *
-    * @param aEvent - last completion event
-    */
-    void NotifyLastPluginCompletedL( DiagFwInternal::CEventSendCompletion& aEvent );
-
-    /**
-    * Execute next plugin in the plan
-    *
-    */
-    void ExecuteNextPluginL();
-
-    /**
-    * Suspend engine
-    * 
-    * @param aReason - Reason for suspending.
-    */
-    void DoSuspendL( MDiagEngineObserver::TSuspendReason aReason );
-
-    /**
-    * Add event to state machine.
-    *   This functions makes sure that correct resume event is added to 
-    *   the state machine depending on the previous state.
-    * @param aReason - Resume reason.
-    */
-    void AddResumeEventL( MDiagEngineObserver::TResumeReason aReason );
-
-    /**
-    * Resume engine
-    *
-    */
-    void DoResumeL();
-
-    /**
-    * Handle Skip
-    *
-    */
-    void HandleSkipL();
-
-    /**
-    * Handle cancelling of all plug-ins
-    *
-    */
-    void HandleCancelAllL();
-
-    /**
-    * Start delay timer for test plugin
-    *
-    * @param aPlanEntry - test plugin entry in plan to execute.
-    */
-    void StartTimerForDelayingTestL( CDiagExecPlanEntryImpl& aPlanEntry );
-
-    /**
-    * Start Executing a test plug-in
-    *
-    * @param aPlanEntry - test plugin entry in plan to execute.
-    */
-    void DoExecuteTestPluginL( CDiagExecPlanEntryImpl& aPlanEntry );
-
-    /**
-    * Start Executing a suite plug-in
-    *
-    * @param aPlanEntry - suite plugin entry in plan to execute.
-    */
-    void DoExecuteSuitePluginL( CDiagExecPlanEntryImpl& aPlanEntry );
-
-    /**
-    * Callback function for plugin delay timer expiration.
-    *
-    * @param aPtr - pointer to "this"
-    */
-    static TInt PluginDelayTimerExpiredL( TAny* aPtr );
-
-    /**
-    * Callback function for watchdog timer expiration. 
-    *
-    * @param aPtr - pointer to "this"
-    */
-    static TInt WatchdogTimerExpiredL( TAny* aPtr );
-
-    /**
-    * Handle watchdog time expiration. 
-    *
-    * @param aEvent - Watchdog event.
-    */
-    void HandleWatchdogTimeoutL( DiagFwInternal::CEventWatchdog& aEvent );
-
-    /**
-    * Function to stop currently executing plugin
-    *
-    * @param aStopMode - Reason for stopping the execution.
-    * @param aIsWatchdog - ETrue if this is because of watchdog timeout.
-    * @return Test Result. NULL if plug-in was a suite. Ownership transferred
-    *   to caller.
-    */
-    CDiagResultsDatabaseItem* StopCurrentPluginL( TCancelMode aStopMode, 
-                                                  TBool aIsWatchdog );
-
-    /**
-    * Function to stop currently executing test plugin
-    *
-    * @param aStopMode - Reason for stopping the execution.
-    * @param aIsWatchdog - ETrue if this is because of watchdog timeout.
-    * @return Test Result. NULL if plug-in was a suite. Ownership transferred
-    *   to caller.
-    */
-    CDiagResultsDatabaseItem* StopCurrentTestPluginL( TCancelMode aStopMode, 
-                                                      TBool aIsWatchdog );
-
-    /**
-    * Function to stop currently executing suite plugin
-    *
-    * @param aStopMode - Reason for stopping the execution.
-    * @param aIsWatchdog - ETrue if this is because of watchdog timeout.
-    */
-    void StopCurrentSuitePluginL( TCancelMode aStopMode, TBool aIsWatchdog );
-
-    /**
-    * Function to create test stop reason based on input parameter
-    *
-    * @param aStopMode - Reason for stopping the execution.
-    * @param aIsWatchdog - ETrue if this is because of watchdog timeout.
-    * @return Test stop reason
-    */
-    MDiagTestPlugin::TStopReason TranslateTestStopReason( TCancelMode aStopMode, 
-                                                          TBool aIsWatchdog );
-        
-    /**
-    * Function to create suite stop reason based on input parameter
-    *
-    * @param aStopMode - Reason for stopping the execution.
-    * @param aIsWatchdog - ETrue if this is because of watchdog timeout.
-    * @return Suite stop reason
-    */
-    MDiagSuitePlugin::TStopReason TranslateSuiteStopReason( TCancelMode aStopMode, 
-                                                            TBool aIsWatchdog );
-        
-    /**
-    * Function to create database result type based on input parameter
-    *
-    * @param aStopMode - Reason for stopping the execution.
-    * @param aIsWatchdog - ETrue if this is because of watchdog timeout.
-    * @return Database result type.
-    */
-    CDiagResultsDatabaseItem::TResult ConvertToDbResult( TCancelMode aStopMode, 
-                                                         TBool aIsWatchdog );     
-        
-    /**
-    * Create database result item with just result.
-    *
-    * @param aCurrentItem - Currently executing item
-    * @param aResult - Result type
-    * @return Database result item. Ownership transferred to caller.
-    */
-    CDiagResultsDatabaseItem* CreateDbItemL( 
-            CDiagExecPlanEntryImpl& aCurrentItem,
-            CDiagResultsDatabaseItem::TResult aResultType ) const;
-        
-    /**
-    * Call TestSessionEndL on all plug-ins.
-    *
-    */
-    void NotifyPluginsOfTestSessionEnd();
-
-    /**
-    * Stops all active requests
-    */
-    void StopAllRequests();
-
-    /**
-    * Cleans up incomplete test session during engine destruction.
-    * This function should be called only from destructor.
-    */
-    void CleanupIncompleteTestSession();
-
-    /**
-    * Finalizes test session. This will notify plug-ins, finalize DB record and
-    * notify application.
-    */
-    void FinalizeTestSessionL();
-
-private:    // private data
-    /**
-    * iViewAppUi - Reference to View App Ui. Passed to plug-ins to allow
-    * view switching.
-    */
-    CAknViewAppUi& iViewAppUi;
-
-    /**
-    * iObserver - reference to engine observer.
-    */
-    MDiagEngineObserver& iObserver;
-
-    /**
-    * iDbSession - Database session.
-    */
-    RDiagResultsDatabase& iDbSession;
-
-    /**
-    * iDbRecord - New record created for current test session.
-    */
-    RDiagResultsDatabaseRecord iDbRecord;
-
-    /**
-    * iRecordId - New record id created for current test session.
-    */
-    TUid iRecordId;
-
-    /**
-    * iPluginPool - Reference to the plug-in pool.
-    */
-    CDiagPluginPool& iPluginPool;
-
-    /**
-    * iCustomParam - Custom parameter.
-    * Ownership - Client.
-    */
-    TAny* iCustomParam;
-
-    /**
-    * iBatch - list of items to execute.
-    * Ownership - Individual elements are owned by plug-in pool. 
-    */
-    RPointerArray< MDiagPlugin > iBatch;
-
-    /**
-    * iWatchdogTimer - Timer for watchdog.
-    * Ownership - this
-    */
-    CPeriodic* iWatchdogTimer;
-
-    /**
-    * iLastWatchdogValue - Last watchdog value set.
-    *   This will be used when ResetWatchdog() is called without
-    *   any value specified.
-    */
-    TInt iLastWatchdogValue;
-
-    /**
-    * iPlan - Execution plan
-    * Ownership - this
-    */
-    CDiagPluginExecPlanImpl* iPlan;
-
-    /**
-    * iStateMachine - State machine.
-    * Ownership - this
-    */
-    DiagFwInternal::CStateMachine* iStateMachine;
-
-    /**
-    * iSuspendedPrevState - previous state just before suspended.
-    * This is used to resume to correct state.
-    */
-    DiagFwInternal::TState iSuspendedPrevState;
-
-    /**
-    * iSuspendReason - Reason why engine was suspended.
-    */
-    MDiagEngineObserver::TSuspendReason iSuspendReason;
-
-    /**
-    * iResumeReason - Reason why engine is resumed.
-    */
-    MDiagEngineObserver::TResumeReason iResumeReason;
-
-    /**
-    * iSuspendedResult - Temporary result from test plug-in when engine is 
-    * suspended. When test is suspended just before being able to save the
-    * test result, its result is saved here, so that when resumed
-    * it will use this result instead of re-executing.
-    * Ownership - this
-    */
-    CDiagResultsDatabaseItem* iSuspendedResult;
-    
-    /**
-    * iCallHandler - Handles call states
-    * Ownership - this
-    */
-    CDiagEngineCallHandler* iCallHandler;
-    
-    /**
-    * iContinueIncompleteRecord - Indicates whether engine is supposed to
-    *   continue from an incomplete record.
-    *   ETrue if engine is working with incomplete record.
-    *   EFalse if engine is working with a new record.
-    */
-    TBool iContinueIncompleteRecord;
-
-    /**
-    * iEngineConfig - Confiugration information about engine.
-    */
-    TDiagEngineConfig iEngineConfig;
-
-    /**
-    * iEngineError - Error code of engine.
-    */
-    TInt iEngineError;
-    };
-
-#endif // DIAGENGINEIMPL_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagengineobserver.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,149 +0,0 @@
-/*
-* 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 "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:  Observer interface to use with CDiagEngine
-*
-*/
-
-
-#ifndef DIAGENGINEOBSERVER_H
-#define DIAGENGINEOBSERVER_H
-
-
-// SYSTEM INCLUDES
-#include <e32def.h>                 // TUint
-#include <DiagCommonDialog.h>       // TDiagCommonDialog
-#include <DiagAppCommand.h>         // TDiagAppCommand
-
-// FORWARD DECLARATION
-class CDiagResultsDatabaseItem;
-class CAknDialog;
-
-/**
-*  Diagnostics Framework Engine Observer
-*
-*  This interface is called by CDiagEngine to notify its client
-*  of progress of requests made to engine.
-*
-* @since S60 v5.0
-*/
-class MDiagEngineObserver
-    {
-public: // Public Data types
-    enum TSuspendReason
-        {
-        ESuspendByClient = 0,
-        ESuspendByPhoneCall
-        };
-
-    enum TResumeReason
-        {
-        EResumedByClient = 0,
-        EAutoResumedByCallHangup
-        };
-
-public: // Public interface
-
-    /**
-    * Notify client of test execution begin. Clients can get testplan using
-    * CDiagEngine::ExecutionPlanL. 
-    */
-    virtual void TestExecutionBeginL() = 0;
-
-    /**
-    * Notify client of test execution progress.
-    *
-    * @param aCurrentItemStep       - Progress in current entry.
-    * @param aCurrentItemTotalSteps - Total steps to execute in current entry.
-    */
-    virtual void TestExecutionProgressL( TUint aCurrentItemStep,
-                                         TUint aCurrentItemTotalSteps ) = 0;
-
-    /**
-    * Notify client of execution completion of one plug-in.
-    *   This can be either test plug-in or suite plug-in.
-    *
-    * @param aError  - KErrNone - Success.
-    *   KErrNoMemory - Out of memory.
-    *   KErrCancel   - Cancelled due to ExecutionStopL()
-    *
-    * @param aResult - Result of the test. Ownership is transferred here. 
-    *  Client must deallocate aResult to avoid memory leak. aResult is Null 
-    *  if the plug-in being executed is a suite pre/post method.
-    */
-    virtual void TestExecutionPluginExecutedL( TInt aError,
-                                               CDiagResultsDatabaseItem* aResult ) = 0;
-
-    /**
-    * Notify client of execution suspend.
-    *
-    * @param aSuspendReason - Why execution is suspended.
-    */
-    virtual void TestExecutionSuspendedL( TSuspendReason aSuspendReason ) = 0;
-
-    /**
-    * Notify client of execution resume.
-    *
-    * @param aResumeReason - Why execution is being resumed
-    */
-    virtual void TestExecutionResumedL( TResumeReason aResumeReason ) = 0;
-
-    /**
-    * Notify client of engine stopping.
-    *
-    * This indicates that engine execution has stopped. There will not be any
-    * further messages from engine. This could be called because all
-    * tests are completed, or an unrecoverable error occured during execution.
-    *
-    * Note that if cancel is called during plan creation or if plan creation
-    * fails, TestExecutionStoppedL() may be called withing first calling
-    * TestExecutionBeginL(). 
-    *
-    * @param aError - Reason for engine stopping. 
-    *   a) KErrNone - All tests are successfully completed.
-    *   b) KErrCancel - ExecutionStopL is called with ECancelAll. 
-    *       Test session cannot be resumed later.
-    *   c) KErrArgument - Parameters passed to engine are invalid.
-    *   d) Others - Other critical that could not be recovered occured during
-    *       test execution.  Test may be resumed later in this case.
-    */
-    virtual void TestExecutionCompletedL( TInt aError ) = 0;
-
-    /**
-    * Create a common Dialog.
-    * Application should create an instance of requested dialog.
-    * For available dialog types, @see DiagCommonDialog.h
-    * 
-    * @param aDialogType - Type of dialog to create.
-    * @param aData - Initialization parameter. Ownership is passed to engine.
-    * @return a pointer to newly created dialog. Ownership is passed to caller.
-    */
-    virtual CAknDialog* CreateCommonDialogLC( TDiagCommonDialog aDialogType,
-                                              TAny* aInitData ) = 0;
-
-    /**
-    * Execute a command from plug-in. Parameters are identical to 
-    * MDiagEngineCommon::ExecuteAppCommandL(). 
-    * @see MDiagEngineCommon::ExecuteAppCommandL()
-    * @see TDiagAppCommand
-    */
-    virtual void ExecuteAppCommandL( TDiagAppCommand aCommand, 
-                                     TAny* aParam1,
-                                     TAny* aParam2 ) = 0;
-    };
-
-
-#endif // DIAGENGINEOBSERVER_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagenginestatemachine.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,162 +0,0 @@
-/*
-* 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 "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:  Class declaration for DiagFwInternal::CStateMachine
-*
-*/
-
-
-#ifndef DIAGENGINESTATEMACHINE_H
-#define DIAGENGINESTATEMACHINE_H
-
-// system include
-#include <e32base.h>
-
-// user include
-#include "diagenginestates.h"   // DiagFwInternal::TState
-#include "diagengineevents.h"   // DiagFwInternal::TEvent
-
-
-namespace DiagFwInternal
-    {
-// forward declaration
-class CEventBasic;
-class MStateMachineObserver;
-
-/**
-*  Diagnostics Framework Engine State Machine
-*
-*  This class implements state machine for CDiagEngine.
-*
-*/
-NONSHARABLE_CLASS( CStateMachine ) : public CActive
-    {
-public:
-    /**
-    * Two-phased constructor.
-    * 
-    * @param aObserver     Engine observer.
-    * @return New instance of CStateMachine
-    */
-    static CStateMachine* NewL( MStateMachineObserver& aObserver );
-    static CStateMachine* NewLC( MStateMachineObserver& aObserver );
-
-    /**
-    * Queue a new event into event queue. 
-    * 
-    * @param aEvent  New event. CStateMachine will own
-    *              the object from this point on.
-    *              It will be freed by CStateMachine when
-    *              the event is processed.
-    */
-    void AddEventL( CEventBasic* aEvent );
-
-    /**
-    * Queue a new event into event queue.
-    * 
-    * @param aEventId  Event Id of new event. CEventBasic will be created.
-    */
-    void AddEventL( TEvent aEventId );
-
-    /**
-    * Current State.
-    * 
-    * @return Current state.
-    */
-    TState CurrentState() const;
-
-    /**
-    * Handle error. This should be called when an abnormal error
-    * occurs (e.g. leave that cannot be handled.)
-    * 
-    * @param aError - Error number.
-    */
-    void HandleError( TInt aError );
-
-    /**
-    * State Name. 
-    * Debugging purpose only. In release build, this function will
-    * return empty string.
-    * 
-    * @param aState - a state 
-    * @return Name of the state
-    */
-    const TDesC& StateName( TState aState ) const;
-
-    /**
-    * C++ Destructor
-    */
-    ~CStateMachine();
-
-protected: // from CActive
-    /**
-    * @see CActive::RunL
-    */
-    virtual void RunL();
-    
-    /**
-    * @see CActive::DoCancel
-    */
-    virtual void DoCancel();
-
-    /**
-    * @see CActive::RunError
-    */
-    virtual TInt RunError( TInt aError );
-
-private:    // private constructors
-    /**
-    * C++ constructor
-    */
-    CStateMachine( MStateMachineObserver& iObserver );
-
-    /**
-    * 2nd phase constructor
-    *
-    */
-    virtual void ConstructL();
-
-private:    // private functions
-    /**
-    * Match states in state table.
-    */
-    TState CheckStateTable( TState aCurrState, TEvent aEvent ) const;
-
-    /**
-    * Complete request and set itself to be active so that the next
-    * item in the queue can be executed.
-    */
-    void ReactivateQueue();
-
-    
-private: // private data
-    /**
-    * iObserver - Observer.
-    */
-    MStateMachineObserver&          iObserver;      
-
-    /**
-    * iEventQueue - array of events to process.
-    */
-    RPointerArray<CEventBasic>      iEventQueue;
-
-    /**
-    * iState - Current state.
-    */
-    TState                          iState;
-    };
-    } // end of namespace DiagFwInternal
-#endif // DIAGENGINESTATEMACHINE_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagenginestatemachineobserver.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
-* 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 "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:  Class declaration for MStateMachineObserver
-*
-*/
-
-
-#ifndef DIAGENGINESTATEMACHINEOBSERVER_H
-#define DIAGENGINESTATEMACHINEOBSERVER_H
-
-// system include
-
-// user include
-#include "diagenginestates.h"   // DiagFwInternal::TState
-#include "diagengineevents.h"   // DiagFwInternal::TEvent
-
-namespace DiagFwInternal
-    {
-// forward declaration
-class CEventBasic;
-
-/**
- *  Diagnostics Framework Engine State Machine Observer
- *
- *  This interface is called by CDiagEngineStateMachine to notify
- *  its client of state changes and events.
- *
- *  @since S60 v5.0
- */
-class MStateMachineObserver
-    {
-public:
-    /**
-    * Notify state machine client that state machine has entered a new state.
-    *
-    * @param aPreviousState     Previous state.
-    * @param aCurrentState      Current state. (new state.)
-    * @param aEventPreview  Event that caused state change. Note that
-    *   this is just a preview.  HandleEventL() will be called with the same
-    *   event later on.
-    */
-    virtual void HandleStateChangedL( TState aPreviousState, 
-                                      TState aCurrentState,
-                                      const CEventBasic& aEventPreview ) = 0;
-
-    /**
-    * Notify state machine client that a new event is received.
-    *
-    * @param aEvent        New event.
-    */
-    virtual void HandleEventL( CEventBasic& aEvent ) = 0;
-
-    /**
-    * Notify state machine client that an abnormal error has occured.
-    * Client can handle the error and return appropriate error state.
-    *
-    * @param aCurrentState Current state.
-    * @param aError        Error number.
-    * @return TState       New state to go to.
-    */
-    virtual TState HandleError( TState aCurrentState, TInt aError ) = 0;
-    };
-    } // end of namespace DiagFwInternal
-    
-#endif // DIAGENGINESTATEMACHINEOBSERVER_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagenginestates.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* 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 "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:  Class declaration for DiagFwInternal::TState
-*
-*/
-
-
-
-#ifndef DIAGENGINESTATES_H
-#define DIAGENGINESTATES_H
-
-namespace DiagFwInternal
-    {
-enum TState
-    {
-    EStateAny               = -1,
-    EStateNotReady,
-    EStateCreatingPlan,
-    EStateRunning,
-    EStateCancelAll,
-    EStateSuspended,
-    EStateFinalizing,
-    EStateStopped
-    };
-    } // end of namespace DiagFwInternal
-
-#endif // DIAGENGINESTATES_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagenginewatchdogtypes.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* 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 "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:  Class declaration for TDiagEngineWatchdogTypes
-*
-*/
-
-
-
-#ifndef DIAGENGINEWATCHDOGTYPES_H
-#define DIAGENGINEWATCHDOGTYPES_H
-
-/**
-* These types indicate to engine how long it should wait between each
-* test execution progress reports.  
-*
-* Typically, if a test step requires user interaction, engine should wait
-* longer before stopping its execution. For non-interactive steps,
-* engine should not wait as long. 
-* 
-* The actual values are specifed by cenrep key value owned by engine.
-*
-* Values:
-* EDiagEngineWatchdogTypeInteractive - Indicates that engine should
-*   use interactive watchdog timer value.
-*
-* EDiagEngineWatchdogTypeAutomatic - Indicates that engine should
-*   use non-interactive watchdog timer value.
-*
-* @since S60 3.2
-*/
-enum TDiagEngineWatchdogTypes
-    {
-    EDiagEngineWatchdogTypeInteractive   = 0,
-    EDiagEngineWatchdogTypeAutomatic
-    };
-
-#endif // DIAGENGINEWATCHDOGTYPES_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagexecplanentry.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
-* 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 "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:  Class declaration for CDiagExecPlanEntry
-*
-*/
-
-
-#ifndef DIAGEXECPLANENTRY_H
-#define DIAGEXECPLANENTRY_H
-
-
-// SYSTEM INCLUDE FILES
-#include <e32def.h>         // TBool
-
-// FORWARD DECLARATION
-class MDiagPlugin;
-
-/**
-* Diagnostics Plug-in Execution Plan Entry.
-*
-* This class provides the interface for test execution plan entries.
-*
-* @since S60 v5.0
-*
-*/
-class MDiagExecPlanEntry
-    {
-public: // data types
-    /**
-    * Item execution state.
-    */
-    enum TState
-        {
-        EStateQueued     = 0,   // Execution has not begun.
-        EStateInitDelay,        // Waiting for initial delay timer to expire
-        EStateRunning,          // RunTestL() is called. Waiting for completion.
-        EStateSuspended,        // Execution is suspended
-        EStateStopped,          // Plugin is stopped, but result not logged yet.
-        EStateCompleted         // Result is logged
-        };
-
-public:
-    /**
-    * Plugin associated with the entry
-    *   @return Reference to the plugin.
-    */
-    virtual const MDiagPlugin& Plugin() const = 0;
-
-    /**
-    * Returns whether item is being executed to satisfy dependency or not.
-    *   @return ETrue if item is being executed to satisfy dependency.
-    *       EFalse if item is being executed explicitly.
-    */
-    virtual TBool AsDependency() const = 0;
-
-    /**
-    * Item State
-    *   @return Current state of execution plan item
-    */
-    virtual TState State() const = 0;
-
-    };
-
-#endif // DIAGEXECPLANENTRY_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagexecplanentryimpl.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,297 +0,0 @@
-/*
-* 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 "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:  Class declaration for CDiagExecPlanEntryImpl
-*
-*/
-
-
-#ifndef DIAGEXECPLANENTRYIMPL_H
-#define DIAGEXECPLANENTRYIMPL_H
-
-// SYSTEM INCLUDE FILES
-#include <e32base.h>                // CBase
-#include <DiagExecPlanEntry.h>      // MDiagExecPlanEntry
-#include <DiagEngineCommon.h>       // MDiagEngineCommon::TCancelMode
-
-class MDiagExecPlanEntryImplObserver;
-class TDiagEngineConfig;
-
-/**
-* Diagnostics Plug-in Execution Plan Entry Implementation.
-*
-* This class implements MDiagExecPlanEntry. It is meant to be private
-*   to Diagnostics Framework and not exported.
-*
-* @since S60 v5.0
-*
-*/
-NONSHARABLE_CLASS( CDiagExecPlanEntryImpl ) :  public CActive,
-                                               public MDiagExecPlanEntry
-    {
-public:     // Data Types
-    /**
-    * TType - Execution plan entry type. 
-    *   ETypeTestExec           - Test plugin execution.
-    *   ETypeSuitePrepare       - Suite prepare execution
-    *   ETypeSuiteFinalize      - Suite finalize execution
-    *   ETypeSuiteUnexpanded    - Suite before being expanded into 
-    *                               ETypeSuitePrepare or ETypeSuiteFinalize
-    */
-    enum TType
-        {
-        ETypeTestExec = 0,      
-        ETypeSuitePrepare,      
-        ETypeSuiteFinalize,     
-        ETypeSuiteUnexpanded,   
-        };
-
-public:     // Public API
-    /**
-    * C++ destructor 
-    */
-    virtual ~CDiagExecPlanEntryImpl();
-
-    /**
-    * Plugin associated with the entry
-    *   @return Reference to the plugin.
-    */
-    MDiagPlugin& Plugin();      //lint !e1411  This is proper overload
-
-    /**
-    * Get item type
-    *   @return current item type
-    */
-    TType Type() const;
-
-    /**
-    * Update item type
-    *   @param aType - new type.
-    */
-    void SetType( TType aType );
-
-    /**
-    * Update dependency
-    *   @param aAsDependency - ETrue if item is being executed to satisfy 
-    *       dependency. EFalse otherwise.
-    */
-    void SetAsDependency( TBool aAsDependency );
-
-    /**
-    * Handle cancel execution by client. Calling this will case IsStoppedByClient()
-    * to return ETrue.
-    *
-    * @param aCancelMode - Cancellation mode.
-    */
-    void StopExecutionByClientL( MDiagEngineCommon::TCancelMode aCancelMode );
-
-    /**
-    * Check if test was stopped by client.
-    *
-    * @return ETrue if it was stopped by StopExecutionByClientL call. 
-    *   EFalse otherwise.
-    */
-    TBool IsStoppedByClient() const;
-
-    /**
-    * Reset Watchdog to last known value.  
-    * If watchdog was suspended, it will resume. 
-    * If watchdog was not running, this does nothing.
-    */
-    void ResetWatchdog();
-
-    /**
-    * Reset Watchdog to one of the default based on watchdog type
-    * If watchdog was suspended, it will resume. 
-    * If watchdog was not running, this does nothing.
-    * @param aWatchdogType - type of watchdog to use.
-    */
-    void ResetWatchdog( TDiagEngineWatchdogTypes aWatchdogType );
-
-    /**
-    * Reset watchdog to a specific value.
-    * If watchdog was suspended, it will resume. 
-    * If watchdog was not running, this does nothing.
-    * @param aTimer value - watchdog timer value. 
-    */
-    void ResetWatchdog( TTimeIntervalMicroSeconds32 aWatchdogValue );
-
-    /**
-    * Stop watchdog temporarily.
-    */
-    void StopWatchdogTemporarily();
-
-public:     // APIs to be implemented by derived class
-    /**
-    * Execute plan entry. To cancel request, call Cancel()
-    */
-    virtual void ExecuteL() = 0;
-
-    /**
-    * Suspend execution.
-    */
-    virtual void SuspendL() = 0;
-
-    /**
-    * Resume suspended execution.
-    */
-    virtual void ResumeL() = 0;
-
-public:    // From MDiagExecPlanEntry
-    /**
-    * Plugin associated with the entry
-    *   @see MDiagExecPlanEntry::Plugin
-    */
-    const MDiagPlugin& Plugin() const;
-
-    /**
-    * Returns whether item is being executed to satisfy dependency or not.
-    *   @see MDiagExecPlanEntry::AsDepndent
-    */
-    TBool AsDependency() const;
-
-    /**
-    * Item State
-    *   @see MDiagExecPlanEntry::State
-    */
-    TState State() const;
-
-
-protected:  // API for derived class
-    /**
-    * C++ Constructor
-    *   This is protected since it should not be created directly.
-    *   Use one of the derived class version.
-    *
-    *   @param aEngine - Reference to the engine.
-    *   @param aEngineConifg - Reference to the engine configuration.
-    *   @param aPlugin - Reference to the plug-in.
-    *   @param aAsDependent - Whether it is being executed as dependent test.
-    *   @param aType - Type of entry. @see CDiagExecPlanEntryImpl::TType
-    */
-    CDiagExecPlanEntryImpl( MDiagEngineCommon& aEngine,
-                            const TDiagEngineConfig& aEngineConfig,
-                            MDiagExecPlanEntryImplObserver& aObserver,
-                            MDiagPlugin& aPlugin,
-                            TBool aAsDependency,
-                            TType aType );
-
-    /**
-    * Get Engine reference
-    * 
-    * @return reference to engine.
-    */
-    MDiagEngineCommon& Engine();
-
-    /**
-    * Get Engine configuration reference
-    * 
-    * @return Reference to engine configuration.
-    */
-    const TDiagEngineConfig& EngineConfig() const;
-
-    /**
-    * Get observer.
-    * 
-    * @return Reference to plan entry observer.
-    */
-    MDiagExecPlanEntryImplObserver& Observer();
-
-    /**
-    * Change current state to a new state.  
-    *   @param aState - new state to set to.
-    */
-    void ChangeStateL( TState aState );
-
-protected:  // API to be implemented by derived class.
-    /**
-    * Handle cancel execution by client.
-    *
-    * @param aCancelMode - Cancellation mode.
-    */
-    virtual void DoStopExecutionByClientL( MDiagEngineCommon::TCancelMode aCancelMode ) = 0;
-
-    /**
-    * Watchdog timeout stop.
-    */
-    virtual void StopExecutionByWatchdogL() = 0;
-
-
-private:    // private methods
-    /**
-    * Watchdog timer timeout handler.
-    * @param aPtr - pointer to *this* object.
-    */
-    static TInt WatchdogTimerExpiredL( TAny* aPtr );
-
-private:    // Private data
-    /**
-    * Engine
-    */
-    MDiagEngineCommon& iEngine;
-
-    /**
-    * Engine Configuration.
-    */
-    const TDiagEngineConfig& iEngineConfig;
-
-    /**
-    * Observer
-    */
-    MDiagExecPlanEntryImplObserver& iObserver;
-
-    /**
-    * Plug-in
-    */
-    MDiagPlugin& iPlugin;
-
-    /**
-    * Indicates whether it is being executed as dependent test.
-    */
-    TBool iAsDependency;
-
-    /**
-    * Indicates whether execution is stopped by client.
-    */
-    TBool iStoppedByClient;
-
-    /**
-    * Current item state
-    *   @see MDiagExecPlanEntry::TState
-    */
-    TState iState;
-
-    /**
-    * Current item type
-    *   @see CDiagExecPlanEntryImpl::TType
-    */
-    TType iType;
-    
-    /**
-    * Watchdog timer value. It is a microsecond value to be used with 
-    * watchdog timer.
-    */
-    TTimeIntervalMicroSeconds32 iWatchdogValue;
-
-    /**
-    * Watchdog timer
-    * Owership: this.
-    */
-    CPeriodic* iWatchdogTimer;
-
-    };
-
-#endif // DIAGEXECPLANENTRY_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagexecplanentryimplobserver.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* 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 "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:  Class declaration for MDiagExecPlanEntryImplObserver.h
-*
-*/
-
-
-#ifndef DIAGEXECPLANENTRYIMPLOBSERVER_H
-#define DIAGEXECPLANENTRYIMPLOBSERVER_H
-
-
-class CDiagExecPlanEntryImpl;
-
-/**
-* Diagnostics Plug-in Execution Plan Entry Observer Interface
-*
-* This interface is called by CDiagExecPlanEntryImpl and its derived classes
-* to notify progress of plugin execution.
-*
-* @since S60 v5.0
-*
-*/
-class MDiagExecPlanEntryImplObserver
-    {
-public:
-    /**
-    * Notify plugin execution progress
-    * @param aSender        - Reference to the plan entry that caused this event.
-    * @param aCurrentStep   - current execution step.
-    * @param aTotalSteps    - Total number of steps to execute.
-    */
-    virtual void ExecPlanEntryProgressL( CDiagExecPlanEntryImpl& aSender,
-                                         TUint aCurrentStep,
-                                         TUint aTotalSteps ) = 0;
-
-    /**
-    * Notify plugin execution completion. 
-    *   This is called only when it is completed normally.
-    *   It will not becalled if execution is interrupted by watchdog or by client.
-    * @param aSender        - Reference to the plan entry that caused this event.
-    */
-    virtual void ExecPlanEntryExecutedL( CDiagExecPlanEntryImpl& aSender ) = 0;
-
-    /**
-    * Notify that a critical error has occured.
-    *   This is called when there is a critical execution error
-    *   that cannot be recovered. Engine should not execute any
-    *   more plug-ins after this point.
-    * @param aError - Error number.
-    */
-    virtual void ExecPlanEntryCriticalError( TInt aError ) = 0;
-    };
-
-#endif // DIAGEXECPLANENTRYIMPLOBSERVER_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagexecplanentryimplsuite.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,172 +0,0 @@
-/*
-* 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 "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:  Class declaration for CDiagExecPlanEntryImplSuite
-*
-*/
-
-
-#ifndef DIAGEXECPLANENTRYIMPLSUITE_H
-#define DIAGEXECPLANENTRYIMPLSUITE_H
-
-// SYSTEM INCLUDE FILES
-#include <DiagSuitePlugin.h>            // MDiagSuitePlugin::TStopReason
-#include <DiagSuiteObserver.h>          // MDiagSuiteObserver
-
-// USER INCLUDE FILES
-#include "diagexecplanentryimpl.h"      // CDiagExecPlanEntryImpl
-
-// FORWARD DECLARATION
-class MDiagSuitePlugin;
-
-/**
-* Diagnostics Plug-in Execution Plan Entry Implementation for Suite plugin
-*
-* This class implements CDiagExecPlanEntryImplSuite. It is meant to be private
-*   to Diagnostics Framework and not exported.
-*
-* @since S60 v5.0
-*
-*/
-NONSHARABLE_CLASS( CDiagExecPlanEntryImplSuite ) : public CDiagExecPlanEntryImpl,
-                                                   public MDiagSuiteObserver
-    {
-public: // Public constructors and destructors
-    /**
-    * Symbian two-phased constructor
-    *   
-    * @param aEngine - Diagnostics Engine
-    * @param aEngineConfig - Engine configuration.
-    * @param aObserver - Execution plan entry observer.
-    * @param aPlugin - Suite plug-in that this plan entry represents.
-    * @param aAsDependency - Whether this item is being executed as dependency or not.
-    * @param aType - Type of execution. @see CDiagExecPlanEntryImpl::TType
-    *
-    * @return a new instance of CDiagExecPlanEntryImplSuite
-    */
-    static CDiagExecPlanEntryImplSuite* NewL( MDiagEngineCommon& aEngine,
-                                              const TDiagEngineConfig& aEngineConfig,
-                                              MDiagExecPlanEntryImplObserver& aObserver,
-                                              MDiagSuitePlugin& aPlugin,
-                                              TBool aAsDependency,
-                                              TType aType );
-
-    /**
-    * Symbian two-phased constructor
-    *  This will leave a entry in clean up stack.
-    *
-    * @param aEngine - Diagnostics Engine
-    * @param aEngineConfig - Engine configuration.
-    * @param aObserver - Execution plan entry observer.
-    * @param aPlugin - Suite plug-in that this plan entry represents.
-    * @param aAsDependency - Whether this item is being executed as dependency or not.
-    * @param aType - Type of execution. @see CDiagExecPlanEntryImpl::TType
-    *
-    * @return a new instance of CDiagExecPlanEntryImplSuite
-    */
-    static CDiagExecPlanEntryImplSuite* NewLC( MDiagEngineCommon& aEngine,
-                                               const TDiagEngineConfig& aEngineConfig,
-                                               MDiagExecPlanEntryImplObserver& aObserver,
-                                               MDiagSuitePlugin& aPlugin,
-                                               TBool aAsDependency,
-                                               TType aType );
-
-    /**
-    * C++ destructor
-    */
-    virtual ~CDiagExecPlanEntryImplSuite();
-
-public:     // new public api
-    /**
-    * Get suite plugin associated.
-    */
-    MDiagSuitePlugin& SuitePlugin();
-
-private:    // from CActive
-    /*
-    * @see CActive::RunL
-    */
-    virtual void RunL();
-
-    /*
-    * @see CActive::DoCancel
-    */
-    virtual void DoCancel();
-    
-
-private:     // from CDiagExecPlanEntryImpl
-    /**
-    * @see CDiagExecPlanEntryImpl::ExecuteL
-    */
-    virtual void ExecuteL();
-
-    /**
-    * @see CDiagEXecPlanEntryImpl::StopExecutionByWatchdogL
-    */
-    virtual void StopExecutionByWatchdogL();
-
-    /**
-    * @see CDiagEXecPlanEntryImpl::StopExecutionByClientL
-    */
-    virtual void DoStopExecutionByClientL( MDiagEngineCommon::TCancelMode aCancelMode );
-
-    /**
-    * @see CDiagEXecPlanEntryImpl::SuspendL
-    */
-    virtual void SuspendL();
-
-    /**
-    * @see CDiagEXecPlanEntryImpl::ResumeL
-    */
-    virtual void ResumeL();
-
-
-private: // from MDiagSuiteObserver
-    /**
-    * Notify engine of suite plug-in execution completion.
-    * 
-    * @see MDiagSuitePlugin::ContinueExecutionL
-    */
-    virtual void ContinueExecutionL( const MDiagSuitePlugin& aSender );
-
-
-private:    // private methods
-    /**
-    * C++ constructor
-    *   
-    * @param aEngine - Diagnostics Engine
-    * @param aEngineConfig - Engine configuration.
-    * @param aObserver - Execution plan entry observer.
-    * @param aPlugin - Suite plug-in that this plan entry represents.
-    * @param aAsDependency - Whether this item is being executed as dependency or not.
-    * @param aType - Type of execution. @see CDiagExecPlanEntryImpl::TType
-    */
-    CDiagExecPlanEntryImplSuite( MDiagEngineCommon& aEngine,
-                                 const TDiagEngineConfig& aEngineConfig,
-                                 MDiagExecPlanEntryImplObserver& aObserver,
-                                 MDiagSuitePlugin& aPlugin,
-                                 TBool aAsDependency,
-                                 TType aType );
-
-    /**
-    * Stop suite plug-in.
-    * 
-    * @param aStopReason - Stop reason to pass to suite.
-    */
-    void StopSuitePluginL( MDiagSuitePlugin::TStopReason aStopReason );
-    };
-
-#endif // DIAGEXECPLANENTRYIMPLSUITE_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagexecplanentryimpltest.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,254 +0,0 @@
-/*
-* 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 "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:  Class declaration for CDiagExecPlanEntryImplTest
-*
-*/
-
-
-#ifndef DIAGEXECPLANENTRYIMPLTEST_H
-#define DIAGEXECPLANENTRYIMPLTEST_H
-
-// SYSTEM INCLUDE FILES
-#include <DiagResultsDatabaseItem.h>    // CDiagResultsDatabaseItem::TResult
-#include <DiagTestObserver.h>           // MDiagTestObserver
-#include <DiagTestPlugin.h>             // MDiagTestPlugin::TStopReason
-
-// USER INCLUDE FILES
-#include "diagexecplanentryimpl.h"      // CDiagExecPlanEntryImpl
-
-// FORWARD DECLARATION
-class MDiagTestPlugin;
-
-/**
-* Diagnostics Plug-in Execution Plan Entry Implementation for test plugin
-*
-* This class implements CDiagExecPlanEntryImplTest. It is meant to be private
-*   to Diagnostics Framework and not exported.
-*
-* @since S60 v5.0
-*
-*/
-NONSHARABLE_CLASS( CDiagExecPlanEntryImplTest ): public CDiagExecPlanEntryImpl,
-                                                 public MDiagTestObserver
-    {
-public: // Public constructors and destructors
-    /**
-    * Symbian two-phased constructor
-    *
-    * @param aEngine - Diagnostics Engine
-    * @param aEngineConig - Engine configuration.
-    * @param aObserver - Execution plan entry observer.
-    * @param aPlugin - Test plug-in that this plan entry represents.
-    * @param aAsDependency - Whether this item is being executed as dependency or not.
-    * @param aResult - Initial result. 
-    *
-    * @return a new instance of CDiagExecPlanEntryImplTest
-    */
-    static CDiagExecPlanEntryImplTest* NewL( MDiagEngineCommon& aEngine,
-                                             const TDiagEngineConfig& aEngineConfig,
-                                             MDiagExecPlanEntryImplObserver& aObserver,
-                                             MDiagTestPlugin& aPlugin,
-                                             TBool aAsDependency,
-                                             CDiagResultsDatabaseItem::TResult aResult );
-
-    /**
-    * Symbian two-phased constructor.
-    * This will put an entry in cleanup stack.
-    *
-    * @param aEngine - Diagnostics Engine
-    * @param aEngineConig - Engine configuration.
-    * @param aObserver - Execution plan entry observer.
-    * @param aPlugin - Test plug-in that this plan entry represents.
-    * @param aAsDependency - Whether this item is being executed as dependency or not.
-    * @param aResult - Initial result. 
-    *
-    * @return a new instance of CDiagExecPlanEntryImplTest
-    */
-    static CDiagExecPlanEntryImplTest* NewLC( MDiagEngineCommon& aEngine,
-                                              const TDiagEngineConfig& aEngineConfig,
-                                              MDiagExecPlanEntryImplObserver& aObserver,
-                                              MDiagTestPlugin& aPlugin,
-                                              TBool aAsDependency,
-                                              CDiagResultsDatabaseItem::TResult aResult );
-
-    /**
-    * C++ destructor
-    */
-    virtual ~CDiagExecPlanEntryImplTest();
-
-public:     // new public api
-    /**
-    * Get test result
-    *   @return Test result enum.
-    */
-    CDiagResultsDatabaseItem::TResult Result() const;
-
-    /**
-    * Set test result
-    *   @param aResult - Test result.
-    */
-    void SetResult( CDiagResultsDatabaseItem::TResult aResult );
-
-    /**
-    * Get result database item. If cached value is available, it will use
-    * cached value. Otherwise, it will retrieve from database.
-    *   @return Test result item from database. Ownership is transferred.
-    */
-    CDiagResultsDatabaseItem* GetLastTestResultL();
-
-    /**
-    * Get test plugin associated.
-    * @return a reference to test plug-in that this entry represents.
-    */
-    MDiagTestPlugin& TestPlugin();
-
-private:    // from CActive
-    /*
-    * @see CActive::RunL
-    */
-    virtual void RunL();
-
-    /*
-    * @see CActive::DoCancel
-    */
-    virtual void DoCancel();
-
-    /*
-    * @see CActive::RunError
-    */
-    virtual TInt RunError( TInt aError );
-
-private:    // from CDiagExecPlanEntryImpl
-    /**
-    * @see CDiagExecPlanEntryImpl::ExecuteL
-    */
-    virtual void ExecuteL();
-
-    /**
-    * @see CDiagExecPlanEntryImpl::StopExecutionByWatchdogL
-    */
-    virtual void StopExecutionByWatchdogL();
-
-    /**
-    * @see CDiagExecPlanEntryImpl::DoStopExecutionByClientL
-    */
-    virtual void DoStopExecutionByClientL( MDiagEngineCommon::TCancelMode aCancelMode );
-
-    /**
-    * @see CDiagExecPlanEntryImpl::SuspendL
-    */
-    virtual void SuspendL();
-
-    /**
-    * @see CDiagExecPlanEntryImpl::ResumeL
-    */
-    virtual void ResumeL();
-
-private:    // from MDiagTestObserver
-    /**
-    * Notify engine of test plug-in execution progress.
-    * @see MDiagTestObserver::TestProgressL
-    */
-    virtual void TestProgressL( const MDiagTestPlugin& aSender, 
-                                TUint aCurrentStep );
-
-    /**
-    * Notify engine of test plug-in execution completion.
-    * @see MDiagTestObserver::TestExecutionCompletedL
-    */
-    virtual void TestExecutionCompletedL( const MDiagTestPlugin& aSender, 
-                                          CDiagResultsDatabaseItem* aTestResult );
-    
-    
-private:    // Private methods
-    /**
-    * c++ constructor.
-    *
-    * @param aEngine - Diagnostics Engine
-    * @param aEngineConig - Engine configuration.
-    * @param aObserver - Execution plan entry observer.
-    * @param aPlugin - Test plug-in that this plan entry represents.
-    * @param aAsDependency - Whether this item is being executed as dependency or not.
-    * @param aResult - Initial result. 
-    */
-    CDiagExecPlanEntryImplTest( MDiagEngineCommon& aEngine,
-                                const TDiagEngineConfig& aEngineConfig,
-                                MDiagExecPlanEntryImplObserver& aObserver,
-                                MDiagTestPlugin& aPlugin,
-                                TBool aAsDependency,
-                                CDiagResultsDatabaseItem::TResult aResult );
-    
-    /**
-    * Starts executing test.
-    */
-    void DoExecuteTestPluginL();
-
-    /**
-    * Stop test plugin
-    */
-    CDiagResultsDatabaseItem* StopTestPluginL( MDiagTestPlugin::TStopReason aReason );
-
-    /**
-    * Handler function for initial delay timer expiration.
-    */
-    static TInt HandleDelayTimerExpiredL( TAny* aData );
-
-    /**
-    * Stop initial delay timer.
-    */
-    void StopInitDelayTimer();
-
-    /**
-    * Stop all active requests and timers.
-    */
-    void StopAll();
-
-    /**
-    * Stops test execution, but test result is not reported.
-    */
-    void StopExecutionAndIgnoreResultL();
-
-    /**
-    * Get human readable name for test result. This is meant for debugging
-    * purpose only. In non-debug build, it will return empty string.
-    */
-    static const TDesC& TestResultString( CDiagResultsDatabaseItem::TResult aResult );
-
-
-private:    // private data
-    /**
-    * Test result
-    */
-    CDiagResultsDatabaseItem::TResult iResult;
-
-    /**
-    * Plugin test initial delay timer.
-    * Ownership - this
-    */
-    CPeriodic* iInitDelayTimer;
-
-    /**
-    * Cached test result. This stores test result temporarily, so that database access
-    * could be avoided. Currently, cache will remain only for one request after
-    * test is completed.
-    * Ownership - this
-    */
-    CDiagResultsDatabaseItem* iCachedResult;
-
-    };
-
-#endif // DIAGEXECPLANENTRYIMPLTEST_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagframework.pan	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* 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 "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:  Enum definition of Framdwork Panic Codes
-*
-*/
-
-
-#ifndef DIAGFRAMEWORK_PAN
-#define DIAGFRAMEWORK_PAN
-
-/**
-* Panic Codes for Diagnostics Framework
-* 
-* @since 5.0
-*/
-enum TDiagFrameworkPanics
-    {
-    EDiagFrameworkBadArgument           = 1,    // Invalid input parameter
-    EDiagFrameworkInvalidState          = 2,    // Function called in incorrect state
-    EDiagFrameworkInvalidEvent          = 3,    // Even not valid in current state.
-    EDiagFrameworkCorruptStateMachine   = 4,    // State machine may be corrupted.
-    EDiagFrameworkArrayBounds           = 5,    // Array out of bounds
-    EDiagFrameworkCorruptPlugin         = 6,    // Plug-in information is corrupted.
-    EDiagFrameworkNullTestResult        = 7,    // Test result is NULL
-    EDiagFrameworkInternal              = 8,    // Other framework internal error
-    EDiagFrameworkDb                    = 9,    // Database related errors.
-    EDiagFrameworkPlugin                = 10    // General plug-in behavior error
-    };
-
-_LIT(KDiagFwCategory,"Diag Fw");
-
-inline void Panic( TDiagFrameworkPanics aReason )
-    {
-    User::Panic( KDiagFwCategory, aReason );
-    }
-
-#endif // DIAGFRAMEWORK_PAN
--- a/devicediagnosticsfw/diagframework/inc/diagframeworkdebug.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,192 +0,0 @@
-/*
-* 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 "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:  Debugging trace definition for framework and plug-ins.
-*
-*/
-
-
-#ifndef DIAGFRAMEWORKDEBUG_H
-#define DIAGFRAMEWORKDEBUG_H
-
-/**
-* Diagnostics Framework Debug Traces
-*
-* This header file defines common debug trace macros for Diagnostics Framework.
-* It is used by the diagnostics framework internally. However, it is 
-* recomanded that application and plug-ins use the macros defined here
-* in order to allow consistent logging.
-*
-* Debugging messages are enabled only on non DEBUG build. 
-*
-* These macros can be configured to use either Flogger (RFileLogger) or
-* RDebug.  By default, it will use RFileLogger. If RDebug trace is needed,
-* uncomment //#define DIAG_DEBUG_LOG_USE_RDEBUG below.
-*
-* The following macros are provided by this files.
-*
-* LOGTEXT( aDescriptor );   
-*   - This prints a descriptor to log. E.g. if you have a TDesC type, then
-*   you can use this. e.g.
-*
-*       void CMyClass::PrintSomeText( const TDesC& aText )
-*           {
-*           LOGTEXT( aText );
-*           }
-* 
-* LOGSTRING( aFormat )
-* LOGSTRING2( aFormat, a );
-* LOGSTRING3( aFormat, a, b );
-* LOGSTRING4( aFormat, a, b, c );
-* LOGSTRING5( aFormat, a, b, c, d );
-*   - These macros are used to print debugging messages with formatting text 
-*   and several arguments. Formatting string is similar to printf.
-*
-*       void CMyClass::PrintSomeText( TInt aInt, TInt aHex )
-*           {
-*           LOGSTRING( "CMyClass::PrintSomeText() Enter" );
-*           LOGSTRING3( "CMyClass::PrintSomeText() aInt = %d, aHex = 0x%08x", 
-*                       aInt, 
-*                       aHex );
-*           }
-*
-*/
-
-#define ENABLE_DIAG_DEBUG_LOG       // Enable diagnostics debug log
-//#define DIAG_DEBUG_LOG_USE_RDEBUG   // Use RDebug::Print instead of flogger.
-
-#if ( defined _DEBUG && defined ENABLE_DIAG_DEBUG_LOG )
-
-#ifdef DIAG_DEBUG_LOG_USE_RDEBUG
-
-#include <e32debug.h> // RDebug
-
-#define LOGTEXT( aDescriptor )                              \
-    {                                                       \
-    RDebug::Print( aDescriptor );                           \
-    }
-
-#define LOGSTRING( aFormat )                                \
-    {                                                       \
-    _LIT( KFormat, aFormat );                               \
-    RDebug::Print( KFormat );                               \
-    }
-
-#define LOGSTRING2( aFormat, a )                            \
-    {                                                       \
-    _LIT( KFormat, aFormat );                               \
-    RDebug::Print( KFormat, a );                            \
-    }
-
-#define LOGSTRING3( aFormat, a, b )                         \
-    {                                                       \
-    _LIT( KFormat, aFormat );                               \
-    RDebug::Print( KFormat, a, b );                         \
-    }
-
-#define LOGSTRING4( aFormat, a, b, c )                      \
-    {                                                       \
-    _LIT( KFormat, aFormat );                               \
-    RDebug::Print( KFormat, a, b, c );                      \
-    }
-
-#define LOGSTRING5( aFormat, a, b, c, d )                   \
-    {                                                       \
-    _LIT( KFormat, aFormat );                               \
-    RDebug::Print( KFormat, a, b, c, d );                   \
-    }
-
-#else // #ifdef DIAG_DEBUG_LOG_USE_RDEBUG
-
-// SYSTEM INCLUDES
-#include <flogger.h>
-
-// CONSTANTS
-_LIT( KDiagFrameworkLogFolder,  "DiagFramework" );
-_LIT( KDiagFrameworkLogFile,    "LOG.TXT" );
-
-// MACROS
-#define LOGTEXT( aDescriptor )                              \
-    {                                                       \
-    RFileLogger::Write( KDiagFrameworkLogFolder(),          \
-                        KDiagFrameworkLogFile(),            \
-                        EFileLoggingModeAppend,             \
-                        aDescriptor );                      \
-    }
-
-#define LOGSTRING( aFormat )                                \
-    {                                                       \
-    _LIT( KFormat, aFormat );                               \
-    RFileLogger::Write( KDiagFrameworkLogFolder(),          \
-                        KDiagFrameworkLogFile(),            \
-                        EFileLoggingModeAppend,             \
-                        KFormat() );                        \
-    }
-
-#define LOGSTRING2( aFormat, a )                            \
-    {                                                       \
-    _LIT( KFormat, aFormat );                               \
-    RFileLogger::WriteFormat( KDiagFrameworkLogFolder(),    \
-                              KDiagFrameworkLogFile(),      \
-                              EFileLoggingModeAppend,       \
-                              TRefByValue<const TDesC>( KFormat() ), \
-                              a );                          \
-    }
-
-#define LOGSTRING3( aFormat, a, b )                         \
-    {                                                       \
-    _LIT( KFormat, aFormat );                               \
-    RFileLogger::WriteFormat( KDiagFrameworkLogFolder(),    \
-                              KDiagFrameworkLogFile(),      \
-                              EFileLoggingModeAppend,       \
-                              TRefByValue<const TDesC>( KFormat() ), \
-                              a, b );                       \
-    }
-
-#define LOGSTRING4( aFormat, a, b, c )                      \
-    {                                                       \
-    _LIT( KFormat, aFormat );                               \
-    RFileLogger::WriteFormat( KDiagFrameworkLogFolder(),    \
-                              KDiagFrameworkLogFile(),      \
-                              EFileLoggingModeAppend,       \
-                              TRefByValue<const TDesC>( KFormat() ), \
-                              a, b, c );                    \
-    }
-
-#define LOGSTRING5( aFormat, a, b, c, d )                   \
-    {                                                       \
-    _LIT( KFormat, aFormat );                               \
-    RFileLogger::WriteFormat( KDiagFrameworkLogFolder(),    \
-                              KDiagFrameworkLogFile(),      \
-                              EFileLoggingModeAppend, \
-                              TRefByValue<const TDesC>( KFormat() ), \
-                              a, b, c, d );                 \
-    }
-
-#endif // #else DIAG_DEBUG_LOG_USE_RDEBUG
-
-#else   // _DEBUG && ENABLE_DIAG_DEBUG_LOG
-
-#define LOGTEXT( aDescriptor )
-#define LOGSTRING( aFormat )
-#define LOGSTRING2( aFormat, a )
-#define LOGSTRING3( aFormat, a, b )
-#define LOGSTRING4( aFormat, a, b, c )
-#define LOGSTRING5( aFormat, a, b, c, d )
-
-#endif  // else _DEBUG && ENABLE_DIAG_DEBUG_LOG
-
-#endif // DIAGFRAMEWORKDEBUG_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diaglogeventeraser.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,176 +0,0 @@
-/*
-* 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 "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 the header for the Diagnostics Logs Event Eraser.
-*
-*/
-
-
-#ifndef DIAGLOGEVENTERASER_H
-#define DIAGLOGEVENTERASER_H
-
-// Include Files
-#include <e32base.h>                    // CActive
-#include <f32file.h>                    // RFs
-
-// Forward Declarations
-class MDiagLogEventEraserObserver;
-class CActiveSchedulerWait;
-class CLogClient;
-class CLogViewEvent;
-class CLogFilter;
-
-/**
-* Diagnostics Plugin Log Event Eraser
-*
-* This class is used to remove log events generated by diagnostics plugins.
-* Events could be anything that is logged by the system log, such as call or
-* data use records.
-*
-* @lib euser.lib
-* @lib logcli.lib 
-* @lib efsrv.lib
-* @lib flogger.lib
-*/
-NONSHARABLE_CLASS( CDiagLogEventEraser ) : public CActive
-    {
-
-public: // New functions
-
-    /**
-    * Symbian OS two-phase constructor.
-    *
-    * @param aObserver A reference to the observer for this event eraser.
-    * @param aFilter The filter to be used for log erasure.  Clients may pass
-    *                NULL for no filtering.  Ownership is transferred.
-    * @return An pointer to the new instance of CDiagLogEventEraser.
-    */
-    IMPORT_C static CDiagLogEventEraser* NewL(
-        MDiagLogEventEraserObserver& aObserver,
-        CLogFilter* aFilter = NULL );
-
-    /**
-    * Destructor.
-    */
-    IMPORT_C virtual ~CDiagLogEventEraser();
-
-    /**
-    * This gets the filter used for the log erasure.  Clients which want to
-    * filter the logs to be erased must call this function and set the
-    * appropriate filter before calling StartAsyncEraseLogsL or EraseLogsL.
-    *
-    * @return The filter to apply to the logs to check for erasure.
-    */
-    IMPORT_C CLogFilter& Filter();
-
-    /**
-    * This gets the log client used for the log erasure.
-    *
-    * @return The log client used for log erasure.
-    */
-    IMPORT_C CLogClient& LogClient();
-
-    /**
-    * This starts an asynchronous log erase operation.  The completion of this
-    * request is notified by MDiagLogEventEraserObserver::CompleteEventEraseL.
-    */
-    IMPORT_C void StartAsyncEraseLogsL();
-
-    /**
-    * This performs a synchronous log erase operation.  The function will
-    * leave if there is any error in log erasure.
-    */
-    IMPORT_C void EraseLogsL();
-
-
-private: // New functions
-
-    /**
-    * C++ default constructor.
-    *
-    * @param aObserver A reference to the observer for this event eraser.
-    * @param aFilter The filter to be used for log erasure.  If NULL is
-    *                passed, a new filter will be created during the second
-    *                phase of construction.  Ownership is transferred.
-    */
-    CDiagLogEventEraser( MDiagLogEventEraserObserver& aObserver,
-                         CLogFilter* aFilter );
-    
-    /**
-    * Symbian OS default constructor.
-    */
-    void ConstructL();
-
-    /**
-    * Handles the completion of log erasing and performs different operations
-    * depending on whether the erasing was asynchronous or not.
-    */
-    void HandleCompletionL( TInt aError );
-
-
-private: // From base class CActive
-
-    /**
-    * Handle active object completion event.
-    */
-    virtual void RunL();
-
-    /**
-    * Handle active object cancel event.
-    */
-    virtual void DoCancel();
-
-
-private: // Data
-
-    /** The state of the log erasing operation. */
-    enum TDiagLogEventEraserState
-        {
-        EStateInitial = 0,
-        EStateApplyingFilter,
-        EStateReadingEntries,
-        EStateDeletingEntry,
-        EStateComplete
-        };
-
-    /** The observer for this instance of the log event eraser. */
-    MDiagLogEventEraserObserver& iObserver;
-
-    /** The active scheduler, used for synchronous log erasure.  Own. */
-    CActiveSchedulerWait* iWaitScheduler;
-
-    /** The Log client.  Own. */
-    CLogClient* iLogClient;
-
-    /** The Log view.  Own. */
-    CLogViewEvent* iLogView;
-
-    /** The Log filter.  Own. */
-    CLogFilter* iLogFilter;
-
-    /** A file server session used to delete the logs. */
-    RFs iFsSession;
-
-    /** The internal state of the log event eraser. */
-    TDiagLogEventEraserState iState;
-
-    /** Indicates if the log event eraser is running a synchronous delete. */
-    TBool iIsDeletingSynchronous;
-
-    /** The return code for syncronous operation. */
-    TInt iError;
-    };
-
-#endif // DIAGLOGEVENTERASER_H
-
-// End of File
--- a/devicediagnosticsfw/diagframework/inc/diaglogeventeraserobserver.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* 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 "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 the header for the Diagnostics Logs Event Eraser
-*                 Observer class, which clients implement to receive events
-*                 from the Event Eraser.
-*
-*/
-
-
-#ifndef DIAGLOGEVENTERASEROBSERVER_H
-#define DIAGLOGEVENTERASEROBSERVER_H
-
-// Forward Declarations
-class CLogEvent;
-
-/**
-* Diagnostics Plugin Log Event Eraser Observer
-*   
-* This is a pure virtual class that clients of the Event Eraser must implement
-* to receive callbacks from the Log Event Eraser.
-*/
-class MDiagLogEventEraserObserver
-    {
-
-public: // New functions
-
-    /**
-    * This function is called to check if the log event needs to be deleted.
-    *
-    * @param aEvent The event to check.
-    * @return ETrue if the log event should be deleted, EFalse otherwise.
-    */
-    virtual TBool IsEventToBeDeleted( const CLogEvent& aEvent ) = 0;
-    
-    /**
-    * This function is called to notify that the erase operation is complete.
-    *
-    * @param aError Error code to indicate erase failure, or KErrNone.
-    */           
-    virtual void CompleteEventEraseL( TInt aError ) = 0;
-
-    };
-
-#endif // DIAGLOGEVENTERASEROBSERVER_H
--- a/devicediagnosticsfw/diagframework/inc/diagnetworkregstatusobserver.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* 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 "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 the header for the Diagnostics Network registration
-*                 status observer interface
-*
-*/
-
-
-#ifndef DIAGNETWORKREGSTATUSOBSERVER_H
-#define DIAGNETWORKREGSTATUSOBSERVER_H
-
-/**
-* Diagnostics Plugin Network registration status observer interface
-*   
-* This is an abstract class which plugins must derive and implement to receive
-* call-backs from the Diagnostics Network registration status observer.
-*/
-class MDiagNetworkRegStatusObserver
-    {
-public:
-    /**
-    * This function is used to inform the intial network registration status
-    *
-    * @param aRegistered. 
-    *  ETrue :The device is currently registered on the network
-    *  EFalse:The device is currently not registered on the network.
-    */
-    virtual void InitialNetworkRegistrationStatusL( const TBool& aRegistered ) = 0;
-    
-    /**
-    * This interface is used to inform the clients of any changes in the network registration
-    * status
-    *
-    * @param aRegistered
-    * ETrue :The device has now changed to registered status.
-    * EFalse:The device has now lost network coverage.
-    */    
-    virtual void NetworkRegistrationStatusChangeL( const TBool& aRegistered ) = 0;
-    };
-
-#endif // DIAGNETWORKREGSTATUSOBSERVER_H
-
-//End of file
-
--- a/devicediagnosticsfw/diagframework/inc/diagnetworkregstatuswatcher.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +0,0 @@
-/*
-* 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 "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 the header for the Diagnostics Network registration
-*                 status watcher.
-*
-*/
-
-
-#ifndef DIAGNETWORKREGSTATUSWATCHER_H
-#define DIAGNETWORKREGSTATUSWATCHER_H
-
-// Include files
-#include <e32base.h>        // CActive
-#include <etel3rdparty.h>   // CTelephony
-
-//Forward declaration
-class MDiagNetworkRegStatusObserver;
-
-
-/**
-* Diagnostics Network registration status watcher
-*
-* This class can be used as an observer for network status. After 
-* instantiating the class and calling StartObserver(), the class firstly 
-* informs the client of the current registration status and then goes into
-* an observing mode for any changes in the network registration status.
-*
-*/
-class CDiagNetworkRegStatusWatcher : public CActive
-    {
-public:
-
-    /**
-    * Symbian OS constructor.
-    *
-    * @param aCallBack A reference to the callback for this network
-             registration status watcher
-    * @return An pointer to the new instance of CDiagNetworkRegStatusWatcher.
-    */
-    IMPORT_C static CDiagNetworkRegStatusWatcher* NewL(
-                    MDiagNetworkRegStatusObserver& aCallBack );
-    
-    /**
-    * Default C++ virtual destructor
-    */               
-    IMPORT_C virtual ~CDiagNetworkRegStatusWatcher();
-    
-    /**
-    * This function is used by client to start the watcher. Firstly, the
-    * watcher will inform the clients via call
-    * MDiagNetworkRegStatusObserver::InitialNetworkRegistrationStatusL()
-    * and then go into an observing mode for any changes in the network
-    * registration status. The changes status is informed via 
-    * MDiagNetworkRegStatusObserver::NetworkRegistrationStatusChangeL()
-    */    
-    IMPORT_C void StartObserver();
-    
-
-    /**
-    * This function is used by client to stop the observer.
-    */     
-    IMPORT_C void StopObserver();
-
-private:
-
-    /**
-    * C++ constructor.
-    *
-    * @param aCallBack A reference to the callback for Network
-    * registration status observer
-    */
-    CDiagNetworkRegStatusWatcher( MDiagNetworkRegStatusObserver&
-                                                            aCallBack );
-   
-    /**
-    * Symbian C++ 2nd phase constructor.
-    *
-    */    
-    void ConstructL();
-
-private: // From base class CActive
-
-    /**
-    * Handle active object completion event.
-    */
-    virtual void RunL();
-
-    /**
-    * Handle active object cancel event.
-    */
-    virtual void DoCancel();
-    
-private: // private functions
-
-    /**
-    * Handler for the internal state EStateWaitForInitialStatus
-    */
-    void HandleInitialStatusL();
-    
-    /**
-    * Handler for the internal state EStateWaitForStatusChange
-    */    
-    void HandleNetworkStatusChangeL();
-
-    /**
-    * This function wraps the logic to decide if the device is currently 
-    * registered or not.
-    *
-    * @return ETrue if the devide is registered, EFalse if the device is 
-    * not registered.
-    */
-    TBool IsDeviceRegisteredOnNetwork();
-    
-private:
-
-    /** States of the Network registration status watcher */
-    enum TDiagNetwRegStatusWatcherState
-        {
-        EStateInit = 0,
-        EStateWaitForInitialStatus,
-        EStateWaitForStatusChange,
-        EStateStopping
-        };
-    
-    /** variable to store the internal state of the network registration
-    *   status watcher
-    */
-    TDiagNetwRegStatusWatcherState iState;        
-
-    /** Interface to phone's telephony system.  Own. */
-    CTelephony* iTelephony;
-    
-    /** Defines the current network registration status */    
-    CTelephony::TNetworkRegistrationV1 iRegV1;
-    
-    /** A typedef'd packaged CTelephony::TNetworkRegistrationV1 for
-    passing through a generic API method. */    
-    CTelephony::TNetworkRegistrationV1Pckg iRegV1Pckg;        
-                        
-    /** The callback interface for this instance of Network
-    registration status observer */
-    MDiagNetworkRegStatusObserver& iCallBack; 
-
-    /** This variable remembers whether in previous state the 
-    * the device was registered or not
-    */
-    TBool iPreviouslyRegistered;
-    };
-
-#endif // DIAGNETWORKREGSTATUSWATCHER_H
-
-//End of file
-
--- a/devicediagnosticsfw/diagframework/inc/diagnosticsfwprivatecrkeys.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/*
-* 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 "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:  Private Central Repository keys.
-*
-*/
-
-
-#ifndef DIAGNOSTICSFWPRIVATECRKEYS_H
-#define DIAGNOSTICSFWPRIVATECRKEYS_H
-
-//  INCLUDES
-
-#include <e32std.h>
-
-// =============================================================================
-// Diagnostics Framework
-// =============================================================================
-
-const TUid KCRUidDiagnosticsFw = { 0x2000B16B };
-
-/**
-* Configure number of microseconds Diagnostics Framework will delay before starting
-* to execute each test.  This gives user a chance to cancel before a test 
-* begins.
-*/
-const TUint32 KDiagFwTestInitDelay = 0x00000001;
-
-/**
-* Configure number of microseconds of test inactivity Diagnostics Framework will 
-* tolerate before cancelling an interactive test. This prevents single tests
-* from blocking entire testing session.
-* The value will be used for interactive test steps.
-*/
-const TUint32 KDiagFwWatchdogTimeoutInteractive = 0x00000002;
-
-/**
-* Configure number of microseconds of test inactivity Diagnostics Framework will 
-* tolerate before cancelling an automatic test. This prevents single tests
-* from blocking entire testing session.
-* The value will be used for non-interactive (automatic) test steps.
-*/
-const TUint32 KDiagFwWatchdogTimeoutAutomatic = 0x00000003;
-
-#endif      // DIAGNOSTICSFWPRIVATECRKEYS_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagplugin.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,240 +0,0 @@
-/*
-* 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 "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:  Abstract class that represents a diagnostics plug-in
-*
-*/
-
-
-#ifndef DIAGPLUGIN_H
-#define DIAGPLUGIN_H
-
-// INCLUDES
-#include <badesca.h>            // CPtrCArray . Needed since this is typedef.
-
-//Forward declarations
-class CGulIcon;
-class MDiagEngineCommon;
-
-// Constants for plugin interfaces 
-const TUid KDiagPluginInterfaceUid = { 0x2000AFEB };
-
-// UID of top most root suite uid.  All plug-ins are descendant of this suite.
-const TUid KDiagRootSuiteUid = { 0x00000000 };
-
-/**
-* Abstract class that repsesents a diagnostics plug-in.
-*
-* @since S60 v5.0
-**/
-class MDiagPlugin
-    {
-public: //data structures
-
-    /**
-    * Indicates is the plug-in a suite or a test plug-in
-    **/
-    enum TPluginType
-        {
-        ETypeTestPlugin,
-        ETypeSuitePlugin
-        };
-
-    /**
-    * Layout type of name being requested.
-    */
-    enum TNameLayoutType
-        {
-        ENameLayoutListSingle,              // list_single_graphic_heading_pane_t1_cp2
-        ENameLayoutPopupNoteWaitWindow,     // popup_note_wait_window
-        ENameLayoutListLargeGraphic,        // list_single_large_graphic_pane_t1
-        ENameLayoutHeadingPane,             // heading_pane_t1
-        ENameLayoutPopupInfoPane,           // popup_info_list_pane_t1
-        ENameLayoutTitlePane,               // title_pane_t2/opt12
-        ENameLayoutListSingleGraphic,       // list_single_graphic_pane_t1
-        ENameLayoutListDoubleGraphic        // list_double_graphic_pane_t1
-        };
-
-public: // public methods
-
-    /**
-    * Virtual destructor. This ensures that when the interface is deleted,
-    * compiler will look up virtual table to find correct destructor.
-    */
-    virtual ~MDiagPlugin() {}
-
-    /**
-    * Method for getting the name of the plugin. Name returned should be based
-    * on the layout requested, and it should fit within the layout.
-    *
-    * @param aLayoutType - Layout where text will be displayed in. @see TNameLayoutType
-    * @return Localized name of the plug-in. Ownership is transferred to caller.
-    */
-    virtual HBufC* GetPluginNameL( TNameLayoutType aLayoutType ) const = 0;
-
-    /**
-    * Get the name of the service that the plug-in provides.
-    * Service name is defined in the ECOM resource file, thus, it is not localized.
-    *
-    * @return The name of the service.
-    **/
-    virtual const TDesC& ServiceLogicalName() const = 0;
-
-    /**
-    * Get logical dependencies. One plug-in can have multiple dependencies to other plug-ins.
-    *
-    * @param aArray An array of logical names.
-    * @see ServiceLogicalName.
-    **/
-    virtual void GetLogicalDependenciesL( CPtrCArray& aArray ) const = 0;
-
-    /**
-    * Return the type of the plug-in. 
-    *
-    * @return The type.
-    * @see TPluginType.
-    **/
-    virtual TPluginType Type() const = 0;
-
-    /**
-    * Create an icon that represents the plug-in.
-    *
-    * @return An icon. 
-    **/
-    virtual CGulIcon* CreateIconL() const = 0;
-
-    /** Method for checking, if plugin should be visible.
-    * (for example shown in listbox).
-    * Overwrite this function to show or hide your plugin dynamically.
-    *
-    * @return ETrue if plugin should be visible, EFalse otherwise.
-    */
-    virtual TBool IsVisible() const = 0;
-
-    /** Method for checking, if plugin is supported.
-    * Overwrite this function to enable or disable your plugin dynamically.
-    * If EFalse, plug-in will not be loaded by plugin pool.
-    *
-    * @return ETrue if plugin is supported, EFalse otherwise.
-    */
-    virtual TBool IsSupported() const = 0;
-
-    /**
-    * Get localised description of the test. Description should be used to explain 
-    * the test for the user. It can contain comments that this service needs for 
-    * example access point and it creates costs or that the duration might be long.
-    *
-    * @return Allocated buffer containing localized description of the plugin.
-    **/
-    virtual HBufC* GetDescriptionL() const = 0;
-
-    /**
-    * Get UID of this plug-in.
-    *
-    * @return the UID.
-    **/
-    virtual TUid Uid() const = 0;
-
-    /**
-    * Get the order number that this plug-in should appear in its parent list.
-    *
-    * @return TUint order number.
-    **/
-    virtual TUint Order() const = 0;
-
-    /**
-    * Get UID of the parent.
-    *
-    * @return The parent UID.
-    **/
-    virtual TUid ParentUid() const = 0;
-
-    /**
-    * Set ECom Destructor ID Key.
-    *
-    * @param aDtorIdKey Uid returned by REComSession::CreateImplementationL()
-    **/
-    virtual void SetDtorIdKey( TUid aDtorIdKey ) = 0;
-
-
-    /**
-    * Initialization Step. This method is called before any plugin are executed.
-    * This can be used to clean up any left over data from previous execution 
-    * sessions. All plug-ins in execution plan will have a chance to clean 
-    * up before any plug-ins are run.  This is a synchrouns method.
-    *
-    * @param aEngine - Reference to engine.
-    * @param aSkipDependencyCheck - If ETrue, plug-in will be executed
-    *   even if dependencies are not executed.
-    * @param aCustomParams Custom parameters for plug-ins. 
-    *   It can used to pass arbitrary data from application to the plug-ins.
-    *   Owership is not transferred and plug-in must not delete
-    *   this parameter. Ownership is not transferred since
-    *   client does not always know the type of pointer.
-    **/
-    virtual void TestSessionBeginL( MDiagEngineCommon& aEngine,
-                                    TBool aSkipDependencyCheck,
-                                    TAny* aCustomParams ) = 0;
-
-
-    /**
-    * Cleanup Step. This method is called after all plug-ins in the 
-    * execution plan is completed to clean up any left over data from 
-    * current sesison. This can be used to clean up any data that
-    * provides dependent service created for its dependencies.
-    * This is a synchrouns method.
-    *
-    * @param aEngine - Reference to engine.
-    * @param aSkipDependencyCheck - If ETrue, plug-in as executed
-    *   even if dependencies are not executed.
-    * @param aCustomParams Custom parameters for plug-ins. 
-    *   It can used to pass arbitrary data from application to the plug-ins.
-    *   Owership is not transferred and plug-in must not delete
-    *   this parameter. Ownership is not transferred since
-    *   client does not always know the type of pointer.
-    **/
-    virtual void TestSessionEndL( MDiagEngineCommon& aEngine,
-                                  TBool aSkipDependencyCheck,
-                                  TAny* aCustomParams ) = 0;
-
-
-    /**
-    * Reserved for future use/plugin's custom functionality.
-    *
-    * @param aUid Unique identifier of the operation.
-    * @param aParam Custom parameter. 
-    * @return TAny pointer. Custom data.
-    *   It can used to pass arbitrary data from application to the plug-ins.
-    *   Owership is not transferred and plug-in must not delete
-    *   this parameter. Ownership is not transferred since
-    *   client does not always know the type of pointer.
-    **/
-    virtual TAny* CustomOperationL( TUid aUid, TAny* aParam ) = 0;
-        
-    /**
-    * Reserved for future use/plugin's custom functionality. 
-    *
-    * @param aParam Custom parameter.
-    * @return TAny pointer. Custom data. 
-    *   It can used to pass arbitrary data from application to the plug-ins.
-    *   Owership is not transferred and plug-in must not delete
-    *   this parameter. Ownership is not transferred since
-    *   client does not always know the type of pointer.
-    **/
-    virtual TAny* GetCustomL( TUid aUid, TAny* aParam ) = 0;
-    };
-
-#endif // DIAGPLUGIN_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagpluginconstructionparam.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-/*
-* 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 "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:  Diagnostics Plug-in Construction Parameter
-*
-*/
-
-
-#ifndef DIAGPLUGINCONSTRUCTIONPARAM_H
-#define DIAGPLUGINCONSTRUCTIONPARAM_H
-
-// INCLUDES
-#include <e32base.h>            // CBase
-
-// FORWARD DECLARATIONS
-class CDesC16ArrayFlat;
-
-/**
-* Parameters that are needed to construct a Diagnostics plug-in.
-*
-* @since S60 v5.0
-**/
-NONSHARABLE_CLASS( CDiagPluginConstructionParam ) : public CBase
-    {
-public:
-
-    /**
-    * Two-phased constructors.
-    *
-    * @param    aServiceProvided - Name of the service provided.
-    *           Ownership is transferred to CDiagPluginConstructionParam.
-    * @param    aServicesRequired - Array of services required.
-    *           Ownership is transferred to CDiagPluginConstructionParam.
-    * @param    aOrder - Order that this plug-in should appear in
-    *           in parent suite.
-    * @param    aImplUid - Implementation Uid of the plug-in.
-    * @return   new instance of CDiagPluginConstructionParam*
-    **/
-    IMPORT_C static CDiagPluginConstructionParam* NewL(
-                                        HBufC*              aServiceProvided,
-                                        CDesC16ArrayFlat*   aServicesRequired,
-                                        TInt                aOrder,
-                                        TUid                aImplUid,
-                                        TUid                aParentUid );
-    IMPORT_C static CDiagPluginConstructionParam* NewLC(
-                                        HBufC*              aServiceProvided,
-                                        CDesC16ArrayFlat*   aServicesRequired,
-                                        TInt                aOrder,
-                                        TUid                aImplUid,
-                                        TUid                aParentUid );
-
-    /**
-    * Destructor.
-    */
-    IMPORT_C virtual ~CDiagPluginConstructionParam();
-
-    /**
-    * Get Name of the service provived.
-    *
-    * @return Name of the service provided.
-    */
-    IMPORT_C const TDesC& ServiceProvided() const;
-
-    /**
-    * Get array of services required for plug-in.
-    *
-    * @return Array of services required for plug-in.
-    */
-    IMPORT_C const CDesC16ArrayFlat& ServicesRequired() const;
-
-    /**
-    * Get the order this plug-in should appear in parent.
-    *
-    * @return Order that this plug-in should appear in parent.
-    */
-    IMPORT_C TInt Order() const;
-
-    /**
-    * Uid of plug-in.
-    *
-    * @return Uid of plug-in specified in RSS file.
-    */
-    IMPORT_C TUid Uid() const;
-
-    /**
-    * Parent Uid of plug-in.
-    *
-    * @return Parent Uid of plug-in specified in RSS file.
-    */
-    IMPORT_C TUid ParentUid() const;
-
-private:    
-    
-    /**
-    * C++ Constructor.
-    **/
-    CDiagPluginConstructionParam( HBufC*              aServiceProvided,
-                                  CDesC16ArrayFlat*   aServicesRequired,
-                                  TInt                aOrder,
-                                  TUid                aImplUid,
-                                  TUid                aParentUid );
-    
-    
-private:    // data
-
-    /**
-    * iServiceProvided - Buffer containing service name
-    * Owns.
-    */
-    HBufC* iServiceProvided;
-
-    /**
-    * iServicesRequired - Array containing list of dependency list.
-    * Owns
-    */
-    CDesC16ArrayFlat* iServicesRequired;
-
-    /**
-    * iOrder - Order in parent list.
-    */
-    TInt iOrder;
-
-    /**
-    * iImplUid - Uid of the plug-in
-    */
-    TUid iImplUid;
-
-    /**
-    * iParentUid - Uid of the parent suite plug-ins
-    */
-    TUid iParentUid;
-    };
-
-#endif // DIAGPLUGINCONSTRUCTIONPARAM_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagpluginexecplan.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,145 +0,0 @@
-/*
-* 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 "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:  Class declaration for CDiagPluginExecPlan
-*
-*/
-
-
-#ifndef DIAGPLUGINEXECPLAN_H
-#define DIAGPLUGINEXECPLAN_H
-
-// INCLUDES
-#include <e32base.h>            // CBase
-
-// FORWARD DECLARATION
-class MDiagPlugin;
-class MDiagExecPlanEntry;
-
-/**
-*  Diagnostics Plugin Execution Plan
-*
-*  This class provides interface to access execution plan.
-*  It also provides interface to modify execution plan.
-*  A cursor to currently executing item is also maintained.
-*
-*/
-class MDiagPluginExecPlan
-    {
-public: 
-    /**
-    * Access an item in plan.
-    *
-    * @param aIndex    - index 
-    * @return Reference to plan entry at given index.
-    */
-    virtual const MDiagExecPlanEntry& operator[]( TInt aIndex ) const = 0;
-
-    /**
-    * Get current execution plan item.
-    *
-    * @return Reference to currently executing plan item.
-    */
-    virtual const MDiagExecPlanEntry& CurrentExecutionItem() const = 0;
-
-    /**
-    * Returns index of execution cursor. Note that this index 
-    * includes both suite plug-in and test plug-in.
-    *
-    * If only interested about test plug-ins. use CurrentTestIndex().
-    *
-    * @return Index to current execution cursor.
-    */
-    virtual TInt CurrentIndex() const = 0;
-
-    /**
-    * Returns total number of items in the plan. Note that this count
-    * includes both suite plug-in and test plug-in.
-
-    * If only interested only test plug-ins. use TestCount().
-    *
-    * @return Number of items in the test plan.
-    */
-    virtual TInt Count() const = 0;
-
-    /**
-    * Get current test index.
-    *
-    * Note that only test plug-ins (MDiagTestPlugin) are counted in this
-    * case.  Suite pre/post execution are not. You cannot use this value
-    * with [] operator since this is not a real index.
-    * 
-    * To get real cursor index, use GetCurrentIndex().
-    *
-    * @param aIncludeDependency  If ETrue, test index will also include
-    *                            plugins that are included as dependency.
-    * @return current test index.
-    */
-    virtual TInt CurrentTestIndex( TBool aIncludeDependency ) const = 0;
-
-    /**
-    * Get total test count.
-    *
-    * Note that only test plug-ins (MDiagTestPlugin) are counted in this
-    * case.  Suite pre/post execution are not. You cannot use this value
-    * with [] operator since this is not a real count.
-    * 
-    * To get the real number of items in the plan, use GetCount().
-    *
-    * @param aIncludeDependency  If ETrue, test index will also include
-    *                            plug-ins that are included as dependency.
-    * @return current test index.
-    */
-    virtual TInt TestCount( TBool aIncludeDependency ) const = 0;
-
-    /**
-    * Check if this is the last test being executed.
-    *
-    * Note that only test plug-ins (MDiagTestPlugin) are counted in this
-    * case.  Suite pre/post execution are not.
-    * If you are interested in checking if it is currently running
-    * the last plug-in, including test and suites, @see IsLastPlugin()
-    *
-    * @return ETrue plan is executing the last test plug-in.
-    */
-    virtual TBool IsLastTest() const = 0;
-
-    /**
-    * Check if this is the last plug-in being executed.
-    *
-    * Note that this includes both test plug-ins and suite plug-ins.
-    * If you are interested in checking the progress on tests only,
-    * @see IsLastTest()
-    *
-    * @return ETrue plan is executing the last test or suite plug-in.
-    */
-    virtual TBool IsLastPlugin() const = 0;
-
-    /**
-    * Returns the plug-in index that plan is resuming from.
-    * If this session is not a resume session, this will return 0 (first index).
-    * Otherwise, this index will point the first real execution item.
-    *
-    * Note that this value will not change as test session progresses. Even
-    * as test progresses, this value will still point to the index that
-    * this session is being resumed from.
-    *
-    * @return Index of which session is being resumed from.
-    */
-    virtual TInt ResumeIndex() const = 0;
-    };
-
-#endif // DIAGPLUGINEXECPLAN_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagpluginexecplanimpl.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,463 +0,0 @@
-/*
-* 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 "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:  Class declaration for CDiagPluginExecPlanImpl
-*
-*/
-
-
-#ifndef DIAGPLUGINEXECPLANIMPL_H
-#define DIAGPLUGINEXECPLANIMPL_H
-
-// SYSTEM INCLUDE FILES
-#include <e32base.h>                    // CBase
-#include <DiagPluginExecPlan.h>         // MDiagPluginExecPlan
-#include <DiagResultsDatabaseItem.h>    // CDiagResultsDatabaseItem::TResult
-
-// USER INCLUDE FILES
-#include "diagexecplanentryimpl.h"      // TDiagPluginExecPlanImpl::TType
-
-// FORWARD DECLARATION
-class MDiagPlugin;
-class MDiagSuitePlugin;
-class MDiagEngineCommon;
-class CDiagPluginPool;
-class RDiagResultsDatabaseRecord;
-class TDiagEngineConfig;
-struct TTransitionStackEntry;
-
-template <class T, TBool StackOwnsEntry>
-class CStack;
-
-/**
-*  Diagnostics Plugin Execution Plan
-*
-*  This class provides interface to access execution plan.
-*  It also provides interface to modify execution plan.
-*  A cursor to currently executing item is also maintained.
-*
-* @since S60 v5.0
-*
-*/
-NONSHARABLE_CLASS( CDiagPluginExecPlanImpl ) : public CActive,
-                                               public MDiagPluginExecPlan
-    {
-public: 
-    /**
-    * Two-phase constructor
-    *
-    * @param aEngine - Reference to diagnostics engine.
-    * @param aEngineConfig - Engine configuration information.
-    * @param aEntryObserver - Reference to entry observer.
-    * @return new instance of CDiagPluginExecPlanImpl
-    */
-    static CDiagPluginExecPlanImpl* NewL( MDiagEngineCommon& aEngine,
-                                          const TDiagEngineConfig& aEngineConfig,
-                                          MDiagExecPlanEntryImplObserver& aEntryObserver );
-
-    /**
-    * Destructor.
-    */
-    virtual ~CDiagPluginExecPlanImpl();
-
-public:     // New API
-    /**
-    * Initialize execution plan
-    *
-    * @param aStatus - Request status to set when plan creatation is completed.
-    * @param aBatch - list of plug-ins to execute
-    */
-    void InitializeL( TRequestStatus& aStatus, 
-                      const RPointerArray< MDiagPlugin >& aBatch );
-
-    /**
-    * Initialize execution plan from db.
-    *   This will read current data from results database and reconstruct
-    *   the execution plan.
-    *
-    *   This should be used to continue an incomplete session.
-    *
-    * @param aStatus - Request status to set when plan creatation is completed.
-    */
-    void InitializeL( TRequestStatus& aStatus );
-
-    /**
-    * Access an item in plan. 
-    *
-    * @param aIndex    - index 
-    * @return Reference to plan entry at given index.
-    */
-    CDiagExecPlanEntryImpl& operator[]( TInt aIndex );      //lint !e1411  This is proper overload
-
-    /**
-    * Get current execution plan item.
-    *
-    * @return Reference to currently executing plan item.
-    */
-    CDiagExecPlanEntryImpl& CurrentExecutionItem();         //lint !e1411  This is proper overload
-
-    /**
-    * Reset execution cursor
-    * 
-    * Resets execution cursor to the beginning.
-    */
-    void ResetExecutionCursor();
-
-    /**
-    * Moves execution cursor to next item.
-    *
-    * @return ETrue if cursor is updated.
-    *         EFalse if cursor is already at last item.
-    */
-    TInt MoveCursorToNext();
-
-private:     // from CActive
-    /**
-    * Handle Active Object completion event.
-    * @see CActive::RunL()
-    */
-    virtual void RunL();
-
-    /**
-    * Cancel outstanding request
-    * @see CActive::RunL()
-    */
-    virtual void DoCancel();
-
-    /**
-    * Handle errors
-    * @see CActive::RunError()
-    */
-    virtual TInt RunError( TInt aError );
-
-public:     // from MDiagPluginExecPlan
-    /**
-    * Access an item in plan.
-    *   @see MDiagPluginExecPlan::operator[]
-    */
-    virtual const MDiagExecPlanEntry& operator[]( TInt aIndex ) const;
-
-    /**
-    * Get current execution plan item.
-    *   @see MDiagPluginExecPlan::CurrentExecutionItem
-    */
-    virtual const MDiagExecPlanEntry& CurrentExecutionItem() const;
-
-    /**
-    * Returns index of execution cursor. 
-    *   @see MDiagPluginExecPlan::CurrentIndex
-    */
-    virtual TInt CurrentIndex() const;
-
-    /**
-    * Returns total number of items in the plan.
-    *   @see MDiagPluginExecPlan::Count
-    */
-    virtual TInt Count() const;
-
-    /**
-    * Get current test index.
-    *
-    *   @see MDiagPluginExecPlan::CurrentTestIndex
-    */
-    virtual TInt CurrentTestIndex( TBool aIncludeDependency ) const;
-
-    /**
-    * Get total test count.
-    *
-    *   @see MDiagPluginExecPlan::TestCount
-    */
-    virtual TInt TestCount( TBool aIncludeDependency ) const;
-
-    /**
-    * Check if this is the last test being executed.
-    *
-    *   @see MDiagPluginExecPlan::IsLastTest
-    */
-    virtual TBool IsLastTest() const;
-
-    /**
-    * Check if this is the last plug-in being executed.
-    *
-    *   @see MDiagPluginExecPlan::IsLastPlugin
-    */
-    virtual TBool IsLastPlugin() const;
-
-    /**
-    * Returns the plug-in index that plan is resuming from.
-    *
-    *   @see MDiagPluginExecPlan::ResumeIndex
-    */
-    virtual TInt ResumeIndex() const;
-
-private: // private data types
-    /**
-    * State
-    */
-    enum TState
-        {
-        EStateIdle  = 0,
-        EStateExpandDependencyAndSuites,
-        EStateRemoveEmptySuites,
-        EStateInsertSuiteTransitions,
-        EStateStoreToDb,
-        EStatePlanCreated
-        };
-
-private: // private functions
-    /**
-    * C++ Constructor
-    * @param aEngine - reference to engine.
-    * @param aEngineConfig - reference to engine configuration information.
-    * @param aEntryObserver - Reference to observer for each plug-in
-    */
-    CDiagPluginExecPlanImpl( MDiagEngineCommon& aEngine,
-                             const TDiagEngineConfig& aEngineConfig,
-                             MDiagExecPlanEntryImplObserver& aEntryObserver );
-
-    /**
-    * Symbian 2nd phase constructor
-    */
-    void ConstructL();
-
-    /**
-    * Change state
-    *   @param aState - new state.
-    */    
-    void ChangeState( TState aState );
-
-    /**
-    * Plan creation phase 1. Expand dependencies
-    *
-    * @return ETrue if any changes are made to the plan.
-    */
-    TBool ExpandDependenciesL();
-
-    /**
-    * Plan creation phase 2. Expand suites to plug-ins
-    *
-    * @return ETrure if any changes are made to the plan
-    */
-    TBool ExpandSuitesL();
-
-    /**
-    * Plan creation phase 3. Remove empty suites. Delete plan entries that
-    * just has prepare and finalize without any tests in between.
-    *
-    */
-    void RemoveEmptySuites();
-
-    /**
-    * Plan creation phase 4. Insert suite transition based on parent
-    *
-    */
-    void InsertSuiteTransitionsL();
-
-    /**
-    * Store next test plan item to database. Part of STEP_6.
-    *
-    */
-    void StoreNextTestPluginToDbL();
-    
-    /**
-    * Plan creation step 7. Prepend items from last session to new plan.
-    */
-    void PrependExecutedItemsL();
-
-    /**
-    * Report result to client.
-    * 
-    * @param aErr - Result to report back to engine. KErrNone if successful.
-    *   
-    */
-    void ReportResult( TInt aErr );
-
-    /**
-    * Insert plugin
-    *
-    * This function will attempt to add a plugin into plan. 
-    * If item already exists in the plan prior to the given index, it will
-    * not add a new item. 
-    * If item exists after the given index, and the item is a dependent item, it will
-    * move it up in the plan, so that it will be executed earlier.
-    * If item exists after the given index, and the item is not a dependent item, 
-    * it will create a duplicate entry, to make sure that client specified order
-    * is not changed.
-    *
-    * @param aPlugin - Plugin to insert
-    * @param aAsDependent - whether new item is to satify dependency or not.
-    * @param aAt - index to insert the dependent item to.
-    * @return ETrue if plan is updated. EFalse if no changes to plan is made.
-    */
-    TBool InsertPluginL( MDiagPlugin& aPlugin,
-                         TBool aAsDependent, 
-                         TInt aAt );
-
-    /**
-    * Utility function to create a default execution plan entry
-    *   For test plug-ins, it will create an entry with EQueueToRun as status.
-    *   For suite plug-ins, it will create an entry with ETypeSuiteUnexpanded as type.
-    *
-    * @param aPlugin - Plugin to create default entry for. Either test or suite plug-in.
-    * @param aAsDependency - Whether the entry should be created as dependency or not.
-    *
-    * @return New execution plan entry. Ownership is transferred.
-    */
-    CDiagExecPlanEntryImpl* CreateDefaultPlanEntryLC(
-            MDiagPlugin& aPlugin,
-            TBool aAsDependency ) const;
-
-    /**
-    * Utility function to add root suite if it does not alredy exists 
-    * in the plan. 
-    * 
-    * NOTE: This should be called only from InsertSuiteTransitionsL()
-    */
-    void AddRootSuiteIfMissingL();
-
-    /**
-    * Utility function to push new transition into stack.
-    *
-    * NOTE: This should be called only from InsertSuiteTransitionsL()
-    *
-    * @param aStack - Stack to push new transition to.
-    * @Param aHeadIndex - index in execution plan to head entry.
-    */
-    void PushNewLevelL( CStack<TTransitionStackEntry, ETrue>& aStack, TInt aHeadIndex );
-
-    /**
-    * Utility function to pop a level from stack. This will remove top entry
-    *
-    * NOTE: This should be called only from InsertSuiteTransitionsL()
-    *
-    * @param aStack - Stack to pop the head item from.
-    */
-    void PopLevel( CStack<TTransitionStackEntry, ETrue>& aStack );
-
-    /**
-    * Utility function to check if given level exists in stack
-    *
-    * NOTE: This should be called only from InsertSuiteTransitionsL()
-    *
-    * @param aStack - Stack to check levels in.
-    * @param aLevelUid - Uid of leven to check in stack.
-    * 
-    * @return ETrue if item exists in stack. EFalse if not found.
-    */
-    TBool IsLevelInStack( CStack<TTransitionStackEntry, ETrue>& aStack, TUid aLevelUid ) const;
-
-    /**
-    * Utility function to check if there is more of items of the same parent
-    * exists in the plan.
-    *
-    * NOTE: This should be called only from InsertSuiteTransitionsL()
-    * 
-    * @param aParentUid - Uid of suite to search for.
-    * @param aIndex - Index to execution plan to start searching for.
-    * @return ETrue if given suite is still needed.
-    *   EFalse otherwise.
-    */
-    TBool IsThisSuiteNeededAfterThisIndex( TUid aSuiteUid, TInt aIndex ) const;
-
-    /**
-    * Utility function to add a SuitePrepare entry into plan.
-    *
-    * NOTE: This should be called only from InsertSuiteTransitionsL()
-    *
-    * @param aLevelUid - Uid of suite to add in plan.
-    * @param aAt - Index in plan to add new prepare entry to.
-    */
-    void AddSuitePrepareL( TUid aLevelUid, TInt aAt );
-
-    /**
-    * Utility function to add a SuiteFinalize entry into plan.
-    *
-    * NOTE: This should be called only from InsertSuiteTransitionsL()
-    *
-    * @param aPrepareIndex - location in plan where prepare is at. Some information
-    *   from prepare item will be copied to finalize.
-    * @param aAt - Index in execution plan to add finalize entry to.
-    */
-    void AddSuiteFinalizeL( TInt aPrepareIndex, TInt aAt );
-    
-    /**
-    * Log plan information to debug log. This function does nothing in release build.
-    */
-    void LogPlanL() const;
-
-    /**
-    * Debug function that validate that entries are written to db correctly.
-    * This function does nothing in release build.
-    */
-    void LogPlanInRecordL() const;
-
-private: // data
-
-    /**
-    * iPlan - holds plan entries
-    * Individual entries are owned by the array.
-    */
-    RPointerArray<CDiagExecPlanEntryImpl> iPlan;
-
-    /**
-    * iExecutedEntries  - Items that are already executed in the
-    * previous session.
-    * Individual entries are owned by the array.
-    */
-    RPointerArray<CDiagExecPlanEntryImpl> iExecutedEntries;
-
-    /**
-    * iExecutionCursor - currently executing item.
-    */
-    TInt iExecutionCursor;
-
-    /**
-    * iResumeIndex - Index which session is being resumed from.
-    */
-    TInt iResumeIndex;
-
-    /**
-    * iEngine - Reference to diag engine.
-    */
-    MDiagEngineCommon& iEngine;
-
-    /**
-    * iEngineConfig - Enine configuration information.
-    */
-    const TDiagEngineConfig& iEngineConfig;
-
-    /**
-    * iPlanEntryObserver - Plan entry observer. Passed to each plan entry
-    *    when it is created.
-    */
-    MDiagExecPlanEntryImplObserver& iPlanEntryObserver;
-
-    /**
-    * iClientStatus - TRequestStatus of the client. Used to notify
-    * completion and error.
-    * Ownership - Does not own.
-    */
-    TRequestStatus* iClientStatus;
-
-    /**
-    * iState - state of the execution plan creation.
-    *   @see TState
-    */
-    TState iState;
-    };
-
-#endif // DIAGPLUGINEXECPLANIMPL_H
-
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagpluginloaderdependencyparser.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,341 +0,0 @@
-/*
-* 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 "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:  XML Parser for opaque data field of Plug-ins.  This field
-*  contains information about depdendencies and ordering.
-*
-*/
-
-
-#ifndef DIAGPLUGINLOADERDEPENDENCYPARSER_H
-#define DIAGPLUGINLOADERDEPENDENCYPARSER_H
-
-// INCLUDES
-#include <e32base.h>
-#include <xml/contenthandler.h>
-
-// FORWARD DECLARATION
-class CDesC16ArrayFlat;
-
-namespace Xml
-    {
-    class CParser;
-    class RAttribute;    
-    }
-
-namespace DiagPluginPool
-    {
-/**
-*  Plugin Loader Depdenency Parser
-*  Parse dependency information and other data out of plug-ins via the
-*  opaque_data field.
-* 
-* @since S60 v5.0
-*/
-NONSHARABLE_CLASS( CDependencyParser ) : public CBase, 
-                                         public Xml::MContentHandler
-    {
-public:
-
-    /**
-    * Two-phased constructor.
-    *
-    * @return New instance of CDependencyParser
-    */
-    static CDependencyParser* NewL();   
-    
-    /**
-    * Two-phased constructor.
-    *
-    * @return New instance of CDependencyParser and pop onto cleanup stack
-    */
-    static CDependencyParser* NewLC();   
-
-    /**
-    * Destructor.
-    */
-    virtual ~CDependencyParser();
-
-    /**
-    * Parse out Plug-in Information from XML.
-    *
-    * @param aOpaqueData    Contains text with opaque data for Dependencies/Order Number
-    * @param aDefaultData   Contains text with default data for Parent UID
-    * Leave Codes:    KErrNone      Valid data was parsed
-    *                 KErrNotFound  No valid fields found
-    *                 KErrArgument  Text is NULL or empty
-    *                 KErrCorrupt   XML was determined to be corrupt
-    * 
-    */
-    void ParseL( const TDesC8& aOpaqueData, const TDesC8& aDefaultData );
-    
-    /**
-    * Return parsed order number
-    *
-    * @return orrder number
-    */ 
-    TInt GetOrderNumber() const;
-
-    /**
-    * Return parsed parent UID
-    *
-    * @return parent UID
-    */ 
-    const TUid& GetParentUid() const;
-
-    /**
-    * Return parsed service provided.  Ownership is transferred to the caller    
-    *
-    * @return service provided
-    */
-    HBufC* GetServiceProvided();
-
-    /**
-    * Return parsed services required.  Caller assumes ownership.
-    *
-    * @return services required
-    */
-    CDesC16ArrayFlat* GetServicesRequired();
-    
-private:    // from  Base Class Xml::MContentHandler 
-    /**
-    * Callback from XML Parser that indicates a Plugin element is starting
-    *
-    * @param aElement     handle to element's details
-    * @param aAttributes  contains attributes for element
-    * @param aErrorCode   indicates error, if any
-    */     
-    virtual void OnStartElementL( const Xml::RTagInfo& aElement,
-                                  const Xml::RAttributeArray& aAttributes,
-                                  TInt aErrorCode );
-    
-    /**
-    * Callback from XML Parser that indicates the end of a plug-in element
-    *
-    * @param aElement     handle to element's details
-    * @param aErrorCode   indicates error, if any
-    */         
-    virtual void OnEndElementL( const Xml::RTagInfo& aElement, TInt aErrorCode );
-    
-    /**
-    * Callback from XML Parser that indicates content in an XML element
-    *
-    * @param aBytes       simple stream of data indicating the content
-    * @param aErrorCode   indicates error, if any
-    */     
-    virtual void OnContentL( const TDesC8& aBytes, TInt aErrorCode );
-
-    /**
-    * Callback from XML Parser that indicates a parsing error
-    *
-    * @param aErrorCode   indicates error, if any
-    * Note: The XmlFramework has been allocated error codes in the range: -17550 to -17599
-    */         
-    virtual void OnError( TInt aErrorCode );
-    
-    // Unused virtual member functions
-    
-    /**
-    * @see Xml::MContentHandler::OnStartDocumentL
-    */
-    virtual void OnStartDocumentL( const Xml::RDocumentParameters& aDocParam, TInt aErrorCode );
-    
-    /**
-    * @see Xml::MContentHandler::OnEndDocumentL
-    */
-    virtual void OnEndDocumentL( TInt aErrorCode );
-
-    /**
-    * @see Xml::MContentHandler::OnEndDocumentL
-    */    
-    virtual void OnStartPrefixMappingL( const RString& aPrefix, 
-                                        const RString& aUri, 
-                                        TInt aErrorCode );    
-    /**
-    * @see Xml::MContentHandler::OnEndDocumentL
-    */    
-    virtual void OnEndPrefixMappingL( const RString& aPrefix, TInt aErrorCode );
-    
-    /**
-    * @see Xml::MContentHandler::OnEndDocumentL
-    */    
-    virtual void OnIgnorableWhiteSpaceL( const TDesC8& aBytes, TInt aErrorCode );
-    
-    /**
-    * @see Xml::MContentHandler::OnEndDocumentL
-    */    
-    virtual void OnSkippedEntityL( const RString& aName, TInt aErrorCode );
-    
-    /**
-    * @see Xml::MContentHandler::OnEndDocumentL
-    */    
-    virtual void OnProcessingInstructionL( const TDesC8& aTarget, 
-                                           const TDesC8& aData, 
-                                           TInt aErrorCode );    
-    /**
-    * @see Xml::MContentHandler::OnEndDocumentL
-    */    
-    virtual void OnExtensionL( const RString& aData, TInt aToken, TInt aErrorCode );
-    
-    /**
-    * @see Xml::MContentHandler::OnEndDocumentL
-    */    
-    virtual TAny* GetExtendedInterface( const TInt32 aUid );
-    
-private:    // private utility functions
-
-    /**     
-    * Simple utility function to allocate and pop onto the stack a 16 bit buffer descriptor
-    * from an 8 bit descriptor.
-    *
-    * @param aDes   8 bit descriptor to be converted to 16 bits
-    * @return       Newly allocated 16-bit buffer containing converted contents of aDes
-    */      
-    HBufC* Convert8BitTo16BitBufferLC( const TDesC8& aDes ) const;
-    
-    /**     
-    * Parse a numeric attribute from XML text with specific notation for diagnostics framework
-    * plug-ins.
-    *
-    * @param aAttribute         XML attribute
-    * @param aNumericAttribute  Parsed out integer
-    * @return                   Indicates whether or not attribute was parsed correctly
-    */      
-    TBool ParseNumericAttribute( const Xml::RAttribute& aAttribute, TInt& aNumericAttribute );
-    
-    /**     
-    * Parse a string attribute from XML text with specific notation for diagnostics framework
-    * plug-ins.
-    *
-    * @param aAttribute         XML attribute
-    * @param aStringAttribute   Parsed out string
-    * @return                   Indicates whether or not attribute was parsed correctly
-    */          
-    TBool ParseStringAttributeL( const Xml::RAttribute& aAttribute, HBufC*& aStringAttribute );
-    
-    /**     
-    * Parse a hex UID from given descriptor
-    *
-    * @param aSource             String containing UID
-    * @param aTarget             Parsed out UID
-    * @return                    Error Code
-    */          
-    TInt ParseToUid( const TDesC8& aSource, TUid& aTarget );
-    
-    /**     
-    * Parse a hex UID from given descriptor
-    *
-    * @param aAttributes         List of attributes to parse
-    * @param aFoundTag           Reference to some class variable that indicates if a given tag has been found.
-    * @return                    ETrue==XML OK/EFalse==XML not validated
-    */     
-    TBool ValidateXmlTag( const Xml::RAttributeArray& aAttributes, TBool& aFoundTag );
-       
-    /**     
-    * Reset all data
-    *
-    */  
-    void ResetL();
-    
-private:  // private constructors
-
-    /**
-    * Construct a CDependencyParser object
-    *    
-    */
-    CDependencyParser();
-    
-    /**
-    * 2nd phase constructor
-    *
-    */     
-    void ConstructL();
-
-private: // data
-    
-    /**
-     * Pointer to XML Parser from SDK
-     * owns
-     */
-    Xml::CParser* iParser;
-
-    /**
-    * Error code indicates error in parsing
-    */
-    TInt iParseStatus;
-
-    /**
-    * Parsed order number
-    */
-    TInt iOrderNumber;
-
-    /**
-    * Parsed provided service
-    * owns
-    */
-    HBufC* iServiceProvided;
-
-    /**
-    * Parsed required service
-    * owns
-    */
-    CDesC16ArrayFlat* iServicesRequired;
-
-    /**
-    * Parsed parent uid
-    */
-    TUid iParentUid;
-
-    /**
-    * Indicates that parsing is happening within services required blocks
-    */
-    TBool iParsingServicesRequired;
-
-    /**
-    * Indicates that there was some problem with the parsing
-    */
-    TBool iBadXML;
-
-    /**
-    * Indicates that root node has been found and we are inside it
-    */
-    TBool iInsideRootNode;
-    
-    /**
-    * Indicates that order number has been found
-    */    
-    TBool iFoundOrderNumber;
-    
-    /**
-    * Indicates that services provided has been found
-    */    
-    TBool iFoundServiceProvided;
-    
-    /**
-    * Indicates that services required has been found
-    */    
-    TBool iFoundServicesRequired;
-    
-    /**
-    * Indicates that parser has been run at least once
-    */    
-    TBool iHasBeenRun;
-        
-    };
-        
-    } // namespace DiagPluginPool
-
-#endif // DIAGPLUGINLOADERDEPENDENCYPARSER_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagpluginpool.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +0,0 @@
-/*
-* 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 "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:  Manages Diagnostics Plug-in
-*
-*/
-
-
-#ifndef DIAGPLUGINPOOL_H
-#define DIAGPLUGINPOOL_H
-
-// INCLUDES
-#include <e32base.h>            // CBase
-
-// FORWARD DECLARATIONS
-class MDiagPlugin;
-class MDiagPluginPoolObserver;
-class CDiagPluginPoolImpl;        
-
-
-/**
-*  Diagnostics Framework Plugin Pool Class
-*
-*  This class is used to load Diagnostics ECom plug-ins. It works with both
-*  Suite Plug-in and Test Plug-in. Once loaded, it will manage the life
-*  cycle of the plug-ins.
-*
-*  All loaded plug-ins will be destroyed when pool is deleted.
-*
-*  @since S60 v5.0
-*/
-NONSHARABLE_CLASS( CDiagPluginPool ) : public CBase
-    {
-public:
-
-    /**
-    * Two-phased constructors
-    *
-    * @param aObserver     Plug-in Pool observer.
-    * @return New instance of CDiagPluginPool
-    */
-    IMPORT_C static CDiagPluginPool* NewL( MDiagPluginPoolObserver& aObserver );
-    IMPORT_C static CDiagPluginPool* NewLC( MDiagPluginPoolObserver& aObserver );
-
-    /**
-    * Destructor
-    *
-    */
-    IMPORT_C virtual ~CDiagPluginPool();
-
-public:     // new API
-
-    /**
-    * Loads all plug-ins. Progress is notified via MDiagPluginPoolObserver.
-    * 
-    * @param aUid - Interface Uid to load.
-    */
-    IMPORT_C void LoadAsyncL( TUid aUid );
-    
-    /**
-    * Create an instance of a plug-in. It can be a test plug-in or suite plug-in.
-    * If this is a suite, it will not have its children associated with it since
-    * will require children to be loaded as well.
-    *
-    * Plug-ins created using this method is not part of plug-in pool. Therefore
-    * client must manage the life cycle of the plug-in.
-    * 
-    * @param aUid - Implementation Uid of plug-in. 
-    * @return Newly instantiated plug-in. Ownership is transferred to caller.
-    */
-    IMPORT_C static MDiagPlugin* CreatePluginL( TUid aUid );
-
-    /**
-    * Cancel Plug-in Loading
-    * This method cancels plug-in loading. If it was not currently loading
-    * plug-ins, it will leave with KErrNotReady
-    */
-    IMPORT_C void CancelLoadPluginsL();
-
-    /**
-    * Find Plug-in that matches given Uid.
-    *
-    * @param aUid      Uid of plug-in to search.
-    * @param aPlugin   Reference to Plugin found. Engine owns this plug-in.
-    *                  Client must not deallocate plug-in.
-    * @return TInt     KErrNone        - Success.
-    *                  KErrNotFound    - Not found.
-    *                  KErrNotReady    - Plug-ins are not yet loaded.
-    */
-    IMPORT_C TInt FindPlugin( TUid aUid, MDiagPlugin*& aPlugin ) const;
-
-    /**
-    * Find Plug-in that matches given Uid. This function will leave on error.
-    *  Leave codes:    KErrNone        - Success.
-    *                  KErrNotFound    - Not found.
-    *                  KErrNotReady    - Plug-ins are not yet loaded.
-    *
-    * @param aUid      Uid of plug-in to search.
-    * @return Refernce to the plug-in found.
-    */
-    IMPORT_C MDiagPlugin& FindPluginL( TUid aUid ) const;
-
-    /**
-    * Find Plug-in that matches given service name.
-    *
-    * @param aServiceName  Service name of the plug-in. Name must match exactly.
-    * @param aPlugin       Reference to Plugin found. Engine owns this plug-in.
-    *                      Client must not deallocate plug-in.
-    * @return TInt         KErrNone        - Success.
-    *                      KErrNotFound    - Not found.
-    *                      KErrNotReady    - Plug-ins are not yet loaded.
-    */
-    IMPORT_C TInt FindPlugin( const TDesC& aServiceName,
-                              MDiagPlugin*& aPlugin ) const;
-
-    /**
-    * Find Plug-in that matches given service name. Will leave on error.
-    *  Leave codes:    KErrNone        - Success.
-    *                  KErrNotFound    - Not found.
-    *                  KErrNotReady    - Plug-ins are not yet loaded.
-    *
-    * @param aServiceName  Service name of the plug-in. Name must match exactly.
-    * @return Reference to Plugin found.
-    */
-    IMPORT_C MDiagPlugin& FindPluginL( const TDesC& aServiceName ) const;
-
-private:  // private constructors
-    
-    /**
-    * C++ Constructor
-    *    
-    */    
-    CDiagPluginPool();
-    
-    /**
-    * 2nd phase constructor
-    *    
-    */        
-    void ConstructL( MDiagPluginPoolObserver& aObserver );
-
-private:    //  MEMBER DATA
-    
-    /**
-    * iPluginPoolImpl - Acutal implementation of CDiagPluginPool
-    * Owns
-    */
-    CDiagPluginPoolImpl* iPluginPoolImpl;
-    };
-
-
-#endif // DIAGPLUGINPOOL_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagpluginpoolimpl.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,262 +0,0 @@
-/*
-* 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 "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:  Manages Diagnostics Plug-in
-*
-*/
-
-
-#ifndef DIAGPLUGINPOOLIMPL_H
-#define DIAGPLUGINPOOLIMPL_H
-
-// INCLUDES
-#include <e32base.h>                    // CActive
-#include <implementationinformation.h>  // RImplInfoPtrArray
-
-// FORWARD DECLARATIONS
-class MDiagPlugin;
-class MDiagPluginPoolObserver;
-class CDiagPluginConstructionParam;
-class MDiagSuitePlugin;   
-
-/**
-*  Diagnostics Framework Plugin Pool Implementation Class
-*
-*  This class is used to load Diagnostics ECom plug-ins. It works with both
-*  Suite Plug-in and Test Plug-in. Once loaded, it will manage the life
-*  cycle of the plug-ins.
-*
-*  All loaded plug-ins will be destroyed when pool is deleted.
-*
-*  @since S60 v5.0
-*/
-NONSHARABLE_CLASS( CDiagPluginPoolImpl ) : public CActive
-    {
-public:
-
-    /**
-    * Two-phased constructors
-    *
-    * @param aObserver     Plug-in Pool observer.
-    * @return New instance of CDiagPluginPool
-    */
-    static CDiagPluginPoolImpl* NewL( MDiagPluginPoolObserver& aObserver );
-    static CDiagPluginPoolImpl* NewLC( MDiagPluginPoolObserver& aObserver );
-
-    /**
-    * Destructor
-    *
-    */
-    virtual ~CDiagPluginPoolImpl();
-
-public:     // new API
-
-    /**
-    * Loads all plug-ins. Progress is notified via MDiagPluginPoolObserver.
-    * Leave codes:     KErrNone        - Success.
-    *                  KErrNotFound    - No plugins
-    *                  KErrAlreadyExists    - Plug-ins have already been loaded.
-    */
-    void LoadAsyncL();
-    
-    /**
-    * Create an instance of a plug-in. It can be a test plug-in or suite plug-in.
-    * If this is a suite, it will not have its children associated with it since
-    * will require children to be loaded as well.
-    *
-    * Plug-ins created using this method is not part of plug-in pool. Therefore
-    * client must manage the life cycle of the plug-in.
-    * 
-    * @param aUid - Implementation Uid of plug-in. 
-    * @return Newly instantiated plug-in. Ownership is transferred to caller.
-    */
-    static MDiagPlugin* CreatePluginL( const TUid aUid );
-
-    /**
-    * Find Plug-in that matches given Uid.
-    *
-    * @param aUid      Uid of plug-in to search.
-    * @param aPlugin   Reference to Plugin found. Engine owns this plug-in.
-    *                  Client must not deallocate plug-in.
-    * @return TInt     KErrNone        - Success.
-    *                  KErrNotFound    - Not found.
-    *                  KErrNotReady    - Plug-ins are not yet loaded.
-    */
-    TInt FindPlugin( TUid aUid, MDiagPlugin*& aPlugin ) const;
-
-    /**
-    * Find Plug-in that matches given service name.
-    *
-    * @param aServiceName  Service name of the plug-in. Name must match exactly.
-    * @param aPlugin       Reference to Plugin found. Engine owns this plug-in.
-    *                      Client must not deallocate plug-in.
-    * @return TInt         KErrNone        - Success.
-    *                      KErrNotFound    - Not found.
-    *                      KErrNotReady    - Plug-ins are not yet loaded.
-    */
-    TInt FindPlugin( const TDesC& aServiceName, 
-                             MDiagPlugin*& aPlugin ) const;      
-
-
-private:    // internal types                                   
-    typedef RPointerArray<CDiagPluginConstructionParam> RConstructionParamArray;        
-                             
-private:    // private constructors
-    
-    /**
-    * Construct a CDiagPluginPoolImpl object
-    *
-    * @param aObserver  The observer which listens to plug-in pool events
-    */
-    CDiagPluginPoolImpl( MDiagPluginPoolObserver& aObserver );
-    
-    /**
-    * 2nd phase constructor
-    *
-    */    
-    void ConstructL();  
-
-
-private: // internal API
-
-    /**
-    * Obtain the list construction paramaters to construct a plug-in
-    *    
-    * @return Pointer to construction paramaters pointer array
-    */    
-    static RConstructionParamArray* GeneratePluginListL();
-    
-    /**
-    * Generate parmaters to construct a plug-in given the ECOM implementation
-    * info structure
-    *
-    * @param aInfo  Pointer to the implementation info structure
-    * @return Pointer to newly generated construction params
-    */
-    
-    static CDiagPluginConstructionParam* GenerateConstructionParamsLC(
-            const CImplementationInformation* aInfo );
-            
-    /**
-    * Create a plug-in from given construction data
-    *
-    * @param aInfo  Pointer to the implementation info structure
-    * @return Pointer to the newly created plug-in
-    */
-    static MDiagPlugin* CreatePluginFromConstructionParamsL(
-            const CDiagPluginConstructionParam* aParams );                       
-
-    /**
-    * Setup active object for next iteration of plug-in loading
-    *    
-    */
-    void SetNextIteration();
-    
-    /**
-    * Load the next plug-in in the list per built in iterator
-    *    
-    */
-    void LoadNextPluginL();
-    
-    /**
-    * Add plug-in to plug-in pool by inserting into the plug-in tree.
-    * Plug-in ownership is transferred to the Plug-in Pool if it is
-    * supported.  If the plug-in is not supported, it is deleted.
-    *
-    * @param aPlugin pointer to the new plug-in to be added
-    * @return TUid UID of the plug-in to report back to the application.
-    * Set to TUid::Null() if the plug-in was not added to the pool.
-    */
-    TUid AddPluginToPoolLD( MDiagPlugin* aPlugin );
-    
-    /**
-    * Destroy implementation info regarding ECOM plug-ins
-    *    
-    */
-    void DestroyConstructionParams();            
-
-    /**
-    * Call when a plug-in is loaded to add a newly loaded plug-in to a currently 
-    * loaded suite (if available)
-    * no ownership transfer
-    *
-    * @param aPluginSuite pointer to the new plug-in to be added
-    */
-    void AddNewPluginToSuiteL(MDiagPlugin* aPlugin);
-    
-    /**
-    * Call when a suite is loaded to add any existing parentless plug-ins with
-    * matching parent UID to suite
-    * no ownership transfer
-    *
-    * @param aPluginSuite pointer to the new suite to be added
-    */
-    void AddPluginsToNewSuiteL(MDiagSuitePlugin* aPluginSuite);
-    
-    /**
-    * Resets all member data and notifies observer that load is copmlete
-    *
-    * @param aErrorCode Plug-In load error
-    * @return LoadCompletedL error, if any
-    */
-    TInt ResetAndNotify(TInt aErrorCode);
-
-
-private: // From CActive
-
-    /**
-    * @see CActive::RunL
-    */
-    virtual void RunL();
-
-    /**
-    * @see CActive::DoCancel
-    */
-    virtual void DoCancel();
-
-    /**
-    * @see CActive::RunError
-    */
-    virtual TInt RunError( TInt aError );
-
-private:    //  member data
-
-    MDiagPluginPoolObserver& iObserver;
-            
-    // List of plug-ins that have been loaded
-    RPointerArray<MDiagPlugin> iPlugins;        
-    
-    // Array of plug-in construction params        
-    // owned
-    RConstructionParamArray* iConstructionParamArray;
-    
-    // Indicates that all plug-ins have been loaded
-    TBool iPluginsLoaded;
-    
-    // Indicates that plug-ins are currently loading
-    TBool iPluginsLoading;
-            
-    // Index of current plug-in for plug-in load iteration
-    TInt iCurrentPluginIndex;            
-    
-    // Holds error code for first error found in loading process
-    TInt iErrorCode;
-    
-    // Total number of plug-ins found
-    TInt iTotalPluginsFound;
-    };
-    
-#endif // DIAGPLUGINPOOLIMPL_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagpluginpoolobserver.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
-* 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 "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:  Observer interface to use with CDiagPluginPool 
-*
-*/
-
-
-#ifndef DIAGPLUGINPOOLOBSERVER_H
-#define DIAGPLUGINPOOLOBSERVER_H
-
-// INCLUDES
-#include <e32cmn.h>     // TUid
-#include <e32def.h>     // TInt
-
-// FORWARD DECLARATIONS
-class MDiagPlugin;
-
-/**
-*  Diagnostics Framework Plugin Pool Observer
-*
-*  This interface is called by CDiagPluginPool to notify the plug-in 
-*  loading progress. This is used only for LoadAsyncL() scenario.
-*
-*  @since S60 v5.0
-*/
-class MDiagPluginPoolObserver 
-    {
-public:
-
-    /**
-    * Notify client of plug-in loading progress.
-    *
-    * @param aCurrPlugin   Current plugin index in loading process. 
-    *                       Use it to display loading progress.
-    * @param aPluginCount  Totals number of plug-ins
-    * @param aLoadedPluginUid  Uid of the plug-in just loaded.
-    */
-    virtual void LoadProgressL( TUint aCurrentPlugin, 
-                                TUint aPluginCount, 
-                                const TUid& aLoadedPluginUid ) = 0;
-
-
-    /**
-    * Notify client of plug-in loading completion
-    *
-    * @param aError     KErrNone - Success
-    *                   KErrCorrupt  - One ore more plugin could not
-    *                   be loaded. 
-    *                   KErrNoMemory - Not enough memory.
-    */
-    virtual void LoadCompletedL( TInt aError ) = 0;
-    };
-
-
-#endif // DIAGPLUGINPOOLOBSERVER_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagresultdetail.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-/*
-* 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 "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:  Diagnostics Detail Test Result Interface
-*
-*/
-
-
-#ifndef DIAGRESULTDETAIL_H
-#define DIAGRESULTDETAIL_H
-
-// INCLUDES
-#include <e32cmn.h>         // RBuf
-
-// FORWARD DECLARATIONS
-class CGulIcon;
-
-
-/**
-*  Diagnostics Framework Test Result Details
-*
-*  This interface allows application to query addtional information about
-*  Diagnostics Test Result.  
-*
-*  @since S60 v5.0
-*/
-class MDiagResultDetail 
-    {
-public:
-    /** 
-    * Possible Output Formats.
-    */
-    enum TOutputFormat
-        {
-        EGetMoreInfo,           // Human readable text format.
-        ECorrectionUrl,         // URL for correction
-        ECorrectionUrlCaption   // Caption for the correction URL.
-        };
-
-    /**
-    * Get list of supported output
-    *
-    * @param aOutputList   - Returns supported output formats
-    */
-    virtual void GetSupportedOutput( RArray<TOutputFormat>& aOutputList ) const = 0;
-
-    /**
-    * Check if a given output format is supported.
-    *
-    * @param aOutputFormat - Possible output formate.
-    * @return ETrue if supported. EFalse otherwise.
-    */
-    virtual TBool IsOutputSupported( TOutputFormat aOutputFormat ) const = 0;
-
-    /**
-    * Output current result to a specified format.
-    *
-    * @param aFormat   Format of desired output.
-    * @param aBuffer   Output buffer.
-    */
-    virtual void GetOutputL( TOutputFormat aFormat, RBuf& aBuffer ) const = 0;
-
-    /**
-    * Create an icon. Icon can be created based on the results of the test.
-    *
-    * @return An icon that matches the result of the test.
-    **/
-    virtual CGulIcon* CreateIconL() const = 0;
-
-    /**
-    * Externalize to CBufFlat. This will be how the data will be stored in the 
-    * CDiagResultsDatabaseItem
-    *
-    * @return CBufFlat containing the externalized data. Ownership is passed 
-    *   to the caller.
-    **/
-    virtual CBufFlat* ExternalizeToBufferL() const = 0;
-
-    /**
-    * C++ Virtual destructor. Virtual destructor must be defined to make sure
-    * that correct destructor is called. 
-    *
-    **/
-    virtual ~MDiagResultDetail() {};
-    };
-
-#endif // DIAGRESULTDETAIL_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagresultsdbItembuilder.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,244 +0,0 @@
-/*
-* 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 "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:  Diagnostics Results Database Item Builder
-*
-*/
-
-
-
-#ifndef DIAGRESULTSDBITEMBUILDER_H
-#define DIAGRESULTSDBITEMBUILDER_H
-
-// INCLUDES
-#include <DiagResultsDatabaseItem.h>        // CDiagResultsDatabaseItem::TResult
-
-// FORWARD DECLARATIONS
-namespace DRM
-    {
-    class CDrmServiceApi;
-    }
-
-class MDiagResultDetail;
-
-
-/**
-*  Diagnostics Result Database Item Builder.
-*
-*  This class can be used to build CDiagResultsDatabaseItem, without having
-*  to have all the values avaliable.
-*
-*  @since S60 v5.0
-*/
-NONSHARABLE_CLASS( CDiagResultsDbItemBuilder ) : public CBase
-    {
-public:  // Constructors and Destructors
-    /**
-    * Two-phase constructor.
-    *
-    * This will set the test started time to now.
-    *
-    * @param aTestUid - Test Uid.
-    * @param aDependencyExecution - Whether thsa was executed as dependency.
-    * @return New instance of CDiagResultsDbItemBuilder
-    */
-    IMPORT_C static CDiagResultsDbItemBuilder* NewL( TUid  aTestUid,
-                                                     TBool aDependencyExecution );
-    IMPORT_C static CDiagResultsDbItemBuilder* NewLC( TUid  aTestUid,
-                                                      TBool aDependencyExecution );
-
-    /**
-    * Destructor
-    *
-    */
-    virtual ~CDiagResultsDbItemBuilder();
-
-public: // New Interface
-
-    /**
-    * Set Test Uid
-    *
-    * @param aUid - Test uid.
-    */
-    IMPORT_C void SetTestUid( TUid aUid );
-
-    /**
-    * Get Test Uid
-    *
-    * @return Test uid.
-    */
-    IMPORT_C TUid TestUid() const;
-
-    /**
-    * Get current time. If DRM clock is available, it will use the DRM clock.
-    *
-    */
-    IMPORT_C TTime GetCurrentTime() const;
-
-    /**
-    * Set whether test was executed as dependency or not.
-    *
-    * @param aWasDependency
-    */
-    IMPORT_C void SetWasDependency( TBool aWasDependency );
-
-    /**
-    * Get was dependency value
-    *
-    * @return ETrue if test was executed as a dependency.
-    */
-    IMPORT_C TBool WasDependency() const;
-
-    /**
-    * Update test result and also set completed time to now
-    *
-    * @param aResult - Test result.
-    */
-    IMPORT_C void SetTestCompleted( CDiagResultsDatabaseItem::TResult aResult );
-
-    /**
-    * Get Test result
-    *
-    * @return Test result.
-    */
-    IMPORT_C CDiagResultsDatabaseItem::TResult TestResult() const;
-
-    /**
-    * Set Time Started 
-    *
-    * @param aTime - time started.
-    */
-    IMPORT_C void SetTimeStarted( TTime aTime );
-
-    /**
-    * Get Time started.
-    *
-    * @return Time started.
-    */
-    IMPORT_C TTime TimeStarted() const;
-
-    /**
-    * Set Time Completed
-    *
-    * @param aTime - time completed.
-    */
-    IMPORT_C void SetTimeCompleted( TTime aTime );
-
-    /**
-    * Get Time Completed..
-    *
-    * @return Time Completed.
-    */
-    IMPORT_C TTime TimeCompleted() const;
-
-    /**
-    * Set result detail object. If it was already set, previous object is deleted.
-    *
-    * @param aResultDetail - Result detail object. Ownership is transferred.
-    */
-    IMPORT_C void SetResultDetail( MDiagResultDetail* aResultDetail );
-
-    /**
-    * Get result detail object. Use static_cast to change to specific instance.
-    *   If result detail was not set previosuly, it will Panic with 
-    *   EDiagFrameworkInvalidState
-    *
-    * @return Result detail object.
-    */
-    IMPORT_C MDiagResultDetail& ResultDetail() const;
-
-    /**
-    * Create CDiagResultsDatabaseItem from data available.
-    *
-    */
-    IMPORT_C CDiagResultsDatabaseItem* ToResultsDatabaseItemL() const;
-
-    /**
-    * Create a simple CDiagResultsDatabaseItem. This function is meant to be
-    * used to create default result data with just with minimal set of information.
-    * It will use current time as both start and end time of test.
-    * If manipulation of other information in needed, either instantiate
-    * CDiagResultsDbItemBuilder or CDiagResultsDatabaseItem
-    *
-    * @param aTestUid - Uid of test plugin.
-    * @param aAsDependency - Whether it was executed as dependency or not.
-    * @param aResultType - Result of the test.
-    * @return Instance of CDiagResultsDatabaseItem* with given info. 
-    *   Ownership is transferred.
-    */
-    IMPORT_C static CDiagResultsDatabaseItem* CreateSimpleDbItemL( 
-        TUid aTestUid,
-        TBool aAsDependency,
-        CDiagResultsDatabaseItem::TResult aResultType );
-
-
-protected:  // constructors
-    /**
-    * C++ Constructor
-    *
-    * @param aTestUid - Uid of the test
-    * @param aDependencyExecution - Whether this is being executed as dependency.
-    */
-    CDiagResultsDbItemBuilder( TUid  aTestUid,
-                               TBool aDependencyExecution );
-    /**
-    * ConstructL
-    *
-    */
-    void ConstructL();
-
-private: // Data
-    /**
-    * iTestUid - Uid of the test plug-in that this result is for.
-    */
-    TUid iTestUid;
-
-    /**
-    * iDependencyExecution - Whether this test is being executed to 
-    *   satisfy dependency or not.
-    */
-    TBool iDependencyExecution;
-
-    /**
-    * iResut - Actual result of the test.
-    */
-    CDiagResultsDatabaseItem::TResult iResult;
-
-    /**
-    * iStartTime - Time test started.
-    */
-    TTime iStartTime;
-
-    /**
-    * iEndTime - Time test finished.
-    */
-    TTime iEndTime;
-
-    /**
-    * iResultDetail - Extra details data.
-    * Owns.
-    */
-    MDiagResultDetail* iResultDetail;
-
-    /**
-    * iDrmApi - Used to get accurate clock through DRM.
-    * Owns.
-    */
-    DRM::CDrmServiceApi* iDrmApi;
-    };
-
-
-#endif // DIAGRESULTSDBITEMBUILDER_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagrootsuite.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,233 +0,0 @@
-/*
-* 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 "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:  Class declaration for CDiagRootSuite
-*
-*/
-
-
-#ifndef DIAGROOTSUITE_H
-#define DIAGROOTSUITE_H
-
-
-// SYSTEM INCLUDES
-#include <DiagSuitePlugin.h>        // MDiagSuitePlugin
-
-// USER INCLUDES
-
-// fORWARD DECLARATIONS
-
-namespace DiagFwInternal
-    {
-/**
-*  Diagnostics Root Suite
-*
-*  This class implements root suite. This provides a container for ALL suites
-*  that can be loaded via Plug-in Pool.
-*
-*  @since S60 v5.0
-*/
-NONSHARABLE_CLASS( CDiagRootSuite ) : public CBase,
-                                      public MDiagSuitePlugin
-    {
-public:
-
-    /**
-    * Two-phased constructors.
-    *
-    * @return New instance of CDiagRootSuite*
-    */
-    static CDiagRootSuite* NewL();
-    static CDiagRootSuite* NewLC();
-    
-    /**
-    * Destructor.
-    */
-    virtual ~CDiagRootSuite();
-
-public: // from MDiagPlugin
-    /**
-    * Get name of the plug-in
-    * @see MDiagPlugin::GetPluginNameL
-    */
-    virtual HBufC* GetPluginNameL( TNameLayoutType aLayoutType ) const;
-
-    /**
-    * Get name of the service it provides.
-    * @see MDiagPlugin::ServiceLogicalName
-    */
-    virtual const TDesC& ServiceLogicalName() const;
-
-    /**
-    * Get list af dependencies it requires.
-    * @see MDiagPlugin::GetLogicalDependenciesL
-    */
-    virtual void GetLogicalDependenciesL( CPtrCArray& aArray ) const;
-
-    /**
-    * Get Type of plug-in
-    * @see MDiagPlugin::Type
-    */
-    virtual TPluginType Type() const;
-
-    /**
-    * Create an icon for this plug-in.
-    * @see MDiagPlugin::CreateIconL
-    */
-    virtual CGulIcon* CreateIconL() const;
-
-    /**
-    * Whether this plug-in should be visible to user or not.
-    * @see MDiagPlugin::IsVisible
-    */
-    virtual TBool IsVisible() const;
-
-    /**
-    * Whether this plug-in is supported in this build or not.
-    * @see MDiagPlugin::IsSupported
-    */
-    virtual TBool IsSupported() const;
-
-    /**
-    * Get localized title of the plug-in
-    * @see MDiagPlugin::GetTitleL
-    */
-    virtual HBufC* GetTitleL() const;
-
-    /**
-    * Get localized description of the plug-in
-    * @see MDiagPlugin::GetDescriptionL
-    */
-    virtual HBufC* GetDescriptionL() const;
-
-    /**
-    * Uid of the plug-in
-    * @see MDiagPlugin::Uid
-    */
-    virtual TUid Uid() const;
-
-    /**
-    * Uid of the parent plug-in
-    * @see MDiagPlugin::ParentUid
-    */
-    virtual TUid ParentUid() const;
-
-    /**
-    * Set destructor key for ECOM plug-in
-    * @see MDiagPlugin::SetDtorIdKey
-    */
-    virtual void SetDtorIdKey( TUid aDtorIdKey );
-
-    /**
-    * Custom operation
-    * @see MDiagPlugin::CustomOperationL
-    */
-    virtual TAny* CustomOperationL( TUid aUid, TAny* aParam );
-
-    /**
-    * Custom operation
-    * @see MDiagPlugin::GetCustomL
-    */
-    virtual TAny* GetCustomL( TUid aUid, TAny* aParam );
-
-    /**
-    * Order to appear in the parent
-    * @see MDiagPlugin::Order
-    */
-    virtual TUint Order() const;
-
-    /**
-    * Initialize the plug-in for execution.
-    * @see MDiagPlugin::TestSessionBeginL
-    */
-    virtual void TestSessionBeginL( MDiagEngineCommon& aEngine,
-                                    TBool aSkipDependencyCheck,
-                                    TAny* aCustomParams );
-
-    /**
-    * Cleanup the plug-in after execution.
-    * @see MDiagPlugin::TestSessionEndL
-    */
-    virtual void TestSessionEndL( MDiagEngineCommon& aEngine,
-                                  TBool aSkipDependencyCheck,
-                                  TAny* aCustomParams );
-
-public: // from MDiagSuitePlugin
-    /**
-    * Get list of children in the specified order.
-    * @see MDiagSuitePlugin::GetChildrenL
-    */
-    virtual void GetChildrenL( RPointerArray<MDiagPlugin>& aChildren,
-                               TSortOrder aOrder ) const;
-
-    /**
-    * Add child 
-    * @see MDiagSuitePlugin::AddChildL
-    */
-    virtual void AddChildL( MDiagPlugin* aChild );
-
-    /**
-    * Prepare suite entering one of its children.
-    * @see MDiagSuitePlugin::PrepareExecutionL
-    */
-    virtual void PrepareChildrenExecutionL( TDiagSuiteExecParam* aParam,
-                                            TBool aSkipDependencyCheck,
-                                            TBool aDependencyExecution );
-
-    /**
-    * Finalize suite for exiting one of its children.
-    * @see MDiagSuitePlugin::FinalizeExecutionL
-    */
-    virtual void FinalizeChildrenExecutionL( TDiagSuiteExecParam* aParam,
-                                             TBool aSkipDependencyCheck,
-                                             TBool aDependencyExecution );
-
-    /**
-    * Get list of uids of its children it the specified order.
-    * @see MDiagSuitePlugin::GetChildrenUidsL
-    */
-    virtual void GetChildrenUidsL( RArray<TUid>& aUids,
-                                   TSortOrder aOrder ) const;
-
-    /**
-    * Stop execution of PrepareExecutionL or FinalizeExecutionL
-    * @see MDiagSuitePlugin::ExecutionStopL
-    */
-    virtual void ExecutionStopL( TStopReason aReason );
-
-
-private: // private constructors
-
-    /**
-    * C++ Constructor.
-    **/
-    CDiagRootSuite();
-    
-    /**
-    * 2nd phase constructor
-    */
-    void ConstructL();
-
-
-private: // data
-    
-    /**
-    * iChildren - list of plug-ins it owns.
-    */
-    RPointerArray<MDiagPlugin> iChildren;
-    };
-    } // namespace DiagFwInternal
-#endif // DIAGROOTSUITE_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagsuiteexecparam.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
-* 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 "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:  Provides execution parameters for Suite plug-ins
-*
-*/
-
-
-
-#ifndef DIAGSUITEEXECPARAM_H
-#define DIAGSUITEEXECPARAM_H
-
-// SYSTEM INCLUDES
-#include <e32def.h>             // IMPORT_C / EXPORT_C
-
-
-// FORWARD DECLARATIONS
-class MDiagSuiteObserver;
-class MDiagEngineCommon;
-
-/**
-* Diagnostics Suite plug-in Execution Parameters
-*
-* This class provides the execution environment for Suite plug-ins.
-*
-* @since S60 v5.0
-**/
-NONSHARABLE_CLASS( TDiagSuiteExecParam )
-    {
-public:
-    /**
-    * C++ Constructor
-    *
-    * @param aObserver - Observer to notify continuation. 
-    * @param aEngine - Reference to engine that provides necessary environment
-    *   for suite execution, such as CDiagPluginPool, CAknViewAppUi and
-    *   CDiagPluginExecPlan.
-    */
-    IMPORT_C TDiagSuiteExecParam( MDiagSuiteObserver& aObserver,
-                                  MDiagEngineCommon& aEngine );
-    
-public: // new functions
-
-    /**
-    * Get the Suite plug-in execution observer.
-    *
-    * @return MDiagSuiteObserver - Observer of Suite-plugin.
-    **/
-    IMPORT_C MDiagSuiteObserver& Observer() const;
-
-    /**
-    * Get execution engine.
-    *
-    * @return MDiagEngineCommon - Engine that executes the plug-in.
-    *   Engine provides various functionalities needed for executing
-    *   plug-ins.
-    **/
-    IMPORT_C MDiagEngineCommon& Engine() const;
-    
-private: // data
-    /**
-    * iObserver  - Suite execution observer.
-    */
-    MDiagSuiteObserver&  iObserver;
-
-    /**
-    * iEngine - Engine common interface.
-    */
-    MDiagEngineCommon&  iEngine;
-    };
-
-#endif // DIAGSUITEEXECPARAM_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagsuiteobserver.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* 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 "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:  Interface to observe suite plug-ins
-*
-*/
-
-
-#ifndef DIAGSUITEOBSERVER_H
-#define DIAGSUITEOBSERVER_H
-
-// FORWARD DECLARTION
-class MDiagSuitePlugin;
-
-/**
-*  Diagnostics Framework Suite Plug-in Observer
-*
-*  This interface is called by Suite Plug-ins to notify the engine
-*  of its suite execution completion.
-*
-*  @since S60 v5.0
-*/
-class MDiagSuiteObserver
-    {
-public:
-    /**
-    * Notify engine of suite plug-in execution completion.
-    * This should be called when PreTestExecutionL() or
-    * PostTestExecutionL() is called.
-    *
-    * @param aSender - reference to sender object.
-    */
-    virtual void ContinueExecutionL( const MDiagSuitePlugin& aSender ) = 0;
-    };
-
-
-#endif // DIAGSUITEOBSERVER_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagsuiteplugin.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,128 +0,0 @@
-/*
-* 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 "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 a test suite i.e. contains collection of tests. 
-*
-*/
-
-
-
-#ifndef DIAGSUITEPLUGIN_H
-#define DIAGSUITEPLUGIN_H
-
-// INCLUDES
-#include    <DiagPlugin.h>          // MDiagPlugin
-
-// FORWARD DECLARATIONS
-class MDiagSuiteObserver;
-class MDiagEngineCommon;
-class CDiagPluginPool;
-class TDiagSuiteExecParam;
-
-/**
-* Test suite plug-in abstract interface. 
-*
-* @since S60 v5.0
-**/
-class MDiagSuitePlugin: public MDiagPlugin
-    {
-public: //DATA STRUCTURES
-
-    /**
-    * Defines sorting algorithm.
-    **/
-    enum TSortOrder 
-    {
-        ENotSorted,
-        ESortByPosition
-    };
-
-    /**
-    * Reason for execution stop.
-    **/
-    enum TStopReason
-    {
-        ESkip,
-        ECancelAll,
-        EWatchdog
-    };
-
-public:    // new API
-
-    /**
-    * Get children of this plug-in. The pointer array is guaranteed to 
-    * be sorted defined by TSortOrder.
-    * @param aChildren Children are appended into this array.
-    * @param aOrder Sorting algorithm.
-    **/
-    virtual void GetChildrenL( RPointerArray<MDiagPlugin>& aChildren,
-                               TSortOrder aOrder ) const = 0;
-
-    /**
-    * Add one child. Child can be either a test suite or a test plug-in.
-    * @param aChild - Child to be added. Ownership is transferred to
-    *               MDiagPluginSuite.
-    **/
-    virtual void AddChildL( MDiagPlugin* aChild ) = 0;
-
-    /**
-    * Called before one of its test plug-in is executed.  Note that it will
-    * not be called if two of its children plug-ins are executed in 
-    * sequence.
-    *
-    * @param aExecParams Parameters for suite pre execution
-    * @param aSkipDependencyCheck - If ETrue dependency is disabled 
-    *   for this test session.
-    * @param aDependencyExecution - If ETrue, this suite is being
-    *   executed to satisfy dependency.
-    **/
-    virtual void PrepareChildrenExecutionL( TDiagSuiteExecParam* aParam,
-                                            TBool aSkipDependencyCheck,
-                                            TBool aDependencyExecution ) = 0;
-
-    /**
-    * Called before test execution switches to another test suite.
-    *
-    * @param aExecParams Parameters for suite post execution
-    * @param aSkipDependencyCheck - If ETrue dependency is disabled 
-    *   for this test session.
-    * @param aDependencyExecution - If ETrue, this suite is being
-    *   executed to satisfy dependency.
-    **/
-    virtual void FinalizeChildrenExecutionL( TDiagSuiteExecParam* aParam,
-                                             TBool aSkipDependencyCheck,
-                                             TBool aDependencyExecution ) = 0;
-
-    /**
-    * Get the Uids. The uid is used for database access.
-    * Test suites return a list of their childrens' uids.
-    *
-    * @param aUids An UID array.
-    * @param aOrder Sorting algorithm.
-    **/
-    virtual void GetChildrenUidsL( RArray<TUid>& aUids,
-                                   TSortOrder aOrder ) const = 0;
-
-    /**
-    * Cancels pre/post execution. Cancellation is expected to be synchronous.
-    * Suite plug-in must not call ContinueExecutionL().
-    *
-    * @param aReason - Reason why ExecutionStopL() is being called.
-    **/
-    virtual void ExecutionStopL( TStopReason aReason ) = 0;
-    };
-
-#endif // DIAGSUITEPLUGIN_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagtestexecparam.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
-* 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 "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:  Provides execution parameters for test plug-ins
-*
-*/
-
-
-
-#ifndef DIAGTESTEXECPARAM_H
-#define DIAGTESTEXECPARAM_H
-
-
-// SYSTEM INCLUDES
-#include <e32def.h>             // IMPORT_C / EXPORT_C
-
-// FORWARD DECLARATIONS
-class MDiagTestObserver;
-class MDiagEngineCommon;
-
-/**
-* Diagnostics test plug-in Execution Parameters
-*
-* This class provides the execution environment for test plug-ins.
-*
-* @since S60 v5.0
-**/
-NONSHARABLE_CLASS( TDiagTestExecParam )
-    {
-public: // constructor
-    /**
-    * C++ Constructor
-    *
-    * @param aObserver - Observer to notify test execution progress.
-    * @param aEngine - Reference to engine that provides necessary environment
-    *   for test execution, such as CDiagPluginPool, or CAknViewAppUi.
-    */
-    IMPORT_C TDiagTestExecParam( MDiagTestObserver& aObserver,
-                                 MDiagEngineCommon& aEngine );
-    
-public: // new functions
-
-    /**
-    * Get the test plug-in execution observer.
-    *
-    * @return MDiagTestObserver - Observer of test-plugin. Test progress
-    *   and completion should be notified via this object.
-    **/
-    IMPORT_C MDiagTestObserver& Observer() const;
-
-    /**
-    * Get execution engine.
-    *
-    * @return MDiagEngineCommon - Engine that executes the plug-in.
-    *   Engine provides various functionalities needed for executing
-    *   plug-ins.
-    **/
-    IMPORT_C MDiagEngineCommon& Engine() const;
-    
-private: // data
-    /**
-    * iObserver - Test execution observer.
-    */
-    MDiagTestObserver&  iObserver;
-
-    /**
-    * iEngine - Common Engine interface
-    */
-    MDiagEngineCommon&  iEngine;
-    };
-
-#endif // DIAGTESTEXECPARAM_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagtestobserver.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*
-* 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 "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:  Interface to observe test plug-ins
-*
-*/
-
-
-#ifndef DIAGTESTOBSERVER_H
-#define DIAGTESTOBSERVER_H
-
-// INCLUDES
-#include <e32def.h>                         // TUint
-#include <DiagEngineWatchdogTypes.h>        // TDiagEngineWatchdogTypes
-
-// FORWARD DECLARATION
-class CDiagResultsDatabaseItem;
-class MDiagTestPlugin;
-
-
-/**
-* Diagnostics Framework Test Plug-in Observer
-*
-* This interface is called by Test Plug-ins to notify the engine
-* of its test execution progress or completion.
-*
-* @since S60 v3.2
-*/
-class MDiagTestObserver
-    {
-public:
-    /**
-    * Notify engine of test plug-in execution progress.
-    *
-    * @param aSender - Reference to sender object.
-    * @param aCurrentStep - Current execution step.
-    */
-    virtual void TestProgressL( const MDiagTestPlugin& aSender, 
-                                TUint aCurrentStep ) = 0;
-
-
-    /**
-    * Notify engine of test plug-in execution completion.
-    *
-    * @param aSender       Reference to sender object.
-    * @param aTestResult   Result of test execution. Ownership is transferred
-    *                      from the plug-in to engine.
-    */
-    virtual void TestExecutionCompletedL( const MDiagTestPlugin& aSender, 
-                                          CDiagResultsDatabaseItem* aTestResult ) = 0;
-    };
-
-
-#endif // DIAGTESTOBSERVER_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/inc/diagtestplugin.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,139 +0,0 @@
-/*
-* 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 "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:  Test Plugin Abstract Interface
-*
-*/
-
-
-#ifndef DIAGTESTPLUGIN_H
-#define DIAGTESTPLUGIN_H
-
-// INCLUDES
-#include    <DiagPlugin.h>              // MDiagPlugin
-
-
-// FORWARD DECLARATION
-class CDiagPluginExecPlan;
-class MDiagTestObserver;
-class MDiagEngineCommon;
-class CDiagPluginPool;
-class TDiagTestExecParam;
-class CDiagResultsDatabaseItem;
-class MDiagResultDetail;
-
-/**
-* Diagnostics test plug-in abstract interface.
-*
-* @since S60 v5.0
-**/
-class MDiagTestPlugin: public MDiagPlugin
-    {
-public: 
-
-    /**
-    * Run mode defines what kind of behaviour is expected from this plug-in.
-    **/
-    enum TRunMode
-        {
-        EInteractiveView,       // plugin with a view
-        EInteractiveDialog,     // interactive, but with dialogs
-        EAutomatic              // automatic tests
-        };
-
-    /**
-    * Reason for execution stop.
-    **/
-    enum TStopReason
-        {
-        ESkip,
-        ECancelAll,
-        EWatchdog
-        };
-
-    /**
-    * Execute a diagnostics test. This is an asynchronous method. The plug-in
-    * must call MDiagTestObserver:TestExecutionCompletedL when test has finished.
-    *
-    * @param aExecParams   Parameters for running the test.
-    * @param aSkipDependencyCheck - If ETrue, plug-in should execute even if 
-    *   dependencies are not executed.
-    * @param aDependencyExecution - If ETrue, this is being executed to 
-    *   satisfy dependency.
-    * @param aCustomParams Custom parameters for plug-ins. 
-    *   These should be used if TDiagTestExecParam is not enough. 
-    *   It can used to pass arbitrary data from application to the plug-ins.
-    *   Owership is not transferred and plug-in must not delete
-    *   this parameter. Ownership is not transferred since
-    *   client does not always know the type of pointer.
-    **/
-    virtual void RunTestL( TDiagTestExecParam* aExecParam,
-                           TBool aSkipDependencyCheck,
-                           TBool aDependencyExecution,
-                           TAny* aCustomParams ) = 0;
-
-    /**
-    * Describes the run mode of the test plug-in.
-    *
-    * @return Run mode.
-    * @see TDiagRunMode.
-    **/
-    virtual TRunMode RunMode() const = 0;
-
-    /**
-    * Cancels testing. Cancellation is expected to be synchronous.
-    * Test plug-in must return the result immediately, and it must not call
-    * TestExecutionCompletedL(). Ownership of the CDiagResultsDatabaseItem is 
-    * transferred to the caller.
-    *
-    * @param aReason - Reason why ExecutionStopL() is being called.
-    * @return Returns result object.  Test must not call TestExecutionCompletedL.
-    **/
-    virtual CDiagResultsDatabaseItem* ExecutionStopL( TStopReason aReason ) = 0;
-
-    /**
-    * Suspend test.  If test cannot be suspended, it will leave with
-    * KErrNotSupported.
-    **/
-    virtual void SuspendL() = 0;
-
-    /**
-    * Resume test. If test cannot be resumed, it will leave with 
-    * KErrNotSupported.
-    **/
-    virtual void ResumeL() = 0;
-
-    /**
-    * Get the number of steps that is needed to execute tests. 
-    * This can be used to calculate progress information. 
-    *
-    * @return The number of steps.
-    **/
-    virtual TUint TotalSteps() const = 0;
-
-    /**
-    * Create detailed information object from test result.
-    * Ownership is transferred to caller.
-    *
-    * @param aTestResult - Base test result.
-    * @return Instance of MDiagResultDetail* that can provide detailed 
-    *   information about the last test.
-    **/
-    virtual MDiagResultDetail* CreateDetailL( 
-                        const CDiagResultsDatabaseItem& aResult ) const = 0;
-    };
-
-#endif // DIAGTESTPLUGIN_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/src/DiagTestExecParam.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-/*
-* 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 "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:  Class definition of TDiagTestExecParam
-*
-*/
-
-
-// CLASS DECLARATION
-#include <DiagTestExecParam.h>
-
-// SYSTEM INCLUDE FILES
-
-// USER INCLUDE FILES
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// TDiagTestExecParam::TDiagTestExecParam()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TDiagTestExecParam::TDiagTestExecParam( MDiagTestObserver& aObserver,
-                                                  MDiagEngineCommon& aEngine )
-    :   iObserver( aObserver ),
-        iEngine( aEngine )
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// TDiagTestExecParam::Observer()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C MDiagTestObserver& TDiagTestExecParam::Observer() const
-    {
-    return iObserver;
-    }
-
-
-// ---------------------------------------------------------------------------
-// TDiagTestExecParam::Engine()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C MDiagEngineCommon& TDiagTestExecParam::Engine() const
-    {
-    return iEngine;
-    }
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/src/diagengine.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,376 +0,0 @@
-/*
-* 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 "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:  Class definition of CDiagEngine
-*
-*/
-
-
-// CLASS DECLARATION
-#include "diagengineimpl.h"
-
-// SYSTEM INCLUDE FILES
-#include <DiagEngine.h>
-
-// USER INCLUDE FILES
-#include "diagframework.pan"        // For Panics codes.
-
-#include "diagpluginexecplan.h"   // ADO & Platformization Changes
-#include "diagexecplanentryimpltest.h"   // ADO & Platformization Changes
-// ======== LOCAL FUNCTIONS ========
-
-
-// ======== MEMBER FUNCTIONS ========
-
-
-// ---------------------------------------------------------------------------
-// CDiagEngine::NewL()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDiagEngine* CDiagEngine::NewL( CAknViewAppUi&         aViewAppUi, 
-                                         MDiagEngineObserver&   aObserver,
-                                         RDiagResultsDatabase&  aDbSession,
-                                         CDiagPluginPool&       aPluginPool,
-                                         TBool                  aDisableDependency,
-                                         const RArray< TUid >&  aExecutionBatch )
-    {
-    CDiagEngine* self = CDiagEngine::NewLC( aViewAppUi,
-                                            aObserver,
-                                            aDbSession,
-                                            aPluginPool,
-                                            aDisableDependency,
-                                            aExecutionBatch );
-
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDiagEngine::NewLC()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDiagEngine* CDiagEngine::NewLC( CAknViewAppUi&         aViewAppUi, 
-                                          MDiagEngineObserver&   aObserver,
-                                          RDiagResultsDatabase&  aDbSession,
-                                          CDiagPluginPool&       aPluginPool,
-                                          TBool                  aDisableDependency,
-                                          const RArray< TUid >&  aExecutionBatch )
-    {
-    CDiagEngine* self = new ( ELeave ) CDiagEngine();
-    CleanupStack::PushL( self );
-
-    self->iEngineImpl = CDiagEngineImpl::NewL( aViewAppUi,
-                                               aObserver,
-                                               aDbSession,
-                                               aPluginPool,
-                                               aDisableDependency,
-                                               aExecutionBatch );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngine::NewL()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDiagEngine* CDiagEngine::NewL( CAknViewAppUi&         aViewAppUi, 
-                                         MDiagEngineObserver&   aObserver,
-                                         RDiagResultsDatabase&  aDbSession,
-                                         CDiagPluginPool&       aPluginPool,
-                                         TUid                   aIncompleteRecordUid )
-    {
-    CDiagEngine* self = CDiagEngine::NewLC( aViewAppUi,
-                                            aObserver,
-                                            aDbSession,
-                                            aPluginPool,
-                                            aIncompleteRecordUid );
-
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDiagEngine::NewLC()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDiagEngine* CDiagEngine::NewLC( CAknViewAppUi&         aViewAppUi, 
-                                          MDiagEngineObserver&   aObserver,
-                                          RDiagResultsDatabase&  aDbSession,
-                                          CDiagPluginPool&       aPluginPool,
-                                          TUid                   aIncompleteRecordUid )
-    {
-    CDiagEngine* self = new ( ELeave ) CDiagEngine();
-    CleanupStack::PushL( self );
-
-    self->iEngineImpl = CDiagEngineImpl::NewL( aViewAppUi,
-                                               aObserver,
-                                               aDbSession,
-                                               aPluginPool,
-                                               aIncompleteRecordUid );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDiagEngine::~CDiagEngine
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDiagEngine::~CDiagEngine()
-    {
-    delete iEngineImpl;
-    iEngineImpl = NULL;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDiagEngine::ExecuteL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagEngine::ExecuteL()
-    {
-    iEngineImpl->ExecuteL();
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngine::SetCustomParam
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagEngine::SetCustomParam( TAny* aCustomParams )
-    {
-    __ASSERT_ALWAYS( aCustomParams, Panic( EDiagFrameworkBadArgument ) );
-    iEngineImpl->SetCustomParam( aCustomParams );
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngine::SuspendL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagEngine::SuspendL()
-    {
-    iEngineImpl->SuspendL();
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngine::ResumeL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagEngine::ResumeL()
-    {
-    iEngineImpl->ResumeL();
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngine::ExecutionPlanL
-// ---------------------------------------------------------------------------
-//
-const MDiagPluginExecPlan& CDiagEngine::ExecutionPlanL() const
-    {
-    return iEngineImpl->ExecutionPlanL();
-    }
-
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngine::ExecutionStopL
-// ---------------------------------------------------------------------------
-//
-void CDiagEngine::ExecutionStopL( TCancelMode aCancelMode )
-    {
-    iEngineImpl->ExecutionStopL( aCancelMode );
-    }
-
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngine::ResetWatchdog
-// ---------------------------------------------------------------------------
-//
-void CDiagEngine::ResetWatchdog()
-    {
-    iEngineImpl->ResetWatchdog();
-    }
-
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngine::ResetWatchdog
-// ---------------------------------------------------------------------------
-//
-void CDiagEngine::ResetWatchdog( TDiagEngineWatchdogTypes aWatchdogType )
-    {
-    iEngineImpl->ResetWatchdog( aWatchdogType );
-    }
-
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngine::ResetWatchdog
-// ---------------------------------------------------------------------------
-//
-void CDiagEngine::ResetWatchdog( TTimeIntervalMicroSeconds32 aExpectedTimeToComplete )
-    {
-    iEngineImpl->ResetWatchdog( aExpectedTimeToComplete );
-    }
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngine::ViewAppUi
-// ---------------------------------------------------------------------------
-//
-CAknViewAppUi& CDiagEngine::ViewAppUi()
-    {
-    return iEngineImpl->ViewAppUi();
-    }
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngine::ViewAppUi
-// ---------------------------------------------------------------------------
-//
-const CAknViewAppUi& CDiagEngine::ViewAppUi() const
-    {
-    return iEngineImpl->ViewAppUi();
-    }
-
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngine::DbRecord
-// ---------------------------------------------------------------------------
-//
-RDiagResultsDatabaseRecord& CDiagEngine::DbRecord()
-    {
-    return iEngineImpl->DbRecord();
-    }
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngine::DbRecord
-// ---------------------------------------------------------------------------
-//
-const RDiagResultsDatabaseRecord& CDiagEngine::DbRecord() const
-    {
-    return iEngineImpl->DbRecord();
-    }
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngine::DbRecord
-// ---------------------------------------------------------------------------
-//
-CDiagPluginPool& CDiagEngine::PluginPool()
-    {
-    return iEngineImpl->PluginPool();
-    }
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngine::DbRecord
-// ---------------------------------------------------------------------------
-//
-const CDiagPluginPool& CDiagEngine::PluginPool() const
-    {
-    return iEngineImpl->PluginPool();
-    }
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngine::AddToConfigListL
-// ---------------------------------------------------------------------------
-//
-void CDiagEngine::AddToConfigListL( MDiagEngineCommon::TConfigListType aListType,
-                                     const TDesC&                       aText )
-    {
-    return iEngineImpl->AddToConfigListL( aListType, aText );
-    }
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngine::RemoveFromConfigListL
-// ---------------------------------------------------------------------------
-//
-void CDiagEngine::RemoveFromConfigListL( MDiagEngineCommon::TConfigListType aListType,
-                                          const TDesC&                       aText )
-    {
-    return iEngineImpl->RemoveFromConfigListL( aListType, aText );
-    }
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngine::CreateCommonDialogLC
-// ---------------------------------------------------------------------------
-//
-CAknDialog* CDiagEngine::CreateCommonDialogLC( TDiagCommonDialog aDialogType,
-                                               TAny* aInitData )
-    {
-    return iEngineImpl->CreateCommonDialogLC( aDialogType, aInitData );
-    }
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngine::ExecuteAppCommandL
-// ---------------------------------------------------------------------------
-//
-void CDiagEngine::ExecuteAppCommandL( TDiagAppCommand aCommand, 
-                                      TAny* aParam1,
-                                      TAny* aParam2 )
-    {
-    iEngineImpl->ExecuteAppCommandL( aCommand, aParam1, aParam2 );
-    }
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngine::StopWatchdogTemporarily
-// ---------------------------------------------------------------------------
-//
-void CDiagEngine::StopWatchdogTemporarily()
-    {
-    iEngineImpl->StopWatchdogTemporarily();
-    }
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngine::IsDependencyDisabled
-// ---------------------------------------------------------------------------
-//
-TBool CDiagEngine::IsDependencyDisabled() const
-    {
-    return iEngineImpl->IsDependencyDisabled();
-    }
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngine::CustomParam
-// ---------------------------------------------------------------------------
-//
-TAny* CDiagEngine::CustomParam() const
-    {
-    return iEngineImpl->CustomParam();
-    }
-    
-    
-  // ADO & Platformization Changes
-    
-///@@@KSR: changes for Codescanner error val = High
-//EXPORT_C TBool CDiagEngine::GetPluginDependency()
-EXPORT_C TBool CDiagEngine::GetPluginDependencyL()
-{
-	return iEngineImpl->ExecutionPlanL().CurrentExecutionItem().AsDependency();
-}
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/src/diagenginecallhandler.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,402 +0,0 @@
-/*
-* 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 "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:  Class definition of CDiagEngineCallHandler
-*
-*/
-
-
-// CLASS DECLARATION
-#include "diagenginecallhandler.h"   
-
-// SYSTEM INCLUDE FILES
-#include <DiagFrameworkDebug.h>             // LOGSTRING
-#include <badesca.h>                        // CDesCArrayFlat
-
-// USER INCLUDE FILES
-#include "diagenginecallhandlerobserver.h"  // MDiagEngineCallHandlerObserver
-
-
-// CONSTANTS
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CDiagEngineCallHandler::NewL
-// ---------------------------------------------------------------------------
-//
-CDiagEngineCallHandler* CDiagEngineCallHandler::NewL( 
-        MDiagEngineCallHandlerObserver& aObserver )
-    {
-    CDiagEngineCallHandler* self = new( ELeave )CDiagEngineCallHandler( aObserver );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDiagEngineCallHandler::CDiagEngineCallHandler
-// ---------------------------------------------------------------------------
-//
-CDiagEngineCallHandler::CDiagEngineCallHandler( 
-        MDiagEngineCallHandlerObserver& aObserver )
-    :   CActive( EPriorityStandard ),
-        iObserver( aObserver ),
-        iCallStatus(),
-        iCallStatusPckg( iCallStatus )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineCallHandler::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineCallHandler::ConstructL()
-    {
-    CActiveScheduler::Add( this );
-
-    iCallIgnoreList = new( ELeave )CDesCArrayFlat( 1 );
-    
-    iTelephony = CTelephony::NewL();
-
-    // Get call initial status.
-    TInt err = iTelephony->GetLineStatus( CTelephony::EVoiceLine, iCallStatusPckg );
-
-    if ( err != KErrNone )
-        {
-        // This can happen even if hw failure does not occur. E.g.
-        // user puts the phone in offline mode, or sim card is missing.
-        // In this situation, assume that phone is offline and continue
-        // since it does not actually affect engine execution.
-        LOGSTRING2( "CDiagEngineCallHandler::ConstructL() "
-            L"Unable to get voice line status. Err = %d", err )
-        iState = EDiagEngineCallHandlerStateIdle;
-        }
-    else
-        {
-        LOGSTRING2( "CDiagEngineCallHandler::ConstructL() Call status = %d",
-            iCallStatus.iStatus )
-        if ( iCallStatus.iStatus != CTelephony::EStatusIdle )
-            {
-            iState = EDiagEngineCallHandlerStateBusy;
-            }
-        }
-
-    RequestNotify();
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineCallHandler::~CDiagEngineCallHandler
-// ---------------------------------------------------------------------------
-//
-CDiagEngineCallHandler::~CDiagEngineCallHandler()
-    {
-    Cancel();
-
-    delete iTelephony;
-    iTelephony = NULL;
-
-    delete iCallIgnoreList;
-    iCallIgnoreList = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineCallHandler::AddIgnoreNumberL
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineCallHandler::AddIgnoreNumberL( const TDesC& aNumber )
-    {
-    LOGSTRING( "CDiagEngineCallHandler::AddIgnoreNumberL: Number = " )
-    LOGTEXT( aNumber )
-
-    iCallIgnoreList->AppendL( aNumber );
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineCallHandler::RemoveIgnoreNumberL
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineCallHandler::RemoveIgnoreNumberL( const TDesC& aNumber )
-    {
-    LOGSTRING( "CDiagEngineCallHandler::RemoveIgnoreNumberL: Number = " )
-    LOGTEXT( aNumber )
-
-    TInt position = 0;
-
-    TInt err = iCallIgnoreList->Find( aNumber, position );
-
-    if ( err == KErrNone )
-        {
-        // element found. Remove.
-        iCallIgnoreList->Delete( position );
-        }
-    else
-        {
-        LOGSTRING2( "CDiagEngineCallHandler::RemoveIgnoreNumberL:"
-                L"Not found. Err = %d", err )
-        User::Leave( err );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineCallHandler::CurrentState
-// ---------------------------------------------------------------------------
-//
-TDiagEngineCallHandlerState CDiagEngineCallHandler::CurrentState() const
-    {
-    return iState;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineCallHandler::RequestNotify
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineCallHandler::RequestNotify()
-    {
-    Cancel();
-    iTelephony->NotifyChange(
-        iStatus, CTelephony::EVoiceLineStatusChange, iCallStatusPckg );
-    SetActive();
-    }
-
-
-// ---------------------------------------------------------------------------
-// from CActive
-// CDiagEngineCallHandler::RunL()
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineCallHandler::RunL()
-    {
-    TBool notifyObserver = EFalse;
-    
-    LogCallStatus();    
-
-    switch ( iCallStatus.iStatus )
-        {
-        case CTelephony::EStatusIdle:
-            notifyObserver = HandleIdle();
-            break;
-
-        case CTelephony::EStatusDialling:   // fall through
-        case CTelephony::EStatusRinging:    
-            notifyObserver = HandleCall();
-            break;
-
-        default:
-            // Ignore. 
-            break;
-        }
-
-    if ( iStatus != KErrCancel )
-        {
-        RequestNotify();
-        }
-
-    if ( notifyObserver )
-        {
-        iObserver.CallHandlerStateChangedL( iState );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// from CActive
-// CDiagEngineCallHandler::DoCancel()
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineCallHandler::DoCancel()
-    {
-    if ( iTelephony )
-        {
-        iTelephony->CancelAsync( CTelephony::EVoiceLineStatusChangeCancel );
-        }
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CDiagEngineCallHandler::HandleIdle
-// ---------------------------------------------------------------------------
-//
-TBool CDiagEngineCallHandler::HandleIdle()
-    {
-    LOGSTRING( "CDiagEngineCallHandler::HandleIdle()" )
-
-    TBool notifyObserver = EFalse;
-    if ( iState != EDiagEngineCallHandlerStateIdle )
-        {
-        LOGSTRING( "CDiagEngineCallHandler::HandleIdle() Changing to IDLE" )
-        iState = EDiagEngineCallHandlerStateIdle;
-        notifyObserver = ETrue;
-        }
-
-    return notifyObserver;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineCallHandler::HandleCall
-// ---------------------------------------------------------------------------
-//
-TBool CDiagEngineCallHandler::HandleCall()
-    {
-    LOGSTRING( "CDiagEngineCallHandler::HandleCall()" )
-
-    TBool notifyObserver = EFalse;
-
-    if ( iState == EDiagEngineCallHandlerStateIdle )
-        {
-        LOGSTRING( "CDiagEngineCallHandler::HandleCall() was in Idle" )
-
-        // Get phone number
-        TBuf<CTelephony::KMaxTelNumberSize> number;
-
-        CTelephony::TRemotePartyInfoV1 remInfoUse;
-        CTelephony::TCallInfoV1        callInfoUse;
-        CTelephony::TCallSelectionV1   callSelectionUse;
-
-        callSelectionUse.iLine = CTelephony::EVoiceLine;
-        callSelectionUse.iSelect = CTelephony::EInProgressCall;
-
-        CTelephony::TRemotePartyInfoV1Pckg  remParty( remInfoUse );
-        CTelephony::TCallInfoV1Pckg         callInfo( callInfoUse );
-        CTelephony::TCallSelectionV1Pckg    callSelection( callSelectionUse );
-
-        iTelephony->GetCallInfo( callSelection, callInfo, remParty );
-
-        LOGSTRING( "CDiagEngineCallHandler::HandleCall() Remote Number = " )
-        LOGTEXT( remInfoUse.iRemoteNumber.iTelNumber )
-    
-        LOGSTRING( "CDiagEngineCallHandler::HandleCall() Dialed Number = " )
-        LOGTEXT( callInfoUse.iDialledParty.iTelNumber )
-
-        if ( iCallStatus.iStatus == CTelephony::EStatusRinging )
-            {
-            number.Copy( remInfoUse.iRemoteNumber.iTelNumber );
-            }
-        else if ( iCallStatus.iStatus == CTelephony::EStatusDialling )
-            {
-            number.Copy( callInfoUse.iDialledParty.iTelNumber );
-            }
-        else
-            {
-            // number not valid.
-            }
-
-        // check if the number is in ignore list
-        TInt position = 0;
-        TInt err = iCallIgnoreList->Find( number, position );
-
-        if ( err == KErrNone )
-            {
-            // number found.
-            LOGSTRING( "CDiagEngineCallHandler::HandleCall() Ignore: Number =" )
-            LOGTEXT( number )
-            }
-        else
-            {
-            // number found.
-            LOGSTRING( "CDiagEngineCallHandler::HandleCall() Going to Busy State. Number = " )
-            LOGTEXT( number )
-
-            iState = EDiagEngineCallHandlerStateBusy;
-
-            notifyObserver = ETrue;
-            }
-        }
-
-    return notifyObserver;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineCallHandler::LogCallStatus
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineCallHandler::LogCallStatus() const
-    {
-    #ifdef _DEBUG
-
-    switch ( iCallStatus.iStatus )
-        {
-        case CTelephony::EStatusUnknown:
-            LOGSTRING( "CDiagEngineCallHandler::LogCallStatus():"
-                    L" Call Status = EStatusUnknown" )
-            break;
-
-        case CTelephony::EStatusIdle:
-            LOGSTRING( "CDiagEngineCallHandler::LogCallStatus():"
-                    L" Call Status = EStatusIdle" )
-            break;
-
-        case CTelephony::EStatusDialling:
-            LOGSTRING( "CDiagEngineCallHandler::LogCallStatus():"
-                    L" Call Status = EStatusDialling" )
-            break;
-
-        case CTelephony::EStatusRinging:
-            LOGSTRING( "CDiagEngineCallHandler::LogCallStatus():"
-                    L" Call Status = EStatusRinging" )
-            break;
-
-        case CTelephony::EStatusAnswering:
-            LOGSTRING( "CDiagEngineCallHandler::LogCallStatus():"
-                    L" Call Status = EStatusAnswering" )
-            break;
-
-        case CTelephony::EStatusConnecting:
-            LOGSTRING( "CDiagEngineCallHandler::LogCallStatus():"
-                    L" Call Status = EStatusConnecting" )
-            break;
-
-        case CTelephony::EStatusConnected:
-            LOGSTRING( "CDiagEngineCallHandler::LogCallStatus():"
-                    L" Call Status = EStatusConnected" )
-            break;
-
-        case CTelephony::EStatusReconnectPending:
-            LOGSTRING( "CDiagEngineCallHandler::LogCallStatus():"
-                    L" Call Status = EStatusReconnectPending" )
-            break;
-
-        case CTelephony::EStatusDisconnecting:
-            LOGSTRING( "CDiagEngineCallHandler::LogCallStatus():"
-                    L" Call Status = EStatusDisconnecting" )
-            break;
-
-        case CTelephony::EStatusHold:
-            LOGSTRING( "CDiagEngineCallHandler::LogCallStatus():"
-                    L" Call Status = EStatusHold" )
-            break;
-
-        case CTelephony::EStatusTransferring:
-            LOGSTRING( "CDiagEngineCallHandler::LogCallStatus():"
-                    L"Call Status = EStatusTransferring" )
-            break;
-
-        case CTelephony::EStatusTransferAlerting:
-            LOGSTRING( "CDiagEngineCallHandler::LogCallStatus():"
-                    L"Call Status = EStatusTransferAlerting" )
-            break;
-
-        default:
-            LOGSTRING2( "CDiagEngineCallHandler::LogCallStatus():"
-                    L"Unknown Call Status = %d", iCallStatus.iStatus )
-            break;
-        }
-
-    #endif // _DEBUG
-    }
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/src/diagengineconfig.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-/*
-* 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 "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:  Class definition of TDiagEngineConfig
-*
-*/
-
-
-// CLASS DECLARATION
-#include "diagengineconfig.h"       
-
-// SYSTEM INCLUDE FILES
-#include <centralrepository.h>              // CRepository
-#include <DiagFrameworkDebug.h>             // LOGSTRING
-
-// USER INCLUDE FILES
-#include "diagnosticsfwprivatecrkeys.h"     // Private CenRep Key
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// TDiagEngineConfig::TDiagEngineConfig()
-// ---------------------------------------------------------------------------
-//
-TDiagEngineConfig::TDiagEngineConfig()
-    :   iCenRepWatchdogTimeoutInteractive( 0 ),
-        iCenRepWatchdogTimeoutAutomatic( 0 ),
-        iCenRepInitDelay( 0 ),
-        iDisableDependency( EFalse )
-    {
-    // note that this is a T class, so all member must be initialized explicitly.
-    }
-
-// ---------------------------------------------------------------------------
-// TDiagEngineConfig::ReadCenrepKeysL
-// ---------------------------------------------------------------------------
-//
-void TDiagEngineConfig::ReadCenrepKeysL()
-    {
-    CRepository* cenrep = NULL;
-    cenrep = CRepository::NewLC( KCRUidDiagnosticsFw );
-
-    ReadTimeIntervalFromCenrepL( *cenrep, 
-                                 KDiagFwWatchdogTimeoutInteractive, 
-                                 iCenRepWatchdogTimeoutInteractive );
-    ReadTimeIntervalFromCenrepL( *cenrep,
-                                 KDiagFwWatchdogTimeoutAutomatic, 
-                                 iCenRepWatchdogTimeoutAutomatic );
-    ReadTimeIntervalFromCenrepL( *cenrep,
-                                 KDiagFwTestInitDelay,
-                                 iCenRepInitDelay );
-       
-    CleanupStack::PopAndDestroy( cenrep );
-    cenrep = NULL;
-
-    LOGSTRING2( "TDiagEngineConfig::ReadCenrepKeysL() "
-        L"KDiagFwWatchdogTimeoutInteractive: %d micro seconds", 
-        iCenRepWatchdogTimeoutInteractive.Int() )
-    LOGSTRING2( "TDiagEngineConfig::ReadCenrepKeysL() "
-        L"KDiagFwWatchdogTimeoutAutomatic: %d sec",
-        iCenRepWatchdogTimeoutAutomatic.Int() )
-    LOGSTRING2( "TDiagEngineConfig::ReadCenrepKeysL(): "
-        L"KDiagFwTestInitDelay: %d microsec", 
-        iCenRepInitDelay.Int() )
-    }
-
-// ---------------------------------------------------------------------------
-// TDiagEngineConfig::ReadTimeIntervalFromCenrepL
-// ---------------------------------------------------------------------------
-//
-void TDiagEngineConfig::ReadTimeIntervalFromCenrepL( 
-        CRepository& aCenrep,
-        TUint32 aKey,
-        TTimeIntervalMicroSeconds32& aValue )
-    {
-    TInt timeoutValue = 0;
-    User::LeaveIfError( aCenrep.Get( aKey, timeoutValue ) );
-    aValue = timeoutValue;
-    }
-
-// ---------------------------------------------------------------------------
-// TDiagEngineConfig::WatchdogTimeoutValueInteractive
-// ---------------------------------------------------------------------------
-//
-const TTimeIntervalMicroSeconds32& TDiagEngineConfig::WatchdogTimeoutValueInteractive() const
-    {
-    return iCenRepWatchdogTimeoutInteractive;
-    }
-
-// ---------------------------------------------------------------------------
-// TDiagEngineConfig::WatchdogTimeoutValueAutomatic
-// ---------------------------------------------------------------------------
-//
-const TTimeIntervalMicroSeconds32& TDiagEngineConfig::WatchdogTimeoutValueAutomatic() const
-    {
-    return iCenRepWatchdogTimeoutAutomatic;
-    }
-
-// ---------------------------------------------------------------------------
-// TDiagEngineConfig::TestPluginInitialDelay
-// ---------------------------------------------------------------------------
-//
-const TTimeIntervalMicroSeconds32& TDiagEngineConfig::TestPluginInitialDelay() const
-    {
-    return iCenRepInitDelay;
-    }
-
-// ---------------------------------------------------------------------------
-// TDiagEngineConfig::SetDependencyDisabled
-// ---------------------------------------------------------------------------
-//
-void TDiagEngineConfig::SetDependencyDisabled( TBool aDisableDependency )
-    {
-    iDisableDependency = aDisableDependency;
-    }
-
-// ---------------------------------------------------------------------------
-// TDiagEngineConfig::IsDependencyDisabled
-// ---------------------------------------------------------------------------
-//
-TBool TDiagEngineConfig::IsDependencyDisabled() const
-    {
-    return iDisableDependency;
-    }
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/src/diagengineeventbasic.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-/*
-* 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 "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:  Class definition of DiagFwInternal::CEventBasic
-*
-*/
-
-
-// CLASS DECLARATION
-#include "diagengineeventbasic.h"       
-
-// SYSTEM INCLUDE FILES
-#include <DiagFrameworkDebug.h>
-
-// USER INCLUDE FILES
-#include "diagframework.pan"            // Panic Codes.
-
-using namespace DiagFwInternal;
-
-// ======== LOCAL FUNCTIONS ========
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CEventBasic::CEventBasic()
-// ---------------------------------------------------------------------------
-//
-CEventBasic::CEventBasic( TEvent aType )
-    :   iType( aType )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CEventBasic::GetType()
-// ---------------------------------------------------------------------------
-//
-TEvent CEventBasic::GetType() const
-    {
-    return iType;
-    }
-
-// ---------------------------------------------------------------------------
-// CEventBasic::ToString()
-// ---------------------------------------------------------------------------
-//
-const TDesC& CEventBasic::ToString() const
-    {
-    #if _DEBUG
-        _LIT( KEventExecute,             "EEventExecute" );
-        _LIT( KEventPlanCreated,         "EEventPlanCreated" );
-        _LIT( KEventExecuteNext,         "EEventExecuteNext" );
-        _LIT( KEventTestProgress,        "EEventTestProgress" );
-        _LIT( KEventResumeToRunning,     "EEventResumeToRunning" );
-        _LIT( KEventResumeToCreatingPlan,"EEventResumeToCreatingPlan" );
-        _LIT( KEventSkip,                "EEventSkip" );
-        _LIT( KEventCancelAll,           "EEventCancelAll" );
-        _LIT( KEventSuspend,             "EEventSuspend" );
-        _LIT( KEventVoiceCallActive,     "EEventVoiceCallActive" );
-        _LIT( KEventAllPluginsCompleted, "EEventAllPluginsCompleted" );
-        _LIT( KEventFinalized,           "EEventFinalized" );
-
-        switch ( iType )
-            {
-            case EEventExecute:
-                return KEventExecute();
-            case EEventPlanCreated:
-                return KEventPlanCreated();
-            case EEventExecuteNext:
-                return KEventExecuteNext();
-            case EEventTestProgress:
-                return KEventTestProgress();
-            case EEventResumeToRunning:
-                return KEventResumeToRunning();
-            case EEventResumeToCreatingPlan:
-                return KEventResumeToCreatingPlan();
-            case EEventSkip:
-                return KEventSkip();
-            case EEventCancelAll:
-                return KEventCancelAll();
-            case EEventSuspend:
-                return KEventSuspend();
-            case EEventVoiceCallActive:
-                return KEventVoiceCallActive();
-            case EEventAllPluginsCompleted:
-                return KEventAllPluginsCompleted();
-            case EEventFinalized:
-                return KEventFinalized();
-            default:
-                Panic( EDiagFrameworkInternal );
-                break;
-            }
-
-
-    #endif // if _DEBUG
-    
-    _LIT( KEventDefaultName, "?" );
-    return KEventDefaultName();
-    }
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/src/diagengineeventtestprogress.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* 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 "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:  Class definition of DiagFwInternal::CEventTestProgress
-*
-*/
-
-
-// CLASS DECLARATION
-#include "diagengineeventtestprogress.h"   
-
-// SYSTEM INCLUDE FILES
-
-// USER INCLUDE FILES
-
-using namespace DiagFwInternal;
-
-// ======== LOCAL FUNCTIONS ========
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CEventTestProgress::CEventTestProgress()
-// ---------------------------------------------------------------------------
-//
-CEventTestProgress::CEventTestProgress(
-        const MDiagPlugin& aSender, TUint aCurrStep, TUint aTotalSteps ) 
-    :   CEventBasic( EEventTestProgress ), 
-        iSender( aSender ),
-        iCurrStep( aCurrStep ),
-        iTotalSteps( aTotalSteps )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CEventTestProgress::Sender()
-// ---------------------------------------------------------------------------
-//
-const MDiagPlugin& CEventTestProgress::Sender() const
-    {
-    return iSender;
-    }
-
-// ---------------------------------------------------------------------------
-// CEventTestProgress::CurrStep()
-// ---------------------------------------------------------------------------
-//
-TUint CEventTestProgress::CurrStep() const
-    {
-    return iCurrStep;
-    }
-
-// ---------------------------------------------------------------------------
-// CEventTestProgress::TotalSteps()
-// ---------------------------------------------------------------------------
-//
-TUint CEventTestProgress::TotalSteps() const
-    {
-    return iTotalSteps;
-    }
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/src/diagengineimpl.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1551 +0,0 @@
-/*
-* 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 "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:  Class definition of CDiagEngineImpl
-*
-*/
-
-
-// CLASS DECLARATION
-#include "diagengineimpl.h"                 // CDiagEngineImpl
-
-// SYSTEM INCLUDE FILES
-#include <DiagPluginPool.h>                 // CDiagPluginPool
-#include <DiagFrameworkDebug.h>             // LOGSTRING
-#include <DiagPlugin.h>                     // MDiagPlugin
-#include <DiagTestExecParam.h>              // TDiagTestExecParam
-#include <DiagSuiteExecParam.h>             // TDiagSuiteExecParam
-#include <DiagResultsDbItemBuilder.h>       // CDiagResultsDbItemBuilder
-#include <DiagResultsDbRecordEngineParam.h> // CDiagResultsDbRecordEngineParam
-
-// USER INCLUDE FILES
-#include "diagpluginexecplanimpl.h"         // CDiagPluginExecPlanImpl
-#include "diagexecplanentryimpltest.h"      // CDiagExecPlanEntryImplTest
-#include "diagenginestatemachine.h"         // DiagFwInternal::CStateMachine
-#include "diagenginecallhandler.h"          // CDiagEngineCallHandler
-#include "diagframework.pan"                // Panic Codes
-#include "diagengineconfig.h"               // TDiagEngineConfig
-
-// EVENT INCLUDE FILES
-#include "diagengineeventbasic.h"           // DiagFwInternal::CEventBasic
-#include "diagengineeventtestprogress.h"    // DiagFwInternal::CEventTestProgress
-
-using namespace DiagFwInternal;
-
-// DATA
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::NewL()
-// ---------------------------------------------------------------------------
-//
-CDiagEngineImpl* CDiagEngineImpl::NewL( 
-        CAknViewAppUi&          aViewAppUi, 
-        MDiagEngineObserver&    aObserver,
-        RDiagResultsDatabase&   aDbSession,
-        CDiagPluginPool&        aPluginPool,
-        TBool                   aDisableDependency,
-        const RArray< TUid >&   aExecutionBatch )
-    {
-    CDiagEngineImpl* self = CDiagEngineImpl::NewLC( aViewAppUi,
-                                                    aObserver,
-                                                    aDbSession,
-                                                    aPluginPool,
-                                                    aDisableDependency,
-                                                    aExecutionBatch );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::NewLC()
-// ---------------------------------------------------------------------------
-//
-CDiagEngineImpl* CDiagEngineImpl::NewLC( 
-        CAknViewAppUi&          aViewAppUi, 
-        MDiagEngineObserver&    aObserver,
-        RDiagResultsDatabase&   aDbSession,
-        CDiagPluginPool&        aPluginPool,
-        TBool                   aDisableDependency,
-        const RArray< TUid >&   aExecutionBatch )
-    {
-    CDiagEngineImpl* self = new ( ELeave ) CDiagEngineImpl( aViewAppUi,
-                                                            aObserver,
-                                                            aDbSession,
-                                                            aPluginPool );
-
-    CleanupStack::PushL( self );
-    self->ConstructNewRecordL( aDisableDependency, aExecutionBatch );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::NewL()
-// ---------------------------------------------------------------------------
-//
-CDiagEngineImpl* CDiagEngineImpl::NewL( CAknViewAppUi&          aViewAppUi, 
-                                        MDiagEngineObserver&    aObserver,
-                                        RDiagResultsDatabase&   aDbSession,
-                                        CDiagPluginPool&        aPluginPool,
-                                        TUid                    aIncompleteRecordUid )
-    {
-    CDiagEngineImpl* self = CDiagEngineImpl::NewLC( aViewAppUi,
-                                                    aObserver,
-                                                    aDbSession,
-                                                    aPluginPool,
-                                                    aIncompleteRecordUid );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::NewLC()
-// ---------------------------------------------------------------------------
-//
-CDiagEngineImpl* CDiagEngineImpl::NewLC( CAknViewAppUi&    aViewAppUi, 
-                                   MDiagEngineObserver&    aObserver,
-                                   RDiagResultsDatabase&   aDbSession,
-                                   CDiagPluginPool&        aPluginPool,
-                                   TUid                    aIncompleteRecordUid )
-    {
-    CDiagEngineImpl* self = new ( ELeave ) CDiagEngineImpl( aViewAppUi,
-                                                            aObserver,
-                                                            aDbSession,
-                                                            aPluginPool );
-
-    CleanupStack::PushL( self );
-    self->ConstructIncompleteRecordL( aIncompleteRecordUid );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::CDiagEngineImpl
-// ---------------------------------------------------------------------------
-//
-CDiagEngineImpl::CDiagEngineImpl( CAknViewAppUi&          aViewAppUi,
-                                  MDiagEngineObserver&    aObserver,
-                                  RDiagResultsDatabase&   aDbSession,
-                                  CDiagPluginPool&        aPluginPool )
-    :   CActive( EPriorityStandard ),
-        iViewAppUi( aViewAppUi ),
-        iObserver( aObserver ),
-        iDbSession( aDbSession ),
-        iPluginPool( aPluginPool )
-    {
-    LOGSTRING( "---- DIAG ENGINE BEGIN ---- DIAG ENGINE BEGIN ----{" )
-    CActiveScheduler::Add( this );
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::ConstructNewRecordL
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::ConstructNewRecordL( TBool aDisableDependency,
-                                           const RArray< TUid >& aExecutionBatch )
-    {
-    ConstructCommonL();
-
-    LOGSTRING( "CDiagEngineImpl::ConstructNewRecordL()" )
-
-    iContinueIncompleteRecord = EFalse;
-    iEngineConfig.SetDependencyDisabled( aDisableDependency );
-
-    // convert uid array to plugin reference array.
-    // Also, make a copy of the plug-in UID array so that it can be
-    // passed to database.
-    TInt batchCount = aExecutionBatch.Count();
-
-    // uidList must be allocated in heap since it database will own the data later.
-    RArray< TUid >* uidList = new( ELeave )RArray< TUid >();
-    CleanupStack::PushL( uidList );     // to delete array itself.
-    CleanupClosePushL( *uidList );      // to call close.
-
-    uidList->ReserveL( batchCount );
-    
-    MDiagPlugin* plugin = NULL;
-
-    for ( TInt i = 0; i < batchCount ; i++ )
-        {
-        LOGSTRING2( "CDiagEngineImpl::ConstructNewRecordL() "
-            L"Add plugin 0x%08x", aExecutionBatch[i].iUid )
-            
-        iPluginPool.FindPlugin( aExecutionBatch[i], plugin );
-        iBatch.AppendL( plugin );
-        plugin = NULL;
-
-        uidList->AppendL( aExecutionBatch[i] );
-        }
-
-    CDiagResultsDbRecordEngineParam* engineParam = 
-        CDiagResultsDbRecordEngineParam::NewL(
-            uidList,                                // ownership transfer
-            !iEngineConfig.IsDependencyDisabled()   /* isDependencyExecution */ );
-
-    CleanupStack::Pop( uidList );   // CleanupClosePushL( *uidList )
-    CleanupStack::Pop( uidList );   // CleanupStack::PushL( uidList )
-    uidList = NULL;
-
-    CleanupStack::PushL( engineParam );
-    User::LeaveIfError( 
-        iDbRecord.CreateNewRecord( iDbSession, iRecordId, *engineParam ) );
-    CleanupStack::PopAndDestroy( engineParam );
-    engineParam = NULL;
-
-    iPlan = CDiagPluginExecPlanImpl::NewL( *this, iEngineConfig, *this );
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::ConstructIncompleteRecordL
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::ConstructIncompleteRecordL( TUid aIncompleteRecordUid )
-    {
-    ConstructCommonL();
-
-    LOGSTRING2( "CDiagEngineImpl::ConstructIncompleteRecordL() "
-        L"RecordId = 0x%08x", aIncompleteRecordUid.iUid )
-        
-    iRecordId = aIncompleteRecordUid;
-    iContinueIncompleteRecord = ETrue;
-
-    User::LeaveIfError( 
-        iDbRecord.Connect( iDbSession, 
-                           iRecordId,
-                           EFalse   /* aReadOnly */ ) );
-
-    // make sure that record is open for writing.
-    TBool isTestCompleted = EFalse;
-    User::LeaveIfError( iDbRecord.IsTestCompleted( isTestCompleted ) );
-    if ( isTestCompleted )
-        {
-        User::Leave( KErrLocked );
-        }
-
-    // recover original parameter
-    CDiagResultsDbRecordEngineParam* engineParam = NULL;
-    User::LeaveIfError(
-        iDbRecord.GetEngineParam( engineParam ) );
-
-    CleanupStack::PushL( engineParam );
-
-    // Recover original batch.
-    MDiagPlugin* plugin = NULL;
-    iEngineConfig.SetDependencyDisabled( !engineParam->DependencyExecution() );
-    const RArray< TUid >& uidArray = engineParam->ExecutionsUidArray();
-    TInt count = uidArray.Count();
-    for ( TInt i = 0; i < count; i++ )
-        {
-        LOGSTRING2( "CDiagEngineImpl::ConstructNewRecordL() "
-            L"Add plugin 0x%08x", uidArray[i].iUid )
-            
-        User::LeaveIfError( 
-            iPluginPool.FindPlugin( uidArray[i], plugin ) );
-        iBatch.AppendL( plugin );
-        plugin = NULL;
-        }
-    
-    CleanupStack::PopAndDestroy( engineParam );
-    engineParam = NULL;
-
-    iPlan = CDiagPluginExecPlanImpl::NewL( *this, iEngineConfig, *this );
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::ConstructCommonL()
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::ConstructCommonL()
-    {
-    LOGSTRING( "CDiagEngineImpl::ConstructCommonL." )
-
-    // Read Cenrep key
-    iEngineConfig.ReadCenrepKeysL();
-
-    // Create state machine.
-    iStateMachine = CStateMachine::NewL( *this );
-
-    // Create call handler.
-    iCallHandler = CDiagEngineCallHandler::NewL( *this );
-
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::~CDiagEngineImpl
-// ---------------------------------------------------------------------------
-//
-CDiagEngineImpl::~CDiagEngineImpl()
-    {
-    LOGSTRING( "CDiagEngineImpl::~CDiagEngineImpl() Destructor" )
-
-    StopAllRequests();
-
-    CleanupIncompleteTestSession();
-
-    // always delete plan before record is closed.
-    delete iPlan;
-    iPlan = NULL;
-
-    iDbRecord.Close();
-
-    iBatch.Close(); // MUST NOT destroy since we don't own elements within it
-
-    delete iStateMachine;
-    iStateMachine = NULL;
-
-    delete iSuspendedResult;
-    iSuspendedResult = NULL;
-
-    delete iCallHandler;
-    iCallHandler = NULL;
-
-    LOGSTRING( "} ---- DIAG ENGINE END ---- DIAG ENGINE END ----" )
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::CleanupIncompleteTestSession
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::CleanupIncompleteTestSession()
-    {
-    if ( iStateMachine == NULL || 
-            iStateMachine->CurrentState() == EStateNotReady ||
-            iStateMachine->CurrentState() == EStateStopped )
-        {
-        // Test is never started or already finished. Nothing to clean up here.
-        return;
-        }
-
-    // At this point, we can either suspend or complete the test record.
-    // Normally, since state machine is not in EStateStopped state,
-    // record should suspended.
-    //
-    // However, even if it is not completely done executing the plan, 
-    // if last test is already completed, engine will report TestCompleted( ETrue ).
-    // Otherwise, when examining db record for resuming, the record will appear
-    // incomplete, but in reality there is no more test to execute and resuming the
-    // record will immediately finish the session, which is meaningless.
-    // Hence, when last test plug-in is executed, engine will record test completed,
-    // instead of suspend, even if there are suite items left in plan.
-
-    LOGSTRING2( "CDiagEngineImpl::CleanupIncompleteTestSession() State = %d", 
-        iStateMachine->CurrentState() )
-
-    switch( iStateMachine->CurrentState() )
-        {
-        case EStateStopped:
-            // all completed. Nothing to finalize.
-            break;
-
-        case EStateNotReady:        // fall through
-        case EStateCreatingPlan:
-            // Plan was not fully created.
-            // Mark the record as incomplete and let execution plan
-            // to figure out how to resume later.
-            // No need to call NotifyPluginsOfTestSessionEnd() since 
-            // TestSessionBeginL() was never called. 
-            iDbRecord.Suspend();    // in destructor. Error ignored.
-            break;
-        
-        case EStateCancelAll:
-            {
-            // Test session was being cancelled. Since we were in cancel all mode,
-            // it cannot be resumed. Mark the record completed.
-            NotifyPluginsOfTestSessionEnd();
-
-            TInt err =  iDbRecord.TestCompleted( EFalse /* aFullyComplete */ );
-            LOGSTRING2( "CDiagEngineImpl::CleanupIncompleteTestSession() "
-                L" TestCompleted( EFalse ) err = %d", err )
-            // in destructor. Error ignored.
-            }
-            break;
-
-        case EStateFinalizing:
-            {
-            // Engine was about to finalize, but never got a chance to.
-            // In this state, db record should always be closed with TestCompleted
-            // since it is a normal execution finish scenario and it cannot
-            // be resumed later.
-            NotifyPluginsOfTestSessionEnd();
-
-            TBool isFullyCompleted = ( iEngineError == KErrNone );
-            TInt err = iDbRecord.TestCompleted( isFullyCompleted );
-            LOGSTRING3( "CDiagEngineImpl::CleanupIncompleteTestSession() "
-                L"iDbRecord.TestCompleted( %d ) err = %d", isFullyCompleted, err )
-            
-            // We are in destructor. Ignore errors from db.
-            }
-            break;
-
-        default:
-            // In other states, engine was still executing some items.
-            // Check if it shoud be marked as suspended or not.
-            {
-            TBool allTestsCompleted = EFalse;
-            for ( TInt i = iPlan->CurrentIndex(); i < iPlan->Count(); i++ )
-                {
-                if ( (*iPlan)[i].Plugin().Type() == MDiagPlugin::ETypeTestPlugin &&
-                     (*iPlan)[i].State() != MDiagExecPlanEntry::EStateCompleted )
-                    {
-                    // Found a test entry that is not completed.
-                    allTestsCompleted = EFalse;
-                    break; //lint !e960  break OK here.
-                    }
-                }
-
-            NotifyPluginsOfTestSessionEnd();
-
-            if ( allTestsCompleted )
-                {
-                TInt err =  iDbRecord.TestCompleted( ETrue /* aFullyComplete */ );
-                LOGSTRING2( "CDiagEngineImpl::CleanupIncompleteTestSession() "
-                    L" iDbRecord.TestCompleted( ETrue ) err = %d", err )
-                }
-            else
-                {
-                TInt err = iDbRecord.Suspend();
-                LOGSTRING2( "CDiagEngineImpl::CleanupIncompleteTestSession(). "
-                    L"iDbRecord.Suspend() err = %d", err )
-                }
-            
-            }
-            break;
-
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::ExecuteL
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::ExecuteL()
-    {
-    __ASSERT_ALWAYS( iStateMachine->CurrentState() == EStateNotReady,
-                     Panic( EDiagFrameworkInvalidState ) );
-
-    iStateMachine->AddEventL( EEventExecute );
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::SetCustomParam
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::SetCustomParam( TAny* aCustomParams )
-    {
-    __ASSERT_ALWAYS( aCustomParams, Panic( EDiagFrameworkBadArgument ) );
-
-    // Custom parameter can be set only when engine is not running.
-    __ASSERT_ALWAYS( iStateMachine->CurrentState() == EStateNotReady, 
-                     Panic( EDiagFrameworkInvalidState ) );
-
-    iCustomParam = aCustomParams;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::SuspendL
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::SuspendL()
-    {
-    DiagFwInternal::TState state = iStateMachine->CurrentState();
-
-    // Suspendable states:
-    __ASSERT_ALWAYS( ( state == EStateRunning ||
-                       state == EStateCreatingPlan ||
-                       state == EStateFinalizing ||
-                       state == EStateStopped ),
-                     Panic( EDiagFrameworkInvalidState ) );
-
-    if ( state == EStateFinalizing || state == EStateStopped )
-        {
-        // ignore suspend request. All tests are already completed and
-        // we are just waiting to finalize db record and report final
-        // result.
-        return;
-        }
-
-    StopAllRequests();
-
-    LOGSTRING( "CDiagEngineImpl::SuspendL(). Adding suspend event" )
-    iStateMachine->AddEventL( EEventSuspend );
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::ResumeL
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::ResumeL()
-    {
-    __ASSERT_ALWAYS( iStateMachine->CurrentState() == EStateSuspended,
-                     Panic( EDiagFrameworkInvalidState ) );
-
-    LOGSTRING( "CDiagEngineImpl::SuspendL(). Adding resume event" )
-    AddResumeEventL( MDiagEngineObserver::EResumedByClient );
-    }
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngineImpl::ExecutionPlanL
-// ---------------------------------------------------------------------------
-//
-const MDiagPluginExecPlan& CDiagEngineImpl::ExecutionPlanL() const
-    {
-    return *iPlan;
-    }
-
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngineImpl::ExecutionStopL
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::ExecutionStopL( TCancelMode aCancelMode )
-    {
-    DiagFwInternal::TState state = iStateMachine->CurrentState();
-
-    // Acceptable states for execution stop.
-    __ASSERT_ALWAYS( state == EStateCreatingPlan ||
-                     state == EStateRunning ||
-                     state == EStateSuspended ||
-                     state == EStateFinalizing ||
-                     state == EStateStopped,
-                     Panic( EDiagFrameworkInvalidState ) );
-
-    if ( state == EStateFinalizing || state == EStateStopped )
-        {
-        // ignore cancel request. All tests are already completed and
-        // we are just waiting to finalize db record and report final
-        // result.
-        return;
-        }
-
-    StopAllRequests();
-    
-    if ( aCancelMode == ESkip )
-        {
-        iStateMachine->AddEventL( EEventSkip );
-        }
-    else
-        {
-        iStateMachine->AddEventL( EEventCancelAll );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngineImpl::ResetWatchdog
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::ResetWatchdog()
-    {
-    iPlan->CurrentExecutionItem().ResetWatchdog();
-    }
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngineImpl::ResetWatchdog
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::ResetWatchdog( TDiagEngineWatchdogTypes aWatchdogType )
-    {
-    iPlan->CurrentExecutionItem().ResetWatchdog( aWatchdogType );
-    }
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngineImpl::ResetWatchdog
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::ResetWatchdog( TTimeIntervalMicroSeconds32 aExpectedTimeToComplete )
-    {
-    iPlan->CurrentExecutionItem().ResetWatchdog( aExpectedTimeToComplete );
-    }
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngineImpl::ViewAppUi
-// ---------------------------------------------------------------------------
-//
-CAknViewAppUi& CDiagEngineImpl::ViewAppUi()
-    {
-    return iViewAppUi;
-    }
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngineImpl::ViewAppUi
-// ---------------------------------------------------------------------------
-//
-const CAknViewAppUi& CDiagEngineImpl::ViewAppUi() const
-    {
-    return iViewAppUi;
-    }
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngineImpl::DbRecord
-// ---------------------------------------------------------------------------
-//
-RDiagResultsDatabaseRecord& CDiagEngineImpl::DbRecord()
-    {
-    return iDbRecord;
-    }
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngineImpl::DbRecord
-// ---------------------------------------------------------------------------
-//
-const RDiagResultsDatabaseRecord& CDiagEngineImpl::DbRecord() const
-    {
-    return iDbRecord;
-    }
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngineImpl::PluginPool
-// ---------------------------------------------------------------------------
-//
-CDiagPluginPool& CDiagEngineImpl::PluginPool()
-    {
-    return iPluginPool;
-    }
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngineImpl::PluginPool
-// ---------------------------------------------------------------------------
-//
-const CDiagPluginPool& CDiagEngineImpl::PluginPool() const
-    {
-    return iPluginPool;
-    }
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngineImpl::AddToConfigListL
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::AddToConfigListL(
-        MDiagEngineCommon::TConfigListType aListType, 
-        const TDesC& aText )
-    {
-    switch ( aListType )
-        {
-        case MDiagEngineCommon::EConfigListCallIngore:
-            iCallHandler->AddIgnoreNumberL( aText );
-            break;
-
-        default:
-            LOGSTRING2( "CDiagEngineImpl::AddToConfigListL(). Invalid ListType %d",
-                aListType )
-            Panic( EDiagFrameworkBadArgument );
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngineImpl::RemoveFromConfigListL
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::RemoveFromConfigListL(
-        MDiagEngineCommon::TConfigListType aListType,
-        const TDesC& aText )
-    {
-    switch ( aListType )
-        {
-        case MDiagEngineCommon::EConfigListCallIngore:
-            iCallHandler->RemoveIgnoreNumberL( aText );
-            break;
-
-        default:
-            LOGSTRING2( "CDiagEngineImpl::RemoveFromConfigListL(). Invalid ListType %d",
-                aListType )
-            Panic( EDiagFrameworkBadArgument );
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngineImpl::CreateCommonDialogLC
-// ---------------------------------------------------------------------------
-//
-CAknDialog* CDiagEngineImpl::CreateCommonDialogLC( TDiagCommonDialog aDialogType,
-                                                   TAny* aInitData )
-    {
-    return iObserver.CreateCommonDialogLC( aDialogType, aInitData );
-    }
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngineImpl::ExecuteAppCommandL
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::ExecuteAppCommandL( TDiagAppCommand aCommand, 
-                                          TAny* aParam1,
-                                          TAny* aParam2 )
-    {
-    iObserver.ExecuteAppCommandL( aCommand, aParam1, aParam2 );
-    }
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngineImpl::StopWatchdogTemporarily
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::StopWatchdogTemporarily()
-    {
-    if ( iStateMachine == NULL || iPlan == NULL )
-        {
-        return;
-        }
-
-    if ( iStateMachine->CurrentState() == EStateRunning )
-        {
-        iPlan->CurrentExecutionItem().StopWatchdogTemporarily();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngineImpl::IsDependencyDisabled
-// ---------------------------------------------------------------------------
-//
-TBool CDiagEngineImpl::IsDependencyDisabled() const
-    {
-    return iEngineConfig.IsDependencyDisabled();
-    }
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCommon
-// CDiagEngineImpl::CustomParam
-// ---------------------------------------------------------------------------
-//
-TAny* CDiagEngineImpl::CustomParam() const
-    {
-    return iCustomParam;
-    }   //lint !e1763 Custom param is just passed along. Does not actually change engine.
-
-// ---------------------------------------------------------------------------
-// From class MDiagExecPlanEntryImplObserver
-// CDiagEngineImpl::ExecPlanEntryProgressL
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::ExecPlanEntryProgressL( 
-        CDiagExecPlanEntryImpl& aSender,
-        TUint aCurrentStep, 
-        TUint aTotalSteps )
-    {
-    LOGSTRING4( "CDiagEngineImpl::ExecPlanEntryProgressL: Plugin = 0x%08x, (%d / %d) ",
-        aSender.Plugin().Uid().iUid,
-        aCurrentStep, 
-        aTotalSteps )
-
-    if ( aSender.Plugin().Uid() == iPlan->CurrentExecutionItem().Plugin().Uid() )
-        {
-        CEventTestProgress* event = new ( ELeave ) CEventTestProgress(
-                aSender.Plugin(), aCurrentStep, aTotalSteps );
-
-        iStateMachine->AddEventL( event ); // ownership changed.
-        }
-    else
-        {
-        // probably timing issue. Ignore event.
-        __ASSERT_DEBUG( 0, Panic( EDiagFrameworkInternal ) );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From class MDiagExecPlanEntryImplObserver
-// CDiagEngineImpl::ExecPlanEntryExecutedL
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::ExecPlanEntryExecutedL( CDiagExecPlanEntryImpl& aSender )
-    {
-    LOGSTRING2( "CDiagEngineImpl::ExecPlanEntryExecutedL: Plugin = 0x%08x",
-        aSender.Plugin().Uid().iUid )
-
-    if ( aSender.Plugin().Uid() != iPlan->CurrentExecutionItem().Plugin().Uid() )
-        {
-        // probably timing issue. Ignore event.
-        __ASSERT_DEBUG( 0, Panic( EDiagFrameworkInternal ) );
-        }
-    else
-        {
-        TInt error = KErrNone;
-        if ( aSender.IsStoppedByClient() )
-            {
-            error = KErrCancel;
-            }
-
-        CDiagResultsDatabaseItem* result = NULL;
-
-        if ( aSender.Plugin().Type() == MDiagPlugin::ETypeTestPlugin )
-            {
-            // Test was completed. Get test result.
-            CDiagExecPlanEntryImplTest& testEntry = 
-                static_cast< CDiagExecPlanEntryImplTest& >( aSender );
-
-            result = testEntry.GetLastTestResultL();
-
-            __ASSERT_ALWAYS( result != NULL, Panic( EDiagFrameworkNullTestResult ) );
-            }
-
-        NotifyResultAndContinueL( error, result );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From class MDiagExecPlanEntryImplObserver
-// CDiagEngineImpl::ExecPlanEntryCriticalError
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::ExecPlanEntryCriticalError( TInt aError )
-    {
-    LOGSTRING2( "CDiagEngineImpl::ExecPlanEntryCriticalError: "
-        L"Critical failure %d", aError )
-
-    // Unrecoverable error has occered. e.g. out of memory, disk full etc.
-    iStateMachine->HandleError( aError );
-    }
-
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineStateMachineObserver
-// CDiagEngineImpl::HandleStateChangedL
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::HandleStateChangedL( 
-        TState aPreviousState, 
-        TState aCurrentState,
-        const CEventBasic& aEventPreview )
-    {
-    // NOTE: This method is called by state machine as soon as an event that
-    // changes states is called. This means that it could execute within caller's
-    // call stack. (e.g. it could be still within application or plug-in's 
-    // call stack.) It is best to limit amount of implementation here to
-    // things that must be done as soon as an event occurs.
-    // 
-    // Suspend and Resume are exceptions since they require immediate notification
-    // to observer. Otherwise, observer might have mismatch in notifications.
-
-    LOGSTRING3( "CDiagEngineImpl::HandleStateChangedL(): "
-            L"Entering State : %d( %S )",
-            aCurrentState, &iStateMachine->StateName( aCurrentState ) )
-
-    switch ( aCurrentState )
-        {
-        case EStateSuspended:
-            // keep track of state befor suspended, so that we can resume
-            // to correct state.
-            iSuspendedPrevState = aPreviousState;
-
-            MDiagEngineObserver::TSuspendReason reason;
-            if ( aEventPreview.GetType() == EEventSuspend )
-                {
-                reason = MDiagEngineObserver::ESuspendByClient;
-                }
-            else
-                {
-                reason = MDiagEngineObserver::ESuspendByPhoneCall;
-                }
-
-            // This will also notify iObserver.
-            DoSuspendL( reason );
-            break;
-
-        case EStateRunning: 
-            if ( aEventPreview.GetType() == EEventResumeToRunning )
-                {
-                LOGSTRING( "CDiagEngineImpl::HandleStateChangedL(). Notify resume" )
-                iObserver.TestExecutionResumedL( iResumeReason );
-                }
-            break;
-
-        case EStateCreatingPlan:
-            if ( aEventPreview.GetType() == EEventResumeToCreatingPlan )
-                {
-                LOGSTRING( "CDiagEngineImpl::HandleStateChangedL(). Notify resume" )
-                iObserver.TestExecutionResumedL( iResumeReason );
-                }
-            break;
-        
-        default:
-            // Do nothing.
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineStateMachineObserver
-// CDiagEngineImpl::HandleEventL
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::HandleEventL( CEventBasic& aEvent )
-    {
-    LOGSTRING5( "CDiagEngineImpl::HandleEventL(): State=%d(%S), Event=%d(%S)",
-        iStateMachine->CurrentState(), 
-        &iStateMachine->StateName( iStateMachine->CurrentState() ),
-        aEvent.GetType(), &aEvent.ToString() )
-            
-    switch ( iStateMachine->CurrentState() )
-        {
-        case EStateNotReady:
-            LOGSTRING( "CDiagEngineImpl::HandleEventL: "
-                L"ERROR! Cannot accept events in EStateNotReady State" )
-            __ASSERT_DEBUG( 0, Panic( EDiagFrameworkCorruptStateMachine ) );
-            break;
-
-        case EStateCreatingPlan:
-            HandleEventInCreatingPlanStateL( aEvent );
-            break;
-
-        case EStateRunning:
-            HandleEventInRunningStateL( aEvent );
-            break;
-
-        case EStateCancelAll:
-            HandleEventInCancelAllStateL( aEvent );
-            break;
-
-        case EStateSuspended:
-            HandleEventInSuspendedStateL( aEvent );
-            break;
-
-        case EStateFinalizing:
-            HandleEventInFinalizingStateL( aEvent );
-            break;
-
-        case EStateStopped:
-            HandleEventInStoppedStateL( aEvent );
-            break;
-
-        case EStateAny:     // fall through
-        default:
-            __ASSERT_DEBUG( 0, Panic( EDiagFrameworkCorruptStateMachine ) );
-            break;
-        }
-    LOGSTRING( "CDiagEngineImpl::HandleEventL(): return" )
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::HandleEventInCreatingPlanStateL
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::HandleEventInCreatingPlanStateL( CEventBasic& aEvent )
-    {
-    switch ( aEvent.GetType() )
-        {
-        case EEventExecute:                 // fall through
-        case EEventResumeToCreatingPlan:
-            StartCreateExecutionPlanL();
-            break;
-        
-        default:
-            LOGSTRING2( "CDiagEngineImpl::HandleEventInCreatingPlanStateL: "
-                        L"Invalid event = %d", aEvent.GetType() )
-            // Ignored.
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::HandleEventInRunningStateL
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::HandleEventInRunningStateL( CEventBasic& aEvent )
-    {
-    switch ( aEvent.GetType() )
-        {
-        case EEventPlanCreated:         
-            // Normal case. Plan is created normally.
-            HandlePlanCreatedL();
-            break;
-        
-        case EEventExecuteNext:
-            ExecuteNextPluginL();
-            break;
-
-        case EEventSkip:
-            HandleSkipL();
-            break;
-
-        case EEventTestProgress:
-            NotifyTestProgressL( static_cast<CEventTestProgress&>( aEvent ) );
-            break;
-
-        case EEventResumeToRunning:
-            DoResumeL();
-            break;
-
-        default:
-            LOGSTRING2( "CDiagEngineImpl::HandleEventInRunningStateL "
-                        L"Invalid event = %d", aEvent.GetType() )
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::HandleEventInCancelAllStateL
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::HandleEventInCancelAllStateL( CEventBasic& aEvent )
-    {
-    switch ( aEvent.GetType() )
-        {
-        case EEventCancelAll:
-        case EEventExecuteNext:
-            HandleCancelAllL();
-            break;
-
-        case EEventSuspend:                 // fall through
-        case EEventVoiceCallActive:
-            // suspend is always handed in its own state
-            __ASSERT_DEBUG( 0, Panic( EDiagFrameworkCorruptStateMachine ) );
-            break;
-
-        default:
-            // other events are ingored( e.g. progress ), since
-            // cancel has been requested
-            LOGSTRING2( "CDiagEngineImpl::HandleEventInCancelAllStateL "
-                        L"Invalid event = %d", aEvent.GetType() )
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::HandleEventInSuspendedStateL
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::HandleEventInSuspendedStateL( CEventBasic& aEvent )
-    {
-    switch ( aEvent.GetType() )
-        {
-        case EEventSuspend:
-            // nothing to do. Suspend is immediate, so it is handled
-            // in HandleStateChangedL 
-            break;
-
-        default:
-            // suspended. ignore.
-            LOGSTRING2( "CDiagEngineImpl::HandleEventInSuspendedStateL "
-                        L"Invalid event = %d", aEvent.GetType() )
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::HandleEventInFinalizingStateL
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::HandleEventInFinalizingStateL( CEventBasic& aEvent )
-    {
-    switch ( aEvent.GetType() )
-        {
-        case EEventAllPluginsCompleted:
-            FinalizeTestSessionL();
-            break;
-
-        default:
-            // ignore all others. This is because if the state machine
-            // gets here due to error, there may be left over events in
-            // event queue. Those should be ignored.
-            LOGSTRING2( "CDiagEngineImpl::HandleEventInFinalizingStateL "
-                        L"Invalid event = %d", aEvent.GetType() )
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::HandleEventInStoppedStateL
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::HandleEventInStoppedStateL( CEventBasic& /* aEvent */ )
-    {
-    // ignore all events. This is because if the state machine
-    // gets here due to error, there may be left over events in
-    // event queue. Those should be ignored.
-    }
-
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineStateMachineObserver
-// CDiagEngineImpl::HandleError
-// ---------------------------------------------------------------------------
-//
-TState CDiagEngineImpl::HandleError( TState aCurrentState, TInt aError )
-    {
-    LOGSTRING4( "CDiagEngineImpl::HandleError() State %d(%S), ERROR %d",
-        aCurrentState,
-        &iStateMachine->StateName( aCurrentState ),
-        aError )
-
-    switch ( aCurrentState )
-        {
-        case EStateNotReady:    // fall through.
-        case EStateStopped:
-            // was not running.. Nothing to do.
-            return aCurrentState;
-
-        default:
-            {
-            iEngineError = aError;
-
-            // Database record is open. Suspend the record so that
-            // user can retry later.
-            iDbRecord.Suspend(); // error ignored
-
-            // Ignore error from application in this case since we are already
-            // handling error.
-            TRAP_IGNORE( iObserver.TestExecutionCompletedL( aError ) )
-            }
-            return EStateStopped;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::StartCreateExecutionPlanL
-//
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::StartCreateExecutionPlanL()
-    {
-    LOGSTRING( "CDiagEngineImpl::StartCreateExecutionPlanL() Start creating plan" )
-    if ( iContinueIncompleteRecord )
-        {
-        iPlan->InitializeL( iStatus );
-        }
-    else
-        {
-        iPlan->InitializeL( iStatus, iBatch );
-        }
-    SetActive();
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::HandleEventExecute
-//
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::HandlePlanCreatedL()
-    {
-    if ( iPlan->Count() == 0 )
-        {
-        // Error. There were no items in the plan.
-        iEngineError = KErrArgument;
-        iStateMachine->AddEventL( EEventAllPluginsCompleted );
-        return;
-        }
-
-    // First initialize each plugins for execution.
-    // Note that if initialization step fails, it will be caught by
-    // CStateMachine's active object, and will call ::HandleError()
-    LOGSTRING( "CDiagEngineImpl::HandlePlanCreatedL() : Phase I - Initaliaze all plugins" )
-    for ( TInt i = 0; i < iPlan->Count(); i++ )
-        {
-        MDiagPlugin& plugin = (*iPlan)[i].Plugin();
-        plugin.TestSessionBeginL( *this, iEngineConfig.IsDependencyDisabled(), iCustomParam );
-        }
-
-    LOGSTRING( "CDiagEngineImpl::HandlePlanCreatedL() : Phase II - Execution Begins" )
-    iPlan->ResetExecutionCursor();
-    iStateMachine->AddEventL( EEventExecuteNext );
-    iObserver.TestExecutionBeginL();
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::ExecuteNextPluginL
-//
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::ExecuteNextPluginL()
-    {
-    // first, check if cursor needs to be advanced
-    if ( iPlan->CurrentExecutionItem().State() == MDiagExecPlanEntry::EStateCompleted )
-        {
-        TBool moved = iPlan->MoveCursorToNext();
-        if ( !moved )
-            {
-            // cursor should always move. This is because execute next event
-            // should have never been created by NotifyResultAndContinueL
-            __ASSERT_DEBUG( 0, Panic( EDiagFrameworkInternal ) );
-            return;
-            }
-        }
-
-    // Check if we are in call. If so, suspend current execution immediately.
-    if ( iCallHandler->CurrentState() == EDiagEngineCallHandlerStateBusy )
-        {
-        LOGSTRING( "CDiagEngineImpl::ExecuteNextPluginL() Call in progress" )
-        iStateMachine->AddEventL( EEventVoiceCallActive );
-        return;
-        }
-
-    LOGSTRING2( "CDiagEngineImpl::ExecuteNextPluginL() : "
-        L"Executing plugin 0x%08x", 
-        iPlan->CurrentExecutionItem().Plugin().Uid().iUid )
-
-    iPlan->CurrentExecutionItem().ExecuteL();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::NotifyTestProgressL
-//
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::NotifyTestProgressL( CEventTestProgress& aEvent )
-    {
-    // make sure that we are reporting progress on currently executing test.
-    CDiagExecPlanEntryImpl& currItem = iPlan->CurrentExecutionItem();
-
-    if ( currItem.Plugin().Uid() == aEvent.Sender().Uid() &&
-         currItem.State() != MDiagExecPlanEntry::EStateCompleted )
-        {
-        LOGSTRING3( "CDiagEngineImpl::NotifyTestProgressL. "
-            L"Calling TestExecutionProgressL( %d, %d )", 
-            aEvent.CurrStep(), 
-            aEvent.TotalSteps() )
-        iObserver.TestExecutionProgressL( aEvent.CurrStep(), aEvent.TotalSteps() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::NotifyResultAndContinueL
-//
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::NotifyResultAndContinueL( 
-        TInt aError,
-        CDiagResultsDatabaseItem* aResult )
-    {
-    // aResult can be NULL if it was executing suite.
-    if ( aResult )
-        {
-        CleanupStack::PushL( aResult );
-        }
-    
-    if ( aResult )
-        {
-        CleanupStack::Pop( aResult );
-        }
-
-    iObserver.TestExecutionPluginExecutedL( aError, aResult ); 
-    aResult = NULL; // aResult ownership transferred above.
-
-    if ( iPlan->IsLastPlugin() )
-        {
-        User::After(2000000);
-        iStateMachine->AddEventL( EEventAllPluginsCompleted );
-        }
-    else
-        {
-        iStateMachine->AddEventL( EEventExecuteNext );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::HandleSkipL
-//
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::HandleSkipL()
-    {
-    // if plan was empty, ( e.g. before any execution has actually started.
-    // do nothing.
-    if ( iPlan->Count() == 0 )
-        {
-        iEngineError = KErrArgument;
-        iStateMachine->AddEventL( EEventAllPluginsCompleted );
-        return;
-        }
-
-    // Stop execution.  While plug-ins are required to stop immediately,
-    // writing to results db is async. Completion is notified is
-    // ExecPlanEntryExecutedL()
-    iPlan->CurrentExecutionItem().StopExecutionByClientL( ESkip );
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::HandleCancelAllL
-//
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::HandleCancelAllL()
-    {
-    iEngineError = KErrCancel;
-
-    if ( iPlan->Count() == 0 )
-        {
-        // If plan was empty, ( e.g. before any execution has actually started ),
-        // do nothing and send back completed with KErrCancel.
-        iStateMachine->AddEventL( EEventAllPluginsCompleted );
-        return;
-        }
-
-    if ( iPlan->CurrentExecutionItem().State() == MDiagExecPlanEntry::EStateCompleted )
-        {
-        TBool moved = iPlan->MoveCursorToNext();
-        if ( !moved )
-            {
-            // cursor should always move. This is because execute next event
-            // should have never been created by NotifyResultAndContinueL
-            __ASSERT_DEBUG( 0, Panic( EDiagFrameworkInternal ) );
-            return;
-            }
-        }
-
-    iPlan->CurrentExecutionItem().StopExecutionByClientL( ECancelAll );
-    // Continue to ::ExecPlanEntryExecutedL
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::DoSuspendL
-//
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::DoSuspendL( MDiagEngineObserver::TSuspendReason aReason )
-    {
-    if ( iSuspendedPrevState == EStateNotReady ||
-         iSuspendedPrevState == EStateCreatingPlan ||
-         iSuspendedPrevState == EStateStopped )
-        {
-        // not much to do here.
-        }
-    else
-        {
-        StopAllRequests();
-
-        iSuspendReason = aReason;
-
-        iPlan->CurrentExecutionItem().SuspendL();
-        }
-
-    LOGSTRING( "CDiagEngineImpl::DoSuspendL: Engine Suspended" )
-    iObserver.TestExecutionSuspendedL( aReason );
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::AddResumeEventL
-//
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::AddResumeEventL( MDiagEngineObserver::TResumeReason aReason )
-    {
-    iResumeReason = aReason;
-    if ( iSuspendedPrevState == EStateNotReady ||
-         iSuspendedPrevState == EStateCreatingPlan )
-        {
-        iStateMachine->AddEventL( EEventResumeToCreatingPlan );
-        }
-    else
-        {
-        iStateMachine->AddEventL( EEventResumeToRunning );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::DoResumeL
-//
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::DoResumeL()
-    {
-    LOGSTRING( "CDiagEngineImpl::DoResumeL: Resuming Engine..." )
-    CDiagExecPlanEntryImpl& entry = iPlan->CurrentExecutionItem();
-
-    if ( entry.State() == MDiagExecPlanEntry::EStateCompleted )
-        {
-        // already completed. nothing to resume.
-        ExecuteNextPluginL();
-        }
-    else
-        {
-        entry.ResumeL();
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::CreateDbItem
-//
-// ---------------------------------------------------------------------------
-//
-CDiagResultsDatabaseItem* CDiagEngineImpl::CreateDbItemL(
-        CDiagExecPlanEntryImpl& aCurrItem,
-        CDiagResultsDatabaseItem::TResult aResultType ) const
-    {
-    return CDiagResultsDbItemBuilder::CreateSimpleDbItemL( aCurrItem.Plugin().Uid(),
-                                                           aCurrItem.AsDependency(),
-                                                           aResultType );
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::NotifyPluginsOfTestSessionEnd
-//
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::NotifyPluginsOfTestSessionEnd()
-    {
-    LOGSTRING( "CDiagEngineImpl::NotifyPluginsOfTestSessionEnd() : "
-        L"Phase III - Cleaning up stage" )
-    // unlike initialization stage, it will TRAP all errors so that 
-    // every plug-ins will have a chance to run its clean up code.
-    for ( TInt index = 0; index < iPlan->Count(); index++ )
-        {
-        MDiagPlugin& plugin = (*iPlan)[index].Plugin();
-        TRAPD( err, plugin.TestSessionEndL( 
-            *this, iEngineConfig.IsDependencyDisabled(), iCustomParam ) );
-        if ( err != KErrNone )
-            {
-            LOGSTRING3( "CDiagEngineImpl::NotifyPluginsOfTestSessionEnd(): "
-                L"Plug-in Uid %d CleanupL failed with error %d", 
-                plugin.Uid().iUid, err )
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::StopAllRequests
-//
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::StopAllRequests()
-    {
-    Cancel();
-    StopWatchdogTemporarily();
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::FinalizeTestSessionL
-//
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::FinalizeTestSessionL()
-    {
-    LOGSTRING( "CDiagEngineImpl::FinalizeTestSessionL() " )
-    
-    // This causes state to change to EStateStopped
-    //iStateMachine->AddEventL( EEventFinalized );
-
-    // Call TestSessionEnd on all plug-ins
-    NotifyPluginsOfTestSessionEnd();
-
-    // Mark DB completed.
-    TBool isFullyCompleted = ( iEngineError == KErrNone );
-    
-    TInt err = iDbRecord.TestCompleted( isFullyCompleted );
-    if ( err != KErrNone )
-        {
-        LOGSTRING3( "CDiagEngineImpl::FinalizeTestSessionL() "
-            L"iDbRecord.TestCompleted( %d ) return err %d", 
-            isFullyCompleted, 
-            err )
-        iEngineError = err;
-        }
-    
-    // Let observer know that test is completed.
-    iObserver.TestExecutionCompletedL( iEngineError );
-    }
-
-// ---------------------------------------------------------------------------
-// From class MDiagEngineCallHandlerObserver
-// CDiagEngineImpl::CallHandlerStateChangedL
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::CallHandlerStateChangedL( TDiagEngineCallHandlerState aState )
-    {
-    if ( aState == EDiagEngineCallHandlerStateBusy && 
-            ( iStateMachine->CurrentState() == EStateRunning) )
-        {
-        iStateMachine->AddEventL( EEventVoiceCallActive );
-        }
-    else if ( aState == EDiagEngineCallHandlerStateIdle && 
-            iStateMachine->CurrentState() == EStateSuspended  &&
-            iSuspendReason == MDiagEngineObserver::ESuspendByPhoneCall )
-        {
-        AddResumeEventL( MDiagEngineObserver::EAutoResumedByCallHangup );
-        }
-    else
-        {
-        // Ignored
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// From class CActive
-// CDiagEngineImpl::RunL
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::RunL()
-    {
-    LOGSTRING2( "CDiagEngineImpl::RunL() error %d", iStatus.Int() )
-    
-    User::LeaveIfError( iStatus.Int() );
-    
-    switch ( iStateMachine->CurrentState()  )
-        {
-        case EStateCreatingPlan:
-            // plan created successfully.
-            iStateMachine->AddEventL( EEventPlanCreated );
-            break;
-
-        default:
-            __ASSERT_DEBUG( 0, Panic( EDiagFrameworkCorruptStateMachine ) );
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From class CActive
-// CDiagEngineImpl::DoCancel
-// ---------------------------------------------------------------------------
-//
-void CDiagEngineImpl::DoCancel()
-    {
-    switch ( iStateMachine->CurrentState() )
-        {
-        case EStateCreatingPlan:
-            iPlan->Cancel();
-            break;
-
-        default:
-            // Nothing to do
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From class CActive
-// CDiagEngineImpl::RunError
-// ---------------------------------------------------------------------------
-//
-TInt CDiagEngineImpl::RunError( TInt aError )
-    {
-    if ( iStateMachine )
-        {
-        iStateMachine->HandleError( aError );
-        }
-
-    return KErrNone;
-    }
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/src/diagenginestatemachine.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,362 +0,0 @@
-/*
-* 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 "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:  Class definition of CStateMachine
-*
-*/
-
-
-// CLASS DECLARATION
-#include "diagenginestatemachine.h"         // DiagFwInternal::CStateMachine
-
-// SYSTEM INCLUDE FILES
-#include <DiagFrameworkDebug.h>             // LOGSTRING
-
-// USER INCLUDE FILES
-#include "diagenginestatemachineobserver.h" // DiagFwInternal::MStateMachineObserver
-#include "diagengineeventbasic.h"           // DiagFwInternal::CEventBasic
-#include "diagframework.pan"                // Panics
-
-
-namespace DiagFwInternal
-    {
-// ======== LOCAL DATA ==========
-struct TStateTableEntry
-    {
-    TState  iInputState;
-    TEvent  iEventType;
-    TState  iOutputState;
-    };
-
-
-static const TStateTableEntry  KStateTable[] = 
-    {
-        // current state    input event                 output state
-        {
-        EStateNotReady,     EEventExecute,              EStateCreatingPlan
-        },
-        {
-        EStateCreatingPlan, EEventPlanCreated,          EStateRunning
-        },
-        {
-        EStateSuspended,    EEventResumeToRunning,      EStateRunning
-        },
-        {
-        EStateSuspended,    EEventResumeToCreatingPlan, EStateCreatingPlan
-        },
-        {
-        EStateFinalizing,   EEventFinalized,            EStateStopped,
-        },
-        // ALL EStateAny MUST be listed in below.
-        // This makes sure that more specific transition happens before
-        // any state transitions occur.
-        {
-        EStateAny,          EEventAllPluginsCompleted,  EStateFinalizing
-        },
-        {
-        EStateAny,          EEventCancelAll,            EStateCancelAll
-        },
-        {
-        EStateAny,          EEventSuspend,              EStateSuspended
-        },
-        {
-        EStateAny,          EEventVoiceCallActive,      EStateSuspended
-        }
-    };
-
-static const TInt KStateTableSize = sizeof( KStateTable )/sizeof( TStateTableEntry );
-
-
-// ======== LOCAL FUNCTIONS ========
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CStateMachine::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CStateMachine::ConstructL()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// CStateMachine::NewL()
-// ---------------------------------------------------------------------------
-//
-CStateMachine* CStateMachine::NewL( MStateMachineObserver& aObserver )
-    {
-    CStateMachine* self = CStateMachine::NewLC( aObserver );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CStateMachine::NewLC()
-// ---------------------------------------------------------------------------
-//
-CStateMachine* CStateMachine::NewLC( MStateMachineObserver& aObserver )
-    {
-    CStateMachine* self = new( ELeave )CStateMachine( aObserver );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CStateMachine::CStateMachine
-// ---------------------------------------------------------------------------
-//
-CStateMachine::CStateMachine( MStateMachineObserver& aObserver )
-    :   CActive( EPriorityStandard ),
-        iObserver( aObserver ),
-        iEventQueue(),
-        iState( EStateNotReady )
-    {
-    CActiveScheduler::Add( this );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CStateMachine::~CStateMachine
-// ---------------------------------------------------------------------------
-//
-CStateMachine::~CStateMachine() 
-    {
-    Cancel();
-    iEventQueue.ResetAndDestroy();
-    iEventQueue.Close();
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CStateMachine::AddEventL
-// ---------------------------------------------------------------------------
-//
-void CStateMachine::AddEventL( CEventBasic* aEvent )
-    {
-    __ASSERT_ALWAYS( aEvent, Panic( EDiagFrameworkBadArgument ) );
-
-    LOGSTRING2( "CStateMachine::AddEventL: Type = %S", &( aEvent->ToString() ) )
-
-    CleanupStack::PushL( aEvent );
-    iEventQueue.AppendL( aEvent );     // owership transfer
-    CleanupStack::Pop( aEvent );
-    // do not set aEvent to NULL, since it is used later
-
-    TState nextState = CheckStateTable( iState, aEvent->GetType() );
-
-    if ( nextState != EStateAny && nextState != iState )
-        {
-        // state change happened.
-        TState prevState = iState;
-        iState = nextState;
-
-        iObserver.HandleStateChangedL( prevState, iState, *aEvent );
-        }
-
-    ReactivateQueue();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CStateMachine::AddEventL
-// ---------------------------------------------------------------------------
-//
-void CStateMachine::AddEventL( TEvent aEventId )
-    {
-    // simple event. Create a basic event type
-    AddEventL( new( ELeave )CEventBasic( aEventId ) );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CStateMachine::CurrentState
-// ---------------------------------------------------------------------------
-//
-TState CStateMachine::CurrentState() const
-    {
-    return iState;
-    }
-
-// ---------------------------------------------------------------------------
-// CStateMachine::HandleError
-// ---------------------------------------------------------------------------
-//
-void CStateMachine::HandleError( TInt aError )
-    {
-    iState = iObserver.HandleError( iState, aError );
-    }
-
-// ---------------------------------------------------------------------------
-// From CActive
-// CStateMachine::RunL
-// ---------------------------------------------------------------------------
-//
-void CStateMachine::RunL() 
-    {
-    // Note that ReactivateQueue() must always be called before observer method
-    // is called. This is because observer may delete state machine
-    // during the callback. To prevent crashes, callback MUST BE the
-    // last funciton to call before returning.
-    if ( iEventQueue.Count() > 0 )
-        {
-        // there is an item in the event queue.
-        // Pop and execute the event.
-        CEventBasic* event = iEventQueue[0];
-        iEventQueue.Remove( 0 );
-        
-        // always reactivate the queue before calling observer
-        ReactivateQueue();
-
-        CleanupStack::PushL( event );
-        iObserver.HandleEventL( *event );
-        CleanupStack::PopAndDestroy( event );
-
-        // must return immediately to make sure that no member variables
-        // are accessed after observer is called.
-        return;
-        }
-    else
-        {
-        LOGSTRING( "CStateMachine::RunL(). Called for no reason?" )
-        __ASSERT_DEBUG( 0, Panic( EDiagFrameworkCorruptStateMachine ) );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From CActive
-// CStateMachine::DoCancel
-// ---------------------------------------------------------------------------
-//
-void CStateMachine::DoCancel() 
-    {
-    // Nothing to do here..
-    }
-
-// ---------------------------------------------------------------------------
-// From CActive
-// CStateMachine::RunError
-// ---------------------------------------------------------------------------
-//
-TInt CStateMachine::RunError( TInt aError ) 
-    {
-    HandleError( aError );
-    return KErrNone;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CStateMachine::CheckStateTable
-// ---------------------------------------------------------------------------
-//
-TState CStateMachine::CheckStateTable( TState aCurrState, TEvent aEvent ) const
-    {
-    TState outputState = EStateAny;
-    TBool isFound = EFalse;
-
-    for ( TInt i = 0; i < KStateTableSize && !isFound; i++ )
-        {
-        if ( ( KStateTable[i].iInputState == EStateAny || 
-                    aCurrState == KStateTable[i].iInputState ) &&
-                aEvent == KStateTable[i].iEventType )
-            {
-            outputState = KStateTable[i].iOutputState;
-            isFound = ETrue;
-            }
-        }
-    return outputState;
-    }
-
-// ---------------------------------------------------------------------------
-// CStateMachine::ReactivateQueue
-// ---------------------------------------------------------------------------
-//
-void CStateMachine::ReactivateQueue()
-    {
-    if ( !IsActive() && iEventQueue.Count() > 0 )
-        {
-        // reactivate only if it is not already active, and there is something
-        // in the queue
-        TRequestStatus* stat = &iStatus;
-        User::RequestComplete( stat, KErrNone );
-        SetActive();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CStateMachine::StateName
-// ---------------------------------------------------------------------------
-//
-
-#if _DEBUG
-const TDesC& CStateMachine::StateName( TState aState ) const
-    {
-    _LIT( KStateAny,         "EStateAny" );
-    _LIT( KStateNotReady,    "EStateNotReady" );
-    _LIT( KStateCreatingPlan,"EStateCreatingPlan" );
-    _LIT( KStateRunning,     "EStateRunning" );
-    _LIT( KStateStopped,     "EStateStopped" );
-    _LIT( KStateCancelAll,   "EStateCancelAll" );
-    _LIT( KStateSuspended,   "EStateSuspended" );
-    _LIT( KStateFinalizing,  "EStateFinalizing" );
-
-    switch ( aState )
-        {
-        case EStateAny:
-            return KStateAny();
-
-        case EStateNotReady:
-            return KStateNotReady();
-
-        case EStateCreatingPlan:
-            return KStateCreatingPlan();
-
-        case EStateRunning:
-            return KStateRunning();
-
-        case EStateStopped:
-            return KStateStopped();
-
-        case EStateCancelAll:
-            return KStateCancelAll();
-
-        case EStateSuspended:
-            return KStateSuspended();
-
-        case EStateFinalizing:
-            return KStateFinalizing();
-        
-        default:
-            _LIT( KUnknownState, "* Unknown State *");
-            return KUnknownState(); 
-        }
-    }
-
-#else   // #if _DEBUG
-
-// non-debug version.
-const TDesC& CStateMachine::StateName( TState /* aState */ ) const
-    {
-    _LIT( KNonDebugStateName, "?" );
-    return KNonDebugStateName();
-    }
-
-#endif // #else _DEBUG
-
-    } // end of namespace DiagFwInternal
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/src/diagexecplanentryimpl.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,332 +0,0 @@
-/*
-* 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 "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:  Class definition of CDiagExecPlanEntryImpl
-*
-*/
-
-
-// CLASS DECLARATION
-#include "diagexecplanentryimpl.h"
-
-// SYSTEM INCLUDE FILES
-#include <DiagFrameworkDebug.h>             // LOGSTRING
-
-// USER INCLUDE FILES
-#include "diagengineconfig.h"               // TDiagEngineConfig
-#include "diagframework.pan"                // Panic Codes
-
-// DATA
-
-// MACROS
-
-// LOCAL DATA TYPES
-
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImpl::CDiagExecPlanEntryImpl
-// ---------------------------------------------------------------------------
-//
-CDiagExecPlanEntryImpl::CDiagExecPlanEntryImpl( 
-        MDiagEngineCommon& aEngine,
-        const TDiagEngineConfig& aEngineConfig,
-        MDiagExecPlanEntryImplObserver& aObserver,
-        MDiagPlugin& aPlugin,
-        TBool aAsDependency,
-        TType aType )
-    :   CActive( EPriorityStandard ),
-        iEngine( aEngine ),
-        iEngineConfig( aEngineConfig ),
-        iObserver( aObserver ),
-        iPlugin( aPlugin ),
-        iAsDependency( aAsDependency ),
-        iState ( EStateQueued ),
-        iType ( aType )
-    {
-    CActiveScheduler::Add( this );
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImpl::~CDiagExecPlanEntryImpl
-// ---------------------------------------------------------------------------
-//
-CDiagExecPlanEntryImpl::~CDiagExecPlanEntryImpl()
-    {
-    if ( iWatchdogTimer )
-        {
-        iWatchdogTimer->Cancel();
-        delete iWatchdogTimer;
-        iWatchdogTimer = NULL;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImpl::Plugin
-// ---------------------------------------------------------------------------
-//
-MDiagPlugin& CDiagExecPlanEntryImpl::Plugin()
-    {
-    return iPlugin;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImpl::Plugin
-// ---------------------------------------------------------------------------
-//
-const MDiagPlugin& CDiagExecPlanEntryImpl::Plugin() const
-    {
-    return iPlugin;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImpl::State
-// ---------------------------------------------------------------------------
-//
-MDiagExecPlanEntry::TState CDiagExecPlanEntryImpl::State() const
-    {
-    return iState;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImpl::ChangeStateL
-// ---------------------------------------------------------------------------
-//
-void CDiagExecPlanEntryImpl::ChangeStateL( TState aState )
-    {
-    iState = aState;
-
-    TBool watchdogNeeded = EFalse;
-
-    // determine if we need a watchdog or not.
-    switch( aState )
-        {
-        case EStateRunning:
-        case EStateStopped:
-            watchdogNeeded = ETrue;
-            break;
-
-        case EStateQueued:
-        case EStateInitDelay:
-        case EStateCompleted:
-        case EStateSuspended:
-        default:
-            watchdogNeeded = EFalse;
-            break;
-        }
-
-    if ( watchdogNeeded )
-        {
-        if ( iWatchdogTimer == NULL )
-            {
-            LOGSTRING( "CDiagExecPlanEntryImpl::ChangeStateL() Create watchdog timer" )
-            iWatchdogTimer = CPeriodic::NewL( EPriorityStandard );
-            }
-        ResetWatchdog();
-        }
-    else
-        {
-        if ( iWatchdogTimer )
-            {
-            LOGSTRING( "CDiagExecPlanEntryImpl::ChangeStateL() delete watchdog timer" )
-            iWatchdogTimer->Cancel();
-            delete iWatchdogTimer;
-            iWatchdogTimer = NULL;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImpl::Type
-// ---------------------------------------------------------------------------
-//
-CDiagExecPlanEntryImpl::TType CDiagExecPlanEntryImpl::Type() const
-    {
-    return iType;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImpl::SetType
-// ---------------------------------------------------------------------------
-//
-void CDiagExecPlanEntryImpl::SetType( TType aType )
-    {
-    iType = aType;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImpl::AsDependency
-// ---------------------------------------------------------------------------
-//
-TBool CDiagExecPlanEntryImpl::AsDependency() const
-    {
-    return iAsDependency;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImpl::SetAsDependency
-// ---------------------------------------------------------------------------
-//
-void CDiagExecPlanEntryImpl::SetAsDependency( TBool aAsDependency )
-    {
-    iAsDependency = aAsDependency;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImpl::IsStoppedByClient
-// ---------------------------------------------------------------------------
-//
-TBool CDiagExecPlanEntryImpl::IsStoppedByClient() const
-    {
-    return iStoppedByClient;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImpl::Engine
-// ---------------------------------------------------------------------------
-//
-MDiagEngineCommon& CDiagExecPlanEntryImpl::Engine()
-    {
-    return iEngine;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImpl::EngineConfig
-// ---------------------------------------------------------------------------
-//
-const TDiagEngineConfig& CDiagExecPlanEntryImpl::EngineConfig() const
-    {
-    return iEngineConfig;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImpl::Observer
-// ---------------------------------------------------------------------------
-//
-MDiagExecPlanEntryImplObserver& CDiagExecPlanEntryImpl::Observer()
-    {
-    return iObserver;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImpl::StopExecutionByClientL
-// ---------------------------------------------------------------------------
-//
-void CDiagExecPlanEntryImpl::StopExecutionByClientL( 
-        MDiagEngineCommon::TCancelMode aCancelMode )
-    {
-    iStoppedByClient = ETrue;
-
-    DoStopExecutionByClientL( aCancelMode );
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImpl::ResetWatchdog
-// ---------------------------------------------------------------------------
-//
-void CDiagExecPlanEntryImpl::ResetWatchdog()
-    {
-    if ( iWatchdogTimer )
-        {
-        LOGSTRING2( "CDiagExecPlanEntryImpl::ResetWatchdog() "
-            L"Timout Value = %d microseconds", iWatchdogValue.Int() )
-        iWatchdogTimer->Cancel();
-        iWatchdogTimer->Start( iWatchdogValue,
-                               iWatchdogValue,
-                               TCallBack( WatchdogTimerExpiredL, this ) );
-        }
-    else    
-        {
-        LOGSTRING( "CDiagExecPlanEntryImpl::ResetWatchdog() "
-            L"Watchdog was not running. Reset request ignored." )
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImpl::ResetWatchdog
-// ---------------------------------------------------------------------------
-//
-void CDiagExecPlanEntryImpl::ResetWatchdog( TDiagEngineWatchdogTypes aWatchdogType )
-    {
-    switch ( aWatchdogType )
-        {
-        case EDiagEngineWatchdogTypeAutomatic:
-            iWatchdogValue = iEngineConfig.WatchdogTimeoutValueAutomatic();
-            break;
-
-        case EDiagEngineWatchdogTypeInteractive:
-            iWatchdogValue = iEngineConfig.WatchdogTimeoutValueInteractive();
-            break;
-
-        default:
-            __ASSERT_ALWAYS( 0, Panic( EDiagFrameworkBadArgument ) );
-            break;
-        }
-
-    ResetWatchdog();
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImpl::ResetWatchdog
-// ---------------------------------------------------------------------------
-//
-void CDiagExecPlanEntryImpl::ResetWatchdog( TTimeIntervalMicroSeconds32 aWatchdogValue )
-    {
-    iWatchdogValue = aWatchdogValue;
-    ResetWatchdog();
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImpl::StopWatchdogTemporarily
-// ---------------------------------------------------------------------------
-//
-void CDiagExecPlanEntryImpl::StopWatchdogTemporarily()
-    {
-    LOGSTRING( "CDiagExecPlanEntryImpl::StopWatchdogTemporarily() " )
-    if ( iWatchdogTimer )
-        {
-        iWatchdogTimer->Cancel();
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDiagEngineImpl::WatchdogTimerExpiredL
-//
-// ---------------------------------------------------------------------------
-//
-TInt CDiagExecPlanEntryImpl::WatchdogTimerExpiredL( TAny* aPtr )
-    {
-    LOGSTRING( "CDiagExecPlanEntryImpl::WatchdogTimerExpiredL()" )
-    
-    CDiagExecPlanEntryImpl* thisPtr = static_cast< CDiagExecPlanEntryImpl* >( aPtr );
-
-    // once watchdog expires, it should not be restarted, since it is end of test.
-    thisPtr->iWatchdogTimer->Cancel();
-    delete thisPtr->iWatchdogTimer;
-    thisPtr->iWatchdogTimer = NULL;
-
-    thisPtr->StopExecutionByWatchdogL();
-    
-    return 0;
-    }
-
-
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/src/diagexecplanentryimplsuite.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,419 +0,0 @@
-/*
-* 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 "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:  Class definition of CDiagExecPlanEntryImplSuite
-*
-*/
-
-
-// CLASS DECLARATION
-#include "diagexecplanentryimplsuite.h"
-
-// SYSTEM INCLUDE FILES
-#include <DiagPlugin.h>                     // MDiagPlugin
-#include <DiagSuitePlugin.h>                // MDiagSuitePlugin
-#include <DiagFrameworkDebug.h>             // LOGSTRING
-#include <DiagSuiteExecParam.h>             // TDiagSuiteExecParam
-
-// USER INCLUDE FILES
-#include "diagframework.pan"                // Panics
-#include "diagexecplanentryimplobserver.h"  // MDiagExecPlanEntryImplObserver
-
-// DATA
-
-// MACROS
-
-// LOCAL DATA TYPES
-
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImplSuite::NewL
-// ---------------------------------------------------------------------------
-//
-CDiagExecPlanEntryImplSuite* CDiagExecPlanEntryImplSuite::NewL(
-        MDiagEngineCommon& aEngine,
-        const TDiagEngineConfig& aEngineConfig,
-        MDiagExecPlanEntryImplObserver& aObserver,
-        MDiagSuitePlugin& aPlugin,
-        TBool aAsDependency,
-        CDiagExecPlanEntryImpl::TType aType )
-    {
-    CDiagExecPlanEntryImplSuite* self = NewLC( aEngine,
-                                               aEngineConfig,
-                                               aObserver,
-                                               aPlugin,
-                                               aAsDependency,
-                                               aType );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImplSuite::NewLC
-// ---------------------------------------------------------------------------
-//
-CDiagExecPlanEntryImplSuite* CDiagExecPlanEntryImplSuite::NewLC(
-        MDiagEngineCommon& aEngine,
-        const TDiagEngineConfig& aEngineConfig,
-        MDiagExecPlanEntryImplObserver& aObserver,
-        MDiagSuitePlugin& aPlugin,
-        TBool aAsDependency,
-        CDiagExecPlanEntryImpl::TType aType )
-    {
-    CDiagExecPlanEntryImplSuite* self = 
-        new ( ELeave ) CDiagExecPlanEntryImplSuite ( aEngine,
-                                                     aEngineConfig,
-                                                     aObserver,
-                                                     aPlugin, 
-                                                     aAsDependency,
-                                                     aType );
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImplSuite::CDiagExecPlanEntryImplSuite
-// ---------------------------------------------------------------------------
-//
-CDiagExecPlanEntryImplSuite::CDiagExecPlanEntryImplSuite( 
-        MDiagEngineCommon& aEngine,
-        const TDiagEngineConfig& aEngineConfig,
-        MDiagExecPlanEntryImplObserver& aObserver,
-        MDiagSuitePlugin& aPlugin,
-        TBool aAsDependency,
-        CDiagExecPlanEntryImpl::TType aType )
-    :   CDiagExecPlanEntryImpl( 
-            aEngine,
-            aEngineConfig,
-            aObserver,
-            aPlugin,
-            aAsDependency,
-            aType  )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImplSuite::~CDiagExecPlanEntryImplSuite
-// ---------------------------------------------------------------------------
-//
-CDiagExecPlanEntryImplSuite::~CDiagExecPlanEntryImplSuite()
-    {
-    Cancel();
-
-    if ( CDiagExecPlanEntryImpl::State() == EStateRunning )
-        {
-        TRAP_IGNORE( SuitePlugin().ExecutionStopL( MDiagSuitePlugin::ESkip ) )
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImplSuite::SuitePlugin
-// ---------------------------------------------------------------------------
-//
-MDiagSuitePlugin& CDiagExecPlanEntryImplSuite::SuitePlugin()
-    {
-    // It is safe to typecast here, since CDiagExecPlanEntryImplSuite::NewL
-    // accepts only MDiagSuitePlugin&.
-    return static_cast< MDiagSuitePlugin& >( Plugin() );
-    }
-
-// ---------------------------------------------------------------------------
-// From CDiagExecPlanEntryImpl
-// CDiagExecPlanEntryImplSuite::ExecuteL
-// ---------------------------------------------------------------------------
-//
-void CDiagExecPlanEntryImplSuite::ExecuteL()
-    {
-    #ifdef _DEBUG
-    HBufC* pluginName = Plugin().GetPluginNameL( 
-        MDiagPlugin::ENameLayoutListSingle );
-    
-    LOGSTRING4( "---- SUITE BEGIN ---- [ 0x%08x %S / %s ] ---- SUITE BEGIN ---- {",
-        Plugin().Uid().iUid,
-        pluginName,
-        ( Type() == ETypeSuitePrepare ) ? L"PREPARE" : L"FINALIZE" )
-
-    delete pluginName;
-    pluginName = NULL;
-    #endif // _DEBUG
-
-    __ASSERT_DEBUG( State() == EStateQueued,
-                    Panic( EDiagFrameworkCorruptStateMachine ) );
-
-    ResetWatchdog( EDiagEngineWatchdogTypeAutomatic );
-    ChangeStateL( EStateRunning );
-
-    // Notify observer that progress is 0 of 1 since suite does not have progress.
-    Observer().ExecPlanEntryProgressL( *this, 0, 1 );
-
-    TDiagSuiteExecParam* execParam = new ( ELeave ) TDiagSuiteExecParam( *this, Engine() );
-    if ( Type() == CDiagExecPlanEntryImpl::ETypeSuitePrepare )
-        {
-        SuitePlugin().PrepareChildrenExecutionL( execParam,  // owership change
-                                                 Engine().IsDependencyDisabled(),
-                                                 AsDependency() );
-        }
-    else
-        {
-        SuitePlugin().FinalizeChildrenExecutionL( execParam, // owership change
-                                                  Engine().IsDependencyDisabled(),
-                                                  AsDependency() );
-        }
-
-    execParam = NULL; //lint !e423 execParam ownership changed.
-    }
-
-// ---------------------------------------------------------------------------
-// From CDiagExecPlanEntryImpl
-// CDiagExecPlanEntryImplSuite::StopExecutionByWatchdogL
-// ---------------------------------------------------------------------------
-//
-void CDiagExecPlanEntryImplSuite::StopExecutionByWatchdogL()
-    {
-    StopSuitePluginL( MDiagSuitePlugin::EWatchdog );
-    }
-
-// ---------------------------------------------------------------------------
-// From CDiagExecPlanEntryImpl
-// CDiagExecPlanEntryImplSuite::StopExecutionByClientL
-// ---------------------------------------------------------------------------
-//
-void CDiagExecPlanEntryImplSuite::DoStopExecutionByClientL( 
-        MDiagEngineCommon::TCancelMode aCancelMode )
-    {
-    MDiagSuitePlugin::TStopReason stopReason;
-
-    switch ( aCancelMode )
-        {
-        case MDiagEngineCommon::ECancelAll:
-            stopReason = MDiagSuitePlugin::ECancelAll;
-            break;
-
-        case MDiagEngineCommon::ESkip:
-            stopReason = MDiagSuitePlugin::ESkip;
-            break;
-
-        default:
-            __ASSERT_DEBUG( 0, Panic( EDiagFrameworkInternal ) );
-            stopReason = MDiagSuitePlugin::ESkip;
-            break;
-        }
-
-    StopSuitePluginL( stopReason );
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImplSuite::StopSuitePluginL
-// ---------------------------------------------------------------------------
-//
-void CDiagExecPlanEntryImplSuite::StopSuitePluginL(
-        MDiagSuitePlugin::TStopReason aStopReason )
-    {
-    LOGSTRING3( "CDiagExecPlanEntryImplSuite::StopSuitePluginL(): "
-        L"Calling plugin uid = 0x%08x SuitePlugin::ExecutionStopL( %d )",
-        Plugin().Uid().iUid,
-        aStopReason )
-
-    Cancel();
-
-    switch ( State() )
-        {
-        case EStateQueued:      // fall through
-        case EStateInitDelay:   // fall through
-        case EStateStopped:     // fall through
-        case EStateSuspended:   // fall through
-        case EStateCompleted:
-            LOGSTRING3( "CDiagExecPlanEntryImplSuite::DoStopSuitePluginL(): "
-                L"Plugin 0x%08x = %d. Do nothing.",
-                Plugin().Uid().iUid,
-                State() )
-            break;
-
-        case EStateRunning:
-            LOGSTRING2( "CDiagExecPlanEntryImplSuite::DoStopSuitePluginL(): "
-                L"Plugin 0x%08x was in ERunning or ESuspended. Call Stop",
-                Plugin().Uid().iUid )
-            SuitePlugin().ExecutionStopL( aStopReason );
-            break;
-
-        default:
-            LOGSTRING3( "CDiagExecPlanEntryImplSuite::DoStopSuitePluginL(): "
-                L"Plugin 0x%08x = INVALID STATE! %d",
-                Plugin().Uid().iUid,
-                State() )
-            __ASSERT_DEBUG( 0, Panic( EDiagFrameworkCorruptStateMachine ) );
-            break;
-        }
-
-    // Notify observer as if plug-in itself would have done.
-    ContinueExecutionL( SuitePlugin() );
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImplSuite::SuspendL
-// ---------------------------------------------------------------------------
-//
-void CDiagExecPlanEntryImplSuite::SuspendL()
-    {
-    Cancel();
-
-    switch ( State() )
-        {
-        case EStateQueued:      // fall through
-        case EStateInitDelay:   // fall through
-            LOGSTRING3( "CDiagExecPlanEntryImplSuite::SuspendL(): "
-                L"Plugin 0x%08x = %d. Reset to Queued state",
-                Plugin().Uid().iUid,
-                State() )
-            // force reset the execution state to queued so that
-            // it will be restarted
-            ChangeStateL( EStateQueued );
-            break;
-
-        case EStateRunning:
-            LOGSTRING2( "CDiagExecPlanEntryImplSuite::SuspendL(): "
-                L"Plugin 0x%08x was in ERunning. Calling Stop",
-                Plugin().Uid().iUid )
-
-            // Suites do not have suspend. Stop with cancel as reason.
-            SuitePlugin().ExecutionStopL( MDiagSuitePlugin::ESkip );
-            // force reset the plugin execution to queued so that
-            // it will be restarted
-            ChangeStateL( EStateQueued );
-            break;
-
-        case EStateStopped:
-            LOGSTRING2( "CDiagExecPlanEntryImplSuite::SuspendL(): "
-                L"Plugin 0x%08x = Stopped.",
-                Plugin().Uid().iUid )
-            // plug-in is already stopped.
-            ChangeStateL( EStateSuspended );
-            break;
-
-        case EStateSuspended:
-            LOGSTRING2( "CDiagExecPlanEntryImplSuite::SuspendL(): "
-                L"Plugin 0x%08x = Suspended.",
-                Plugin().Uid().iUid )
-            // already suspneded. nothing to do.
-            break;
-
-        case EStateCompleted:
-            LOGSTRING2( "CDiagExecPlanEntryImplSuite::SuspendL(): "
-                L"Plugin 0x%08x was already in completed state. No change",
-                Plugin().Uid().iUid )
-            break;
-
-        default:
-            LOGSTRING3( "CDiagExecPlanEntryImplSuite::SuspendL(): "
-                L"Plugin 0x%08x = INVALID STATE! %d",
-                Plugin().Uid().iUid,
-                State() )
-            __ASSERT_DEBUG( 0, Panic( EDiagFrameworkCorruptStateMachine ) );
-            break;
-        }
-
-    // Postcondition. Check acceptble states.
-    __ASSERT_DEBUG( State() == EStateQueued ||
-                    State() == EStateSuspended ||
-                    State() == EStateCompleted,
-                    Panic( EDiagFrameworkCorruptStateMachine ) );
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImplSuite::ResumeL
-// ---------------------------------------------------------------------------
-//
-void CDiagExecPlanEntryImplSuite::ResumeL()
-    {
-    LOGSTRING3( "CDiagExecPlanEntryImplTest::ResumeL(): "
-        L"Plugin 0x%08x, State = %d", Plugin().Uid().iUid, State() )
-
-    __ASSERT_DEBUG( State() == EStateQueued ||
-                    State() == EStateSuspended,
-                    Panic( EDiagFrameworkCorruptStateMachine ) );
-
-    if ( State() == EStateQueued )
-        {
-        ExecuteL();
-        }
-    else
-        {
-        ContinueExecutionL( SuitePlugin() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagSuiteObserver
-// CDiagExecPlanEntryImplSuite::ContinueExecutionL
-// ---------------------------------------------------------------------------
-//
-void CDiagExecPlanEntryImplSuite::ContinueExecutionL( const MDiagSuitePlugin& aSender )
-    {
-    __ASSERT_ALWAYS( aSender.Uid() == Plugin().Uid(), Panic( EDiagFrameworkPlugin ) );
-
-    // Need to do an empty request complete since by default, suite plug-ins
-    // do nothing in prepare/finalize steps and just call ContinueExecutionL.
-    // Doing empty request complete ensures that Plug-in call back does not
-    // directly call application TestExecutionCompletedL() method.
-
-    ChangeStateL( EStateStopped );
-
-    TRequestStatus* status = &iStatus;
-    User::RequestComplete( status, KErrNone );
-    SetActive();
-    }
-
-// ---------------------------------------------------------------------------
-// From CActive
-// CDiagExecPlanEntryImplSuite::RunL
-// ---------------------------------------------------------------------------
-//
-void CDiagExecPlanEntryImplSuite::RunL()
-    {
-    ChangeStateL( EStateCompleted );
-
-    #ifdef _DEBUG
-    HBufC* pluginName = Plugin().GetPluginNameL( 
-        MDiagPlugin::ENameLayoutListSingle );
-    
-    LOGSTRING4( "} ---- SUITE END ---- [ 0x%08x %S / %s ] ---- SUITE END ----",
-        Plugin().Uid().iUid,
-        pluginName,
-        ( Type() == ETypeSuitePrepare ) ? L"PREPARE" : L"FINALIZE" )
-
-    delete pluginName;
-    pluginName = NULL;
-    #endif // _DEBUG
-
-    Observer().ExecPlanEntryExecutedL( *this );
-    }
-
-
-// ---------------------------------------------------------------------------
-// From CActive
-// CDiagExecPlanEntryImplSuite::DoCancel
-// ---------------------------------------------------------------------------
-//
-void CDiagExecPlanEntryImplSuite::DoCancel()
-    {
-    // nothing to do
-    }
-
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/src/diagexecplanentryimpltest.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,857 +0,0 @@
-/*
-* 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 "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:  Class definition of CDiagExecPlanEntryImplTest
-*
-*/
-
-
-// CLASS DECLARATION
-#include "diagexecplanentryimpltest.h"
-
-// SYSTEM INCLUDE FILES
-#include <DiagPlugin.h>                     // MDiagPlugin
-#include <DiagTestPlugin.h>                 // MDiagTestPlugin
-#include <DiagFrameworkDebug.h>             // LOGSTRING
-#include <DiagResultsDbItemBuilder.h>       // CDiagResultsDbItemBuilder
-#include <DiagTestExecParam.h>              // TDiagTestExecParam
-#include <DiagResultsDatabase.h>            // RDiagResultsDatabaseRecord
-
-// USER INCLUDE FILES
-#include "diagframework.pan"                // Panic Codes
-#include "diagexecplanentryimplobserver.h"  // MDiagExecPlanEntryImplObserver
-#include "diagengineconfig.h"               // TDiagEngineConfig
-
-
-// DATA
-
-// MACROS
-
-// LOCAL DATA TYPES
-
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImplTest::NewL
-// ---------------------------------------------------------------------------
-//
-CDiagExecPlanEntryImplTest* CDiagExecPlanEntryImplTest::NewL(
-        MDiagEngineCommon& aEngine,
-        const TDiagEngineConfig& aEngineConfig,
-        MDiagExecPlanEntryImplObserver& aObserver,
-        MDiagTestPlugin& aPlugin,
-        TBool aAsDependency,
-        CDiagResultsDatabaseItem::TResult aResult )
-    {
-    CDiagExecPlanEntryImplTest* self = NewLC( aEngine,
-                                              aEngineConfig,
-                                              aObserver,
-                                              aPlugin,
-                                              aAsDependency,
-                                              aResult );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImplTest::NewLC
-// ---------------------------------------------------------------------------
-//
-CDiagExecPlanEntryImplTest* CDiagExecPlanEntryImplTest::NewLC(
-        MDiagEngineCommon& aEngine,
-        const TDiagEngineConfig& aEngineConfig,
-        MDiagExecPlanEntryImplObserver& aObserver,
-        MDiagTestPlugin& aPlugin,
-        TBool aAsDependency,
-        CDiagResultsDatabaseItem::TResult aResult )
-    {
-    CDiagExecPlanEntryImplTest* self = 
-        new ( ELeave ) CDiagExecPlanEntryImplTest ( aEngine,
-                                                    aEngineConfig,
-                                                    aObserver,
-                                                    aPlugin, 
-                                                    aAsDependency,
-                                                    aResult );
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImplTest::CDiagExecPlanEntryImplTest
-// ---------------------------------------------------------------------------
-//
-CDiagExecPlanEntryImplTest::CDiagExecPlanEntryImplTest( 
-        MDiagEngineCommon& aEngine,
-        const TDiagEngineConfig& aEngineConfig,
-        MDiagExecPlanEntryImplObserver& aObserver,
-        MDiagTestPlugin& aPlugin,
-        TBool aAsDependency,
-        CDiagResultsDatabaseItem::TResult aResult )
-    :   CDiagExecPlanEntryImpl( 
-            aEngine,
-            aEngineConfig,
-            aObserver,
-            aPlugin,
-            aAsDependency,
-            ETypeTestExec ),
-        iResult( aResult )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImplTest::~CDiagExecPlanEntryImplTest
-// ---------------------------------------------------------------------------
-//
-CDiagExecPlanEntryImplTest::~CDiagExecPlanEntryImplTest()
-    {
-    StopAll();  // deletes timer as well.
-    if ( CDiagExecPlanEntryImpl::State() != EStateCompleted )
-        {
-        // TRAP is needed since this is being called in destructor.
-        TRAP_IGNORE( StopExecutionAndIgnoreResultL() )
-        }
-    delete iCachedResult;
-    iCachedResult = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImplTest::Result
-// ---------------------------------------------------------------------------
-//
-CDiagResultsDatabaseItem::TResult CDiagExecPlanEntryImplTest::Result() const
-    {
-    return iResult;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImplTest::SetResult
-// ---------------------------------------------------------------------------
-//
-void CDiagExecPlanEntryImplTest::SetResult( CDiagResultsDatabaseItem::TResult aResult )
-    {
-    iResult = aResult;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImplTest::TestPlugin
-// ---------------------------------------------------------------------------
-//
-MDiagTestPlugin& CDiagExecPlanEntryImplTest::TestPlugin()
-    {
-    // It is safe to typecast here, since CDiagExecPlanEntryImplTest::NewL
-    // accepts only MDiagTestPlugin&.
-    return static_cast< MDiagTestPlugin& >( Plugin() );
-    }
-
-// ---------------------------------------------------------------------------
-// From CDiagExecPlanEntryImpl
-// CDiagExecPlanEntryImplTest::ExecuteL
-// ---------------------------------------------------------------------------
-//
-void CDiagExecPlanEntryImplTest::ExecuteL()
-    {
-    #ifdef _DEBUG
-    HBufC* pluginName = Plugin().GetPluginNameL( 
-        MDiagPlugin::ENameLayoutListSingle );
-    
-    LOGSTRING3( "---- TEST BEGIN ---- [ 0x%08x  %S ] ---- TEST BEGIN ---- {",
-        Plugin().Uid().iUid,
-        pluginName )
-    delete pluginName;
-    pluginName = NULL;
-    #endif // _DEBUG
-
-    __ASSERT_DEBUG( State() == EStateQueued,
-                    Panic( EDiagFrameworkCorruptStateMachine ) );
-
-    
-    // Case 1) Item was already executed. (Resume scenario)
-    // Just go straight to EStateCompleted and let engine know that
-    // it was completed.
-    if ( Result() != CDiagResultsDatabaseItem::EQueuedToRun )
-        {
-        // it was already executed. Report result immediately.
-        ChangeStateL( EStateCompleted );
-        Observer().ExecPlanEntryExecutedL( *this );
-        return;
-        }
-
-    // Notify observer that progress is 0 so that application will know that
-    // plug-in execution has now started.
-    Observer().ExecPlanEntryProgressL( *this, 0, TestPlugin().TotalSteps() );
-        
-    // Case 2) Initial delay was specified. Start delay timer.
-    if ( EngineConfig().TestPluginInitialDelay().Int() > 0 )
-        {
-        // timer value is specified. Start timer.
-        ChangeStateL( EStateInitDelay );
-        StopInitDelayTimer();
-        iInitDelayTimer = CPeriodic::NewL( CActive::EPriorityStandard );
-        iInitDelayTimer->Start( EngineConfig().TestPluginInitialDelay(),   // initial delay 
-                                EngineConfig().TestPluginInitialDelay(),   // repeat
-                                TCallBack( HandleDelayTimerExpiredL, this ) );
-
-        return;
-        }
-
-    // Case 3) Start test immediately.
-    DoExecuteTestPluginL();
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImplTest::DoExecuteTestPluginL
-// ---------------------------------------------------------------------------
-//
-void CDiagExecPlanEntryImplTest::DoExecuteTestPluginL()
-    {
-    #ifdef _DEBUG
-    HBufC* pluginName = Plugin().GetPluginNameL( 
-        MDiagPlugin::ENameLayoutListSingle );
-    
-    LOGSTRING3( "CDiagExecPlanEntryImplTest::DoExecuteTestPluginL() "
-        L"Starting test plugin Uid 0x%x (%S)", 
-        Plugin().Uid().iUid,
-        pluginName )
-    delete pluginName;
-    pluginName = NULL;
-    #endif // _DEBUG
-        
-    // Real test starts now, so reset watchdog timer.
-    if ( TestPlugin().RunMode() == MDiagTestPlugin::EAutomatic )
-        {
-        ResetWatchdog( EDiagEngineWatchdogTypeAutomatic );
-        }
-    else
-        {
-        ResetWatchdog( EDiagEngineWatchdogTypeInteractive );
-        }
-
-    ChangeStateL( EStateRunning );
-
-
-    // Create a result in case test fails during RunTestL().
-    // It needs to be created at this point to make sure that 
-    // test start time is recorded correctly, since RunTestL() may
-    // take some time to finish.
-    CDiagResultsDbItemBuilder* resultBuilder = 
-        CDiagResultsDbItemBuilder::NewLC( Plugin().Uid(), AsDependency() );
-
-    TDiagTestExecParam* execParam = 
-        new ( ELeave ) TDiagTestExecParam( *this,   // aObserver
-                                           Engine() /* aEngine */ );
-
-    // Trap when calling test. This makes sure that if a test fails during
-    // its RunTestL(), it will automatically be marked as failed.
-    TRAPD( err, TestPlugin().RunTestL( execParam,      // ownership changed
-                                       Engine().IsDependencyDisabled(),
-                                       AsDependency(),
-                                       Engine().CustomParam() ) );
-    execParam = NULL;  //lint !e423 execParam ownership changed.
-    
-    if ( err != KErrNone )
-        {
-        // Test failure. Call stop plug-in so that it may have a chance to 
-        // clean up, but result is not needed. Discard it and replace it with
-        // CDiagResultsDatabaseItem::EFailed
-        LOGSTRING2( "CDiagExecPlanEntryImplTest::DoExecuteTestPluginL() "
-            L"RunTestL() for 0x%08x failed! Mark it as FAILED and continue",
-            Plugin().Uid().iUid )
-
-        StopExecutionAndIgnoreResultL();
-        resultBuilder->SetTestCompleted( CDiagResultsDatabaseItem::EFailed );
-
-        CDiagResultsDatabaseItem* result = resultBuilder->ToResultsDatabaseItemL(); 
-
-        // Call test execution observer as if the real test is completed.
-        TestExecutionCompletedL( TestPlugin(), result );
-        result = NULL;  // ownership transferred above.
-        }
-
-    CleanupStack::PopAndDestroy( resultBuilder );
-    resultBuilder = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagTestObserver
-// CDiagExecPlanEntryImplTest::TestProgressL
-// ---------------------------------------------------------------------------
-//
-void CDiagExecPlanEntryImplTest::TestProgressL(
-        const MDiagTestPlugin& aSender,
-        TUint aCurrentStep )
-    {
-    __ASSERT_ALWAYS( aSender.Uid() == Plugin().Uid(), Panic( EDiagFrameworkPlugin ) );
-    __ASSERT_ALWAYS( aCurrentStep <= TestPlugin().TotalSteps(), Panic( EDiagFrameworkPlugin ) );
-
-    // TestExecutionProgressL is accepted only if we were running.
-    if ( State() != EStateRunning )
-        {
-        __ASSERT_DEBUG( 0, Panic( EDiagFrameworkCorruptStateMachine ) );
-        return;
-        }
-
-    ResetWatchdog();
-    Observer().ExecPlanEntryProgressL( *this, aCurrentStep, TestPlugin().TotalSteps() );
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagTestObserver
-// CDiagExecPlanEntryImplTest::TestExecutionCompletedL
-// ---------------------------------------------------------------------------
-//
-void CDiagExecPlanEntryImplTest::TestExecutionCompletedL( 
-        const MDiagTestPlugin& aSender,
-        CDiagResultsDatabaseItem* aTestResult )
-    {
-    __ASSERT_ALWAYS( aSender.Uid() == Plugin().Uid(), Panic( EDiagFrameworkPlugin ) );
-    __ASSERT_ALWAYS( aTestResult, Panic( EDiagFrameworkNullTestResult ) );
-
-    // TestExecutionCompletedL is accepted only if we were running.
-    if ( State() == EStateCompleted )
-        {
-        __ASSERT_DEBUG( 0, Panic( EDiagFrameworkCorruptStateMachine ) );
-        return;
-        }
-
-    // For view-switching plugins, ask the application to switch the view
-    // back.  This allows the application to be in a known state.  This must
-    // be done before logging the test result, because that may fail.
-    if ( TestPlugin().RunMode() == MDiagTestPlugin::EInteractiveView )
-        {
-        TRAP_IGNORE( Engine().ExecuteAppCommandL(
-            EDiagAppCommandSwitchToMainView,
-            NULL,
-            NULL ) )
-        }
-    // Writing to db is a non interactive step.
-    ResetWatchdog( EDiagEngineWatchdogTypeAutomatic );
-    ChangeStateL( EStateStopped );
-
-
-    // update cache. Cached result will be available until ResultsDbItem()
-    // is called.
-    delete iCachedResult;
-    iCachedResult = aTestResult;
-    aTestResult = NULL;
-
-    iResult = iCachedResult->TestResult();
-
-    Engine().DbRecord().LogTestResult( iStatus, *iCachedResult );
-    SetActive();
-    }
-
-// ---------------------------------------------------------------------------
-// From CActive
-// CDiagExecPlanEntryImplTest::RunL
-// ---------------------------------------------------------------------------
-//
-void CDiagExecPlanEntryImplTest::RunL()
-    {
-    // Currently, this object only uses one request, which is
-    // Engine().DbRecord().LogTestResult(), which is sent only when state is
-    // EStateStopped
-    User::LeaveIfError( iStatus.Int() );
-
-    ChangeStateL( EStateCompleted );
-
-    #ifdef _DEBUG
-    HBufC* pluginName = Plugin().GetPluginNameL( 
-        MDiagPlugin::ENameLayoutListSingle );
-
-    LOGSTRING4( "} ---- TEST END ---- [ 0x%08x  %S %S ] ---- TEST END ----",
-        Plugin().Uid().iUid,
-        pluginName,
-        &TestResultString( iResult ) )
-
-    delete pluginName;
-    pluginName = NULL;
-    #endif // _DEBUG
-
-    // Notify engine that test is completed.
-    Observer().ExecPlanEntryExecutedL( *this );
-    }
-
-// ---------------------------------------------------------------------------
-// From CActive
-// CDiagExecPlanEntryImplTest::DoCancel
-// ---------------------------------------------------------------------------
-//
-void CDiagExecPlanEntryImplTest::DoCancel()
-    {
-    // Currently, DbRecord().LogTestResult() is the only request this uses.
-    Engine().DbRecord().CancelLogTestResult();
-    }
-
-// ---------------------------------------------------------------------------
-// From CActive
-// CDiagExecPlanEntryImplTest::RunError
-// ---------------------------------------------------------------------------
-//
-TInt CDiagExecPlanEntryImplTest::RunError( TInt aError )
-    {
-    Observer().ExecPlanEntryCriticalError( aError );
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImplTest::StopExecutionByWatchdogL
-// ---------------------------------------------------------------------------
-//
-void CDiagExecPlanEntryImplTest::StopExecutionByWatchdogL()
-    {
-    CDiagResultsDatabaseItem* result = StopTestPluginL( MDiagTestPlugin::EWatchdog );
-    
-    if ( result == NULL )
-        {
-        // It was not originally running, so no real result. Create
-        // a default that makes sense.
-        result = CDiagResultsDbItemBuilder::CreateSimpleDbItemL(
-            Plugin().Uid(),
-            AsDependency(),
-            CDiagResultsDatabaseItem::EWatchdogCancel );
-        }
-
-    TestExecutionCompletedL( TestPlugin(), result ); // ownership transferred.
-    result = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImplTest::DoStopExecutionByClientL
-// ---------------------------------------------------------------------------
-//
-void CDiagExecPlanEntryImplTest::DoStopExecutionByClientL( 
-        MDiagEngineCommon::TCancelMode aCancelMode )
-    {
-    MDiagTestPlugin::TStopReason stopReason;
-
-    switch ( aCancelMode )
-        {
-        case MDiagEngineCommon::ECancelAll:
-            stopReason = MDiagTestPlugin::ECancelAll;
-            break;
-
-        case MDiagEngineCommon::ESkip:
-            stopReason = MDiagTestPlugin::ESkip;
-            break;
-
-        default:
-            __ASSERT_DEBUG( 0, Panic( EDiagFrameworkInternal ) );
-            stopReason = MDiagTestPlugin::ESkip;
-            break;
-        }
-
-    CDiagResultsDatabaseItem* result = StopTestPluginL( stopReason );
-    
-    if ( result == NULL )
-        {
-        // it was not originally running, so no result was given by
-        // the plugin. Create one for them.
-        result = CDiagResultsDbItemBuilder::CreateSimpleDbItemL( 
-            Plugin().Uid(),
-            AsDependency(),
-            CDiagResultsDatabaseItem::ESkipped );
-        }
-
-    TestExecutionCompletedL( TestPlugin(), result ); // ownership transferred.
-    result = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImplTest::StopExecutionAndIgnoreResultL
-// ---------------------------------------------------------------------------
-//
-void CDiagExecPlanEntryImplTest::StopExecutionAndIgnoreResultL()
-    {
-    CDiagResultsDatabaseItem* result = StopTestPluginL( MDiagTestPlugin::ESkip );
-    delete result;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImplTest::StopTestPluginL
-// ---------------------------------------------------------------------------
-//
-CDiagResultsDatabaseItem* CDiagExecPlanEntryImplTest::StopTestPluginL( 
-        MDiagTestPlugin::TStopReason aReason )
-    {
-    StopAll();
-
-    CDiagResultsDatabaseItem* result = NULL;
-
-    switch ( State() )
-        {
-        case EStateQueued:          // fall through
-        case EStateInitDelay:
-            // Test was not actually running in these casese.
-            LOGSTRING3( "CDiagExecPlanEntryImplTest::StopTestPluginL()"
-                L"Plugin 0x%x. State = %d",
-                Plugin().Uid().iUid,
-                State() )
-            break;
-
-        case EStateStopped:
-            // Test was already completed. Return last result.
-            LOGSTRING3( "CDiagExecPlanEntryImplTest::StopTestPluginL()"
-                L"Plugin 0x%x. State = %d",
-                Plugin().Uid().iUid,
-                State() )
-            result = GetLastTestResultL();
-            break;
-            
-        case EStateRunning:     // fall through
-        case EStateSuspended:
-            // Test was actually running in this case.
-            // Need to call execution stop and use result from plug-in.
-            LOGSTRING2( "CDiagEngineImpl::StopTestPluginL: "
-                L"Plugin 0x%x was in ERunning or ESuspended. Call Stop",
-                Plugin().Uid().iUid )
-            result = TestPlugin().ExecutionStopL( aReason );
-            __ASSERT_ALWAYS( result, Panic( EDiagFrameworkNullTestResult ) );
-            break;
-
-        case EStateCompleted:
-        default:
-            LOGSTRING3( "CDiagEngineImpl::StopTestPluginL: "
-                L"Plugin 0x%x = INVALID STATE! %d",
-                Plugin().Uid().iUid,
-                State() )
-            __ASSERT_DEBUG( 0, Panic( EDiagFrameworkCorruptStateMachine ) );
-
-            // Use result from cache or DB.
-            result = GetLastTestResultL();
-            break;
-        }
-
-    return result;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImplTest::SuspendL
-// ---------------------------------------------------------------------------
-//
-void CDiagExecPlanEntryImplTest::SuspendL()
-    {
-    StopAll();
-
-    switch ( State() )
-        {
-        case EStateQueued:          // fall through
-        case EStateInitDelay:       // fall through
-            // nothing to do. 
-            LOGSTRING3( "CDiagExecPlanEntryImplTest::SuspendL(): "
-                L"Plugin 0x%08x state = %d. Was not running. Change to EQueued",
-                Plugin().Uid().iUid,
-                State() )
-
-            ChangeStateL( EStateQueued );
-            break;
-
-        case EStateRunning:
-            {
-            // it is currently running. suspend
-            LOGSTRING2( "CDiagExecPlanEntryImplTest::SuspendL(): "
-                L"Plugin 0x%08x = ERunning. Trying to stop",
-                Plugin().Uid().iUid )
-            TRAPD( err, TestPlugin().SuspendL() )
-            if ( err == KErrNone )
-                {
-                LOGSTRING2( "CDiagExecPlanEntryImplTest::SuspendL(): "
-                    L"Plugin 0x%08x Stop successful. To ESuspended",
-                    Plugin().Uid().iUid )
-
-                ChangeStateL( EStateSuspended );
-                }
-            else 
-                {
-                // Suspend probably not supported. Try Stop
-                LOGSTRING2( "CDiagExecPlanEntryImplTest::SuspendL(): "
-                    L"Plugin 0x%x Stop not successful. Try to Stop",
-                    Plugin().Uid().iUid )
-
-                CDiagResultsDatabaseItem* result = 
-                    TestPlugin().ExecutionStopL( MDiagTestPlugin::ESkip );
-                __ASSERT_ALWAYS( result, Panic( EDiagFrameworkNullTestResult ) );
-                delete result;   // not interested in result.
-                // force reset the plugin execution to queued so that
-                // it will be restarted
-                ChangeStateL( EStateQueued );
-                }
-            }
-            break;
-
-        case EStateStopped:
-            LOGSTRING2( "CDiagExecPlanEntryImplTest::SuspendL(): "
-                L"Plugin 0x%08x = EStateStopped. Do nothing.",
-                Plugin().Uid().iUid )
-            // do nothing, When resumed, it will store temporary result to db
-            break;
-
-        case EStateSuspended:
-            LOGSTRING2( "CDiagExecPlanEntryImplTest::SuspendL(): "
-                L"Plugin 0x%08x = ESuspended. Already suspended..",
-                Plugin().Uid().iUid )
-            // do nothing.
-            break;
-
-        case EStateCompleted:
-            // result already logged. do nothing.
-            LOGSTRING2( "CDiagExecPlanEntryImplTest::SuspendL(): "
-                L"Plugin 0x%08x = ECompleted. Stay completed.",
-                Plugin().Uid().iUid )
-            break;
-
-        default:
-            __ASSERT_DEBUG( 0, Panic( EDiagFrameworkCorruptStateMachine ) );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImplTest::ResumeL
-// ---------------------------------------------------------------------------
-//
-void CDiagExecPlanEntryImplTest::ResumeL()
-    {
-    LOGSTRING3( "CDiagExecPlanEntryImplTest::ResumeL(): "
-        L"Plugin 0x%08x, State = %d", Plugin().Uid().iUid, State() )
-
-    // resumable states are: EStateQueued, EStateSuspended, EStateStopped
-
-    switch ( State() )
-        {
-        case EStateQueued:
-            ExecuteL();
-            break;
-
-        case EStateSuspended:
-            {
-            ChangeStateL( EStateRunning );
-            
-            TestPlugin().ResumeL();
-            }
-            break;
-
-        case EStateStopped:
-            {
-            // There was a result not saved in DB yet.
-            // If test was suspended in EStopped state, there MUST BE a
-            // saved test result.
-            __ASSERT_DEBUG( iCachedResult, Panic( EDiagFrameworkInternal ) );
-
-            if ( iCachedResult ) //lint !e774 Will be evaluated in non DEBUG build.
-                {
-                // Simulate TestExecutionCompletedL from plug-in.
-                // Unset iCachedResult, since TestExecutionCompletedL() will try 
-                // to deallocate iCachedResult.
-                CDiagResultsDatabaseItem* result = iCachedResult;
-                iCachedResult = NULL;
-                TestExecutionCompletedL( TestPlugin(), result ); // ownership passed
-                result = NULL;
-                }
-            }
-            break;
-
-        default:
-            // already running. ignored.
-            break;
-        }
-    }
-
-    
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImplTest::GetLastTestResultL
-// ---------------------------------------------------------------------------
-//
-CDiagResultsDatabaseItem* CDiagExecPlanEntryImplTest::GetLastTestResultL()
-    {
-    // Currently, cache is implemented such that calling 
-    // GetLastTestResultL() once after test is completed will not 
-    // require a request to DB. Any subsequent request will have to access
-    // database. 
-    // 
-    // This should satisfy most common usage of execution plan entry.
-    // It could be expanded to store for longer than that, however, it
-    // may take up too much memory if there are lots of tests in the 
-    // execution plan. At this point, this should be sufficient.
-    
-    CDiagResultsDatabaseItem* result = NULL;
-
-    if ( iCachedResult )
-        {
-        if ( State() != EStateStopped )
-            {
-            LOGSTRING2( "CDiagExecPlanEntryImplTest::GetLastTestResultL() "
-                L"Plugin 0x%08x. Cache hit",
-                Plugin().Uid().iUid )
-            result = iCachedResult;
-            iCachedResult = NULL;
-            }
-        else
-            {
-            LOGSTRING2( "CDiagExecPlanEntryImplTest::GetLastTestResultL() "
-                L"Plugin 0x%08x. Cache hit, but need to duplicate.",
-                Plugin().Uid().iUid )
-            // If we were in STOPPED state, make a copy, since it
-            // may not been fully written to db yet.
-            // Cached copy should be deleted only after it is written to db.
-            const CBufFlat* detailData = iCachedResult->DetailsData();
-            CBufFlat* detailDataCopy = NULL;
-
-            if ( detailData )
-                {
-                detailDataCopy = CBufFlat::NewL( detailData->Size() );
-                CleanupStack::PushL( detailDataCopy );
-
-                TPtr8 ptr = detailDataCopy->Ptr( 0 );
-                detailData->Read( 0, ptr );
-                }
-
-            result = CDiagResultsDatabaseItem::NewL(
-                iCachedResult->TestUid(),
-                iCachedResult->WasDependency(),
-                iCachedResult->TestResult(),
-                iCachedResult->TimeStarted(),
-                iCachedResult->TimeCompleted(),
-                detailDataCopy );
-
-            if ( detailDataCopy )
-                {
-                CleanupStack::Pop( detailDataCopy );
-                }
-            }
-        }
-    else
-        {
-        LOGSTRING2( "CDiagExecPlanEntryImplTest::GetLastTestResultL() "
-            L"Plugin 0x%08x. Cache miss",
-            Plugin().Uid().iUid )
-        // result was not avaiable in cache. Fetch it from database.
-        User::LeaveIfError( Engine().DbRecord().GetTestResult( Plugin().Uid(), result ) );
-        }
-
-    return result;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImplTest::HandleDelayTimerExpiredL
-// ---------------------------------------------------------------------------
-//
-TInt CDiagExecPlanEntryImplTest::HandleDelayTimerExpiredL( TAny* aData )
-    {
-    CDiagExecPlanEntryImplTest* self = static_cast< CDiagExecPlanEntryImplTest* >( aData );
-    
-    self->StopInitDelayTimer();
-    self->DoExecuteTestPluginL();
-    return 0;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImplTest::StopAll
-// ---------------------------------------------------------------------------
-//
-void CDiagExecPlanEntryImplTest::StopAll()
-    {
-    Cancel();
-    StopInitDelayTimer();
-    StopWatchdogTemporarily();
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImplTest::StopInitDelayTimer
-// ---------------------------------------------------------------------------
-//
-void CDiagExecPlanEntryImplTest::StopInitDelayTimer()
-    {
-    if ( iInitDelayTimer )
-        {
-        iInitDelayTimer->Cancel();
-        delete iInitDelayTimer;
-        iInitDelayTimer = NULL;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagExecPlanEntryImplTest::TestResultString
-// ---------------------------------------------------------------------------
-//
-#ifdef _DEBUG
-const TDesC& CDiagExecPlanEntryImplTest::TestResultString( 
-        CDiagResultsDatabaseItem::TResult aResult )
-    {
-    _LIT( KSuccess, "ESuccess" );
-    _LIT( KFailed, "EFailed" );
-    _LIT( KSkipped, "ESkipped" );
-    _LIT( KCancelled, "ECancelled" );
-    _LIT( KInterrupted, "EInterrupted" );
-    _LIT( KNotPerformed, "ENotPerformed" );
-    _LIT( KDependencyFailed, "EDependencyFailed" );
-    _LIT( KWatchdogCancel, "EWatchdogCancel" );
-    _LIT( KSuspended, "ESuspended" );
-    _LIT( KQueuedToRun, "EQueuedToRun" );
-
-    switch( aResult )
-        {
-        case CDiagResultsDatabaseItem::ESuccess:
-            return KSuccess();
-
-        case CDiagResultsDatabaseItem::EFailed:
-            return KFailed();
-
-        case CDiagResultsDatabaseItem::ESkipped:
-            return KSkipped();
-
-        case CDiagResultsDatabaseItem::ECancelled:
-            return KCancelled();
-
-        case CDiagResultsDatabaseItem::EInterrupted:
-            return KInterrupted();
-
-        case CDiagResultsDatabaseItem::ENotPerformed:
-            return KNotPerformed();
-
-        case CDiagResultsDatabaseItem::EDependencyFailed:
-            return KDependencyFailed();
-
-        case CDiagResultsDatabaseItem::EWatchdogCancel:
-            return KWatchdogCancel();
-
-        case CDiagResultsDatabaseItem::ESuspended:
-            return KSuspended();
-
-        case CDiagResultsDatabaseItem::EQueuedToRun:
-            return KQueuedToRun();
-
-        default:
-            _LIT( KUnknown, "* Unknown *" );
-            return KUnknown();
-        }
-    }
-
-#else   // #if _DEBUG
-
-// non-debug version.
-const TDesC& CDiagExecPlanEntryImplTest::TestResultString( 
-        CDiagResultsDatabaseItem::TResult /* aResult */ )
-    {
-    _LIT( KNonDebugResultName, "?" );
-    return KNonDebugResultName();
-    }
-
-#endif // #else _DEBUG
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/src/diaglogeventeraser.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,325 +0,0 @@
-/*
-* 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 "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 the implementation of the Diagnostics Log Event
-*                Eraser, which is used to delete OS log entries.
-*
-*/
-
-
-// System Include Files
-#include <e32base.h>                        // CActiveSchedulerWait
-#include <logcli.h>                         // CLogClient
-#include <logview.h>                        // CLogViewEvent
-#include <DiagFrameworkDebug.h>             // Debugging macros
-
-// Local Include Files
-#include "diaglogeventeraser.h"             // CDiagLogEventEraser
-#include "diaglogeventeraserobserver.h"     // MDiagLogEventEraserObserver
-
-
-// ============================ MEMBER FUNCTIONS =============================
-
-// ---------------------------------------------------------------------------
-// Static two-phase constructor.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDiagLogEventEraser* CDiagLogEventEraser::NewL(
-    MDiagLogEventEraserObserver& aObserver,
-    CLogFilter* aFilter )
-    {
-    LOGSTRING( "CDiagLogEventEraser::NewL()" )
-
-    CleanupStack::PushL( aFilter );
-    CDiagLogEventEraser* self = new ( ELeave ) CDiagLogEventEraser(
-        aObserver,
-        aFilter );
-    CleanupStack::Pop( aFilter );
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDiagLogEventEraser::~CDiagLogEventEraser()
-    {
-    LOGSTRING( "CDiagLogEventEraser::~CDiagLogEventEraser()" )
-
-    Cancel();
-
-    delete iLogFilter;
-    delete iLogView;
-    delete iLogClient;
-    delete iWaitScheduler;
-
-    iFsSession.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the filter to use when erasing logs.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLogFilter& CDiagLogEventEraser::Filter()
-    {
-    LOGSTRING( "CDiagLogEventEraser::Filter()" )
-    return *iLogFilter;
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the log client used for the log erasure.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLogClient& CDiagLogEventEraser::LogClient()
-    {
-    LOGSTRING( "CDiagLogEventEraser::LogClient()" )
-    return *iLogClient;
-    }
-
-// ---------------------------------------------------------------------------
-// Begins asynchronous erasure of logs.  The observer will be notified of
-// completion via callback.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagLogEventEraser::StartAsyncEraseLogsL()
-    {
-    LOGSTRING( "CDiagLogEventEraser::StartAsyncEraseLogsL()" )
-
-    __ASSERT_DEBUG( iState == EStateInitial, User::Invariant() );
-
-    // Apply the filter.
-    if( iLogView->SetFilterL( *iLogFilter, iStatus ) )
-        {
-        iState = EStateApplyingFilter;
-        iIsDeletingSynchronous = EFalse;
-        SetActive();
-        }
-
-    // There are no logs, so set this object active so that the callback will
-    // be asynchronous.
-    else
-        {
-        iState = EStateComplete;
-        TRequestStatus* status = &iStatus;
-        User::RequestComplete( status, KErrNone );
-        SetActive();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Begins synchronous erasure of logs.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagLogEventEraser::EraseLogsL()
-    {
-    LOGSTRING( "CDiagLogEventEraser::EraseLogsL()" )
-
-    __ASSERT_DEBUG( iState == EStateInitial, User::Invariant() );
-
-    iError = KErrNone;
-
-    // Apply the filter.  iWaitScheduler->Start() will return after the wait
-    // scheduler is stopped.
-    if( iLogView->SetFilterL( *iLogFilter, iStatus ) )
-        {
-        iState = EStateApplyingFilter;
-        iIsDeletingSynchronous = ETrue;
-        SetActive();
-        iWaitScheduler->Start();
-        }
-
-    // If there is an error, iError will be set when the active object is run.
-    User::LeaveIfError( iError );
-    }
-
-// ---------------------------------------------------------------------------
-// The default constructor.
-// ---------------------------------------------------------------------------
-//
-CDiagLogEventEraser::CDiagLogEventEraser(
-    MDiagLogEventEraserObserver& aObserver,
-    CLogFilter* aFilter )
-:   CActive( EPriorityStandard ),
-    iObserver( aObserver ),
-    iLogFilter( aFilter )
-    {
-    LOGSTRING( "CDiagLogEventEraser::CDiagLogEventEraser()" )
-    CActiveScheduler::Add( this );
-    }
-
-// ---------------------------------------------------------------------------
-// The second phase constructor.
-// ---------------------------------------------------------------------------
-//
-void CDiagLogEventEraser::ConstructL()
-    {
-    LOGSTRING( "CDiagLogEventEraser::ConstructL()" )
-
-    User::LeaveIfError( iFsSession.Connect() );
-    iWaitScheduler = new( ELeave ) CActiveSchedulerWait;
-    iLogClient = CLogClient::NewL( iFsSession );
-    iLogView = CLogViewEvent::NewL( *iLogClient );
-    if ( !iLogFilter )
-        {
-        iLogFilter = CLogFilter::NewL();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Handles the completion of log erasing and performs different operations
-// depending on whether the erasing was asynchronous or not.
-// ---------------------------------------------------------------------------
-//
-void CDiagLogEventEraser::HandleCompletionL( TInt aError )
-    {
-    LOGSTRING2( "CDiagLogEventEraser::HandleCompletionL( %d )", aError )
-
-    // Reset the state so that the object can be reused.
-    iState = EStateInitial;
-
-    // For synchronous erasure, set the error code and stop the wait
-    // scheduler, so that it will return in EraseLogsL.
-    if ( iIsDeletingSynchronous )
-        {
-        iError = aError;
-        iWaitScheduler->AsyncStop();
-        }
-
-    // For asynchronous erasure, inform the observer that erasing has
-    // completed.
-    else
-        {
-        iObserver.CompleteEventEraseL( aError );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Handles the completion of active requests.
-// ---------------------------------------------------------------------------
-//
-void CDiagLogEventEraser::RunL()
-    {
-    LOGSTRING( "CDiagLogEventEraser::RunL()" )
-
-    // Check that the request completed successfully.
-    if( iStatus != KErrNone )
-        {
-        HandleCompletionL( iStatus.Int() );
-        return;
-        }
-
-    LOGSTRING2( "CDiagLogEventEraser::RunL() - State %d", iState )
-    switch( iState )
-        {
-        case EStateApplyingFilter:
-            {
-            // The log view filter has been successfully applied.  Issue
-            // another request to start processing log events.  Events are
-            // read from last to first.  The reason for this arrangement is
-            // that we are deleting entries while reading them.
-            if( iLogView->LastL( iStatus ) )
-                {
-                iState = EStateReadingEntries;
-                SetActive();
-                }
-
-            // There are no events in the view.
-            else
-                {
-                HandleCompletionL( KErrNone );
-                }
-
-            break;
-            }
-
-        case EStateReadingEntries:
-            {
-            const CLogEvent& event = iLogView->Event();
-
-            // The log event has been fetched successfully.  Ask the observer
-            // if this event should be erased.  If so, issue another request
-            // to begin erasing the event.
-            if( iObserver.IsEventToBeDeleted( event ) )
-                {
-                iState = EStateDeletingEntry;
-                iLogClient->DeleteEvent( event.Id(), iStatus );
-                SetActive();
-                }
-
-            // The log event should not be erased, so get the next event.
-            else if( iLogView->PreviousL( iStatus ) )
-                {
-                SetActive();
-                }
-
-            // There are no events in the view.
-            else
-                {
-                HandleCompletionL( KErrNone );
-                }
-
-            break;
-            }
-
-        case EStateDeletingEntry:
-            {
-            // The log event was successfully deleted.  Issue another request
-            // to read the next entry.
-            if( iLogView->PreviousL( iStatus ) )
-                {
-                iState = EStateReadingEntries;
-                SetActive();
-                }
-
-            // There are no events in the view.
-            else
-                {
-                HandleCompletionL( KErrNone );
-                }
-
-            break;
-            }
-
-        case EStateComplete:
-            {
-            HandleCompletionL( KErrNone );
-            break;
-            }
-
-        default:
-            // This state should never be reached.
-            LOGSTRING( "CDiagLogEventEraser::RunL() - Invalid State." )
-            User::Invariant();
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Handles the cancellation of active requests.
-// ---------------------------------------------------------------------------
-//
-void CDiagLogEventEraser::DoCancel()
-    {
-    LOGSTRING( "CDiagLogEventEraser::DoCancel()" )
-
-    iLogView->Cancel();
-    iLogClient->Cancel();
-    iState = EStateInitial;
-    }
-
-// End of file
--- a/devicediagnosticsfw/diagframework/src/diagnetworkregstatuswatcher.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,266 +0,0 @@
-/*
-* 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 "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 the implementation for the Diagnostics Network 
-*                 registration status watcher.
-*
-*/
-
-
-// CLASS DECLARATION
-#include <DiagNetworkRegStatusWatcher.h>
-
-// SYSTM INCLUDE FILES
-#include <e32base.h>                        
-#include <DiagFrameworkDebug.h>             // Debugging macros
-#include <DiagNetworkRegStatusObserver.h>   // MDiagNetworkRegStatusObserver
-
-
-// ============================ MEMBER FUNCTIONS =============================
-
-// ---------------------------------------------------------------------------
-// Static two-phase constructor.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDiagNetworkRegStatusWatcher* CDiagNetworkRegStatusWatcher::NewL(
-    MDiagNetworkRegStatusObserver& aCallBack )
-    {
-    CDiagNetworkRegStatusWatcher* self = new ( ELeave )
-                                       CDiagNetworkRegStatusWatcher( aCallBack );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDiagNetworkRegStatusWatcher::~CDiagNetworkRegStatusWatcher()
-    {
-    // cancel any pending request
-    Cancel();
-    
-    delete iTelephony;
-    iTelephony = NULL;
-    
-    LOGSTRING( "CDiagNetworkRegStatusWatcher::ConstructL() Destroying Network registration status watcher" )            
-    }
-
-// ---------------------------------------------------------------------------
-// The default constructor.
-// ---------------------------------------------------------------------------
-//
-CDiagNetworkRegStatusWatcher::CDiagNetworkRegStatusWatcher
-    ( MDiagNetworkRegStatusObserver& aCallBack )
-    : CActive( EPriorityStandard ),
-    iState( EStateInit ),
-    iRegV1(),
-    iRegV1Pckg( iRegV1 ),
-    iCallBack( aCallBack )
-    {
-    CActiveScheduler::Add( this );
-    }
-
-
-// ---------------------------------------------------------------------------
-// The second phase constructor.
-// ---------------------------------------------------------------------------
-//
-
-void CDiagNetworkRegStatusWatcher::ConstructL()
-    {
-    LOGSTRING( "CDiagNetworkRegStatusWatcher::ConstructL() Creating Network registration status watcher" )
-    iTelephony = CTelephony::NewL();     
-    iPreviouslyRegistered = EFalse;
-    }
-
-
-// ---------------------------------------------------------------------------
-// This function starts the network registration status monitor process. This
-// involves first checking for the current status and then registering for any
-// changes that may occur.
-// ---------------------------------------------------------------------------
-//
-
-EXPORT_C void CDiagNetworkRegStatusWatcher::StartObserver()
-    {
-    // get the current status of network registration
-    iState = EStateWaitForInitialStatus;
-    iTelephony->GetNetworkRegistrationStatus( iStatus, iRegV1Pckg );
-    SetActive();        
-    }
-
-
-// ---------------------------------------------------------------------------
-// This function stops the network registration monitor process
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagNetworkRegStatusWatcher::StopObserver()
-    {
-    Cancel();
-    }
-
-// ---------------------------------------------------------------------------
-// Handles the completion of active requests.
-// ---------------------------------------------------------------------------
-//
-void CDiagNetworkRegStatusWatcher::RunL()
-    {
-    switch ( iState )
-        {
-        case EStateWaitForInitialStatus:
-            {
-            HandleInitialStatusL();
-            }
-            break;
-
-        case EStateWaitForStatusChange:
-            {
-            HandleNetworkStatusChangeL();
-            }
-            break;
-            
-        default:
-            break;                                    
-        }
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// Handles the request for initial network registration status
-// ---------------------------------------------------------------------------
-//
-void CDiagNetworkRegStatusWatcher::HandleInitialStatusL()
-    {
-    if ( iStatus == KErrNone )
-        {  
-        // get the current registration status
-        TBool currentRegStatus = IsDeviceRegisteredOnNetwork();
-
-        LOGSTRING2( "CDiagNetworkRegStatusWatcher::HandleInitialStatus : current status = %d", currentRegStatus )
-        
-        // we have to continue monitoring changes in network registration status
-        // so set the next asynchronous request
-        iState = EStateWaitForStatusChange;            
-        iTelephony->NotifyChange( iStatus, 
-                    CTelephony::ENetworkRegistrationStatusChange, iRegV1Pckg );
-        SetActive();
-
-        // inform the client about the initial registration status
-        iPreviouslyRegistered = currentRegStatus;
-        iCallBack.InitialNetworkRegistrationStatusL( currentRegStatus );                
-        }
-    else
-        {
-        // inform the client that device is not registered
-        iCallBack.InitialNetworkRegistrationStatusL( EFalse );
-        iPreviouslyRegistered = EFalse;        
-        }
-    }
-    
-
-
-// ---------------------------------------------------------------------------
-// Handles the events related to Network registration status change
-// ---------------------------------------------------------------------------
-//
-void CDiagNetworkRegStatusWatcher::HandleNetworkStatusChangeL()
-    {
-    if ( iStatus == KErrNone )
-        {
-        // get the current registration status
-        TBool currentRegStatus = IsDeviceRegisteredOnNetwork();
-
-        LOGSTRING2( "CDiagNetworkRegStatusWatcher::HandleNetworkStatusChange : current status = %d", currentRegStatus )
-        
-        // we have to continue monitoring changes in network registration status
-        // so set the next asynchronous request
-        iState = EStateWaitForStatusChange;            
-        iTelephony->NotifyChange( iStatus, 
-                    CTelephony::ENetworkRegistrationStatusChange, iRegV1Pckg );
-        SetActive();
-
-        // if the current registration state is different from previous state,
-        // inform the client
-        if ( currentRegStatus != iPreviouslyRegistered )
-            {
-            // inform the client about the network status change
-            iCallBack.NetworkRegistrationStatusChangeL( currentRegStatus );
-            }
-        iPreviouslyRegistered = currentRegStatus;
-        }
-    else
-        {
-        iCallBack.NetworkRegistrationStatusChangeL( EFalse );
-        iPreviouslyRegistered = EFalse;            
-        }
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// This function wraps the logic if the device is currently registered or not
-// ---------------------------------------------------------------------------
-//
-TBool CDiagNetworkRegStatusWatcher::IsDeviceRegisteredOnNetwork()
-    {
-    TBool regStatus = EFalse;
-    switch ( iRegV1.iRegStatus )
-        {
-            case CTelephony::ERegisteredOnHomeNetwork:
-            case CTelephony::ERegisteredRoaming:
-                {    
-                regStatus = ETrue; 
-                }
-                break;
-            default:
-                {
-                // the device lost the network coverage
-                regStatus = EFalse;
-                }
-                break;                    
-        }
-    return regStatus;
-    }
-
-// ---------------------------------------------------------------------------
-// Handles the cancellation of active requests.
-// ---------------------------------------------------------------------------
-//
-void CDiagNetworkRegStatusWatcher::DoCancel()
-    {
-    switch ( iState )
-        {
-            case EStateWaitForInitialStatus:
-                {
-                iTelephony->CancelAsync( CTelephony::EGetNetworkRegistrationStatusCancel );
-                }
-                break;
-
-            case EStateWaitForStatusChange:
-                {
-                iTelephony->CancelAsync( CTelephony::ENetworkRegistrationStatusChangeCancel );
-                }
-                break;
-                
-            default:
-                break;                                    
-        }
-    }
-
-// End of file
-
--- a/devicediagnosticsfw/diagframework/src/diagpluginconstructionparam.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +0,0 @@
-/*
-* 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 "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:  Class definition of CDiagPluginConstructionParam
-*
-*/
-
-
-// CLASS DECLARATION
-#include <DiagPluginConstructionParam.h>
-
-// SYSTEM INCLUDE FILES
-#include <badesca.h>            // CDesC16ArrayFlat
-
-// USER INCLUDE FILES
-
-// CONSTANTS
-_LIT( KDiagPluginBlankServiceName, "" );
-
-// ======== LOCAL FUNCTIONS ========
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CDiagPluginConstructionParam::NewL()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDiagPluginConstructionParam* CDiagPluginConstructionParam::NewL(
-                                        HBufC*              aServiceProvided,
-                                        CDesC16ArrayFlat*   aServicesRequired,
-                                        TInt                aOrder,
-                                        TUid                aImplUid,
-                                        TUid                aParentUid )
-    {
-    CDiagPluginConstructionParam* self = CDiagPluginConstructionParam::NewLC( 
-                                        aServiceProvided,
-                                        aServicesRequired,
-                                        aOrder,
-                                        aImplUid,
-                                        aParentUid );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDiagPluginConstructionParam::NewLC()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDiagPluginConstructionParam* CDiagPluginConstructionParam::NewLC(
-                                        HBufC*              aServiceProvided,
-                                        CDesC16ArrayFlat*   aServicesRequired,
-                                        TInt                aOrder,
-                                        TUid                aImplUid,
-                                        TUid                aParentUid )
-    {
-    CDiagPluginConstructionParam* self = new( ELeave )CDiagPluginConstructionParam(
-                                        aServiceProvided,
-                                        aServicesRequired,
-                                        aOrder,
-                                        aImplUid,
-                                        aParentUid );
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginConstructionParam::CDiagPluginConstructionParam
-// ---------------------------------------------------------------------------
-//
-CDiagPluginConstructionParam::CDiagPluginConstructionParam(
-        HBufC*              aServiceProvided,
-        CDesC16ArrayFlat*   aServicesRequired,
-        TInt                aOrder,
-        TUid                aImplUid,
-        TUid                aParentUid )
-    :   iServiceProvided    ( aServiceProvided ),
-        iServicesRequired   ( aServicesRequired ),
-        iOrder              ( aOrder ),
-        iImplUid            ( aImplUid ),
-        iParentUid          ( aParentUid )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginConstructionParam::~CDiagPluginConstructionParam
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDiagPluginConstructionParam::~CDiagPluginConstructionParam()
-    {
-    delete iServiceProvided;
-    iServiceProvided = NULL;
-
-    delete iServicesRequired;
-    iServicesRequired = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginConstructionParam::ServiceProvided
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC& CDiagPluginConstructionParam::ServiceProvided() const
-    {
-    if ( iServiceProvided )
-        {
-        return *iServiceProvided;
-        }
-    else
-        {
-        // there is no service name. Because we must return a reference,
-        // we should at least return a blank text.
-        return KDiagPluginBlankServiceName();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginConstructionParam::ServicesRequired
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const CDesC16ArrayFlat& CDiagPluginConstructionParam::ServicesRequired() const
-    {
-    return *iServicesRequired;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginConstructionParam::Order
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CDiagPluginConstructionParam::Order() const
-    {
-    return iOrder;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginConstructionParam::Uid
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TUid CDiagPluginConstructionParam::Uid() const
-    {
-    return iImplUid;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginConstructionParam::ParentUid
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TUid CDiagPluginConstructionParam::ParentUid() const
-    {
-    return iParentUid;
-    }
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/src/diagpluginexecplanimpl.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1577 +0,0 @@
-/*
-* 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 "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:  Class definition of CDiagPluginExecPlanImpl
-*
-*/
-
-
-// CLASS DECLARATION
-#include "diagpluginexecplanimpl.h"
-
-// SYSTEM INCLUDE FILES
-#include <e32def.h>
-#include <cstack.h>                     // CStack
-#include <DiagPlugin.h>                 // MDiagPlugin
-#include <DiagSuitePlugin.h>            // MDiagSuitePlugin
-#include <DiagTestPlugin.h>             // MDiagTestPlugin
-#include <DiagPluginPool.h>             // CDiagPluginPool
-#include <DiagResultsDatabase.h>        // RDiagResultsDatabaseRecord
-#include <DiagResultsDbItemBuilder.h>   // CDiagResultsDbItemBuilder
-#include <DiagResultDetail.h>           // MDiagResultDetail
-#include <DiagFrameworkDebug.h>         // For debug log
-#include <DiagResultsDbRecordEngineParam.h> // CDiagResultsDbRecordEngineParam
-
-// USER INCLUDE FILES
-#include "diagframework.pan"            // panic codes
-#include "diagexecplanentryimpl.h"      // CDiagExecPlanEntryImpl
-#include "diagexecplanentryimpltest.h"  // CDiagExecPlanEntryImplTest
-#include "diagexecplanentryimplsuite.h" // CDiagExecPlanEntryImplSuite
-#include "diagcleanupresetanddestroy.h" // CleanupRPointerArrayPushL
-#include "diagengineconfig.h"           // TDiagEngineConfig
-
-
-// DATA
-
-// MACROS
-// Uncomment the line below to enable more plan creation log.
-// #define _DEBUG_EXEC_PLAN
-
-
-// LOCAL DATA TYPES
-/**
-* Used for keeping track of suite level stack.
-* It is used in InsertSuiteTransitionsL() function. ( STEP_5 )
-*/
-struct TTransitionStackEntry
-    {
-    /**
-    * iLeavelUid - Uid of the current level. 
-    */
-    TUid  iLevelUid;
-    
-    /**
-    * iPrepareIndex - Index in the plan where ETypeSuitePrepare entry is. 
-    *   This information is used to update the suite iAsDependent field.
-    */
-    TInt    iPrepareIndex;         
-    };    
-
-
-// ======== LOCAL FUNCTIONS ========
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CDiagPluginExecPlanImpl::NewL
-// ---------------------------------------------------------------------------
-//
-CDiagPluginExecPlanImpl* CDiagPluginExecPlanImpl::NewL( 
-        MDiagEngineCommon& aEngine,
-        const TDiagEngineConfig& aEngineConfig,
-        MDiagExecPlanEntryImplObserver& aEntryObserver )
-    {
-    CDiagPluginExecPlanImpl* self = new ( ELeave ) CDiagPluginExecPlanImpl( 
-        aEngine,
-        aEngineConfig,
-        aEntryObserver );
-
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginExecPlanImpl::CDiagPluginExecPlanImpl
-// ---------------------------------------------------------------------------
-//
-CDiagPluginExecPlanImpl::CDiagPluginExecPlanImpl( 
-        MDiagEngineCommon& aEngine,
-        const TDiagEngineConfig& aEngineConfig,
-        MDiagExecPlanEntryImplObserver& aEntryObserver )
-    :   CActive( EPriorityLow ),
-        iEngine( aEngine ),
-        iEngineConfig( aEngineConfig ),
-        iPlanEntryObserver( aEntryObserver )
-    {
-    CActiveScheduler::Add( this );
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginExecPlanImpl::~CDiagPluginExecPlanImpl
-// ---------------------------------------------------------------------------
-//
-CDiagPluginExecPlanImpl::~CDiagPluginExecPlanImpl()
-    {
-    Cancel();
-    iPlan.ResetAndDestroy();
-    iPlan.Close();
-    iExecutedEntries.ResetAndDestroy();
-    iExecutedEntries.Close();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDiagPluginExecPlanImpl::InitaliazeL
-//      Creating a fresh session.
-// ---------------------------------------------------------------------------
-//
-void CDiagPluginExecPlanImpl::InitializeL( TRequestStatus& aStatus, 
-                                           const RPointerArray< MDiagPlugin >& aBatch )
-    {
-    LOGSTRING( "CDiagPluginExecPlanImpl::InitializeL: new session")
-
-    __ASSERT_ALWAYS( iState == EStateIdle, Panic( EDiagFrameworkInternal ) );
-
-    aStatus = KRequestPending;
-    iClientStatus = &aStatus;
-
-    iExecutedEntries.ResetAndDestroy();
-    iPlan.ResetAndDestroy();
-    iResumeIndex = 0;
-
-    // pre-step execution step. copy the argument to a local plan
-    TInt i;
-    for ( i = 0; i < aBatch.Count();  i++ )
-        {
-        __ASSERT_ALWAYS( aBatch[i] != NULL, Panic( EDiagFrameworkBadArgument ) );
-
-        CDiagExecPlanEntryImpl* newEntry = CreateDefaultPlanEntryLC(
-            *(aBatch[i]),
-            EFalse );   // aAsDependency
-
-        iPlan.AppendL( newEntry );  // ownership transferred.
-        CleanupStack::Pop( newEntry ); 
-        newEntry = NULL;
-        }
-
-    LOGSTRING( "CDiagPluginExecPlanImpl::InitializeL: Initial Batch" )
-    LogPlanL();
-
-    ChangeState( EStateExpandDependencyAndSuites );
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginExecPlanImpl::InitializeL
-//      Continuing from incomplete session.
-// ---------------------------------------------------------------------------
-//
-void CDiagPluginExecPlanImpl::InitializeL( TRequestStatus& aStatus )
-    {
-    LOGSTRING( "CDiagPluginExecPlanImpl::InitaliazeL: continue" )
-
-    // validate input.
-    __ASSERT_ALWAYS( iState == EStateIdle, Panic( EDiagFrameworkInternal ) );
-
-    // if we are resuming incomplete session, it must incomplete.
-    TBool isRecordCompleted = EFalse;
-    User::LeaveIfError( iEngine.DbRecord().IsTestCompleted( isRecordCompleted ) );
-    __ASSERT_ALWAYS( !isRecordCompleted, Panic( EDiagFrameworkBadArgument ) );
-
-    aStatus = KRequestPending;
-    iClientStatus = &aStatus;
-    iResumeIndex = 0;
-
-    iExecutedEntries.ResetAndDestroy();
-    iPlan.ResetAndDestroy();
-
-    // Retrieve records from database and use it as base for creating 
-    // a new plan.
-    RPointerArray< CDiagResultsDatabaseItem > previousResults;
-    DiagFwInternal::CleanupRPointerArrayPushL< CDiagResultsDatabaseItem >( &previousResults );
-
-    User::LeaveIfError( 
-        iEngine.DbRecord().GetTestResults( previousResults ) );
-
-    TInt resultCount = previousResults.Count();
-    for( TInt i = 0; i < resultCount; i++ )
-        {
-        // Get the test plug-in.
-        // Note that FindPlugin does not transfer ownership and hence testPlugin
-        // and does not need to be deallocated.
-        MDiagPlugin& testPlugin = 
-            iEngine.PluginPool().FindPluginL( previousResults[i]->TestUid() );
-
-        // This should have been a test plug-in
-        __ASSERT_DEBUG( testPlugin.Type() == MDiagPlugin::ETypeTestPlugin,
-            Panic( EDiagFrameworkInternal ) );
-
-        CDiagExecPlanEntryImplTest* testEntry = 
-            CDiagExecPlanEntryImplTest::NewLC( 
-                iEngine,
-                iEngineConfig,
-                iPlanEntryObserver,
-                static_cast< MDiagTestPlugin& >( testPlugin ),
-                previousResults[i]->WasDependency(),
-                previousResults[i]->TestResult() );
-
-        if ( testEntry->Result() == CDiagResultsDatabaseItem::EQueuedToRun )
-            {
-            // it was queued to be executed.
-            iPlan.AppendL( testEntry ); // ownership transferred.
-            }
-        else
-            {
-            // it was already executed. 
-            iExecutedEntries.AppendL( testEntry ); // ownership transferred.
-            }
-        CleanupStack::Pop( testEntry );
-        testEntry = NULL;
-        }
-
-    CleanupStack::PopAndDestroy( &previousResults );
-
-    iResumeIndex = iExecutedEntries.Count();
-
-    if ( iResumeIndex != 0 )
-        {
-        LOGSTRING( "CDiagPluginExecPlanImpl::InitializeL: Queued Items" )
-        LogPlanL();
-
-        ChangeState( EStateExpandDependencyAndSuites );
-        }
-    else
-        {
-        LOGSTRING( "CDiagPluginExecPlanImpl::InitializeL: "
-            L"Items in DB may be invalid. Fully recreate plan" )
-
-        // If iResumeIndex is 0, it means that all items in the db are 
-        // marked as EQueuedToRun. Because of the async nature of db,
-        // it could also indicate that not previous plan was not fully
-        // written to the database. In this case, read the engine parameter
-        // and try to recreate the plan from scratch.
-        //
-        // If it was already fully written but hadn't had a chance to really
-        // execute anything, this will not cause any ill effects since
-        // plan created should be identical and simply reset 
-        // all results in db to EQueuedToRun.
-        iExecutedEntries.ResetAndDestroy();
-        iPlan.ResetAndDestroy();
-
-        RPointerArray< MDiagPlugin > batch;
-        CleanupClosePushL( batch );    // items are not owned, so no need for "Destroy"
-
-        CDiagResultsDbRecordEngineParam* engineParam = NULL;
-        User::LeaveIfError( 
-            iEngine.DbRecord().GetEngineParam( engineParam ) );
-
-        CleanupStack::PushL( engineParam );
-
-        const RArray< TUid >& batchUids = engineParam->ExecutionsUidArray();
-
-        // Read original Uids from previous engine param.
-        for( TInt i = 0; i < batchUids.Count(); i++ )
-            {
-            MDiagPlugin* testPlugin = NULL;
-            User::LeaveIfError( 
-                iEngine.PluginPool().FindPlugin( batchUids[i], testPlugin ) );
-
-            __ASSERT_DEBUG( testPlugin != NULL, Panic( EDiagFrameworkInternal ) );
-            if ( testPlugin )  //lint !e774 This will be evaluated on non-debug build.
-                {
-                batch.AppendL( testPlugin );
-                }
-            }
-
-        CleanupStack::PopAndDestroy( engineParam );
-        engineParam = NULL;
-
-        // Call the normal InitializeL() method as if it is a new session.
-        InitializeL( aStatus, batch );
-
-        CleanupStack::PopAndDestroy( &batch );  // calls Close()
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginExecPlanImpl::operator[]
-// ---------------------------------------------------------------------------
-//
-CDiagExecPlanEntryImpl& CDiagPluginExecPlanImpl::operator[]( TInt aIndex )
-    {
-    return *iPlan[aIndex];
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginExecPlanImpl::CurrentExecutionItem
-// ---------------------------------------------------------------------------
-//
-CDiagExecPlanEntryImpl& CDiagPluginExecPlanImpl::CurrentExecutionItem() 
-    {
-    return *iPlan[iExecutionCursor];
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginExecPlanImpl::ResetExecutionCursor
-// ---------------------------------------------------------------------------
-//
-void CDiagPluginExecPlanImpl::ResetExecutionCursor()
-    {
-    iExecutionCursor = 0;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginExecPlanImpl::MoveCursorToNext
-// ---------------------------------------------------------------------------
-//
-TBool CDiagPluginExecPlanImpl::MoveCursorToNext()
-    {
-    TBool value = EFalse;
-
-    if ( iExecutionCursor < iPlan.Count() - 1 )
-        {
-        iExecutionCursor++;
-        value = ETrue;
-        }
-    else
-        {
-        // cannot move beyond the last item.
-        }
-
-    return value;
-    }
-
-// ======== From CActive =========
-// ---------------------------------------------------------------------------
-// From CActive
-// CDiagPluginExecPlanImpl::RunL
-// ---------------------------------------------------------------------------
-//
-void CDiagPluginExecPlanImpl::RunL()
-    {
-    /*----------------------------------------------------------------------
-       Create execution plan:
-       Overview:
-       
-            STEP_1. Expand Dependency 
-            STEP_2. Expand Suites.
-            STEP_3. Repeat STEP_1 & STEP_2 until no changes are made to the plan
-            STEP_4. Check and remove empty suites
-            STEP_5. Add Prepare/Finalize suite execution.
-            STEP_6. Store execution plan to results db. 
-            STEP_7. Append items that were executed in the previous test
-                    to the beginning of the test.
-       
-       Details:
-        STEP_1. Expand Dependency
-            In this step, each item is checked for dependency and 
-            dependent items will be inserted into plan.
-            Note that if dependent item also depends on something else, those
-            will be added immediately.
-       
-            All items inserted during this phase is inserted as dependent.
-       
-        STEP_2. Expand suites
-            Suites are expandeded to individual tests or suites. Suite
-            item will be expanded between parent suite's Prepare and 
-            Finalize items. 
-            
-            iAsDependent value will be inherited from the parent suite
-            that it expanded from. E.g. if suite was dependent, then so will
-            all the items that included from that suite.
-        
-            Note that it does not remove the original suite entry in the plan. 
-            This is to make sure that dependencies inserted will be grouped
-            within the same group as the plug-ins that depended on it.
-            If they are removed, and re-inserted later in STEP_5, it will
-            cause the dependent items to be outside of the original grouping.
-                e.g.  S1 = {P1}
-                      S2 = {P2, P3}
-
-                      and P2 depends on P1
-
-                When dependency and suites are expanded with original
-                suite removed, after STEP_3, the plan will look like this:
-                    (* indicates iAsDependent == ETrue)
-
-                      0     1    2
-                      *P1   P2   P3
-
-                When it tries to add suite transition back in to the plan,
-                it will look like this:
-                    (* indicates iAsDependent == ETrue)
-                    (< indicates suite prepare execution.)
-                    (> indicates suite finalize execution.)
-
-                      0    1    2    3    4   5   6
-                      <S1  *P1  S1>  <S2  P2  P3  S2>
-
-                which is somewhat incorrect since *P1 is added due to 
-                dependency. 
-                
-                Instead, if original suite grouping is kept, after STEP_3
-
-                    0    1    2    3    4
-                    <S2  *P1  P2   P3   S2>
-
-                After STEP_5
-
-                    0    1    2    3    4   5   6
-                    <S2  <S1  *P1  S1>  P2  P3  S2>
-                             
-                which is more correct.
-            
-            Note that this will be done in breadth first style. If there is a
-            nested suites, it will not be expanded until next cycle. 
-            This is to allow dependencies of the suite to be expanded before
-            being removed.
-       
-        STEP_3. Repeat STEP_1 & STEP_2 until no changes are made.
-            This step ensures that suites are expanded, and all dependent
-            items are added to the plan.
-       
-        STEP_4. Remove Empty suites
-            Because dependent items can be moved, it is possible that plan ends
-            up with empty suites. This section will check for 
-            suite prepare/finalize that has nothing inside, and remove them.
-
-        STEP_5. Add Prepare/Finalize steps for suites.
-            As a final step, it will navigate all the entries in the plan, and
-            insert proper prepare/finalize steps. This is based on stack,
-            where every suite prepare is pushed into a stack, and poped when
-            suite finalize is called. e.g. consider following plug-ins:
-
-                S1 = { P1, P2 }
-                S2 = { P3, P4 }
-
-                And P3 depends on P2.
-
-            And resulting plan after STEP_4 looked like this:
-
-                0    1     2    3    4
-                <S2  *P2   P3   P4   S2>
-
-            After STEP_5, it should look like this:
-
-                0    1    2    3    4    5    6
-                <S2  <S1  *P2  S1>  P3   P4   S2>
-
-        STEP_6. Store execution plan to results db. 
-            This allows continuation of the incomplete results.
-            Only test plug-ins are written to the database. 
-
-        STEP_7. Append items that were executed in the previous test
-            to the beginning of the test.
-
-        Other Notes:
-
-        NOTE_1) This logic currently does not check for circular dependencies.
-           If circular dependency exists, the program will go into an
-           infinite loop in ExpandDependenciesL().
-
-        NOTE_2) Inserting duplicate items.
-            Due to dependencies, duplicate entries may exist in the plan.
-
-            When items are inserted during STEP_1 - STEP_2, it will be checked
-            for duplicates.
-       
-            Duplicate removal policy is as follows:
-            RULE_A) If an item with "iAsDependent == ETrue" is being inserted,
-                AND if an item already exist in the plan before current index,
-                then it will not be inserted. 
-
-            RULE_B) Any items inserted with "iAsDependent == EFalse" will 
-               always be inserted at the requested index.
-               This is because they are considered to be user input, and
-               plan will not try to re-order the execution order that 
-               client or user has specified.
-
-            RULE_C) The first instance of an item has higher priority than later
-               instances. Later instace of duplicate will be removed, unless
-               it violates RULE_B. (e.g. item has "iAsDependent == EFalse".)
-
-            This has a side effect: item may execute twice in certain cases.
-            E.g. original plan has two plug-ins:  P1, P2, P3
-            P1 depends on P2, and P3 also depends ond P2
-
-            Original Input:   0   1   2
-                              P1  P2  P3
-
-            After STEP_3, it should look like this. 
-                    (* indicates iAsDependent == ETrue)
-
-                              0    1    2   3    4
-                              *P2  P1   P2  *P2  P3
-
-            During STEP_4, duplicates are removed, and it should look like this:
-                    (* indicates iAsDependent == ETrue)
-
-                              0    1    2   4
-                              *P2  P1   P2  P3
-
-            Note that there are two P2s in the plan; 
-            at 0 with iAsDependent == ETrue and at 2 with iAsDependent == EFalse
-
-            There may be some discussions on whether this is how it should be.
-            However, at this point, it seems that it is more important that
-            execution appears to the user in the order specified. 
-
-            To make sure that user sees that P2 is executed only once, plug-in
-            developer may need to make sure that if a plug-in provides services,
-            it should also handle cases where it is executed twice.
-
-            In reality, such cases can be avoided by grouping the plug-ins 
-            in the correct order, hence it should not be an issue.
-
-    ----------------------------------------------------------------------*/
-
-    // First, error handling.
-    LOGSTRING3( "CDiagPluginExecPlanImpl::RunL: State = %d, Err = %d",
-        iState, iStatus.Int() )
-
-    User::LeaveIfError( iStatus.Int() );
-
-    switch ( iState )
-        {
-        case EStateExpandDependencyAndSuites:
-            {
-            LOGSTRING( "CDiagPluginExecPlanImpl::RunL: STEP_1")
-            // STEP_1. Expand dependency. 
-            if ( !iEngineConfig.IsDependencyDisabled() )
-                {
-                ExpandDependenciesL();
-                }
-
-            LOGSTRING( "CDiagPluginExecPlanImpl::RunL: STEP_2")
-            // STEP_2. Expand suites.
-            if ( ExpandSuitesL() )
-                {
-                // STEP_3. Repeat STEP_1, STEP_2 until no changes are made.
-                // Do a self transition to repeat STEP_1 and STEP_2
-                ChangeState( EStateExpandDependencyAndSuites );
-                }
-            else
-                {
-                // no changes are made to the plan. Move to STEP_4
-                ChangeState( EStateRemoveEmptySuites );
-                }
-            }
-            break;
-
-        case EStateRemoveEmptySuites:
-            LOGSTRING( "CDiagPluginExecPlanImpl::RunL: STEP_4")
-            // STEP_4. Remove empty suites. This can happen because of duplicate
-            // dependencies moving later dependent test to earlier position.
-            RemoveEmptySuites();
-
-            #ifdef _DEBUG_EXEC_PLAN
-            LOGSTRING( "CDiagPluginExecPlanImpl:CreatePlanL: "
-                L"Before Inserting Suite Transtions" )
-            LogPlanL();
-            #endif // _DEBUG_EXEC_PLAN
-
-            // Continue to STEP_5
-            ChangeState( EStateInsertSuiteTransitions );
-            break;
-
-        case EStateInsertSuiteTransitions:
-            LOGSTRING( "CDiagPluginExecPlanImpl::RunL: STEP_5 - Insert Suite Transtions")
-            // STEP_5. Add pre/post suite execution
-            InsertSuiteTransitionsL();
-
-            // STEP_6. Store plan to db.
-            LOGSTRING( "CDiagPluginExecPlanImpl::RunL: STEP_6 - Store to db")
-            // this time, manually update state, since storing 
-            // to database needs to use iStatus
-            iState = EStateStoreToDb;
-
-            // Move cursor to one before so that it can start checking from
-            // the beginning. StoreNextTestPluginToDbL() will move the cursor
-            // as soon as it enters.
-            iExecutionCursor = -1;
-            StoreNextTestPluginToDbL();
-            
-            break;
-
-        case EStateStoreToDb:
-            LOGSTRING2( "CDiagPluginExecPlanImpl::RunL: STEP_6 - "
-                L"item 0x%08x stored.",
-                iPlan[iExecutionCursor]->Plugin().Uid().iUid )
-
-            StoreNextTestPluginToDbL();
-            break;
-
-        case EStatePlanCreated:
-            // STEP_7. Prepend the items that were executed in last session
-            // to the beginning of the execution plan.
-            LOGSTRING( "CDiagPluginExecPlanImpl::RunL: STEP_7 - prepend executed items" )
-            PrependExecutedItemsL();
-
-            LOGSTRING( "CDiagPluginExecPlanImpl::RunL: Final Plan" )
-            LogPlanL();
-            
-            LOGSTRING2( "CDiagPluginExecPlanImpl::RunL: Resume at index %d", iResumeIndex )
-
-            LogPlanInRecordL();
-
-            ResetExecutionCursor();
-
-            ReportResult( KErrNone );
-            break;
-
-        case EStateIdle:
-        default:
-            __ASSERT_DEBUG( 0, Panic( EDiagFrameworkInternal ) );
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From CActive
-// CDiagPluginExecPlanImpl::DoCancel
-// ---------------------------------------------------------------------------
-//
-void CDiagPluginExecPlanImpl::DoCancel()
-    {
-    iPlan.ResetAndDestroy();
-    iExecutedEntries.ResetAndDestroy();
-    iState = EStateIdle;
-
-    ReportResult( KErrCancel );
-    }
-
-// ---------------------------------------------------------------------------
-// From CActive
-// CDiagPluginExecPlanImpl::RunError
-// ---------------------------------------------------------------------------
-//
-TInt CDiagPluginExecPlanImpl::RunError( TInt aError )
-    {
-    iPlan.ResetAndDestroy();
-    iExecutedEntries.ResetAndDestroy();
-    iState = EStateIdle;
-
-    ReportResult( aError );
-
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagPluginExecPlan
-// CDiagPluginExecPlanImpl::CurrentIndex
-// ---------------------------------------------------------------------------
-//
-TInt CDiagPluginExecPlanImpl::CurrentIndex() const
-    {
-    return iExecutionCursor;
-    }
-
-
-// ---------------------------------------------------------------------------
-// From MDiagPluginExecPlan
-// CDiagPluginExecPlanImpl::CurrentTestIndex
-// ---------------------------------------------------------------------------
-//
-TInt CDiagPluginExecPlanImpl::CurrentTestIndex( TBool aIncludeDependency ) const
-    {
-    TInt count = 0;
-
-    for ( TInt i = 0; i < iPlan.Count() && i < iExecutionCursor; i++ )
-        {
-        if ( iPlan[i]->Plugin().Type() == MDiagPlugin::ETypeTestPlugin )
-            {
-            // if caller wants to include both explicit and dependent
-            // or if plug-in is not depentent test, count.
-            if ( aIncludeDependency || ( !iPlan[i]->AsDependency() ) )
-                {
-                count++;
-                }
-            }
-        }
-    
-    // subtract 1 if we only went past the last test.
-    if ( count >= TestCount( aIncludeDependency ) )
-        {
-        count--;
-        }
-    return count;
-    }
-
-
-// ---------------------------------------------------------------------------
-// From MDiagPluginExecPlan
-// CDiagPluginExecPlanImpl::TestCount
-// ---------------------------------------------------------------------------
-//
-TInt CDiagPluginExecPlanImpl::TestCount( TBool aIncludeDependency ) const
-    {
-    TInt count = 0;
-
-    for ( TInt i = 0; i < iPlan.Count(); i++ )
-        {
-        if ( iPlan[i]->Plugin().Type() == MDiagPlugin::ETypeTestPlugin )
-            {
-            // if caller wants to include both explicit and dependent
-            // or if plug-in is not depentent test, count.
-            if ( aIncludeDependency || ( !iPlan[i]->AsDependency() ) )
-                count++;
-            }
-        }
-    return count;
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagPluginExecPlan
-// CDiagPluginExecPlanImpl::operator[] () const
-// ---------------------------------------------------------------------------
-//
-const MDiagExecPlanEntry& CDiagPluginExecPlanImpl::operator[] ( TInt aIndex ) const
-    {
-    __ASSERT_ALWAYS( aIndex >= 0 && aIndex < iPlan.Count(), 
-                     Panic( EDiagFrameworkArrayBounds ) );
-    return *( static_cast< MDiagExecPlanEntry* >( iPlan[aIndex] ) );
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagPluginExecPlan
-// CDiagPluginExecPlanImpl::CurrentExecutionItem const
-// ---------------------------------------------------------------------------
-//
-const MDiagExecPlanEntry& CDiagPluginExecPlanImpl::CurrentExecutionItem() const
-    {
-    __ASSERT_ALWAYS( iExecutionCursor >= 0 && iExecutionCursor < iPlan.Count(), 
-                     Panic( EDiagFrameworkArrayBounds ) );
-    return *( static_cast< MDiagExecPlanEntry* >( iPlan[iExecutionCursor] ) );
-    }
-
-
-// ---------------------------------------------------------------------------
-// From MDiagPluginExecPlan
-// CDiagPluginExecPlanImpl::IsLastTest
-// ---------------------------------------------------------------------------
-//
-TBool CDiagPluginExecPlanImpl::IsLastTest() const
-    {
-    if ( TestCount( ETrue ) == 0 )
-        {
-        // there was no test in the plan.. 
-        // In this case, it is always ETrue.
-        return ETrue;
-        }
-
-    return ( CurrentTestIndex( ETrue ) == TestCount( ETrue ) - 1 );
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagPluginExecPlan
-// CDiagPluginExecPlanImpl::IsLastPlugin
-// ---------------------------------------------------------------------------
-//
-TBool CDiagPluginExecPlanImpl::IsLastPlugin() const
-    {
-    if ( iPlan.Count() == 0 )
-        {
-        // if plan was empty, always consider it to be the last.
-        return ETrue;
-        }
-
-    return iExecutionCursor == ( iPlan.Count() -1 );
-    }
-
-
-// ---------------------------------------------------------------------------
-// From MDiagPluginExecPlan
-// CDiagPluginExecPlanImpl::Count
-// ---------------------------------------------------------------------------
-//
-TInt CDiagPluginExecPlanImpl::Count() const
-    {
-    return iPlan.Count();
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagPluginExecPlan
-// CDiagPluginExecPlanImpl::ResumeIndex
-// ---------------------------------------------------------------------------
-//
-TInt CDiagPluginExecPlanImpl::ResumeIndex() const
-    {
-    return iResumeIndex;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginExecPlanImpl::ChangeState
-// ---------------------------------------------------------------------------
-//
-void CDiagPluginExecPlanImpl::ChangeState( TState aState )
-    {
-    LOGSTRING3( "CDiagPluginExecPlanImpl::ChangeState: state change %d -> %d",
-        iState, aState )
-
-    iState = aState;
-
-    TRequestStatus* stat = &iStatus;
-    User::RequestComplete( stat, KErrNone );
-    SetActive();
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginExecPlanImpl::ExpandDependenciesL
-// ---------------------------------------------------------------------------
-//
-TBool CDiagPluginExecPlanImpl::ExpandDependenciesL()
-    {
-    // STEP_1. Expand dependency.
-    // Before modifying this function, please see STEP_1 comments in CreatePlanL()
-    TInt planIdx = 0;
-    TBool planChanged( EFalse );
-    while ( planIdx < iPlan.Count() )
-        {
-        TBool itemAdded = EFalse;
-
-        // we are only interested in type ETypeTestExec or ETypeSuiteUnexpanded. 
-        // If it is ETypeSuitePrepare or ETypeSuiteFinalize, that means 
-        // that it is a suite and it has been already been expanded to 
-        // prepare/finalize. Since dependencies are resolved before suites 
-        // are expanded, we are not interested in re-evaluating expanded tests.
-        if ( iPlan[planIdx]->Type() == CDiagExecPlanEntryImpl::ETypeTestExec ||
-             iPlan[planIdx]->Type() == CDiagExecPlanEntryImpl::ETypeSuiteUnexpanded )
-            {
-            // dependencies should be rare. So granuality 1 should be fine.
-            CPtrCArray* depList = new( ELeave )CPtrCArray( 1 );
-            CleanupStack::PushL( depList );
-            iPlan[planIdx]->Plugin().GetLogicalDependenciesL( *depList );
-
-            // iterate through the dependiencies BACKWARDS to make sure
-            // that dependencies are inserted in the same order 
-            // specified. If it is not added backwards, developers may 
-            // be surprised that dependencies are executed 
-            // in reverse order of what is specified in the XML.
-            for ( TInt depIdx = depList->Count() - 1; depIdx >= 0; depIdx-- )
-                {
-                // If dependency is specified, but the dependent plug-in is 
-                // not found in plug-in pool, this probably means 
-                // plug-in database is corrupted.
-                MDiagPlugin& plugin = iEngine.PluginPool().FindPluginL( ( *depList )[ depIdx ] );
-
-                if ( InsertPluginL( plugin, 
-                                    ETrue, 
-                                    planIdx ) )
-                    {
-                    itemAdded = ETrue;
-                    }
-                }
-            CleanupStack::PopAndDestroy( depList );
-            depList = NULL;
-            }
-
-        // Advance to next item in plan only if no new item is added.
-        // This ensures that items just added are re-evaluated for
-        // dependency, and expand if it is an unexpanded suite.
-        if ( !itemAdded )
-            {
-            planIdx++;
-            }
-        else
-            {
-            planChanged = ETrue;
-            }
-        }
-
-    return planChanged;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDiagPluginExecPlanImpl::ExpandSuitesL
-// ---------------------------------------------------------------------------
-//
-TBool CDiagPluginExecPlanImpl::ExpandSuitesL() 
-    {
-    // STEP_2. Expand suites.
-    // Before modifying this function, please see STEP_1 comments in CreatePlanL()
-    TBool planChanged = EFalse;
-    TInt i = 0;
-    while ( i < iPlan.Count() )
-        {
-        if ( iPlan[i]->Type() == CDiagExecPlanEntryImpl::ETypeSuiteUnexpanded )
-            {
-            // If it is unexpanded, it must be a suite.
-            __ASSERT_DEBUG( iPlan[i]->Plugin().Type() == MDiagPlugin::ETypeSuitePlugin,
-                            Panic( EDiagFrameworkInternal ) );
-            planChanged = ETrue;
-
-            // Change type from ETestExec to ETypeSuitePrepare. This indicates
-            // that the suite item in the plan has been examined and
-            // expanded.
-            iPlan[i]->SetType( CDiagExecPlanEntryImpl::ETypeSuitePrepare );
-
-            // dependency is inherited
-            TBool asDependency = iPlan[i]->AsDependency();
-            
-            // Get Children from the plug-in
-            MDiagSuitePlugin& suite = static_cast<MDiagSuitePlugin&>( iPlan[i]->Plugin() );
-            RPointerArray<MDiagPlugin> children;
-            CleanupClosePushL( children );
-
-            suite.GetChildrenL( children, MDiagSuitePlugin::ESortByPosition );
-
-            i++; // insert rest after current item.
-
-            TInt childIdx = 0;
-            while ( childIdx < children.Count() )
-                {
-                if ( InsertPluginL( *( children[childIdx] ), 
-                                    asDependency, 
-                                    i ) )
-                    {
-                    // new item is added. Move to next
-                    i++;
-                    }
-                childIdx++;
-                }
-
-            children.Reset();   // children pointers are not owned 
-            CleanupStack::PopAndDestroy( &children );
-
-            // insert suite finalize entry into plan
-            CDiagExecPlanEntryImplSuite* finalizeEntry = 
-                CDiagExecPlanEntryImplSuite::NewLC(
-                    iEngine,
-                    iEngineConfig,
-                    iPlanEntryObserver,
-                    suite,
-                    asDependency,
-                    CDiagExecPlanEntryImpl::ETypeSuiteFinalize );
-
-            iPlan.InsertL( static_cast< CDiagExecPlanEntryImpl* >( finalizeEntry ), i );   
-            CleanupStack::Pop( finalizeEntry ); // owership transferred
-            finalizeEntry = NULL;
-            i++;
-            }
-        else
-            {
-            // this one is not suite, so examine the next one.
-            i++;    
-            }
-        }
-
-    return planChanged;
-    }
-
-// Looking for STEP_3?  It is in RunL() .. 
-
-// ---------------------------------------------------------------------------
-// CDiagPluginExecPlanImpl::RemoveEmptySuites
-// ---------------------------------------------------------------------------
-//
-void CDiagPluginExecPlanImpl::RemoveEmptySuites()
-    {
-    // STEP_4. Remove empty suites
-    // Before modifying this function, please see STEP_1 comments in CreatePlanL()
-
-    // Checking for duplicate is done by checking if suite prepare/finalize
-    // is in the plan next to each other.
-    //
-    // NOTE_4
-    // After a empty suite is removed, step back one index.
-    // so that the previous item will be re-evaluated, in case removing them cased 
-    // the parent suite to be empty as well.
-    //      e.g
-    //      i == 1
-    //      index:   0   [1]  2   3
-    //               <A  <B   B>  A> 
-    //  after removal, now prepare/finalize A becomes next to each other
-    //
-    //      i == 1
-    //      index:   0   [1] 
-    //               <A  A> 
-    //
-    // in order to make sure that above case is handled, decrement i and
-    // re-evaluate from index 0
-    //
-    TInt i = 0;
-    while ( i < iPlan.Count() - 2 )  // no need to go beyond the last item
-        {
-        if ( iPlan[i]->Type() == CDiagExecPlanEntryImpl::ETypeSuitePrepare &&
-                iPlan[i+1]->Type() == CDiagExecPlanEntryImpl::ETypeSuiteFinalize )
-            {
-            // if these two do not match, then there may have been
-            // a problem during plan creation.
-            __ASSERT_DEBUG( iPlan[i]->Plugin().Uid() == iPlan[i+1]->Plugin().Uid(),
-                            Panic( EDiagFrameworkCorruptPlugin ) );
-
-
-            CDiagExecPlanEntryImpl* entry = iPlan[ i + 1 ];
-            iPlan.Remove( i+1 );
-            delete entry;
-            entry = NULL;
-
-            entry = iPlan[i];
-            iPlan.Remove( i );
-            delete entry;
-            entry = NULL;
-            
-            // Wondering why step back by one? See NOTE_4
-            if ( i > 0 )
-                {
-                i--;
-                }
-            }
-        else
-            {
-            // it's not empty. Examine next item.
-            i++;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginExecPlanImpl::InsertSuiteTransitionsL
-// ---------------------------------------------------------------------------
-//
-void CDiagPluginExecPlanImpl::InsertSuiteTransitionsL()
-    {
-    // STEP_5. Add pre/post suite execution based on test parent change.
-    // Before modifying this function, please see STEP_1 comments in CreatePlanL()
-    
-    // if plan is empty, nothing to do.
-    if ( iPlan.Count() == 0 )
-        {
-        return;
-        }
-    
-    // Create a new CStack. Second template parameter ETrue means that
-    // CStack owns the stack entries.
-    CStack<TTransitionStackEntry, ETrue>* stack = 
-        new( ELeave )CStack<TTransitionStackEntry, ETrue>;
-    
-    CleanupStack::PushL( stack );
-
-    // create a root entry
-    AddRootSuiteIfMissingL();
-    
-    // In this loop, iPlan.Count() cannot be cached because new item may be
-    // added within the loop
-    TInt i = 0;
-    while ( i < iPlan.Count() )
-        {
-        #ifdef _DEBUG_EXEC_PLAN
-        LOGSTRING2( "CDiagPluginExecPlanImpl::InsertSuiteTransitionsL: ------ %d", i )
-        LogPlanL();
-        #endif // _DEBUG_EXEC_PLAN
-            
-        // Case 1
-        // If current item is a suite prepare, push a new level into stack.
-        if ( iPlan[i]->Type() == CDiagExecPlanEntryImpl::ETypeSuitePrepare )
-            {
-            // we are entering a new suite. Push current plan item into stack.
-            PushNewLevelL( *stack, i );
-            i++;
-            continue; //lint !e960  continue OK. examine next item.
-            }
-
-        // Case 2
-        // If current item is a suite finalize, pop a level from stack.
-        if ( iPlan[i]->Type() == CDiagExecPlanEntryImpl::ETypeSuiteFinalize && 
-                stack->Head() != NULL &&
-                stack->Head()->iLevelUid == iPlan[i]->Plugin().Uid() )
-            {
-            // we are leaving a suite. Pop top item from suite.
-            PopLevel( *stack );
-            i++;
-            continue; //lint !e960 : continue OK. examine next item.
-            }
-
-        // it was neither prepare or finalize. Examine item as current level.
-        const TTransitionStackEntry& level = *(stack->Head()); // Peek
-
-        TUid newLevelUid = iPlan[i]->Plugin().ParentUid();
-
-        // Case 3
-        if ( newLevelUid == level.iLevelUid )
-            {
-            // still in the same suite level.  No need to add new items.
-
-            // check if current item is non-dependent.
-            // If so, update the iAsDependent to reflect that it includes
-            // a non-dependent item.
-            if ( !(iPlan[i]->AsDependency()) )
-                {
-                // update the prepare item, indicating that it has
-                // an non-dependent item
-                iPlan[level.iPrepareIndex]->SetAsDependency( EFalse );
-                }
-            i++;
-            continue;   //lint !e960 : continue OK. examine next item.
-            }
-
-        // If parent UID is differnt from current level uid, 
-        // it can mean one of the following:
-        //  A ) We are entering a new suite.
-        //  B ) We leaving a suite.
-        // Case B ) can be deteced by checking whether the new parent is 
-        // already in the stack somewhere (stack will be popped until we are
-        // in the same level), or if there is no more item of the same
-        // level is in the plan, which means it is not needed.
-        // If case B ) fails, assume case A.
-        if ( IsLevelInStack( *stack, newLevelUid ) ||
-             !IsThisSuiteNeededAfterThisIndex( stack->Head()->iLevelUid, i ) )
-            {
-            // Case B) Insert a new Finalize item.
-            AddSuiteFinalizeL( level.iPrepareIndex, i );
-            }
-        else
-            {
-            // Case A) Insert a new prepare item.
-            AddSuitePrepareL( newLevelUid, i );
-            }
-        }
-
-    // When all done, stack must be empty.
-    __ASSERT_DEBUG( stack->IsEmpty(), Panic( EDiagFrameworkInternal ) );
-
-    CleanupStack::PopAndDestroy( stack );
-    stack = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginExecPlanImpl::AddRootSuiteIfMissingL
-// ---------------------------------------------------------------------------
-//
-void CDiagPluginExecPlanImpl::AddRootSuiteIfMissingL()
-    {
-    // Check to see if root element is already in the plan.
-    if ( iPlan[0]->Plugin().Uid() != KDiagRootSuiteUid )
-        {
-        // root( uid 0 ) does not exist in the plan.
-        // Add prepare and finalize root into the plan.
-        MDiagPlugin& rootPlugin = iEngine.PluginPool().FindPluginL( KDiagRootSuiteUid );
-
-        CDiagExecPlanEntryImplSuite* rootEntry = 
-            CDiagExecPlanEntryImplSuite::NewLC(
-                iEngine,
-                iEngineConfig,
-                iPlanEntryObserver,
-                static_cast< MDiagSuitePlugin& >( rootPlugin ),
-                ETrue,              // iAsDependent == ETrue. Updated as later.
-                CDiagExecPlanEntryImpl::ETypeSuitePrepare );
-
-        iPlan.InsertL( static_cast< CDiagExecPlanEntryImpl* >( rootEntry ), 0 );  
-        CleanupStack::Pop( rootEntry ); // ownership transferred above.
-        rootEntry = NULL;
-
-        rootEntry = CDiagExecPlanEntryImplSuite::NewLC(
-            iEngine,
-            iEngineConfig,
-            iPlanEntryObserver,
-            static_cast< MDiagSuitePlugin& >( rootPlugin ),
-            ETrue,              // iAsDependent == ETrue. Updated as later.
-            CDiagExecPlanEntryImpl::ETypeSuiteFinalize );
-
-        // insert same entry with finalize as type
-        iPlan.AppendL( static_cast< CDiagExecPlanEntryImpl* >( rootEntry ) );
-        CleanupStack::Pop( rootEntry ); // ownership transferred above
-        rootEntry = NULL;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginExecPlanImpl::PushNewLevelL
-// ---------------------------------------------------------------------------
-//
-void CDiagPluginExecPlanImpl::PushNewLevelL( 
-        CStack<TTransitionStackEntry, ETrue>& aStack, 
-        TInt aHeadIndex )
-    {
-    TTransitionStackEntry* level = new( ELeave )TTransitionStackEntry;
-
-    __ASSERT_ALWAYS( aHeadIndex >= 0 && aHeadIndex < iPlan.Count(),
-                     Panic( EDiagFrameworkInternal ) );
-
-    level->iLevelUid = iPlan[aHeadIndex]->Plugin().Uid();
-    level->iPrepareIndex = aHeadIndex;
-
-    #ifdef _DEBUG_EXEC_PLAN
-    LOGSTRING2( "CDiagPluginExecPlanImpl:: Push 0x%08x", level->iLevelUid.iUid )
-    #endif // _DEBUG_EXEC_PLAN
-
-    aStack.PushL( level ); // owership transferred.
-    level = NULL; //lint !e423 Ownership transferred. No leak here.
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginExecPlanImpl::PopLevel
-// ---------------------------------------------------------------------------
-//
-void CDiagPluginExecPlanImpl::PopLevel( CStack<TTransitionStackEntry, ETrue>& aStack )
-    {
-    TTransitionStackEntry* level = aStack.Pop();
-    #ifdef _DEBUG_EXEC_PLAN
-    LOGSTRING2( "CDiagPluginExecPlanImpl:: Pop 0x%08x", level->iLevelUid.iUid )
-    #endif // _DEBUG_EXEC_PLAN
-    delete level;
-    level = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginExecPlanImpl::IsLevelInStack
-// ---------------------------------------------------------------------------
-//
-TBool CDiagPluginExecPlanImpl::IsLevelInStack( 
-        CStack<TTransitionStackEntry, ETrue>& aStack,
-        TUid aLevelUid ) const
-    {
-    for ( TInt i = 0; i < aStack.Count(); i++ )
-        {
-        const TTransitionStackEntry& currEntry = *aStack[i];
-        if ( currEntry.iLevelUid == aLevelUid )
-            {
-            return ETrue;
-            }
-        }
-
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginExecPlanImpl::IsThisSuiteNeededAfterThisIndex
-// ---------------------------------------------------------------------------
-//
-TBool CDiagPluginExecPlanImpl::IsThisSuiteNeededAfterThisIndex(
-        TUid aSuiteUid,
-        TInt aIndex ) const
-    {
-    for ( TInt i = aIndex; i < iPlan.Count(); i++ )
-        {
-        if ( iPlan[i]->Plugin().Uid() == aSuiteUid ||  // finalize already exists
-             iPlan[i]->Plugin().ParentUid() == aSuiteUid )
-            {
-            return ETrue;
-            }
-        }
-
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginExecPlanImpl::AddSuitePrepareL
-// ---------------------------------------------------------------------------
-//
-void CDiagPluginExecPlanImpl::AddSuitePrepareL( TUid aLevelUid, TInt aAt )
-    {
-    MDiagPlugin& suitePlugin = iEngine.PluginPool().FindPluginL( aLevelUid );
-
-    CDiagExecPlanEntryImplSuite* prepareEntry =
-        CDiagExecPlanEntryImplSuite::NewLC( 
-            iEngine,
-            iEngineConfig,
-            iPlanEntryObserver,
-            static_cast< MDiagSuitePlugin& >( suitePlugin ),
-            ETrue, // iAsDependent. Updated as later if not true.
-            CDiagExecPlanEntryImpl::ETypeSuitePrepare );
-
-    iPlan.InsertL( static_cast< CDiagExecPlanEntryImpl* >( prepareEntry ), aAt );
-    CleanupStack::Pop( prepareEntry ); // ownership transfer
-    prepareEntry = NULL;
-
-    #ifdef _DEBUG_EXEC_PLAN
-    LOGSTRING2( "CDiagPluginExecPlanImpl:: InsertPrepare 0x%08x", aLevelUid )
-    #endif // _DEBUG_EXEC_PLAN
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginExecPlanImpl::AddSuiteFinalizeL
-// ---------------------------------------------------------------------------
-//
-void CDiagPluginExecPlanImpl::AddSuiteFinalizeL( TInt aPrepareIndex, TInt aAt )
-    {
-    // It is identical to the prepare entry, except that type is ETypeSuiteFinalize
-    __ASSERT_ALWAYS( aPrepareIndex >= 0 && aPrepareIndex < iPlan.Count(),
-                     Panic( EDiagFrameworkInternal ) );
-
-    CDiagExecPlanEntryImplSuite& prepareEntry = 
-        static_cast< CDiagExecPlanEntryImplSuite& > ( *(iPlan[aPrepareIndex]) );
-
-    CDiagExecPlanEntryImplSuite* finalizeEntry = 
-        CDiagExecPlanEntryImplSuite::NewLC( 
-            iEngine,
-            iEngineConfig,
-            iPlanEntryObserver,
-            prepareEntry.SuitePlugin(),
-            prepareEntry.AsDependency(),
-            CDiagExecPlanEntryImpl::ETypeSuiteFinalize );
-
-    iPlan.InsertL( static_cast< CDiagExecPlanEntryImpl* >( finalizeEntry ), aAt );
-    CleanupStack::Pop( finalizeEntry );  // ownership transmitted above
-    finalizeEntry = NULL;
-
-    #ifdef _DEBUG_EXEC_PLAN
-    LOGSTRING2( "CDiagPluginExecPlanImpl:: InsertFinalize 0x%08x", prepareEntry.Plugin().Uid().iUid );
-    #endif // _DEBUG_EXEC_PLAN
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginExecPlanImpl::StoreNextTestPluginToDbL
-// ---------------------------------------------------------------------------
-//
-void CDiagPluginExecPlanImpl::StoreNextTestPluginToDbL()
-    {
-    // STEP_6. Store plan to DB. 
-    // In this step, all test entries must be stored in db with EQueuedToRun
-    // status. Since DbRecord().LogTestResult() is an async call, only one
-    // item can be written at a time. 
-    //
-    // To do this, this function will search for the next "TEST" plug-in that
-    // needs to be logged to DB. Once it is found, it will call async function
-    // LogTestResult() and wait for RunL() to execute again.
-    // In RunL(), StoreNextTestPluginToDbL() is called again, and it will look for the
-    // next test plugin to store until it loops through all items in plan.
-    while ( MoveCursorToNext() )
-        {
-        if ( CurrentExecutionItem().Plugin().Type() == MDiagPlugin::ETypeTestPlugin )
-            {
-            LOGSTRING2( "CDiagPluginExecPlanImpl::RunL: STEP_6 - storing item 0x%08x",
-                CurrentExecutionItem().Plugin().Uid().iUid )
-
-            CDiagResultsDatabaseItem* resultItem = 
-                CDiagResultsDbItemBuilder::CreateSimpleDbItemL( 
-                    CurrentExecutionItem().Plugin().Uid(),
-                    CurrentExecutionItem().AsDependency(),
-                    CDiagResultsDatabaseItem::EQueuedToRun );
-
-            // Record initial test result to db.
-            // StoreNextTestPluginToDbL() will be called again later from RunL()
-            iEngine.DbRecord().LogTestResult( iStatus, *resultItem );
-            SetActive();
-
-            delete resultItem;
-            resultItem = NULL;
-
-            // Exit here since we must wait for LogTestResult() to complete
-            // before moving on to the next item.
-            return;
-            }
-        }
-
-    // All items are stored now.
-    ChangeState( EStatePlanCreated );
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginExecPlanImpl::PrependExecutedItemsL
-// ---------------------------------------------------------------------------
-//
-void CDiagPluginExecPlanImpl::PrependExecutedItemsL()
-    {
-    #ifdef _DEBUG_EXEC_PLAN
-    LOGSTRING( "CDiagExecPlanEntryImpl::PrependExecutedItemsL(). "
-        L" Before prepending executed entries" );
-    LogPlanL();
-    #endif // _DEBUG_EXEC_PLAN
-
-    for ( TInt lastIndex = iExecutedEntries.Count() - 1;
-          lastIndex >= 0 ;
-          lastIndex-- )
-        {
-        // Insert last entry from the executed list to the beginning.
-        iPlan.InsertL( iExecutedEntries[ lastIndex ], 0 );
-        iExecutedEntries.Remove( lastIndex );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginExecPlanImpl::ReportResult
-// ---------------------------------------------------------------------------
-//
-void CDiagPluginExecPlanImpl::ReportResult( TInt aError )
-    {
-    User::RequestComplete( iClientStatus, aError );
-    iClientStatus = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginExecPlanImpl::InsertPluginL
-// ---------------------------------------------------------------------------
-//
-TBool CDiagPluginExecPlanImpl::InsertPluginL( MDiagPlugin& aPlugin,
-                                              TBool aAsDependency,
-                                              TInt aAt )
-    {
-    #ifdef _DEBUG_EXEC_PLAN
-    LOGSTRING4( "CDiagPluginExecPlanImpl::InsertPluginL:"
-            L"Id = 0x%x, Type = %s, At %d", 
-            aPlugin.Uid().iUid,  
-            ( aPlugin.Type() == MDiagPlugin::ETypeTestPlugin ? L"Test" : L"Suite" ),
-            aAt )
-    #endif // _DEBUG_EXEC_PLAN
-
-    __ASSERT_ALWAYS( aAt >= 0 && aAt <= iPlan.Count(), Panic( EDiagFrameworkArrayBounds ) );
-
-    // First, examine items before given index.
-    // If new item has iAsDependent == ETrue, and also found before the given index,
-    //   --> it is okay to not insert the item, since it will just be duplicates.
-    // if new item has iAsDependent == EFalse, 
-    //   --> no need to check for items prior to current position, since
-    //   explicit
-    // where it was requested.
-    TInt idx = 0;
-    if ( aAsDependency )
-        {
-        // check if it was already executed in the previous session.
-        for ( idx = 0; idx < iExecutedEntries.Count(); idx++ )
-            {
-            if ( iExecutedEntries[idx]->Plugin().Uid() == aPlugin.Uid() )
-                {
-                // matching item found.
-                // No need to instert a new item.
-                return EFalse;
-                }
-            }
-
-        // check for items in current plan.
-        for ( idx = 0; idx < aAt && idx < iPlan.Count(); idx++ )
-            {
-            if ( iPlan[idx]->Plugin().Uid() == aPlugin.Uid() )
-                {
-                // Matching item found. 
-                // No change to plan made.
-                return EFalse;
-                }
-            }
-        }
-
-    // Duplicate item not found before given index.
-    // An item will be inserted at the given index. Now, we search for
-    // duplicates after current index, and see if we can remove them.
-    idx = aAt;
-    while ( idx < iPlan.Count() )
-        {
-        if ( iPlan[idx]->Plugin().Uid() == aPlugin.Uid() && iPlan[idx]->AsDependency() )
-            {
-            // Item is found, and it was for dependency.
-            // We can move this item to current position. 
-            // For now, we just need to remove it, since it will be added at
-            // current position when for loop is done.
-            CDiagExecPlanEntryImpl* entry = iPlan[idx];
-            iPlan.Remove( idx );
-            delete entry;
-            entry = NULL;
-
-            // no need to increment idx, since current item is removed.
-            // idx should already be at the next item.
-            }
-        else
-            {
-            idx++;     // check next item.
-            }
-        }
-
-    // Either plug-in is not found, or we found one that we can move.
-    // Add to current position.
-    CDiagExecPlanEntryImpl* newEntry = CreateDefaultPlanEntryLC(
-        aPlugin,
-        aAsDependency );
-
-    iPlan.InsertL( newEntry, aAt );
-    CleanupStack::Pop( newEntry );
-    newEntry = NULL;
-
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginExecPlanImpl::CreateDefaultPlanEntryL
-//
-// ---------------------------------------------------------------------------
-//
-CDiagExecPlanEntryImpl* CDiagPluginExecPlanImpl::CreateDefaultPlanEntryLC(
-        MDiagPlugin& aPlugin,
-        TBool aAsDependency ) const
-    {
-    CDiagExecPlanEntryImpl* newEntry = NULL;
-
-    if ( aPlugin.Type() == MDiagPlugin::ETypeTestPlugin )
-        {
-        newEntry = static_cast< CDiagExecPlanEntryImpl* >(
-            CDiagExecPlanEntryImplTest::NewLC(
-                iEngine,
-                iEngineConfig,
-                iPlanEntryObserver,
-                static_cast< MDiagTestPlugin& >( aPlugin ),
-                aAsDependency,
-                CDiagResultsDatabaseItem::EQueuedToRun ) );
-        }
-    else
-        {
-        newEntry = static_cast< CDiagExecPlanEntryImpl* >(
-            CDiagExecPlanEntryImplSuite::NewLC(
-                iEngine,
-                iEngineConfig,
-                iPlanEntryObserver,
-                static_cast< MDiagSuitePlugin& >( aPlugin ),
-                aAsDependency,
-                CDiagExecPlanEntryImpl::ETypeSuiteUnexpanded ) );
-        }
-
-    return newEntry;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginExecPlanImpl::LogPlan
-// ---------------------------------------------------------------------------
-//
-void CDiagPluginExecPlanImpl::LogPlanL() const
-    {
-    #ifdef _DEBUG
-    LOGSTRING( "CDiagPluginExecPlanImpl::LogPlan(): Plan Dump." )
-    for ( TInt i = 0; i < iPlan.Count(); i++ )
-        {            
-        HBufC* pluginName = iPlan[i]->Plugin().GetPluginNameL( 
-            MDiagPlugin::ENameLayoutListSingle );
-
-        LOGSTRING5( "Plan Entry: Id = 0x%08x, %s, Dep=[%s], Name = %S",
-            iPlan[i]->Plugin().Uid().iUid,  
-            ( iPlan[i]->Type() == CDiagExecPlanEntryImpl::ETypeSuitePrepare ? L"<" : 
-                ( iPlan[i]->Type() == CDiagExecPlanEntryImpl::ETypeSuiteFinalize ? L">" : L" " ) ),
-            ( iPlan[i]->AsDependency() ? L"*" : L" " ),
-            pluginName )
-
-        delete pluginName;
-        }
-    #endif // _DEBUG
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginExecPlanImpl::LogPlanInRecordL
-// ---------------------------------------------------------------------------
-//
-void CDiagPluginExecPlanImpl::LogPlanInRecordL() const
-    {
-    #ifdef _DEBUG
-
-    LOGSTRING( "CDiagPluginExecPlanImpl::LogPlanInRecord()" )
-
-    RPointerArray< CDiagResultsDatabaseItem > results;
-    DiagFwInternal::CleanupRPointerArrayPushL< CDiagResultsDatabaseItem >( &results );
-    User::LeaveIfError(
-        iEngine.DbRecord().GetTestResults( results ) );
-
-    TInt resultCount = results.Count();
-
-    LOGSTRING2( "  Result Count = %d", resultCount )
-
-    for ( TInt i = 0; i < resultCount; i++ )
-        {
-        LOGSTRING4( "   Test UID = 0x%08x, Result = %d, Dep = %d", 
-            results[i]->TestUid().iUid,
-            results[i]->TestResult(),
-            results[i]->WasDependency() )
-        }
-
-    CleanupStack::PopAndDestroy( &results );
-
-    #endif // _DEBUG
-    }
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/src/diagpluginloaderdependencyparser.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,596 +0,0 @@
-/*
-* 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 "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:  Parse dependency information from XML in ECOM plug-in
-                 resource files
-*
-*/
-
-
-// CLASS DECLARATION
-#include "diagpluginloaderdependencyparser.h"
-
-// SYSTEM INCLUDE FILES
-#include <xml/parser.h>         // CParser
-#include <badesca.h>
-#include <e32svr.h>
-#include <DiagFrameworkDebug.h> // LOGSTRING
-
-// USER INCLUDE FILES
-
-using namespace Xml;
-
-namespace DiagPluginPool
-    {
-// ============================================================================
-// LOCAL DATA
-// ============================================================================
-
-_LIT8( KParserMIMEType, "text/xml" );
-_LIT8( KRootXmlTag, "diagplugininfo" );
-_LIT8( KOrderNumberTag, "order" );
-_LIT8( KServiceProvidedTag, "serviceprovided" );
-_LIT8( KServicesRequiredTag, "servicesrequired" );
-_LIT8( KServiceTag, "service" );
-_LIT8( KNameAttrTag, "name" );
-_LIT8( KNumberAttrTag, "number" );
-
-// ============================================================================
-// MEMBER FUNCTIONS( CDepdendencyParser )
-// ============================================================================
-
-
-// ---------------------------------------------------------------------------
-// NewL
-// ---------------------------------------------------------------------------
-//
-CDependencyParser* CDependencyParser::NewL()
-    {
-    CDependencyParser* self = CDependencyParser::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// NewLC
-// ---------------------------------------------------------------------------
-//
-CDependencyParser* CDependencyParser::NewLC()
-    {
-    CDependencyParser* self = new( ELeave )CDependencyParser;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    } 
-
-// ---------------------------------------------------------------------------
-// ~CDependencyParser
-// ---------------------------------------------------------------------------
-//
-CDependencyParser::~CDependencyParser()
-    {
-    delete iParser;
-    delete iServiceProvided;
-    if ( iServicesRequired )
-        {
-        iServicesRequired->Reset();
-        }
-    delete iServicesRequired;
-    }
-
-// ---------------------------------------------------------------------------
-// ParseL
-// ---------------------------------------------------------------------------
-//
-void CDependencyParser::ParseL( const TDesC8& aOpaqueData, const TDesC8& aDefaultData )
-    {
-    
-    ASSERT( aOpaqueData.Length() );    
-    ASSERT( aDefaultData.Length() );        
-    
-    // Start out by deleting and zeroing old elements
-    if ( iHasBeenRun )
-        {        
-        ResetL();
-        }        
-           
-    iHasBeenRun = ETrue;
-    
-    // Get Parent UID    
-    iParseStatus = ParseToUid( aDefaultData, iParentUid );       
-    
-    // Do not parse opaque data if UID is invalid because plug-in will not be loaded
-    // when data error is detected.        
-    if ( iParseStatus == KErrNone )    
-        {
-        // Parse buffer in one fell swoop            
-        iParser->ParseBeginL();    
-        iParser->ParseL( aOpaqueData );    
-        iParser->ParseEndL();            
-        }            
-    
-    // Check for error from parser
-    User::LeaveIfError( iParseStatus );
-    
-    // Check for error in format
-    if ( iBadXML )
-        {
-        User::Leave( KErrCorrupt );
-        }
-    }
-   
-// ---------------------------------------------------------------------------
-// GetOrderNumber
-// ---------------------------------------------------------------------------
-//    
-TInt CDependencyParser::GetOrderNumber() const
-    {
-    return iOrderNumber;
-    }
-    
-// ---------------------------------------------------------------------------
-// GetServiceProvided
-// ---------------------------------------------------------------------------
-//    
-HBufC* CDependencyParser::GetServiceProvided()
-    {
-    HBufC* ret = iServiceProvided;
-    iServiceProvided = NULL;
-    return ret;
-    }
- 
-// ---------------------------------------------------------------------------
-// GetServicesRequired
-// ---------------------------------------------------------------------------
-//   
-CDesC16ArrayFlat* CDependencyParser::GetServicesRequired()
-    {
-    // Ownership is passed to caller
-    CDesC16ArrayFlat* ret = iServicesRequired;    
-    iServicesRequired = NULL;
-    return ret;
-    }
-    
-// ---------------------------------------------------------------------------
-// GetServicesRequired
-// ---------------------------------------------------------------------------
-//       
-const TUid& CDependencyParser::GetParentUid() const
-    {
-    return iParentUid;       
-    }
-
-// ---------------------------------------------------------------------------
-// From Xml::MContentHandler
-// OnStartElementL
-// ---------------------------------------------------------------------------
-//
-void CDependencyParser::OnStartElementL(
-    const RTagInfo& aElement,
-    const RAttributeArray& aAttributes,
-    TInt aErrorCode
-    )
-    {
-    const TDesC8& elementName8 = aElement.LocalName().DesC();
-    
-#ifdef _DEBUG   
-    HBufC* elementName16 = Convert8BitTo16BitBufferLC( elementName8 );
-    LOGSTRING3( "OnStartElementL %S %d\n", elementName16, aErrorCode )
-    CleanupStack::PopAndDestroy( elementName16 );    
-#endif
-    
-    /*
-    Parse XML tags in the following sample format:
-    
-    <diagplugininfo>
-       <order number="5"/>
-       <serviceprovided name="Browser"/>
-       <servicesrequired>"
-           <service name="SIM"/>
-           <service name="Graphics"/>
-       </servicesrequired>
-   </diagplugininfo>   
-    */        
-    
-    if ( !iInsideRootNode )
-        {
-        // Look for root node
-        if ( ! elementName8.Compare( KRootXmlTag ) )
-            {
-            iInsideRootNode = ETrue;
-            }
-        else
-            {
-            LOGSTRING( "Error: unexpected element looking for root node.\n" )
-            iBadXML = ETrue;
-            }
-        }
-    else // Look for "body" nodes
-        {
-        // Check order number
-        if ( ! elementName8.Compare( KOrderNumberTag ) )
-            {
-            LOGSTRING("Order number\n")
-            if ( ValidateXmlTag( aAttributes, iFoundOrderNumber ))
-                {
-                if ( ! ParseNumericAttribute( aAttributes[0], iOrderNumber ) )
-                    {
-                    LOGSTRING2( "Order Number: \'%d\'\n", iOrderNumber )
-                    }
-                else
-                    {                                       
-                    iBadXML = ETrue;
-                    }
-                }           
-            }
-        // Check service provided
-        else if ( ! elementName8.Compare( KServiceProvidedTag ) )
-            {
-            LOGSTRING("Service Provided\n")
-            
-            if ( ValidateXmlTag( aAttributes, iFoundServiceProvided ))
-                {
-                if ( ! ParseStringAttributeL( aAttributes[0], iServiceProvided ) )
-                                            
-                    {                    
-                    LOGSTRING2( "Service Provided \"%S\"\n", iServiceProvided )
-                    }
-                else
-                    {                    
-                    iBadXML = ETrue;
-                    }
-                }              
-            }
-
-        // Check services required block
-        else if ( ! elementName8.Compare( KServicesRequiredTag ) )
-            {
-            if ( ! iFoundServicesRequired )
-                {                
-                iParsingServicesRequired = ETrue;
-                iFoundServicesRequired = ETrue;
-                }
-            else
-                {                
-                LOGSTRING( "Error: unexpected services required tag found.\n" )
-                iBadXML = ETrue;
-                }
-            }
-        
-        // Check service tag
-        else if ( ! elementName8.Compare( KServiceTag ) )
-            {
-            LOGSTRING("Service\n")
-            
-            // OK to have multiple service tags so use dummy as "found" flag
-            TBool Dummy = EFalse;
-            
-            if ( ValidateXmlTag( aAttributes, Dummy ))
-                {
-                HBufC* newService = NULL;
-                
-                if ( ! ParseStringAttributeL( aAttributes[0],
-                                                newService ) )
-                    {
-                    LOGSTRING2( "Got service required \"%S\"\n", newService )
-                    CleanupStack::PushL( newService );
-                    iServicesRequired->AppendL( *newService );
-                    CleanupStack::PopAndDestroy( newService );                    
-                    }
-                else
-                    {
-                    iBadXML = ETrue;
-                    }
-                }            
-            }
-        // Unexpected tag            
-        else
-            {
-            LOGSTRING( "Error: unexpected XML tag found.\n" )
-            iBadXML = ETrue;
-            }
-        }        
-    }       
-
-// ---------------------------------------------------------------------------
-// From Xml::MContentHandler
-// OnEndElementL
-// ---------------------------------------------------------------------------
-//    
-void CDependencyParser::OnEndElementL( const Xml::RTagInfo& aElement, TInt aErrorCode )
-    {
-    const TDesC8& elementName8 = aElement.LocalName().DesC();
-    
- #ifdef _DEBUG
-    HBufC* elementName16 = Convert8BitTo16BitBufferLC( elementName8 );
-    LOGSTRING3( "OnEndElementL %S %d\n", elementName16, aErrorCode )
-    CleanupStack::PopAndDestroy( elementName16 );
- #endif
-    
-    // Check for end services required block
-    if ( ! elementName8.Compare( KServicesRequiredTag ) )
-        {
-        iParsingServicesRequired = EFalse;
-        }    
-        
-    // Check for end of root block
-    if ( ! elementName8.Compare( KRootXmlTag ) )        
-        {            
-        iInsideRootNode = EFalse;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From Xml::MContentHandler
-// OnContentL
-// ---------------------------------------------------------------------------
-//     
-void CDependencyParser::OnContentL( const TDesC8& /*aBytes*/, TInt aErrorCode )
-    {    
-    LOGSTRING2( "OnContentL %d\n", aErrorCode )
-    }    
-    
-// ---------------------------------------------------------------------------
-// From Xml::MContentHandler
-// OnError
-// ---------------------------------------------------------------------------
-//    
-void CDependencyParser::OnError( TInt aErrorCode )
-    {
-    LOGSTRING2( "OnError %d\n", aErrorCode )
-        
-    iParseStatus = aErrorCode;
-    }  
-    
-// ============================================================================
-// PRIVATE MEMBER FUNCTIONS( CDepdendencyParser )
-// ============================================================================    
-    
-// ---------------------------------------------------------------------------
-// Convert8BitTo16BitBufferLC
-// ---------------------------------------------------------------------------
-//  
-HBufC* CDependencyParser::Convert8BitTo16BitBufferLC( const TDesC8& Des ) const
-    {
-    HBufC* buf = HBufC::NewLC( Des.Length() );
-    buf->Des().Copy( Des );
-    return buf;
-    }
-
-// ---------------------------------------------------------------------------
-// ParseNumericAttribute
-// ---------------------------------------------------------------------------
-//  
-TBool CDependencyParser::ParseNumericAttribute( const RAttribute& aAttribute, 
-                                                TInt& aNumericAttribute )
-    {
-    TBool corrupt = EFalse;
-    const TDesC8& attrName = aAttribute.Attribute().LocalName().DesC();
-    const TDesC8& attrVal = aAttribute.Value().DesC();
-
-    // Attribute name should be "number"
-    if ( attrName.Compare( KNumberAttrTag ) )
-        {
-        LOGSTRING( "Error: expected number attribute.\n" )
-        corrupt = ETrue;
-        }
-    else
-        {
-        // Parse out order number
-        TLex8 lex( attrVal );
-        TInt rc=lex.Val( aNumericAttribute );
-        if ( rc != KErrNone )
-            {
-            LOGSTRING2( "Error: Could not parse attribute( rc=%d )", rc )
-            corrupt = ETrue;
-            }
-        }
-
-    return corrupt;
-    }
-
-// ---------------------------------------------------------------------------
-// ParseStringAttributeL
-// ---------------------------------------------------------------------------
-//
-TBool CDependencyParser::ParseStringAttributeL( const RAttribute& aAttribute, 
-                                                HBufC*& aStringAttribute )
-    {
-    TBool corrupt = EFalse;
-    const TDesC8& attrName = aAttribute.Attribute().LocalName().DesC();
-    const TDesC8& attrVal = aAttribute.Value().DesC();
-
-    // Attribute name should be "name"
-    if ( attrName.Compare( KNameAttrTag ) )
-        {
-        LOGSTRING( "Error: expected name attribute.\n" )
-        corrupt = ETrue;
-        }
-    else
-        {
-        aStringAttribute = Convert8BitTo16BitBufferLC( attrVal );
-        CleanupStack::Pop( aStringAttribute );
-        }
-
-    return corrupt;
-    }
-
-// ----------------------------------------------------------------------------
-// ParseToUid
-// ----------------------------------------------------------------------------
-//
-TInt CDependencyParser::ParseToUid( const TDesC8& aSource, TUid& aTarget )
-    {
-    // Remove required "0x" from the descriptor
-    _LIT8( KHexPrefix, "0x" );
-
-    TPtrC8 pSource( aSource );
-    const TInt prefixPosition = pSource.Find( KHexPrefix );
-    if ( prefixPosition == KErrNotFound )
-        {
-        return KErrCorrupt;            
-        }
-    else
-        {
-        pSource.Set( aSource.Mid( prefixPosition + KHexPrefix().Length() ) );
-        }            
-
-    // Parse to integer
-    TLex8 lex( pSource );
-    TUint integer = 0;
-
-    // Parse using TRadix::EHex as radix:
-    const TInt err = lex.Val( integer, EHex );
-    aTarget.iUid = integer;
-   
-    return err;
-    }
-    
-
-// ---------------------------------------------------------------------------
-// ValidateXmlTag
-// Validate Xml tag following a few standard rules that apply to
-// all XML tags in this format:
-// 1) Only one attribute is in each XML tag
-// 2) Only one of any given tag is allowed
-// ---------------------------------------------------------------------------
-//
-TBool CDependencyParser::ValidateXmlTag( const Xml::RAttributeArray& aAttributes,
-                                         TBool& aFoundTag )
-    {         
-    if ( aFoundTag )
-        {
-        LOGSTRING( "Error: multiple tags found.  Ignoring subsequent values.\n" )        
-        }
-    else 
-        {
-        aFoundTag = ETrue;
-        
-        if ( aAttributes.Count() == 1 )
-            {
-            return ETrue;
-            }
-        else if ( aAttributes.Count() > 1 )
-            {
-            LOGSTRING( "Error: Extra data after attribute tag.\n" )
-            iBadXML = ETrue;
-            }
-        else
-            {
-            LOGSTRING( "Error: No attributes found.\n" )
-            iBadXML = ETrue;
-            }
-        }                
-        
-    return EFalse;        
-    }    
-
-// ---------------------------------------------------------------------------
-// ResetL
-// ---------------------------------------------------------------------------
-//
-void CDependencyParser::ResetL()
-    {
-    delete iServiceProvided;
-    iServiceProvided = NULL;
-            
-    if ( iServicesRequired )
-        {
-        iServicesRequired->Reset();
-        }
-    delete iServicesRequired;
-    iServicesRequired = new( ELeave )CDesC16ArrayFlat( 1 );
-            
-    iOrderNumber = 0;
-    iParentUid = TUid::Uid(0);
-    
-    // Reset all flags
-    iParsingServicesRequired = EFalse;
-    iBadXML = EFalse;
-    iInsideRootNode = EFalse;
-    iFoundOrderNumber = EFalse;
-    iFoundServiceProvided = EFalse;
-    iFoundServicesRequired = EFalse;
-    iParseStatus = 0;
-    }
-        
-// ============================================================================
-// PRIVATE CONSTRUCTORS ( CDepdendencyParser )
-// ============================================================================           
-        
-// ---------------------------------------------------------------------------
-// CDependencyParser::CDependencyParser
-// ---------------------------------------------------------------------------
-//
-CDependencyParser::CDependencyParser()
-    {    //lint !e1927 variables not showing up in initializer list
-         // initialized in CBase constructor
-    }    //lint !e1744 member variables possibly not initialized
-    
-// ---------------------------------------------------------------------------
-// ConstructL
-// ---------------------------------------------------------------------------
-//
-void CDependencyParser::ConstructL()
-    {        
-    iParser = CParser::NewL( KParserMIMEType, *this );            
-    iServicesRequired = new( ELeave )CDesC16ArrayFlat( 1 );
-    }       
-    
-
-// ============================================================================
-// Unused pure virtual functions from Xml::MContentHandler
-// ============================================================================
-
-void CDependencyParser::OnStartDocumentL( const RDocumentParameters& /* aDocParam */, TInt /* aErrorCode */ )
-    {
-    }
-
-void CDependencyParser::OnEndDocumentL( TInt /* aErrorCode */ )
-    {
-    }
-
-void CDependencyParser::OnStartPrefixMappingL( const RString& /* aPrefix */, const RString& /* aUri */, TInt /* aErrorCode */ )
-    {
-    }
-
-void CDependencyParser::OnEndPrefixMappingL( const RString& /* aPrefix */, TInt /* aErrorCode */ )
-    {
-    }
-
-void CDependencyParser::OnIgnorableWhiteSpaceL( const TDesC8& /* aBytes */, TInt /* aErrorCode */ )
-    {
-    }
-
-void CDependencyParser::OnSkippedEntityL( const RString& /* aName */, TInt /* aErrorCode */ )
-    {
-    }
-
-void CDependencyParser::OnProcessingInstructionL( const TDesC8& /* aTarget */, const TDesC8& /* aData */, TInt /* aErrorCode */ )
-    {
-    }
-
-void CDependencyParser::OnExtensionL( const RString& /* aData */, TInt /* aToken */, TInt /* aErrorCode */ )
-    {
-    }
-
-TAny* CDependencyParser::GetExtendedInterface( const TInt32 /* aUid */ )
-    {
-    return 0;
-    }
-    
-    } // namespace DiagPluginPool
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/src/diagpluginpool.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,163 +0,0 @@
-/*
-* 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 "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:  Class definition of CDiagPluginPool
-*
-*/
-
-
-// CLASS DECLARATION
-#include "diagpluginpoolimpl.h" // CDiagPluginPoolImpl
-#include <DiagFrameworkDebug.h>
-// SYSTEM INCLUDE FILES
-#include <DiagPluginPool.h>
-#include <DiagPlugin.h>             // MDiagPlugin
-
-// USER INCLUDE FILES
-
-
-// ===========================================================================
-// MEMBER FUNCTIONS
-// ===========================================================================
-
-
-// ---------------------------------------------------------------------------
-// CDiagPluginPool::NewL()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDiagPluginPool* CDiagPluginPool::NewL( 
-            MDiagPluginPoolObserver& aObserver )
-    {
-    LOGSTRING("CDiagPluginPool* CDiagPluginPool::NewL");
-    CDiagPluginPool* self = CDiagPluginPool::NewLC( aObserver );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginPool::NewLC()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDiagPluginPool* CDiagPluginPool::NewLC( 
-            MDiagPluginPoolObserver& aObserver )
-    {
-    LOGSTRING("CDiagPluginPool* CDiagPluginPool::NewLC");
-    CDiagPluginPool* self = new( ELeave )CDiagPluginPool();
-    CleanupStack::PushL( self );
-    self->ConstructL( aObserver );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginPool::CDiagPluginPool
-// ---------------------------------------------------------------------------
-//
-CDiagPluginPool::CDiagPluginPool()
-    {
-    }    
-
-// ---------------------------------------------------------------------------
-// CDiagPluginPool::LoadAsyncL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagPluginPool::LoadAsyncL( TUid /*aUid*/ )
-    {    
-    iPluginPoolImpl->LoadAsyncL();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDiagPluginPool::CreatePluginL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C MDiagPlugin* CDiagPluginPool::CreatePluginL( TUid aUid )
-    {
-    LOGSTRING("CDiagPluginPool::CreatePluginL");
-    return CDiagPluginPoolImpl::CreatePluginL( aUid );
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginPool::CancelLoadPluginsL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagPluginPool::CancelLoadPluginsL()
-    {
-    iPluginPoolImpl->Cancel();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDiagPluginPool::FindPlugin
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CDiagPluginPool::FindPlugin( TUid aUid, 
-            MDiagPlugin*& aPlugin ) const
-    {    
-    LOGSTRING("CDiagPluginPool::FindPlugin");
-    return iPluginPoolImpl->FindPlugin( aUid, aPlugin );
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginPool::FindPluginL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C MDiagPlugin& CDiagPluginPool::FindPluginL( TUid aUid ) const
-    {    
-    MDiagPlugin* plugin = NULL;
-    User::LeaveIfError( FindPlugin( aUid, plugin ) );
-    return *plugin;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginPool::FindPlugin
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CDiagPluginPool::FindPlugin( const TDesC& aServiceName, 
-            MDiagPlugin*& aPlugin ) const
-    {
-    return iPluginPoolImpl->FindPlugin( aServiceName, aPlugin );
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginPool::FindPluginL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C MDiagPlugin& CDiagPluginPool::FindPluginL( const TDesC& aServiceName ) const
-    {    
-    MDiagPlugin* plugin = NULL;
-    User::LeaveIfError( FindPlugin( aServiceName, plugin ) );
-    return *plugin;
-    }
-    
-// ---------------------------------------------------------------------------
-// CDiagPluginPool::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CDiagPluginPool::ConstructL( MDiagPluginPoolObserver& aObserver )
-    {
-    // Construct implementation class
-    iPluginPoolImpl = CDiagPluginPoolImpl::NewL( aObserver );
-    }    
-
-// ---------------------------------------------------------------------------
-// CDiagPluginPool::~CDiagPluginPool
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDiagPluginPool::~CDiagPluginPool()
-    {
-    LOGSTRING("CDiagPluginPool::~CDiagPluginPool");
-    delete iPluginPoolImpl;
-    }    
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/src/diagpluginpoolimpl.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,623 +0,0 @@
-/*
-* 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 "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 Diagnostics Plug-in Pool
-*
-*/
-
-
-// CLASS DECLARATION
-#include "diagpluginpoolimpl.h"
-
-// SYSTEM INCLUDE FILES
-#include <ecom.h>
-#include <DiagPlugin.h>
-#include <DiagPluginPoolObserver.h>
-#include <DiagPluginConstructionParam.h>
-#include <DiagPluginPoolObserver.h>
-#include <DiagFrameworkDebug.h>
-#include <mmf/common/mmfcontrollerpluginresolver.h> // CleanupResetAndDestroyPushL
-
-// USER INCLUDE FILES
-#include "diagpluginloaderdependencyparser.h"
-#include "diagrootsuite.h"
-
-using namespace DiagPluginPool;
-using namespace DiagFwInternal;
-
-_LIT( KPanicCode, "PluginPool" );
-
-// ===========================================================================
-// PUBLIC MEMBER FUNCTIONS
-// ===========================================================================    
-
-// ---------------------------------------------------------------------------
-// NewL
-// ---------------------------------------------------------------------------
-//
-CDiagPluginPoolImpl* CDiagPluginPoolImpl::NewL( MDiagPluginPoolObserver& aObserver )
-    {
-    LOGSTRING("");
-    CDiagPluginPoolImpl* self = CDiagPluginPoolImpl::NewLC( aObserver );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// NewLC
-// ---------------------------------------------------------------------------
-//
-CDiagPluginPoolImpl* CDiagPluginPoolImpl::NewLC( MDiagPluginPoolObserver& aObserver )
-    {
-    CDiagPluginPoolImpl* self = new( ELeave )CDiagPluginPoolImpl( aObserver );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }        
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CDiagPluginPoolImpl::~CDiagPluginPoolImpl()
-    {
-    LOGSTRING("");
-    Cancel();
-    iPlugins.ResetAndDestroy();
-    iPlugins.Close();
-    REComSession::FinalClose();
-    }
-    
-// ---------------------------------------------------------------------------
-// LoadAsyncL
-// ---------------------------------------------------------------------------
-//
-void CDiagPluginPoolImpl::LoadAsyncL()
-    {
-    LOGSTRING( "CDiagPluginPoolImpl::LoadAsyncL" )
-
-    ASSERT ( !iPluginsLoaded );
-    ASSERT ( !iPluginsLoading );
-
-    iPluginsLoading = ETrue;       
-       
-    iConstructionParamArray = GeneratePluginListL();
-    
-    iTotalPluginsFound = iConstructionParamArray->Count();
-
-    // No plug-ins found
-    if ( ! iTotalPluginsFound )
-        {
-        DestroyConstructionParams();
-        User::Leave( KErrNotFound );
-        }                
-            
-    // Create root suite to define the hierarchy
-    MDiagSuitePlugin* rootSuite = CDiagRootSuite::NewL();    
-    CleanupStack::PushL( rootSuite );
-    iPlugins.AppendL( rootSuite ); // ownership transfered        
-    CleanupStack::Pop( rootSuite );
-
-    SetNextIteration();
-    }
-    
-// ---------------------------------------------------------------------------
-// CreatePluginL
-// ---------------------------------------------------------------------------
-//
-MDiagPlugin* CDiagPluginPoolImpl::CreatePluginL( const TUid aUid )
-    {
-    TInt errorCode = KErrNone;
-
-    LOGSTRING2( "CDiagPluginPoolImpl::CreatePluginL %d\n", aUid.iUid )
-
-    // Create construction parameters list
-    RConstructionParamArray* constructionParamsArray = GeneratePluginListL();
-    CleanupStack::PushL( constructionParamsArray );
-    CleanupResetAndDestroyPushL( *constructionParamsArray );
-    
-    MDiagPlugin* plugin = NULL;
-    
-    // Find plug-in with matching UID        
-    for ( TInt i=0; i<constructionParamsArray->Count(); i++ )
-        {
-        if ( ( *constructionParamsArray )[i]->Uid() == aUid )
-            {            
-            plugin = CreatePluginFromConstructionParamsL( ( *constructionParamsArray )[i] );
-            
-            // Construction params owned by plug-in so remove from list
-            constructionParamsArray->Remove(i);
-            break;  //lint !e960 ok to break from for loop     
-            }
-        }
-        
-    if ( ! plugin )
-        {                
-        errorCode = KErrNotFound;                
-        }
-       
-    CleanupStack::PopAndDestroy();        // *implInfoArray
-    CleanupStack::PopAndDestroy( constructionParamsArray );
-    
-    User::LeaveIfError( errorCode );
-        
-    return plugin;    
-    }
-
-// ---------------------------------------------------------------------------
-// FindPlugin
-// ---------------------------------------------------------------------------
-//
-TInt CDiagPluginPoolImpl::FindPlugin( TUid aUid, MDiagPlugin*& aPlugin ) const
-    {
-    LOGSTRING2( "CDiagPluginPoolImpl::FindPlugin 0x%x\n", aUid.iUid )
-
-    aPlugin = NULL;
-
-    // Find plug-in with matching UID in pool
-    for ( TInt i=0; i<iPlugins.Count(); i++ )
-        {           
-        if ( iPlugins[i]->Uid() == aUid )           
-            {
-            aPlugin = iPlugins[i];            
-            return KErrNone;
-            }
-        }
-        
-    return KErrNotFound;        
-    }
-
-// ---------------------------------------------------------------------------
-// FindPlugin
-// ---------------------------------------------------------------------------
-//
-TInt CDiagPluginPoolImpl::FindPlugin( const TDesC& aServiceName,
-                                        MDiagPlugin *& aPlugin ) const
-    {    
-    LOGSTRING2( "CDiagPluginPoolImpl::FindPlugin \"%S\"\n", &aServiceName )
-
-    aPlugin = NULL;
-    
-    // Find plug-in with matching service name in pool
-    for ( TInt i=0; i<iPlugins.Count(); i++ )
-        {           
-        if ( iPlugins[i]->ServiceLogicalName() == aServiceName )           
-            {
-            aPlugin = iPlugins[i];            
-            return KErrNone;
-            }
-        }
-        
-    return KErrNotFound;
-    }
-
-
-// ===========================================================================
-// PRIVATE CONSTRUCTORS
-// ===========================================================================
-
-// ---------------------------------------------------------------------------
-// CDiagPluginPool
-// ---------------------------------------------------------------------------
-//
-CDiagPluginPoolImpl::CDiagPluginPoolImpl( MDiagPluginPoolObserver& aObserver )
-        // Priority is idle to allow plug-ins to load in background regardless of
-        // what UI priority is set to.
-    :   CActive( EPriorityIdle ),
-        iObserver( aObserver ),
-        iErrorCode( KErrNone )
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// ConstructL
-// ---------------------------------------------------------------------------
-//
-void CDiagPluginPoolImpl::ConstructL()
-    {
-    CActiveScheduler::Add( this );
-    }        
-    
-
-// ===========================================================================
-// PRIVATE STATIC FUNCTIONS
-// ===========================================================================
-
-// ---------------------------------------------------------------------------
-// ObtainImplementationInfoL
-// ---------------------------------------------------------------------------
-//
-CDiagPluginPoolImpl::RConstructionParamArray* CDiagPluginPoolImpl::GeneratePluginListL()
-    {     
-
-    // Get list of plug-in implementation implementationInfo
-    RImplInfoPtrArray* implInfoArray = new( ELeave )RImplInfoPtrArray;
-    
-    REComSession::ListImplementationsL( KDiagPluginInterfaceUid, *implInfoArray );
-        
-    // Leave if no matching plug-ins found        
-    if ( ! implInfoArray->Count() )
-        {
-        delete implInfoArray;
-        User::Leave( KErrNotFound );
-        }
-        
-    CleanupStack::PushL( implInfoArray );
-    CleanupResetAndDestroyPushL( *implInfoArray );         
-        
-    RConstructionParamArray* constructionParamsArray = new(ELeave)RConstructionParamArray;
-    CleanupStack::PushL( constructionParamsArray );
-    CleanupResetAndDestroyPushL( *constructionParamsArray );
-    CDependencyParser* parser = CDependencyParser::NewLC();
-    
-    // Iterate through implementation information array and create construction data for each
-    // plug-in.  Insert into array by order number.
-    for ( TInt pluginIndex=0; pluginIndex < implInfoArray->Count(); pluginIndex++ )
-        {
-        CImplementationInformation* pluginImplementationInfo = ( *implInfoArray )[pluginIndex];
-
-        if ( !pluginImplementationInfo->RomBased() )
-            {
-#ifdef _DEBUG
-            LOGSTRING2( "CDiagPluginPoolImpl::GeneratePluginListL() "
-                L" Loading non-rom plug-in 0x%08x", 
-                pluginImplementationInfo->ImplementationUid() );
-#else   // #ifdef _DEBUG
-            // In non _DEBUG build, do not load plug-in that are not in ROM
-            // for security reasons. Continue to next plug-in.
-            //continue;
-#endif  // #else _DEBUG
-            }
-
-        // Obtain depenency and other information from opaque data field
-        parser->ParseL( pluginImplementationInfo->OpaqueData(), 
-                        pluginImplementationInfo->DataType() );
-        
-        CDiagPluginConstructionParam* constructionParams = 
-            GenerateConstructionParamsLC( pluginImplementationInfo );
-                
-        TInt orderNumber = constructionParams->Order();        
-        
-        // Find correct index to insert plug-in
-        TInt insertIndex;
-        for ( insertIndex=0; insertIndex<constructionParamsArray->Count(); insertIndex++ )
-            {
-            if ( orderNumber < (*constructionParamsArray)[insertIndex]->Order() )
-                {                
-                break;    //lint !e960 break OK here.
-                }
-            } 
-                        
-        // Insert in order by order number
-        constructionParamsArray->InsertL(constructionParams,insertIndex);            
-        CleanupStack::Pop(constructionParams);
-        }
-                    
-    // Clean up                    
-    CleanupStack::PopAndDestroy(parser);              
-    CleanupStack::Pop(); // constructionParamsArray
-    CleanupStack::Pop(constructionParamsArray);            
-    CleanupStack::PopAndDestroy(); // implInfoArray
-    CleanupStack::PopAndDestroy(implInfoArray);                  
-        
-    return constructionParamsArray;
-    }
-    
-// ---------------------------------------------------------------------------
-// GenerateConstructionParamsL
-// ---------------------------------------------------------------------------
-//     
-CDiagPluginConstructionParam* CDiagPluginPoolImpl::GenerateConstructionParamsLC(
-                                    const CImplementationInformation* aInfo )
-    {
-    CDependencyParser* parser = CDependencyParser::NewLC();
-    
-    // Obtain depenency and other information from opaque data field
-    parser->ParseL( aInfo->OpaqueData(), aInfo->DataType() );
-    
-    CDiagPluginConstructionParam* params = CDiagPluginConstructionParam::NewL
-                                    (
-                                    parser->GetServiceProvided(),
-                                    parser->GetServicesRequired(),
-                                    parser->GetOrderNumber(),
-                                    aInfo->ImplementationUid(),
-                                    parser->GetParentUid()
-                                    );
-        
-    CleanupStack::PopAndDestroy( parser );
-    CleanupStack::PushL( params );
-    
-    return params;
-    }
-
-// ---------------------------------------------------------------------------
-// CreatePluginFromImplementationInfoL
-// ---------------------------------------------------------------------------
-//    
-MDiagPlugin* CDiagPluginPoolImpl::CreatePluginFromConstructionParamsL(
-                                    const CDiagPluginConstructionParam* aParams )
-    {    
-    MDiagPlugin* newPlugin = NULL;
-    TUid destructorIdKey;
-
-    // Call ECOM to load next plug-in
-    TAny* object = REComSession::CreateImplementationL( aParams->Uid(), 
-                                                        destructorIdKey, 
-                                                        ( TAny* )aParams );
-    if (!object)
-    User::Leave(KErrNotFound);
-    
-    newPlugin = static_cast<MDiagPlugin*>( object );
-    newPlugin->SetDtorIdKey( destructorIdKey );
-    return newPlugin;
-    }           
-    
-// ===========================================================================
-// PRIVATE MEMBER FUNCTIONS
-// ===========================================================================
-
-// ---------------------------------------------------------------------------
-// AddNewPluginToSuiteL
-// ---------------------------------------------------------------------------
-//
-void CDiagPluginPoolImpl::AddNewPluginToSuiteL(MDiagPlugin* aPlugin)
-    {
-    // Search the plug-in list for a matching suite plug-in and add this newly
-    // loaded plug-in to that corresponding suite.  If a suite is not found,
-    // this plug-in will have no parent unless the parent suite is loaded
-    // at some later point.
-    for ( TInt pluginIndex = 0; pluginIndex < iPlugins.Count(); pluginIndex++ )
-        {
-        
-        // Find matching parent suite
-        if ( aPlugin->ParentUid() == iPlugins[pluginIndex]->Uid() )
-            {               
-            if ( iPlugins[pluginIndex]->Type() == MDiagPlugin::ETypeSuitePlugin )
-                {
-                // If parent is a suite, add child         
-                MDiagSuitePlugin* parent = static_cast<MDiagSuitePlugin*>( iPlugins[pluginIndex] );
-                
-                parent->AddChildL( aPlugin );
-                return;
-                }
-            else
-                {
-                // if parent is not a suite, leave
-                User::Leave( KErrCorrupt );
-                }
-            }            
-        }   
-    }
-    
-// ---------------------------------------------------------------------------
-// AddPluginsToNewSuiteL
-// ---------------------------------------------------------------------------
-//    
-void CDiagPluginPoolImpl::AddPluginsToNewSuiteL(MDiagSuitePlugin* aPluginSuite)
-    {        
-    // Search the plug-in list for plug-ins with matching parent suite.
-    for ( TInt pluginIndex = 0; pluginIndex < iPlugins.Count(); pluginIndex++ )
-        {        
-        // Add any "orphan" plug-ins
-        if ( aPluginSuite->Uid() == iPlugins[pluginIndex]->ParentUid() )
-            {                                      
-            aPluginSuite->AddChildL( iPlugins[pluginIndex] );                      
-            }            
-        }   
-    }    
-
-// ---------------------------------------------------------------------------
-// SetNextIteration
-// ---------------------------------------------------------------------------
-//
-void CDiagPluginPoolImpl::SetNextIteration()
-    {
-    TRequestStatus* status = &iStatus;
-    
-    // Complete own request
-    User::RequestComplete( status, KErrNone );    
-    SetActive();
-    }
-    
-// ---------------------------------------------------------------------------
-// LoadNextPlugin
-// ---------------------------------------------------------------------------
-//    
-void CDiagPluginPoolImpl::LoadNextPluginL()
-    {
-    // Get parameters to generate plug-in
-    CDiagPluginConstructionParam* constructionParams = ( *iConstructionParamArray )[ 0 ];
-    iCurrentPluginIndex++;
-    MDiagPlugin* newPlugin = NULL;
-    
-    // Uid to report to application, defaults to NULL.
-    TUid reportedUid = TUid::Null();
-
-    // Create plug-in from ECOM structure
-    // Any parsing or ECOM error will be caught here
-    TRAPD( error, newPlugin = CreatePluginFromConstructionParamsL( constructionParams ) )
-        
-    // Construction params are now owned by plug-in so remove from array
-    iConstructionParamArray->Remove( 0 );        
-
-    LOGSTRING4( "CDiagPluginPoolImpl::LoadNextPluginL Plugin( %d/%d ): Error=%d\n",
-                iCurrentPluginIndex, iTotalPluginsFound, error )
-                                                          
-    // Check for error in plug-in creation                
-    if ( error != KErrNone )
-        {        
-        if ( iErrorCode == KErrNone )
-            {
-            // Sets error code to whatever was the first error encountered        
-            iErrorCode = error;
-            }                     
-        }
-    else
-        {
-        
-        CleanupDeletePushL( newPlugin );
-        
-        // Add to plug-in pool
-        reportedUid = AddPluginToPoolLD( newPlugin );
-        newPlugin = NULL;
-        }
-
-    // Load is not complete
-    if ( iConstructionParamArray->Count() )
-        {        
-        
-        // Set next plug-in to load in next active scheduler cycle
-        SetNextIteration();
-        
-        // Report progress to client
-        iObserver.LoadProgressL( iCurrentPluginIndex, iTotalPluginsFound, reportedUid );
-        }
-        
-    // Load is complete        
-    else
-        {
-        // Report load completed to client
-        iPluginsLoading = EFalse;
-        iPluginsLoaded = ETrue;
-
-        iObserver.LoadCompletedL( iErrorCode );
-
-        // Don't need implementation implementationInfo list anymore
-        DestroyConstructionParams();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// DestroyConstructionParams
-// ---------------------------------------------------------------------------
-//    
-TUid CDiagPluginPoolImpl::AddPluginToPoolLD( MDiagPlugin* aPlugin )
-    {
-    
-    TUid reportedUid = TUid::Null();
-    
-    // Add plug-in to list
-    if ( aPlugin->IsSupported() )
-        {
-        iPlugins.AppendL( aPlugin );
-        
-        // Indicate to client that a plug-in was loaded with this UID
-        reportedUid = aPlugin->Uid();
-        
-        // Update suite tree.  If this is a plug-in, try to find parent
-        // suite and add.  If this is a suite, try to find child plug-ins
-        // and add them.            
-        AddNewPluginToSuiteL(aPlugin);
-        
-        if ( aPlugin->Type() == MDiagPlugin::ETypeSuitePlugin )
-            {
-            MDiagSuitePlugin* pluginSuite = 
-                    static_cast<MDiagSuitePlugin*>(aPlugin);
-            AddPluginsToNewSuiteL( pluginSuite );
-            }            
-        
-        CleanupStack::Pop();    // aPlugin        
-        }
-    else
-        {
-        LOGSTRING2( " Plugin UID 0x%x NOT SUPPORTED. Skipped", aPlugin->Uid().iUid )
-        CleanupStack::PopAndDestroy(); // aPlugin        
-        }
-        
-    return reportedUid;        
-    }
-    
-// ---------------------------------------------------------------------------
-// DestroyConstructionParams
-// ---------------------------------------------------------------------------
-// 
-void CDiagPluginPoolImpl::DestroyConstructionParams( )
-    {
-    if ( iConstructionParamArray )
-        {
-        iConstructionParamArray->ResetAndDestroy();
-        delete iConstructionParamArray;
-        iConstructionParamArray = NULL;
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// ResetAndNotify
-// ---------------------------------------------------------------------------
-//
-TInt CDiagPluginPoolImpl::ResetAndNotify(TInt aErrorCode)
-    {
-    // Reset load data
-    iCurrentPluginIndex = 0;
-    iPlugins.ResetAndDestroy();
-
-    iPluginsLoading = EFalse;
-
-    // Reset and delete implementation implementationInfo array
-    DestroyConstructionParams();
-
-    TRAPD( error, iObserver.LoadCompletedL( aErrorCode ) )
-    
-    return error;
-    }
-
-    
-
-// ===========================================================================
-// From CActive
-// ===========================================================================
-
-// ---------------------------------------------------------------------------
-// RunL
-// ---------------------------------------------------------------------------
-//
-void CDiagPluginPoolImpl::RunL()
-    {
-    // Load a plug-in in active scheduler cycle
-    LoadNextPluginL();
-    }
-
-// ---------------------------------------------------------------------------
-// DoCancel
-// ---------------------------------------------------------------------------
-//
-void CDiagPluginPoolImpl::DoCancel()
-    {   
-    LOGSTRING( "CDiagPluginPoolImpl::DoCancel" )
-    
-    TInt error = ResetAndNotify(KErrCancel);
-
-    // Reset load data
-    if ( error )
-        {
-        User::Panic( KPanicCode(), error );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// RunError
-// ---------------------------------------------------------------------------
-//
-TInt CDiagPluginPoolImpl::RunError( TInt aError )
-    {
-    // An unhandled exception occurs while running.  Destroy all currently
-    // loaded plug-ins.
-
-    LOGSTRING2( "CDiagPluginPoolImpl::RunError %d", aError )
-
-    return ResetAndNotify( aError );
-    }
-    
-// End of File
-
--- a/devicediagnosticsfw/diagframework/src/diagresultsdbitembuilder.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,285 +0,0 @@
-/*
-* 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 "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:  Class definition of CDiagResultsDbItemBuilder
-*
-*/
-
-
-// CLASS DECLARATION
-#include <DiagResultsDbItemBuilder.h>
-
-// SYSTEM INCLUDE FILES
-#include <DiagResultDetail.h>               // MDiagResultDetail
-
-#ifndef __DIAGFW_DISABLE_DRM_API
-#include <drmserviceapi.h>                  // DRM::CDrmServiceApi
-#endif // __DIAGFW_DISABLE_DRM_API
-
-// USER INCLUDE FILES
-#include "diagframework.pan"                // Panic Codes
-
-
-// CONSTANTS
-
-// ======== MEMBER FUNCTIONS ========
-// ---------------------------------------------------------------------------
-// CDiagResultsDbItemBuilder::NewL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDiagResultsDbItemBuilder* CDiagResultsDbItemBuilder::NewL(
-        TUid aTestUid,
-        TBool aDependencyExecution )
-    {
-    CDiagResultsDbItemBuilder* self = CDiagResultsDbItemBuilder::NewLC(
-        aTestUid,
-        aDependencyExecution );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultsDbItemBuilder::NewLC
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDiagResultsDbItemBuilder* CDiagResultsDbItemBuilder::NewLC(
-        TUid aTestUid,
-        TBool aDependencyExecution )
-    {
-    CDiagResultsDbItemBuilder* self = new( ELeave )CDiagResultsDbItemBuilder(
-        aTestUid,
-        aDependencyExecution );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultsDbItemBuilder::CDiagResultsDbItemBuilder
-// ---------------------------------------------------------------------------
-//
-CDiagResultsDbItemBuilder::CDiagResultsDbItemBuilder(
-        TUid aTestUid,
-        TBool aDependencyExecution )
-    :   iTestUid( aTestUid ),
-        iDependencyExecution( aDependencyExecution ),
-        iResult( CDiagResultsDatabaseItem::ENotPerformed )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultsDbItemBuilder::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CDiagResultsDbItemBuilder::ConstructL()
-    {
-#ifndef __DIAGFW_DISABLE_DRM_API
-    iDrmApi = DRM::CDrmServiceApi::NewL();
-#endif // __DIAGFW_DISABLE_DRM_API
-
-    SetTimeStarted( GetCurrentTime() );
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultsDbItemBuilder::~CDiagResultsDbItemBuilder
-// ---------------------------------------------------------------------------
-//
-CDiagResultsDbItemBuilder::~CDiagResultsDbItemBuilder()
-    {
-#ifndef __DIAGFW_DISABLE_DRM_API
-    delete iDrmApi;
-    iDrmApi = NULL;
-#endif // __DIAGFW_DISABLE_DRM_API
-    delete iResultDetail;
-    iResultDetail = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultsDbItemBuilder::SetTestUid
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagResultsDbItemBuilder::SetTestUid( TUid aUid )
-    {
-    iTestUid = aUid;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultsDbItemBuilder::TestUid
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TUid CDiagResultsDbItemBuilder::TestUid() const
-    {
-    return iTestUid;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultsDbItemBuilder::GetCurrentTime
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TTime CDiagResultsDbItemBuilder::GetCurrentTime() const
-    {
-    TTime currTime = ( TInt64 )0;
-#ifndef __DIAGFW_DISABLE_DRM_API
-    TInt timeZone = 0;
-    DRMClock::ESecurityLevel secLevel = DRMClock::KInsecure;
-    if ( iDrmApi->GetSecureTime( currTime, timeZone, secLevel ) != KErrNone )
-        {
-        __ASSERT_DEBUG( 0, Panic( EDiagFrameworkInternal ) );
-        // if we are unable to get DRM clock, use home clock.
-        currTime.UniversalTime();
-        }
-#endif // __DIAGFW_DISABLE_DRM_API
-		 currTime.UniversalTime(); // Added for Time Updation in HardwareSuiteView
-    return currTime;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultsDbItemBuilder::SetWasDependency
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagResultsDbItemBuilder::SetWasDependency( TBool aWasDependency )
-    {
-    iDependencyExecution = aWasDependency;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultsDbItemBuilder::WasDependency
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CDiagResultsDbItemBuilder::WasDependency() const
-    {
-    return iDependencyExecution;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultsDbItemBuilder::SetTestCompleted
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagResultsDbItemBuilder::SetTestCompleted( 
-        CDiagResultsDatabaseItem::TResult aResult )
-    {
-    iResult = aResult;
-    SetTimeCompleted( GetCurrentTime() );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDiagResultsDbItemBuilder::TestResult
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDiagResultsDatabaseItem::TResult CDiagResultsDbItemBuilder::TestResult() const
-    {
-    return iResult;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultsDbItemBuilder::SetTimeStarted
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagResultsDbItemBuilder::SetTimeStarted( TTime aTime )
-    {
-    iStartTime = aTime;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultsDbItemBuilder::TimeStarted
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TTime CDiagResultsDbItemBuilder::TimeStarted() const
-    {
-    return iStartTime;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultsDbItemBuilder::SetTimeCompleted
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagResultsDbItemBuilder::SetTimeCompleted( TTime aTime )
-    {
-    iEndTime = aTime;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultsDbItemBuilder::TimeCompleted
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TTime CDiagResultsDbItemBuilder::TimeCompleted() const
-    {
-    return iStartTime;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultsDbItemBuilder::SetResultDetail
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagResultsDbItemBuilder::SetResultDetail( 
-        MDiagResultDetail* aResultDetail )
-    {
-    delete iResultDetail;
-    iResultDetail = aResultDetail;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultsDbItemBuilder::ResultDetail
-// ---------------------------------------------------------------------------
-//
-EXPORT_C MDiagResultDetail& CDiagResultsDbItemBuilder::ResultDetail() const
-    {
-    __ASSERT_ALWAYS( iResultDetail, Panic( EDiagFrameworkInvalidState ) );
-    return *iResultDetail;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultsDbItemBuilder::ToResultsDatabaseItemL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDiagResultsDatabaseItem* CDiagResultsDbItemBuilder::ToResultsDatabaseItemL() const
-    {
-    CBufFlat* detailsData = NULL;
-
-    if ( iResultDetail )
-        {
-        detailsData = iResultDetail->ExternalizeToBufferL();
-        }
-
-    return CDiagResultsDatabaseItem::NewL( iTestUid,
-                                           iDependencyExecution,
-                                           iResult,
-                                           iStartTime,
-                                           iEndTime,
-                                           detailsData ); // ownership tranferred.
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultsDbItemBuilder::CreateSimpleDbItemL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDiagResultsDatabaseItem* CDiagResultsDbItemBuilder::CreateSimpleDbItemL(
-        TUid aTestUid,
-        TBool aAsDependency,
-        CDiagResultsDatabaseItem::TResult aResultType )
-    {
-    CDiagResultsDbItemBuilder* resultBuilder = 
-        CDiagResultsDbItemBuilder::NewL( aTestUid,
-                                         aAsDependency );
-    resultBuilder->SetTestCompleted( aResultType );
-
-    CleanupStack::PushL( resultBuilder );
-    CDiagResultsDatabaseItem* dbItem = resultBuilder->ToResultsDatabaseItemL();
-    CleanupStack::PopAndDestroy( resultBuilder );
-
-    return dbItem;
-    }
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/src/diagrootsuite.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,374 +0,0 @@
-/*
-* 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 "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:  Class definition of CDiagRootSuite
-*
-*/
-
-
-// CLASS DECLARATION
-#include "diagrootsuite.h"
-
-// SYSTEM INCLUDE FILES
-#include <DiagSuiteExecParam.h>     // TDiagSuiteExecParam
-#include <DiagSuiteObserver.h>      // MDiagSuiteObserver
-
-// USER INCLUDE FILES
-#include "diagframework.pan"        // panic codes.
-#include "diagrootsuite.h"          // CDiagRootSuite
-
-using namespace DiagFwInternal;
-
-// ======== LOCAL FUNCTIONS ========
-/**
-* Compares two plug-ins by order.  Used for RArray  InsertInOrderAllowRepeats
-* @param aFirst - first plug-in
-* @param aSecond - second plug-in
-* @return   positive if aFirst > aSecond
-*           0 if same.
-*           negative if aFirst < aSecond
-*/
-static TInt ComparePluginByOrder( const MDiagPlugin& aFirst,
-                                   const MDiagPlugin& aSecond )
-    {
-    return aFirst.Order() - aSecond.Order();
-    }
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CDiagRootSuite::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CDiagRootSuite::ConstructL()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDiagRootSuite::NewL()
-// ---------------------------------------------------------------------------
-//
-CDiagRootSuite* CDiagRootSuite::NewL()
-    {
-    CDiagRootSuite* self = CDiagRootSuite::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDiagRootSuite::NewLC()
-// ---------------------------------------------------------------------------
-//
-CDiagRootSuite* CDiagRootSuite::NewLC()
-    {
-    CDiagRootSuite* self = new( ELeave )CDiagRootSuite();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagRootSuite::CDiagRootSuite
-// ---------------------------------------------------------------------------
-//
-CDiagRootSuite::CDiagRootSuite()
-    :   iChildren()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagRootSuite::~CDiagRootSuite
-// ---------------------------------------------------------------------------
-//
-CDiagRootSuite::~CDiagRootSuite()
-    {
-    iChildren.Close();
-    }
-
-
-// ---------------------------------------------------------------------------
-// from MDiagPlugin
-// CDiagRootSuite::GetPluginNameL
-// ---------------------------------------------------------------------------
-//
-HBufC* CDiagRootSuite::GetPluginNameL( TNameLayoutType /* aLayoutType */) const
-    {
-    _LIT( KRootSuitePluginName, "*Root Suite" );
-    return KRootSuitePluginName().AllocL();
-    }
-
-// ---------------------------------------------------------------------------
-// from MDiagPlugin
-// CDiagRootSuite::ServiceLogicalName
-// ---------------------------------------------------------------------------
-//
-const TDesC& CDiagRootSuite::ServiceLogicalName() const
-    {
-    _LIT( KRootSuiteServiceName, "" );
-    return KRootSuiteServiceName();
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagPlugin
-// CDiagRootSuite::GetLogicalDependenciesL
-// ---------------------------------------------------------------------------
-//
-void CDiagRootSuite::GetLogicalDependenciesL( CPtrCArray& /* aArray */ ) const
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// From MDiagPlugin
-// CDiagRootSuite::Type
-// ---------------------------------------------------------------------------
-//
-MDiagPlugin::TPluginType CDiagRootSuite::Type() const
-    {
-    return ETypeSuitePlugin;
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagPlugin
-// CDiagRootSuite::CreateIconL
-// ---------------------------------------------------------------------------
-//
-CGulIcon* CDiagRootSuite::CreateIconL() const
-    {
-    return NULL;
-    }
-
-
-// ---------------------------------------------------------------------------
-// From MDiagPlugin
-// CDiagRootSuite::IsVisible
-// ---------------------------------------------------------------------------
-//
-TBool CDiagRootSuite::IsVisible() const
-    {
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagPlugin
-// CDiagRootSuite::IsSupported
-// ---------------------------------------------------------------------------
-//
-TBool CDiagRootSuite::IsSupported() const
-    {
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagPlugin
-// CDiagRootSuite::GetTitleL
-// ---------------------------------------------------------------------------
-//
-HBufC* CDiagRootSuite::GetTitleL() const
-    {
-    // This should never be displayed to the end user.
-    _LIT( KRootSuitePluginTitle, "*Root Suite Title" );
-    return KRootSuitePluginTitle().AllocL();
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagPlugin
-// CDiagRootSuite::GetDescriptionL
-// ---------------------------------------------------------------------------
-//
-HBufC* CDiagRootSuite::GetDescriptionL() const
-    {
-    // This should never be displayed to the end user.
-    _LIT( KRootSuitePluginDesc, "*Root Suite Desc" );
-    return KRootSuitePluginDesc().AllocL();
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagPlugin
-// CDiagRootSuite::Uid
-// ---------------------------------------------------------------------------
-//
-TUid CDiagRootSuite::Uid() const
-    {
-    return TUid::Uid( 0 );
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// From MDiagPlugin
-// CDiagRootSuite::ParentUid
-// ---------------------------------------------------------------------------
-//
-TUid CDiagRootSuite::ParentUid() const
-    {
-    return TUid::Uid( 0 );
-    }
-
-
-// ---------------------------------------------------------------------------
-// From MDiagPlugin
-// CDiagRootSuite::SetDtorIdKey
-// ---------------------------------------------------------------------------
-//
-void CDiagRootSuite::SetDtorIdKey( TUid /* aDtorIdKey */ )
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// From MDiagPlugin
-// CDiagRootSuite::CustomOperationL
-// ---------------------------------------------------------------------------
-//
-TAny* CDiagRootSuite::CustomOperationL( TUid /*aUid*/, TAny* /*aParam*/ )
-    {
-    User::Leave( KErrNotSupported );
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagPlugin
-// CDiagRootSuite::GetCustomL
-// ---------------------------------------------------------------------------
-//
-TAny* CDiagRootSuite::GetCustomL( TUid /* aUid */, TAny* /*aParam*/ )
-    {
-    User::Leave( KErrNotSupported );
-    return NULL;
-    }
-
-
-// ---------------------------------------------------------------------------
-// From MDiagTestPlugin
-// CDiagRootSuite::TestSessionBeginL
-// ---------------------------------------------------------------------------
-//
-void CDiagRootSuite::TestSessionBeginL( MDiagEngineCommon& /* aEngine */,
-                                        TBool /* aSkipDependencyCheck */,
-                                        TAny* /* aCustomParams */ )
-    {
-    // nothing to do
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagTestPlugin
-// CDiagRootSuite::CleanupL
-// ---------------------------------------------------------------------------
-//
-void CDiagRootSuite::TestSessionEndL( MDiagEngineCommon& /* aEngine */,
-                                      TBool /* aSkipDependencyCheck */,
-                                      TAny* /* aCustomParams */ )
-    {
-    // nothing to do
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// From MDiagPlugin
-// CDiagRootSuite::Order
-// ---------------------------------------------------------------------------
-//
-TUint CDiagRootSuite::Order() const
-    {
-    return 0;
-    }
-
-
-// ---------------------------------------------------------------------------
-// From MDiagSuitePlugin
-// CDiagRootSuite::GetChildrenL
-// ---------------------------------------------------------------------------
-//
-void CDiagRootSuite::GetChildrenL( RPointerArray<MDiagPlugin>& aChildren,
-                                   TSortOrder aOrder ) const
-    {
-    if ( aOrder != ENotSorted && aOrder != ESortByPosition )
-        User::Leave( KErrArgument );
-
-    for ( TInt i = 0; i < iChildren.Count(); i++ )
-        {
-        aChildren.AppendL( iChildren[i] );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagSuitePlugin
-// CDiagRootSuite::AddChildL
-// ---------------------------------------------------------------------------
-//
-void CDiagRootSuite::AddChildL( MDiagPlugin* aChild )
-    {
-    TLinearOrder<MDiagPlugin> order( *ComparePluginByOrder );
-    User::LeaveIfError( iChildren.InsertInOrderAllowRepeats( aChild, order ) );
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagSuitePlugin
-// CDiagRootSuite::PrepareChildrenExecutionL
-// ---------------------------------------------------------------------------
-//
-void CDiagRootSuite::PrepareChildrenExecutionL( TDiagSuiteExecParam* aParam,
-                                                TBool /* aSkipDependencyCheck */,
-                                                TBool /* aDependencyExecution */ )
-    {
-    aParam->Observer().ContinueExecutionL( *this );
-    delete aParam;
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagSuitePlugin
-// CDiagRootSuite::FinalizeExecutionL
-// ---------------------------------------------------------------------------
-//
-void CDiagRootSuite::FinalizeChildrenExecutionL( TDiagSuiteExecParam* aParam,
-                                                 TBool /* aSkipDependencyCheck */,
-                                                 TBool /* aDependencyExecution */ )
-    {
-    aParam->Observer().ContinueExecutionL( *this );
-    delete aParam;
-    }
-
-
-// ---------------------------------------------------------------------------
-// From MDiagSuitePlugin
-// CDiagRootSuite::GetChildrenUidsL
-// ---------------------------------------------------------------------------
-//
-void CDiagRootSuite::GetChildrenUidsL( RArray<TUid>& aUids,
-                                        TSortOrder aOrder ) const
-    {
-    if ( aOrder != ENotSorted && aOrder != ESortByPosition )
-        User::Leave( KErrArgument );
-
-    for ( TInt i = 0; i < iChildren.Count(); i++ )
-        {
-        aUids.AppendL( iChildren[i]->Uid() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagSuitePlugin
-// CDiagRootSuite::ExecutionStopL
-// ---------------------------------------------------------------------------
-//
-void CDiagRootSuite::ExecutionStopL( TStopReason /* aReason */ )
-    {
-    }
-
-// End of File
-
--- a/devicediagnosticsfw/diagframework/src/diagsuiteexecparam.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* 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 "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:  Class definition of TDiagSuiteExecParam
-*
-*/
-
-
-// CLASS DECLARATION
-#include <DiagSuiteExecParam.h>
-
-// SYSTEM INCLUDE FILES
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// TDiagSuiteExecParam::TDiagSuiteExecParam()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TDiagSuiteExecParam::TDiagSuiteExecParam( MDiagSuiteObserver& aObserver,
-                                                    MDiagEngineCommon& aEngine )
-    :   iObserver( aObserver ),
-        iEngine( aEngine )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// TDiagSuiteExecParam::Observer()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C MDiagSuiteObserver& TDiagSuiteExecParam::Observer() const
-    {
-    return iObserver;
-    }
-
-
-// ---------------------------------------------------------------------------
-// TDiagSuiteExecParam::Engine()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C MDiagEngineCommon& TDiagSuiteExecParam::Engine() const
-    {
-    return iEngine;
-    }
-
-// End of File
-
--- a/devicediagnosticsfw/diagpluginbase/bwins/diagpluginbase.def	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-EXPORTS
-	??0CDiagResultDetailBasic@@QAE@W4TResult@CDiagResultsDatabaseItem@@@Z @ 1 NONAME ; CDiagResultDetailBasic::CDiagResultDetailBasic(enum CDiagResultsDatabaseItem::TResult)
-	??0CDiagSuitePluginBase@@IAE@PAVCDiagPluginConstructionParam@@@Z @ 2 NONAME ; CDiagSuitePluginBase::CDiagSuitePluginBase(class CDiagPluginConstructionParam *)
-	??0CDiagTestPluginBase@@IAE@PAVCDiagPluginConstructionParam@@@Z @ 3 NONAME ; CDiagTestPluginBase::CDiagTestPluginBase(class CDiagPluginConstructionParam *)
-	??1CDiagPluginWaitingDialogWrapper@@UAE@XZ @ 4 NONAME ; CDiagPluginWaitingDialogWrapper::~CDiagPluginWaitingDialogWrapper(void)
-	??1CDiagResultDetailBasic@@UAE@XZ @ 5 NONAME ; CDiagResultDetailBasic::~CDiagResultDetailBasic(void)
-	??1CDiagSuitePluginBase@@UAE@XZ @ 6 NONAME ; CDiagSuitePluginBase::~CDiagSuitePluginBase(void)
-	??1CDiagTestPluginBase@@UAE@XZ @ 7 NONAME ; CDiagTestPluginBase::~CDiagTestPluginBase(void)
-	?AddChildL@CDiagSuitePluginBase@@UAEXPAVMDiagPlugin@@@Z @ 8 NONAME ; void CDiagSuitePluginBase::AddChildL(class MDiagPlugin *)
-	?AreDependenciesSatisfiedL@CDiagTestPluginBase@@MBEHAAVMDiagEngineCommon@@AAPAV?$RArray@VTUid@@@@@Z @ 9 NONAME ; int CDiagTestPluginBase::AreDependenciesSatisfiedL(class MDiagEngineCommon &, class RArray<class TUid> * &) const
-	?BaseConstructL@CDiagResultDetailBasic@@IAEXAAVRReadStream@@@Z @ 10 NONAME ; void CDiagResultDetailBasic::BaseConstructL(class RReadStream &)
-	?BaseConstructL@CDiagResultDetailBasic@@IAEXABVCBufFlat@@@Z @ 11 NONAME ; void CDiagResultDetailBasic::BaseConstructL(class CBufFlat const &)
-	?BaseConstructL@CDiagSuitePluginBase@@IAEXABVTDesC16@@@Z @ 12 NONAME ; void CDiagSuitePluginBase::BaseConstructL(class TDesC16 const &)
-	?BaseConstructL@CDiagTestPluginBase@@IAEXABVTDesC16@@@Z @ 13 NONAME ; void CDiagTestPluginBase::BaseConstructL(class TDesC16 const &)
-	?CoeEnv@CDiagSuitePluginBase@@IAEAAVCCoeEnv@@XZ @ 14 NONAME ; class CCoeEnv & CDiagSuitePluginBase::CoeEnv(void)
-	?CoeEnv@CDiagTestPluginBase@@IAEAAVCCoeEnv@@XZ @ 15 NONAME ; class CCoeEnv & CDiagTestPluginBase::CoeEnv(void)
-	?CompleteTestL@CDiagTestPluginBase@@IAEXW4TResult@CDiagResultsDatabaseItem@@@Z @ 16 NONAME ; void CDiagTestPluginBase::CompleteTestL(enum CDiagResultsDatabaseItem::TResult)
-	?CreateDetailL@CDiagTestPluginBase@@MBEPAVMDiagResultDetail@@ABVCDiagResultsDatabaseItem@@@Z @ 17 NONAME ; class MDiagResultDetail * CDiagTestPluginBase::CreateDetailL(class CDiagResultsDatabaseItem const &) const
-	?CreateIconL@CDiagResultDetailBasic@@UBEPAVCGulIcon@@XZ @ 18 NONAME ; class CGulIcon * CDiagResultDetailBasic::CreateIconL(void) const
-	?CreateIconL@CDiagSuitePluginBase@@UBEPAVCGulIcon@@XZ @ 19 NONAME ; class CGulIcon * CDiagSuitePluginBase::CreateIconL(void) const
-	?CreateIconL@CDiagTestPluginBase@@MBEPAVCGulIcon@@XZ @ 20 NONAME ; class CGulIcon * CDiagTestPluginBase::CreateIconL(void) const
-	?CustomOperationL@CDiagSuitePluginBase@@UAEPAXVTUid@@PAX@Z @ 21 NONAME ; void * CDiagSuitePluginBase::CustomOperationL(class TUid, void *)
-	?CustomOperationL@CDiagTestPluginBase@@MAEPAXVTUid@@PAX@Z @ 22 NONAME ; void * CDiagTestPluginBase::CustomOperationL(class TUid, void *)
-	?CustomParam@CDiagTestPluginBase@@IBEPAXXZ @ 23 NONAME ; void * CDiagTestPluginBase::CustomParam(void) const
-	?DismissWaitingDialog@CDiagSuitePluginBase@@IAEXXZ @ 24 NONAME ; void CDiagSuitePluginBase::DismissWaitingDialog(void)
-	?DismissWaitingDialog@CDiagTestPluginBase@@IAEXXZ @ 25 NONAME ; void CDiagTestPluginBase::DismissWaitingDialog(void)
-	?DoExecutionStopL@CDiagTestPluginBase@@MAEXW4TStopReason@MDiagTestPlugin@@AAW4TResult@CDiagResultsDatabaseItem@@@Z @ 26 NONAME ; void CDiagTestPluginBase::DoExecutionStopL(enum MDiagTestPlugin::TStopReason, enum CDiagResultsDatabaseItem::TResult &)
-	?ExecutionParam@CDiagTestPluginBase@@IAEAAVTDiagTestExecParam@@XZ @ 27 NONAME ; class TDiagTestExecParam & CDiagTestPluginBase::ExecutionParam(void)
-	?ExecutionStopL@CDiagSuitePluginBase@@UAEXW4TStopReason@MDiagSuitePlugin@@@Z @ 28 NONAME ; void CDiagSuitePluginBase::ExecutionStopL(enum MDiagSuitePlugin::TStopReason)
-	?ExecutionStopL@CDiagTestPluginBase@@MAEPAVCDiagResultsDatabaseItem@@W4TStopReason@MDiagTestPlugin@@@Z @ 29 NONAME ; class CDiagResultsDatabaseItem * CDiagTestPluginBase::ExecutionStopL(enum MDiagTestPlugin::TStopReason)
-	?ExternalizeL@CDiagResultDetailBasic@@QBEXAAVRWriteStream@@@Z @ 30 NONAME ; void CDiagResultDetailBasic::ExternalizeL(class RWriteStream &) const
-	?ExternalizeToBufferL@CDiagResultDetailBasic@@UBEPAVCBufFlat@@XZ @ 31 NONAME ; class CBufFlat * CDiagResultDetailBasic::ExternalizeToBufferL(void) const
-	?FinalizeChildrenExecutionL@CDiagSuitePluginBase@@UAEXPAVTDiagSuiteExecParam@@HH@Z @ 32 NONAME ; void CDiagSuitePluginBase::FinalizeChildrenExecutionL(class TDiagSuiteExecParam *, int, int)
-	?GetChildrenL@CDiagSuitePluginBase@@UBEXAAV?$RPointerArray@VMDiagPlugin@@@@W4TSortOrder@MDiagSuitePlugin@@@Z @ 33 NONAME ; void CDiagSuitePluginBase::GetChildrenL(class RPointerArray<class MDiagPlugin> &, enum MDiagSuitePlugin::TSortOrder) const
-	?GetChildrenUidsL@CDiagSuitePluginBase@@UBEXAAV?$RArray@VTUid@@@@W4TSortOrder@MDiagSuitePlugin@@@Z @ 34 NONAME ; void CDiagSuitePluginBase::GetChildrenUidsL(class RArray<class TUid> &, enum MDiagSuitePlugin::TSortOrder) const
-	?GetCustomL@CDiagSuitePluginBase@@UAEPAXVTUid@@PAX@Z @ 35 NONAME ; void * CDiagSuitePluginBase::GetCustomL(class TUid, void *)
-	?GetCustomL@CDiagTestPluginBase@@MAEPAXVTUid@@PAX@Z @ 36 NONAME ; void * CDiagTestPluginBase::GetCustomL(class TUid, void *)
-	?GetDescriptionL@CDiagSuitePluginBase@@UBEPAVHBufC16@@XZ @ 37 NONAME ; class HBufC16 * CDiagSuitePluginBase::GetDescriptionL(void) const
-	?GetDescriptionL@CDiagTestPluginBase@@MBEPAVHBufC16@@XZ @ 38 NONAME ; class HBufC16 * CDiagTestPluginBase::GetDescriptionL(void) const
-	?GetLogicalDependenciesL@CDiagSuitePluginBase@@UBEXAAVCPtrC16Array@@@Z @ 39 NONAME ; void CDiagSuitePluginBase::GetLogicalDependenciesL(class CPtrC16Array &) const
-	?GetLogicalDependenciesL@CDiagTestPluginBase@@MBEXAAVCPtrC16Array@@@Z @ 40 NONAME ; void CDiagTestPluginBase::GetLogicalDependenciesL(class CPtrC16Array &) const
-	?GetOutputL@CDiagResultDetailBasic@@UBEXW4TOutputFormat@MDiagResultDetail@@AAVRBuf16@@@Z @ 41 NONAME ; void CDiagResultDetailBasic::GetOutputL(enum MDiagResultDetail::TOutputFormat, class RBuf16 &) const
-	?GetSupportedOutput@CDiagResultDetailBasic@@UBEXAAV?$RArray@W4TOutputFormat@MDiagResultDetail@@@@@Z @ 42 NONAME ; void CDiagResultDetailBasic::GetSupportedOutput(class RArray<enum MDiagResultDetail::TOutputFormat> &) const
-	?GetTitleL@CDiagSuitePluginBase@@UBEPAVHBufC16@@XZ @ 43 NONAME ; class HBufC16 * CDiagSuitePluginBase::GetTitleL(void) const
-	?GetTitleL@CDiagTestPluginBase@@MBEPAVHBufC16@@XZ @ 44 NONAME ; class HBufC16 * CDiagTestPluginBase::GetTitleL(void) const
-	?GetValue@CDiagResultDetailBasic@@IBEHHAAH@Z @ 45 NONAME ; int CDiagResultDetailBasic::GetValue(int, int &) const
-	?GetValue@CDiagResultDetailBasic@@IBEHHAAVTPtrC16@@@Z @ 46 NONAME ; int CDiagResultDetailBasic::GetValue(int, class TPtrC16 &) const
-	?GetValue@CDiagResultDetailBasic@@IBEHHAAVTPtrC8@@@Z @ 47 NONAME ; int CDiagResultDetailBasic::GetValue(int, class TPtrC8 &) const
-	?IsDependencyCheckSkipped@CDiagTestPluginBase@@IBEHXZ @ 48 NONAME ; int CDiagTestPluginBase::IsDependencyCheckSkipped(void) const
-	?IsDependencyExecution@CDiagTestPluginBase@@IBEHXZ @ 49 NONAME ; int CDiagTestPluginBase::IsDependencyExecution(void) const
-	?IsOutputSupported@CDiagResultDetailBasic@@UBEHW4TOutputFormat@MDiagResultDetail@@@Z @ 50 NONAME ; int CDiagResultDetailBasic::IsOutputSupported(enum MDiagResultDetail::TOutputFormat) const
-	?IsSupported@CDiagSuitePluginBase@@UBEHXZ @ 51 NONAME ; int CDiagSuitePluginBase::IsSupported(void) const
-	?IsSupported@CDiagTestPluginBase@@MBEHXZ @ 52 NONAME ; int CDiagTestPluginBase::IsSupported(void) const
-	?NewL@CDiagPluginWaitingDialogWrapper@@SAPAV1@PAVCAknDialog@@@Z @ 53 NONAME ; class CDiagPluginWaitingDialogWrapper * CDiagPluginWaitingDialogWrapper::NewL(class CAknDialog *)
-	?Order@CDiagSuitePluginBase@@UBEIXZ @ 54 NONAME ; unsigned int CDiagSuitePluginBase::Order(void) const
-	?Order@CDiagTestPluginBase@@MBEIXZ @ 55 NONAME ; unsigned int CDiagTestPluginBase::Order(void) const
-	?ParentUid@CDiagSuitePluginBase@@UBE?AVTUid@@XZ @ 56 NONAME ; class TUid CDiagSuitePluginBase::ParentUid(void) const
-	?ParentUid@CDiagTestPluginBase@@MBE?AVTUid@@XZ @ 57 NONAME ; class TUid CDiagTestPluginBase::ParentUid(void) const
-	?PrepareChildrenExecutionL@CDiagSuitePluginBase@@UAEXPAVTDiagSuiteExecParam@@HH@Z @ 58 NONAME ; void CDiagSuitePluginBase::PrepareChildrenExecutionL(class TDiagSuiteExecParam *, int, int)
-	?ReportTestProgressL@CDiagTestPluginBase@@IAEXI@Z @ 59 NONAME ; void CDiagTestPluginBase::ReportTestProgressL(unsigned int)
-	?ResultsDbItemBuilder@CDiagTestPluginBase@@IAEAAVCDiagResultsDbItemBuilder@@XZ @ 60 NONAME ; class CDiagResultsDbItemBuilder & CDiagTestPluginBase::ResultsDbItemBuilder(void)
-	?ResumeL@CDiagTestPluginBase@@MAEXXZ @ 61 NONAME ; void CDiagTestPluginBase::ResumeL(void)
-	?RunError@CDiagTestPluginBase@@MAEHH@Z @ 62 NONAME ; int CDiagTestPluginBase::RunError(int)
-	?RunLD@CDiagPluginWaitingDialogWrapper@@QAEHAAH@Z @ 63 NONAME ; int CDiagPluginWaitingDialogWrapper::RunLD(int &)
-	?RunTestL@CDiagTestPluginBase@@MAEXPAVTDiagTestExecParam@@HHPAX@Z @ 64 NONAME ; void CDiagTestPluginBase::RunTestL(class TDiagTestExecParam *, int, int, void *)
-	?RunWaitingDialogL@CDiagSuitePluginBase@@IAEHPAVCAknDialog@@AAH@Z @ 65 NONAME ; int CDiagSuitePluginBase::RunWaitingDialogL(class CAknDialog *, int &)
-	?RunWaitingDialogL@CDiagTestPluginBase@@IAEHPAVCAknDialog@@AAH@Z @ 66 NONAME ; int CDiagTestPluginBase::RunWaitingDialogL(class CAknDialog *, int &)
-	?ServiceLogicalName@CDiagSuitePluginBase@@UBEABVTDesC16@@XZ @ 67 NONAME ; class TDesC16 const & CDiagSuitePluginBase::ServiceLogicalName(void) const
-	?ServiceLogicalName@CDiagTestPluginBase@@MBEABVTDesC16@@XZ @ 68 NONAME ; class TDesC16 const & CDiagTestPluginBase::ServiceLogicalName(void) const
-	?SetDtorIdKey@CDiagSuitePluginBase@@UAEXVTUid@@@Z @ 69 NONAME ; void CDiagSuitePluginBase::SetDtorIdKey(class TUid)
-	?SetDtorIdKey@CDiagTestPluginBase@@MAEXVTUid@@@Z @ 70 NONAME ; void CDiagTestPluginBase::SetDtorIdKey(class TUid)
-	?SetResult@CDiagResultDetailBasic@@QAEXW4TResult@CDiagResultsDatabaseItem@@@Z @ 71 NONAME ; void CDiagResultDetailBasic::SetResult(enum CDiagResultsDatabaseItem::TResult)
-	?SetValueL@CDiagResultDetailBasic@@IAEXHABVTDesC8@@0@Z @ 72 NONAME ; void CDiagResultDetailBasic::SetValueL(int, class TDesC8 const &, class TDesC8 const &)
-	?SetValueL@CDiagResultDetailBasic@@IAEXHABVTDesC8@@ABVTDesC16@@@Z @ 73 NONAME ; void CDiagResultDetailBasic::SetValueL(int, class TDesC8 const &, class TDesC16 const &)
-	?SetValueL@CDiagResultDetailBasic@@IAEXHABVTDesC8@@H@Z @ 74 NONAME ; void CDiagResultDetailBasic::SetValueL(int, class TDesC8 const &, int)
-	?StopAndCleanupL@CDiagTestPluginBase@@IAEXXZ @ 75 NONAME ; void CDiagTestPluginBase::StopAndCleanupL(void)
-	?SuspendL@CDiagTestPluginBase@@MAEXXZ @ 76 NONAME ; void CDiagTestPluginBase::SuspendL(void)
-	?TestSessionBeginL@CDiagSuitePluginBase@@UAEXAAVMDiagEngineCommon@@HPAX@Z @ 77 NONAME ; void CDiagSuitePluginBase::TestSessionBeginL(class MDiagEngineCommon &, int, void *)
-	?TestSessionBeginL@CDiagTestPluginBase@@MAEXAAVMDiagEngineCommon@@HPAX@Z @ 78 NONAME ; void CDiagTestPluginBase::TestSessionBeginL(class MDiagEngineCommon &, int, void *)
-	?TestSessionEndL@CDiagSuitePluginBase@@UAEXAAVMDiagEngineCommon@@HPAX@Z @ 79 NONAME ; void CDiagSuitePluginBase::TestSessionEndL(class MDiagEngineCommon &, int, void *)
-	?TestSessionEndL@CDiagTestPluginBase@@MAEXAAVMDiagEngineCommon@@HPAX@Z @ 80 NONAME ; void CDiagTestPluginBase::TestSessionEndL(class MDiagEngineCommon &, int, void *)
-	?Type@CDiagSuitePluginBase@@UBE?AW4TPluginType@MDiagPlugin@@XZ @ 81 NONAME ; enum MDiagPlugin::TPluginType CDiagSuitePluginBase::Type(void) const
-	?Type@CDiagTestPluginBase@@MBE?AW4TPluginType@MDiagPlugin@@XZ @ 82 NONAME ; enum MDiagPlugin::TPluginType CDiagTestPluginBase::Type(void) const
-	?SinglePluginExecution@CDiagTestPluginBase@@IBEHXZ @ 83 NONAME ; int CDiagTestPluginBase::SinglePluginExecution(void) const
-	?VerifyDependenciesL@CDiagTestPluginBase@@MBE?AW4TResult@CDiagResultsDatabaseItem@@AAVMDiagEngineCommon@@AAPAV?$RArray@VTUid@@@@@Z @ 84 NONAME ; enum CDiagResultsDatabaseItem::TResult CDiagTestPluginBase::VerifyDependenciesL(class MDiagEngineCommon &, class RArray<class TUid> * &) const
-	?ResetWatchdog@CDiagTestPluginBase@@IAEXHW4TResult@CDiagResultsDatabaseItem@@@Z @ 85 NONAME ; void CDiagTestPluginBase::ResetWatchdog(int, enum CDiagResultsDatabaseItem::TResult)
-	?ResetWatchdog@CDiagTestPluginBase@@IAEXW4TDiagEngineWatchdogTypes@@W4TResult@CDiagResultsDatabaseItem@@@Z @ 86 NONAME ; void CDiagTestPluginBase::ResetWatchdog(enum TDiagEngineWatchdogTypes, enum CDiagResultsDatabaseItem::TResult)
-	?ResetWatchdogToDefault@CDiagTestPluginBase@@IAEXXZ @ 87 NONAME ; void CDiagTestPluginBase::ResetWatchdogToDefault(void)
-
--- a/devicediagnosticsfw/diagpluginbase/eabi/diagpluginbase.def	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,156 +0,0 @@
-EXPORTS
-	_ZN19CDiagTestPluginBase10GetCustomLE4TUidPv @ 1 NONAME
-	_ZN19CDiagTestPluginBase12SetDtorIdKeyE4TUid @ 2 NONAME
-	_ZN19CDiagTestPluginBase13CompleteTestLEN24CDiagResultsDatabaseItem7TResultE @ 3 NONAME
-	_ZN19CDiagTestPluginBase14BaseConstructLERK7TDesC16 @ 4 NONAME
-	_ZN19CDiagTestPluginBase14ExecutionParamEv @ 5 NONAME
-	_ZN19CDiagTestPluginBase14ExecutionStopLEN15MDiagTestPlugin11TStopReasonE @ 6 NONAME
-	_ZN19CDiagTestPluginBase15StopAndCleanupLEv @ 7 NONAME
-	_ZN19CDiagTestPluginBase15TestSessionEndLER17MDiagEngineCommoniPv @ 8 NONAME
-	_ZN19CDiagTestPluginBase16CustomOperationLE4TUidPv @ 9 NONAME
-	_ZN19CDiagTestPluginBase16DoExecutionStopLEN15MDiagTestPlugin11TStopReasonERN24CDiagResultsDatabaseItem7TResultE @ 10 NONAME
-	_ZN19CDiagTestPluginBase17RunWaitingDialogLEP10CAknDialogRi @ 11 NONAME
-	_ZN19CDiagTestPluginBase17TestSessionBeginLER17MDiagEngineCommoniPv @ 12 NONAME
-	_ZN19CDiagTestPluginBase19ReportTestProgressLEj @ 13 NONAME
-	_ZN19CDiagTestPluginBase20DismissWaitingDialogEv @ 14 NONAME
-	_ZN19CDiagTestPluginBase20ResultsDbItemBuilderEv @ 15 NONAME
-	_ZN19CDiagTestPluginBase6CoeEnvEv @ 16 NONAME
-	_ZN19CDiagTestPluginBase7ResumeLEv @ 17 NONAME
-	_ZN19CDiagTestPluginBase8RunErrorEi @ 18 NONAME
-	_ZN19CDiagTestPluginBase8RunTestLEP18TDiagTestExecParamiiPv @ 19 NONAME
-	_ZN19CDiagTestPluginBase8SuspendLEv @ 20 NONAME
-	_ZN19CDiagTestPluginBaseC2EP28CDiagPluginConstructionParam @ 21 NONAME
-	_ZN19CDiagTestPluginBaseD0Ev @ 22 NONAME
-	_ZN19CDiagTestPluginBaseD1Ev @ 23 NONAME
-	_ZN19CDiagTestPluginBaseD2Ev @ 24 NONAME
-	_ZN20CDiagSuitePluginBase10GetCustomLE4TUidPv @ 25 NONAME
-	_ZN20CDiagSuitePluginBase12SetDtorIdKeyE4TUid @ 26 NONAME
-	_ZN20CDiagSuitePluginBase14BaseConstructLERK7TDesC16 @ 27 NONAME
-	_ZN20CDiagSuitePluginBase14ExecutionStopLEN16MDiagSuitePlugin11TStopReasonE @ 28 NONAME
-	_ZN20CDiagSuitePluginBase15TestSessionEndLER17MDiagEngineCommoniPv @ 29 NONAME
-	_ZN20CDiagSuitePluginBase16CustomOperationLE4TUidPv @ 30 NONAME
-	_ZN20CDiagSuitePluginBase17RunWaitingDialogLEP10CAknDialogRi @ 31 NONAME
-	_ZN20CDiagSuitePluginBase17TestSessionBeginLER17MDiagEngineCommoniPv @ 32 NONAME
-	_ZN20CDiagSuitePluginBase20DismissWaitingDialogEv @ 33 NONAME
-	_ZN20CDiagSuitePluginBase25PrepareChildrenExecutionLEP19TDiagSuiteExecParamii @ 34 NONAME
-	_ZN20CDiagSuitePluginBase26FinalizeChildrenExecutionLEP19TDiagSuiteExecParamii @ 35 NONAME
-	_ZN20CDiagSuitePluginBase6CoeEnvEv @ 36 NONAME
-	_ZN20CDiagSuitePluginBase9AddChildLEP11MDiagPlugin @ 37 NONAME
-	_ZN20CDiagSuitePluginBaseC2EP28CDiagPluginConstructionParam @ 38 NONAME
-	_ZN20CDiagSuitePluginBaseD0Ev @ 39 NONAME
-	_ZN20CDiagSuitePluginBaseD1Ev @ 40 NONAME
-	_ZN20CDiagSuitePluginBaseD2Ev @ 41 NONAME
-	_ZN22CDiagResultDetailBasic14BaseConstructLER11RReadStream @ 42 NONAME
-	_ZN22CDiagResultDetailBasic14BaseConstructLERK8CBufFlat @ 43 NONAME
-	_ZN22CDiagResultDetailBasic9SetResultEN24CDiagResultsDatabaseItem7TResultE @ 44 NONAME
-	_ZN22CDiagResultDetailBasic9SetValueLEiRK6TDesC8RK7TDesC16 @ 45 NONAME
-	_ZN22CDiagResultDetailBasic9SetValueLEiRK6TDesC8S2_ @ 46 NONAME
-	_ZN22CDiagResultDetailBasic9SetValueLEiRK6TDesC8i @ 47 NONAME
-	_ZN22CDiagResultDetailBasicC1EN24CDiagResultsDatabaseItem7TResultE @ 48 NONAME
-	_ZN22CDiagResultDetailBasicC2EN24CDiagResultsDatabaseItem7TResultE @ 49 NONAME
-	_ZN22CDiagResultDetailBasicD0Ev @ 50 NONAME
-	_ZN22CDiagResultDetailBasicD1Ev @ 51 NONAME
-	_ZN22CDiagResultDetailBasicD2Ev @ 52 NONAME
-	_ZN31CDiagPluginWaitingDialogWrapper4NewLEP10CAknDialog @ 53 NONAME
-	_ZN31CDiagPluginWaitingDialogWrapper5RunLDERi @ 54 NONAME
-	_ZN31CDiagPluginWaitingDialogWrapperD0Ev @ 55 NONAME
-	_ZN31CDiagPluginWaitingDialogWrapperD1Ev @ 56 NONAME
-	_ZN31CDiagPluginWaitingDialogWrapperD2Ev @ 57 NONAME
-	_ZNK19CDiagTestPluginBase11CreateIconLEv @ 58 NONAME
-	_ZNK19CDiagTestPluginBase11CustomParamEv @ 59 NONAME
-	_ZNK19CDiagTestPluginBase11IsSupportedEv @ 60 NONAME
-	_ZNK19CDiagTestPluginBase13CreateDetailLERK24CDiagResultsDatabaseItem @ 61 NONAME
-	_ZNK19CDiagTestPluginBase15GetDescriptionLEv @ 62 NONAME
-	_ZNK19CDiagTestPluginBase18ServiceLogicalNameEv @ 63 NONAME
-	_ZNK19CDiagTestPluginBase21IsDependencyExecutionEv @ 64 NONAME
-	_ZNK19CDiagTestPluginBase23GetLogicalDependenciesLER12CPtrC16Array @ 65 NONAME
-	_ZNK19CDiagTestPluginBase24IsDependencyCheckSkippedEv @ 66 NONAME
-	_ZNK19CDiagTestPluginBase25AreDependenciesSatisfiedLER17MDiagEngineCommonRP6RArrayI4TUidE @ 67 NONAME
-	_ZNK19CDiagTestPluginBase4TypeEv @ 68 NONAME
-	_ZNK19CDiagTestPluginBase5OrderEv @ 69 NONAME
-	_ZNK19CDiagTestPluginBase9GetTitleLEv @ 70 NONAME
-	_ZNK19CDiagTestPluginBase9ParentUidEv @ 71 NONAME
-	_ZNK20CDiagSuitePluginBase11CreateIconLEv @ 72 NONAME
-	_ZNK20CDiagSuitePluginBase11IsSupportedEv @ 73 NONAME
-	_ZNK20CDiagSuitePluginBase12GetChildrenLER13RPointerArrayI11MDiagPluginEN16MDiagSuitePlugin10TSortOrderE @ 74 NONAME
-	_ZNK20CDiagSuitePluginBase15GetDescriptionLEv @ 75 NONAME
-	_ZNK20CDiagSuitePluginBase16GetChildrenUidsLER6RArrayI4TUidEN16MDiagSuitePlugin10TSortOrderE @ 76 NONAME
-	_ZNK20CDiagSuitePluginBase18ServiceLogicalNameEv @ 77 NONAME
-	_ZNK20CDiagSuitePluginBase23GetLogicalDependenciesLER12CPtrC16Array @ 78 NONAME
-	_ZNK20CDiagSuitePluginBase4TypeEv @ 79 NONAME
-	_ZNK20CDiagSuitePluginBase5OrderEv @ 80 NONAME
-	_ZNK20CDiagSuitePluginBase9GetTitleLEv @ 81 NONAME
-	_ZNK20CDiagSuitePluginBase9ParentUidEv @ 82 NONAME
-	_ZNK22CDiagResultDetailBasic10GetOutputLEN17MDiagResultDetail13TOutputFormatER6RBuf16 @ 83 NONAME
-	_ZNK22CDiagResultDetailBasic11CreateIconLEv @ 84 NONAME
-	_ZNK22CDiagResultDetailBasic12ExternalizeLER12RWriteStream @ 85 NONAME
-	_ZNK22CDiagResultDetailBasic17IsOutputSupportedEN17MDiagResultDetail13TOutputFormatE @ 86 NONAME
-	_ZNK22CDiagResultDetailBasic18GetSupportedOutputER6RArrayIN17MDiagResultDetail13TOutputFormatEE @ 87 NONAME
-	_ZNK22CDiagResultDetailBasic20ExternalizeToBufferLEv @ 88 NONAME
-	_ZNK22CDiagResultDetailBasic8GetValueEiR6TPtrC8 @ 89 NONAME
-	_ZNK22CDiagResultDetailBasic8GetValueEiR7TPtrC16 @ 90 NONAME
-	_ZNK22CDiagResultDetailBasic8GetValueEiRi @ 91 NONAME
-	_ZTI19CDiagTestPluginBase @ 92 NONAME ; #<TI>#
-	_ZTI20CDiagSuitePluginBase @ 93 NONAME ; #<TI>#
-	_ZTI22CDiagResultDetailBasic @ 94 NONAME ; #<TI>#
-	_ZTI26CDiagResultDetailBasicItem @ 95 NONAME ; #<TI>#
-	_ZTI31CDiagPluginWaitingDialogWrapper @ 96 NONAME ; #<TI>#
-	_ZTV19CDiagTestPluginBase @ 97 NONAME ; #<VT>#
-	_ZTV20CDiagSuitePluginBase @ 98 NONAME ; #<VT>#
-	_ZTV22CDiagResultDetailBasic @ 99 NONAME ; #<VT>#
-	_ZTV26CDiagResultDetailBasicItem @ 100 NONAME ; #<VT>#
-	_ZTV31CDiagPluginWaitingDialogWrapper @ 101 NONAME ; #<VT>#
-	_ZThn28_N19CDiagTestPluginBase10GetCustomLE4TUidPv @ 102 NONAME ; #<thunk>#
-	_ZThn28_N19CDiagTestPluginBase12SetDtorIdKeyE4TUid @ 103 NONAME ; #<thunk>#
-	_ZThn28_N19CDiagTestPluginBase14ExecutionStopLEN15MDiagTestPlugin11TStopReasonE @ 104 NONAME ; #<thunk>#
-	_ZThn28_N19CDiagTestPluginBase15TestSessionEndLER17MDiagEngineCommoniPv @ 105 NONAME ; #<thunk>#
-	_ZThn28_N19CDiagTestPluginBase16CustomOperationLE4TUidPv @ 106 NONAME ; #<thunk>#
-	_ZThn28_N19CDiagTestPluginBase17TestSessionBeginLER17MDiagEngineCommoniPv @ 107 NONAME ; #<thunk>#
-	_ZThn28_N19CDiagTestPluginBase7ResumeLEv @ 108 NONAME ; #<thunk>#
-	_ZThn28_N19CDiagTestPluginBase8RunTestLEP18TDiagTestExecParamiiPv @ 109 NONAME ; #<thunk>#
-	_ZThn28_N19CDiagTestPluginBase8SuspendLEv @ 110 NONAME ; #<thunk>#
-	_ZThn28_N19CDiagTestPluginBaseD0Ev @ 111 NONAME ; #<thunk>#
-	_ZThn28_N19CDiagTestPluginBaseD1Ev @ 112 NONAME ; #<thunk>#
-	_ZThn28_N20CDiagSuitePluginBase10GetCustomLE4TUidPv @ 113 NONAME ; #<thunk>#
-	_ZThn28_N20CDiagSuitePluginBase12SetDtorIdKeyE4TUid @ 114 NONAME ; #<thunk>#
-	_ZThn28_N20CDiagSuitePluginBase14ExecutionStopLEN16MDiagSuitePlugin11TStopReasonE @ 115 NONAME ; #<thunk>#
-	_ZThn28_N20CDiagSuitePluginBase15TestSessionEndLER17MDiagEngineCommoniPv @ 116 NONAME ; #<thunk>#
-	_ZThn28_N20CDiagSuitePluginBase16CustomOperationLE4TUidPv @ 117 NONAME ; #<thunk>#
-	_ZThn28_N20CDiagSuitePluginBase17TestSessionBeginLER17MDiagEngineCommoniPv @ 118 NONAME ; #<thunk>#
-	_ZThn28_N20CDiagSuitePluginBase25PrepareChildrenExecutionLEP19TDiagSuiteExecParamii @ 119 NONAME ; #<thunk>#
-	_ZThn28_N20CDiagSuitePluginBase26FinalizeChildrenExecutionLEP19TDiagSuiteExecParamii @ 120 NONAME ; #<thunk>#
-	_ZThn28_N20CDiagSuitePluginBase9AddChildLEP11MDiagPlugin @ 121 NONAME ; #<thunk>#
-	_ZThn28_N20CDiagSuitePluginBaseD0Ev @ 122 NONAME ; #<thunk>#
-	_ZThn28_N20CDiagSuitePluginBaseD1Ev @ 123 NONAME ; #<thunk>#
-	_ZThn28_NK19CDiagTestPluginBase11CreateIconLEv @ 124 NONAME ; #<thunk>#
-	_ZThn28_NK19CDiagTestPluginBase11IsSupportedEv @ 125 NONAME ; #<thunk>#
-	_ZThn28_NK19CDiagTestPluginBase13CreateDetailLERK24CDiagResultsDatabaseItem @ 126 NONAME ; #<thunk>#
-	_ZThn28_NK19CDiagTestPluginBase15GetDescriptionLEv @ 127 NONAME ; #<thunk>#
-	_ZThn28_NK19CDiagTestPluginBase18ServiceLogicalNameEv @ 128 NONAME ; #<thunk>#
-	_ZThn28_NK19CDiagTestPluginBase23GetLogicalDependenciesLER12CPtrC16Array @ 129 NONAME ; #<thunk>#
-	_ZThn28_NK19CDiagTestPluginBase4TypeEv @ 130 NONAME ; #<thunk>#
-	_ZThn28_NK19CDiagTestPluginBase5OrderEv @ 131 NONAME ; #<thunk>#
-	_ZThn28_NK19CDiagTestPluginBase9ParentUidEv @ 132 NONAME ; #<thunk>#
-	_ZThn28_NK20CDiagSuitePluginBase11CreateIconLEv @ 133 NONAME ; #<thunk>#
-	_ZThn28_NK20CDiagSuitePluginBase11IsSupportedEv @ 134 NONAME ; #<thunk>#
-	_ZThn28_NK20CDiagSuitePluginBase12GetChildrenLER13RPointerArrayI11MDiagPluginEN16MDiagSuitePlugin10TSortOrderE @ 135 NONAME ; #<thunk>#
-	_ZThn28_NK20CDiagSuitePluginBase15GetDescriptionLEv @ 136 NONAME ; #<thunk>#
-	_ZThn28_NK20CDiagSuitePluginBase16GetChildrenUidsLER6RArrayI4TUidEN16MDiagSuitePlugin10TSortOrderE @ 137 NONAME ; #<thunk>#
-	_ZThn28_NK20CDiagSuitePluginBase18ServiceLogicalNameEv @ 138 NONAME ; #<thunk>#
-	_ZThn28_NK20CDiagSuitePluginBase23GetLogicalDependenciesLER12CPtrC16Array @ 139 NONAME ; #<thunk>#
-	_ZThn28_NK20CDiagSuitePluginBase4TypeEv @ 140 NONAME ; #<thunk>#
-	_ZThn28_NK20CDiagSuitePluginBase5OrderEv @ 141 NONAME ; #<thunk>#
-	_ZThn28_NK20CDiagSuitePluginBase9ParentUidEv @ 142 NONAME ; #<thunk>#
-	_ZThn4_N22CDiagResultDetailBasicD0Ev @ 143 NONAME ; #<thunk>#
-	_ZThn4_N22CDiagResultDetailBasicD1Ev @ 144 NONAME ; #<thunk>#
-	_ZThn4_NK22CDiagResultDetailBasic10GetOutputLEN17MDiagResultDetail13TOutputFormatER6RBuf16 @ 145 NONAME ; #<thunk>#
-	_ZThn4_NK22CDiagResultDetailBasic11CreateIconLEv @ 146 NONAME ; #<thunk>#
-	_ZThn4_NK22CDiagResultDetailBasic17IsOutputSupportedEN17MDiagResultDetail13TOutputFormatE @ 147 NONAME ; #<thunk>#
-	_ZThn4_NK22CDiagResultDetailBasic18GetSupportedOutputER6RArrayIN17MDiagResultDetail13TOutputFormatEE @ 148 NONAME ; #<thunk>#
-	_ZThn4_NK22CDiagResultDetailBasic20ExternalizeToBufferLEv @ 149 NONAME ; #<thunk>#
-	_ZNK19CDiagTestPluginBase21SinglePluginExecutionEv @ 150 NONAME
-	_ZNK19CDiagTestPluginBase19VerifyDependenciesLER17MDiagEngineCommonRP6RArrayI4TUidE @ 151 NONAME
-	_ZN19CDiagTestPluginBase13ResetWatchdogE24TDiagEngineWatchdogTypesN24CDiagResultsDatabaseItem7TResultE @ 152 NONAME
-	_ZN19CDiagTestPluginBase13ResetWatchdogEiN24CDiagResultsDatabaseItem7TResultE @ 153 NONAME
-	_ZN19CDiagTestPluginBase22ResetWatchdogToDefaultEv @ 154 NONAME
-
--- a/devicediagnosticsfw/diagpluginbase/group/bld.inf	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* 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 "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 Diagnostics Plug-in Base Classes
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../inc/diagplugincommon.loc         MW_LAYER_PLATFORM_EXPORT_PATH( diagplugincommon.loc )
-
-PRJ_MMPFILES
-diagpluginbase.mmp
-
--- a/devicediagnosticsfw/diagpluginbase/group/diagpluginbase.mmp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
-* 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 "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 specification for DiagPluginBase.dll
-*
-*/
-
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-TARGET      diagpluginbase.dll
-TARGETTYPE  dll
-
-UID	        0x1000008d 0x2000afe9
-
-CAPABILITY  CAP_GENERAL_DLL
-VENDORID    VID_DEFAULT
-
-SOURCEPATH  ../src
-SOURCE      diagtestpluginbase.cpp
-SOURCE      diagsuitepluginbase.cpp
-SOURCE      diagresultdetailbasic.cpp
-SOURCE      diagresultdetailbasicitem.cpp
-SOURCE      diagpluginbaseutils.cpp
-SOURCE      diagpluginwaitingdialogwrapper.cpp
-
-// User Include
-USERINCLUDE ../inc
-
-// System Include Paths
-SYSTEMINCLUDE   /epoc32/include/ecom
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY     euser.lib
-LIBRARY     ecom.lib
-LIBRARY     efsrv.lib
-LIBRARY     bafl.lib
-LIBRARY     cone.lib            // CCoeEnv
-LIBRARY     commonengine.lib
-LIBRARY     estor.lib           // RBufReadStream
-LIBRARY     flogger.lib         // logging
-LIBRARY     eikdlg.lib          // CEikDialog
-LIBRARY     diagframework.lib
-LIBRARY     diagresultsdatabase.lib
-
-#if defined(WINSCW)
-    deffile ../bwins/diagpluginbase.def
-#else
-    deffile ../eabi/diagpluginbase.def
-#endif
-
-nostrictdef 
-
--- a/devicediagnosticsfw/diagpluginbase/group/diagpluginbase_uid_.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-/*
-* 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: Implementation of diagnostics components
-*
-*/
-// Makmake-generated uid source file
-#include <e32cmn.h>
-#pragma data_seg(".SYMBIAN")
-__EMULATOR_IMAGE_HEADER2(0x10000079,0x1000008d,0x2000afe9,EPriorityForeground,0x000ffffeu,0x00000000u,0x2000afe9,0x101fb657,0x00010000,0)
-#pragma data_seg()
--- a/devicediagnosticsfw/diagpluginbase/inc/diagpluginbase.pan	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* 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 "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:  Enum definition of Framdwork Panic Codes
-*
-*/
-
-
-#ifndef DIAGPLUGINBASE_PAN
-#define DIAGPLUGINBASE_PAN
-
-/**
-* Panic Codes for Diagnostics PluginBase
-* 
-* @since 5.0
-*/
-enum TDiagPluginBasePanics
-    {
-    EDiagPluginBasePanicConstruction     = 1,   // Failed to construct
-    EDiagPluginBasePanicBadArgument      = 2,   // Invalid input parameter
-    EDiagPluginBasePanicDialogAlreadyUp  = 3,   // Another dialog is already being displayed.
-    EDiagPluginBasePanicInternal         = 4,   // Base class internal error
-    EDiagPluginBasePanicInvalidState     = 5    // Function called in invalid state.
-    };
-
-
-_LIT( KDiagPluginBaseCategory, "Diag Plugin Base" );
-
-inline void Panic( TDiagPluginBasePanics aReason )
-    {
-    User::Panic( KDiagPluginBaseCategory, aReason );
-    }
-
-#endif // DIAGPLUGINBASE_PAN
-
-// End of File
-
--- a/devicediagnosticsfw/diagpluginbase/inc/diagpluginbaseutils.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* 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 "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:  Utility functions for plug-ins
-*
-*/
-
-
-#ifndef DIAGPLUGINBASEUTILS_H
-#define DIAGPLUGINBASEUTILS_H
-
-// INCLUDES
-
-// FORWARD DECLARATIONS
-class RConeResourceLoader;
-
-// CONSTANTS
-
-/**
-*  Diagnostics Plugin Base Utility Functions
-*
-*   Collection of various useful functions.
-*
-*  @since S60 v5.0
-*/
-
-namespace DiagPluginBaseUtils
-    {
-void OpenResourceFileL( const TDesC& aResourceFileName,
-                        RConeResourceLoader& aResourceLoader,
-                        RFs& aFsSession );
-    }   // namespace DiagPluginBaseUtils
-
-#endif // DIAGPLUGINBASEUTILS_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagpluginbase/inc/diagplugincommon.loc	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* 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 "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:  Localization strings for project Diagnostics Plugin
-*
-*/
-
-
-// d:Softkey text for Skip
-// l:control_pane_t1/opt7
-// r:3.2
-//
-#define qtn_diag_softk_skip "Skip"
-
-
-// d:Message for remove cables
-// l:popup_note_window
-// r:3.2
-//
-#define qtn_diag_msg_remove_all_cables "Please remove all cables"
-
-// End of File
-
--- a/devicediagnosticsfw/diagpluginbase/inc/diagpluginwaitingdialogwrapper.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-/*
-* 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 "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:  Provides wrapper for waiting dialogs.
-*
-*/
-
-
-#ifndef DIAGPLUGINWAITINGDIALOGWRAPPER_H
-#define DIAGPLUGINWAITINGDIALOGWRAPPER_H
-
-// INCLUDES
-#include <e32base.h>                // CBase
-
-// FORWARD DECLARATIONS
-class CAknDialog;
-
-/**
-*  Diagnostics Plugin Waiting Dialog Wrapper.
-*
-*   This class provides a wrapper for executing dialogs. The only functionality
-*   it adds is that it provides a way for the caller to find out whether
-*   the dialog was dismissed by the user response, or by application deletion.
-*
-*  @since S60 v5.0
-*/
-class CDiagPluginWaitingDialogWrapper : public CBase
-    {
-public: // new API
-    /**
-    * Two-phased constructor.
-    *
-    *   @param - aWaitingDialog.  Pointer to dialog to display. Note that 
-    *       it must be a dialog with EEikDialogFlagWait set. Otherwise, it 
-    *       will panic with EDiagPluginBasePanicBadArgument
-    *       Ownership is transferred to the wrapper.
-    *   @return - New instance of CDiagPluginWaitingDialogWrapper
-    */
-    IMPORT_C static CDiagPluginWaitingDialogWrapper* NewL( CAknDialog* aWaitingDialog );
-    
-    /**
-    * Destructor.
-    */
-    IMPORT_C virtual ~CDiagPluginWaitingDialogWrapper();
-
-    /**
-    * Run a dialog that waits for response. 
-    *
-    * To dismiss the dialog, simply delete CDiagPluginWaitingDialogWrapper instance.
-    *
-    * The difference from normal dialog RunLD is that this function returns 
-    * ETrue if dialog exited due to user response and 
-    * EFalse if the object was deleted.
-    * 
-    *   !!!! NOTE THAT PLUG-IN MUST RETURN IMMEDIATELY WITHOUT ACCESSING  !!!!
-    *   !!!! LOCAL VARIABLE OR LOCAL FUNCITONS WHEN THIS FUNCTION RETURNS !!!!
-    *   !!!! EFalse VALUE BECAUSE "THIS" POINTER MAY BE FREED ALREADY.    !!!!
-    * 
-    * The normal dialog response is returned via aDialogResponse parameter.
-    *
-    * @param aDialogResponse - Response from the dialog.  
-    *   For detailed values @see avkon.hrh "CBA constants". E.g. EAknSoftkeyYes
-    *   The only exception is that if cancel is pressed, it will be 0.
-    * @return ETrue if dialog is exiting due to user response.
-    *   Efalse if dialog is dismissed without user input. 
-    *   If EFalse is returned, plug-in MUST NOT act on the response.
-    */
-    IMPORT_C TBool RunLD( TInt& aDialogResponse );
-
-private:    // private interface
-    /**
-    * C++ Constructor
-    *   
-    *   @param - aWaitingDialog.  Pointer to dialog to display. Note that 
-    *       it must be a dialog with EEikDialogFlagWait set. Otherwise, it 
-    *       will panic with EDiagPluginBasePanicBadArgument
-    *       Ownership is transferred to the wrapper.
-    */
-    CDiagPluginWaitingDialogWrapper( CAknDialog* aWaitingDialog );
-
-private:    // Private Data
-    /**
-    * Pointer to the dialog being displayed.
-    * Ownership: Shared. Normally, dialog will dismiss itself. However,
-    * if plug-in is being deleted, it can be deleted by the plug-in as well.
-    */
-    CAknDialog* iWaitingDialog;
-
-    /**
-    * Indicates whether this class is deleted by caller.
-    * Ownership: Not owned. Normally, it will point to a stack entry.
-    */
-    TBool* iIsObjectDeletedPtr;
-    };
-
-#endif // DIAGTESTPLUGINBASE_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagpluginbase/inc/diagresultdetailbasic.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,208 +0,0 @@
-/*
-* 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 "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:  Basic Diagnostics Test Result Detail class
-*
-*/
-
-
-#ifndef DIAGRESULTDETAILBASIC_H
-#define DIAGRESULTDETAILBASIC_H
-
-// INCLUDES
-#include <e32base.h>                    // CBase
-#include <DiagResultDetail.h>           // MDiagResultDetail
-#include <DiagResultsDatabaseItem.h>    // CDiagResultsDatabaseItem::TResult
-
-// FORWARD DECLARATIONS
-class CDiagResultDetailBasicItem;
-
-
-// CONSTANTS
-const TInt KDiagResultDetailBasicVersion  = 1;   // verion of data format.
-
-/**
-*  Diagnostics Result Database Detail  class.
-*
-*  This  class provides  implementation of MDiagResultDetail 
-*  with commonly used methods.
-*
-*  @since S60 v5.0
-*/
-class CDiagResultDetailBasic : public CBase,
-                               public MDiagResultDetail
-    {
-public:
-    /**
-    * Constructor.
-    *
-    * @param aResult - Test Result
-    */
-    IMPORT_C CDiagResultDetailBasic( 
-                    CDiagResultsDatabaseItem::TResult aResult );
-
-    /**
-    * Destructor.
-    */
-    IMPORT_C virtual ~CDiagResultDetailBasic();
-
-    /**
-    * Externalize to a stream
-    *
-    * @param aWriteStream - stream to write to.
-    */
-    IMPORT_C void ExternalizeL( RWriteStream& aWriteStream ) const;
-
-    /**
-    * Update result value
-    * 
-    * @param aResult - Test result
-    */
-    IMPORT_C void SetResult( CDiagResultsDatabaseItem::TResult aResult );
-
-protected: // Interface for Derived class
-    /**
-    * Set data to a field.  This function sets a value to a field.
-    * If data already exists at the same field id, new data will 
-    * over write the old value at the same field.
-    *
-    * @param aFieldId - Unique ID to identify the data.
-    * @param aFieldName - Name of the field. This only for a 
-    *   reference.
-    * @param aValue - Value to set. This can be a TInt,
-    *   const TDesC8& or const TDesC16&.
-    */
-    IMPORT_C void SetValueL( TInt aFieldId,
-                             const TDesC8& aFieldName,
-                             TInt aValue );
-    IMPORT_C void SetValueL( TInt aFieldId,
-                             const TDesC8& aFieldName,
-                             const TDesC8& aValue );
-    IMPORT_C void SetValueL( TInt aFieldId,
-                             const TDesC8& aFieldName,
-                             const TDesC16& aValue );
-
-    /**
-    * Get value. If invalid aFieldId is passed, or type does not 
-    * match, function will leave with KErrArgument. 
-    *
-    * @param aFieldId - Unique id that identifies the data. Same
-    *   value used in SetValueL function.
-    * @param aValue - Output paramater. The data will be stored
-    *   here.
-    * @return KErrNone if successful. If not found KErrNotFound.
-    *   If type does not match, KErrArgument.
-    */
-    IMPORT_C TInt GetValue( TInt aFieldId, TInt& aValue ) const;
-    IMPORT_C TInt GetValue( TInt aFieldId, TPtrC8& aValue ) const;
-    IMPORT_C TInt GetValue( TInt aFieldId, TPtrC16& aValue ) const;
-
-public: // from MDiagResultDetail
-    /**
-    * Get list of supported output
-    *
-    * @param aOutputList   - Returns supported output formats
-    */
-    IMPORT_C virtual void GetSupportedOutput(
-                RArray<TOutputFormat>& aOutputList ) const;
-
-    /**
-    * Check if a given output format is supported.
-    *
-    * @param aOutputFormat - Possible output formate.
-    * @return ETrue if supported. EFalse otherwise.
-    */
-    IMPORT_C virtual TBool IsOutputSupported( TOutputFormat aOutputFormat ) const;
-
-    /**
-    * Output current result to a specified format.
-    *
-    * @param aFormat   Format of desired output.
-    * @param aBuffer   Output buffer.
-    */
-    IMPORT_C virtual void GetOutputL( TOutputFormat aFormat, RBuf& aBuffer ) const;
-
-    /**
-    * Create an icon. Icon can be created based on the results of the test.
-    *
-    * @return An icon that matches the result of the test.
-    **/
-    IMPORT_C virtual CGulIcon* CreateIconL() const;
-
-    /**
-    * Externalize to a CBufFlat. 
-    *   @see MDiagResultDetail::ExternalizeToBufferL
-    */
-    IMPORT_C CBufFlat* ExternalizeToBufferL() const;
-
-protected:
-    /**
-    * BaseConstructL
-    *
-    * @param aReadStream - Initialize from a stream.
-    */
-    IMPORT_C void BaseConstructL( RReadStream& aReadStream );
-
-    /**
-    * BaseConstructL
-    *
-    * @param aBuffer - Buffer to initialize from
-    */
-    IMPORT_C void BaseConstructL( const CBufFlat& aBuffer );
-
-
-private:  // internal methods
-    /**
-    * InternalizeL
-    *
-    * @param aReadStream - Initialize from a stream.
-    */
-    void InternalizeL( RReadStream& aReadStream );
-
-    /**
-    * Insert a new item. This function will delete the old item if item with 
-    * same field id already existsed.
-    *
-    * @param aNewItem - new item to set
-    */
-    void SetItemL( CDiagResultDetailBasicItem* aNewItem );
-
-    /**
-    * Find item by field id
-    *
-    * @param - Field id to look up.
-    * @return - Index in iFields array if look up is successful.
-    *   Return value is negative if look up fails.
-    */
-    TInt FindItem( TInt aFieldId ) const;
-
-
-private: // DATA
-    /**
-    * Test result.
-    */
-    CDiagResultsDatabaseItem::TResult            iResult;
-    
-    /**
-    * List of fields it contains.
-    *   All items are owned by this class.
-    */
-    RPointerArray<CDiagResultDetailBasicItem>    iFields;
-    };
-
-
-
-#endif // DIAGRESULTDETAILBASIC_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagpluginbase/inc/diagresultdetailbasicitem.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +0,0 @@
-/*
-* 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 "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:  Basic Diagnostics Test Result Detail Item class
-*
-*/
-
-
-#ifndef DIAGRESULTDETAILBASICITEM_H
-#define DIAGRESULTDETAILBASICITEM_H
-
-// INCLUDES
-#include <e32base.h>                     //  CBase
-
-// FORWARD DECLARATIONS
-class RWriteStream;
-class RReadStream;
-
-/**
-*  Diagnostics Result Database Detail  Item Classe.
-*
-*  This  class stores information needed for each entry in
-*  CDiagResultDetailBasic.
-*
-*  @since S60 v5.0
-*/
-class CDiagResultDetailBasicItem : public CBase
-    {
-public: // Data Types
-    enum TFieldType 
-        {
-        ETypeInt    = 0,    // data is TInt type
-        ETypeDes16,         // data is TDesC16 type
-        ETypeDes8,          // data is TDesC8 type
-        };
-
-public: // Constructors
-    /**
-    * Two-phase constructor.
-    *
-    * @param aFieldId   - Field Id.
-    * @param aFieldName - Textual description of the field.
-    * @param aValue     - TInt value.
-    */
-    static CDiagResultDetailBasicItem* NewL( TInt aFieldId,
-                                             const TDesC8& aFieldName,
-                                             TInt aValue );
-
-    /**
-    * Two-phase constructor.
-    *
-    * @param aFieldId   - Field Id.
-    * @param aFieldName - Textual description of the field.
-    * @param aValue     - TDesC8 Text value.
-    */
-    static CDiagResultDetailBasicItem* NewL( TInt aFieldId,
-                                             const TDesC8& aFieldName,
-                                             const TDesC8& aValue );
-
-    /**
-    * Two-phase constructor.
-    *
-    * @param aFieldId   - Field Id
-    * @param aFieldName - Textual description of the field.
-    * @param aValue     - TDesC16 Text value.
-    */
-    static CDiagResultDetailBasicItem* NewL( TInt aFieldId,
-                                                const TDesC8& aFieldName,
-                                                const TDesC16& aValue );
-
-    /**
-    * Two-phase constructor with RReadStream
-    *
-    * @param aReadStream - stream to internalize from
-    */
-    static CDiagResultDetailBasicItem* NewL( RReadStream& aReadStream );
-
-    /**
-    * Destructor
-    */
-    ~CDiagResultDetailBasicItem();
-
-    /**
-    * Get the field Id.
-    *
-    * @return Field Id.
-    */
-    TInt FieldId() const;
-
-    /**
-    * Get the name of the field. 
-    *
-    * @return Name of the field.
-    */
-    const TDesC8& FieldName() const;
-
-    /**
-    * Get the type of the field.
-    *
-    * @return Type of the field. 
-    */
-    TFieldType Type() const;
-
-    /**
-    * Get value. If invalid aFieldId is passed, or type does not 
-    * match, function will leave with KErrArgument. 
-    *
-    * @param aValue - Output paramater. The data will be stored
-    *   here.
-    * @param KErrArgument if type does not match
-    */
-    TInt GetValue( TInt& aValue ) const;
-    TInt GetValue( TPtrC8& aValue ) const;
-    TInt GetValue( TPtrC16& aValue ) const;
-
-    /**
-    * Externalize to a stream.
-    *
-    */
-    void ExternalizeL( RWriteStream& aWriteStream ) const;
-
-private:  
-    /**
-    * Constructor 
-    *
-    */
-    CDiagResultDetailBasicItem();
-
-    /**
-    * Internalize from stream.
-    *
-    * @param aReadStream - stream to read from.
-    */
-    void InternalizeL( RReadStream& aReadStream );
-
-
-private: // Private Data Types
-    
-    typedef union 
-        {
-        HBufC16*    iBuffer16;
-        HBufC8*     iBuffer8;
-        TInt        iInt;
-        } TValue;
-
-private: // Data
-    TFieldType  iFieldType;
-    TInt        iFieldId;
-    TValue      iValue;
-    HBufC8*     iFieldName;
-    };
-
-#endif // DIAGRESULTDETAILBASICITEM_h
-
-// End of File
-
--- a/devicediagnosticsfw/diagpluginbase/inc/diagsuitepluginbase.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,325 +0,0 @@
-/*
-* 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 "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:  Diagnostics Suite Plug-in Base class
-*
-*/
-
-
-#ifndef DIAGSUITEPLUGINBASE_H
-#define DIAGSUITEPLUGINBASE_H
-
-// INCLUDES
-#include <e32cmn.h>             // TUid
-#include <DiagSuitePlugin.h>    // MDiagSuitePlugin
-#include <ConeResLoader.h>      // RConeResourceLoader
-
-// FORWARD DECLARATIONSn
-class CDiagPluginConstructionParam;
-class CAknDialog;
-
-/**
-*  Diagnostics Framework Suite Plugin Base Class
-*
-*  This base class provides common implementation of Suite Plugin.
-*
-*  @since S60 v5.0
-*/
-class CDiagSuitePluginBase : public CActive,
-                             public MDiagSuitePlugin
-    {
-public:
-    /**
-    * Destructor. 
-    */
-    IMPORT_C virtual ~CDiagSuitePluginBase();
-
-protected:  // new API for derived class.
-    /**
-    * C++ constructor
-    * 
-    * @param aConstructionParam Construction parameters.
-    */
-    IMPORT_C CDiagSuitePluginBase( CDiagPluginConstructionParam* aParam );
-    
-    /**
-    * Base class constructor
-    * This initializes CDiagSuitePluginBase class. Derived class must call this
-    * method in its ConstructL() method.
-    *  
-    * @param aResourceFileName Drive and name of resource file in format
-    *                          <path>:<rsc_file_name>
-    */
-    IMPORT_C void BaseConstructL( const TDesC& aResourceFileName );
-
-    /**
-    * Run a dialog that waits for response. It is highly recommended that
-    * all plug-ins use this function to display dialogs since it can detect
-    * deletion of dialogs.
-    *
-    * The difference from normal dialog RunLD is that this function returns 
-    * ETrue if dialog exited due to user response and 
-    * EFalse if it was by other means, such as object deletion or
-    * by DismissWaitingDialog() method. 
-    * 
-    *   !!!! NOTE THAT PLUG-IN MUST RETURN IMMEDIATELY WITHOUT ACCESSING  !!!!
-    *   !!!! LOCAL VARIABLE OR LOCAL FUNCITONS WHEN THIS FUNCTION RETURNS !!!!
-    *   !!!! EFalse VALUE BECAUSE "THIS" POINTER MAY BE FREED ALREADY.    !!!!
-    * 
-    * The normal dialog response is returned via aDialogResponse reference.
-    * This function can only display one dialog at a time. Calling it again 
-    * while it has not been returned will cause panic.
-    *
-    * @param aDialog - Pointer to dialog to run. If the dialog does not have
-    *   EEikDialogFlagWait flag set, it will panic with EDiagPluginBasePanicBadArgument
-    * @param aDialogResponse - Response from the dialog.  
-    *   For detailed values @see avkon.hrh "CBA constants". E.g. EAknSoftkeyYes
-    *   The only exception is that if cancel is pressed, it will be 0.
-    * @return ETrue if dialog is exiting due to user response.
-    *   Efalse if dialog is dismissed withou user input. 
-    *   If EFalse is returned, plug-in MUST NOT act on the response.
-    *   Also, since plug-in may have been deleted,
-    */
-    IMPORT_C TBool RunWaitingDialogL( CAknDialog* aDialog, TInt& aDialogResponse );
-
-    /**
-    * Dismiss the waiting dialog. This will cause the RunDialogLD() function to return with
-    * aIsUserResponse = Efalse. If nothing is being displayed, this function
-    * does nothing.
-    */
-    IMPORT_C void DismissWaitingDialog();
-
-    /**
-    * CCoeEnv
-    *   @return Reference to CCoeEnv.
-    */
-    IMPORT_C CCoeEnv& CoeEnv();
-
-public: // from MDiagPlugin
-    /**
-    * Get the name of the service that the plug-in provides.
-    *
-    * @return The name of the service.
-    **/
-    IMPORT_C virtual const TDesC& ServiceLogicalName() const;
-
-    /**
-    * Get logical dependencies. One plug-in can have multiple dependencies 
-    * to other plug-ins.
-    *
-    * @param aArray An array of logical names.
-    * @see ServiceLogicalName.
-    **/
-    IMPORT_C virtual void GetLogicalDependenciesL( CPtrCArray& aArray ) const;
-
-    /**
-    * Return the type of the plug-in. 
-    *
-    * @return The type.
-    * @see TPluginType.
-    **/
-    IMPORT_C virtual TPluginType Type() const;
-
-    /**
-    * Create an icon that represents the plug-in.
-    *
-    * @return An icon. 
-    **/
-    IMPORT_C virtual CGulIcon* CreateIconL() const;
-
-    /**
-    * Get the order number that this plug-in should appear in its parent list.
-    *
-    * @return TUint order number.
-    **/
-    IMPORT_C virtual TUint Order() const;
-
-    /**
-    * @see MDiagPlugin::IsSupported
-    **/
-    IMPORT_C virtual TBool IsSupported() const;
-
-    /**
-    * Get UID of the parent.
-    *
-    * @return The parent UID.
-    **/
-    IMPORT_C virtual TUid ParentUid() const;
-
-    /**
-    * @see MDiagPlugin::SetDTorIdKey()
-    */
-    IMPORT_C virtual void SetDtorIdKey( TUid aDtorIdKey );
-
-    /**
-    * Get title of the plugin. Default implementation in CDiagSuitePluginBase
-    *   will leave with KErrNotSupported. If plug-in has a title, plug-ins 
-    *   must override this method.
-    * @see MDiagPlugin::GetTitleL() 
-    */
-    IMPORT_C virtual HBufC* GetTitleL() const;
-
-    /**
-    * Get description of the plugin. Default implementation in 
-    *   CDiagSuitePluginBase will leave with KErrNotSupported. If plug-in 
-    *   has a description, plug-ins must override this method.
-    * @see MDiagPlugin::GetDescriptionL()
-    */
-    IMPORT_C virtual HBufC* GetDescriptionL() const;
-
-    /**
-    * Reserved for future use/plugin's custom functionality. 
-    *
-    * @param aUid   Unique identifier of the operation.
-    * @param aParam Custom parameter. 
-    * @return TAny pointer. Custom data.
-    */
-    IMPORT_C virtual TAny* CustomOperationL( TUid aUid, TAny* aParam );
-
-    /**
-    * Reserved for future use/plugin's custom functionality. 
-    *
-    * @param aUid   Unique identifier of the property
-    * @param aParam Custom parameter.
-    * @return TAny pointer. Custom data. 
-    */
-    IMPORT_C virtual TAny* GetCustomL( TUid aUid, TAny* aParam );
-
-    /**
-    * Initialization Step. This method is called before any plugin are executed.
-    * This can be used to clean up any left over data from previous execution 
-    * sessions. All plug-ins in execution plan will have a chance to clean 
-    * up before any plug-ins are run.  This is a synchrouns method.
-    *
-    * @param aEngine - Reference to engine.
-    * @param aSkipDependencyCheck - If ETrue, plug-in will be executed
-    *   even if dependencies are not executed.
-    * @param aCustomParams Custom parameters for plug-ins. 
-    *   It can used to pass arbitrary data from application to the plug-ins.
-    *   Owership is not transferred and plug-in must not delete
-    *   this parameter.
-    **/
-    IMPORT_C virtual void TestSessionBeginL( MDiagEngineCommon& aEngine,
-                                             TBool aSkipDependencyCheck,
-                                             TAny* aCustomParams );
-
-    /**
-    * Cleanup Step. This method is called after all plug-ins in the 
-    * execution plan is completed to clean up any left over data from 
-    * current sesison. This can be used to clean up any data that
-    * provides dependent service created for its dependencies.
-    * This is a synchrouns method.
-    *
-    * @param aEngine - Reference to engine.
-    * @param aSkipDependencyCheck - If ETrue, plug-in as executed
-    *   even if dependencies are not executed.
-    * @param aCustomParams Custom parameters for plug-ins. 
-    *   It can used to pass arbitrary data from application to the plug-ins.
-    *   Owership is not transferred and plug-in must not delete
-    *   this parameter.
-    **/
-    IMPORT_C virtual void TestSessionEndL( MDiagEngineCommon& aEngine,
-                                           TBool aSkipDependencyCheck,
-                                           TAny* aCustomParams );
-
-
-public: // from MDiagSuitePlugin
-
-    /**
-    * Get children of this plug-in. The pointer array is guaranteed to 
-    * be sorted defined by TSortOrder.
-    *
-    * @param aChildren Children are appended into this array.
-    * @param aOrder Sorting algorithm.
-    **/
-    IMPORT_C virtual void GetChildrenL( RPointerArray<MDiagPlugin>& aChildren,
-                                        TSortOrder aOrder ) const;
-
-    /**
-    * Add one child. Child can be either a test suite or a test plug-in.
-    *
-    * @param aChild - Child to be added. However, ownership is not
-    *               transferred here. 
-    **/
-    IMPORT_C virtual void AddChildL( MDiagPlugin* aChild );
-
-    /**
-    * Get the Uids. The uid is used for database access.
-    * Test suites return a list of their childrens' uids.
-    *
-    * @param aUids  An UID array.
-    * @param aOrder Sorting algorithm.
-    **/
-    IMPORT_C virtual void GetChildrenUidsL( RArray<TUid>& aUids,
-                                    TSortOrder aOrder ) const;
-
-    /**
-    * Called before one of its test plug-in is executed.  Note that it will
-    * not be called if two of its children plug-ins are executed in 
-    * sequence.
-    *
-    * @param aSkipDependencyCheck - If ETrue dependency is disabled 
-    *   for this test session.
-    * @param aDependencyExecution - If ETrue, this suite is being
-    *   executed to satisfy dependency.
-    **/
-    IMPORT_C virtual void PrepareChildrenExecutionL( TDiagSuiteExecParam* aParam,
-                                                     TBool aSkipDependencyCheck,
-                                                     TBool aDependencyExecution );
-
-    /**
-    * Called before test execution switches to another test suite.
-    *
-    * @param aExecParams Parameters for suite post execution
-    * @param aSkipDependencyCheck - If ETrue dependency is disabled 
-    *   for this test session.
-    * @param aDependencyExecution - If ETrue, this suite is being
-    *   executed to satisfy dependency.
-    **/
-    IMPORT_C virtual void FinalizeChildrenExecutionL( TDiagSuiteExecParam* aParam,
-                                                      TBool aSkipDependencyCheck,
-                                                      TBool aDependencyExecution );
-
-    /**
-    * Cancels pre/post execution. Cancellation is expected to be synchronous.
-    * Suite plug-in must not call ContinueExecutionL().
-    *
-    * @param aReason - Reason why ExecutionStopL() is being called.
-    **/
-    IMPORT_C virtual void ExecutionStopL( TStopReason aReason );
-
-private:    // Private Data Types
-    class TPrivateData;
-
-private:    // Private data
-    /**
-    * Plug-in constructor parameter.
-    * Ownership: this
-    */
-    CDiagPluginConstructionParam* iConstructionParam;
-
-    /**
-    * CCoeEnv. This is needed for handling resources. 
-    */
-    CCoeEnv& iCoeEnv;
-
-    /**
-    * Plug-in base's private data
-    */
-    TPrivateData* iData;
-    };
-
-#endif // DIAGSUITEPLUGINBASE_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagpluginbase/inc/diagtestpluginbase.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,589 +0,0 @@
-/*
-* 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 "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:  Diagnostics Test Plug-in  Base class
-*
-*/
-
-
-#ifndef DIAGTESTPLUGINBASE_H
-#define DIAGTESTPLUGINBASE_H
-
-// INCLUDES
-#include <DiagTestPlugin.h>     // MDiagTestPlugin
-#include <ConeResLoader.h>      // RConeResourceLoader
-#include <DiagResultsDatabaseItem.h>    // CDiagResultsDatabaseItem::TResult
-#include <DiagEngineWatchdogTypes.h>    // TDiagEngineWatchdogTypes
-
-// FORWARD DECLARATIONS
-class CDiagResultsDbItemBuilder;
-class TDiagTestPluginBasePrivateData;
-class CDiagPluginConstructionParam;
-class CAknDialog;
-
-/**
-*  Diagnostics Framework Test Plugin  Base Class
-*
-*  This class provides further simplification of test execution.
-*  It handles execution parameter and reporting results to engine
-*
-*  @since S60 v5.0
-*/
-class CDiagTestPluginBase : public CActive,
-                            public MDiagTestPlugin
-    {
-public: // C++ Destructor
-    /**
-    * Destructor.
-    */
-    IMPORT_C virtual ~CDiagTestPluginBase();
-
-protected: // new API for derived class
-    /**
-    * C++ constructor
-    * 
-    *   Note that BaseConstructL() must be called to complete object construction.
-    * @param aConstructionParam Construction parameters.
-    */
-    IMPORT_C CDiagTestPluginBase( CDiagPluginConstructionParam* aConstructionParam );
-    
-    /**
-    * 2nd phase Base class constructor
-    * This initializes CDiagTestPluginBase class. Derived class must call this
-    * method in its ConstructL() method.
-    *  
-    * @param aResourceFileName Drive and name of resource file in format
-    *                          <path>:<rsc_file_name>
-    */
-    IMPORT_C void BaseConstructL( const TDesC& aResourceFileName );
-
-    /**
-    * Verify that all dependencies are satisfied. Also returns a list of
-    * failed dependencies.
-    *
-    * @param aEngine. Reference to engine, which provides references to
-    *   database session and plug-in pool.
-    * @param aFailedUids. If ETrue is returned, the parameter is NULL.
-    *           if EFalse is returned, the parameter points to an array that
-    *           can be used to query UIDs of failed dependencies. Client is
-    *           responsible of closing the array.
-    * @return ETrue if all dependencies are executed successfully.
-    *         EFalse if one or more dependencies are failed.
-    */
-    IMPORT_C virtual TBool AreDependenciesSatisfiedL( MDiagEngineCommon& aEngine,
-                                            RArray<TUid>*& aFailedUids ) const;
-
-    /**
-    * Check result of dependencies. This will check each dependency and
-    * determine the best overall result of all the dependencies.
-    *
-    * @param aEngine. Reference to engine, which provides references to
-    *   database session and plug-in pool.
-    * @param aFailedUids. If ESuccess is returned, the parameter is NULL.
-    *           Otherwise the parameter points to an array that
-    *           can be used to query UIDs of failed dependencies. Client is
-    *           responsible of closing the array.
-    * @return Result of the dependency check. If multiple depencies or suites
-    *   are included, it will return the most appropreate result.
-    */
-    IMPORT_C virtual CDiagResultsDatabaseItem::TResult VerifyDependenciesL( 
-        MDiagEngineCommon& aEngine,
-        RArray<TUid>*& aFailedUids ) const;
-
-    /**
-    * Returns execution parameter. 
-    *   Note that this function should be called only during test execution. 
-    *   If called in other states, it will Panic with EDiagPluginBasePanicInvalidState
-    *
-    * @return Execution parameter.
-    */
-    IMPORT_C TDiagTestExecParam& ExecutionParam();
-
-    /**
-    * Check if current test session has dependency check skip flag set.
-    *   Note that this function should be called only during test execution. 
-    *   If called in other states, it will Panic with EDiagPluginBasePanicInvalidState
-    * 
-    * @return ETrue if dependency check is disabled for this execution sesison.
-    *   EFalse if dependency check is enabled.
-    */
-    IMPORT_C TBool IsDependencyCheckSkipped() const;
-
-    /**
-    * Check if current test is being executed to satisfy dependency or
-    *   if it is being executed explicitly.
-    *   Note that this function should be called only during test execution. 
-    *   If called in other states, it will Panic with EDiagPluginBasePanicInvalidState
-    *
-    * @return ETrue - If it is to satisfy dependency.
-    *   EFalse - If it is being executed explicitly.
-    */
-    IMPORT_C TBool IsDependencyExecution() const;
-
-    /**
-    * Get custom parameter passed to from the engine
-    *   Note that this function should be called only during test execution. 
-    *   If called in other states, it will Panic with EDiagPluginBasePanicInvalidState
-    * 
-    * @return Custom parameter. Ownership is not transferred.
-    */
-    IMPORT_C TAny* CustomParam() const;
-
-    /**
-    * Get currently result db item builder.
-    *   Note that this function should be called only during test execution. 
-    *   If called in other states, it will Panic with EDiagPluginBasePanicInvalidState
-    *
-    * @return Reference to current CDiagResultsDbItemBuilder.
-    */
-    IMPORT_C CDiagResultsDbItemBuilder& ResultsDbItemBuilder();
-
-    /**
-    * Report test progress test observer.
-    *   This function will call engine's TestProgressL method with watchdog
-    *   type value that is based on plug-in RunMode.
-    *
-    *   If EAutomatic plug-in, it will use EDiagEngineWatchdogTypeNonInteractive.
-    *   If EInteractiveView or EInteractiveDialog, EDiagEngineWatchdogTypeInteractive. 
-    *
-    *   When watchdog is timed out, it will stop test with test result
-    *   CDiagResultsDatabaseItem::EWatchdogCancel.
-    *
-    *   Note that this function should be called only during test execution. 
-    *   If called in other states, it will Panic with EDiagPluginBasePanicInvalidState
-    *
-    * @param aCurrentStep - Current execution step
-    */
-    IMPORT_C void ReportTestProgressL( TUint aCurrentStep );
-
-    /**
-    * Reset watchdog value and watchdog failure result type.
-    *   When watchdog is timed out, it will use the given result type as
-    *   value to report back to engine.  
-    *
-    *   Note that this function should be called only during test execution. 
-    *   If called in other states, it will Panic with EDiagPluginBasePanicInvalidState
-    *
-    * @param aWatchdogType - Type of watchdog requested.
-    * @param aResultType - Result to report when wachdog is failed.
-    */
-    IMPORT_C void ResetWatchdog( TDiagEngineWatchdogTypes aWatchdogType,
-                                 CDiagResultsDatabaseItem::TResult aResultType );
-
-    /**
-    * Reset watchdog value and watchdog failure result type.
-    *   For most plug-ins, the other ResetWatchdog should be better. 
-    *   This should be used only if specific time must be given for the step.
-    *
-    *   When watchdog is timed out, it will use the given result type as
-    *   value to report back to engine.  
-    *
-    *   Note that this function should be called only during test execution. 
-    *   If called in other states, it will Panic with EDiagPluginBasePanicInvalidState
-    *
-    * @param aTimeToCompletion - Time needed to complete current operation.
-    *   Unit is in microseconds.
-    * @param aResultType - Result to report when wachdog is failed.
-    */
-    IMPORT_C void ResetWatchdog( 
-        TInt aTimeToCompletion,
-        CDiagResultsDatabaseItem::TResult aResultType );
-
-    /**
-    * Reset watchdog value and watchdog failure result type to default values.
-    *   This will also reset watchdog on engine.
-    *
-    *   Note that this function should be called only during test execution. 
-    *   If called in other states, it will Panic with EDiagPluginBasePanicInvalidState
-    *
-    */
-    IMPORT_C void ResetWatchdogToDefault();
-
-    /**
-    * Report test result to test observer. 
-    *   Note that this function should be called only during test execution. 
-    *   If called in other states, it will Panic with EDiagPluginBasePanicInvalidState
-    *
-    *   This function will also call StopAndCleanupL(), which will call 
-    *   DoStopAndCleanupL(). After CompleteTestL() is called, ExecutionParam() and
-    *   other test state specific API will fail.
-    *
-    * @param aResult - Test result.
-    */
-    IMPORT_C void CompleteTestL( CDiagResultsDatabaseItem::TResult aResult );
-
-    /**
-    * Stop current execution and free any data associated with the test.
-    *   This method will call DoStopAndCleanupL() function to allow
-    *   derived class to clean up.
-    *   
-    *   It will also call DismissWaitingDialog() and CActive::Cancel().
-    *
-    *   If derived class overrides ExecutionStopL() function, this function
-    *   must be called by derived version of ExecutionStopL() to allow
-    *   proper clean up of CDiagTestPluginBase.
-    *
-    *   @see CDiagTestPluginBase::ExecutionStopL
-    */
-    IMPORT_C void StopAndCleanupL();
-
-    /**
-    * Run a dialog that waits for response. It is highly recommended that
-    * all plug-ins use this function to display dialogs since it can detect
-    * deletion of dialogs.
-    *
-    * The difference from normal dialog RunLD is that this function returns 
-    * ETrue if dialog exited due to user response and 
-    * EFalse if it was by other means, such as object deletion or
-    * by DismissWaitingDialog() method. 
-    * 
-    *   !!!! NOTE THAT PLUG-IN MUST RETURN IMMEDIATELY WITHOUT ACCESSING  !!!!
-    *   !!!! LOCAL VARIABLE OR LOCAL FUNCITONS WHEN THIS FUNCTION RETURNS !!!!
-    *   !!!! EFalse VALUE BECAUSE "THIS" POINTER MAY BE FREED ALREADY.    !!!!
-    * 
-    * The normal dialog response is returned via aDialogResponse reference.
-    * This function can only display one dialog at a time. Calling it again 
-    * while it has not been returned will cause panic.
-    *
-    * @param aDialog - Pointer to dialog to run. If the dialog does not have
-    *   EEikDialogFlagWait flag set, it will panic with EDiagPluginBaseBadArgument
-    * @param aDialogResponse - Response from the dialog.  
-    *   For detailed values @see avkon.hrh "CBA constants". E.g. EAknSoftkeyYes
-    *   The only exception is that if cancel is pressed, it will be 0.
-    * @return ETrue if dialog is exiting due to user response.
-    *   Efalse if dialog is dismissed withou user input. 
-    *   If EFalse is returned, plug-in MUST NOT act on the response.
-    *   Also, since plug-in may have been deleted,
-    */
-    IMPORT_C TBool RunWaitingDialogL( CAknDialog* aDialog, TInt& aDialogResponse );
-
-    /**
-    * Dismiss the waiting dialog. This will cause the RunDialogLD() function to return with
-    * aIsUserResponse = Efalse. If nothing is being displayed, this function
-    * does nothing.
-    */
-    IMPORT_C void DismissWaitingDialog();
-
-    /**
-    * CCoeEnv
-    *   @return Reference to CCoeEnv.
-    */
-    IMPORT_C CCoeEnv& CoeEnv();
-
-    /**
-    * Check if current test is being executed as a single plugin or 
-    * as a part of a suite
-    *   Note that this function should be called only during test execution. 
-    *   If called in other states, it will Panic with EDiagPluginBasePanicInvalidState
-    *
-    * @return ETrue - If run as a single plugin
-    *   EFalse - If run as a part of a suite
-    */
-    IMPORT_C TBool SinglePluginExecution() const;
-    
-protected:  // to be implemented by derived classes
-    /**
-    * Execute test. This is called by CDiagTestPluginBase::RunTestL()
-    *   Note that CDiagTestPluginBase takes ownership of all parameters
-    *   given in RunTestL() function. If specific parameter is needed
-    *   use the following set of functions:
-    *
-    *   Parameters are available via the following APIs.
-    *       Observer:               ExecutionParam().Observer();
-    *       Engine:                 ExecutionParam().Engine();
-    *       Dependency Execution:   IsDependencyExecution();
-    *       Skip Depdency:          IsDependencyCheckSkipped();
-    *       Custom Parameter:       CustomParam();
-    *
-    *   Also, a new instance of CDiagResultsDbItemBuilder is created and
-    *   accessible via:
-    *
-    *       Result Db Item Builder: ResultsDbItemBuilder();
-    */
-    virtual void DoRunTestL() = 0;
-
-    /**
-    * Stop current execution and free any data associated with the test.
-    *   This is called by StopAndCleanupL
-    */
-    virtual void DoStopAndCleanupL() = 0;
-
-    /**
-    * This is called by CDiagTestPluginBase::ExecutionStopL() to allow 
-    *   the derived class to provide additional behavior in ExecutionStopL().
-    *   Default implementation does nothing. For more information about
-    *   how this is called, @see CDiagTestPluginBase::ExecutionStopL()
-    *
-    * @param aReason - Reason why ExecutionStopL() is being called.
-    * @param aTestResult - Test result to write to in database.
-    *   This is IN/OUT parameter. By default, it contains default result based on
-    *   aReason. Plug-in can provide different test result, assign new result
-    *   to this variable.
-    *
-    */
-    IMPORT_C virtual void DoExecutionStopL( MDiagTestPlugin::TStopReason aReason,
-                                            CDiagResultsDatabaseItem::TResult& aTestResult );
-
-protected:  // From CActive
-    /**
-    * RunError. Handle leaves from test. If test is currently running, 
-    * CDiagTestPluginBase will handle the error by calling 
-    * CompleteTestL( CDiagResultsDatabaseItem::EFailed ). If test was
-    * not running, it will return the error back to active scheduler.
-    * 
-    * If this behavior is not desired, derived class should override this
-    * method.
-    * 
-    * For parameters and return value, 
-    * @see CActive::RunError
-    */
-    IMPORT_C virtual TInt RunError( TInt aError );
-
-protected: // from MDiagTestPlugin
-    /**
-    * Handle execution stop.
-    *   @see MDiagTestPlugin::ExecutionStopL()
-    * 
-    *   This method does the following:
-    *       a) Call DoExecutionStopL()   
-    *       b) Call StopAndCleanupL()  -> Calls DoStopAndCleanupL()
-    *       c) Return either EWatchdogCancel or ECancelled depending on
-    *           the stop reason. 
-    *   
-    *   Note: If derived class wants override this function, be sure to 
-    *   call StopAndCleanupL() to allow proper clean up of 
-    *   CDiagTestPluginBase class. StopAndCleanupL() will call
-    *   DoStopAndCleanupL(). 
-    *
-    *   @see DoExecutionStopL()
-    *   @see StopAndCleanupL() 
-    */
-    IMPORT_C virtual CDiagResultsDatabaseItem* ExecutionStopL( TStopReason aReason );
-
-protected:    // from MDiagTestPlugin
-    /**
-    * Get the name of the service that the plug-in provides.
-    *
-    * @return The name of the service.
-    */
-    IMPORT_C virtual const TDesC& ServiceLogicalName() const;
-
-    /**
-    * Get logical dependencies. One plug-in can have multiple dependencies to 
-    * other plug-ins.
-    *
-    * @param aArray An array of logical names.
-    * @see ServiceLogicalNameL
-    */
-    IMPORT_C virtual void GetLogicalDependenciesL( CPtrCArray& aArray ) const;
-
-    /**
-    * Return the type of the plug-in. 
-    *
-    * @return The type.
-    * @see TPluginType.
-    */
-    IMPORT_C virtual TPluginType Type() const;
-
-    /**
-    * Create an icon that represents the plug-in.
-    *
-    * @return An icon. 
-    */
-    IMPORT_C virtual CGulIcon* CreateIconL() const;
-
-    /**
-    * @see MDiagPlugin::IsSupported
-    */
-    IMPORT_C virtual TBool IsSupported() const;
-
-    /**
-    * Get the order number that this plug-in should appear in its parent list.
-    *
-    * @return TUint order number.
-    */
-    IMPORT_C virtual TUint Order() const;
-
-    /**
-    * Get UID of the parent.
-    *
-    * @return The parent UID.
-    */
-    IMPORT_C virtual TUid ParentUid() const;
-
-    /**
-    * @see MDiagPlugin::SetDTorIdKey()
-    */
-    IMPORT_C virtual void SetDtorIdKey( TUid aDtorIdKey );
-
-    /**
-    * Get title of the plugin. Default implementation in CDiagTestPluginBase 
-    *   will leave with KErrNotSupported. If plug-in has a title, plug-ins 
-    *   must override this method.
-    * @see MDiagPlugin::GetTitleL() 
-    */
-    IMPORT_C virtual HBufC* GetTitleL() const;
-
-    /**
-    * Get description of the plugin. Default implementation in 
-    *   CDiagTestPluginBase will leave with KErrNotSupported. If plug-in 
-    *   has a description, plug-in must override this method.
-    * @see MDiagPlugin::GetDescriptionL()
-    */
-    IMPORT_C virtual HBufC* GetDescriptionL() const;
-
-    /**
-    * Reserved for future use/plugin's custom functionality. 
-    *
-    * @param aUid   Unique identifier of the operation.
-    * @param aParam Custom parameter. 
-    * @return TAny pointer. Custom data.
-    */
-    IMPORT_C virtual TAny* CustomOperationL( TUid aUid, TAny* aParam );
-
-    /**
-    * Reserved for future use/plugin's custom functionality. 
-    *
-    * @param aUid   Unique identifier of the property
-    * @param aParam Custom parameter.
-    * @return TAny pointer. Custom data. 
-    */
-    IMPORT_C virtual TAny* GetCustomL( TUid aUid, TAny* aParam );
-
-    /**
-    * Initialization Step. This method is called before any plugin are executed.
-    * This can be used to clean up any left over data from previous execution 
-    * sessions. All plug-ins in execution plan will have a chance to clean 
-    * up before any plug-ins are run.  This is a synchrouns method.
-    *
-    * @param aEngine - Reference to engine.
-    * @param aSkipDependencyCheck - If ETrue, plug-in will be executed
-    *   even if dependencies are not executed.
-    * @param aCustomParams Custom parameters for plug-ins. 
-    *   It can used to pass arbitrary data from application to the plug-ins.
-    *   Owership is not transferred and plug-in must not delete
-    *   this parameter.
-    */
-    IMPORT_C virtual void TestSessionBeginL( MDiagEngineCommon& aEngine,
-                                             TBool aSkipDependencyCheck,
-                                             TAny* aCustomParams );
-
-    /**
-    * Cleanup Step. This method is called after all plug-ins in the 
-    * execution plan is completed to clean up any left over data from 
-    * current sesison. This can be used to clean up any data that
-    * provides dependent service created for its dependencies.
-    * This is a synchrouns method.
-    *
-    * @param aEngine - Reference to engine.
-    * @param aSkipDependencyCheck - If ETrue, plug-in as executed
-    *   even if dependencies are not executed.
-    * @param aCustomParams Custom parameters for plug-ins. 
-    *   It can used to pass arbitrary data from application to the plug-ins.
-    *   Owership is not transferred and plug-in must not delete
-    *   this parameter.
-    */
-    IMPORT_C virtual void TestSessionEndL( MDiagEngineCommon& aEngine,
-                                           TBool aSkipDependencyCheck,
-                                           TAny* aCustomParams );
-
-
-    /**
-    * Execute diagnostics test.
-    * @see MDiagTestPlugin::RunTestL
-    */
-    IMPORT_C virtual void RunTestL( TDiagTestExecParam* aExecParam,
-                                    TBool aSkipDependencyCheck,
-                                    TBool aDependencyExecution,
-                                    TAny* aCustomParams );
-
-    /**
-    * Suspend test.  
-    * @see MDiagTestPlugin::SuspendL
-    */
-    IMPORT_C virtual void SuspendL();
-
-    /**
-    * Resume test. 
-    * @see MDiagTestPlugin::ResumeL
-    */
-    IMPORT_C virtual void ResumeL();
-
-    /**
-    * Create test result detail.
-    * @see CDiagTestPluginBase::CreateDetailL
-    */
-    IMPORT_C virtual MDiagResultDetail* CreateDetailL( 
-        const CDiagResultsDatabaseItem& aResult ) const;
-
-private:    // private functions
-    /**
-    * Stop and clean up CDiagTestPluginBase
-    */
-    void BaseStopAndCleanup();
-
-    /**
-    * Utility function to get all dependent test plug-ins. If suite is found,
-    * it will be expanded to test plug-ins.
-
-    * @param aEngine. Reference to engine, which provides references to
-    *   database session and plug-in pool.
-    * @param aPluginList - Output array. Upon completion, it will hold
-    *   list of test plug-ins. If this plug-in does not depend on any tests, 
-    *   it will be empty.
-    *   Ownership of individual items are not trasferred, so ResetAndDestroy()
-    *   must not be called.
-    */
-    void GetAllDependentTestsL( MDiagEngineCommon& aEngine,
-                                RPointerArray< MDiagTestPlugin >& aPluginList ) const;
-
-    /**
-    * Utility function to check results of tests in array and come up with
-    * best overall result of tests. 
-    * @param aPluginList - List of test plug-ins.
-    * @param aFailedUidList - Output array. Upon completion, it will contain
-    *   list of uids that failed.
-    * @return Overall result of dependent tets.
-    */
-    CDiagResultsDatabaseItem::TResult SummarizeOverallTestResultsL( 
-        MDiagEngineCommon& aEngine,
-        const RPointerArray< MDiagTestPlugin >& aPluginList,
-        RArray< TUid >& aFailedUidList ) const;
-
-
-private:    // Private Data Type
-    // Forward declaration.
-    class TPrivateData;
-
-private:    // Private Data
-    /**
-    * Plug-in constructor parameter.
-    * Ownership: this
-    */
-    CDiagPluginConstructionParam* iConstructionParam;
-
-    /**
-    * CCoeEnv. This is needed for handling resources. 
-    */
-    CCoeEnv& iCoeEnv;
-
-    /**
-    * Plug-in base's private data
-    */
-    TPrivateData* iData;
-    };
-
-#endif // DIAGTESTPLUGINBASE_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagpluginbase/src/diagpluginbaseutils.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-/*
-* 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 "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:  Collection of utility functions useful for plugins
-*
-*/
-
-
-// SYSTEM INCLUDE FILES
-#include <bautils.h>                        // BaflUtils
-#include <ConeResLoader.h>                  // RConeResourceLoader
-#include <f32file.h>                        // RFs
-#include <data_caging_path_literals.hrh>    // KDC_RESOURCE_FILES_DIR
-#include <DiagFrameworkDebug.h>             // LOGSTRING
-
-// USER INCLUDE FILES
-#include "diagpluginbaseutils.h"        // CDiagPluginUtils
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// DiagPluginBaseUtils::OpenResourceFileL()
-// ---------------------------------------------------------------------------
-//
-void DiagPluginBaseUtils::OpenResourceFileL(
-        const TDesC& aResourceFileName,
-        RConeResourceLoader& aResourceLoader,
-        RFs& aFsSession )
-    {
-    // Find the resource file:
-    TParse parse;
-    parse.Set( aResourceFileName, &KDC_RESOURCE_FILES_DIR, NULL );
-    TFileName fileName( parse.FullName() );
-
-    // Get language of resource file:
-    BaflUtils::NearestLanguageFile( aFsSession, fileName );
-
-    LOGSTRING( "CDiagPluginBaseUtils::OpenLocalizedResourceFileL: FileName:" )
-    LOGTEXT( fileName )
-
-    // Open resource file:
-    TRAPD( err, aResourceLoader.OpenL( fileName ) )
-
-#ifdef _DEBUG
-    if ( err != KErrNone )
-        {
-        // if it is a debug build, and it fails to load the resource, try 
-        // again with C: as base directory.
-        // This allows installation of plug-ins as SIS file without changing
-        // code in the plug-in itself.
-        _LIT( KCDriveName, "c" );
-        fileName.Replace( 0, 1, KCDriveName );
-
-        LOGSTRING( "CDiagPluginBaseUtils::OpenLocalizedResourceFileL: Retry:" )
-        LOGTEXT( fileName )
-        TRAP( err, aResourceLoader.OpenL( fileName ) )
-        }
-#endif // _DEBUG
-
-    if ( err != KErrNone )
-        {
-        LOGSTRING2( "CDiagPluginBaseUtils::OpenLocalizedResourceFileL:"
-            L" Failed err = %d", err )
-        User::Leave( err );
-        }
-
-    LOGSTRING( "CDiagPluginBaseUtils::OpenLocalizedResourceFileL: Resource Opened" )
-    }
-
-// End of File
-
--- a/devicediagnosticsfw/diagpluginbase/src/diagpluginwaitingdialogwrapper.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
-* 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 "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:  Class definition of CDiagPluginWaitingDialogWrapper
-*
-*/
-
-
-// CLASS DECLARATION
-#include "diagpluginwaitingdialogwrapper.h"
-
-// SYSTEM INCLUDE FILES
-#include <AknDialog.h>                      // CAknDialog
-
-// USER INCLUDE FILES
-#include "diagpluginbase.pan"               // Panic Codes
-
-// LOCAL TYPES
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CDiagPluginWaitingDialogWrapper::NewL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDiagPluginWaitingDialogWrapper* CDiagPluginWaitingDialogWrapper::NewL( 
-        CAknDialog* aWaitingDialog )
-    {
-    CleanupStack::PushL( aWaitingDialog );
-    CDiagPluginWaitingDialogWrapper* self = new ( ELeave ) 
-        CDiagPluginWaitingDialogWrapper( aWaitingDialog );
-    CleanupStack::Pop( aWaitingDialog );
-
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginWaitingDialogWrapper::CDiagPluginWaitingDialogWrapper
-// ---------------------------------------------------------------------------
-//
-CDiagPluginWaitingDialogWrapper::CDiagPluginWaitingDialogWrapper( 
-        CAknDialog* aWaitingDialog )
-    :   iWaitingDialog( aWaitingDialog ),
-        iIsObjectDeletedPtr( NULL )
-    {
-    // Dialog must not be NULL
-    __ASSERT_ALWAYS( iWaitingDialog, Panic( EDiagPluginBasePanicBadArgument ) );
-
-    // Dialog must have EEikDialogFlagWait flag set
-    __ASSERT_ALWAYS( !(iWaitingDialog->DialogFlags() & EEikDialogFlagWait),
-                     Panic( EDiagPluginBasePanicBadArgument ) );
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginWaitingDialogWrapper::~CDiagPluginWaitingDialogWrapper
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDiagPluginWaitingDialogWrapper::~CDiagPluginWaitingDialogWrapper()
-    {
-    if( iIsObjectDeletedPtr )
-        {
-        // If this pointer is set, we are still in RunLD().
-        __ASSERT_DEBUG( iWaitingDialog, Panic( EDiagPluginBasePanicInternal ) );
-        
-        *iIsObjectDeletedPtr = ETrue;
-        iIsObjectDeletedPtr = NULL;
-
-        delete iWaitingDialog;
-        iWaitingDialog = NULL;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagPluginWaitingDialogWrapper::RunLD
-// ---------------------------------------------------------------------------
-EXPORT_C TBool CDiagPluginWaitingDialogWrapper::RunLD( TInt& aDialogResponse )
-    {
-    // Make sure that this function is not called twice.
-    __ASSERT_ALWAYS( iIsObjectDeletedPtr == NULL,
-        Panic( EDiagPluginBasePanicInvalidState ) );
-
-    TBool isObjectDeleted = EFalse;
-    
-    iIsObjectDeletedPtr = &isObjectDeleted;
-
-    aDialogResponse = iWaitingDialog->RunLD();
-    // Do not access local variable until isObjectDeleted
-    // value is checked first. "this" pointer may be invalid at this pointer.
-
-    if ( isObjectDeleted )
-        {
-        // this class is already deleted. Exit immediately.
-        return EFalse;
-        }
-    else
-        {
-        // iWaitingDialog->RunLD() returned with user response.
-        iIsObjectDeletedPtr = NULL;
-        iWaitingDialog = NULL;
-
-        // Self-destruct as it is a "D" function.
-        delete this;
-        return ETrue;
-        }
-    }
-
-// End of File
-
--- a/devicediagnosticsfw/diagpluginbase/src/diagresultdetailbasic.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,378 +0,0 @@
-/*
-* 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 "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:  Class definition of CDiagResultDetailBasic
-*
-*/
-
-
-// CLASS DECLARATION
-#include "diagresultdetailbasicitem.h"  // CDiagResultDetailBasicItem
-
-// SYSTEM INCLUDE FILES
-#include <DiagResultDetailBasic.h>
-#include <s32mem.h>                     // RBufReadStream / RBufWriteStream
-
-// USER INCLUDE FILES
-#include "diagpluginbase.pan"           // panic codes
-
-
-// CONSTANTS
-static const TInt KDiagResultDetailBasicBufferSize = 1024;
-
-// ======== LOCAL FUNCTIONS ========
-// ---------------------------------------------------------------------------
-// Compares two items by order field id
-// ---------------------------------------------------------------------------
-//
-static TInt CompareItemById( const CDiagResultDetailBasicItem& aFirst,
-                             const CDiagResultDetailBasicItem& aSecond )
-    {
-    return aFirst.FieldId() - aSecond.FieldId();
-    }
-
-// ======== MEMBER FUNCTIONS ========
-// ---------------------------------------------------------------------------
-// CDiagResultDetailBasic::CDiagResultDetailBasic()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDiagResultDetailBasic::CDiagResultDetailBasic( 
-        CDiagResultsDatabaseItem::TResult aResult )
-    :   iResult( aResult )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultDetailBasic::~CDiagResultDetailBasic()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDiagResultDetailBasic::~CDiagResultDetailBasic()
-    {
-    iFields.ResetAndDestroy();
-    iFields.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultDetailBasic::BaseConstructL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagResultDetailBasic::BaseConstructL( RReadStream& aReadStream )
-    {
-    InternalizeL( aReadStream );
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultDetailBasic::BaseConstructL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagResultDetailBasic::BaseConstructL( const CBufFlat& aBuf )
-    {
-    // if empty buffer, do nothing.
-    if ( aBuf.Size() == 0 )
-        {
-        return;
-        }
-
-    RBufReadStream readStream;
-
-    readStream.Open( aBuf, 0 );
-
-    InternalizeL( readStream );
-
-    readStream.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultDetailBasic::SetResult()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagResultDetailBasic::SetResult( 
-        CDiagResultsDatabaseItem::TResult aResult )
-    {
-    iResult = aResult;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultDetailBasic::SetValueL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagResultDetailBasic::SetValueL( TInt aFieldId,
-                                                 const TDesC8& aFieldName,
-                                                 TInt aValue )
-    {
-    CDiagResultDetailBasicItem* newItem = CDiagResultDetailBasicItem::NewL( 
-        aFieldId,
-        aFieldName,
-        aValue );
-
-    // no need to call clean up stack since ownership is
-    // transferred.
-    SetItemL( newItem );
-    newItem = NULL;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDiagResultDetailBasic::SetValueL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagResultDetailBasic::SetValueL( TInt aFieldId,
-                                                 const TDesC8& aFieldName,
-                                                 const TDesC8& aValue )
-                
-    {
-    CDiagResultDetailBasicItem* newItem = CDiagResultDetailBasicItem::NewL( 
-        aFieldId,
-        aFieldName,
-        aValue );
-    
-    // no need to call clean up stack since ownership is
-    // transferred.
-    SetItemL( newItem );
-    newItem = NULL;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDiagResultDetailBasic::SetValueL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagResultDetailBasic::SetValueL( TInt aFieldId,
-                                                 const TDesC8& aFieldName,
-                                                 const TDesC16& aValue )
-                
-    {
-    CDiagResultDetailBasicItem* newItem = CDiagResultDetailBasicItem::NewL( 
-        aFieldId,
-        aFieldName,
-        aValue );
-    
-    // no need to call clean up stack since ownership is
-    // transferred.
-    SetItemL( newItem );
-    newItem = NULL;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDiagResultDetailBasic::GetValue
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CDiagResultDetailBasic::GetValue( TInt aFieldId,
-                                                TInt& aValue ) const
-    {
-    TInt itemIndex = FindItem( aFieldId );
-
-    if ( itemIndex < 0 )
-        {
-        // item not found
-        return KErrNotFound;
-        }
-
-    return iFields[itemIndex]->GetValue( aValue );
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultDetailBasic::GetValueL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CDiagResultDetailBasic::GetValue( TInt aFieldId,
-                                                TPtrC8& aValue ) const
-    {
-    TInt itemIndex = FindItem( aFieldId );
-
-    if ( itemIndex < 0 )
-        {
-        // item not found
-        return KErrNotFound;
-        }
-    
-    return iFields[itemIndex]->GetValue( aValue );
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultDetailBasic::GetValueL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CDiagResultDetailBasic::GetValue( TInt aFieldId,
-                                                TPtrC16& aValue ) const
-    {
-    TInt itemIndex = FindItem( aFieldId );
-
-    if ( itemIndex < 0 )
-        {
-        // item not found
-        return KErrNotFound;
-        }
-    
-    return iFields[itemIndex]->GetValue( aValue );
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultDetailBasic::InternalizeL
-// ---------------------------------------------------------------------------
-//
-void CDiagResultDetailBasic::InternalizeL( RReadStream& aReadStream )
-    {
-    iFields.ResetAndDestroy();
-
-    // Make sure that we are dealing with the correct version of data format.
-    TUint32 version = aReadStream.ReadUint32L();
-
-    if ( version != ( TUint32 )KDiagResultDetailBasicVersion )
-        {
-        User::Leave( KErrCorrupt );
-        }
-
-    // Read the number of items in the list.
-    TUint32 count = aReadStream.ReadUint32L();
-
-    // Read each item
-    for ( TUint i = 0; i < count; i++ )
-        {
-        CDiagResultDetailBasicItem* newItem = 
-            CDiagResultDetailBasicItem::NewL( aReadStream );
-
-        SetItemL( newItem ); // ownership passed.
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDiagResultDetailBasic::ExternalizeL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagResultDetailBasic::ExternalizeL(
-        RWriteStream& aWriteStream ) const
-    {
-    // write only if there is something to write..
-    if ( iFields.Count() > 0 )
-        {
-        aWriteStream.WriteUint32L( KDiagResultDetailBasicVersion );
-        aWriteStream.WriteUint32L( iFields.Count() );
-
-        for ( TInt i = 0; i < iFields.Count(); i++ )
-            {
-            iFields[i]->ExternalizeL( aWriteStream );
-            }
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDiagResultDetailBasic::ExternalizeToBufferL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CBufFlat* CDiagResultDetailBasic::ExternalizeToBufferL() const
-    {
-    CBufFlat* buffer = CBufFlat::NewL( KDiagResultDetailBasicBufferSize );
-
-    CleanupStack::PushL( buffer );
-
-    RBufWriteStream bufStream;
-    bufStream.Open( *buffer );
-
-    ExternalizeL( bufStream );
-
-    bufStream.CommitL();
-    bufStream.Close();
-
-    CleanupStack::Pop( buffer );
-
-    return buffer;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDiagResultDetailBasic::GetSupportedOutput
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagResultDetailBasic::GetSupportedOutput(
-        RArray<TOutputFormat>& /* aOutputList */ ) const
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultDetailBasic::IsOutputSupported
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CDiagResultDetailBasic::IsOutputSupported(
-        MDiagResultDetail::TOutputFormat /* aOutputFormat */ ) const
-    {
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultDetailBasic::GetOutputL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagResultDetailBasic::GetOutputL(
-        MDiagResultDetail::TOutputFormat /* aOutputFormat */,
-        RBuf& /* aBuffer */ ) const
-    {
-    User::Leave( KErrNotSupported );
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultDetailBasic::CreateIconL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CGulIcon* CDiagResultDetailBasic::CreateIconL() const
-    {
-    User::Leave( KErrNotSupported );
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultDetailBasic::SetItemL
-// ---------------------------------------------------------------------------
-//
-void CDiagResultDetailBasic::SetItemL( CDiagResultDetailBasicItem* aNewItem )
-    {
-    // Check if an item with same field id already exists.
-    TInt itemIndex = FindItem( aNewItem->FieldId() );
-    
-    if ( itemIndex >= 0 )
-        {
-        // duplicate found. Remove old one.
-        CDiagResultDetailBasicItem* oldItem = iFields[itemIndex];
-        iFields.Remove( itemIndex );
-        delete oldItem;
-        }
-
-    CleanupStack::PushL( aNewItem );
-    TLinearOrder<CDiagResultDetailBasicItem> order( *CompareItemById );
-
-    // if a duplicate item is still found, leave.
-    User::LeaveIfError( iFields.InsertInOrder( aNewItem, order ) );
-    CleanupStack::Pop( aNewItem );
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultDetailBasic::FindItem
-// ---------------------------------------------------------------------------
-//
-TInt CDiagResultDetailBasic::FindItem( TInt aFieldId ) const
-    {
-    for ( TInt i = 0; i < iFields.Count(); i++ )
-        {
-        if ( iFields[i]->FieldId() == aFieldId )
-            {
-            return i;
-            }
-        }
-    return -1;
-    }
-
-// End of File
-
--- a/devicediagnosticsfw/diagpluginbase/src/diagresultdetailbasicitem.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,278 +0,0 @@
-/*
-* 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 "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:  Class definition of CDiagResultDetailBasicItem
-*
-*/
-
-
-// SYSTEM INCLUDE FILES
-#include <s32strm.h>            // RReadStream, RWriteStream
-
-// USER INCLUDE FILES
-#include "diagresultdetailbasicitem.h"
-
-// CONSTANTS
-const TInt KDiagResultDetailBasicMaxNameLen = 50;
-const TInt KDiagResultDetailBasicMaxFieldValueLen = 1024;
-
-// ======== MEMBER FUNCTIONS ========
-// ---------------------------------------------------------------------------
-// CDiagResultDetailBasicItem::NewL
-// ---------------------------------------------------------------------------
-//
-CDiagResultDetailBasicItem* CDiagResultDetailBasicItem::NewL(
-            TInt aFieldId,
-            const TDesC8& aFieldName,
-            TInt aValue )
-    {
-    CDiagResultDetailBasicItem* self = new( ELeave )
-        CDiagResultDetailBasicItem();
-    CleanupStack::PushL( self );
-
-    self->iFieldId = aFieldId;
-    self->iFieldName = aFieldName.AllocL();
-    self->iFieldType = ETypeInt;
-    self->iValue.iInt = aValue;
-    
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultDetailBasicItem::NewL
-// ---------------------------------------------------------------------------
-//
-CDiagResultDetailBasicItem* CDiagResultDetailBasicItem::NewL(
-            TInt aFieldId,
-            const TDesC8& aFieldName,
-            const TDesC8& aValue )
-    {
-    CDiagResultDetailBasicItem* self = new( ELeave )
-        CDiagResultDetailBasicItem();
-    CleanupStack::PushL( self );
-
-    self->iFieldId = aFieldId;
-    self->iFieldName = aFieldName.AllocL();
-    self->iFieldType = ETypeDes8;
-    self->iValue.iBuffer8 = aValue.AllocL();
-    
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultDetailBasicItem::NewL
-// ---------------------------------------------------------------------------
-//
-CDiagResultDetailBasicItem* CDiagResultDetailBasicItem::NewL(
-            TInt aFieldId,
-            const TDesC8& aFieldName,
-            const TDesC16& aValue )
-    {
-    CDiagResultDetailBasicItem* self = new( ELeave )
-        CDiagResultDetailBasicItem();
-    CleanupStack::PushL( self );
-
-    self->iFieldId = aFieldId;
-    self->iFieldName = aFieldName.AllocL();
-    self->iFieldType = ETypeDes16;
-    self->iValue.iBuffer16 = aValue.AllocL();
-    
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultDetailBasicItem::NewL
-// ---------------------------------------------------------------------------
-//
-CDiagResultDetailBasicItem* CDiagResultDetailBasicItem::NewL(
-            RReadStream& aReadStream )
-    {
-    CDiagResultDetailBasicItem* self = new( ELeave )
-        CDiagResultDetailBasicItem();
-    CleanupStack::PushL( self );
-
-    self->InternalizeL( aReadStream );
-    
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultDetailBasicItem::CDiagResultDetailBasicItem
-// ---------------------------------------------------------------------------
-//
-CDiagResultDetailBasicItem::CDiagResultDetailBasicItem()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultDetailBasicItem::~CDiagResultDetailBasicItem
-// ---------------------------------------------------------------------------
-//
-CDiagResultDetailBasicItem::~CDiagResultDetailBasicItem()
-    {
-    delete iFieldName;
-    iFieldName = NULL;
-
-    switch ( Type() )
-        {
-        case ETypeDes16:
-            delete iValue.iBuffer16;
-            iValue.iBuffer16 = NULL;
-            break;
-        case ETypeDes8:
-            delete iValue.iBuffer8;
-            iValue.iBuffer8 = NULL;
-            break;
-        default:
-            // do nothing
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultDetailBasicItem::FieldId
-// ---------------------------------------------------------------------------
-//
-TInt CDiagResultDetailBasicItem::FieldId() const
-    {
-    return iFieldId;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultDetailBasicItem::FieldName
-// ---------------------------------------------------------------------------
-//
-const TDesC8& CDiagResultDetailBasicItem::FieldName() const
-    {
-    return *iFieldName;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultDetailBasicItem::Type
-// ---------------------------------------------------------------------------
-//
-CDiagResultDetailBasicItem::TFieldType CDiagResultDetailBasicItem::Type() const
-    {
-    return iFieldType;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultDetailBasicItem::GetValue
-// ---------------------------------------------------------------------------
-//
-TInt CDiagResultDetailBasicItem::GetValue( TInt& aValue ) const
-    {
-    if ( Type() != ETypeInt )
-        return KErrArgument;
-
-    aValue = iValue.iInt;
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultDetailBasicItem::GetValue
-// ---------------------------------------------------------------------------
-//
-TInt CDiagResultDetailBasicItem::GetValue( TPtrC8& aValue ) const
-    {
-    if ( Type() != ETypeDes8 )
-        return KErrArgument;
-    
-    aValue.Set( iValue.iBuffer8->Des() );
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultDetailBasicItem::GetValue
-// ---------------------------------------------------------------------------
-//
-TInt CDiagResultDetailBasicItem::GetValue( TPtrC16& aValue ) const
-    {
-    if ( Type() != ETypeDes16 )
-        return KErrArgument;
-    
-
-    aValue.Set( iValue.iBuffer16->Des() );
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultDetailBasicItem::InternalizeL
-// ---------------------------------------------------------------------------
-//
-void CDiagResultDetailBasicItem::InternalizeL( RReadStream& aReadStream )
-    {
-    // first read id
-    iFieldId = aReadStream.ReadInt32L();
-
-    // read field Type
-    iFieldType = ( TFieldType ) aReadStream.ReadUint32L();
-
-    // read field name
-    iFieldName = HBufC8::NewL( aReadStream, KDiagResultDetailBasicMaxNameLen );
-
-    switch ( Type() )
-        {
-        case ETypeInt:
-            iValue.iInt = aReadStream.ReadInt32L();
-            break;
-        case ETypeDes16:
-            iValue.iBuffer16 = HBufC16::NewL( aReadStream, 
-                KDiagResultDetailBasicMaxFieldValueLen );
-            break;
-        case ETypeDes8:
-            iValue.iBuffer8 = HBufC8::NewL( aReadStream, 
-                KDiagResultDetailBasicMaxFieldValueLen );
-            break;
-        default:
-            User::Leave( KErrCorrupt );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagResultDetailBasicItem::ExternalizeL
-// ---------------------------------------------------------------------------
-//
-void CDiagResultDetailBasicItem::ExternalizeL( RWriteStream& aWriteStream ) const
-    {
-    // first field id
-    aWriteStream.WriteInt32L( iFieldId );
-
-    // write field Type
-    aWriteStream.WriteUint32L( ( TUint )Type() );
-
-    // write field name
-    aWriteStream << FieldName();
-
-    switch ( Type() )
-        {
-        case ETypeInt:
-            aWriteStream.WriteInt32L( iValue.iInt );
-            break;
-        case ETypeDes16:
-            aWriteStream << *( iValue.iBuffer16 );
-            break;
-        case ETypeDes8:
-            aWriteStream << *( iValue.iBuffer8 );
-            break;
-        default:
-            User::Leave( KErrCorrupt );
-        }
-    }
-
-// End of File
-
--- a/devicediagnosticsfw/diagpluginbase/src/diagsuitepluginbase.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,460 +0,0 @@
-/*
-* 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 "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:  Class definition of CDiagSuitePluginBase
-*
-*/
-
-
-// CLASS DECLARATION
-#include <DiagSuitePluginBase.h>            // CDiagSuitePluginBase
-
-// SYSTEM INCLUDE FILES
-#include <ecom.h>                           // REComSession
-#include <coemain.h>                        // CCoeEnv::Static()
-#include <StringLoader.h>                   // StringLoader
-#include <DiagPluginConstructionParam.h>    // CDiagPluginConstructionParam
-#include <DiagSuiteExecParam.h>             // TDiagSuiteExecParam
-#include <DiagSuiteObserver.h>              // MDiagSuiteObserver
-#include <DiagFrameworkDebug.h>             // LOGSTRING
-#include <DiagPluginWaitingDialogWrapper.h> // CDiagPluginWaitingDialogWrapper
-
-// USER INCLUDE FILES
-#include "diagpluginbaseutils.h"            // DiagPluginBaseUtils
-#include "diagpluginbase.pan"               // Panic Codes
-
-
-// LOCAL TYPES
-/**
-* Internal private data class for CDiagSuitePluginBase
-*/
-class CDiagSuitePluginBase::TPrivateData
-    {
-public:
-    /** 
-    * C++ Constructor
-    * All variables must be initialized here since this does not derive from
-    * CBase.
-    * Note that this class does not manage memory. Instead it is left to
-    * CDiagSuitePluginBase class to allocate/free memory.
-    */
-    TPrivateData( CCoeEnv& aCoeEnv )
-        :   iDtorIdKey( TUid::Null() ),
-            iWaitingDialogWrapper( NULL ),
-            iChildren(),
-            iPluginResourceLoader( aCoeEnv )
-        {
-        }
-
-public: // data
-    /**
-    * ECOM Destructor key.
-    */
-    TUid iDtorIdKey;
-
-    /**
-    * Wrapper class for displaying waiting dialogs.
-    * Ownership: Shared. Normally, dialog will dismiss itself. However,
-    * if plug-in is being deleted, it can be deleted by the plug-in as well.
-    */
-    CDiagPluginWaitingDialogWrapper* iWaitingDialogWrapper;
-
-    /**
-    * Array of children.
-    */
-    RPointerArray<MDiagPlugin> iChildren;
-
-    /**
-    * Resource loader for derived class resource.
-    */
-    RConeResourceLoader iPluginResourceLoader;
-    };
-
-
-// ======== LOCAL FUNCTIONS ========
-// ---------------------------------------------------------------------------
-// Compares two plug-ins by order number.
-// ---------------------------------------------------------------------------
-//
-static TInt ComparePluginByOrder( const MDiagPlugin& aFirst,
-                                   const MDiagPlugin& aSecond )
-    {
-    return aFirst.Order() - aSecond.Order();
-    }
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CDiagSuitePluginBase::CDiagSuitePluginBase
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDiagSuitePluginBase::CDiagSuitePluginBase( 
-        CDiagPluginConstructionParam* aParam )
-    :   CActive( EPriorityStandard ),
-        iConstructionParam( aParam ),
-        iCoeEnv( *CCoeEnv::Static() )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagSuitePluginBase::BaseConstructL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagSuitePluginBase::BaseConstructL( const TDesC& aResourceFileName )
-    {
-    iData = new ( ELeave ) TPrivateData( CoeEnv() );
-
-    DiagPluginBaseUtils::OpenResourceFileL(
-        aResourceFileName, iData->iPluginResourceLoader, CoeEnv().FsSession() );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDiagSuitePluginBase::~CDiagSuitePluginBase
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDiagSuitePluginBase::~CDiagSuitePluginBase()
-    {
-    if ( iData )
-        {
-        DismissWaitingDialog();
-        iData->iChildren.Close();
-
-        if ( iData->iDtorIdKey != TUid::Null() )
-            {
-            REComSession::DestroyedImplementation( iData->iDtorIdKey );
-            }
-
-        iData->iPluginResourceLoader.Close();
-
-        delete iData;
-        iData = NULL;
-        }
-
-    delete iConstructionParam;
-    iConstructionParam = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// from MDiagPlugin
-// CDiagSuitePluginBase::ServiceLogicalName
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC& CDiagSuitePluginBase::ServiceLogicalName() const
-    {
-    return iConstructionParam->ServiceProvided();
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagPlugin
-// CDiagSuitePluginBase::GetLogicalDependenciesL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagSuitePluginBase::GetLogicalDependenciesL( 
-        CPtrCArray& aArray ) const
-    {
-    aArray.CopyL( iConstructionParam->ServicesRequired() );
-    }
-
-
-// ---------------------------------------------------------------------------
-// From MDiagPlugin
-// CDiagSuitePluginBase::Type
-// ---------------------------------------------------------------------------
-//
-EXPORT_C MDiagPlugin::TPluginType CDiagSuitePluginBase::Type() const
-    {
-    return ETypeSuitePlugin;
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagPlugin
-// CDiagSuitePluginBase::CreateIconL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CGulIcon* CDiagSuitePluginBase::CreateIconL() const
-    {
-        // Currently, GetTitleL() is not supported.
-        User::Leave( KErrNotSupported );
-        return NULL;
-    }
-
-
-// ---------------------------------------------------------------------------
-// From MDiagTestPlugin
-// CDiagSuitePluginBase::IsSupported
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CDiagSuitePluginBase::IsSupported() const
-    {
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagPlugin
-// CDiagSuitePluginBase::ParentUid
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TUid CDiagSuitePluginBase::ParentUid() const
-    {
-    return iConstructionParam->ParentUid();
-    }
-
-
-// ---------------------------------------------------------------------------
-// From MDiagPlugin
-// CDiagSuitePluginBase::SetDtorIdKey
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagSuitePluginBase::SetDtorIdKey( TUid aDtorIdKey )
-    {
-    LOGSTRING2( "CDiagTestPluginBase::SetDtorIdKey: New=0x%x",
-        aDtorIdKey.iUid )
-
-    __ASSERT_ALWAYS( iData, Panic( EDiagPluginBasePanicInvalidState ) );
-
-    iData->iDtorIdKey = aDtorIdKey;
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagSuitePlugin
-// CDiagSuitePluginBase::GetTitleL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C HBufC* CDiagSuitePluginBase::GetTitleL() const
-    {
-    // Currently, GetTitleL() is not supported.
-    User::Leave( KErrNotSupported );
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagSuitePlugin
-// CDiagSuitePluginBase::GetDescriptionL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C HBufC* CDiagSuitePluginBase::GetDescriptionL() const
-    {
-    // Currently, GetDescriptionL() is not supported.
-    User::Leave( KErrNotSupported );
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagPlugin
-// CDiagSuitePluginBase::CustomOperationL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TAny* CDiagSuitePluginBase::CustomOperationL( TUid /*aUid*/, 
-                                                       TAny* /*aParam*/ )
-    {
-    LOGSTRING( "CDiagTestPluginBase::CustomOperationL: KErrNotSupported" )
-    User::Leave( KErrNotSupported );
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagPlugin
-// CDiagSuitePluginBase::GetCustomL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TAny* CDiagSuitePluginBase::GetCustomL( TUid /* aUid */,
-                                                 TAny* /*aParam*/ )
-    {
-    LOGSTRING( "CDiagTestPluginBase::CustomOperationL: KErrNotSupported" )
-    User::Leave( KErrNotSupported );
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagPlugin
-// CDiagSuitePluginBase::Order
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TUint CDiagSuitePluginBase::Order() const
-    {
-    return iConstructionParam->Order();
-    }
-
-
-// ---------------------------------------------------------------------------
-// From MDiagSuitePlugin
-// CDiagSuitePluginBase::GetChildrenL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagSuitePluginBase::GetChildrenL( RPointerArray<MDiagPlugin>& aChildren,
-                                                  TSortOrder aOrder ) const
-    {
-    __ASSERT_ALWAYS( iData, Panic( EDiagPluginBasePanicInvalidState ) );
-    __ASSERT_ALWAYS( (aOrder == ENotSorted || aOrder == ESortByPosition),
-                     Panic( EDiagPluginBasePanicBadArgument ) );
-                      
-    TInt count = iData->iChildren.Count();
-    for ( TInt i = 0; i < count; i++ )
-        {
-        aChildren.AppendL( iData->iChildren[i] );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagSuitePlugin
-// CDiagSuitePluginBase::AddChildL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagSuitePluginBase::AddChildL( MDiagPlugin* aChild )
-    {
-    __ASSERT_ALWAYS( iData, Panic( EDiagPluginBasePanicInvalidState ) );
-
-    TLinearOrder<MDiagPlugin> order( *ComparePluginByOrder );
-    User::LeaveIfError( iData->iChildren.InsertInOrderAllowRepeats( aChild, order ) );
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagTestPlugin
-// CDiagSuitePluginBase::TestSessionBeginL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagSuitePluginBase::TestSessionBeginL( 
-        MDiagEngineCommon& /* aEngine */,
-        TBool /* aSkipDependencyCheck */,
-        TAny* /* aCustomParams */ )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagTestPlugin
-// CDiagSuitePluginBase::TestSessionEndL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagSuitePluginBase::TestSessionEndL( 
-        MDiagEngineCommon& /* aEngine */,
-        TBool /* aSkipDependencyCheck */,
-        TAny* /* aCustomParams */ )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagSuitePlugin
-// CDiagSuitePluginBase::PrepareExecutionL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagSuitePluginBase::PrepareChildrenExecutionL( 
-        TDiagSuiteExecParam* aParam,
-        TBool /* aSkipDependencyCheck */,
-        TBool /* aDependencyExecution */)
-    {
-    CleanupStack::PushL( aParam );
-    aParam->Observer().ContinueExecutionL( *this );
-    CleanupStack::PopAndDestroy ( aParam );
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagSuitePlugin
-// CDiagSuitePluginBase::FinalizeExecutionL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagSuitePluginBase::FinalizeChildrenExecutionL( 
-        TDiagSuiteExecParam* aParam,
-        TBool /* aSkipDependencyCheck */,
-        TBool /* aDependencyExecution */ )
-    {
-    CleanupStack::PushL( aParam );
-    aParam->Observer().ContinueExecutionL( *this );
-    CleanupStack::PopAndDestroy ( aParam );
-    }
-
-
-// ---------------------------------------------------------------------------
-// From MDiagSuitePlugin
-// CDiagSuitePluginBase::GetChildrenUidsL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagSuitePluginBase::GetChildrenUidsL( RArray<TUid>& aUids,
-        TSortOrder aOrder ) const
-    {
-    __ASSERT_ALWAYS( iData, Panic( EDiagPluginBasePanicInvalidState ) );
-    __ASSERT_ALWAYS( (aOrder == ENotSorted || aOrder == ESortByPosition),
-                     Panic( EDiagPluginBasePanicBadArgument ) );
-
-    TInt count = iData->iChildren.Count();
-    for ( TInt i = 0; i < count; i++ )
-        {
-        aUids.AppendL( iData->iChildren[i]->Uid() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagSuitePlugin
-// CDiagSuitePluginBase::ExecutionStopL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagSuitePluginBase::ExecutionStopL( TStopReason /* aReason */ )
-    {
-        // Currently, GetTitleL() is not supported.
-        User::Leave( KErrNotSupported );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDiagSuitePluginBase::RunWaitingDialogLD
-// ---------------------------------------------------------------------------
-EXPORT_C TBool CDiagSuitePluginBase::RunWaitingDialogL( CAknDialog* aDialog, 
-        TInt& aDialogResponse )
-    {
-    __ASSERT_ALWAYS( iData, Panic( EDiagPluginBasePanicInvalidState ) );
-
-    // this function can display only one dialog at a time.
-    __ASSERT_ALWAYS( iData->iWaitingDialogWrapper == NULL,
-                     Panic( EDiagPluginBasePanicDialogAlreadyUp ) );
-
-    iData->iWaitingDialogWrapper = CDiagPluginWaitingDialogWrapper::NewL( aDialog );
-
-    TBool isUserResonse = iData->iWaitingDialogWrapper->RunLD( aDialogResponse );
-
-    if ( isUserResonse )
-        {
-        // local variable can be accessed only if it was returned due to
-        // user response.
-        iData->iWaitingDialogWrapper = NULL;
-        }
-
-    return isUserResonse;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagSuitePluginBase::DismissWaitingDialog
-// ---------------------------------------------------------------------------
-EXPORT_C void CDiagSuitePluginBase::DismissWaitingDialog()
-    {
-    __ASSERT_ALWAYS( iData, Panic( EDiagPluginBasePanicInvalidState ) );
-
-    if ( iData->iWaitingDialogWrapper )
-        {
-        LOGSTRING( "CDiagTestPluginBase::DismissWaitingDialog() Dialog dismissed." )
-        delete iData->iWaitingDialogWrapper;
-        iData->iWaitingDialogWrapper = NULL;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagSuitePluginBase::CoeEnv
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CCoeEnv& CDiagSuitePluginBase::CoeEnv() 
-    {
-    return iCoeEnv;
-    }
-
-// End of File
-
--- a/devicediagnosticsfw/diagpluginbase/src/diagtestpluginbase.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1049 +0,0 @@
-/*
-* 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 "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:  Class definition of CDiagTestPluginBase
-*
-*/
-
-
-// CLASS DECLARATION
-#include <DiagTestPluginBase.h>
-
-// SYSTEM INCLUDE FILES
-#include <coemain.h>                        // CCoeEnv::Static()
-#include <DiagTestExecParam.h>              // TDiagTestExecParam
-#include <DiagResultsDbItemBuilder.h>       // CDiagResultsDbItemBuilder
-#include <DiagTestObserver.h>               // MDiagTestObserver
-#include <DiagPluginConstructionParam.h>    // CDiagPluginConstructionParam
-#include <DiagFrameworkDebug.h>             // LOGSTRING
-#include <DiagResultDetailBasic.h>          // CDiagResultDetailBasic
-#include <DiagEngineCommon.h>               // MDiagEngineCommon
-#include <DiagPluginPool.h>                 // CDiagPluginPool
-#include <DiagResultsDatabase.h>            // RDiagResultsDatabase
-#include <DiagPluginWaitingDialogWrapper.h> // CDiagPluginWaitingDialogWrapper
-#include <DiagPluginExecPlan.h>             // MDiagPluginExecPlan
-#include <DiagSuitePlugin.h>                // MDiagSuitePlugin
-// ADO & Platformization Changes
-#include <avkon.hrh>						// EAknSoftkeyYes
-
-// USER INCLUDE FILES
-#include "diagpluginbaseutils.h"            // DiagPluginBaseUtils
-#include "diagpluginbase.pan"               // Panic Codes
-
-// CONSTANTS
-
-// priority of result value. Entries that are earlier have higher priority
-static const CDiagResultsDatabaseItem::TResult KResultPriority[] = 
-    {
-    CDiagResultsDatabaseItem::EQueuedToRun,
-    CDiagResultsDatabaseItem::EDependencyFailed,
-    CDiagResultsDatabaseItem::EFailed,       
-    CDiagResultsDatabaseItem::ECancelled,    
-    CDiagResultsDatabaseItem::ESkipped,      
-    CDiagResultsDatabaseItem::EInterrupted,  
-    CDiagResultsDatabaseItem::EWatchdogCancel,
-    CDiagResultsDatabaseItem::ENotPerformed, 
-    CDiagResultsDatabaseItem::ESuspended,    
-    CDiagResultsDatabaseItem::ESuccess
-    };
-
-static const TInt KResultPriorityCount = 
-    sizeof( KResultPriority ) / sizeof( CDiagResultsDatabaseItem::TResult );
-
-// LOCAL TYPES
-class CDiagTestPluginBase::TPrivateData
-    {
-public:     // Constructor
-    // Note that this is not a C-class, and ALL member must be explicitly initialized.
-    TPrivateData( CCoeEnv& aCoeEnv )
-        :   iDtorIdKey( TUid::Null() ),
-            iPluginResourceLoader( aCoeEnv ),
-            iWaitingDialogWrapper( NULL ),
-            iResultBuilder( NULL ),
-            iExecParam( NULL ),
-            iCustomParam( NULL ),
-            iDependencyCheckSkipped( EFalse ),
-            iDependencyExecution( EFalse ),
-            iSinglePluginExecution( EFalse ),
-            iWatchdogResultType( CDiagResultsDatabaseItem::EWatchdogCancel )
-        {}
-    
-public:
-    /**
-    * ECOM Destructor key.
-    */
-    TUid iDtorIdKey;
-
-    /**
-    * Resource loader for derived class resource.
-    */
-    RConeResourceLoader iPluginResourceLoader;
-
-    /**
-    * Wrapper class for displaying waiting dialogs.
-    * Ownership: Shared. Normally, dialog will dismiss itself. However,
-    * if plug-in is being deleted, it can be deleted by the plug-in as well.
-    */
-    CDiagPluginWaitingDialogWrapper* iWaitingDialogWrapper;
-
-    /**
-    * Results Db Item Builder. This will be used to build the result db item.
-    * Owneship: this.
-    */
-    CDiagResultsDbItemBuilder*  iResultBuilder;
-
-    /**
-    * Test execution parameter.
-    * Ownership: this.
-    */
-    TDiagTestExecParam* iExecParam;
-
-    /**
-    * Custom test execution parameter
-    * Ownership: Does not own. Owned by application.
-    */
-    TAny* iCustomParam;
-
-    /**
-    * This indicates whether this test session has skipped dependency check.
-    */
-    TBool iDependencyCheckSkipped;
-
-    /**
-    * This indicates whether this test is being executed to satisfy dependency.
-    */
-    TBool iDependencyExecution;
-
-    /**
-    * Indicates if the plugin is run as a single plugin
-    * or as a part of suite
-    */
-    TBool iSinglePluginExecution;
-
-    /**
-    * Result type to use when watchdog is timed out.
-    */
-    CDiagResultsDatabaseItem::TResult iWatchdogResultType;
-    };
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CDiagTestPluginBase::CDiagTestPluginBase
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDiagTestPluginBase::CDiagTestPluginBase( 
-        CDiagPluginConstructionParam* aParam )
-    :   CActive( EPriorityStandard ),
-        iConstructionParam( aParam ),
-        iCoeEnv ( *CCoeEnv::Static() )
-    {
-    __ASSERT_ALWAYS( aParam, Panic( EDiagPluginBasePanicBadArgument ) );
-
-    CActiveScheduler::Add(this);
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagTestPluginBase::BaseConstructL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagTestPluginBase::BaseConstructL( const TDesC& aResourceFileName )
-    {
-    iData = new ( ELeave ) TPrivateData( CoeEnv() );
-        
-    DiagPluginBaseUtils::OpenResourceFileL(
-        aResourceFileName, iData->iPluginResourceLoader, CoeEnv().FsSession() );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDiagTestPluginBase::~CDiagTestPluginBase
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDiagTestPluginBase::~CDiagTestPluginBase()
-    {
-    if ( iData )
-        {
-        // In case test was still running, clean up.
-        // It takes care of:
-        //  iData->iWaitingDialog
-        //  iData->iIsDialogDismessedByUserResponsePtr
-        //  iData->iResultBuilder
-        //  iData->iExecParam
-        // It must be trapped, since it is part of object destruction.
-        TRAPD( err, StopAndCleanupL() );
-        if ( err != KErrNone )
-            {
-            /*LOGSTRING3( "CDiagTestPluginBase::~CDiagTestPluginBase(). "
-                L"StopAndCleaupL() failed Uid = 0x%08x , err = %d",
-                Uid(),
-                err );*/
-            }
-
-        // Call DestroyedImplementation only if it was set.
-        // SetDtorIdKey may not have been called if it is not actually an
-        // ECOM plug-in.
-        if ( iData->iDtorIdKey != TUid::Null() )
-            {
-            REComSession::DestroyedImplementation( iData->iDtorIdKey );
-            }
-
-        iData->iPluginResourceLoader.Close();
-
-        delete iData;
-        iData = NULL;
-        }
-
-    delete iConstructionParam;
-    iConstructionParam = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// From CActive
-// CDiagTestPluginBase::RunError
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CDiagTestPluginBase::RunError( TInt aError )
-    {
-    LOGSTRING2( "CDiagTestPluginBase::RunError( %d )", aError )
-    
-    // Check if we are executing a test.
-    if ( iData->iExecParam != NULL )
-        {
-        // Catch error from CompleteTestL. If there is an error while calling
-        // CompleteTestL(), return the error to active scheduler.
-        aError = KErrNone;
-        TRAP( aError, CompleteTestL( CDiagResultsDatabaseItem::EFailed ) );
-        }
-
-    return aError;
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagTestPlugin
-// CDiagTestPluginBase::GetServiceLogicalNameL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC& CDiagTestPluginBase::ServiceLogicalName() const
-    {
-    return iConstructionParam->ServiceProvided();
-    }
-
-
-// ---------------------------------------------------------------------------
-// From MDiagTestPlugin
-// CDiagTestPluginBase::GetLogicalDependenciesL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagTestPluginBase::GetLogicalDependenciesL( 
-        CPtrCArray& aArray ) const
-    {       
-    aArray.CopyL( iConstructionParam->ServicesRequired() );
-    }
-
-
-// ---------------------------------------------------------------------------
-// From MDiagTestPlugin
-// CDiagTestPluginBase::Type
-// ---------------------------------------------------------------------------
-//
-EXPORT_C MDiagPlugin::TPluginType CDiagTestPluginBase::Type() const
-    {
-    return ETypeTestPlugin;
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagTestPlugin
-// CDiagTestPluginBase::CreateIconL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CGulIcon* CDiagTestPluginBase::CreateIconL() const
-    {
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagTestPlugin
-// CDiagTestPluginBase::IsSupported
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CDiagTestPluginBase::IsSupported() const
-    {
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagTestPlugin
-// CDiagTestPluginBase::ParentUid
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TUid CDiagTestPluginBase::ParentUid() const
-    {
-    return iConstructionParam->ParentUid();
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagTestPlugin
-// CDiagTestPluginBase::Order
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TUint CDiagTestPluginBase::Order() const
-    {
-    return iConstructionParam->Order();
-    }
-
-
-// ---------------------------------------------------------------------------
-// From MDiagTestPlugin
-// CDiagTestPluginBase::SetDtorIdKey
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagTestPluginBase::SetDtorIdKey( TUid aDtorIdKey )
-    {
-    __ASSERT_ALWAYS( iData, Panic( EDiagPluginBasePanicInvalidState ) );
-    LOGSTRING3( "CDiagTestPluginBase::SetDtorIdKey: Old=0x%x, New=0x%x",
-        iData->iDtorIdKey.iUid, aDtorIdKey.iUid )
-    iData->iDtorIdKey = aDtorIdKey;
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagTestPlugin
-// CDiagTestPluginBase::GetTitleL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C HBufC* CDiagTestPluginBase::GetTitleL() const
-    {
-    // Currently, GetTitleL() is not supported.
-    User::Leave( KErrNotSupported );
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagTestPlugin
-// CDiagTestPluginBase::GetDescriptionL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C HBufC* CDiagTestPluginBase::GetDescriptionL() const
-    {
-    // Currently, GetDescriptionL() is not supported.
-    User::Leave( KErrNotSupported );
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagTestPlugin
-// CDiagTestPluginBase::CustomOperationL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TAny* CDiagTestPluginBase::CustomOperationL( TUid /* aUid */, 
-        TAny* /* aParam */ ) 
-    {
-    LOGSTRING( "CDiagTestPluginBase::CustomOperationL: KErrNotSupported" )
-    User::Leave( KErrNotSupported );
-    return NULL;
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// From MDiagTestPlugin
-// CDiagTestPluginBase::GetCustomL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TAny* CDiagTestPluginBase::GetCustomL( TUid /* aUid*/,
-                                                TAny* /* aParam */ )
-    {
-    LOGSTRING( "CDiagTestPluginBase::GetCustomL: KErrNotSupported" )
-    User::Leave( KErrNotSupported );
-    return NULL;
-    }
-
-
-// ---------------------------------------------------------------------------
-// From MDiagTestPlugin
-// CDiagTestPluginBase::TestSessionBeginL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagTestPluginBase::TestSessionBeginL( 
-        MDiagEngineCommon& /* aEngine */,
-        TBool /* aSkipDependencyCheck */,
-        TAny* /* aCustomParams */ )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagTestPlugin
-// CDiagTestPluginBase::TestSessionEndL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagTestPluginBase::TestSessionEndL( 
-        MDiagEngineCommon& /* aEngine */,
-        TBool /* aSkipDependencyCheck */,
-        TAny* /* aCustomParams */ )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// From CDiagTestPluginBase
-// CDiagTestPluginBase::RunTestL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagTestPluginBase::RunTestL( 
-        TDiagTestExecParam* aExecParam,
-        TBool aSkipDependencyCheck,
-        TBool aDependencyExecution,
-        TAny* aCustomParam ) 
-    {
-    __ASSERT_ALWAYS( iData, Panic( EDiagPluginBasePanicInvalidState ) );
-    __ASSERT_DEBUG( iData->iExecParam == NULL, Panic( EDiagPluginBasePanicInternal ) );
-    __ASSERT_DEBUG( iData->iResultBuilder == NULL, Panic( EDiagPluginBasePanicInternal ) );
-    delete iData->iExecParam;
-    delete iData->iResultBuilder;
-
-    iData->iExecParam = aExecParam;
-    iData->iCustomParam = aCustomParam;
-    iData->iDependencyCheckSkipped = aSkipDependencyCheck;
-    iData->iDependencyExecution = aDependencyExecution;
-    iData->iResultBuilder = CDiagResultsDbItemBuilder::NewL( Uid(), aDependencyExecution );
-    ResetWatchdogToDefault();
-
-    // checking if this is a single test execution or not 
-    iData->iSinglePluginExecution = 
-        ( aExecParam->Engine().ExecutionPlanL().TestCount( EFalse ) == 1 );
-
-    // verify that dependencies are satisfied.
-    RArray<TUid>* failedUids = NULL;
-    CDiagResultsDatabaseItem::TResult dependencyResult = CDiagResultsDatabaseItem::ESuccess;
-
-    if ( !aSkipDependencyCheck )
-        {
-        dependencyResult =  VerifyDependenciesL( 
-            aExecParam->Engine(),
-            failedUids );
-        }
-	
-    if(dependencyResult == CDiagResultsDatabaseItem::ESuccess)
-	LOGSTRING( "This is to remove compiler warning");
-	
-
-    if ( failedUids )
-        {
-        failedUids->Reset();
-        failedUids->Close();
-        delete failedUids;
-        failedUids = NULL;
-        }
-    DoRunTestL();
-    /*if ( dependencyResult == CDiagResultsDatabaseItem::ESuccess )
-        {
-        
-        }
-    else
-        {
-        // Create dependency failed test result and send it to engine.
-        // Note that we can't actually call CompleteTestL(), or StopAndCleanupL() 
-        // here because we haven't actually called the derived class.
-        // So, reporting and clean up must be done manually.
-
-        // Map dependent test result to what we should report.
-        switch ( dependencyResult )
-            {
-            case CDiagResultsDatabaseItem::EFailed:
-                dependencyResult = CDiagResultsDatabaseItem::EDependencyFailed;
-                break;
-            
-            case CDiagResultsDatabaseItem::EWatchdogCancel:
-            case CDiagResultsDatabaseItem::ESkipped:
-            case CDiagResultsDatabaseItem::EInterrupted:
-            case CDiagResultsDatabaseItem::ENotPerformed:
-                dependencyResult = CDiagResultsDatabaseItem::EDependencySkipped;
-                break;
-
-            default:
-                // no change is needed.
-                break;
-            }
-
-        iData->iResultBuilder->SetTestCompleted( dependencyResult );
-
-        iData->iExecParam->Observer().TestExecutionCompletedL( *this,
-            iData->iResultBuilder->ToResultsDatabaseItemL() );
-
-        BaseStopAndCleanup();
-        }*/
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagTestPluginBase::ExecutionParam
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TDiagTestExecParam& CDiagTestPluginBase::ExecutionParam()
-    {
-    __ASSERT_ALWAYS( iData, Panic( EDiagPluginBasePanicInvalidState ) );
-    __ASSERT_ALWAYS( iData->iExecParam, Panic( EDiagPluginBasePanicInvalidState ) );
-    return *(iData->iExecParam);
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagTestPluginBase::IsDependencyCheckSkipped
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CDiagTestPluginBase::IsDependencyCheckSkipped() const
-    {
-    __ASSERT_ALWAYS( iData, Panic( EDiagPluginBasePanicInvalidState ) );
-    __ASSERT_ALWAYS( iData->iExecParam, Panic( EDiagPluginBasePanicInvalidState ) );
-    return iData->iDependencyCheckSkipped;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagTestPluginBase::IsDependencyExecution
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CDiagTestPluginBase::IsDependencyExecution() const
-    {
-    __ASSERT_ALWAYS( iData, Panic( EDiagPluginBasePanicInvalidState ) );
-    __ASSERT_ALWAYS( iData->iExecParam, Panic( EDiagPluginBasePanicInvalidState ) );
-    return iData->iDependencyExecution;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagTestPluginBase::CustomParam
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TAny* CDiagTestPluginBase::CustomParam() const
-    {
-    __ASSERT_ALWAYS( iData, Panic( EDiagPluginBasePanicInvalidState ) );
-    __ASSERT_ALWAYS( iData->iExecParam, Panic( EDiagPluginBasePanicInvalidState ) );
-    return iData->iCustomParam;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagTestPluginBase::ResultsDbItemBuilder
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDiagResultsDbItemBuilder& CDiagTestPluginBase::ResultsDbItemBuilder()
-    {
-    __ASSERT_ALWAYS( iData, Panic( EDiagPluginBasePanicInvalidState ) );
-    __ASSERT_ALWAYS( iData->iResultBuilder, Panic( EDiagPluginBasePanicInvalidState ) );
-    return *(iData->iResultBuilder);
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagTestPluginBase::ReportTestProgressL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagTestPluginBase::ReportTestProgressL( TUint aCurrentStep )
-    {
-    __ASSERT_ALWAYS( iData, Panic( EDiagPluginBasePanicInvalidState ) );
-    __ASSERT_ALWAYS( iData->iExecParam, Panic( EDiagPluginBasePanicInvalidState ) );
-
-    iData->iExecParam->Observer().TestProgressL( *this, aCurrentStep );
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagTestPluginBase::ResetWatchdog
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagTestPluginBase::ResetWatchdog(
-        TDiagEngineWatchdogTypes aWatchdogType,
-        CDiagResultsDatabaseItem::TResult aWatchdogResultType )
-    {
-    __ASSERT_ALWAYS( iData, Panic( EDiagPluginBasePanicInvalidState ) );
-    __ASSERT_ALWAYS( iData->iExecParam, Panic( EDiagPluginBasePanicInvalidState ) );
-
-    LOGSTRING3( "CDiagTestPluginBase::ResetWatchdog() Type = %d, result = %d",
-        aWatchdogType, aWatchdogResultType )
-
-    iData->iWatchdogResultType = aWatchdogResultType;
-    iData->iExecParam->Engine().ResetWatchdog( aWatchdogType );
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagTestPluginBase::ResetWatchdog
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagTestPluginBase::ResetWatchdog(
-        TInt aTimeToCompletion,
-        CDiagResultsDatabaseItem::TResult aWatchdogResultType )
-    {
-    __ASSERT_ALWAYS( iData, Panic( EDiagPluginBasePanicInvalidState ) );
-    __ASSERT_ALWAYS( iData->iExecParam, Panic( EDiagPluginBasePanicInvalidState ) );
-
-    LOGSTRING3( "CDiagTestPluginBase::ResetWatchdog() time = %d, result = %d",
-        aTimeToCompletion, aWatchdogResultType )
-
-    iData->iWatchdogResultType = aWatchdogResultType;
-    iData->iExecParam->Engine().ResetWatchdog( aTimeToCompletion );
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagTestPluginBase::ResetWatchdogToDefault
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagTestPluginBase::ResetWatchdogToDefault()
-    {
-    __ASSERT_ALWAYS( iData, Panic( EDiagPluginBasePanicInvalidState ) );
-    __ASSERT_ALWAYS( iData->iExecParam, Panic( EDiagPluginBasePanicInvalidState ) );
-
-    if ( RunMode() == EAutomatic )
-        {
-        ResetWatchdog( EDiagEngineWatchdogTypeAutomatic, 
-                       CDiagResultsDatabaseItem::EWatchdogCancel );
-        }
-    else
-        {
-        ResetWatchdog( EDiagEngineWatchdogTypeInteractive, 
-                       CDiagResultsDatabaseItem::EWatchdogCancel );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagTestPluginBase::CompleteTestL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagTestPluginBase::CompleteTestL( 
-        CDiagResultsDatabaseItem::TResult aResult )
-    {
-    __ASSERT_ALWAYS( iData, Panic( EDiagPluginBasePanicInvalidState ) );
-    __ASSERT_ALWAYS( iData->iResultBuilder, Panic( EDiagPluginBasePanicInvalidState ) );
-    __ASSERT_ALWAYS( iData->iExecParam, Panic( EDiagPluginBasePanicInvalidState ) );
-
-    iData->iResultBuilder->SetTestCompleted( aResult );
-    iData->iExecParam->Observer().TestExecutionCompletedL( *this, 
-        iData->iResultBuilder->ToResultsDatabaseItemL() );
-
-    StopAndCleanupL();
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagTestPluginBase::StopAndCleanupL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagTestPluginBase::StopAndCleanupL()
-    {
-    __ASSERT_ALWAYS( iData, Panic( EDiagPluginBasePanicInvalidState ) );
-    // Cancel active request
-    Cancel();
-
-    // Clean up only if it was already running.
-    if ( iData->iExecParam != NULL || iData->iResultBuilder != NULL )
-        {
-        // allow derived class to clean up first.
-        DoStopAndCleanupL();
-
-        BaseStopAndCleanup();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// from MDiagTestPlugin
-// CDiagTestPluginBase::ExecutionStopL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDiagResultsDatabaseItem* CDiagTestPluginBase::ExecutionStopL( 
-        MDiagTestPlugin::TStopReason aReason )
-    {
-    __ASSERT_ALWAYS( iData, Panic( EDiagPluginBasePanicInvalidState ) );
-    __ASSERT_ALWAYS( iData->iResultBuilder, Panic( EDiagPluginBasePanicInvalidState ) );
-    __ASSERT_ALWAYS( iData->iExecParam, Panic( EDiagPluginBasePanicInvalidState ) );
-
-    // Determine default reason.
-    CDiagResultsDatabaseItem::TResult result;
-
-    if ( aReason == MDiagTestPlugin::EWatchdog )
-        {
-        result = iData->iWatchdogResultType;
-        }
-    else
-        {
-        result = CDiagResultsDatabaseItem::EInterrupted;
-        }
-
-    // Allow derived class to provide custom behavor
-    DoExecutionStopL( aReason, result );
-
-    iData->iResultBuilder->SetTestCompleted( result );
-
-    CDiagResultsDatabaseItem* dbItem = iData->iResultBuilder->ToResultsDatabaseItemL();
-
-    // Stop and clean up before returning to the engine.
-    CleanupStack::PushL( dbItem );
-    StopAndCleanupL();
-    CleanupStack::Pop( dbItem );
-    
-    return dbItem;  // ownership transfer
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagTestPlugin
-// CDiagTestPluginBase::SuspendL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagTestPluginBase::SuspendL()
-    {
-    LOGSTRING( "CDiagTestPluginBase::SuspendL: KErrNotSupported" )
-    User::Leave( KErrNotSupported );
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagTestPlugin
-// CDiagTestPluginBase::ResumeL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagTestPluginBase::ResumeL()
-    {
-    LOGSTRING( "CDiagTestPluginBase::ResumeL: KErrNotSupported" )
-    User::Leave( KErrNotSupported );
-    }
-
-// ---------------------------------------------------------------------------
-// From MDiagTestPlugin
-// CDiagTestPluginBase::CreateDetailL
-// ---------------------------------------------------------------------------
-EXPORT_C MDiagResultDetail* CDiagTestPluginBase::CreateDetailL(
-            const CDiagResultsDatabaseItem& aResult ) const        
-    {
-    // Use basic version by default
-    return new( ELeave )CDiagResultDetailBasic( aResult.TestResult() ); 
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDiagTestPluginBase::DoExecutionStopL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagTestPluginBase::DoExecutionStopL( 
-        MDiagTestPlugin::TStopReason /* aReason */,
-        CDiagResultsDatabaseItem::TResult& /* aTestResult */ )
-    {
-    // default implementation. Does nothing.
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagTestPluginBase::AreDependenciesSatisfiedL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CDiagTestPluginBase::AreDependenciesSatisfiedL(
-            MDiagEngineCommon& aEngine,
-            RArray<TUid>*& aFailedUids ) const
-    {
-    CDiagResultsDatabaseItem::TResult result = VerifyDependenciesL( aEngine, aFailedUids );
-
-    return result == CDiagResultsDatabaseItem::ESuccess;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagTestPluginBase::VerifyDependenciesL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDiagResultsDatabaseItem::TResult CDiagTestPluginBase::VerifyDependenciesL(
-        MDiagEngineCommon& aEngine,
-        RArray< TUid >*& aFailedUids ) const
-    {
-    // Create a failed uid list array
-    RArray<TUid>* failedUids = new( ELeave )RArray<TUid>();
-    CleanupStack::PushL( failedUids );  // to delete array itself.
-    CleanupClosePushL( *failedUids );   // to call close.
-
-    // First, convert dependency list to a plugin list
-    RPointerArray< MDiagTestPlugin > pluginList;
-    CleanupClosePushL( pluginList );    // destroy not needed since elements are not owned.
-
-    // Expand suites.
-    GetAllDependentTestsL( aEngine, pluginList );
-
-    // Analyze result of each plug-in.
-    CDiagResultsDatabaseItem::TResult result = 
-        SummarizeOverallTestResultsL( aEngine, pluginList, *failedUids );
-
-    CleanupStack::PopAndDestroy( &pluginList ); // pluginList.Close()
-
-    if ( result == CDiagResultsDatabaseItem::ESuccess )
-        {
-        __ASSERT_DEBUG( failedUids->Count() == 0,
-            Panic( EDiagPluginBasePanicInternal ) );
-        CleanupStack::PopAndDestroy( failedUids ); // call close.
-        CleanupStack::PopAndDestroy( failedUids ); // delete RArray
-        failedUids = NULL;
-        }
-    else
-        {
-        __ASSERT_DEBUG( failedUids->Count() > 0,
-            Panic( EDiagPluginBasePanicInternal ) );
-        CleanupStack::Pop( failedUids ); // call close.
-        CleanupStack::Pop( failedUids ); // delete RArray
-        }
-
-    aFailedUids = failedUids;
-
-    return result;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagTestPluginBase::GetAllDependentTestsL
-// ---------------------------------------------------------------------------
-//
-void CDiagTestPluginBase::GetAllDependentTestsL( 
-        MDiagEngineCommon& aEngine,
-        RPointerArray< MDiagTestPlugin >& aPluginList ) const
-    {
-    TInt i = 0;
-
-    // first create an array of dependent plug-ins.
-    RPointerArray< MDiagPlugin > mixedPluginList;
-    CleanupClosePushL( mixedPluginList );   // to call close.
-
-    CPtrCArray* dependencyList = new( ELeave )CPtrCArray( 1 );
-    CleanupStack::PushL( dependencyList );
-    GetLogicalDependenciesL( *dependencyList );
-
-    TInt count = dependencyList->Count();
-    for ( i = 0;  i < count; i++ )
-        {
-        MDiagPlugin* plugin = NULL;
-        User::LeaveIfError( aEngine.PluginPool().FindPlugin( ( *dependencyList )[i], plugin ) );
-        mixedPluginList.AppendL( plugin );
-        }
-
-    CleanupStack::PopAndDestroy( dependencyList );
-    dependencyList = NULL;
-
-    // expand suites into tests.
-    i = 0;
-    while ( i < mixedPluginList.Count() )
-        {
-        if ( mixedPluginList[i]->Type() == ETypeTestPlugin )
-            {
-            //  test plug-in. move to next item.
-            aPluginList.AppendL( static_cast< MDiagTestPlugin* >( mixedPluginList[i] ) );
-            i++;
-            }
-        else
-            {
-            // suite. remove and replace them with its children.
-            MDiagSuitePlugin& suitePlugin = 
-                static_cast< MDiagSuitePlugin& >( *mixedPluginList[i] );
-
-            mixedPluginList.Remove( i );
-            
-            RPointerArray<MDiagPlugin> children;
-            CleanupClosePushL( children ); // destroy not needed since ownership not transferred.
-
-            suitePlugin.GetChildrenL( children, MDiagSuitePlugin::ESortByPosition );
-
-            TInt childCount = children.Count();
-            for ( TInt childIndex = 0; childIndex < childCount; childIndex++ )
-                {
-                mixedPluginList.InsertL( children[childIndex], i + childIndex );
-                }
-
-            CleanupStack::PopAndDestroy( &children ); // children.Close()
-            // do not increment 'i' to allow re-examination of item just inserted.
-            }
-        }
-
-    CleanupStack::PopAndDestroy( &mixedPluginList ); // mixedPluginList.Close()
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagTestPluginBase::SummarizeOverallTestResultsL
-// ---------------------------------------------------------------------------
-//
-CDiagResultsDatabaseItem::TResult CDiagTestPluginBase::SummarizeOverallTestResultsL(
-        MDiagEngineCommon& aEngine,
-        const RPointerArray< MDiagTestPlugin >& aPluginList,
-        RArray< TUid >& aFailedUidList ) const
-    {
-    // Check result of each item.
-    // and the result will override it.
-    // by default, we start with ESuccess.
-    CDiagResultsDatabaseItem::TResult result = CDiagResultsDatabaseItem::ESuccess;
-    TInt pluginListCount = aPluginList.Count();
-    for ( TInt i = 0; i < pluginListCount; i++ )
-        {
-        MDiagTestPlugin& plugin = *( aPluginList[i] );
-
-        CDiagResultsDatabaseItem* resultItem = NULL;
-        TInt err = aEngine.DbRecord().GetTestResult( plugin.Uid(), resultItem );
-
-        // KErrNotFound is acceptable.
-        if ( err != KErrNone && err != KErrNotFound )
-            {
-            delete resultItem;
-            User::Leave( err );
-            }
-
-        CDiagResultsDatabaseItem::TResult newResult;
-        if ( resultItem == NULL )
-            {
-            newResult = CDiagResultsDatabaseItem::EQueuedToRun; 
-            }
-        else
-            {
-            newResult = resultItem->TestResult();
-            }
-        
-        delete resultItem;
-        resultItem = NULL;
-
-        // add items to failed list if not successful.
-        if ( newResult != CDiagResultsDatabaseItem::ESuccess )
-            {
-            LOGSTRING3( "CDiagTestPluginBase::SummarizeOverallTestResultsL(): "
-                L"Failed test 0x%08x, result = %d", 
-                plugin.Uid().iUid,
-                newResult )
-            aFailedUidList.AppendL( plugin.Uid() );
-            }
-
-        // update to new result based on result priority.
-        // check for condition where newResult == result. If they are equal
-        // there is no reason to run the loop.
-        for ( TInt priorityIndex = 0; 
-              priorityIndex < KResultPriorityCount && newResult != result;
-              priorityIndex++ )
-            {
-            if ( KResultPriority[priorityIndex] == newResult )
-                {
-                result = newResult;
-                }
-            }
-        }
-
-    LOGSTRING3( "CDiagTestPluginBase::SummarizeOverallTestResultsL(): "
-        L"Plugin 0x%08x Overall depencency result = %d", 
-        Uid().iUid,
-        result )
-    return result;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDiagTestPluginBase::RunWaitingDialogL
-// ---------------------------------------------------------------------------
-EXPORT_C TBool CDiagTestPluginBase::RunWaitingDialogL( CAknDialog* aDialog, 
-        TInt& aDialogResponse )
-    {
-    __ASSERT_ALWAYS( iData, Panic( EDiagPluginBasePanicInvalidState ) );
-
-    // this function can display only one dialog at a time.
-    __ASSERT_ALWAYS( iData->iWaitingDialogWrapper == NULL,
-                     Panic( EDiagPluginBasePanicDialogAlreadyUp ) );
-
-    iData->iWaitingDialogWrapper = CDiagPluginWaitingDialogWrapper::NewL( aDialog );
-
-    TBool isUserResonse = iData->iWaitingDialogWrapper->RunLD( aDialogResponse );
-
-    if ( isUserResonse )
-        {
-        // local variable can be accessed only if it was returned due to
-        // user response.
-        iData->iWaitingDialogWrapper = NULL;
-        }
-
-    return isUserResonse;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagTestPluginBase::DismissWaitingDialog
-// ---------------------------------------------------------------------------
-EXPORT_C void CDiagTestPluginBase::DismissWaitingDialog()
-    {
-    __ASSERT_ALWAYS( iData, Panic( EDiagPluginBasePanicInvalidState ) );
-
-    if ( iData->iWaitingDialogWrapper )
-        {
-        LOGSTRING( "CDiagTestPluginBase::DismissWaitingDialog() Dialog dismissed." )
-        delete iData->iWaitingDialogWrapper;
-        iData->iWaitingDialogWrapper = NULL;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagTestPluginBase::CoeEnv
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CCoeEnv& CDiagTestPluginBase::CoeEnv() 
-    {
-    return iCoeEnv;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagTestPluginBase::SinglePluginExecution
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CDiagTestPluginBase::SinglePluginExecution() const
-    {
-    __ASSERT_ALWAYS( iData, Panic( EDiagPluginBasePanicInvalidState ) );
-    return iData->iSinglePluginExecution;
-    }
-
-// ---------------------------------------------------------------------------
-// CDiagTestPluginBase::BaseStopAndCleanup
-// ---------------------------------------------------------------------------
-//
-void CDiagTestPluginBase::BaseStopAndCleanup()
-    {
-    DismissWaitingDialog();
-
-    delete iData->iResultBuilder;
-    iData->iResultBuilder = NULL;
-
-    delete iData->iExecParam;
-    iData->iExecParam = NULL;
-
-    iData->iCustomParam = NULL;
-    }
-
-// ADO & Platformization Changes
-/*
-    
-// ---------------------------------------------------------------------------
-// CDiagSpeakerPlugin::AskCancelExecutionL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CDiagTestPluginBase::AskCancelExecutionL( TInt& aButtonId )
-    {
-    LOGSTRING( "CDiagTestPluginBase::AskCancelExecutionL() IN" )
-
-    CAknDialog* dialog;
-    TBool       result;
-
-    // set softkey for single execution
-    if ( !SinglePluginExecution() )
-        {
-    	// Create common dialog by invoking Engine
-    	dialog = ExecutionParam().Engine().
-             CreateCommonDialogLC( EDiagCommonDialogConfirmCancelAll, NULL );
-
-    	// Launch dialog and get result from it
-    	result = RunWaitingDialogL( dialog, aButtonId );
-	}	
-    else 
-       {
-       CompleteTestL( CDiagResultsDatabaseItem::ECancelled );	
-       aButtonId = EAknSoftkeyYes;
-       return ETrue;
-       }
-    
-    LOGSTRING3( "CDiagTestPluginBase::AskCancelExecutionL() OUT aButtonId=%d result=%d", aButtonId, result )
-    return result;
-    }
-    */
-// End of File
-
-
-
-
--- a/devicediagnosticsfw/diagresultsdb/client/bwins/diagresultsdatabase.def	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-EXPORTS
-	??0RDiagResultsDatabase@@QAE@XZ @ 1 NONAME ; RDiagResultsDatabase::RDiagResultsDatabase(void)
-	??0RDiagResultsDatabaseRecord@@QAE@XZ @ 2 NONAME ; RDiagResultsDatabaseRecord::RDiagResultsDatabaseRecord(void)
-	??0TDiagResultsDatabaseTestRecordInfo@@QAE@XZ @ 3 NONAME ; TDiagResultsDatabaseTestRecordInfo::TDiagResultsDatabaseTestRecordInfo(void)
-	??0TDiagResultsDbRecordInfoArrayPacked@@QAE@AAPAVCBufFlat@@@Z @ 4 NONAME ; TDiagResultsDbRecordInfoArrayPacked::TDiagResultsDbRecordInfoArrayPacked(class CBufFlat * &)
-	??1CDiagResultsDatabaseItem@@UAE@XZ @ 5 NONAME ; CDiagResultsDatabaseItem::~CDiagResultsDatabaseItem(void)
-	??1CDiagResultsDbRecordEngineParam@@UAE@XZ @ 6 NONAME ; CDiagResultsDbRecordEngineParam::~CDiagResultsDbRecordEngineParam(void)
-	??1RDiagResultsDatabase@@QAE@XZ @ 7 NONAME ; RDiagResultsDatabase::~RDiagResultsDatabase(void)
-	??1RDiagResultsDatabaseRecord@@QAE@XZ @ 8 NONAME ; RDiagResultsDatabaseRecord::~RDiagResultsDatabaseRecord(void)
-	?CancelInitiateGetLastResults@RDiagResultsDatabase@@QBEXXZ @ 9 NONAME ; void RDiagResultsDatabase::CancelInitiateGetLastResults(void) const
-	?CancelLogTestResult@RDiagResultsDatabaseRecord@@QBEXXZ @ 10 NONAME ; void RDiagResultsDatabaseRecord::CancelLogTestResult(void) const
-	?Close@RDiagResultsDatabase@@QAEHXZ @ 11 NONAME ; int RDiagResultsDatabase::Close(void)
-	?Close@RDiagResultsDatabaseRecord@@QAEXXZ @ 12 NONAME ; void RDiagResultsDatabaseRecord::Close(void)
-	?Connect@RDiagResultsDatabase@@QAEHVTUid@@@Z @ 13 NONAME ; int RDiagResultsDatabase::Connect(class TUid)
-	?Connect@RDiagResultsDatabaseRecord@@QAEHAAVRDiagResultsDatabase@@VTUid@@H@Z @ 14 NONAME ; int RDiagResultsDatabaseRecord::Connect(class RDiagResultsDatabase &, class TUid, int)
-	?CreateNewRecord@RDiagResultsDatabaseRecord@@QAEHAAVRDiagResultsDatabase@@AAVTUid@@AAVCDiagResultsDbRecordEngineParam@@@Z @ 15 NONAME ; int RDiagResultsDatabaseRecord::CreateNewRecord(class RDiagResultsDatabase &, class TUid &, class CDiagResultsDbRecordEngineParam &)
-	?DRMTimeL@TDiagResultsDatabaseTestRecordInfo@@SA?AVTTime@@XZ @ 16 NONAME ; class TTime TDiagResultsDatabaseTestRecordInfo::DRMTimeL(void)
-	?DependencyExecution@CDiagResultsDbRecordEngineParam@@QBEHXZ @ 17 NONAME ; int CDiagResultsDbRecordEngineParam::DependencyExecution(void) const
-	?DetailsData@CDiagResultsDatabaseItem@@QBEPBVCBufFlat@@XZ @ 18 NONAME ; class CBufFlat const * CDiagResultsDatabaseItem::DetailsData(void) const
-	?ExecutionsUidArray@CDiagResultsDbRecordEngineParam@@QBEABV?$RArray@VTUid@@@@XZ @ 19 NONAME ; class RArray<class TUid> const & CDiagResultsDbRecordEngineParam::ExecutionsUidArray(void) const
-	?ExternalizeL@CDiagResultsDatabaseItem@@QBEXAAVRWriteStream@@@Z @ 20 NONAME ; void CDiagResultsDatabaseItem::ExternalizeL(class RWriteStream &) const
-	?ExternalizeL@CDiagResultsDbRecordEngineParam@@QBEXAAVRWriteStream@@@Z @ 21 NONAME ; void CDiagResultsDbRecordEngineParam::ExternalizeL(class RWriteStream &) const
-	?ExternalizeL@TDiagResultsDatabaseTestRecordInfo@@QBEXAAVRWriteStream@@@Z @ 22 NONAME ; void TDiagResultsDatabaseTestRecordInfo::ExternalizeL(class RWriteStream &) const
-	?GetAllRecordInfos@RDiagResultsDatabase@@QAEHAAV?$CArrayFixFlat@VTDiagResultsDatabaseTestRecordInfo@@@@@Z @ 23 NONAME ; int RDiagResultsDatabase::GetAllRecordInfos(class CArrayFixFlat<class TDiagResultsDatabaseTestRecordInfo> &)
-	?GetDatabaseMaximumSize@RDiagResultsDatabase@@SAHAAH@Z @ 24 NONAME ; int RDiagResultsDatabase::GetDatabaseMaximumSize(int &)
-	?GetEngineParam@RDiagResultsDatabaseRecord@@QBEHAAPAVCDiagResultsDbRecordEngineParam@@@Z @ 25 NONAME ; int RDiagResultsDatabaseRecord::GetEngineParam(class CDiagResultsDbRecordEngineParam * &) const
-	?GetLastNotCompletedRecord@RDiagResultsDatabase@@QBEHAAVTUid@@@Z @ 26 NONAME ; int RDiagResultsDatabase::GetLastNotCompletedRecord(class TUid &) const
-	?GetLastRecord@RDiagResultsDatabase@@QBEHAAVTUid@@@Z @ 27 NONAME ; int RDiagResultsDatabase::GetLastRecord(class TUid &) const
-	?GetLastResult@RDiagResultsDatabase@@QAEHAAPAVCDiagResultsDatabaseItem@@@Z @ 28 NONAME ; int RDiagResultsDatabase::GetLastResult(class CDiagResultsDatabaseItem * &)
-	?GetLastResults@RDiagResultsDatabase@@QBEHAAV?$RPointerArray@VCDiagResultsDatabaseItem@@@@@Z @ 29 NONAME ; int RDiagResultsDatabase::GetLastResults(class RPointerArray<class CDiagResultsDatabaseItem> &) const
-	?GetRecordCount@RDiagResultsDatabase@@QBEHAAI@Z @ 30 NONAME ; int RDiagResultsDatabase::GetRecordCount(unsigned int &) const
-	?GetRecordInfo@RDiagResultsDatabaseRecord@@QBEHAAVTDiagResultsDatabaseTestRecordInfo@@@Z @ 31 NONAME ; int RDiagResultsDatabaseRecord::GetRecordInfo(class TDiagResultsDatabaseTestRecordInfo &) const
-	?GetRecordUids@RDiagResultsDatabase@@QBEHAAV?$CArrayFixFlat@VTUid@@@@@Z @ 32 NONAME ; int RDiagResultsDatabase::GetRecordUids(class CArrayFixFlat<class TUid> &) const
-	?GetStatus@RDiagResultsDatabaseRecord@@QBEHAAW4TRecordStatus@1@@Z @ 33 NONAME ; int RDiagResultsDatabaseRecord::GetStatus(enum RDiagResultsDatabaseRecord::TRecordStatus &) const
-	?GetTestRecordId@RDiagResultsDatabaseRecord@@QBEHAAVTUid@@@Z @ 34 NONAME ; int RDiagResultsDatabaseRecord::GetTestRecordId(class TUid &) const
-	?GetTestResult@RDiagResultsDatabaseRecord@@QBEHVTUid@@AAPAVCDiagResultsDatabaseItem@@@Z @ 35 NONAME ; int RDiagResultsDatabaseRecord::GetTestResult(class TUid, class CDiagResultsDatabaseItem * &) const
-	?GetTestResults@RDiagResultsDatabaseRecord@@QBEHAAV?$RPointerArray@VCDiagResultsDatabaseItem@@@@@Z @ 36 NONAME ; int RDiagResultsDatabaseRecord::GetTestResults(class RPointerArray<class CDiagResultsDatabaseItem> &) const
-	?GetTestUids@RDiagResultsDatabaseRecord@@QBEHAAV?$CArrayFixFlat@VTUid@@@@@Z @ 37 NONAME ; int RDiagResultsDatabaseRecord::GetTestUids(class CArrayFixFlat<class TUid> &) const
-	?InitiateGetLastResult@RDiagResultsDatabase@@QAEXVTUid@@AAVTRequestStatus@@@Z @ 38 NONAME ; void RDiagResultsDatabase::InitiateGetLastResult(class TUid, class TRequestStatus &)
-	?InitiateGetLastResults@RDiagResultsDatabase@@QAEXABV?$CArrayFixFlat@VTUid@@@@AAVTRequestStatus@@@Z @ 39 NONAME ; void RDiagResultsDatabase::InitiateGetLastResults(class CArrayFixFlat<class TUid> const &, class TRequestStatus &)
-	?InternalizeL@CDiagResultsDatabaseItem@@AAEXAAVRReadStream@@@Z @ 40 NONAME ; void CDiagResultsDatabaseItem::InternalizeL(class RReadStream &)
-	?InternalizeL@CDiagResultsDbRecordEngineParam@@AAEXAAVRReadStream@@@Z @ 41 NONAME ; void CDiagResultsDbRecordEngineParam::InternalizeL(class RReadStream &)
-	?InternalizeL@TDiagResultsDatabaseTestRecordInfo@@QAEXAAVRReadStream@@@Z @ 42 NONAME ; void TDiagResultsDatabaseTestRecordInfo::InternalizeL(class RReadStream &)
-	?IsSuspended@RDiagResultsDatabaseRecord@@QBEHAAH@Z @ 43 NONAME ; int RDiagResultsDatabaseRecord::IsSuspended(int &) const
-	?IsTestCompleted@RDiagResultsDatabaseRecord@@QBEHAAH@Z @ 44 NONAME ; int RDiagResultsDatabaseRecord::IsTestCompleted(int &) const
-	?LogTestResult@RDiagResultsDatabaseRecord@@QAEHAAVTRequestStatus@@ABVCDiagResultsDatabaseItem@@@Z @ 45 NONAME ; int RDiagResultsDatabaseRecord::LogTestResult(class TRequestStatus &, class CDiagResultsDatabaseItem const &)
-	?NewL@CDiagResultsDatabaseItem@@SAPAV1@AAVRReadStream@@@Z @ 46 NONAME ; class CDiagResultsDatabaseItem * CDiagResultsDatabaseItem::NewL(class RReadStream &)
-	?NewL@CDiagResultsDatabaseItem@@SAPAV1@ABV1@@Z @ 47 NONAME ; class CDiagResultsDatabaseItem * CDiagResultsDatabaseItem::NewL(class CDiagResultsDatabaseItem const &)
-	?NewL@CDiagResultsDatabaseItem@@SAPAV1@VTUid@@HW4TResult@1@VTTime@@2PAVCBufFlat@@@Z @ 48 NONAME ; class CDiagResultsDatabaseItem * CDiagResultsDatabaseItem::NewL(class TUid, int, enum CDiagResultsDatabaseItem::TResult, class TTime, class TTime, class CBufFlat *)
-	?NewL@CDiagResultsDbRecordEngineParam@@SAPAV1@AAVRReadStream@@@Z @ 49 NONAME ; class CDiagResultsDbRecordEngineParam * CDiagResultsDbRecordEngineParam::NewL(class RReadStream &)
-	?NewL@CDiagResultsDbRecordEngineParam@@SAPAV1@PAV?$RArray@VTUid@@@@H@Z @ 50 NONAME ; class CDiagResultsDbRecordEngineParam * CDiagResultsDbRecordEngineParam::NewL(class RArray<class TUid> *, int)
-	?NewLC@CDiagResultsDatabaseItem@@SAPAV1@VTUid@@HW4TResult@1@VTTime@@2PAVCBufFlat@@@Z @ 51 NONAME ; class CDiagResultsDatabaseItem * CDiagResultsDatabaseItem::NewLC(class TUid, int, enum CDiagResultsDatabaseItem::TResult, class TTime, class TTime, class CBufFlat *)
-	?NewLC@CDiagResultsDbRecordEngineParam@@SAPAV1@PAV?$RArray@VTUid@@@@H@Z @ 52 NONAME ; class CDiagResultsDbRecordEngineParam * CDiagResultsDbRecordEngineParam::NewLC(class RArray<class TUid> *, int)
-	?PackArrayL@TDiagResultsDbRecordInfoArrayPacked@@QAEXABV?$CArrayFixFlat@VTDiagResultsDatabaseTestRecordInfo@@@@@Z @ 53 NONAME ; void TDiagResultsDbRecordInfoArrayPacked::PackArrayL(class CArrayFixFlat<class TDiagResultsDatabaseTestRecordInfo> const &)
-	?Size@CDiagResultsDatabaseItem@@QBEHXZ @ 54 NONAME ; int CDiagResultsDatabaseItem::Size(void) const
-	?Suspend@RDiagResultsDatabaseRecord@@QAEHXZ @ 55 NONAME ; int RDiagResultsDatabaseRecord::Suspend(void)
-	?TestCompleted@RDiagResultsDatabaseRecord@@QAEHH@Z @ 56 NONAME ; int RDiagResultsDatabaseRecord::TestCompleted(int)
-	?TestResult@CDiagResultsDatabaseItem@@QBE?AW4TResult@1@XZ @ 57 NONAME ; enum CDiagResultsDatabaseItem::TResult CDiagResultsDatabaseItem::TestResult(void) const
-	?TestUid@CDiagResultsDatabaseItem@@QBE?AVTUid@@XZ @ 58 NONAME ; class TUid CDiagResultsDatabaseItem::TestUid(void) const
-	?TimeCompleted@CDiagResultsDatabaseItem@@QBE?AVTTime@@XZ @ 59 NONAME ; class TTime CDiagResultsDatabaseItem::TimeCompleted(void) const
-	?TimeStarted@CDiagResultsDatabaseItem@@QBE?AVTTime@@XZ @ 60 NONAME ; class TTime CDiagResultsDatabaseItem::TimeStarted(void) const
-	?UnpackArrayL@TDiagResultsDbRecordInfoArrayPacked@@QAEXAAV?$CArrayFixFlat@VTDiagResultsDatabaseTestRecordInfo@@@@@Z @ 61 NONAME ; void TDiagResultsDbRecordInfoArrayPacked::UnpackArrayL(class CArrayFixFlat<class TDiagResultsDatabaseTestRecordInfo> &)
-	?Version@RDiagResultsDatabase@@QBE?AVTVersion@@XZ @ 62 NONAME ; class TVersion RDiagResultsDatabase::Version(void) const
-	?WasDependency@CDiagResultsDatabaseItem@@QBEHXZ @ 63 NONAME ; int CDiagResultsDatabaseItem::WasDependency(void) const
-
--- a/devicediagnosticsfw/diagresultsdb/client/eabi/diagresultsdatabase.def	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-EXPORTS
-	_ZN20RDiagResultsDatabase13GetLastResultERP24CDiagResultsDatabaseItem @ 1 NONAME
-	_ZN20RDiagResultsDatabase17GetAllRecordInfosER13CArrayFixFlatI34TDiagResultsDatabaseTestRecordInfoE @ 2 NONAME
-	_ZN20RDiagResultsDatabase21InitiateGetLastResultE4TUidR14TRequestStatus @ 3 NONAME
-	_ZN20RDiagResultsDatabase22GetDatabaseMaximumSizeERi @ 4 NONAME
-	_ZN20RDiagResultsDatabase22InitiateGetLastResultsERK13CArrayFixFlatI4TUidER14TRequestStatus @ 5 NONAME
-	_ZN20RDiagResultsDatabase5CloseEv @ 6 NONAME
-	_ZN20RDiagResultsDatabase7ConnectE4TUid @ 7 NONAME
-	_ZN20RDiagResultsDatabaseC1Ev @ 8 NONAME
-	_ZN20RDiagResultsDatabaseC2Ev @ 9 NONAME
-	_ZN20RDiagResultsDatabaseD1Ev @ 10 NONAME
-	_ZN20RDiagResultsDatabaseD2Ev @ 11 NONAME
-	_ZN24CDiagResultsDatabaseItem12InternalizeLER11RReadStream @ 12 NONAME
-	_ZN24CDiagResultsDatabaseItem4NewLE4TUidiNS_7TResultE5TTimeS2_P8CBufFlat @ 13 NONAME
-	_ZN24CDiagResultsDatabaseItem4NewLER11RReadStream @ 14 NONAME
-	_ZN24CDiagResultsDatabaseItem4NewLERKS_ @ 15 NONAME
-	_ZN24CDiagResultsDatabaseItem5NewLCE4TUidiNS_7TResultE5TTimeS2_P8CBufFlat @ 16 NONAME
-	_ZN24CDiagResultsDatabaseItemD0Ev @ 17 NONAME
-	_ZN24CDiagResultsDatabaseItemD1Ev @ 18 NONAME
-	_ZN24CDiagResultsDatabaseItemD2Ev @ 19 NONAME
-	_ZN26RDiagResultsDatabaseRecord13LogTestResultER14TRequestStatusRK24CDiagResultsDatabaseItem @ 20 NONAME
-	_ZN26RDiagResultsDatabaseRecord13TestCompletedEi @ 21 NONAME
-	_ZN26RDiagResultsDatabaseRecord15CreateNewRecordER20RDiagResultsDatabaseR4TUidR31CDiagResultsDbRecordEngineParam @ 22 NONAME
-	_ZN26RDiagResultsDatabaseRecord5CloseEv @ 23 NONAME
-	_ZN26RDiagResultsDatabaseRecord7ConnectER20RDiagResultsDatabase4TUidi @ 24 NONAME
-	_ZN26RDiagResultsDatabaseRecord7SuspendEv @ 25 NONAME
-	_ZN26RDiagResultsDatabaseRecordC1Ev @ 26 NONAME
-	_ZN26RDiagResultsDatabaseRecordC2Ev @ 27 NONAME
-	_ZN26RDiagResultsDatabaseRecordD1Ev @ 28 NONAME
-	_ZN26RDiagResultsDatabaseRecordD2Ev @ 29 NONAME
-	_ZN31CDiagResultsDbRecordEngineParam12InternalizeLER11RReadStream @ 30 NONAME
-	_ZN31CDiagResultsDbRecordEngineParam4NewLEP6RArrayI4TUidEi @ 31 NONAME
-	_ZN31CDiagResultsDbRecordEngineParam4NewLER11RReadStream @ 32 NONAME
-	_ZN31CDiagResultsDbRecordEngineParam5NewLCEP6RArrayI4TUidEi @ 33 NONAME
-	_ZN31CDiagResultsDbRecordEngineParamD0Ev @ 34 NONAME
-	_ZN31CDiagResultsDbRecordEngineParamD1Ev @ 35 NONAME
-	_ZN31CDiagResultsDbRecordEngineParamD2Ev @ 36 NONAME
-	_ZN34TDiagResultsDatabaseTestRecordInfo12InternalizeLER11RReadStream @ 37 NONAME
-	_ZN34TDiagResultsDatabaseTestRecordInfo8DRMTimeLEv @ 38 NONAME
-	_ZN34TDiagResultsDatabaseTestRecordInfoC1Ev @ 39 NONAME
-	_ZN34TDiagResultsDatabaseTestRecordInfoC2Ev @ 40 NONAME
-	_ZN35TDiagResultsDbRecordInfoArrayPacked10PackArrayLERK13CArrayFixFlatI34TDiagResultsDatabaseTestRecordInfoE @ 41 NONAME
-	_ZN35TDiagResultsDbRecordInfoArrayPacked12UnpackArrayLER13CArrayFixFlatI34TDiagResultsDatabaseTestRecordInfoE @ 42 NONAME
-	_ZN35TDiagResultsDbRecordInfoArrayPackedC1ERP8CBufFlat @ 43 NONAME
-	_ZN35TDiagResultsDbRecordInfoArrayPackedC2ERP8CBufFlat @ 44 NONAME
-	_ZNK20RDiagResultsDatabase13GetLastRecordER4TUid @ 45 NONAME
-	_ZNK20RDiagResultsDatabase13GetRecordUidsER13CArrayFixFlatI4TUidE @ 46 NONAME
-	_ZNK20RDiagResultsDatabase14GetLastResultsER13RPointerArrayI24CDiagResultsDatabaseItemE @ 47 NONAME
-	_ZNK20RDiagResultsDatabase14GetRecordCountERj @ 48 NONAME
-	_ZNK20RDiagResultsDatabase25GetLastNotCompletedRecordER4TUid @ 49 NONAME
-	_ZNK20RDiagResultsDatabase28CancelInitiateGetLastResultsEv @ 50 NONAME
-	_ZNK20RDiagResultsDatabase7VersionEv @ 51 NONAME
-	_ZNK24CDiagResultsDatabaseItem10TestResultEv @ 52 NONAME
-	_ZNK24CDiagResultsDatabaseItem11DetailsDataEv @ 53 NONAME
-	_ZNK24CDiagResultsDatabaseItem11TimeStartedEv @ 54 NONAME
-	_ZNK24CDiagResultsDatabaseItem12ExternalizeLER12RWriteStream @ 55 NONAME
-	_ZNK24CDiagResultsDatabaseItem13TimeCompletedEv @ 56 NONAME
-	_ZNK24CDiagResultsDatabaseItem13WasDependencyEv @ 57 NONAME
-	_ZNK24CDiagResultsDatabaseItem4SizeEv @ 58 NONAME
-	_ZNK24CDiagResultsDatabaseItem7TestUidEv @ 59 NONAME
-	_ZNK26RDiagResultsDatabaseRecord11GetTestUidsER13CArrayFixFlatI4TUidE @ 60 NONAME
-	_ZNK26RDiagResultsDatabaseRecord11IsSuspendedERi @ 61 NONAME
-	_ZNK26RDiagResultsDatabaseRecord13GetRecordInfoER34TDiagResultsDatabaseTestRecordInfo @ 62 NONAME
-	_ZNK26RDiagResultsDatabaseRecord13GetTestResultE4TUidRP24CDiagResultsDatabaseItem @ 63 NONAME
-	_ZNK26RDiagResultsDatabaseRecord14GetEngineParamERP31CDiagResultsDbRecordEngineParam @ 64 NONAME
-	_ZNK26RDiagResultsDatabaseRecord14GetTestResultsER13RPointerArrayI24CDiagResultsDatabaseItemE @ 65 NONAME
-	_ZNK26RDiagResultsDatabaseRecord15GetTestRecordIdER4TUid @ 66 NONAME
-	_ZNK26RDiagResultsDatabaseRecord15IsTestCompletedERi @ 67 NONAME
-	_ZNK26RDiagResultsDatabaseRecord19CancelLogTestResultEv @ 68 NONAME
-	_ZNK26RDiagResultsDatabaseRecord9GetStatusERNS_13TRecordStatusE @ 69 NONAME
-	_ZNK31CDiagResultsDbRecordEngineParam12ExternalizeLER12RWriteStream @ 70 NONAME
-	_ZNK31CDiagResultsDbRecordEngineParam18ExecutionsUidArrayEv @ 71 NONAME
-	_ZNK31CDiagResultsDbRecordEngineParam19DependencyExecutionEv @ 72 NONAME
-	_ZNK34TDiagResultsDatabaseTestRecordInfo12ExternalizeLER12RWriteStream @ 73 NONAME
-	_ZTI24CDiagResultsDatabaseItem @ 74 NONAME ; #<TI>#
-	_ZTI31CDiagResultsDbRecordEngineParam @ 75 NONAME ; #<TI>#
-	_ZTV24CDiagResultsDatabaseItem @ 76 NONAME ; #<VT>#
-	_ZTV31CDiagResultsDbRecordEngineParam @ 77 NONAME ; #<VT>#
-
--- a/devicediagnosticsfw/diagresultsdb/client/group/bld.inf	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* 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 "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 Diagnostics Results Database
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-diagresultsdatabase.mmp
-
--- a/devicediagnosticsfw/diagresultsdb/client/group/diagresultsdatabase.mmp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
-* 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 "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 specification for DiagResultsDatabase.dll
-*
-*/
-
-
-//#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-TARGET      diagresultsdatabase.dll
-TARGETTYPE  dll
-
-#ifndef RD_APPS_TO_EXES
-	TARGETPATH		/system/libs
-#endif
-
-UID	        0x1000008d 0x10282CD8
-
-CAPABILITY  CAP_GENERAL_DLL
-VENDORID    VID_DEFAULT
-
-SOURCEPATH  ../src
-SOURCE      diagresultsdatabase.cpp
-SOURCE      diagresultsdatabaseItem.cpp
-SOURCE      diagresultsdbrecordinfoarraypacked.cpp
-SOURCE      diagresultsdatabasetestrecordInfo.cpp
-SOURCE      diagresultsdbrecordengineparam.cpp
-
-
-USERINCLUDE ../inc
-USERINCLUDE ../../common
-
-// System Include Paths
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY euser.lib
-LIBRARY estor.lib
-LIBRARY drmserviceapi.lib
-LIBRARY centralrepository.lib
-LIBRARY flogger.lib
-#if defined(WINSCW)
-    deffile ../bwins/diagresultsdatabase.def
-#elif defined(ARM)
-    deffile ../EABI/DiagResultsDatabase.def
-#endif
-
-nostrictdef 
--- a/devicediagnosticsfw/diagresultsdb/client/group/diagresultsdatabase.xml	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2018 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!DOCTYPE PROJECT [
- <!ELEMENT PROJECT (TARGETLIST, TARGETORDER, GROUPLIST, DESIGNLIST?)>
- <!ELEMENT TARGETLIST (TARGET+)>
- <!ELEMENT TARGET (NAME, SETTINGLIST, FILELIST?, LINKORDER?, SEGMENTLIST?, OVERLAYGROUPLIST?, SUBTARGETLIST?, SUBPROJECTLIST?, FRAMEWORKLIST?, PACKAGEACTIONSLIST?)>
- <!ELEMENT NAME (#PCDATA)>
- <!ELEMENT USERSOURCETREETYPE (#PCDATA)>
- <!ELEMENT PATH (#PCDATA)>
- <!ELEMENT FILELIST (FILE*)>
- <!ELEMENT FILE (PATHTYPE, PATHROOT?, ACCESSPATH?, PATH, PATHFORMAT?, ROOTFILEREF?, FILEKIND?, FILEFLAGS?)>
- <!ELEMENT PATHTYPE (#PCDATA)>
- <!ELEMENT PATHROOT (#PCDATA)>
- <!ELEMENT ACCESSPATH (#PCDATA)>
- <!ELEMENT PATHFORMAT (#PCDATA)>
- <!ELEMENT ROOTFILEREF (PATHTYPE, PATHROOT?, ACCESSPATH?, PATH, PATHFORMAT?)>
- <!ELEMENT FILEKIND (#PCDATA)>
- <!ELEMENT FILEFLAGS (#PCDATA)>
- <!ELEMENT FILEREF (TARGETNAME?, PATHTYPE, PATHROOT?, ACCESSPATH?, PATH, PATHFORMAT?)>
- <!ELEMENT TARGETNAME (#PCDATA)>
- <!ELEMENT SETTINGLIST ((SETTING|PANELDATA)+)>
- <!ELEMENT SETTING (NAME?, (VALUE|(SETTING+)))>
- <!ELEMENT PANELDATA (NAME, VALUE)>
- <!ELEMENT VALUE (#PCDATA)>
- <!ELEMENT LINKORDER (FILEREF*)>
- <!ELEMENT SEGMENTLIST (SEGMENT+)>
- <!ELEMENT SEGMENT (NAME, ATTRIBUTES?, FILEREF*)>
- <!ELEMENT ATTRIBUTES (#PCDATA)>
- <!ELEMENT OVERLAYGROUPLIST (OVERLAYGROUP+)>
- <!ELEMENT OVERLAYGROUP (NAME, BASEADDRESS, OVERLAY*)>
- <!ELEMENT BASEADDRESS (#PCDATA)>
- <!ELEMENT OVERLAY (NAME, FILEREF*)>
- <!ELEMENT SUBTARGETLIST (SUBTARGET+)>
- <!ELEMENT SUBTARGET (TARGETNAME, ATTRIBUTES?, FILEREF?)>
- <!ELEMENT SUBPROJECTLIST (SUBPROJECT+)>
- <!ELEMENT SUBPROJECT (FILEREF, SUBPROJECTTARGETLIST)>
- <!ELEMENT SUBPROJECTTARGETLIST (SUBPROJECTTARGET*)>
- <!ELEMENT SUBPROJECTTARGET (TARGETNAME, ATTRIBUTES?, FILEREF?)>
- <!ELEMENT FRAMEWORKLIST (FRAMEWORK+)>
- <!ELEMENT FRAMEWORK (FILEREF, DYNAMICLIBRARY?, VERSION?)>
- <!ELEMENT PACKAGEACTIONSLIST (PACKAGEACTION+)>
- <!ELEMENT PACKAGEACTION (#PCDATA)>
- <!ELEMENT LIBRARYFILE (FILEREF)>
- <!ELEMENT VERSION (#PCDATA)>
- <!ELEMENT TARGETORDER (ORDEREDTARGET|ORDEREDDESIGN)*>
- <!ELEMENT ORDEREDTARGET (NAME)>
- <!ELEMENT ORDEREDDESIGN (NAME, ORDEREDTARGET+)>
- <!ELEMENT GROUPLIST (GROUP|FILEREF)*>
- <!ELEMENT GROUP (NAME, (GROUP|FILEREF)*)>
- <!ELEMENT DESIGNLIST (DESIGN+)>
- <!ELEMENT DESIGN (NAME, DESIGNDATA)>
- <!ELEMENT DESIGNDATA (#PCDATA)>
-]>
-<?codewarrior exportversion="1.0.1" ideversion="5.0" ?>
-<PROJECT>
-    <TARGETLIST>
-        <TARGET>
-            <NAME>WINSCW UDEB</NAME>
-            <SETTINGLIST>
-
-                <!-- Settings for "Source Trees" panel -->
-                <SETTING><NAME>UserSourceTrees</NAME></SETTING>
-
-                <!-- Settings for "Access Paths" panel -->
-                <SETTING><NAME>AlwaysSearchUserPaths</NAME><VALUE>true</VALUE></SETTING>
-                <SETTING><NAME>InterpretDOSAndUnixPaths</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>RequireFrameworkStyleIncludes</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>SourceRelativeIncludes</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>UserSearchPaths</NAME>
-                    <SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>s60\mw\devicecontentservices\devicediagnostics\diagnosticsfw\diagresultsdb\Client\inc</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>s60\mw\devicecontentservices\devicediagnostics\diagnosticsfw\diagresultsdb\Common</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>s60\mw\devicecontentservices\devicediagnostics\diagnosticsfw\diagresultsdb\Client\BWINS</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>s60\mw\devicecontentservices\devicediagnostics\diagnosticsfw\diagresultsdb\Client\group</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>s60\mw\devicecontentservices\devicediagnostics\diagnosticsfw\diagresultsdb\Client\src</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING></SETTING>
-                <SETTING><NAME>SystemSearchPaths</NAME>
-                    <SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\oem</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\middleware</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\domain\middleware</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\osextensions</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\domain\osextensions</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\domain\osextensions\loc</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\domain\middleware\loc</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\domain\osextensions\loc\sc</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\domain\middleware\loc\sc</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\UDEB</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>Symbian_Support\Win32-x86 Support\Libraries\Win32 SDK</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>CodeWarrior</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>Symbian_Support\Runtime\Runtime_x86\Runtime_Win32\Libs</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>CodeWarrior</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING></SETTING>
-
-                <!-- Settings for "Debugger Runtime" panel -->
-                <SETTING><NAME>MWRuntimeSettings_WorkingDirectory</NAME><VALUE/></SETTING>
-                <SETTING><NAME>MWRuntimeSettings_CommandLine</NAME><VALUE/></SETTING>
-                <SETTING><NAME>MWRuntimeSettings_HostApplication</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\udeb\epoc.exe</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-                <SETTING><NAME>MWRuntimeSettings_EnvVars</NAME><VALUE/></SETTING>
-
-                <!-- Settings for "Target Settings" panel -->
-                <SETTING><NAME>Linker</NAME><VALUE>Symbian Linker v2</VALUE></SETTING>
-                <SETTING><NAME>PreLinker</NAME><VALUE/></SETTING>
-                <SETTING><NAME>PostLinker</NAME><VALUE>Symbian Installer v2</VALUE></SETTING>
-                <SETTING><NAME>Targetname</NAME><VALUE>WINSCW UDEB</VALUE></SETTING>
-                <SETTING><NAME>OutputDirectory</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\udeb</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-                <SETTING><NAME>SaveEntriesUsingRelativePaths</NAME><VALUE>false</VALUE></SETTING>
-
-                <!-- Settings for "File Mappings" panel -->
-                <SETTING><NAME>FileMappings</NAME>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>._i</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>._ii</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.c</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.cc</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.cfg</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.cia</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.cpp</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.cwlink</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>XML</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.cxx</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.def</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.h</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.hrh</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.i</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.iby</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.ii</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.inf</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.ini</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.inl</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.loc</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.mmpi</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.pch++</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.pkg</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.policy</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.ra</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.resources</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Resource v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>XML</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.rh</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.rls</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.rss</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.rsg</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.s</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.script</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.txt</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.a</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.lib</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.dso</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.o</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                </SETTING>
-
-                <!-- Settings for "Build Extras" panel -->
-                <SETTING><NAME>CacheModDates</NAME><VALUE>true</VALUE></SETTING>
-                <SETTING><NAME>DumpBrowserInfo</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>CacheSubprojects</NAME><VALUE>true</VALUE></SETTING>
-                <SETTING><NAME>UseThirdPartyDebugger</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>BrowserGenerator</NAME><VALUE>2</VALUE></SETTING>
-                <SETTING><NAME>DebuggerAppPath</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>DebuggerCmdLineArgs</NAME><VALUE/></SETTING>
-                <SETTING><NAME>DebuggerWorkingDir</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>CodeCompletionPrefixFileName</NAME><VALUE/></SETTING>
-                <SETTING><NAME>CodeCompletionMacroFileName</NAME><VALUE/></SETTING>
-
-                <!-- Settings for "Debugger Target" panel -->
-                <SETTING><NAME>ConsoleEncoding</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>LogSystemMessages</NAME><VALUE>true</VALUE></SETTING>
-                <SETTING><NAME>AutoTargetDLLsPopUp</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>StopAtWatchpoints</NAME><VALUE>true</VALUE></SETTING>
-                <SETTING><NAME>PauseWhileRunning</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>PauseInterval</NAME><VALUE>5</VALUE></SETTING>
-                <SETTING><NAME>PauseUIFlags</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>AltExePath</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>StopAtTempBPOnLaunch</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>CacheSymbolics</NAME><VALUE>true</VALUE></SETTING>
-                <SETTING><NAME>TempBPFunctionName</NAME><VALUE>E32Main</VALUE></SETTING>
-                <SETTING><NAME>TempBPType</NAME><VALUE>1</VALUE></SETTING>
-
-                <!-- Settings for "Remote Debug" panel -->
-                <SETTING><NAME>Enabled</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>ConnectionName</NAME><VALUE/></SETTING>
-                <SETTING><NAME>DownloadPath</NAME><VALUE/></SETTING>
-                <SETTING><NAME>LaunchRemoteApp</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>RemoteAppPath</NAME><VALUE/></SETTING>
-                <SETTING><NAME>CoreID</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>JTAGClockSpeed</NAME><VALUE>8000</VALUE></SETTING>
-                <SETTING><NAME>IsMultiCore</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>OSDownload</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>UseGlobalOSDownload</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>OSDownloadConnectionName</NAME><VALUE/></SETTING>
-                <SETTING><NAME>OSDownloadPath</NAME><VALUE/></SETTING>
-                <SETTING><NAME>AltDownload</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>AltDownloadConnectionName</NAME><VALUE/></SETTING>
-
-                <!-- Settings for "x86 Exceptions" panel -->
-                <SETTING><NAME>MWDebugger_X86_Exceptions</NAME>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                </SETTING>
-                
-                <!-- Settings for "Auto-target" panel -->
-                <SETTING><NAME>OtherExecutables</NAME><VALUE/></SETTING>
-
-                <!-- Settings for "Analyzer Connections" panel -->
-                <SETTING><NAME>AnalyzerConnectionName</NAME><VALUE/></SETTING>
-
-                <!-- Settings for "Custom Keywords" panel -->
-                <SETTING><NAME>CustomColor1</NAME>
-                    <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
-                    <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
-                    <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>CustomColor2</NAME>
-                    <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
-                    <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
-                    <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>CustomColor3</NAME>
-                    <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
-                    <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
-                    <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>CustomColor4</NAME>
-                    <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
-                    <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
-                    <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
-                </SETTING>
-
-                <!-- Settings for "ARM Debugger" panel -->
-                <SETTING><NAME>Processor</NAME><VALUE>Generic</VALUE></SETTING>
-                <SETTING><NAME>BraekPoinType_II</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>UseInitFile</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>UseConfigFile</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>IDexecutable</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>IDinitialized</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>IDuninitialized</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>IDconstant</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>SDexecutable</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>SDinitialized</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>SDuninitialized</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>SDconstant</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>VerifyMemWrites</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>ShowMPC107regs</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>InitializationFile</NAME><VALUE/></SETTING>
-                <SETTING><NAME>ConfigurationFile</NAME><VALUE/></SETTING>
-                <SETTING><NAME>BreakpointType</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>WatchpointType</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>TargetOS</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>RTOSPluginName</NAME><VALUE/></SETTING>
-                <SETTING><NAME>ByteOrderType</NAME><VALUE>0</VALUE></SETTING>
-                <PANELDATA><NAME>CodeTest SYMBIAN Instrumenter</NAME><VALUE>
-                    0200020000000100000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    000000000000000000000000433A5C0000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    000000000000000000000000637466696C657300000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    000000000000000000000000636F6465746573742E6964620000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    000000000000000000000000
-                </VALUE></PANELDATA>
-
-                <!-- Settings for "Symbian Installation" panel -->
-                <SETTING><NAME>SymbianInstallationOutputFilename</NAME><VALUE>Application.sis</VALUE></SETTING>
-                <SETTING><NAME>SymbianInstallationOutputLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>SymbianInstallationContentSearchLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\udeb</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-                <SETTING><NAME>SymbianInstallationPassword</NAME><VALUE/></SETTING>
-                <SETTING><NAME>SymbianInstallationCreateStubFile</NAME><VALUE>false</VALUE></SETTING>
-
-                <!-- Settings for "Symbian Installer Panel v2" panel -->
-                <SETTING><NAME>SymbianInstallationOutputFilename</NAME><VALUE>Application.sis</VALUE></SETTING>
-                <SETTING><NAME>SymbianInstallationOutputLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>SymbianInstallationContentSearchLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\udeb</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-                <SETTING><NAME>SymbianInstallationPassword</NAME><VALUE/></SETTING>
-                <SETTING><NAME>SymbianInstallationCreateStubFile</NAME><VALUE>false</VALUE></SETTING>
-
-                <!-- Settings for "Symbian Resource Panel" panel -->
-                <SETTING><NAME>SymbianResourcesMMPFileLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>s60\mw\devicecontentservices\devicediagnostics\diagnosticsfw\diagresultsdb\Client\group</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-                <SETTING><NAME>SymbianResourcesBinaryOutputLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\udeb</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-                <SETTING><NAME>SymbianResourcesHeaderFileOutputLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-
-                <!-- Settings for "Symbian Resources Panel v2" panel -->
-                <SETTING><NAME>SymbianResourcesMMPFileLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>s60\mw\devicecontentservices\devicediagnostics\diagnosticsfw\diagresultsdb\Client\group</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-                <SETTING><NAME>SymbianResourcesBinaryOutputLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\udeb</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-                <SETTING><NAME>SymbianResourcesHeaderFileOutputLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-
-                <!-- Settings for "Remote Download" panel -->
-                <SETTING><NAME>FileList</NAME><VALUE/></SETTING>
-
-                <!-- Settings for "Symbian ARM Debugger" panel -->
-                <SETTING><NAME>Processor</NAME><VALUE>Generic</VALUE></SETTING>
-                <SETTING><NAME>UseInitFile</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>UseConfigFile</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>ResetTarget</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>InitializationFile</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>ConfigurationFile</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>TargetOS</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>RTOSPluginName</NAME><VALUE/></SETTING>
-
-                <!-- Settings for "Symbian Common Panel" panel -->
-                <SETTING><NAME>ShowCommandLine</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>SymbianEpocToolsPath</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE></VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-
-                <!-- Settings for "Symbian Compiler Panel" panel -->
-                <SETTING><NAME>PrefixFile</NAME><VALUE>feature_settings.hrh</VALUE></SETTING>
-                <SETTING><NAME>CompilerXMLDescriptor</NAME><VALUE>Metrowerks x86 Compiler</VALUE></SETTING>
-                <SETTING><NAME>Macros</NAME><VALUE>__SYMBIAN32__,__CW32__,__WINS__,__WINSCW__,__DLL__,_DEBUG,_UNICODE,__SUPPORT_CPP_EXCEPTIONS__,</VALUE></SETTING>
-                <SETTING><NAME>CodeTEST</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>EnableSWIC</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>Arguments</NAME><VALUE>-wchar_t off -align 4 -warnings on -w nohidevirtual, nounusedexpr -msgstyle gcc -enum int -str pool -exc ms -trigraphs on -O0 -inline off -nostdinc</VALUE></SETTING>
-                <SETTING><NAME>CIAArgs</NAME><VALUE/></SETTING>
-
-                <!-- Settings for "Symbian Debugging" panel -->
-                <SETTING><NAME>Parse Log File</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>Log File Path</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>Symbian SDK Folder</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>Log Unresolved Modules</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>Log Unresolved Sym Files</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>Debug Non-XIP Executables</NAME><VALUE>false</VALUE></SETTING>
-
-                <!-- Settings for "Symbian Kernel Debugging" panel -->
-                <SETTING><NAME>Start Address</NAME><VALUE>0x00000000</VALUE></SETTING>
-                <SETTING><NAME>Run From Start Address</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>Download Image</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>OS Image Path</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>Download Address</NAME><VALUE>0x00000000</VALUE></SETTING>
-                <SETTING><NAME>Ask First</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>Debug Bootrom</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>Bootrom Sym File</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-
-                <!-- Settings for "Symbian Linker Panel" panel -->
-                <SETTING><NAME>LinkOutputFile</NAME><VALUE>DiagResultsDatabase.dll</VALUE></SETTING>
-                <SETTING><NAME>LinkCmdLine</NAME><VALUE/></SETTING>
-                <SETTING><NAME>SymbianImportLibrary</NAME><VALUE>DiagResultsDatabase.lib</VALUE></SETTING>
-                <SETTING><NAME>canDebug</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>canRun</NAME><VALUE>false</VALUE></SETTING>
-
-                <!-- Settings for "Symbian RomBuild Panel" panel -->
-                <SETTING><NAME>CommandLine</NAME><VALUE>buildrom -D_DEBUG devkit lubbock techview -olubbock_gui.img</VALUE></SETTING>
-                <SETTING><NAME>OutputPath</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>DisplayMessages</NAME><VALUE>true</VALUE></SETTING>
-
-                <!-- Settings for "Symbian Target" panel -->
-                <SETTING><NAME>TargetArchitecture</NAME><VALUE>WINSCW</VALUE></SETTING>
-                <SETTING><NAME>LogMessages</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>SuppressWarnings</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>GenerateSymbolics</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>CompilerPrefix</NAME><VALUE/></SETTING>
-                <SETTING><NAME>CompilerCmdLine</NAME><VALUE/></SETTING>
-                <SETTING><NAME>SymbianImportLibraryPath</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-
-                <!-- Settings for "Symbian Tools" panel -->
-                <SETTING><NAME>Gnu Tools Path</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>Epoc32 Tools Path</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-            </SETTINGLIST>
-            <FILELIST>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabase.mmp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabase.def</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabase.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseItem.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbRecordInfoArrayPacked.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseTestRecordInfo.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbRecordEngineParam.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabase_UID_.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>euser.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>estor.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>drmserviceapi.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>centralrepository.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>flogger.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabase.h</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseCommon.h</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseItem.h</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseTestRecordInfo.h</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbPrivateCRKeys.h</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbRecordEngineParam.h</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbRecordInfoArrayPacked.h</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseWINSCWUDEB.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-</FILELIST>
-            <LINKORDER>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabase.mmp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabase.def</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabase.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseItem.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbRecordInfoArrayPacked.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseTestRecordInfo.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbRecordEngineParam.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabase_UID_.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>euser.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>estor.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>drmserviceapi.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>centralrepository.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>flogger.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabase.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseCommon.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseItem.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseTestRecordInfo.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbPrivateCRKeys.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbRecordEngineParam.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbRecordInfoArrayPacked.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseWINSCWUDEB.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-</LINKORDER>
-        </TARGET><TARGET>
-            <NAME>WINSCW UREL</NAME>
-            <SETTINGLIST>
-
-                <!-- Settings for "Source Trees" panel -->
-                <SETTING><NAME>UserSourceTrees</NAME></SETTING>
-
-                <!-- Settings for "Access Paths" panel -->
-                <SETTING><NAME>AlwaysSearchUserPaths</NAME><VALUE>true</VALUE></SETTING>
-                <SETTING><NAME>InterpretDOSAndUnixPaths</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>RequireFrameworkStyleIncludes</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>SourceRelativeIncludes</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>UserSearchPaths</NAME>
-                    <SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>s60\mw\devicecontentservices\devicediagnostics\diagnosticsfw\diagresultsdb\Client\inc</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>s60\mw\devicecontentservices\devicediagnostics\diagnosticsfw\diagresultsdb\Common</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>s60\mw\devicecontentservices\devicediagnostics\diagnosticsfw\diagresultsdb\Client\BWINS</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>s60\mw\devicecontentservices\devicediagnostics\diagnosticsfw\diagresultsdb\Client\group</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>s60\mw\devicecontentservices\devicediagnostics\diagnosticsfw\diagresultsdb\Client\src</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING></SETTING>
-                <SETTING><NAME>SystemSearchPaths</NAME>
-                    <SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\oem</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\middleware</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\domain\middleware</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\osextensions</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\domain\osextensions</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\domain\osextensions\loc</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\domain\middleware\loc</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\domain\osextensions\loc\sc</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\domain\middleware\loc\sc</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\UREL</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\release\WINSCW\UDEB</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>Symbian_Support\Win32-x86 Support\Libraries\Win32 SDK</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>CodeWarrior</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>Symbian_Support\Runtime\Runtime_x86\Runtime_Win32\Libs</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>CodeWarrior</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING></SETTING>
-
-                <!-- Settings for "Debugger Runtime" panel -->
-                <SETTING><NAME>MWRuntimeSettings_WorkingDirectory</NAME><VALUE/></SETTING>
-                <SETTING><NAME>MWRuntimeSettings_CommandLine</NAME><VALUE/></SETTING>
-                <SETTING><NAME>MWRuntimeSettings_HostApplication</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\urel\epoc.exe</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-                <SETTING><NAME>MWRuntimeSettings_EnvVars</NAME><VALUE/></SETTING>
-
-                <!-- Settings for "Target Settings" panel -->
-                <SETTING><NAME>Linker</NAME><VALUE>Symbian Linker v2</VALUE></SETTING>
-                <SETTING><NAME>PreLinker</NAME><VALUE/></SETTING>
-                <SETTING><NAME>PostLinker</NAME><VALUE>Symbian Installer v2</VALUE></SETTING>
-                <SETTING><NAME>Targetname</NAME><VALUE>WINSCW UREL</VALUE></SETTING>
-                <SETTING><NAME>OutputDirectory</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\urel</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-                <SETTING><NAME>SaveEntriesUsingRelativePaths</NAME><VALUE>false</VALUE></SETTING>
-
-                <!-- Settings for "File Mappings" panel -->
-                <SETTING><NAME>FileMappings</NAME>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>._i</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>._ii</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.c</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.cc</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.cfg</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.cia</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.cpp</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.cwlink</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>XML</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.cxx</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.def</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.h</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.hrh</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.i</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.iby</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.ii</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.inf</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.ini</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.inl</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.loc</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.mmpi</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.pch++</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.pkg</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.policy</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.ra</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.resources</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Resource v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>XML</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.rh</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.rls</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.rss</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.rsg</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.s</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.script</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.txt</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.a</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.lib</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.dso</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.o</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                </SETTING>
-
-                <!-- Settings for "Build Extras" panel -->
-                <SETTING><NAME>CacheModDates</NAME><VALUE>true</VALUE></SETTING>
-                <SETTING><NAME>DumpBrowserInfo</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>CacheSubprojects</NAME><VALUE>true</VALUE></SETTING>
-                <SETTING><NAME>UseThirdPartyDebugger</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>BrowserGenerator</NAME><VALUE>2</VALUE></SETTING>
-                <SETTING><NAME>DebuggerAppPath</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>DebuggerCmdLineArgs</NAME><VALUE/></SETTING>
-                <SETTING><NAME>DebuggerWorkingDir</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>CodeCompletionPrefixFileName</NAME><VALUE/></SETTING>
-                <SETTING><NAME>CodeCompletionMacroFileName</NAME><VALUE/></SETTING>
-
-                <!-- Settings for "Debugger Target" panel -->
-                <SETTING><NAME>ConsoleEncoding</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>LogSystemMessages</NAME><VALUE>true</VALUE></SETTING>
-                <SETTING><NAME>AutoTargetDLLsPopUp</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>StopAtWatchpoints</NAME><VALUE>true</VALUE></SETTING>
-                <SETTING><NAME>PauseWhileRunning</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>PauseInterval</NAME><VALUE>5</VALUE></SETTING>
-                <SETTING><NAME>PauseUIFlags</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>AltExePath</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>StopAtTempBPOnLaunch</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>CacheSymbolics</NAME><VALUE>true</VALUE></SETTING>
-                <SETTING><NAME>TempBPFunctionName</NAME><VALUE>E32Main</VALUE></SETTING>
-                <SETTING><NAME>TempBPType</NAME><VALUE>1</VALUE></SETTING>
-
-                <!-- Settings for "Remote Debug" panel -->
-                <SETTING><NAME>Enabled</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>ConnectionName</NAME><VALUE/></SETTING>
-                <SETTING><NAME>DownloadPath</NAME><VALUE/></SETTING>
-                <SETTING><NAME>LaunchRemoteApp</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>RemoteAppPath</NAME><VALUE/></SETTING>
-                <SETTING><NAME>CoreID</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>JTAGClockSpeed</NAME><VALUE>8000</VALUE></SETTING>
-                <SETTING><NAME>IsMultiCore</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>OSDownload</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>UseGlobalOSDownload</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>OSDownloadConnectionName</NAME><VALUE/></SETTING>
-                <SETTING><NAME>OSDownloadPath</NAME><VALUE/></SETTING>
-                <SETTING><NAME>AltDownload</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>AltDownloadConnectionName</NAME><VALUE/></SETTING>
-
-                <!-- Settings for "x86 Exceptions" panel -->
-                <SETTING><NAME>MWDebugger_X86_Exceptions</NAME>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                </SETTING>
-                
-                <!-- Settings for "Auto-target" panel -->
-                <SETTING><NAME>OtherExecutables</NAME><VALUE/></SETTING>
-
-                <!-- Settings for "Analyzer Connections" panel -->
-                <SETTING><NAME>AnalyzerConnectionName</NAME><VALUE/></SETTING>
-
-                <!-- Settings for "Custom Keywords" panel -->
-                <SETTING><NAME>CustomColor1</NAME>
-                    <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
-                    <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
-                    <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>CustomColor2</NAME>
-                    <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
-                    <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
-                    <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>CustomColor3</NAME>
-                    <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
-                    <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
-                    <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>CustomColor4</NAME>
-                    <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
-                    <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
-                    <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
-                </SETTING>
-
-                <!-- Settings for "ARM Debugger" panel -->
-                <SETTING><NAME>Processor</NAME><VALUE>Generic</VALUE></SETTING>
-                <SETTING><NAME>BraekPoinType_II</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>UseInitFile</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>UseConfigFile</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>IDexecutable</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>IDinitialized</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>IDuninitialized</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>IDconstant</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>SDexecutable</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>SDinitialized</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>SDuninitialized</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>SDconstant</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>VerifyMemWrites</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>ShowMPC107regs</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>InitializationFile</NAME><VALUE/></SETTING>
-                <SETTING><NAME>ConfigurationFile</NAME><VALUE/></SETTING>
-                <SETTING><NAME>BreakpointType</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>WatchpointType</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>TargetOS</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>RTOSPluginName</NAME><VALUE/></SETTING>
-                <SETTING><NAME>ByteOrderType</NAME><VALUE>0</VALUE></SETTING>
-                <PANELDATA><NAME>CodeTest SYMBIAN Instrumenter</NAME><VALUE>
-                    0200020000000100000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    000000000000000000000000433A5C0000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    000000000000000000000000637466696C657300000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    000000000000000000000000636F6465746573742E6964620000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    000000000000000000000000
-                </VALUE></PANELDATA>
-
-                <!-- Settings for "Symbian Installation" panel -->
-                <SETTING><NAME>SymbianInstallationOutputFilename</NAME><VALUE>Application.sis</VALUE></SETTING>
-                <SETTING><NAME>SymbianInstallationOutputLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>SymbianInstallationContentSearchLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\urel</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-                <SETTING><NAME>SymbianInstallationPassword</NAME><VALUE/></SETTING>
-                <SETTING><NAME>SymbianInstallationCreateStubFile</NAME><VALUE>false</VALUE></SETTING>
-
-                <!-- Settings for "Symbian Installer Panel v2" panel -->
-                <SETTING><NAME>SymbianInstallationOutputFilename</NAME><VALUE>Application.sis</VALUE></SETTING>
-                <SETTING><NAME>SymbianInstallationOutputLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>SymbianInstallationContentSearchLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\urel</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-                <SETTING><NAME>SymbianInstallationPassword</NAME><VALUE/></SETTING>
-                <SETTING><NAME>SymbianInstallationCreateStubFile</NAME><VALUE>false</VALUE></SETTING>
-
-                <!-- Settings for "Symbian Resource Panel" panel -->
-                <SETTING><NAME>SymbianResourcesMMPFileLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>s60\mw\devicecontentservices\devicediagnostics\diagnosticsfw\diagresultsdb\Client\group</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-                <SETTING><NAME>SymbianResourcesBinaryOutputLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\urel</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-                <SETTING><NAME>SymbianResourcesHeaderFileOutputLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-
-                <!-- Settings for "Symbian Resources Panel v2" panel -->
-                <SETTING><NAME>SymbianResourcesMMPFileLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>s60\mw\devicecontentservices\devicediagnostics\diagnosticsfw\diagresultsdb\Client\group</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-                <SETTING><NAME>SymbianResourcesBinaryOutputLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\urel</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-                <SETTING><NAME>SymbianResourcesHeaderFileOutputLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-
-                <!-- Settings for "Remote Download" panel -->
-                <SETTING><NAME>FileList</NAME><VALUE/></SETTING>
-
-                <!-- Settings for "Symbian ARM Debugger" panel -->
-                <SETTING><NAME>Processor</NAME><VALUE>Generic</VALUE></SETTING>
-                <SETTING><NAME>UseInitFile</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>UseConfigFile</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>ResetTarget</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>InitializationFile</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>ConfigurationFile</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>TargetOS</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>RTOSPluginName</NAME><VALUE/></SETTING>
-
-                <!-- Settings for "Symbian Common Panel" panel -->
-                <SETTING><NAME>ShowCommandLine</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>SymbianEpocToolsPath</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE></VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-
-                <!-- Settings for "Symbian Compiler Panel" panel -->
-                <SETTING><NAME>PrefixFile</NAME><VALUE>feature_settings.hrh</VALUE></SETTING>
-                <SETTING><NAME>CompilerXMLDescriptor</NAME><VALUE>Metrowerks x86 Compiler</VALUE></SETTING>
-                <SETTING><NAME>Macros</NAME><VALUE>__SYMBIAN32__,__CW32__,__WINS__,__WINSCW__,__DLL__,NDEBUG,_UNICODE,__SUPPORT_CPP_EXCEPTIONS__,</VALUE></SETTING>
-                <SETTING><NAME>CodeTEST</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>EnableSWIC</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>Arguments</NAME><VALUE>-wchar_t off -align 4 -warnings on -w nohidevirtual, nounusedexpr -msgstyle gcc -enum int -str pool -exc ms -trigraphs on -O4,s -nostdinc</VALUE></SETTING>
-                <SETTING><NAME>CIAArgs</NAME><VALUE/></SETTING>
-
-                <!-- Settings for "Symbian Debugging" panel -->
-                <SETTING><NAME>Parse Log File</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>Log File Path</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>Symbian SDK Folder</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>Log Unresolved Modules</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>Log Unresolved Sym Files</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>Debug Non-XIP Executables</NAME><VALUE>false</VALUE></SETTING>
-
-                <!-- Settings for "Symbian Kernel Debugging" panel -->
-                <SETTING><NAME>Start Address</NAME><VALUE>0x00000000</VALUE></SETTING>
-                <SETTING><NAME>Run From Start Address</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>Download Image</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>OS Image Path</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>Download Address</NAME><VALUE>0x00000000</VALUE></SETTING>
-                <SETTING><NAME>Ask First</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>Debug Bootrom</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>Bootrom Sym File</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-
-                <!-- Settings for "Symbian Linker Panel" panel -->
-                <SETTING><NAME>LinkOutputFile</NAME><VALUE>DiagResultsDatabase.dll</VALUE></SETTING>
-                <SETTING><NAME>LinkCmdLine</NAME><VALUE/></SETTING>
-                <SETTING><NAME>SymbianImportLibrary</NAME><VALUE>DiagResultsDatabase.lib</VALUE></SETTING>
-                <SETTING><NAME>canDebug</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>canRun</NAME><VALUE>false</VALUE></SETTING>
-
-                <!-- Settings for "Symbian RomBuild Panel" panel -->
-                <SETTING><NAME>CommandLine</NAME><VALUE>buildrom -D_DEBUG devkit lubbock techview -olubbock_gui.img</VALUE></SETTING>
-                <SETTING><NAME>OutputPath</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>DisplayMessages</NAME><VALUE>true</VALUE></SETTING>
-
-                <!-- Settings for "Symbian Target" panel -->
-                <SETTING><NAME>TargetArchitecture</NAME><VALUE>WINSCW</VALUE></SETTING>
-                <SETTING><NAME>LogMessages</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>SuppressWarnings</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>GenerateSymbolics</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>CompilerPrefix</NAME><VALUE/></SETTING>
-                <SETTING><NAME>CompilerCmdLine</NAME><VALUE/></SETTING>
-                <SETTING><NAME>SymbianImportLibraryPath</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-
-                <!-- Settings for "Symbian Tools" panel -->
-                <SETTING><NAME>Gnu Tools Path</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>Epoc32 Tools Path</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-            </SETTINGLIST>
-            <FILELIST>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabase.mmp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabase.def</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabase.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseItem.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbRecordInfoArrayPacked.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseTestRecordInfo.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbRecordEngineParam.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabase_UID_.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>euser.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>estor.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>drmserviceapi.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>centralrepository.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>flogger.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseWINSCWUREL.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-</FILELIST>
-            <LINKORDER>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabase.mmp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabase.def</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabase.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseItem.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbRecordInfoArrayPacked.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseTestRecordInfo.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbRecordEngineParam.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabase_UID_.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>euser.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>estor.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>drmserviceapi.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>centralrepository.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>flogger.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseWINSCWUREL.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-</LINKORDER>
-        </TARGET><TARGET>
-<NAME>Build All</NAME><SETTINGLIST><SETTING><NAME>Linker</NAME><VALUE>None</VALUE></SETTING>
-<SETTING><NAME>Targetname</NAME><VALUE>Build All</VALUE></SETTING>
-</SETTINGLIST>
-<FILELIST></FILELIST>
-<LINKORDER></LINKORDER>
-<SUBTARGETLIST><SUBTARGET><TARGETNAME>WINSCW UDEB</TARGETNAME></SUBTARGET>
-<SUBTARGET><TARGETNAME>WINSCW UREL</TARGETNAME></SUBTARGET>
-</SUBTARGETLIST></TARGET></TARGETLIST>
-
-    <TARGETORDER>
-<ORDEREDTARGET><NAME>WINSCW UDEB</NAME></ORDEREDTARGET>
-<ORDEREDTARGET><NAME>WINSCW UREL</NAME></ORDEREDTARGET>
-<ORDEREDTARGET><NAME>Build All</NAME></ORDEREDTARGET>
-</TARGETORDER>
-
-    <GROUPLIST><FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabase.mmp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<GROUP><NAME>Source</NAME>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabase.def</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabase.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseItem.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbRecordInfoArrayPacked.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseTestRecordInfo.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbRecordEngineParam.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabase_UID_.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-</GROUP>
-<GROUP><NAME>Headers</NAME>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabase.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseCommon.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseItem.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseTestRecordInfo.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbPrivateCRKeys.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbRecordEngineParam.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbRecordInfoArrayPacked.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-</GROUP>
-<GROUP><NAME>Link</NAME>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseWINSCWUDEB.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseWINSCWUREL.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-</GROUP>
-<GROUP><NAME>Libraries</NAME>
-<GROUP><NAME>WINSCW</NAME>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>euser.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>estor.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>drmserviceapi.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>centralrepository.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>flogger.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-</GROUP>
-</GROUP>
-</GROUPLIST>
-
-</PROJECT>
--- a/devicediagnosticsfw/diagresultsdb/client/inc/diagresultsdatabase.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,520 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Results database client interfaces.
-*                Provides results database session and subsession.
-*  libraries   : DiagResultsDatabase.lib DiagResultsDatabase.dll
-*
-*/
-
-
-#ifndef DIAGNOSTICS_RESULTS_DATABASE_CLIENT_H
-#define DIAGNOSTICS_RESULTS_DATABASE_CLIENT_H
-
-#include <e32base.h>
-
-class CDiagResultsDatabaseItem;
-class TDiagResultsDatabaseTestRecordInfo;
-class CDiagResultsDbRecordEngineParam;
-
-/**
-* Diagnostics Results Database. Stores test results and more information.
-* Provides methods to retrieve and fetch new data.
-* Requires ReadDeviceData and WriteDeviceData capabilities even if the
-* session does not write anything.
-*
-* Results database is a permanent file store based solution.
-* Database files are stored under WINSCW\C\private\10282cd9 in emulator
-* environment.
-*
-* It is recommended to have only one open RDiagResultsDatabase per thread.
-* There should be only one writer and multiple readers at the same time
-* accessing the same database file. It is possible that there are multiple
-* DB files for example when there are two diagnostics applications in the
-* system.
-*
-* @since S60 v5.0
-**/
-class RDiagResultsDatabase : public RSessionBase
-    {
-public:
-
-    /**
-    * Constructor
-    **/
-    IMPORT_C RDiagResultsDatabase();
-    
-    /**
-    * Destructor
-    **/
-    IMPORT_C ~RDiagResultsDatabase();
-
-    /**
-    * Connect to the results database to a DB file. This must be called before 
-    * trying to use this class, otherwise KERN-EXEC 0 will crash your app. 
-    * Only one RDiagResultsDatabase connection is recommended per application,
-    * because server sessions consume significant amount of system resources.
-    * Share the session inside your thread! Subsessions are much more lighter. 
-    *
-    * Calling connect creates the DB file inside server's private directory.
-    * If for some reason database is corrupted, the DB file should be deleted
-    * manually.
-    *
-    * @param aAppUid Unique identifier of the application. Each application has 
-    *   its own store.  Applications can access to another 
-    *   applications's database if they know their UID.
-    * @return KErrNone, if successful, otherwise one of the other system-wide
-    *   error codes. If calling process does not have access rights, 
-    *   KErrPermissionDenied is returned. ReadDeviceData+WriteDeviceData are
-    *   required. KErrDiskFull is returned if there is not enough space 
-    *   on c-drive.
-    **/
-    IMPORT_C TInt Connect( TUid aAppUid );
-
-    /**
-    * Close the session with the server. Handle is not valid anymore.
-    *
-    * @return KErrNone, if successful, otherwise one of the other system-wide
-    *   error codes.
-    **/
-    IMPORT_C TInt Close();
-
-    /**
-    * Returns the version number of the server.
-    *
-    * @return The version number.
-    **/
-    IMPORT_C TVersion Version() const;
-
-    /**
-    * Get the current number of test records in the database.
-    *
-    * @param aCount the number of records.
-    * @return KErrNone, if successful, otherwise one of the other system-wide 
-    *   error codes.
-    **/
-    IMPORT_C TInt GetRecordCount ( TUint& aCount ) const;
-
-    /**
-    * Returns the maximum number of records for each application. The number 
-    * is defined in the central repository and it is static for all applications. 
-    * It is guarenteed that the DB file contains only the maxsize records and
-    * not more. Old test records are deleted when new test records are 
-    * completed.
-    *
-    * @param aMaxSize The maximum number of test records.
-    * @return KErrNone, if successful, otherwise one of the other system-wide
-    *   error codes.
-    **/
-    IMPORT_C static TInt GetDatabaseMaximumSize( TInt& aMaxSize );
-
-    /**
-    * Returns an array of record Ids. The oldest records are at the beginning
-    * of the array. Test record are sorted based on creation time.
-    *
-    * @param aSortedRecordUidArray An array of UIds. The array is sorted 
-    *   based on time.
-    * @return KErrNone, if successful, otherwise one of the other system-wide
-    *   error codes.
-    **/
-    IMPORT_C TInt GetRecordUids ( CArrayFixFlat<TUid>& aSortedRecordUidArray ) const;
-
-    /**
-    * Returns id to last test record. The last record cannot be 
-    * still open for writing! Test record are sorted based on creation time.
-    *
-    * @param aRecordUid Unique identifier of the record.
-    * @return KErrNone, if successful, otherwise one of the other system-wide
-    *   error codes. Returns KErrNotFound if there are no records.
-    **/
-    IMPORT_C TInt GetLastRecord ( TUid& aRecordUid ) const;
-    
-    /**
-    * Returns id to last suspended or incompleted test record. 
-    * The last record cannot be still open for writing! Returns KErrNotFound 
-    * if there are no suspended or incomplete test records.
-    *
-    * @param aRecordUid Unique identifier of the record.
-    * @return KErrNone, if successful, otherwise one of the other system-wide
-    *   error codes. Returns KErrNotFound if there are no suspended test records.
-    **/
-    IMPORT_C TInt GetLastNotCompletedRecord ( TUid& aRecordUid ) const;
-    
-    /**
-    * Returns an overview from all records. 
-    *
-    * @param aInfoArray returns an array of record infos.
-    * @see TDiagResultsDatabaseTestRecordInfo.
-    **/
-    IMPORT_C TInt GetAllRecordInfos ( 
-               CArrayFixFlat<TDiagResultsDatabaseTestRecordInfo>& aInfoArray );
-
-    /**
-    * Initiate retrieving of last results.  After request is completed,
-    * data can be fetched using GetLastResults method.
-    *
-    * @param aUidArray An array of uid used to identify plug-ins.
-    * @param aStatus Completion status. 
-    **/
-    IMPORT_C void InitiateGetLastResults ( const CArrayFixFlat<TUid>& aUidArray,
-                                                TRequestStatus& aStatus );
-                                                
-    /**
-    * Cancel InitiateGetLastResults.
-    **/                                                
-    IMPORT_C void CancelInitiateGetLastResults () const;
-    
-    /**
-    * Get list of last results. Last result means that the plug-in has passed / failed
-    * test result. 
-    * 
-    * GetLastResults deletes data after this function 
-    * is called, so InitiateGetLastResults must be called if data is needed 
-    * again. Client is responsible for deleting the returned array. Contains
-    * null values if the searched uid was not found. There should be the same
-    * number of cells in UidArray and in the results array.   
-    *
-    * @param aResults Returned results array. Client is responsible for 
-    *                 deleting the array.
-    *
-    * @return KErrNotReady if this is called before InitiateGetLastResults.
-    */
-    IMPORT_C TInt GetLastResults ( RPointerArray<CDiagResultsDatabaseItem>& aResults ) const;
-    
-    /**
-    * Get last (the newest) test result of a test plug-in. The algorithm searches for a 
-    * test result that is either passed or failed. This is also asynchronous operation,
-    * because all records have to be browsed in worst case scenario (that is, when
-    * the plug-in uid is not found). Call GetLastResult when test result is needed.
-    *
-    *
-    * @param aTestPluginUid UID of a plug-in.    
-    * @param aStatus Asynchronous request status.
-    * 
-    */
-    IMPORT_C void InitiateGetLastResult ( TUid aTestPluginUid, 
-                                          TRequestStatus& aStatus );
-    
-
-    /**
-    * Get last result of a test plug-in.
-    *
-    * @param aItem Test result or NULL if not found.
-    * @retrun KErrNotReady if this is called before InitiateGetLastResult.
-    **/                                          
-    IMPORT_C TInt GetLastResult ( CDiagResultsDatabaseItem*& aItem );
-
-private:
-    
-    /**
-    * Leaving version of the service functions. Look above for explanations.
-    **/                    
-    void DoConnectL (TUid aAppUid);
-    
-    void DoGetRecordUidsL( CArrayFixFlat<TUid>& aSortedRecordUidArray ) const;
-
-    /*
-    * @see GetDatabaseMaximumSize()
-    */
-    static void DoGetDatabaseMaximumSizeL( TInt& aMaxSize );
-    
-    void DoGetAllRecordInfosL ( CArrayFixFlat<TDiagResultsDatabaseTestRecordInfo>& aInfoArray);
-    
-    void DoGetLastResultsL ( RPointerArray<CDiagResultsDatabaseItem>& aResults ) const;
-    
-    void WriteArrayIntoBufferL( const CArrayFixFlat<TUid>& aUidArray );   
-    
-    void DoGetLastResultL ( CDiagResultsDatabaseItem*& aItem );                                    
-
-private: 
-
-    // Flat dynamic buffer.
-    CBufFlat* iBuffer;
-    
-    // is the connection already open.
-    TBool iOpen;     
-    
-    //Buffer pointer
-    TPtr8 iPtr;                 
-    };
-   
-/**
-* Sub-session to Diagnostics Results Database. This API is used to
-* handle a Test record. A test record is a collection of test results.
-*
-* Test record is always written into the file, when updates are necessary. 
-* 
-*
-* @since S60 v5.0 
-**/
-class RDiagResultsDatabaseRecord : public RSubSessionBase
-    {
-public:
-
-    /**
-    * Test record status. 
-    **/
-     enum TRecordStatus
-        {    	      
-        EOpen,                // Currently open for writing.
-        ESuspended,   	      // ::Suspend() is called. 
-        ECrashed,		      // It was open previously, and it was not 
-                              // closed properly.
-        EPartiallyCompleted,  // Record is completed (not resumable), but not
-                              // all tests were completed.
-        ECompleted	          // Record is completed (not resumable), and all 
-                              // tests were completed. 
-        };
-
-    /**
-    * Constructor
-    **/
-    IMPORT_C RDiagResultsDatabaseRecord();
-    
-    /**
-    * Destructor
-    **/
-    IMPORT_C ~RDiagResultsDatabaseRecord();
-
-    /**
-    * Connects to a test record. There must be at least one created record.
-    * If the specified record is not found, KErrNotFound is returned.
-    * Opened test record can be modified if the test record has not been
-    * completed (= TestCompleted called).
-    *
-    * @param aSession open database session.
-    * @param aRecordId specifies the record where we want to connect.
-    * @param aReadOnly Indicates is the test record opened in read-only mode.
-    *                  If read-only = EFalse, the test record can overwrite
-    *                  test records that are not completed already. If 
-    *                  the test record is completed it can be opened only 
-    *                  in read-mode. 
-    *
-    * @return KErrNone, if successful, otherwise one of the other system-wide
-    *   error codes. Returns KErrAlreadyExists if subsession is connected.
-    **/
-    IMPORT_C TInt Connect( RDiagResultsDatabase& aSession, 
-                           TUid aRecordId, 
-                           TBool aReadOnly );
-    
-    /**
-    * Creates a new record and returns the uid of that record. 
-    * Writes empty test record into the file. Create new record opens the record
-    * always in Write mode.
-    *
-    * @param aSession open database session.
-    * @param aRecordId a new unique identifier is returned that is used to
-    *   identify particular test record. Client can use the record ID to access
-    *   the same record again.
-    * @param aEngineParam Engine parameters. 
-    *
-    * @return KErrNone, if successful, otherwise one of the other system-wide
-    *   error codes. Returns KErrAlreadyExists if subsession is connected.
-    *   KErrDiskFull is returned if there is not enough space on c-drive.
-    **/
-    IMPORT_C TInt CreateNewRecord( RDiagResultsDatabase& aSession, 
-                                   TUid& aRecordId,
-                                   CDiagResultsDbRecordEngineParam& aEngineParam );
-    
-    /**
-    * Retrieve parameters of the diagnostics engine. These are needed in
-    * Suspend/Resume functionality. 
-    *
-    * @param aEngineParam Engine parameters. Ownership is transferred.
-    *                     Client is responsible for deleting the object.
-    * @return KErrNone, if successful, otherwise one of the other system-wide
-    *   error codes.
-    **/
-    IMPORT_C TInt GetEngineParam( CDiagResultsDbRecordEngineParam*& aEngineParam ) const;
-
-
-    /**
-    * Get record status.
-    *
-    * @param aRecordStatus The status of the record. 
-    * @see TRecordStatus in the beginning of the class declaration.
-    *
-    * @return KErrNone, if successful, otherwise one of the other system-wide
-    *   error codes.
-    **/
-    IMPORT_C TInt GetStatus( TRecordStatus& aRecordStatus ) const;
-
-    /**
-    * Close subsession. Does not write test record into the file.
-    *
-    * @return Symbian error code or KErrNone.
-    **/
-    IMPORT_C void Close();
-    
-    /**
-    * Suspend test record. Same as complete, but the test record can be modified
-    * on next connect.Writes test suspend time into test record info.
-    *
-    * @return Symbian error code or KErrNone.
-    **/
-    IMPORT_C TInt Suspend();
-    
-    /**
-    * Indicates has this test record been suspended.
-    * @param aSuspended Returns has this test record been suspended(ETrue), 
-    *                   otherwise EFalse.
-    * @return KErrNone, if successful, otherwise one of the other system-wide
-    *   error codes.
-    **/
-    IMPORT_C TInt IsSuspended( TBool& aSuspended ) const;
-
-    /**
-    * Returns the record UID of this subsession.
-    *
-    * @param aRecordUid Record ID of the subsession.
-    * @return KErrNone, if successful, otherwise one of the other system-wide
-    *   error codes.
-    **/
-    IMPORT_C TInt GetTestRecordId( TUid& aRecordUid ) const;
-
-    /**
-    * Write test completion time/date to the record and prevent further 
-    * writing. Handle is still valid. However, it cannot be used for adding
-    * any more test results. During completion database file is cleaned up from
-    * old test records (limited by GetDatabaseMaximumSize method).
-    *
-    * Test completion is synchronous operation because only record handle must be
-    * updated (fixed size stream).
-    *
-    * @param aFullyComplete If ETrue (default), test record is completed with
-    *                       status fully completed. Otherwise the test record is 
-    *                       considered partially completed. 
-    *
-    * @return Symbian error code or KErrNone. KErrDiskFull is returned if there 
-    |         is not enough space on c-drive.   
-    **/
-    IMPORT_C TInt TestCompleted( TBool aFullyComplete = ETrue );
-    
-    /**
-    * Indicates has this record been written into the DB file or not. 
-    *
-    * @param aCompleted Has the test record been completed.
-    * @return KErrNone, if successful, otherwise one of the other system-wide
-    *   error codes.
-    **/ 
-    IMPORT_C TInt IsTestCompleted( TBool& aCompleted ) const;
-    
-    /**
-    * Returns information about the record. If the record is not finalized,
-    * iFinishTimes contains unknown values. 
-    *
-    * @param aInfo returns an overview of the test record.
-    * @return KErrNone, if successful, otherwise one of the other system-wide
-    *   error codes.
-    **/
-    IMPORT_C TInt GetRecordInfo ( TDiagResultsDatabaseTestRecordInfo& aInfo ) const;
-    
-    /**
-    * Get list of test UIDs inside the test record.
-    *
-    * @param aTestUidArray An array of test uids.
-    * @return KErrNone, if successful, otherwise one of the other system-wide
-    *   error codes.
-    **/
-    IMPORT_C TInt GetTestUids ( CArrayFixFlat<TUid>& aTestUidArray ) const;
-    
-    /**
-    * Logs results of a test into the database including more information
-    * that there might be. See class CDiagResultsDatabaseItem. Result Item
-    * is written into the file immediately after TRequestStatus completes.
-    *
-    * @param aResultItem This structure is stored into the database. 
-    *   Client is responsible for creating the object. Also client is responsible 
-    *   for setting item's values.
-    *
-    * @param aStatus Asynchronous status. Completes when process is finished.
-    *
-    * @return KErrNone, if successful, otherwise one of the other system-wide
-    *   error codes. Returns KErrAlreadyExists if record is already completed.
-    *   KErrDiskFull is returned if there is not enough space on c-drive. 
-    *   If KErrDiskFull is received, the test result is not logged.
-    *
-    **/ 
-    IMPORT_C TInt LogTestResult ( TRequestStatus& aStatus, 
-                                  const CDiagResultsDatabaseItem& aResultItem );
-
-    /**
-    * Cancel LogTestResult. Server continues to write result item into the DB.
-    * Cancelling only completes client's request.
-    **/                                  
-    IMPORT_C void CancelLogTestResult() const;                                  
-    
-    /**
-    * Get single test result from this test record identified by an uid. 
-    * 
-    * @param aPluginUid Unique identifier of the plug-in whose results are needed.
-    * @param aResultItem Contains test results.
-    * @return KErrNone, if successful, otherwise one of the other system-wide 
-    *   error codes.KErrNotFound is returned if the plug-in is not found
-    *   from the record.
-    **/
-    IMPORT_C TInt GetTestResult ( TUid aPluginUid, 
-                                  CDiagResultsDatabaseItem*& aResultItem ) const;
-   
-    /**
-    * Get all test results inside the test record. Client is responsible for 
-    * reseting/destroying the array.
-    *
-    * @param aResultsArray Returns test results for this record. 
-    *
-    * @return KErrNone, if successful, otherwise one of the other system-wide
-    *   error codes.
-    */
-    IMPORT_C TInt GetTestResults ( RPointerArray<CDiagResultsDatabaseItem>& aResultsArray ) const;
- 
-private:
-    
-    /**
-    * Leaving version of the functions and helper functions.
-    **/ 
-    void DoConnectL ( RDiagResultsDatabase& aSession, 
-                      TUid aRecordId,
-                      TBool aReadOnly );
-        
-    void DoCreateNewRecordL ( RDiagResultsDatabase& aSession, TUid& aRecordId,
-                              CDiagResultsDbRecordEngineParam& aEngineParam );
-    
-    void DoGetTestUidsL ( CArrayFixFlat<TUid>& aTestUidArray ) const;
-    
-    void DoLogTestResultL ( TRequestStatus& aStatus, 
-                            const CDiagResultsDatabaseItem& aResultItem );
-    
-    void DoGetTestResultsL ( RPointerArray<CDiagResultsDatabaseItem>& aResultsArray ) const;
-    
-    void DoGetTestResultL ( TUid aPluginUid, CDiagResultsDatabaseItem*& aResultItem ) const;
-    
-    void WriteDatabaseItemIntoBufferL( const CDiagResultsDatabaseItem& aResultItem );
-    
-    void WriteEngineParamIntoBufferL( CDiagResultsDbRecordEngineParam& aEngineParam );
-    
-    void DoGetEngineParamL( CDiagResultsDbRecordEngineParam*& aEngineParam ) const;
-    
-private: 
-
-    // Dynamic flat buffer.
-    CBufFlat* iBuffer;  
-    
-    // Is the connection already open.
-    TBool iOpen;  
-    
-    //Buffer pointer
-    TPtr8 iPtr;
-    };
-
-#endif  // DIAGNOSTICS_RESULTS_DATABASE_CLIENT_H
-
--- a/devicediagnosticsfw/diagresultsdb/client/inc/diagresultsdatabaseitem.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,241 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Results database item
-*
-*/
-
-
-#ifndef DIAGRESULTSDATABASEITEM_H
-#define DIAGRESULTSDATABASEITEM_H
-
-// INCLUDES
-#include <e32base.h>            // CBase
-
-// FORWARD DECLARATIONS
-class RWriteStream;
-class RReadStream;
-class TTime;
-class TStreamId;
-class CStreamStore;
-class CBufFlat;
-
-/**
-* Results database item.
-*
-* @since S60 v5.0
-**/
-class CDiagResultsDatabaseItem : public CBase
-    {
-public:
-    /** 
-    * Result of test.
-    */
-    enum TResult
-        {
-        ESuccess = 0,
-        EFailed,            // Test failed
-        ESkipped,           // Test was never executed because it was skipped 
-                            // before it is started. (e.g. during initial delay timer)
-        ECancelled,         // Test session was cancelled. ( ECancelAll )
-        EInterrupted,       // Interrupted. Test was already running, but interrupted 
-                            // by end user, or other external cause.
-        ENotPerformed,      // Not performed due to invalid set up. 
-        EDependencyFailed,  // Failed because dependent test failed.
-        EWatchdogCancel,    // Watchdog cancelled testing.
-        ESuspended,         // Test is scheduled to run later.
-        EQueuedToRun,       // Test is waiting for execution. It is possible that 
-                            // EQueuedToRun is never overwritten.
-        EDependencySkipped  // Skipped because common dependency was not executed
-                            // either due to it was skipped or interrupted.
-        };
-
-public:
-
-    /**
-    * NewL. Construct from a stream.
-    * @param aStream   Stream to read from.
-    */
-    IMPORT_C static CDiagResultsDatabaseItem* NewL ( RReadStream& aStream );
-        
-    /**
-    * NewL. 
-    */
-    IMPORT_C static CDiagResultsDatabaseItem* NewL (
-                                        TUid            aTestUid,
-                                        TBool           aDependencyExecution,
-                                        TResult         aResult,
-                                        TTime           aStartTime,
-                                        TTime           aEndTime,
-                                        CBufFlat*       aDetailsData );
-    /**
-    * NewLC.
-    */
-    IMPORT_C static CDiagResultsDatabaseItem* NewLC (
-                                        TUid            aTestUid,
-                                        TBool           aDependencyExecution,
-                                        TResult         aResult,
-                                        TTime           aStartTime,
-                                        TTime           aEndTime,
-                                        CBufFlat*       aDetailsData );
-
-    /**
-    * NewL. Copy constructor. This will do a deep copy.
-    *
-    * @param aOriginal - Original to copy data from.
-    * @return a new instance of CDiagResultsDatabaseItem that is a deep
-    *   copy of the original given. Ownership is transferred.
-    */
-    IMPORT_C static CDiagResultsDatabaseItem* NewL ( 
-        const CDiagResultsDatabaseItem& aOriginal );
-    /**
-    * Destructor.
-    */
-    IMPORT_C virtual ~CDiagResultsDatabaseItem();
-   
-    /**
-    * Get Uid of test plug-in. 
-    *
-    * @return TUid - uid of the test plug-in.
-    */
-    IMPORT_C TUid TestUid() const;
-    
-    /**
-    * Whether the test was executed to satisfy dependency or not.
-    *
-    * @return ETrue if executed as dependency.
-    *         EFalse otherwise.
-    */
-    IMPORT_C TBool WasDependency() const;
-    
-    /**
-    * Get Test Result.
-    *
-    * @return TResult.
-    */
-    IMPORT_C TResult TestResult() const;
-
-    /**
-    * Time that test execution was started.
-    * Universal time is used.
-    *
-    * @return Time that execution was started.
-    */
-    IMPORT_C TTime TimeStarted() const;
-
-    /**
-    * Time that test execution was completed.
-    * Universal time is used.
-    *
-    * @return Time that execution was completed.
-    */
-    IMPORT_C TTime TimeCompleted() const;
-
-    /**
-    * Details data. This must be interpreted by the plug-ins before
-    * it can be used. Data is in object form.
-    */
-    IMPORT_C const CBufFlat* DetailsData() const;
-
-    /**
-    * Calculate stream size in bytes. Size can be used to evaluate needed
-    * stream size. 
-    *
-    * @return Size in bytes.
-    */
-    IMPORT_C TInt Size() const;
-
-public: 
-
-    /**
-    * Externalize the test result to a stream.
-    *
-    * @param aStream   Stream to write to.
-    */
-    IMPORT_C void ExternalizeL( RWriteStream& aStream ) const; 
-    
-    
-private: //internalization methods   
-
-    /**
-    * Internalize the test result from a stream.
-    *
-    * @param aStream   Stream to read from.
-    */
-    IMPORT_C void InternalizeL( RReadStream& aStream );
-    
-    /**
-    * Write TTime into write stream.
-    * 
-    * @param aStream Stream to write to.
-    * @param aTime TTime that is written into the stream.
-    **/
-    void WriteTimeToStreamL( RWriteStream& aStream, const TTime& aTime ) const;
-    
-    /**
-    * Read TTime from read stream.
-    * 
-    * @param aStream read stream.
-    * @param aTime Contains time after stream is read.
-    **/
-    void ReadTimeFromStreamL( RReadStream& aStream, TTime& aTime );
-
-private:
-    
-    /**
-    * C++ Constructors.
-    */
-    CDiagResultsDatabaseItem (
-                        TUid            aTestUid,
-                        TBool           aDependencyExecution,
-                        TResult         aResult,
-                        TTime           aStartTime,
-                        TTime           aEndTime,
-                        CBufFlat*       aDetailsData );
-    
-    /**
-    * Construct from a stream.
-    *
-    * @param aStream Read stream.
-    */ 
-    void ConstructL ( RReadStream& aStream );
-    
-    /**
-    * Default C++ constructor.
-    **/
-    CDiagResultsDatabaseItem ();
-    
-private:    // data
-
-    // Uid of the test plug-in.
-    TUid            iTestUid;
-    
-    // Has this been executed as a part of another execution (precondition).
-    TBool           iDependencyExecution;
-    
-    // Test result
-    TResult         iResult;
-    
-    // When the test began.
-    TTime           iStartTime;
-    
-    // When the test ended
-    TTime           iEndTime;
-    
-    // Contains flat buffer that can hold additional data 
-    // For example debugging data or further analysis.
-    CBufFlat*       iDetailsData;
-
-    };
-
-#endif // DIAGRESULTSDATABASEITEM_H
--- a/devicediagnosticsfw/diagresultsdb/client/inc/diagresultsdatabasetestrecordinfo.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Contains overview of the test record, not actual test results.
-*  libraries   : DiagResultsDatabase.lib DiagResultsDatabase.dll
-*
-*/
-
-
-#ifndef DIAGNOSTICS_RESULTS_DATABASE_TEST_RECORD_INFO_H
-#define DIAGNOSTICS_RESULTS_DATABASE_TEST_RECORD_INFO_H
-
-#include <e32base.h>
-
-class RReadStream;
-class RWriteStream;
-
-/**
-* Results database record info. Contains information about one record.
-*
-* @since S60 v5.0
-**/
-class TDiagResultsDatabaseTestRecordInfo
-    {
-public:
-
-    enum TDbRecordStatus
-        {      
-        EOpen,                // Currently open for writing.
-        ESuspended,   	      // ::Suspend() is called. 
-        ECompleted	          // Record is completed (not resumable), and all 
-                              // tests were completed. 
-        };
-
-
-    /**
-    * Constructor
-    **/
-    IMPORT_C TDiagResultsDatabaseTestRecordInfo();
-    
-    /**
-    * Internalize from a stream.
-    *
-    * @param aStream Stream to be read from.
-    **/
-    IMPORT_C void InternalizeL( RReadStream& aStream );
-
-    /**
-    * Externalize into a stream.
-    *
-    * @param aStream Stream to be written into.
-    **/
-    IMPORT_C void ExternalizeL( RWriteStream& aStream ) const;
-    
-    /**
-    * Returns DRM time.
-    *
-    * @return DRM time.
-    **/
-    IMPORT_C static TTime DRMTimeL();
-
-    //Public member data.
-    TUid            iRecordId;   // Identifies this record.
-    TTime 		    iDrmStartTime;  //When the record was opened (DRM time).
-    TTime 		    iDrmFinishTime; //when the record was completed (DRM time).
-    TTime 		    iStartTime;  //When the record was opened (Home time).
-    TTime 		    iFinishTime; //when the record was completed (Home time).
-    TUid 	        iDbUid; 	 //UID3 of the database.
-    TUint 		    iTestCount;  //The number of tests in this record.
-    TDbRecordStatus iRecordStatus; //Stored record status. 
-    TBool           iCompleted; //Writable or read-only test record
-    
-
-private:
-
-    /**
-    * Writes time(TTime) into a stream. Time has to be written into a stream 
-    * using two 32-bit values since there is no method to write 64-bit value.
-    *
-    * @param aStream Stream to be written into.
-    * @param aTime Time that is written into the stream.
-    **/
-    void WriteTimeToStreamL( RWriteStream& aStream, const TTime& aTime ) const;
-    
-    /**
-    * Reads time (TTime) from a stream. 
-    *
-    * @param aStream Stream to be read from.
-    * @param aTime Time that was read from the stream.
-    **/
-    void ReadTimeFromStreamL( RReadStream& aStream, TTime& aTime );
-    
-    };
-    
-#endif    
\ No newline at end of file
--- a/devicediagnosticsfw/diagresultsdb/client/inc/diagresultsdbrecordengineparam.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Capsulates parameters of the diagnostics engine.
-*
-*/
-
-
-#ifndef DIAGRESULTSDBRECORDENGINEPARAM_H
-#define DIAGRESULTSDBRECORDENGINEPARAM_H
-
-// INCLUDES
-#include <e32base.h>            // CBase
-
-// FORWARD DECLARATIONS
-class RWriteStream;
-class RReadStream;
-
-/**
-* Contains parameters of the diagnostics engine.
-* Parameters are needed only in suspend/resume functionality.
-*
-* @since S60 v5.0
-**/
-class CDiagResultsDbRecordEngineParam : public CBase
-    {
-public:
-
-
-    /**
-    * NewL. Construct from a stream.
-    * @param aStream   Stream to read from.
-    */
-    IMPORT_C static CDiagResultsDbRecordEngineParam* NewL ( RReadStream& aStream );
-        
-    /**
-    * NewL. Ownership of RArray is transferred.
-    *
-    * @param aInitialUids Execution Uid array. Should not be null. 
-    *                     Use empty array if there are no uids.
-    * @param aDependencyExecution This value is needed when resuming 
-    *                             in order to create proper test resume plan.
-    */
-    IMPORT_C static CDiagResultsDbRecordEngineParam* NewL (
-                                        RArray<TUid>*   aInitialUids,
-                                        TBool           aDependencyExecution
-                                        );
-    /**
-    * NewLC. Ownership of RArray is transferred.
-    *
-    * @param aInitialUids Execution Uid array. Should not be null. 
-    *                     Use empty array if there are no uids.
-    * @param aDependencyExecution This value is needed when resuming 
-    *                             in order to create proper test resume plan.
-    */
-    IMPORT_C static CDiagResultsDbRecordEngineParam* NewLC (
-                                        RArray<TUid>*   aInitialUids,
-                                        TBool           aDependencyExecution
-                                        );
-
-    /**
-    * Destructor.
-    */
-    IMPORT_C virtual ~CDiagResultsDbRecordEngineParam();
-   
-    /**
-    * Return execution uids. These can be used to store for example 
-    * user selections. User selections are needed when test run is suspended 
-    * or test session crashed the phone.
-    *
-    * @return Array of uids. Empty if none.
-    */
-    IMPORT_C const RArray<TUid>& ExecutionsUidArray() const;
-    
-    /**
-    * Indicates were dependencies resolved when diagnostics engine executed tests.
-    *
-    * @return ETrue if dependencies were resolved, EFalse otherwise.
-    */
-    IMPORT_C TBool DependencyExecution() const;
-    
-public: 
-
-    /**
-    * Externalize the test result to a stream.
-    *
-    * @param aStream   Stream to write to.
-    */
-    IMPORT_C void ExternalizeL( RWriteStream& aStream ) const; 
-
-
-private: //internalization methods   
-
-    /**
-    * Internalize the test result from a stream.
-    *
-    * @param aStream   Stream to read from.
-    */
-    IMPORT_C void InternalizeL( RReadStream& aStream );
-    
-  
-private:
-    
-    /**
-    * C++ Constructors.
-    */
-    CDiagResultsDbRecordEngineParam ( RArray<TUid>* aInitialUids,
-                                      TBool         aDependencyExecution );
-    
-    /**
-    * Construct from a stream.
-    *
-    * @param aStream Read stream.
-    */ 
-    void ConstructL ( RReadStream& aStream );
-    
-    /**
-    * Default constructL. Does nothing.
-    */ 
-    void ConstructL ();
-    
-    /**
-    * Default C++ constructor.
-    **/
-    CDiagResultsDbRecordEngineParam ();
-    
-private:    // data
-
-    // Execution uid array
-    RArray<TUid>*               iExecutionUids;
-    
-    //Dependency resolving state.
-    TBool                       iDependencyExecution;
-    
-    };
-
-#endif // DIAGRESULTSDBRECORDENGINEPARAM_H
--- a/devicediagnosticsfw/diagresultsdb/client/inc/diagresultsdbrecordinfoarraypacked.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Contains functions to pack or unpack test record info array.
-*  libraries   : DiagResultsDatabase.lib DiagResultsDatabase.dll
-*
-*/
-
-
-#ifndef DIAGNOSTICS_RESULTS_DB_RECORD_INFO_ARRAY_PACKED_H
-#define DIAGNOSTICS_RESULTS_DB_RECORD_INFO_ARRAY_PACKED_H
-
-#include "diagresultsdatabasetestrecordinfo.h"
-
-class CBufFlat;
-
-/**
-* Pack or unpack a CBufFlat buffer. This can be used to deliver data
-* across process boundaries using a flat buffer.
-*
-* @since S60 v5.0
-**/
-class TDiagResultsDbRecordInfoArrayPacked
-    {
-public:
-
-    /**
-    * Constructor
-    * @param aBuffer Flat buffer where the array of test records is written.
-    **/
-    IMPORT_C TDiagResultsDbRecordInfoArrayPacked(CBufFlat*& aBuffer);
-
-    /**
-    * Packs a test record into the flat buffer.
-    * @param aInfoArray An array of test records that are written into the buffer.
-    **/
-    IMPORT_C void PackArrayL(const CArrayFixFlat<TDiagResultsDatabaseTestRecordInfo>& aInfoArray);
-    
-    /**
-    * Unpack array from the buffer.
-    * @param aInfoArray Contains the unpacked array after function finishes.
-    **/
-    IMPORT_C void UnpackArrayL(CArrayFixFlat<TDiagResultsDatabaseTestRecordInfo>& aInfoArray);
-        
-private:
-
-    // Buffer that contains data.
-    CBufFlat *& iBuffer;
-    
-    };
-    
-#endif
\ No newline at end of file
--- a/devicediagnosticsfw/diagresultsdb/client/src/diagresultsdatabase.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1107 +0,0 @@
-/*
-* 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 "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:  Class definition of RDiagResultsDatabase
-*
-*/
-
-
-
-// USER INCLUDE FILES
-
-#include "diagresultsdatabase.h"
-#include "diagresultsdatabaseitem.h"
-#include "diagresultsdbrecordinfoarraypacked.h"
-#include "diagresultsdatabasetestrecordinfo.h"
-#include "diagresultsdbprivatecrkeys.h"
-#include "diagresultsdbrecordengineparam.h"
-#include "diagresultsdatabasecommon.h"
-//#include <diagframeworkdebug.h>
-// SYSTEM INCLUDE FILES
-#include <s32mem.h> 
-#include <centralrepository.h> 
-
-const TInt KResultsDatabaseBufferLength = 0x700;
-const TInt KResultsDatabaseSubsessionBufferLength = 0x250;
-const TInt KResultsDatabaseGranuality = 50;
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C RDiagResultsDatabase::RDiagResultsDatabase(): 
-         iBuffer(NULL), iOpen(EFalse)
-       , iPtr( NULL, 0 )
-    {
-    
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C RDiagResultsDatabase::~RDiagResultsDatabase()
-    {
-    if ( iBuffer )
-        {
-        iBuffer->Reset();
-        delete iBuffer;
-        iBuffer = NULL;    
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Create connection to the results DB server
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt RDiagResultsDatabase::Connect( TUid aAppUid )
-    {
-    LOGME("RDiagResultsDatabase::Connect");
-	TRAPD( err, DoConnectL( aAppUid));
-	
-	return err;
-    }
-
-// ---------------------------------------------------------------------------
-// Start server, create flat buffer and send request.
-// ---------------------------------------------------------------------------
-//
-void RDiagResultsDatabase::DoConnectL (TUid aAppUid)
-    {
-    LOGME("RDiagResultsDatabase::DoConnectL");
-    if (iBuffer==NULL)
-		{
-		iBuffer = CBufFlat::NewL(KResultsDatabaseGranuality);
-		iBuffer->ResizeL(KResultsDatabaseBufferLength);
-		if (iBuffer==NULL)
-			User::Leave( KErrNoMemory );
-		}
-    
-    TInt r = DiagResultsDbCommon::StartServer();
-    LOGME1("RDiagResultsDatabase::StartServer %d",r);
-	if( r==KErrNone )
-	    // Use default message slots
-		r = CreateSession( KDiagResultsDatabaseServerName, Version() );
-	LOGME1("RDiagResultsDatabase::Createsession %d",r); 
-	if ( r != KErrNone )
-	    {
-	    User::Leave (r);
-	    }
-	
-	iOpen = ETrue;
-	
-    TPckgBuf<TUid> uid( aAppUid );
-    TInt srret = SendReceive (DiagResultsDbCommon::EConnect,TIpcArgs(&uid) );
-    LOGME1("Rsession sendreceive %d",srret);
-    if (srret != KErrNone)
-	User::Leave( srret );
-    }
-
-// ---------------------------------------------------------------------------
-// Close connection with the server.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt RDiagResultsDatabase::Close()
-    {
-    LOGME("RDiagResultsDatabase::Close");
-    if ( iOpen )
-        {
-        TInt err = SendReceive( DiagResultsDbCommon::EClose );
-        RHandleBase::Close();
-        iOpen = EFalse;
-        delete iBuffer;
-        iBuffer = NULL;
-        return err;    
-        }
-    else 
-        {
-        iOpen = EFalse;
-        return KErrNone;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Returns the version of this server.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TVersion RDiagResultsDatabase::Version() const
-    {
-    return( TVersion( KDiagResultsDatabaseServerMajor, 
-                      KDiagResultsDatabaseServerMinor,
-		              KDiagResultsDatabaseServerBuild ) );
-    }
-
-// ---------------------------------------------------------------------------
-// Returns test record count.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt RDiagResultsDatabase::GetRecordCount( TUint& aCount ) const
-    {
-	TPckgBuf<TUint> pckg;
-	TInt error = SendReceive( DiagResultsDbCommon::EGetRecordCount, TIpcArgs(&pckg) );
-	aCount = pckg();
-	
-	return error;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Fetch maximum number of test records from the central repository.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt RDiagResultsDatabase::GetDatabaseMaximumSize( TInt& aMaxSize )
-    {
-    TRAPD( err, DoGetDatabaseMaximumSizeL( aMaxSize ) );
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// Fetch maximum number of test records from the central repository.
-// ---------------------------------------------------------------------------
-//
-void RDiagResultsDatabase::DoGetDatabaseMaximumSizeL( TInt& aMaxSize )
-    {
-    CRepository* cr = CRepository::NewLC( KCRUidDiagnosticsResults );
-        
-    User::LeaveIfError( cr->Get( KDiagDatabaseMaxRecordCount, aMaxSize ) );
-    
-    CleanupStack::PopAndDestroy( cr );
-    }
-
-// ---------------------------------------------------------------------------
-// Get available record uids.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt RDiagResultsDatabase::GetRecordUids( 
-            CArrayFixFlat<TUid>& aSortedRecordUidArray ) const
-    {
-    TRAPD( err, DoGetRecordUidsL( aSortedRecordUidArray ));
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// Resize buffer and then start query. Overflow means that the buffer was not
-// large enough.
-// ---------------------------------------------------------------------------
-//    
-void RDiagResultsDatabase::DoGetRecordUidsL( 
-                           CArrayFixFlat<TUid>& aSortedRecordUidArray ) const
-    {
-    iBuffer->Delete( 0, iBuffer->Size() );
-    iBuffer->ResizeL( KResultsDatabaseBufferLength );
-    
-    TPtr8 ptr ( iBuffer->Ptr(0) );
-    //Now ask server to serialize object into this buffer
-    TInt ret = SendReceive( DiagResultsDbCommon::EGetRecordList, 
-                            TIpcArgs(&ptr) );
-    
-    while ( ret == KErrOverflow )
-        {
-        iBuffer->ResizeL( iBuffer->Size() + KResultsDatabaseBufferLength );
-        ptr.Set( iBuffer->Ptr(0) );
-        ret = SendReceive( DiagResultsDbCommon::EGetRecordList, 
-                           TIpcArgs(&ptr) );
-        }
-    if ( ret != KErrNone )
-        {
-        User::Leave (ret);
-        }
-        
-    RBufReadStream readStream ( *iBuffer );   
-    CleanupClosePushL( readStream ) ;
-    TInt count = readStream.ReadInt16L();
-    
-    for ( TInt i = 0; i < count; ++i )
-        {
-        aSortedRecordUidArray.AppendL ( TUid::Uid( readStream.ReadInt32L()) );
-        }
-   
-   CleanupStack::PopAndDestroy( &readStream );
-    }    
-
-// ---------------------------------------------------------------------------
-// Returns last completed record.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt RDiagResultsDatabase::GetLastRecord( TUid& aRecordUid ) const
-    {
-    TPckgBuf<TUid> pckg;
-	TInt err = SendReceive( DiagResultsDbCommon::EGetLastRecord, 
-	                        TIpcArgs(&pckg) );
-	aRecordUid = pckg();
-	return err;
-    }
-    
-
-// ---------------------------------------------------------------------------
-// Get last incomplete record. It could suspended or application crashed
-// when running the test.
-// ---------------------------------------------------------------------------
-//       
-EXPORT_C TInt RDiagResultsDatabase::GetLastNotCompletedRecord ( 
-                                                    TUid& aRecordUid ) const
-    {
-    TPckgBuf<TUid> pckg;
-    TInt err = SendReceive( DiagResultsDbCommon::EGetLastNotCompletedRecord, 
-	                        TIpcArgs(&pckg) );
-	aRecordUid = pckg();
-	return err;
-                                                        
-    }
-
-// ---------------------------------------------------------------------------
-// Get all test record overviews.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt RDiagResultsDatabase::GetAllRecordInfos ( 
-            CArrayFixFlat<TDiagResultsDatabaseTestRecordInfo>& aInfoArray) 
-    {
-    TRAPD( err, DoGetAllRecordInfosL( aInfoArray ));
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// Send client request to the server. If overflow, then resize buffer and
-// try again. 
-// ---------------------------------------------------------------------------
-//
-void RDiagResultsDatabase::DoGetAllRecordInfosL ( 
-            CArrayFixFlat<TDiagResultsDatabaseTestRecordInfo>& aInfoArray) 
-    {
-    iBuffer->Delete( 0, iBuffer->Size() );
-    iBuffer->ResizeL( KResultsDatabaseBufferLength );
-    
-    TPtr8 ptr ( iBuffer->Ptr(0) );
-    
-    TInt ret = SendReceive( DiagResultsDbCommon::EGetRecordInfoList, 
-                            TIpcArgs(&ptr) );
-    
-    while ( ret == KErrOverflow )
-        {
-        iBuffer->ResizeL( iBuffer->Size() + KResultsDatabaseBufferLength );
-        ptr.Set( iBuffer->Ptr(0) );
-        ret = SendReceive( DiagResultsDbCommon::EGetRecordInfoList, 
-                           TIpcArgs(&ptr) );
-        }
-    
-    if ( ret != KErrNone )
-        {
-        User::Leave (ret);
-        }
-            
-    TDiagResultsDbRecordInfoArrayPacked packedArray( iBuffer );    
-    packedArray.UnpackArrayL( aInfoArray );
-    }
-
-// ---------------------------------------------------------------------------
-// Asynchronous get last results.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void RDiagResultsDatabase::InitiateGetLastResults ( 
-                                          const CArrayFixFlat<TUid>& aUidArray,
-                                          TRequestStatus& aStatus )
-    {    
-    TRAPD( error, WriteArrayIntoBufferL( aUidArray ));
-    
-    if ( error != KErrNone )
-        {         
-        TRequestStatus* status = &aStatus;
-        User::RequestComplete( status, error );
-        return;
-        }
-    
-            
-    iPtr.Set( iBuffer->Ptr(0) );
-    
-	SendReceive( DiagResultsDbCommon::EInitiateGetLastResults, 
-	             TIpcArgs( &iPtr ), 
-	             aStatus);
-    }
-
-// ---------------------------------------------------------------------------
-// Write Array into Buffer:
-// ---------------------------------------------------------------------------
-//    
-void RDiagResultsDatabase::WriteArrayIntoBufferL( const CArrayFixFlat<TUid>& aUidArray )
-    {
-    iBuffer->Delete( 0, iBuffer->Size() );
-    iBuffer->ResizeL( KResultsDatabaseBufferLength );     
-
-    RBufWriteStream writeStream ( *iBuffer );
-    CleanupClosePushL( writeStream );
-        
-    writeStream.WriteInt8L( aUidArray.Count() );
-    
-    for ( TInt i=0; i < aUidArray.Count(); ++i )
-        {
-        writeStream.WriteInt32L( aUidArray[i].iUid );
-        }
-     
-    writeStream.CommitL();  
-    
-    CleanupStack::PopAndDestroy();
-    }
-    
-// ---------------------------------------------------------------------------
-// Cancel asynchronous request.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void RDiagResultsDatabase::CancelInitiateGetLastResults () const
-    {
-    SendReceive( DiagResultsDbCommon::ECancelInitiateGetLastResults );
-    }
-
-// ---------------------------------------------------------------------------
-// See InitiateGetLastResults. After InitiateGetLastResults finishes ok, 
-// this method can be called to retrieve data.
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C TInt RDiagResultsDatabase::GetLastResults ( 
-                    RPointerArray<CDiagResultsDatabaseItem>& aResults ) const
-    {
-    TRAPD( err, DoGetLastResultsL( aResults ) );
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// Resize buffer and make the request. Data is serialized in the buffer so it 
-// must be read using a read stream.
-// ---------------------------------------------------------------------------
-//
-void RDiagResultsDatabase::DoGetLastResultsL ( 
-                    RPointerArray<CDiagResultsDatabaseItem>& aResults ) const
-    {
-    iBuffer->Delete( 0, iBuffer->Size() );
-    iBuffer->ResizeL( KResultsDatabaseBufferLength );
-    
-    TPtr8 ptr ( iBuffer->Ptr(0));
-    //Now ask server to serialize object into this buffer
-    TInt ret = SendReceive( DiagResultsDbCommon::EGetLastResults, 
-                            TIpcArgs(&ptr) );
-    
-    while ( ret == KErrOverflow )
-        {
-        iBuffer->ResizeL( iBuffer->Size() + KResultsDatabaseBufferLength );
-        ptr.Set ( iBuffer->Ptr(0) );
-        ret = SendReceive( DiagResultsDbCommon::EGetLastResults, 
-                           TIpcArgs(&ptr) );
-        }
-        
-    if ( ret != KErrNone )
-        {
-        User::Leave (ret);
-        }
-        
-    RBufReadStream readStream ( *iBuffer );    
-    TInt count = readStream.ReadInt16L();
-    
-    for ( TInt i = 0; i < count; ++i )
-        {
-        
-        TUint8 value = readStream.ReadUint8L();
-        if ( value == 0 )
-            {
-            aResults.AppendL( NULL );
-            }
-        else 
-            {
-            aResults.AppendL (CDiagResultsDatabaseItem::NewL( readStream ) );
-            }
-        }
-        
-    readStream.Close();    
-    }
-
-
-// ---------------------------------------------------------------------------
-// Initiate asynchronous operation. 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void RDiagResultsDatabase::InitiateGetLastResult ( TUid aTestPluginUid, 
-                                      TRequestStatus& aStatus )
-    {
-    TPckgBuf<TUid> uidpckg( aTestPluginUid );
-    
-    SendReceive( DiagResultsDbCommon::EInitiateGetSingleLastResult, 
-	             TIpcArgs( &uidpckg ), 
-	             aStatus);
-    }
-    
-
-// ---------------------------------------------------------------------------
-// Get last result that was fetched using InitiateGetLastResult method.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt RDiagResultsDatabase::GetLastResult ( 
-                                       CDiagResultsDatabaseItem*& aItem )    
-    {
-    
-    TRAPD( err, DoGetLastResultL( aItem ) );
-    return err;            
-    }
-    
-
-// ---------------------------------------------------------------------------
-// Leaving version of the function.
-// ---------------------------------------------------------------------------
-//    
-void RDiagResultsDatabase::DoGetLastResultL ( 
-                                        CDiagResultsDatabaseItem*& aItem )    
-    {    
-    iBuffer->Delete( 0, iBuffer->Size() );
-    iBuffer->ResizeL( KResultsDatabaseBufferLength );
-     	              
-    TPtr8 ptr ( iBuffer->Ptr(0));
-    //Now ask server to serialize object into this buffer
-    TInt ret = SendReceive( DiagResultsDbCommon::EGetSingleLastResult, 
-                            TIpcArgs(&ptr) );
-    
-    while ( ret == KErrOverflow )
-        {
-        iBuffer->ResizeL( iBuffer->Size() + KResultsDatabaseBufferLength );
-        ptr.Set ( iBuffer->Ptr(0) );
-        ret = SendReceive( DiagResultsDbCommon::EGetSingleLastResult, 
-                           TIpcArgs(&ptr) );
-        }
-        
-    if ( ret != KErrNone )
-        {
-        User::Leave (ret);
-        }
-        
-    RBufReadStream readStream ( *iBuffer );  
-    
-    TInt count = readStream.ReadInt8L();  
-   
-    if ( count == 0 )
-        {
-        aItem = NULL;
-        }
-    else 
-        {
-        aItem = CDiagResultsDatabaseItem::NewL ( readStream );    
-        }
-          
-    readStream.Close();
-    }
-    
-// ---------------------------------------------------------------------------
-// Subsession constructor.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C RDiagResultsDatabaseRecord::RDiagResultsDatabaseRecord(): 
-                                        iBuffer(NULL), 
-                                        iOpen(EFalse)
-                                        ,iPtr( NULL, 0 )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Subsession destructor.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C RDiagResultsDatabaseRecord::~RDiagResultsDatabaseRecord()
-    {
-     if ( iBuffer )
-        {
-        iBuffer->Reset();
-        delete iBuffer;
-        iBuffer = NULL;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Checks if connection is already open.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt RDiagResultsDatabaseRecord::Connect( 
-            RDiagResultsDatabase& aSession,
-            TUid aRecordId,
-            TBool aReadOnly ) 
-    {
-    LOGME("RDiagResultsDatabaseRecord::Connect");
-    if ( iOpen )
-        {
-        return KErrAlreadyExists;
-        }
-    
-    TRAPD( err, DoConnectL( aSession, aRecordId, aReadOnly ) );
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// Creates the flat buffer and connects the subsession to a test record.
-// The test record must exist.
-// ---------------------------------------------------------------------------
-//
-void RDiagResultsDatabaseRecord::DoConnectL( 
-            RDiagResultsDatabase& aSession,
-            TUid aRecordId,
-            TBool aReadOnly ) 
-    {
-    LOGME("RDiagResultsDatabaseRecord::DoConnectL");
-    if (iBuffer==NULL)
-		{
-		iBuffer = CBufFlat::NewL(KResultsDatabaseGranuality);
-		iBuffer->ResizeL(KResultsDatabaseSubsessionBufferLength);
-		if (iBuffer==NULL)
-			User::Leave( KErrNoMemory );
-		}
-    
-    iOpen = ETrue;
-    
-    TPckgBuf<TUid> uid( aRecordId );
-    TPckgBuf<TBool> readonlyPckg( aReadOnly );
-    User::LeaveIfError( CreateSubSession( aSession, 
-                                      DiagResultsDbCommon::EConnectSubsession, 
-                                      TIpcArgs(&uid, &readonlyPckg) ));
-    }
-
-
-// ---------------------------------------------------------------------------
-// Create a new subsession and create a new test record.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt RDiagResultsDatabaseRecord::CreateNewRecord (
-                                            RDiagResultsDatabase& aSession, 
-                                            TUid& aRecordId,
-                                            CDiagResultsDbRecordEngineParam& aEngineParam )
-    {
-    if ( iOpen )
-        {
-        return KErrAlreadyExists;
-        }
-        
-    TRAPD( err, DoCreateNewRecordL( aSession, aRecordId, aEngineParam) );
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// Get parameters that are needed when resuming test session.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt RDiagResultsDatabaseRecord::GetEngineParam( 
-                        CDiagResultsDbRecordEngineParam*& aEngineParam ) const
-    {
-    TRAPD(err, DoGetEngineParamL( aEngineParam ) );
-    return err;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Leaving version of GetEngineParam. Serialize EngineParam class.
-// ---------------------------------------------------------------------------
-//
-void RDiagResultsDatabaseRecord::DoGetEngineParamL( 
-                        CDiagResultsDbRecordEngineParam*& aEngineParam ) const
-    {
-    iBuffer->Delete( 0, iBuffer->Size() );
-    iBuffer->ResizeL( KResultsDatabaseSubsessionBufferLength );
-	
-    TPtr8 ptr ( iBuffer->Ptr(0) );
-    //Now ask server to serialize object into this buffer
-    TInt ret = SendReceive( DiagResultsDbCommon::ESubsessionGetEngineParam, 
-                                                 TIpcArgs(&ptr) );
-    
-    while ( ret == KErrOverflow )
-        {
-        iBuffer->ResizeL( iBuffer->Size() 
-                                + KResultsDatabaseSubsessionBufferLength );
-        ptr.Set( iBuffer->Ptr(0) );                                
-        ret = SendReceive( DiagResultsDbCommon::ESubsessionGetEngineParam, 
-                           TIpcArgs(&ptr) );
-        }
-    
-    if ( ret != KErrNone )
-        {
-        User::Leave (ret);
-        }
-     
-    //Stream contains the serialized array
-    RBufReadStream readStream ( *iBuffer );
-    CleanupClosePushL ( readStream );
-    
-    //Construct new test result.
-    CDiagResultsDbRecordEngineParam* params = 
-                                CDiagResultsDbRecordEngineParam::NewL( readStream );
-    aEngineParam = params;
-   
-    CleanupStack::PopAndDestroy( &readStream );
-    
-    iBuffer->Delete(0, iBuffer->Size() );      
-    }     
-// ---------------------------------------------------------------------------
-// Create the flat buffer and create the subsession.
-// ---------------------------------------------------------------------------
-//
-void RDiagResultsDatabaseRecord::DoCreateNewRecordL (
-            RDiagResultsDatabase& aSession,
-            TUid& aRecordId,
-            CDiagResultsDbRecordEngineParam& aEngineParam )
-    {
-     if (iBuffer==NULL)
-		{
-		iBuffer = CBufFlat::NewL(KResultsDatabaseGranuality);
-		iBuffer->ResizeL(KResultsDatabaseSubsessionBufferLength);
-		if (iBuffer==NULL)
-			User::Leave( KErrNoMemory );
-		}
-        
-    iBuffer->Delete( 0, iBuffer->Size() );
-    iBuffer->ResizeL( KResultsDatabaseSubsessionBufferLength );
-    
-    TPtr8 ptr ( iBuffer->Ptr(0) );    
-        
-    TRAPD( error, WriteEngineParamIntoBufferL( aEngineParam ) );
-     
-    while ( error == KErrOverflow )
-        {
-        iBuffer->ResizeL( iBuffer->Size() + KResultsDatabaseSubsessionBufferLength ); 
-        ptr.Set( iBuffer->Ptr(0) );
-        TRAP( error, WriteEngineParamIntoBufferL( aEngineParam) );
-        }
-        
-    User::LeaveIfError ( error );
-    
-    TPckgBuf<TUid> pckg;
-    
-    TInt err = CreateSubSession( aSession, 
-                              DiagResultsDbCommon::ESubsessionCreateNewRecord, 
-                              TIpcArgs(&pckg, &ptr) );
-    aRecordId = pckg();
-    if ( err == KErrNone )
-        {
-        iOpen = ETrue;
-        }
-        
-    User::LeaveIfError( err );
-    }
-
-// ---------------------------------------------------------------------------
-// Write engine parameters into the buffer.
-// ---------------------------------------------------------------------------
-//
-void RDiagResultsDatabaseRecord::WriteEngineParamIntoBufferL( 
-                CDiagResultsDbRecordEngineParam& aEngineParam ) 
-    {
-    RBufWriteStream writeStream ( *iBuffer );
-    CleanupClosePushL( writeStream );
-    
-    aEngineParam.ExternalizeL( writeStream );
-    
-    writeStream.CommitL();
-    CleanupStack::PopAndDestroy();    
-    }
-
-// ---------------------------------------------------------------------------
-// Close the subsession.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void RDiagResultsDatabaseRecord::Close()
-    {
-    if ( iOpen )
-        {
-        CloseSubSession( DiagResultsDbCommon::ECloseSubsession );    
-        }
-        
-    iOpen = EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-
-// See ResumeTestRecord.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt RDiagResultsDatabaseRecord::Suspend()
-    {
-    return SendReceive ( DiagResultsDbCommon::ESubsessionSuspend );
-    }
-    
-// ---------------------------------------------------------------------------
-// Has this test record been suspended. 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C TInt RDiagResultsDatabaseRecord::IsSuspended( TBool& aSuspended ) const
-    {
-    TPckgBuf<TBool> pckg;
-	TInt err = SendReceive( DiagResultsDbCommon::ESubsessionIsSuspended, 
-	                        TIpcArgs(&pckg) );
-	aSuspended = pckg();
-	return err;
-    }
-
-// ---------------------------------------------------------------------------
-// Returns test record Id that this subsession represents.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt RDiagResultsDatabaseRecord::GetTestRecordId( 
-                                                TUid& aRecordUid ) const
-    {
-    TPckgBuf<TUid> pckg;
-	TInt err = SendReceive( DiagResultsDbCommon::ESubsessionGetTestRecordId, 
-	                        TIpcArgs(&pckg) );
-	aRecordUid = pckg();
-	return err;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Test record completion. 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt RDiagResultsDatabaseRecord::TestCompleted( 
-                                                TBool aFullyComplete )
-    {
-    TPckgBuf<TBool> pckg (aFullyComplete);
-    return SendReceive ( DiagResultsDbCommon::ESubsessionTestCompleted, 
-                         TIpcArgs(&pckg) );
-    }
-
-// ---------------------------------------------------------------------------
-// GetStatus returns current record status.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt RDiagResultsDatabaseRecord::GetStatus( 
-                                        TRecordStatus& aRecordStatus ) const
-    {
-    TPckgBuf<TRecordStatus> pckg;
-	TInt err = SendReceive( DiagResultsDbCommon::ESubsessionGetStatus, 
-	                        TIpcArgs(&pckg) );
-	aRecordStatus = pckg();
-	return err;
-    }
-
-// ---------------------------------------------------------------------------
-// Indicates has the subsession been written into the DB file.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt RDiagResultsDatabaseRecord::IsTestCompleted( 
-                                                    TBool& aCompleted ) const
-    {
-    TPckgBuf<TBool> pckg;
-	TInt err = SendReceive( DiagResultsDbCommon::ESubsessionIsTestCompleted, 
-	                        TIpcArgs(&pckg) );
-	aCompleted = pckg();
-	return err;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Returns record overview.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt RDiagResultsDatabaseRecord::GetRecordInfo ( 
-        TDiagResultsDatabaseTestRecordInfo& aInfo ) const
-    {
-    TPckgBuf<TDiagResultsDatabaseTestRecordInfo> pckg;
-	TInt err = SendReceive( DiagResultsDbCommon::ESubsessionGetRecordInfo, 
-	                        TIpcArgs(&pckg) );
-	aInfo = pckg();
-	return err;
-    }
-
-// ---------------------------------------------------------------------------
-// Get all test plug-in uids that are stored in the test record. 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt RDiagResultsDatabaseRecord::GetTestUids ( 
-                                    CArrayFixFlat<TUid>& aTestUidArray ) const
-    {    
-    TRAPD( err, DoGetTestUidsL( aTestUidArray ));
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// Resize flat buffer, make the request. If flat buffer is not large enough
-// grow the size and make the request again.
-// ---------------------------------------------------------------------------
-//
-void RDiagResultsDatabaseRecord::DoGetTestUidsL ( 
-                                    CArrayFixFlat<TUid>& aTestUidArray ) const
-    {
-    iBuffer->Delete( 0, iBuffer->Size() );
-    iBuffer->ResizeL( KResultsDatabaseSubsessionBufferLength );
-    
-    TPtr8 ptr ( iBuffer->Ptr(0) );
-    //Now ask server to serialize object into this buffer
-    TInt ret = SendReceive( DiagResultsDbCommon::ESubsessionGetTestUids, 
-                            TIpcArgs(&ptr) );
-    
-    while ( ret == KErrOverflow )
-        {
-        iBuffer->ResizeL( iBuffer->Size() + 
-                                KResultsDatabaseSubsessionBufferLength );
-        ptr.Set( iBuffer->Ptr(0) );                                
-        ret = SendReceive( DiagResultsDbCommon::ESubsessionGetTestUids, 
-                           TIpcArgs(&ptr) );
-        }
-    if ( ret != KErrNone )
-        {
-        User::Leave (ret);
-        }
-        
-    RBufReadStream readStream ( *iBuffer );  
-    CleanupClosePushL( readStream );
-    TInt count = readStream.ReadInt16L();
-    
-    for ( TInt i = 0; i < count; ++i )
-        {
-        aTestUidArray.AppendL ( TUid::Uid( readStream.ReadInt32L() ));
-        }
-   
-    CleanupStack::PopAndDestroy( &readStream );
-    } 
-
-// ---------------------------------------------------------------------------
-// Store one test result into the test record. The method does not write 
-// anything.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt RDiagResultsDatabaseRecord::LogTestResult ( 
-            TRequestStatus& aStatus,  
-            const CDiagResultsDatabaseItem& aResultItem )
-    {
-    TRAPD(err, DoLogTestResultL( aStatus, aResultItem ) );
-    return err;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Cancel LogTestResultL.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void RDiagResultsDatabaseRecord::CancelLogTestResult() const
-    {
-    SendReceive( DiagResultsDbCommon::ESubsessionCancelLogTestResult );
-    }
-
-// ---------------------------------------------------------------------------
-// Resize flat buffer and serialize the object that needs to be transferred.
-// ---------------------------------------------------------------------------
-//
-void RDiagResultsDatabaseRecord::DoLogTestResultL ( 
-            TRequestStatus& aStatus, 
-            const CDiagResultsDatabaseItem& aResultItem )
-    {
-    iBuffer->Delete( 0, iBuffer->Size() );
-    
-    //Make sure that the buffer is big enough for the item.
-    iBuffer->ResizeL( KResultsDatabaseSubsessionBufferLength );  
-                                               
-    TRAPD( error, WriteDatabaseItemIntoBufferL( aResultItem ));
-    
-    while ( error == KErrOverflow )
-        {
-        iBuffer->ResizeL( iBuffer->Size() + aResultItem.Size() ); 
-        TRAP( error, WriteDatabaseItemIntoBufferL( aResultItem ));
-        }
-            
-    if ( error != KErrNone )
-        {
-        TRequestStatus* status = &aStatus;
-        User::RequestComplete( status, error );
-        return;
-        }
-    
-    //Note that iPtr has to be member variable. If a new TPtr8 is defined in 
-    //here it can go out of scope i.e. reading will fail in the server side.
-    //Synchronous SendReceive would not have that problem.
-    iPtr.Set( iBuffer->Ptr(0) );
-	SendReceive( DiagResultsDbCommon::ESubsessionLogTestResult, 
-	                        TIpcArgs(&iPtr), aStatus );
-
-    }
-
-
-// ---------------------------------------------------------------------------
-// Write CDiagResultsDatabaseItem into a buffer.
-// ---------------------------------------------------------------------------
-//  
-void RDiagResultsDatabaseRecord::WriteDatabaseItemIntoBufferL( 
-                                 const CDiagResultsDatabaseItem& aResultItem )
-    {
-    RBufWriteStream writeStream ( *iBuffer );
-    CleanupClosePushL( writeStream );
-    aResultItem.ExternalizeL( writeStream );
-    writeStream.CommitL();
-    CleanupStack::PopAndDestroy();
-    }
-
-// ---------------------------------------------------------------------------
-// Get test results of the test record. 
-// ---------------------------------------------------------------------------
-//    
- EXPORT_C TInt RDiagResultsDatabaseRecord::GetTestResults ( 
-                RPointerArray<CDiagResultsDatabaseItem>& aResultsArray ) const
-    {
-
-    TRAPD( err, DoGetTestResultsL( aResultsArray ) );
-    return err;
-    }  
-
-// ---------------------------------------------------------------------------
-// Retrieve test results. Server serializes data into the flat buffer. 
-// Read stream can be used to deserialize data.
-// ---------------------------------------------------------------------------
-//
-void RDiagResultsDatabaseRecord::DoGetTestResultsL ( 
-                RPointerArray<CDiagResultsDatabaseItem>& aResultsArray ) const
-    {
-    iBuffer->Delete( 0, iBuffer->Size() );
-    iBuffer->ResizeL( KResultsDatabaseSubsessionBufferLength );
-    
-    TPtr8 ptr ( iBuffer->Ptr(0));
-    //Now ask server to serialize object into this buffer
-    TInt ret = SendReceive( DiagResultsDbCommon::ESubsessionGetTestResults, 
-                            TIpcArgs(&ptr) );
-    
-    while ( ret == KErrOverflow )
-        {
-        iBuffer->ResizeL( iBuffer->Size() + 
-                          KResultsDatabaseSubsessionBufferLength );
-        ptr.Set( iBuffer->Ptr(0) ); 
-        ret = SendReceive( DiagResultsDbCommon::ESubsessionGetTestResults, 
-                           TIpcArgs(&ptr) );
-        }
-    if ( ret != KErrNone )
-        {
-        User::Leave (ret);
-        }
-        
-    RBufReadStream readStream ( *iBuffer );    
-    TInt count = readStream.ReadInt16L();
-    
-    for ( TInt i = 0; i < count; ++i )
-        {
-        aResultsArray.AppendL (CDiagResultsDatabaseItem::NewL( readStream ) );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Get only one result from the test record.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt RDiagResultsDatabaseRecord::GetTestResult ( 
-            TUid aPluginUid, 
-            CDiagResultsDatabaseItem*& aResultItem ) const
-    {    
-    TRAPD( err, DoGetTestResultL ( aPluginUid, aResultItem ) );
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// Resize flat buffer and use read stream to retrieve data into DB item.
-// ---------------------------------------------------------------------------
-//
-void RDiagResultsDatabaseRecord::DoGetTestResultL ( 
-            TUid aPluginUid, 
-            CDiagResultsDatabaseItem*& aResultItem ) const
-    {
-    iBuffer->Delete( 0, iBuffer->Size() );
-    iBuffer->ResizeL( KResultsDatabaseSubsessionBufferLength );
-	
-    TPtr8 ptr ( iBuffer->Ptr(0) );
-    TPckgBuf<TUid> uid( aPluginUid );
-    //Now ask server to serialize object into this buffer
-    TInt ret = SendReceive( DiagResultsDbCommon::ESubsessionGetTestResult, 
-                                                 TIpcArgs(&uid, &ptr) );
-    
-    while ( ret == KErrOverflow )
-        {
-        iBuffer->ResizeL( iBuffer->Size() 
-                                + KResultsDatabaseSubsessionBufferLength );
-        ptr.Set( iBuffer->Ptr(0) );                              
-        ret = SendReceive( DiagResultsDbCommon::ESubsessionGetTestResult, 
-                           TIpcArgs(&uid, &ptr) );
-        }
-    
-    if ( ret != KErrNone )
-        {
-        User::Leave (ret);
-        }
-     
-    //Stream contains the serialized array
-    RBufReadStream readStream ( *iBuffer );
-    CleanupClosePushL( readStream );
-    
-    //Construct new test result.
-    CDiagResultsDatabaseItem* item = 
-                                CDiagResultsDatabaseItem::NewL( readStream );
-    aResultItem = item;
-    
-    CleanupStack::PopAndDestroy( &readStream );
-    
-    iBuffer->Delete(0, iBuffer->Size() );      
-    }               
-                              
-// ---------------------------------------------------------------------------
-// Starts server if it's not already running. 
-// ---------------------------------------------------------------------------
-//
-TInt DiagResultsDbCommon::StartServer()
-    {
-    LOGME("DiagResultsDbCommon::StartServer");
-	TInt res(KErrNone);
-	// create server - if one of this name does not already exist
-	TFindServer findServer(KDiagResultsDatabaseServerName);
-	TFullName name;
-	if (findServer.Next(name)!=KErrNone) // we don't exist already
-		{
-		TRequestStatus status;
-		RProcess server;
-		// Create the server process
-		res = server.Create(KDiagResultsDatabaseServerExe, KNullDesC);		
-
-		if( res!=KErrNone ) // thread created ok - now start it going
-			{
-			return res;
-			}
-
-		server.Rendezvous( status );
-		if( status != KRequestPending )
-		    {
-		    server.Kill(0); // abort start-up
-		    }
-        else
-            {
-            server.Resume(); // // wait for server start-up.
-            }
-                
-		// Wait until the completion of the server creation
-		User::WaitForRequest( status );
-		if( status != KErrNone )
-			{
-			server.Close();
-			return status.Int();
-			}
-		// Server created successfully
-		server.Close(); // we're no longer interested in the other process
-		}
-	LOGME1("startserver %d",res);
-    return res;
-    }
-    
-// ---------------------------------------------------------------------------
-// DLL entry point
-// ---------------------------------------------------------------------------
-//
-#ifndef EKA2
-GLDEF_C TInt E32Dll(TDllReason /*aReason*/)
-	{
-	return(KErrNone);
-   	}
-#endif
-
-   
--- a/devicediagnosticsfw/diagresultsdb/client/src/diagresultsdatabaseItem.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,332 +0,0 @@
-/*
-* 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 "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:  Class definition of CDiagResultsDatabaseItem
-*
-*/
-
-
-#include <s32std.h> 
-
-#include "diagresultsdatabaseitem.h"
-
-// ---------------------------------------------------------------------------
-// NewL.Used when creating the object from a stream that contains the
-// serialized object.
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C CDiagResultsDatabaseItem* CDiagResultsDatabaseItem::NewL ( 
-                                                        RReadStream& aStream )
-    {
-    CDiagResultsDatabaseItem* self = new( ELeave ) CDiagResultsDatabaseItem();
-    CleanupStack::PushL( self );
-    self->ConstructL( aStream );
-    CleanupStack::Pop();
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// NewL. 
-// ---------------------------------------------------------------------------
-//        
-EXPORT_C CDiagResultsDatabaseItem* CDiagResultsDatabaseItem::NewL (
-                                        TUid            aTestUid,
-                                        TBool           aDependencyExecution,
-                                        TResult         aResult,
-                                        TTime           aStartTime,
-                                        TTime           aEndTime,
-                                        CBufFlat*       aDetailsData )
-    {
-    
-    CDiagResultsDatabaseItem* self = new( ELeave ) CDiagResultsDatabaseItem( 
-                                    aTestUid, aDependencyExecution, aResult, 
-                                    aStartTime, aEndTime, aDetailsData );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// NewLC.
-// ---------------------------------------------------------------------------
-//   
-EXPORT_C CDiagResultsDatabaseItem* CDiagResultsDatabaseItem::NewLC (
-                                        TUid            aTestUid,
-                                        TBool           aDependencyExecution,
-                                        TResult         aResult,
-                                        TTime           aStartTime,
-                                        TTime           aEndTime,
-                                        CBufFlat*       aDetailsData )
-    {
-    CDiagResultsDatabaseItem* self = new( ELeave ) CDiagResultsDatabaseItem( 
-                                        aTestUid, aDependencyExecution, aResult, 
-                                        aStartTime, aEndTime, aDetailsData );
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// NewL. Copy constructor
-// ---------------------------------------------------------------------------
-//   
-EXPORT_C CDiagResultsDatabaseItem* CDiagResultsDatabaseItem::NewL (
-        const CDiagResultsDatabaseItem& aOriginal )
-    {
-    const CBufFlat* detailData = aOriginal.DetailsData();
-
-    CBufFlat* detailDataCopy = NULL;
-
-    if ( detailData )
-        {
-        detailDataCopy = CBufFlat::NewL( detailData->Size() );
-        CleanupStack::PushL( detailDataCopy );
-
-        TPtr8 ptr = detailDataCopy->Ptr( 0 );
-        detailData->Read( 0, ptr );
-        }
-
-    CDiagResultsDatabaseItem* self = CDiagResultsDatabaseItem::NewL(
-        aOriginal.TestUid(),
-        aOriginal.WasDependency(),
-        aOriginal.TestResult(),
-        aOriginal.TimeStarted(),
-        aOriginal.TimeCompleted(),
-        detailDataCopy );
-
-    if ( detailDataCopy )
-        {
-        CleanupStack::Pop( detailDataCopy );
-        }
-
-    return self;
-    }
-
-// ConstructL.
-// ---------------------------------------------------------------------------
-//
-void CDiagResultsDatabaseItem::ConstructL ( RReadStream& aStream )
-    {
-    InternalizeL( aStream );
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDiagResultsDatabaseItem::~CDiagResultsDatabaseItem()
-    {
-    if ( iDetailsData )
-        {
-        iDetailsData->Reset();
-        }
-        
-    delete iDetailsData;
-    iDetailsData = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// C++ default constructor.
-// ---------------------------------------------------------------------------
-//    
-CDiagResultsDatabaseItem::CDiagResultsDatabaseItem()
-    {
-    
-    }
-
-// ---------------------------------------------------------------------------
-// Getter.
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C TUid CDiagResultsDatabaseItem::TestUid() const
-    {
-    return iTestUid;
-    }
-    
-// ---------------------------------------------------------------------------
-// Getter.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CDiagResultsDatabaseItem::WasDependency() const
-    {
-    return iDependencyExecution;
-    }
-    
-// ---------------------------------------------------------------------------
-// Getter.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDiagResultsDatabaseItem::TResult 
-                   CDiagResultsDatabaseItem::TestResult() const
-    {
-    return iResult;
-    }
-
-// ---------------------------------------------------------------------------
-// Getter.
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C TTime CDiagResultsDatabaseItem::TimeStarted() const
-    {
-    return iStartTime;
-    }
-
-// ---------------------------------------------------------------------------
-// Getter.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TTime CDiagResultsDatabaseItem::TimeCompleted() const
-    {
-    return iEndTime;
-    }
-
-// ---------------------------------------------------------------------------
-// Getter.
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C const CBufFlat* CDiagResultsDatabaseItem::DetailsData() const
-    {
-    return iDetailsData;
-    }
-
-// ---------------------------------------------------------------------------
-// Externalize the object into writestream.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagResultsDatabaseItem::ExternalizeL(
-                                             RWriteStream& aStream ) const
-    {
-    aStream.WriteInt32L ( iTestUid.iUid );
-    aStream.WriteUint8L ( iDependencyExecution );
-    aStream.WriteInt16L ( iResult );
-    
-    WriteTimeToStreamL( aStream, iStartTime );
-    WriteTimeToStreamL( aStream, iEndTime );
-    
-    if ( iDetailsData == NULL )
-        {
-        aStream.WriteUint32L ( 0 );
-        }
-    else 
-        {
-        aStream.WriteUint32L ( iDetailsData->Size() );
-    
-        if ( iDetailsData->Size() > 0 )
-            {
-            aStream.WriteL( iDetailsData->Ptr(0), iDetailsData->Size() );    
-            }
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// Bytes are calculated from ExternalizeL method. (216 bits = 27 bytes).
-// 32 + 8 + 16 + 64 + 64 + 32 = 216 bits.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CDiagResultsDatabaseItem::Size() const
-    {
-    if ( iDetailsData == NULL )
-        {
-        return 27;
-        }
-    
-    return (27 + iDetailsData->Size() );
-    }
-
-// ---------------------------------------------------------------------------
-// Internalize the object from a stream.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagResultsDatabaseItem::InternalizeL( RReadStream& aStream )
-    {
-    iTestUid = TUid::Uid( aStream.ReadInt32L () );
-    iDependencyExecution = aStream.ReadUint8L(); 
-    iResult = (TResult ) aStream.ReadInt16L();
-    
-    ReadTimeFromStreamL( aStream, iStartTime );
-    ReadTimeFromStreamL( aStream, iEndTime );
-    
-    TInt size = aStream.ReadUint32L();
-    
-    if ( size == 0 )
-        {
-        iDetailsData = NULL;
-        }
-    else 
-        {
-        iDetailsData = CBufFlat::NewL( 50 );
-        iDetailsData->ResizeL( size );
-        }
-    
-    
-    if ( size > 0 )
-        {
-        TPtr8 ptr = iDetailsData->Ptr(0);
-        aStream.ReadL( ptr, size);    
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Helper function.
-// ---------------------------------------------------------------------------
-//    
-void CDiagResultsDatabaseItem::WriteTimeToStreamL( 
-                                            RWriteStream& aStream, 
-                                            const TTime& aTime ) const
-    {
-    TInt64 time = aTime.Int64(); 
- 
-    TInt32 low_time = I64LOW( time );
-    TInt32 high_time = I64HIGH( time );
- 
-    aStream.WriteInt32L( low_time );
-    aStream.WriteInt32L( high_time );
-    }    
-
-// ---------------------------------------------------------------------------
-// Helper function.
-// ---------------------------------------------------------------------------
-//
-void CDiagResultsDatabaseItem::ReadTimeFromStreamL( 
-                                           RReadStream& aStream, 
-                                           TTime& aTime ) 
-    {
-    TInt32 low_time = aStream.ReadInt32L();
-    TInt32 high_time = aStream.ReadInt32L();
-    
-    TInt64 readTime = MAKE_TINT64(high_time,low_time);
-    
-    aTime = TTime(readTime);
-    }  
-
-// ---------------------------------------------------------------------------
-// Constructor that sets the values.
-// ---------------------------------------------------------------------------
-//
-CDiagResultsDatabaseItem::CDiagResultsDatabaseItem (
-                        TUid            aTestUid,
-                        TBool           aDependencyExecution,
-                        TResult         aResult,
-                        TTime           aStartTime,
-                        TTime           aEndTime,
-                        CBufFlat*       aDetailsData )
-    {
-    iTestUid = aTestUid;
-    iDependencyExecution = aDependencyExecution;
-    iResult = aResult;
-    iStartTime = aStartTime;
-    iEndTime = aEndTime;
-    iDetailsData = aDetailsData;
-    }
-    
-  
-    
-
--- a/devicediagnosticsfw/diagresultsdb/client/src/diagresultsdatabasetestrecordInfo.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-/*
-* 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 "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:  Class definition of TDiagResultsDatabaseTestRecordInfo
-*
-*/
-
-
-// SYSTEM INCLUDE FILES
-#include <s32strm.h>
-#include <s32std.h>
-#include <drmserviceapi.h>
-
-// USER INCLUDE FILES
-#include "diagresultsdatabasetestrecordinfo.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TDiagResultsDatabaseTestRecordInfo::TDiagResultsDatabaseTestRecordInfo()
-    {
-    iRecordId = TUid::Null();
-    iDbUid = TUid::Null();
-    iTestCount = 0;
-    iCompleted = EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// Read TDiagResultsDatabaseTestRecordInfo object from a stream.
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C void TDiagResultsDatabaseTestRecordInfo::InternalizeL( 
-                                                RReadStream& aStream )
-    {
-    iRecordId = TUid::Uid( aStream.ReadInt32L() );
-    
-    ReadTimeFromStreamL( aStream, iDrmStartTime ); 
-    ReadTimeFromStreamL( aStream, iDrmFinishTime );
-    
-    ReadTimeFromStreamL( aStream, iStartTime ); 
-    ReadTimeFromStreamL( aStream, iFinishTime );
-    
-    iDbUid = TUid::Uid( aStream.ReadInt32L() );
-    iTestCount = aStream.ReadInt32L();
-    
-    iRecordStatus = (TDbRecordStatus) aStream.ReadUint8L();
-    
-    iCompleted = (TBool) aStream.ReadUint8L();
-    }    
-
-// ---------------------------------------------------------------------------
-// Write TDiagResultsDatabaseTestRecordInfo object into a stream.
-// ---------------------------------------------------------------------------
-//       
-EXPORT_C void TDiagResultsDatabaseTestRecordInfo::ExternalizeL( 
-                                                RWriteStream& aStream ) const
-    {
-    aStream.WriteInt32L( iRecordId.iUid );
-    
-    WriteTimeToStreamL( aStream, iDrmStartTime );
-    WriteTimeToStreamL( aStream, iDrmFinishTime );
-    
-    WriteTimeToStreamL( aStream, iStartTime );
-    WriteTimeToStreamL( aStream, iFinishTime );
-    
-    aStream.WriteInt32L( iDbUid.iUid );
-    aStream.WriteInt32L( iTestCount );
-
-    aStream.WriteUint8L( iRecordStatus );
-
-    aStream.WriteUint8L( iCompleted );
-    }   
-
-// ---------------------------------------------------------------------------
-// Helper function to write TTime into a stream.
-// ---------------------------------------------------------------------------
-//       
-void TDiagResultsDatabaseTestRecordInfo::WriteTimeToStreamL( 
-                                                RWriteStream& aStream, 
-                                                const TTime& aTime ) const
-    {
-    TInt64 time = aTime.Int64(); 
- 
-    TInt32 low_time = I64LOW( time );
-    TInt32 high_time = I64HIGH( time );
- 
-    aStream.WriteInt32L( low_time );
-    aStream.WriteInt32L( high_time );
-    }    
-
-// ---------------------------------------------------------------------------
-// Helper function to read TTime from a stream.
-// ---------------------------------------------------------------------------
-//  
-void TDiagResultsDatabaseTestRecordInfo::ReadTimeFromStreamL( 
-                                                RReadStream& aStream, 
-                                                TTime& aTime ) 
-    {
-    TInt32 low_time = aStream.ReadInt32L();
-    TInt32 high_time = aStream.ReadInt32L();
-    
-    TInt64 readTime = MAKE_TINT64(high_time,low_time);
-    
-    aTime = TTime(readTime);
-    }      
-
-// ---------------------------------------------------------------------------
-// Get secure DRM time.
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C TTime TDiagResultsDatabaseTestRecordInfo::DRMTimeL()
-    {
-    // Get the current time.
-    TTime currTime = 0;
-    DRM::CDrmServiceApi* drmApi = DRM::CDrmServiceApi::NewLC();
-    TInt timeZone = 0;
-    DRMClock::ESecurityLevel secLevel = DRMClock::KInsecure;
-    TInt err = drmApi->GetSecureTime( currTime, timeZone, secLevel );
-    CleanupStack::PopAndDestroy( drmApi );
-    User::LeaveIfError( err );
-    return currTime;
-    }
--- a/devicediagnosticsfw/diagresultsdb/client/src/diagresultsdbrecordengineparam.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,194 +0,0 @@
-/*
-* 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 "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:  Class definition of CDiagResultsDbRecordEngineParam
-*
-*/
-
-
-#include <s32std.h> 
-
-#include "diagresultsdbrecordengineparam.h"
-
-
-// ---------------------------------------------------------------------------
-// NewL.Used when creating the object from a stream that contains the
-// serialized object.
-// ---------------------------------------------------------------------------
-//        
-EXPORT_C CDiagResultsDbRecordEngineParam* CDiagResultsDbRecordEngineParam::NewL (
-                                        RReadStream& aStream )
-    {
-    CDiagResultsDbRecordEngineParam* self = 
-                     new( ELeave ) CDiagResultsDbRecordEngineParam();
-    
-    CleanupStack::PushL( self );
-    self->ConstructL( aStream );
-    CleanupStack::Pop();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// NewL
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C CDiagResultsDbRecordEngineParam* CDiagResultsDbRecordEngineParam::NewL
-                                            ( 
-                                            RArray<TUid>*   aInitialUids,
-                                            TBool           aDependencyExecution
-                                            )
-    {
-    CDiagResultsDbRecordEngineParam* self = 
-                     new( ELeave ) CDiagResultsDbRecordEngineParam( 
-                                                        aInitialUids, 
-                                                        aDependencyExecution );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-    
-
-
-// ---------------------------------------------------------------------------
-// NewLC.
-// ---------------------------------------------------------------------------
-//   
-EXPORT_C CDiagResultsDbRecordEngineParam* CDiagResultsDbRecordEngineParam::NewLC (
-                                          RArray<TUid>*   aInitialUids,
-                                          TBool           aDependencyExecution
-                                          )
-    {
-    CDiagResultsDbRecordEngineParam* self = 
-                                new( ELeave ) CDiagResultsDbRecordEngineParam( 
-                                        aInitialUids, 
-                                        aDependencyExecution );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// ConstructL.
-// ---------------------------------------------------------------------------
-//
-void CDiagResultsDbRecordEngineParam::ConstructL ( RReadStream& aStream )
-    {
-    InternalizeL( aStream );
-    }
-    
-// ---------------------------------------------------------------------------
-// ConstructL.
-// ---------------------------------------------------------------------------
-//
-void CDiagResultsDbRecordEngineParam::ConstructL ()
-    {
-    if ( !iExecutionUids )
-        {
-        User::Leave( KErrArgument );
-        }
-    
-    }
-    
-  
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDiagResultsDbRecordEngineParam::~CDiagResultsDbRecordEngineParam()
-    {
-    iExecutionUids->Close();
-    delete iExecutionUids;
-    iExecutionUids = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// C++ default constructor.
-// ---------------------------------------------------------------------------
-//    
-CDiagResultsDbRecordEngineParam::CDiagResultsDbRecordEngineParam()
-    {
-    
-    }
-
-// ---------------------------------------------------------------------------
-// Return execution uid array.
-// ---------------------------------------------------------------------------
-//   
-EXPORT_C const RArray<TUid>& CDiagResultsDbRecordEngineParam::ExecutionsUidArray() const
-    {
-    return *iExecutionUids;
-    }
-    
-// ---------------------------------------------------------------------------
-// Return dependency execution.
-// ---------------------------------------------------------------------------
-//       
-EXPORT_C TBool CDiagResultsDbRecordEngineParam::DependencyExecution() const
-    {
-    return iDependencyExecution;
-    }
-    
-// ---------------------------------------------------------------------------
-// Externalize this object into a stream.
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C void CDiagResultsDbRecordEngineParam::ExternalizeL(
-                                             RWriteStream& aStream ) const
-    {
-    aStream.WriteInt16L( iExecutionUids->Count() );
-    
-    for (TInt i=0; i < iExecutionUids->Count(); ++i )
-        {
-        aStream.WriteInt32L( (*iExecutionUids)[i].iUid );
-        }
-        
-    aStream.WriteUint8L ( iDependencyExecution );   
-    }
-
-
-// ---------------------------------------------------------------------------
-// Internalize the object from a stream.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CDiagResultsDbRecordEngineParam::InternalizeL( RReadStream& aStream )
-    {
-    iExecutionUids = new (ELeave) RArray<TUid>(10);
-    
-    TInt length = aStream.ReadInt16L();
-    
-    for ( TInt i=0; i < length; ++i )
-        {
-        
-        iExecutionUids->AppendL( TUid::Uid( aStream.ReadInt32L() ) );
-        }
-    
-    iDependencyExecution = aStream.ReadUint8L();     
-    }
-
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//
-CDiagResultsDbRecordEngineParam::CDiagResultsDbRecordEngineParam (
-                                RArray<TUid>*   aInitialUids,
-                                TBool           aDependencyExecution )
-    {
-    iExecutionUids = aInitialUids;
-    iDependencyExecution = aDependencyExecution;
-    }
-    
-  
-    
-
--- a/devicediagnosticsfw/diagresultsdb/client/src/diagresultsdbrecordinfoarraypacked.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
-* 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 "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:  Class definition of 
-*
-*/
-
-
-// SYSTEM INCLUDE FILES
-#include <s32strm.h>
-#include <s32mem.h>
-
-// USER INCLUDE FILES
-#include "diagresultsdbrecordinfoarraypacked.h"
-#include "diagresultsdatabasetestrecordinfo.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TDiagResultsDbRecordInfoArrayPacked::TDiagResultsDbRecordInfoArrayPacked(
-                                         CBufFlat*& aBuffer): iBuffer(aBuffer)
-    {
-    
-    }
-
-// ---------------------------------------------------------------------------
-// Packs the array for sending across IPC. Flat buffer is used to deliver data.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void TDiagResultsDbRecordInfoArrayPacked::PackArrayL(
-        const CArrayFixFlat<TDiagResultsDatabaseTestRecordInfo>& aInfoArray)
-    {   
-    RBufWriteStream writeStream ( *iBuffer );
-    CleanupClosePushL( writeStream );
-    writeStream.WriteInt16L( aInfoArray.Count() );
-    
-    for (TInt i=0; i < aInfoArray.Count(); ++i )
-        {
-        aInfoArray[i].ExternalizeL( writeStream );
-        }
-        
-    CleanupStack::PopAndDestroy( &writeStream );
-    }
-
-// ---------------------------------------------------------------------------
-// Unpack the array. 
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C void TDiagResultsDbRecordInfoArrayPacked::UnpackArrayL(
-            CArrayFixFlat<TDiagResultsDatabaseTestRecordInfo>& aInfoArray)
-    {
-    RBufReadStream readStream ( *iBuffer );
-    CleanupClosePushL( readStream );
-    
-    //how many cells needs to be unpacked
-    TInt length = readStream.ReadInt16L();
-    
-    for ( TInt i=0; i < length; ++i )
-        {
-        TDiagResultsDatabaseTestRecordInfo info = 
-                    TDiagResultsDatabaseTestRecordInfo(); 
-        info.InternalizeL( readStream );
-        aInfoArray.AppendL( info ) ;
-        }
-    CleanupStack::PopAndDestroy( &readStream );
-    }
--- a/devicediagnosticsfw/diagresultsdb/common/diagresultsdatabasecommon.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,139 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Contains common datatypes.
-*
-*/
-
-
-#ifndef DIAG_RESULTS_DATABASE_COMMON_H
-#define DIAG_RESULTS_DATABASE_COMMON_H
-
-#include <e32std.h>             // TTime
-#include <flogger.h>
-
-// CONSTANTS
-_LIT( KDiagLogFolder,  "DiagFramework" );
-_LIT( KDiagLogFile1,    "LOG1.TXT" );
-
-#define LOGME( aFormat )                                \
-    {                                                       \
-    _LIT( KFormat, aFormat );                               \
-    RFileLogger::Write( KDiagLogFolder(),          \
-                        KDiagLogFile1(),            \
-                        EFileLoggingModeAppend,             \
-                        KFormat() );                        \
-    }
-    
-#define LOGME1( aFormat, a )                            \
-    {                                                       \
-    _LIT( KFormat, aFormat );                               \
-    RFileLogger::WriteFormat( KDiagLogFolder(),    \
-                              KDiagLogFile1(),      \
-                              EFileLoggingModeAppend,       \
-                              TRefByValue<const TDesC>( KFormat() ), \
-                              a );                          \
-    }
-    
-// FORWARD DECLARATIONS
-
-// CONSTANTS
-const TUint KDiagResultsDatabaseServerMajor(1);
-const TUint KDiagResultsDatabaseServerMinor(1);
-const TUint KDiagResultsDatabaseServerBuild(0);
-
-_LIT(KDiagResultsDatabaseServerName,"diagresultsdatabaseserver");
-_LIT(KDiagResultsDatabaseServerExe,"diagresultsdatabaseserver.exe");
-
-/**
-* Namespace for results database common datatypes.
-*
-* @since S60 v5.0
-*/
-namespace DiagResultsDbCommon
-    {
-
-    // Server start function
-    TInt StartServer();
-
-    // ENUMERATIONS
-    enum TServerOpCodes
-        {
-        EConnect,
-        EClose,
-        EGetRecordCount,
-        EConnectSubsession,
-        ECloseSubsession,
-        EGetLastRecord,
-        EGetLastNotCompletedRecord,
-        EGetRecordList,
-        EGetRecordInfoList,
-        EInitiateGetLastResults,
-        ECancelInitiateGetLastResults,
-        EGetLastResults,
-        EInitiateGetSingleLastResult,
-        EGetSingleLastResult,
-        
-        ESubsessionGetTestRecordId,
-        ESubsessionTestCompleted,
-        ESubsessionSuspend,
-        ESubsessionIsTestCompleted,
-        ESubsessionIsSuspended,
-        ESubsessionCreateNewRecord,
-        ESubsessionGetRecordInfo,
-        ESubsessionGetTestUids,
-        ESubsessionGetEngineParam,
-        ESubsessionLogTestResult,
-        ESubsessionCancelLogTestResult,
-        ESubsessionGetStatus,
-        ESubsessionGetTestResult,
-        ESubsessionGetTestResults,
-        ENotSupported
-        };
-        
-    // reasons for server panic
-    enum TPanics
-	    {
-	    EBadRequest,
-	    EBadDescriptor,
-	    EMainSchedulerError,
-	    ESvrCreateServer,
-	    ESvrStartServer,
-	    ESvrCreateSubsession,
-	    EServerCorruptFileDelete,
-	    EServerFileCreationError,
-	    EServerStoreRevertError,
-	    ECreateTrapCleanup,
-	    EDatabaseCompact,
-	    EDatabaseCompactCommit,
-	    EGetLastResultsMismatch,
-	    ECentralRepositoryFailure,
-	    EDoCompleteTestResultL,
-	    EDoCompleteTestRecordL,
-	    EStoreTestResultRevertLError,
-	    EStoreRecordCompleteRevertLError,
-	    EStoreNullPointer,
-	    EGetStatusPanic,
-	    EUnknownLastResultState,
-	    EIncorrectExtendNumberForLastResults,
-	    EIncorrectStreamId,
-	    EUnableToDelete,
-	    EMaximumFileSizeExceeded,
-	    EUnknownDeletionAlgorithm,
-	    ENotImplementedYet,
-	    };
-
-    }
-	
-#endif //DIAG_RESULTS_DATABASE_COMMON_H
-
--- a/devicediagnosticsfw/diagresultsdb/common/diagresultsdbprivatecrkeys.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* 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 "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:  Private Central Repository keys.
-*
-*/
-
-
-#ifndef DIAGRESULTSDBPRIVATECRKEYS_H
-#define DIAGRESULTSDBPRIVATECRKEYS_H
-
-//  INCLUDES
-
-#include <e32std.h>
-
-// =============================================================================
-// Diagnostics Results DB
-// =============================================================================
-
-const TUid KCRUidDiagnosticsResults = { 0x2000B45D };
-
-/**
-* The maximum number of test records inside each DB file. 
-**/
-const TUint32 KDiagDatabaseMaxRecordCount = 0x00000001;
-
-/**
-* The maximum file size for DB file in bytes. 
-**/
-const TUint32 KDiagDatabaseMaxFileSize = 0x00000002;
-
-/**
-* The value indicates which deletion algorithm the DB uses. The First alternative 
-* deletes test records when max record count is exceeded (0). The other uses a buffer 
-* to store last results (1) and keeps the max record count.
-**/
-const TUint32 KDiagDatabaseDeletionAlgorithm = 0x00000003;
-
-
-#endif      // DIAGRESULTSDBPRIVATECRKEYS_H
-
-// End of File
-
--- a/devicediagnosticsfw/diagresultsdb/server/cenrep_files/clean_cenrep.bat	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-rem
-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:
-rem
-
-rd /s /q output
Binary file devicediagnosticsfw/diagresultsdb/server/cenrep_files/keys_diagresultsdb.xls has changed
--- a/devicediagnosticsfw/diagresultsdb/server/cenrep_files/make_cenrep.bat	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-rem
-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:
-rem
-
-@set XLS_FILE=keys_diagresultsdb.xls
-@set INI_FILE=2000B45D.txt
-@set RELEASE=3.2
-
-@set CENREP_DIR=%CD%
-@cd \epoc32\tools\cenrep
-
-cenrep.pl -o "%CENREP_DIR%\output" -l "%CENREP_DIR%\%XLS_FILE%" -p %RELEASE%
-copy "%CENREP_DIR%\output\inifiles\%INI_FILE%" \epoc32\RELEASE\winscw\udeb\Z\private\10202be9\
-copy "%CENREP_DIR%\output\inifiles\%INI_FILE%" \epoc32\RELEASE\winscw\udeb\Z\private\10202be9\
-copy "%CENREP_DIR%\output\inifiles\%INI_FILE%" \epoc32\RELEASE\winscw\urel\Z\private\10202be9\
-copy "%CENREP_DIR%\output\inifiles\%INI_FILE%" \epoc32\RELEASE\armv5\udeb\Z\private\10202be9\
-copy "%CENREP_DIR%\output\inifiles\%INI_FILE%" \epoc32\RELEASE\armv5\urel\Z\private\10202be9\
-copy "%CENREP_DIR%\output\inifiles\%INI_FILE%" \epoc32\data\Z\private\10202be9\
-@cd "%CENREP_DIR%"
-
-@echo ================= done. Hit any key to continue ==================
-@pause
Binary file devicediagnosticsfw/diagresultsdb/server/cenrep_files/output/inifiles/2000B45D.txt has changed
Binary file devicediagnosticsfw/diagresultsdb/server/cenrep_files/output/key_sheets_info.storable has changed
--- a/devicediagnosticsfw/diagresultsdb/server/cenrep_files/output/rfs/cenrep_rfs.txt	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ÿþ
\ No newline at end of file
Binary file devicediagnosticsfw/diagresultsdb/server/conf/diagresultsdb.confml has changed
Binary file devicediagnosticsfw/diagresultsdb/server/conf/diagresultsdb_2000B45d.crml has changed
--- a/devicediagnosticsfw/diagresultsdb/server/group/bld.inf	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* 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 "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 Diagnostics Results Database
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-// Generic configuration interface for component cenrep settings  
-../conf/diagresultsdb.confml                    MW_LAYER_CONFML(diagresultsdb.confml)
-../conf/diagresultsdb_2000B45d.crml	        MW_LAYER_CRML(diagresultsdb_2000B45D.crml)
-
-PRJ_MMPFILES
-diagresultsdbserver.mmp
-
--- a/devicediagnosticsfw/diagresultsdb/server/group/diagresultsdbserver.mmp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* 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 "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 specification for diagresultsdatabaseserver.exe
-*
-*/
-
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-
-TARGET        diagresultsdatabaseserver.exe
-TARGETTYPE    exe
-
-UID	          0x1000008d 0x10282CD9
-VENDORID      VID_DEFAULT
-
-CAPABILITY    CAP_SERVER
-
-SOURCEPATH    ../src
-SOURCE        diagresultsdbserver.cpp
-SOURCE        diagresultsdbsession.cpp
-SOURCE        diagresultsdbtestrecordsubsession.cpp
-SOURCE        diagresultsdbstore.cpp
-SOURCE        diagresultsdbtestrecord.cpp
-SOURCE        diagresultsdbtestrecordhandle.cpp
-
-SOURCEPATH    ../../client/src
-SOURCE        diagresultsdatabasetestrecordInfo.cpp
-
-USERINCLUDE   .
-USERINCLUDE   ../inc
-USERINCLUDE   ../../common
-USERINCLUDE   ../../client/inc
-
-// MW Common System Include. 
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY       euser.lib
-LIBRARY       efsrv.lib
-LIBRARY       estor.lib
-LIBRARY       flogger.lib
-LIBRARY       diagresultsdatabase.lib //common items 
-LIBRARY       drmserviceapi.lib
-LIBRARY       sysutil.lib centralrepository.lib
-
-EPOCSTACKSIZE 0x4000
-//EPOCHEAPSIZE 0x1000 0x400000
-
-
--- a/devicediagnosticsfw/diagresultsdb/server/group/diagresultsdbserver.xml	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2075 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!DOCTYPE PROJECT [
- <!ELEMENT PROJECT (TARGETLIST, TARGETORDER, GROUPLIST, DESIGNLIST?)>
- <!ELEMENT TARGETLIST (TARGET+)>
- <!ELEMENT TARGET (NAME, SETTINGLIST, FILELIST?, LINKORDER?, SEGMENTLIST?, OVERLAYGROUPLIST?, SUBTARGETLIST?, SUBPROJECTLIST?, FRAMEWORKLIST?, PACKAGEACTIONSLIST?)>
- <!ELEMENT NAME (#PCDATA)>
- <!ELEMENT USERSOURCETREETYPE (#PCDATA)>
- <!ELEMENT PATH (#PCDATA)>
- <!ELEMENT FILELIST (FILE*)>
- <!ELEMENT FILE (PATHTYPE, PATHROOT?, ACCESSPATH?, PATH, PATHFORMAT?, ROOTFILEREF?, FILEKIND?, FILEFLAGS?)>
- <!ELEMENT PATHTYPE (#PCDATA)>
- <!ELEMENT PATHROOT (#PCDATA)>
- <!ELEMENT ACCESSPATH (#PCDATA)>
- <!ELEMENT PATHFORMAT (#PCDATA)>
- <!ELEMENT ROOTFILEREF (PATHTYPE, PATHROOT?, ACCESSPATH?, PATH, PATHFORMAT?)>
- <!ELEMENT FILEKIND (#PCDATA)>
- <!ELEMENT FILEFLAGS (#PCDATA)>
- <!ELEMENT FILEREF (TARGETNAME?, PATHTYPE, PATHROOT?, ACCESSPATH?, PATH, PATHFORMAT?)>
- <!ELEMENT TARGETNAME (#PCDATA)>
- <!ELEMENT SETTINGLIST ((SETTING|PANELDATA)+)>
- <!ELEMENT SETTING (NAME?, (VALUE|(SETTING+)))>
- <!ELEMENT PANELDATA (NAME, VALUE)>
- <!ELEMENT VALUE (#PCDATA)>
- <!ELEMENT LINKORDER (FILEREF*)>
- <!ELEMENT SEGMENTLIST (SEGMENT+)>
- <!ELEMENT SEGMENT (NAME, ATTRIBUTES?, FILEREF*)>
- <!ELEMENT ATTRIBUTES (#PCDATA)>
- <!ELEMENT OVERLAYGROUPLIST (OVERLAYGROUP+)>
- <!ELEMENT OVERLAYGROUP (NAME, BASEADDRESS, OVERLAY*)>
- <!ELEMENT BASEADDRESS (#PCDATA)>
- <!ELEMENT OVERLAY (NAME, FILEREF*)>
- <!ELEMENT SUBTARGETLIST (SUBTARGET+)>
- <!ELEMENT SUBTARGET (TARGETNAME, ATTRIBUTES?, FILEREF?)>
- <!ELEMENT SUBPROJECTLIST (SUBPROJECT+)>
- <!ELEMENT SUBPROJECT (FILEREF, SUBPROJECTTARGETLIST)>
- <!ELEMENT SUBPROJECTTARGETLIST (SUBPROJECTTARGET*)>
- <!ELEMENT SUBPROJECTTARGET (TARGETNAME, ATTRIBUTES?, FILEREF?)>
- <!ELEMENT FRAMEWORKLIST (FRAMEWORK+)>
- <!ELEMENT FRAMEWORK (FILEREF, DYNAMICLIBRARY?, VERSION?)>
- <!ELEMENT PACKAGEACTIONSLIST (PACKAGEACTION+)>
- <!ELEMENT PACKAGEACTION (#PCDATA)>
- <!ELEMENT LIBRARYFILE (FILEREF)>
- <!ELEMENT VERSION (#PCDATA)>
- <!ELEMENT TARGETORDER (ORDEREDTARGET|ORDEREDDESIGN)*>
- <!ELEMENT ORDEREDTARGET (NAME)>
- <!ELEMENT ORDEREDDESIGN (NAME, ORDEREDTARGET+)>
- <!ELEMENT GROUPLIST (GROUP|FILEREF)*>
- <!ELEMENT GROUP (NAME, (GROUP|FILEREF)*)>
- <!ELEMENT DESIGNLIST (DESIGN+)>
- <!ELEMENT DESIGN (NAME, DESIGNDATA)>
- <!ELEMENT DESIGNDATA (#PCDATA)>
-]>
-<?codewarrior exportversion="1.0.1" ideversion="5.0" ?>
-<PROJECT>
-    <TARGETLIST>
-        <TARGET>
-            <NAME>WINSCW UDEB</NAME>
-            <SETTINGLIST>
-
-                <!-- Settings for "Source Trees" panel -->
-                <SETTING><NAME>UserSourceTrees</NAME></SETTING>
-
-                <!-- Settings for "Access Paths" panel -->
-                <SETTING><NAME>AlwaysSearchUserPaths</NAME><VALUE>true</VALUE></SETTING>
-                <SETTING><NAME>InterpretDOSAndUnixPaths</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>RequireFrameworkStyleIncludes</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>SourceRelativeIncludes</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>UserSearchPaths</NAME>
-                    <SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>s60\mw\devicecontentservices\devicediagnostics\diagnosticsfw\diagresultsdb\Server\group</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>s60\mw\devicecontentservices\devicediagnostics\diagnosticsfw\diagresultsdb\Server\inc</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>s60\mw\devicecontentservices\devicediagnostics\diagnosticsfw\diagresultsdb\common</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>s60\mw\devicecontentservices\devicediagnostics\diagnosticsfw\diagresultsdb\Client\Inc</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>s60\mw\devicecontentservices\devicediagnostics\diagnosticsfw\diagresultsdb\Client\Src</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>s60\mw\devicecontentservices\devicediagnostics\diagnosticsfw\diagresultsdb\Server\src</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING></SETTING>
-                <SETTING><NAME>SystemSearchPaths</NAME>
-                    <SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\oem</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\middleware</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\domain\middleware</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\osextensions</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\domain\osextensions</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\domain\osextensions\loc</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\domain\middleware\loc</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\domain\osextensions\loc\sc</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\domain\middleware\loc\sc</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\UDEB</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>Symbian_Support\Win32-x86 Support\Libraries\Win32 SDK</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>CodeWarrior</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>Symbian_Support\Runtime\Runtime_x86\Runtime_Win32\Libs</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>CodeWarrior</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING></SETTING>
-
-                <!-- Settings for "Debugger Runtime" panel -->
-                <SETTING><NAME>MWRuntimeSettings_WorkingDirectory</NAME><VALUE/></SETTING>
-                <SETTING><NAME>MWRuntimeSettings_CommandLine</NAME><VALUE/></SETTING>
-                <SETTING><NAME>MWRuntimeSettings_HostApplication</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\udeb\diagresultsdatabaseserver.exe</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-                <SETTING><NAME>MWRuntimeSettings_EnvVars</NAME><VALUE/></SETTING>
-
-                <!-- Settings for "Target Settings" panel -->
-                <SETTING><NAME>Linker</NAME><VALUE>Symbian Linker v2</VALUE></SETTING>
-                <SETTING><NAME>PreLinker</NAME><VALUE/></SETTING>
-                <SETTING><NAME>PostLinker</NAME><VALUE>Symbian Installer v2</VALUE></SETTING>
-                <SETTING><NAME>Targetname</NAME><VALUE>WINSCW UDEB</VALUE></SETTING>
-                <SETTING><NAME>OutputDirectory</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\udeb</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-                <SETTING><NAME>SaveEntriesUsingRelativePaths</NAME><VALUE>false</VALUE></SETTING>
-
-                <!-- Settings for "File Mappings" panel -->
-                <SETTING><NAME>FileMappings</NAME>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>._i</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>._ii</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.c</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.cc</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.cfg</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.cia</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.cpp</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.cwlink</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>XML</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.cxx</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.def</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.h</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.hrh</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.i</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.iby</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.ii</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.inf</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.ini</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.inl</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.loc</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.mmpi</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.pch++</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.pkg</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.policy</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.ra</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.resources</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Resource v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>XML</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.rh</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.rls</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.rss</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.rsg</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.s</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.script</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.txt</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.a</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.lib</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.dso</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.o</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                </SETTING>
-
-                <!-- Settings for "Build Extras" panel -->
-                <SETTING><NAME>CacheModDates</NAME><VALUE>true</VALUE></SETTING>
-                <SETTING><NAME>DumpBrowserInfo</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>CacheSubprojects</NAME><VALUE>true</VALUE></SETTING>
-                <SETTING><NAME>UseThirdPartyDebugger</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>BrowserGenerator</NAME><VALUE>2</VALUE></SETTING>
-                <SETTING><NAME>DebuggerAppPath</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>DebuggerCmdLineArgs</NAME><VALUE/></SETTING>
-                <SETTING><NAME>DebuggerWorkingDir</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>CodeCompletionPrefixFileName</NAME><VALUE/></SETTING>
-                <SETTING><NAME>CodeCompletionMacroFileName</NAME><VALUE/></SETTING>
-
-                <!-- Settings for "Debugger Target" panel -->
-                <SETTING><NAME>ConsoleEncoding</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>LogSystemMessages</NAME><VALUE>true</VALUE></SETTING>
-                <SETTING><NAME>AutoTargetDLLsPopUp</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>StopAtWatchpoints</NAME><VALUE>true</VALUE></SETTING>
-                <SETTING><NAME>PauseWhileRunning</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>PauseInterval</NAME><VALUE>5</VALUE></SETTING>
-                <SETTING><NAME>PauseUIFlags</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>AltExePath</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>StopAtTempBPOnLaunch</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>CacheSymbolics</NAME><VALUE>true</VALUE></SETTING>
-                <SETTING><NAME>TempBPFunctionName</NAME><VALUE>E32Main</VALUE></SETTING>
-                <SETTING><NAME>TempBPType</NAME><VALUE>1</VALUE></SETTING>
-
-                <!-- Settings for "Remote Debug" panel -->
-                <SETTING><NAME>Enabled</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>ConnectionName</NAME><VALUE/></SETTING>
-                <SETTING><NAME>DownloadPath</NAME><VALUE/></SETTING>
-                <SETTING><NAME>LaunchRemoteApp</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>RemoteAppPath</NAME><VALUE/></SETTING>
-                <SETTING><NAME>CoreID</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>JTAGClockSpeed</NAME><VALUE>8000</VALUE></SETTING>
-                <SETTING><NAME>IsMultiCore</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>OSDownload</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>UseGlobalOSDownload</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>OSDownloadConnectionName</NAME><VALUE/></SETTING>
-                <SETTING><NAME>OSDownloadPath</NAME><VALUE/></SETTING>
-                <SETTING><NAME>AltDownload</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>AltDownloadConnectionName</NAME><VALUE/></SETTING>
-
-                <!-- Settings for "x86 Exceptions" panel -->
-                <SETTING><NAME>MWDebugger_X86_Exceptions</NAME>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                </SETTING>
-                
-                <!-- Settings for "Auto-target" panel -->
-                <SETTING><NAME>OtherExecutables</NAME><VALUE/></SETTING>
-
-                <!-- Settings for "Analyzer Connections" panel -->
-                <SETTING><NAME>AnalyzerConnectionName</NAME><VALUE/></SETTING>
-
-                <!-- Settings for "Custom Keywords" panel -->
-                <SETTING><NAME>CustomColor1</NAME>
-                    <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
-                    <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
-                    <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>CustomColor2</NAME>
-                    <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
-                    <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
-                    <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>CustomColor3</NAME>
-                    <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
-                    <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
-                    <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>CustomColor4</NAME>
-                    <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
-                    <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
-                    <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
-                </SETTING>
-
-                <!-- Settings for "ARM Debugger" panel -->
-                <SETTING><NAME>Processor</NAME><VALUE>Generic</VALUE></SETTING>
-                <SETTING><NAME>BraekPoinType_II</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>UseInitFile</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>UseConfigFile</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>IDexecutable</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>IDinitialized</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>IDuninitialized</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>IDconstant</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>SDexecutable</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>SDinitialized</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>SDuninitialized</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>SDconstant</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>VerifyMemWrites</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>ShowMPC107regs</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>InitializationFile</NAME><VALUE/></SETTING>
-                <SETTING><NAME>ConfigurationFile</NAME><VALUE/></SETTING>
-                <SETTING><NAME>BreakpointType</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>WatchpointType</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>TargetOS</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>RTOSPluginName</NAME><VALUE/></SETTING>
-                <SETTING><NAME>ByteOrderType</NAME><VALUE>0</VALUE></SETTING>
-                <PANELDATA><NAME>CodeTest SYMBIAN Instrumenter</NAME><VALUE>
-                    0200020000000100000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    000000000000000000000000433A5C0000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    000000000000000000000000637466696C657300000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    000000000000000000000000636F6465746573742E6964620000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    000000000000000000000000
-                </VALUE></PANELDATA>
-
-                <!-- Settings for "Symbian Installation" panel -->
-                <SETTING><NAME>SymbianInstallationOutputFilename</NAME><VALUE>Application.sis</VALUE></SETTING>
-                <SETTING><NAME>SymbianInstallationOutputLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>SymbianInstallationContentSearchLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\udeb</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-                <SETTING><NAME>SymbianInstallationPassword</NAME><VALUE/></SETTING>
-                <SETTING><NAME>SymbianInstallationCreateStubFile</NAME><VALUE>false</VALUE></SETTING>
-
-                <!-- Settings for "Symbian Installer Panel v2" panel -->
-                <SETTING><NAME>SymbianInstallationOutputFilename</NAME><VALUE>Application.sis</VALUE></SETTING>
-                <SETTING><NAME>SymbianInstallationOutputLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>SymbianInstallationContentSearchLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\udeb</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-                <SETTING><NAME>SymbianInstallationPassword</NAME><VALUE/></SETTING>
-                <SETTING><NAME>SymbianInstallationCreateStubFile</NAME><VALUE>false</VALUE></SETTING>
-
-                <!-- Settings for "Symbian Resource Panel" panel -->
-                <SETTING><NAME>SymbianResourcesMMPFileLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>s60\mw\devicecontentservices\devicediagnostics\diagnosticsfw\diagresultsdb\Server\group</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-                <SETTING><NAME>SymbianResourcesBinaryOutputLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\udeb</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-                <SETTING><NAME>SymbianResourcesHeaderFileOutputLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-
-                <!-- Settings for "Symbian Resources Panel v2" panel -->
-                <SETTING><NAME>SymbianResourcesMMPFileLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>s60\mw\devicecontentservices\devicediagnostics\diagnosticsfw\diagresultsdb\Server\group</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-                <SETTING><NAME>SymbianResourcesBinaryOutputLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\udeb</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-                <SETTING><NAME>SymbianResourcesHeaderFileOutputLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-
-                <!-- Settings for "Remote Download" panel -->
-                <SETTING><NAME>FileList</NAME><VALUE/></SETTING>
-
-                <!-- Settings for "Symbian ARM Debugger" panel -->
-                <SETTING><NAME>Processor</NAME><VALUE>Generic</VALUE></SETTING>
-                <SETTING><NAME>UseInitFile</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>UseConfigFile</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>ResetTarget</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>InitializationFile</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>ConfigurationFile</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>TargetOS</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>RTOSPluginName</NAME><VALUE/></SETTING>
-
-                <!-- Settings for "Symbian Common Panel" panel -->
-                <SETTING><NAME>ShowCommandLine</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>SymbianEpocToolsPath</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE></VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-
-                <!-- Settings for "Symbian Compiler Panel" panel -->
-                <SETTING><NAME>PrefixFile</NAME><VALUE>feature_settings.hrh</VALUE></SETTING>
-                <SETTING><NAME>CompilerXMLDescriptor</NAME><VALUE>Metrowerks x86 Compiler</VALUE></SETTING>
-                <SETTING><NAME>Macros</NAME><VALUE>__SYMBIAN32__,__CW32__,__WINS__,__WINSCW__,__EXE__,_DEBUG,_UNICODE,__SUPPORT_CPP_EXCEPTIONS__,</VALUE></SETTING>
-                <SETTING><NAME>CodeTEST</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>EnableSWIC</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>Arguments</NAME><VALUE>-wchar_t off -align 4 -warnings on -w nohidevirtual, nounusedexpr -msgstyle gcc -enum int -str pool -exc ms -trigraphs on -O0 -inline off -nostdinc</VALUE></SETTING>
-                <SETTING><NAME>CIAArgs</NAME><VALUE/></SETTING>
-
-                <!-- Settings for "Symbian Debugging" panel -->
-                <SETTING><NAME>Parse Log File</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>Log File Path</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>Symbian SDK Folder</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>Log Unresolved Modules</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>Log Unresolved Sym Files</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>Debug Non-XIP Executables</NAME><VALUE>false</VALUE></SETTING>
-
-                <!-- Settings for "Symbian Kernel Debugging" panel -->
-                <SETTING><NAME>Start Address</NAME><VALUE>0x00000000</VALUE></SETTING>
-                <SETTING><NAME>Run From Start Address</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>Download Image</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>OS Image Path</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>Download Address</NAME><VALUE>0x00000000</VALUE></SETTING>
-                <SETTING><NAME>Ask First</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>Debug Bootrom</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>Bootrom Sym File</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-
-                <!-- Settings for "Symbian Linker Panel" panel -->
-                <SETTING><NAME>LinkOutputFile</NAME><VALUE>diagresultsdatabaseserver.exe</VALUE></SETTING>
-                <SETTING><NAME>LinkCmdLine</NAME><VALUE/></SETTING>
-                <SETTING><NAME>SymbianImportLibrary</NAME><VALUE>diagresultsdatabaseserver.lib</VALUE></SETTING>
-                <SETTING><NAME>canDebug</NAME><VALUE>true</VALUE></SETTING>
-                <SETTING><NAME>canRun</NAME><VALUE>true</VALUE></SETTING>
-
-                <!-- Settings for "Symbian RomBuild Panel" panel -->
-                <SETTING><NAME>CommandLine</NAME><VALUE>buildrom -D_DEBUG devkit lubbock techview -olubbock_gui.img</VALUE></SETTING>
-                <SETTING><NAME>OutputPath</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>DisplayMessages</NAME><VALUE>true</VALUE></SETTING>
-
-                <!-- Settings for "Symbian Target" panel -->
-                <SETTING><NAME>TargetArchitecture</NAME><VALUE>WINSCW</VALUE></SETTING>
-                <SETTING><NAME>LogMessages</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>SuppressWarnings</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>GenerateSymbolics</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>CompilerPrefix</NAME><VALUE/></SETTING>
-                <SETTING><NAME>CompilerCmdLine</NAME><VALUE/></SETTING>
-                <SETTING><NAME>SymbianImportLibraryPath</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-
-                <!-- Settings for "Symbian Tools" panel -->
-                <SETTING><NAME>Gnu Tools Path</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>Epoc32 Tools Path</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-            </SETTINGLIST>
-            <FILELIST>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbServer.mmp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>EEXE.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbServer.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbSession.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbTestRecordSubsession.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbStore.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbTestRecord.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbTestRecordHandle.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseTestRecordInfo.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>diagresultsdatabaseserver_UID_.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>euser.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>efsrv.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>estor.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>flogger.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabase.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>drmserviceapi.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>sysutil.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>centralrepository.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabase.h</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseCommon.h</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseItem.h</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseTestRecordInfo.h</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbCRDC.h</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbPrivateCRKeys.h</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbRecordEngineParam.h</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbRecordInfoArrayPacked.h</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbServer.h</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbSession.h</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbStore.h</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbTestRecord.h</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbTestRecordHandle.h</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbTestRecordSubsession.h</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>diagresultsdatabaseserverWINSCWUDEB.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-</FILELIST>
-            <LINKORDER>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbServer.mmp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>EEXE.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbServer.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbSession.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbTestRecordSubsession.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbStore.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbTestRecord.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbTestRecordHandle.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseTestRecordInfo.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>diagresultsdatabaseserver_UID_.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>euser.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>efsrv.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>estor.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>flogger.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabase.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>drmserviceapi.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>sysutil.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>centralrepository.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabase.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseCommon.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseItem.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseTestRecordInfo.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbCRDC.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbPrivateCRKeys.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbRecordEngineParam.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbRecordInfoArrayPacked.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbServer.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbSession.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbStore.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbTestRecord.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbTestRecordHandle.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbTestRecordSubsession.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>diagresultsdatabaseserverWINSCWUDEB.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-</LINKORDER>
-        </TARGET><TARGET>
-            <NAME>WINSCW UREL</NAME>
-            <SETTINGLIST>
-
-                <!-- Settings for "Source Trees" panel -->
-                <SETTING><NAME>UserSourceTrees</NAME></SETTING>
-
-                <!-- Settings for "Access Paths" panel -->
-                <SETTING><NAME>AlwaysSearchUserPaths</NAME><VALUE>true</VALUE></SETTING>
-                <SETTING><NAME>InterpretDOSAndUnixPaths</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>RequireFrameworkStyleIncludes</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>SourceRelativeIncludes</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>UserSearchPaths</NAME>
-                    <SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>s60\mw\devicecontentservices\devicediagnostics\diagnosticsfw\diagresultsdb\Server\group</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>s60\mw\devicecontentservices\devicediagnostics\diagnosticsfw\diagresultsdb\Server\inc</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>s60\mw\devicecontentservices\devicediagnostics\diagnosticsfw\diagresultsdb\common</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>s60\mw\devicecontentservices\devicediagnostics\diagnosticsfw\diagresultsdb\Client\Inc</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>s60\mw\devicecontentservices\devicediagnostics\diagnosticsfw\diagresultsdb\Client\Src</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>s60\mw\devicecontentservices\devicediagnostics\diagnosticsfw\diagresultsdb\Server\src</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING></SETTING>
-                <SETTING><NAME>SystemSearchPaths</NAME>
-                    <SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\oem</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\middleware</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\domain\middleware</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\osextensions</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\domain\osextensions</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\domain\osextensions\loc</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\domain\middleware\loc</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\domain\osextensions\loc\sc</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\include\domain\middleware\loc\sc</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\UREL</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>epoc32\release\WINSCW\UDEB</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>Symbian_Support\Win32-x86 Support\Libraries\Win32 SDK</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>CodeWarrior</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING><SETTING>
-<SETTING><NAME>SearchPath</NAME>
-<SETTING><NAME>Path</NAME><VALUE>Symbian_Support\Runtime\Runtime_x86\Runtime_Win32\Libs</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>CodeWarrior</VALUE></SETTING>
-</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
-<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
-</SETTING></SETTING>
-
-                <!-- Settings for "Debugger Runtime" panel -->
-                <SETTING><NAME>MWRuntimeSettings_WorkingDirectory</NAME><VALUE/></SETTING>
-                <SETTING><NAME>MWRuntimeSettings_CommandLine</NAME><VALUE/></SETTING>
-                <SETTING><NAME>MWRuntimeSettings_HostApplication</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\urel\diagresultsdatabaseserver.exe</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-                <SETTING><NAME>MWRuntimeSettings_EnvVars</NAME><VALUE/></SETTING>
-
-                <!-- Settings for "Target Settings" panel -->
-                <SETTING><NAME>Linker</NAME><VALUE>Symbian Linker v2</VALUE></SETTING>
-                <SETTING><NAME>PreLinker</NAME><VALUE/></SETTING>
-                <SETTING><NAME>PostLinker</NAME><VALUE>Symbian Installer v2</VALUE></SETTING>
-                <SETTING><NAME>Targetname</NAME><VALUE>WINSCW UREL</VALUE></SETTING>
-                <SETTING><NAME>OutputDirectory</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\urel</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-                <SETTING><NAME>SaveEntriesUsingRelativePaths</NAME><VALUE>false</VALUE></SETTING>
-
-                <!-- Settings for "File Mappings" panel -->
-                <SETTING><NAME>FileMappings</NAME>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>._i</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>._ii</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.c</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.cc</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.cfg</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.cia</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.cpp</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.cwlink</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>XML</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.cxx</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.def</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.h</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.hrh</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.i</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.iby</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.ii</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.inf</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.ini</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.inl</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.loc</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.mmpi</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.pch++</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.pkg</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.policy</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.ra</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.resources</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Resource v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>XML</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.rh</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.rls</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.rss</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.rsg</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.s</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.script</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.txt</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.a</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.lib</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.dso</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                    <SETTING>
-                        <SETTING><NAME>FileExtension</NAME><VALUE>.o</VALUE></SETTING>
-                        <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
-                        <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
-                        <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
-                        <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
-                    </SETTING>
-                </SETTING>
-
-                <!-- Settings for "Build Extras" panel -->
-                <SETTING><NAME>CacheModDates</NAME><VALUE>true</VALUE></SETTING>
-                <SETTING><NAME>DumpBrowserInfo</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>CacheSubprojects</NAME><VALUE>true</VALUE></SETTING>
-                <SETTING><NAME>UseThirdPartyDebugger</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>BrowserGenerator</NAME><VALUE>2</VALUE></SETTING>
-                <SETTING><NAME>DebuggerAppPath</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>DebuggerCmdLineArgs</NAME><VALUE/></SETTING>
-                <SETTING><NAME>DebuggerWorkingDir</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>CodeCompletionPrefixFileName</NAME><VALUE/></SETTING>
-                <SETTING><NAME>CodeCompletionMacroFileName</NAME><VALUE/></SETTING>
-
-                <!-- Settings for "Debugger Target" panel -->
-                <SETTING><NAME>ConsoleEncoding</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>LogSystemMessages</NAME><VALUE>true</VALUE></SETTING>
-                <SETTING><NAME>AutoTargetDLLsPopUp</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>StopAtWatchpoints</NAME><VALUE>true</VALUE></SETTING>
-                <SETTING><NAME>PauseWhileRunning</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>PauseInterval</NAME><VALUE>5</VALUE></SETTING>
-                <SETTING><NAME>PauseUIFlags</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>AltExePath</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>StopAtTempBPOnLaunch</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>CacheSymbolics</NAME><VALUE>true</VALUE></SETTING>
-                <SETTING><NAME>TempBPFunctionName</NAME><VALUE>E32Main</VALUE></SETTING>
-                <SETTING><NAME>TempBPType</NAME><VALUE>1</VALUE></SETTING>
-
-                <!-- Settings for "Remote Debug" panel -->
-                <SETTING><NAME>Enabled</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>ConnectionName</NAME><VALUE/></SETTING>
-                <SETTING><NAME>DownloadPath</NAME><VALUE/></SETTING>
-                <SETTING><NAME>LaunchRemoteApp</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>RemoteAppPath</NAME><VALUE/></SETTING>
-                <SETTING><NAME>CoreID</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>JTAGClockSpeed</NAME><VALUE>8000</VALUE></SETTING>
-                <SETTING><NAME>IsMultiCore</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>OSDownload</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>UseGlobalOSDownload</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>OSDownloadConnectionName</NAME><VALUE/></SETTING>
-                <SETTING><NAME>OSDownloadPath</NAME><VALUE/></SETTING>
-                <SETTING><NAME>AltDownload</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>AltDownloadConnectionName</NAME><VALUE/></SETTING>
-
-                <!-- Settings for "x86 Exceptions" panel -->
-                <SETTING><NAME>MWDebugger_X86_Exceptions</NAME>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                    <SETTING><VALUE>0</VALUE></SETTING>
-                </SETTING>
-                
-                <!-- Settings for "Auto-target" panel -->
-                <SETTING><NAME>OtherExecutables</NAME><VALUE/></SETTING>
-
-                <!-- Settings for "Analyzer Connections" panel -->
-                <SETTING><NAME>AnalyzerConnectionName</NAME><VALUE/></SETTING>
-
-                <!-- Settings for "Custom Keywords" panel -->
-                <SETTING><NAME>CustomColor1</NAME>
-                    <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
-                    <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
-                    <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>CustomColor2</NAME>
-                    <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
-                    <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
-                    <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>CustomColor3</NAME>
-                    <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
-                    <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
-                    <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>CustomColor4</NAME>
-                    <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
-                    <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
-                    <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
-                </SETTING>
-
-                <!-- Settings for "ARM Debugger" panel -->
-                <SETTING><NAME>Processor</NAME><VALUE>Generic</VALUE></SETTING>
-                <SETTING><NAME>BraekPoinType_II</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>UseInitFile</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>UseConfigFile</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>IDexecutable</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>IDinitialized</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>IDuninitialized</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>IDconstant</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>SDexecutable</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>SDinitialized</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>SDuninitialized</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>SDconstant</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>VerifyMemWrites</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>ShowMPC107regs</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>InitializationFile</NAME><VALUE/></SETTING>
-                <SETTING><NAME>ConfigurationFile</NAME><VALUE/></SETTING>
-                <SETTING><NAME>BreakpointType</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>WatchpointType</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>TargetOS</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>RTOSPluginName</NAME><VALUE/></SETTING>
-                <SETTING><NAME>ByteOrderType</NAME><VALUE>0</VALUE></SETTING>
-                <PANELDATA><NAME>CodeTest SYMBIAN Instrumenter</NAME><VALUE>
-                    0200020000000100000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    000000000000000000000000433A5C0000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    000000000000000000000000637466696C657300000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    000000000000000000000000636F6465746573742E6964620000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    0000000000000000000000000000000000000000000000000000000000000000
-                    000000000000000000000000
-                </VALUE></PANELDATA>
-
-                <!-- Settings for "Symbian Installation" panel -->
-                <SETTING><NAME>SymbianInstallationOutputFilename</NAME><VALUE>Application.sis</VALUE></SETTING>
-                <SETTING><NAME>SymbianInstallationOutputLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>SymbianInstallationContentSearchLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\urel</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-                <SETTING><NAME>SymbianInstallationPassword</NAME><VALUE/></SETTING>
-                <SETTING><NAME>SymbianInstallationCreateStubFile</NAME><VALUE>false</VALUE></SETTING>
-
-                <!-- Settings for "Symbian Installer Panel v2" panel -->
-                <SETTING><NAME>SymbianInstallationOutputFilename</NAME><VALUE>Application.sis</VALUE></SETTING>
-                <SETTING><NAME>SymbianInstallationOutputLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>SymbianInstallationContentSearchLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\urel</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-                <SETTING><NAME>SymbianInstallationPassword</NAME><VALUE/></SETTING>
-                <SETTING><NAME>SymbianInstallationCreateStubFile</NAME><VALUE>false</VALUE></SETTING>
-
-                <!-- Settings for "Symbian Resource Panel" panel -->
-                <SETTING><NAME>SymbianResourcesMMPFileLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>s60\mw\devicecontentservices\devicediagnostics\diagnosticsfw\diagresultsdb\Server\group</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-                <SETTING><NAME>SymbianResourcesBinaryOutputLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\urel</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-                <SETTING><NAME>SymbianResourcesHeaderFileOutputLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-
-                <!-- Settings for "Symbian Resources Panel v2" panel -->
-                <SETTING><NAME>SymbianResourcesMMPFileLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>s60\mw\devicecontentservices\devicediagnostics\diagnosticsfw\diagresultsdb\Server\group</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-                <SETTING><NAME>SymbianResourcesBinaryOutputLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\urel</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-                <SETTING><NAME>SymbianResourcesHeaderFileOutputLocation</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-
-                <!-- Settings for "Remote Download" panel -->
-                <SETTING><NAME>FileList</NAME><VALUE/></SETTING>
-
-                <!-- Settings for "Symbian ARM Debugger" panel -->
-                <SETTING><NAME>Processor</NAME><VALUE>Generic</VALUE></SETTING>
-                <SETTING><NAME>UseInitFile</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>UseConfigFile</NAME><VALUE>0</VALUE></SETTING>
-                <SETTING><NAME>ResetTarget</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>InitializationFile</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>ConfigurationFile</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>TargetOS</NAME><VALUE>1</VALUE></SETTING>
-                <SETTING><NAME>RTOSPluginName</NAME><VALUE/></SETTING>
-
-                <!-- Settings for "Symbian Common Panel" panel -->
-                <SETTING><NAME>ShowCommandLine</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>SymbianEpocToolsPath</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE></VALUE></SETTING>
-<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-<SETTING><NAME>PathRoot</NAME><VALUE>2 SDKTube</VALUE></SETTING>
-</SETTING>
-
-                <!-- Settings for "Symbian Compiler Panel" panel -->
-                <SETTING><NAME>PrefixFile</NAME><VALUE>feature_settings.hrh</VALUE></SETTING>
-                <SETTING><NAME>CompilerXMLDescriptor</NAME><VALUE>Metrowerks x86 Compiler</VALUE></SETTING>
-                <SETTING><NAME>Macros</NAME><VALUE>__SYMBIAN32__,__CW32__,__WINS__,__WINSCW__,__EXE__,NDEBUG,_UNICODE,__SUPPORT_CPP_EXCEPTIONS__,</VALUE></SETTING>
-                <SETTING><NAME>CodeTEST</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>EnableSWIC</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>Arguments</NAME><VALUE>-wchar_t off -align 4 -warnings on -w nohidevirtual, nounusedexpr -msgstyle gcc -enum int -str pool -exc ms -trigraphs on -O4,s -nostdinc</VALUE></SETTING>
-                <SETTING><NAME>CIAArgs</NAME><VALUE/></SETTING>
-
-                <!-- Settings for "Symbian Debugging" panel -->
-                <SETTING><NAME>Parse Log File</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>Log File Path</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>Symbian SDK Folder</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>Log Unresolved Modules</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>Log Unresolved Sym Files</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>Debug Non-XIP Executables</NAME><VALUE>false</VALUE></SETTING>
-
-                <!-- Settings for "Symbian Kernel Debugging" panel -->
-                <SETTING><NAME>Start Address</NAME><VALUE>0x00000000</VALUE></SETTING>
-                <SETTING><NAME>Run From Start Address</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>Download Image</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>OS Image Path</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>Download Address</NAME><VALUE>0x00000000</VALUE></SETTING>
-                <SETTING><NAME>Ask First</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>Debug Bootrom</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>Bootrom Sym File</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE/></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-
-                <!-- Settings for "Symbian Linker Panel" panel -->
-                <SETTING><NAME>LinkOutputFile</NAME><VALUE>diagresultsdatabaseserver.exe</VALUE></SETTING>
-                <SETTING><NAME>LinkCmdLine</NAME><VALUE/></SETTING>
-                <SETTING><NAME>SymbianImportLibrary</NAME><VALUE>diagresultsdatabaseserver.lib</VALUE></SETTING>
-                <SETTING><NAME>canDebug</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>canRun</NAME><VALUE>true</VALUE></SETTING>
-
-                <!-- Settings for "Symbian RomBuild Panel" panel -->
-                <SETTING><NAME>CommandLine</NAME><VALUE>buildrom -D_DEBUG devkit lubbock techview -olubbock_gui.img</VALUE></SETTING>
-                <SETTING><NAME>OutputPath</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>DisplayMessages</NAME><VALUE>true</VALUE></SETTING>
-
-                <!-- Settings for "Symbian Target" panel -->
-                <SETTING><NAME>TargetArchitecture</NAME><VALUE>WINSCW</VALUE></SETTING>
-                <SETTING><NAME>LogMessages</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>SuppressWarnings</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>GenerateSymbolics</NAME><VALUE>false</VALUE></SETTING>
-                <SETTING><NAME>CompilerPrefix</NAME><VALUE/></SETTING>
-                <SETTING><NAME>CompilerCmdLine</NAME><VALUE/></SETTING>
-                <SETTING><NAME>SymbianImportLibraryPath</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-
-                <!-- Settings for "Symbian Tools" panel -->
-                <SETTING><NAME>Gnu Tools Path</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-                <SETTING><NAME>Epoc32 Tools Path</NAME>
-                    <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
-                    <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
-                    <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
-                </SETTING>
-            </SETTINGLIST>
-            <FILELIST>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbServer.mmp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>EEXE.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbServer.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbSession.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbTestRecordSubsession.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbStore.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbTestRecord.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbTestRecordHandle.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseTestRecordInfo.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>diagresultsdatabaseserver_UID_.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>euser.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>efsrv.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>estor.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>flogger.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabase.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>drmserviceapi.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>sysutil.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>centralrepository.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>diagresultsdatabaseserverWINSCWUREL.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-</FILELIST>
-            <LINKORDER>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbServer.mmp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>EEXE.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbServer.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbSession.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbTestRecordSubsession.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbStore.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbTestRecord.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbTestRecordHandle.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseTestRecordInfo.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>diagresultsdatabaseserver_UID_.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>euser.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>efsrv.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>estor.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>flogger.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabase.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>drmserviceapi.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>sysutil.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>centralrepository.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>diagresultsdatabaseserverWINSCWUREL.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-</LINKORDER>
-        </TARGET><TARGET>
-<NAME>Build All</NAME><SETTINGLIST><SETTING><NAME>Linker</NAME><VALUE>None</VALUE></SETTING>
-<SETTING><NAME>Targetname</NAME><VALUE>Build All</VALUE></SETTING>
-</SETTINGLIST>
-<FILELIST></FILELIST>
-<LINKORDER></LINKORDER>
-<SUBTARGETLIST><SUBTARGET><TARGETNAME>WINSCW UDEB</TARGETNAME></SUBTARGET>
-<SUBTARGET><TARGETNAME>WINSCW UREL</TARGETNAME></SUBTARGET>
-</SUBTARGETLIST></TARGET></TARGETLIST>
-
-    <TARGETORDER>
-<ORDEREDTARGET><NAME>WINSCW UDEB</NAME></ORDEREDTARGET>
-<ORDEREDTARGET><NAME>WINSCW UREL</NAME></ORDEREDTARGET>
-<ORDEREDTARGET><NAME>Build All</NAME></ORDEREDTARGET>
-</TARGETORDER>
-
-    <GROUPLIST><FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbServer.mmp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<GROUP><NAME>Source</NAME>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbServer.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbSession.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbTestRecordSubsession.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbStore.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbTestRecord.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbTestRecordHandle.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseTestRecordInfo.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>diagresultsdatabaseserver_UID_.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-</GROUP>
-<GROUP><NAME>Headers</NAME>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabase.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseCommon.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseItem.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabaseTestRecordInfo.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbCRDC.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbPrivateCRKeys.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbRecordEngineParam.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbRecordInfoArrayPacked.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbServer.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbSession.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbStore.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbTestRecord.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbTestRecordHandle.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDbTestRecordSubsession.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-</GROUP>
-<GROUP><NAME>Link</NAME>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>diagresultsdatabaseserverWINSCWUDEB.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>diagresultsdatabaseserverWINSCWUREL.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-</GROUP>
-<GROUP><NAME>Libraries</NAME>
-<GROUP><NAME>WINSCW</NAME>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>EEXE.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>euser.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>efsrv.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>estor.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>flogger.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>DiagResultsDatabase.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>drmserviceapi.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>sysutil.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>centralrepository.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>EEXE.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-</GROUP>
-</GROUP>
-</GROUPLIST>
-
-</PROJECT>
--- a/devicediagnosticsfw/diagresultsdb/server/inc/diagresultsdbcrdc.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Real cleanup stack for RPointerArrays.
-*                ResetAndDestroy + Close must be called, instead of just Close.
-*  libraries   : 
-*
-*/
-
-
-/**
-* Template class for destroying RPointerArrays
-*
-* @since S60 v5.0
-**/
-template <class T>
-class CleanupResetAndDestroyClose
-    {
-public:
-    inline static void PushL(T& aRef)
-        { 
-        CleanupStack::PushL(TCleanupItem(&Close,&aRef)); 
-        }
-
-    static void Close(TAny *aPtr) 
-        {
-        (STATIC_CAST(T*,aPtr))->ResetAndDestroy();
-        (STATIC_CAST(T*,aPtr))->Close();
-        }
-    };
-    
-/**
-* Use for pushing RPointerArrays onto a cleanupstack.
-*
-* @since S60 v5.0
-**/    
-template <class T>
-inline void CleanupResetAndDestroyClosePushL(T& aRef)
-    {
-    CleanupResetAndDestroyClose<T>::PushL(aRef);
-    }    
--- a/devicediagnosticsfw/diagresultsdb/server/inc/diagresultsdbserver.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,154 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Symbian OS server results database.
-*  libraries   : 
-*
-*/
-
-
-#ifndef DIAG_RESULTS_DB_SERVER_H
-#define DIAG_RESULTS_DB_SERVER_H
-
-#include "diagresultsdatabasecommon.h"
-
-//System includes
-#include <e32base.h>
-#include <f32file.h>
-
-/**
-* Results database symbian OS server class. Creates server sessions and keeps
-* track of the session counts.
-*
-* @since S60 v5.0
-**/
-class CDiagResultsDbServer : public CPolicyServer
-	{
-public:
-
-    /**
-    * Destructor
-    **/ 
-	~CDiagResultsDbServer();
-	
-	/**
-	* NewLC. 
-	* @param aPolicy Security policy that is defined at the end of this file.
-	**/
-	static void NewLC(const TPolicy &aPolicy);
-	
-	/**
-	* Create a new server session.
-	* @param aVersion version of the server.
-	* @param aMessage
-	* @return a new session.
-	**/
-	virtual CSession2 *NewSessionL(const TVersion &aVersion, const RMessage2 &/*aMessage*/) const;
-	
-	/**
-	* Run server i.e. first create cleanup stack and active scheduler. This server is CActive based.
-	* @return Symbian error code or KErrNone.
-	**/
-	static TInt RunServer();
-	static void RunServerL();
-	
-public: // New methods
-
-    /**
-    * Create object container that is needed when handling subsession.
-    * @return object container.
-    **/
-	CObjectCon* NewContainerL();
-	
-	/**
-	* Remove object container from container index.
-	* @param aCon container to be removed.
-	**/
-	void RemoveContainer(CObjectCon* aCon);
-	
-    /**
-	* Decrease session count by one. ServerSession uses this function when client dies.
-	**/
-	void DecreaseSessionCount();
-	
-	/**
-	* Increase session count by one. ServerSession uses this function when client dies.
-	**/
-	void IncreaseSessionCount();
-	
-	/**
-	* Returns the number of active sessions.
-	* @return Session count.
-	**/
-	TInt SessionCount();
-	
-	/**
-	* Custom security check. From CPolicyServer.
-	**/
-	TCustomResult CustomSecurityCheckL(const RMessage2 &aMsg, TInt &aAction, TSecurityInfo &aMissing);
-	
-protected:
-    /**
-    * Constructor.
-    * @param aPriority Priority of this server. Should be pretty high.
-    * @param aPolicy Security policy of this server.
-    **/
-	CDiagResultsDbServer(TInt aPriority, const TPolicy &aPolicy);
-
-private:
-
-    /**
-    * ConstructL.
-    **/
-	void ConstructL();
-	
-private: // Data
-
-    // For creating object container instances
-	CObjectConIx* iContainerIndex;  
-	
-	// The number of active sessions 
-	TInt iSessionCount;
-	};
-
-// Security policy definition.
-// ReadDeviceData + WriteDeviceData is needed.
-const CPolicyServer::TPolicyElement elements[] = 
-	{
-		{_INIT_SECURITY_POLICY_C2(ECapabilityReadDeviceData, ECapabilityWriteDeviceData),
-			 CPolicyServer::EFailClient},
-	};
-
-const TInt ranges[2] = 
-		{
-		0,
-		DiagResultsDbCommon::ENotSupported,
-		
-		};
-
-const TUint8 elementsIndex[2] = 
-		{
-		CPolicyServer::ECustomCheck, //ReadDeviceData + WriteDeviceData for all clients.
-        CPolicyServer::ENotSupported,
-		};
-
-const CPolicyServer::TPolicy policy = 
-	{
-	CPolicyServer::EAlwaysPass,	// on connect
-	2,		// range count
-	ranges, 
-  	elementsIndex,
-	elements,
-  	};    
-    
-#endif //DIAG_RESULTS_DB_SERVER_H
\ No newline at end of file
--- a/devicediagnosticsfw/diagresultsdb/server/inc/diagresultsdbsession.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,273 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Symbian OS server session.
-*  libraries   : 
-*
-*/
-
-
-#ifndef DIAGRESULTSDBSESSION_H
-#define DIAGRESULTSDBSESSION_H
-
-class CDiagResultsDbServer;
-class CDiagResultsDbTestRecord;
-
-#include "diagresultsdbstore.h"
-
-//System includes
-#include <e32cmn.h> //TUid
-#include <e32base.h>
-
-/**
-* Server session. Represents a session (version 2) 
-* for a client thread on the server-side.
-*
-* @since S60 v5.0
-**/
-class CDiagResultsDbSession : 
-                        public CSession2, 
-                        public MRecordLoadingObserver
-	{
-public:
-
-    /**
-    * Destructor.
-    **/
-	~CDiagResultsDbSession();
-		
-	/**
-	* NewL. 
-	*
-	* @param aServer Server object.
-	* @return DB session.
-	**/	
-	static CDiagResultsDbSession* NewL(CDiagResultsDbServer * aServer);
-	
-public: // From CSession
-    
-    /**
-    * Handles the servicing of a client request that has been 
-    * passed to the server.
-    *
-    * @param aMessage The message containing the details of the client request.
-    **/
-	void ServiceL(const RMessage2 &aMessage);
-
-public: // New methods
-
-    /**
-    * Handle the client message.
-    *
-    * @param aMessage Details of the client request.
-    * @return ETrue if client request is asynchronous, EFalse is synchronous.
-    **/
-	TBool DispatchMessageL(const RMessage2 &aMessage);
-	
-	/**
-	* Create a new subsession.
-	*
-	* @param aTestRecord Test record that represents the subsession.
-	**/
-	void CreateSubsessionL(CDiagResultsDbTestRecordHandle* aTestRecordHandle,
-	                       TBool aReadonly );
-	
-	/**
-	* Close the subsession.
-	**/
-	void CloseSubsessionL();
-   
-    /**
-    * Returns the Uid of the results database file.
-    *
-    * @return TUid of the database file.
-    **/
-    TUid DbUid() const;
-    
-    /**
-    * Returns the results store.
-    *
-    * @return Results store.
-    **/
-    CDiagResultsDbStore& Store();
-    
-    /**
-    * Helper function to read buffer from client side.
-    *
-    * @param aMessage Details of the client request.
-    * @param aParam Message argument number.
-    * @param aBuffer Buffer that is filled with client side data.
-    **/
-    void ReadBufferL(const RMessage2& aMessage, TInt aParam, 
-                     CBufFlat*& aBuffer);
-    
-    /**
-    * Subsession must tell to the session has it written data.
-    **/
-    void HasWritten();
-            
-    /**
-    * Indicates has the session wrote any data.
-    * @return ETrue if session has wrote data, EFalse otherwise.
-    **/
-    TBool SessionHasWritten() const;    
-    
-    /**
-    * Turn off compacting. For example KErrDiskFull causes compacting to fail.
-    **/
-    void DoNotCompact();   
-    
-    
-public: //From MRecordLoadingObserver
-    
-    /**
-    * Returns an array of test records. Contains all test records 
-    * from a single database file.
-    *
-    * @param aError Indicates if there were any errors.
-    * @param aArray An array of test records. Ownership is transferred.
-    **/
-    void ExistingRecordsL( TInt aError, 
-                           RPointerArray<CDiagResultsDbTestRecord>* aArray );
-    
-protected: // service functions for client requests    
-           // Look at DiagResultsDatabaseCommon.h for the client requests.
-
-    void ConnectSubsessionL( const RMessage2 &aMessage );
-     
-    void CreateNewRecordL ( const RMessage2 &aMessage );
-    
-    void GetLastRecordL( const RMessage2 &aMessage );
-    
-    void GetLastNotCompletedRecordL( const RMessage2 &aMessage );
-    
-    void GetRecordListL( const RMessage2 &aMessage );
-    
-    void GetRecordInfoListL( const RMessage2 &aMessage );
-    
-    void GetLastResultsL( const RMessage2 &aMessage );
-    
-    void CancelLastResultsL(const RMessage2 &aMessage);
-    
-    void GetSingleLastResultL( const RMessage2 &aMessage );
-    
-private:
-
-    /**
-	* Constructor.
-	*
-	* @param aServer Server object.
-	**/
-	CDiagResultsDbSession(CDiagResultsDbServer * aServer);
-
-    /**
-    * ConstructL.
-    **/
-	void ConstructL();
-	
-	/**
-	* Find database item from the array based on uid.
-	*
-	* @param aUid Uid of the database item.
-	* @param aArray Pointer array that contains test records.
-	* @return Database item or NULL if not found.
-	**/
-	CDiagResultsDatabaseItem* FindDatabaseItemL( 
-	                        TUid aUid, 
-	                        RPointerArray<CDiagResultsDbTestRecord>* aArray );
-	
-    /**
-	* Search for the newest test results.
-	*
-	* @param aUidArray Contains the uids to be searched.
-	* @param aTestRecordArray Contains all test records.
-	* @param aResultsArray Contains the found results or NULL if the test 
-	*                      result was not found.	
-	**/                        
-    void SearchLastResultsL( 
-                         const CArrayFixFlat<TUid>& aUidArray, 
-                         RPointerArray<CDiagResultsDbTestRecord>& aTestRecordArray, 
-                         RPointerArray<CDiagResultsDatabaseItem>& aResultsArray );
-        
-    /**
-    * Reads uids that are searched from the buffer and creates the test result array.
-    *
-    * @param aArray Contains all test records.
-    **/                         
-    void FindLastResultsL( RPointerArray<CDiagResultsDbTestRecord>& aArray );     
-    
-    /**
-    * Read last results buffer if there would be any additional test results.
-    *
-    * @param aUidArray Test results to be searched.
-    * @param aResultsArray results array. Found test results are appended into this.
-    **/
-    void CheckLastResultsBufferL( 
-                         const CArrayFixFlat<TUid>& aUidArray,                           
-                         RPointerArray<CDiagResultsDatabaseItem>& aResultsArray );
-    
-    /**
-    * Read last results buffer if there would be any additional test results.
-    *
-    * @param aTestUid UID to be searched from the last buffer.
-    * @param aResult Returns the last result if found. Otherwise NULL.
-    **/
-    void CheckLastResultsBufferL(
-                         TUid aTestUid,                           
-                         CDiagResultsDatabaseItem*& aResult );
-                        	                        
-	
-private: // Data
-
-    // Server pointer.
-	CDiagResultsDbServer *iServer;
-	
-	// Counts subsession.
-	CObjectCon* iSubsessionContainer;
-	
-	// Index to the container.
-	CObjectIx* iSubsessionIndex; 
-	
-	// Client request details.
-	RMessage2 iMsg;
-	
-	//Indicates are we handling InitiateGetLastResults or InitiateGetLastResult
-	TInt iLastResultCommand;
-	
-	// This is needed when InitiateGetLastResults is called.
-	RMessage2 iLastResultsMsg;
-	
-    // This is needed when InitiateGetLastResult is called.
-	RMessage2 iLastSingleResultsMsg;
-    
-    // Database uid. 
-    TUid iDbUid; 
-    
-    // Contains the permanent file store.
-    CDiagResultsDbStore* iStore;
-    
-    // GetLastResultsL operation needs this.
-    RPointerArray<CDiagResultsDatabaseItem>* iBufferedLastResults;
-    
-    // Contains buffered test result.
-    // 
-    CDiagResultsDatabaseItem* iBufferedSingleResult;
-    
-    // Indicates has this session wrote any data.
-    TBool iHasWrittenData;
-    
-    // Dynamic flat buffer for transmitting data across IPC.
-    CBufFlat* iBuffer;
-	};
-
-#endif // DIAGRESULTSDBSESSION_H
--- a/devicediagnosticsfw/diagresultsdb/server/inc/diagresultsdbstore.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,453 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Permanent File Store for diagnostics test records.
-*  libraries   : 
-*
-*/
-
-
-#ifndef DIAGRESULTSDBSTORE_H
-#define DIAGRESULTSDBSTORE_H
-
-//System includes
-#include <s32file.h> //CPermanentFileStore
-#include <f32file.h> //Rfs, RFile
-#include <e32base.h>
-
-class CDiagResultsDatabaseItem;
-class CDiagResultsDbTestRecord;
-class CDiagResultsDbTestRecordHandle;
-class TDiagResultsDatabaseTestRecordInfo;
-class CDiagResultsDbRecordEngineParam;
-
-/**
-* An interface that must be implemented in order to call
-* ExistingRecordsAsyncL that is an asynchronous method.
-*
-* @since S60 v5.0
-**/
-class MRecordLoadingObserver
-    {
-public:
-    /**
-    * Returns an array of test records. Contains all test records from a 
-    * single database file.
-    *
-    * @param aError Indicates if there were any errors.
-    * @param aArray An array of test records. Ownership is transferred.
-    **/
-    virtual void ExistingRecordsL( TInt aError, 
-                       RPointerArray<CDiagResultsDbTestRecord>* aArray ) = 0;
-   
-    };
-    
-/**
-* An interface that must be implemented in order to call CompleteRecordAsyncL.
-*
-* @since S60 v5.0
-**/    
-class MRecordCompletionObserver
-    {
-public:
-
-    /**
-    * This is called when test record is completed.
-    *
-    * @param aError Symbian error code or KErrNone.
-    **/
-    virtual void CompletedRecordL( TInt aError ) = 0;
-    };    
-
-/**
-* Permanent file store class that manipulates results database file.
-* Database files are saved under server's private directory. 
-* For example epoc32\WINSCW\C\private\10282cd9\ in WINSCW.
-* Provides functions to load, save, compact and cleanup data.
-*
-* Files have format [UID].dat e.g. [21234563].dat
-*
-* Stream Ids of the test record handle are stored into the root stream.
-* Handles contain the stream ids to the test results.
-*
-* Implementation uses 3 kinds of streams:
-* 1) root stream 
-* 2) Test record handle stream
-* 3) Test result stream
-* 4) Last results buffer (buffer for overflowing test results)
-*
-* In order to retrieve a test result, we must first know which record
-* is needed and then ask from the handle where test result is. 
-* Of course we can browse all test records, because root stream
-* contains stream ids into test record handles.
-*
-* @since S60 v5.0
-**/
-class CDiagResultsDbStore : public CActive
-	{
-public:
-
-    /**
-    * Destructor
-    **/
-	~CDiagResultsDbStore();
-	
-	/**
-	* NewL.
-	*
-	* @param aUid UID of the database file. This class manipulates only one 
-	*             database file at a time. If multiple database files needs
-	*             to be open, use another instance.
-	* @return New object.
-	**/
-	static CDiagResultsDbStore* NewL( TUid aUid );
-    static CDiagResultsDbStore* NewLC( TUid aUid );
-	
-	/**
-	* Create and return a new record. Ownership is transferred.
-	*
-	* @return a new test record.
-	**/
-    CDiagResultsDbTestRecordHandle* CreateNewRecordL( 
-                             CDiagResultsDbRecordEngineParam* aEngineParam );
-    
-    /**
-    * Write test record into the database.
-    *
-    * @param aHandle The test record to be written into the database.
-    * @return KErrNone or symbian error code.                        
-    **/
-    TInt CompleteRecord( CDiagResultsDbTestRecordHandle& aHandle );
-               
-    /**
-    * Write one test item into the DB.
-    *
-    * @param aCommit Indicates should we commit the store.
-    * @param aHandle Handle that is updated to contain the item.
-    * @param aTestItem An item to be added.
-    *
-    * @return Symbian error code or KErrNone.
-    **/                         
-    TInt CompleteTestResult( TBool aCommit, 
-                             CDiagResultsDbTestRecordHandle& aHandle, 
-                             CDiagResultsDatabaseItem& aTestItem );                         
-                                                                                                           
-    /**
-    * Search database for a test record handle.
-    * Handle does not contain test results directly. It only contains
-    * stream ids to the test results and general record info.
-    *
-    * @param aUid test record is searched based on the uid.
-    * @return The found test record or NULL.
-    **/
-    CDiagResultsDbTestRecordHandle* OpenExistingHandleL( TUid aUid );
-    
-    
-    /**
-    * Search database for a test record.
-    *
-    * @param aUid test record is searched based on the uid.
-    * @param aReadOnly indicates should we allow writing.
-    * @return The found test record or NULL.
-    */
-    CDiagResultsDbTestRecord* OpenExistingRecordL( TUid aUid, 
-                                                   TBool aReadOnly );
-    
-    /**
-    * Opens a single database item. 
-    * @param aId Stream id that represents the item.
-    *
-    * @return The found item or NULL.
-    **/
-    CDiagResultsDatabaseItem* OpenExistingTestResultL( TStreamId aId );
-       
-    /**
-    * Returns all record infos. Client is responsible for deleting the array.
-    *
-    * @return Record info array.
-    **/
-    RArray<TDiagResultsDatabaseTestRecordInfo>* ExistingRecordInfosL();
-    
-    /**
-    * Retrieve all test records from the database asynchronously.
-    *
-    * @param aObserver Observer is notified after test records have 
-    *                  been loaded.
-    **/
-    void ExistingRecordsAsyncL( MRecordLoadingObserver& aObserver );
-    
-
-        
-    /**
-    * Open last results buffer. It contains the test results that would have
-    * been otherwise deleted. These are needed when all last results are
-    * retrieved. Use with CleanUpDatabaseUseLastResultsBufferL.
-    *
-    * @return Test record. 
-    **/
-    CDiagResultsDbTestRecord* OpenExistingLastResultsBufferL(); 
-    
-    /**
-    * Compacts database to have only necessary information. This should be 
-    * done as often as necessary after writing. Compacting should not be
-    * done after reading!
-    * However note that this operation could take a long time. 
-    **/
-    void CompactDatabase();
-    
-	/**
-	 * Cleanup database. Used deletion algorithm is taken from the
-	 * Central Repository.
-	 *
-	 * @param aCommit ETrue commits the store.
-	 **/ 	   
-	void CleanUpDatabaseL( TBool aCommit );
-    
-    /**
-    * Read available test record handle uids.
-    *
-    * @param aUids Contains available test record handle uids.
-    **/
-    void RecordUidsL( RArray<TUid>& aUids );
-    
-protected: //From CActive
-    
-    /**
-    * Called from CActive::Cancel.
-    **/
-    virtual void DoCancel();
-
-    /**
-    * Asynchronous service function.
-    **/
-    virtual void RunL();
-    
-    /**
-    * Called if error happens in RunL.
-    **/
-    virtual TInt RunError(TInt aError);
-    
-private:     
-    
-	/**
-	 * Cleanup database to have only certain amount of test records 
-	 * inside per each database file.
-	 *
-	 * @param aCommit ETrue commits the store.
-	 **/ 	   
-	void CleanUpDatabaseNoLastResultsL( TBool aCommit );
-       
- 	/**
- 	 * Cleanup database and move some of the test results into the
- 	 * last results buffer. This function guarantees that the DB
- 	 * keeps last results. CleanUpDatabase does not do that.    
- 	 *
- 	 * @param aCommit ETrue commits the store. 
- 	 **/ 
- 	void CleanUpDatabaseUseLastResultsBufferL( TBool aCommit );
-
-    /**
-    * Read all stream ids from the root stream.
-    * 
-    * @param aIds StreamId array.
-    **/    
-    void ReadRootStreamL( RArray<TStreamId>& aIds );
-        
-    /**
-    * Create empty root stream.
-    *
-    * @param aStore Root stream is created into this store.
-    **/
-    void CreateEmptyRootStreamL( CPermanentFileStore& aStore );
-    
-    /**
-    * Replace root stream with an array.
-    *
-    * @param aArray Array that replaces any existing root stream.
-    **/
-    void ReplaceRootStreamL( RArray<TStreamId>& aArray );
-    
-    /**
-    * Write test record into the database file.
-    *
-    * @param aCompletedRecord is the record closed/completed or not.
-    * @param aCommit Commit the store or not.
-    * @param aTestRecord The test record to be written into the file.
-    **/
-    void DoCompleteRecordL( CDiagResultsDbTestRecordHandle& aHandle );
-                        
-    /**
-    * Complete test result i.e. write it into the store.
-    * @param aHandle Handle to be written.
-    * @param aTestItem Contains test results that are written into the store.
-    **/                            
-    void DoCompleteTestResultL( TBool aCommit, 
-                                CDiagResultsDbTestRecordHandle& aHandle, 
-                                CDiagResultsDatabaseItem& aTestItem );                            
-                                   
-    
-    /**
-    * Constructor.
-    * 
-    * @param aDbUid Database file uid.
-    **/
-    CDiagResultsDbStore( TUid aDbUid );
-    
-    /**
-    * ConstructL.
-    **/
-    void ConstructL();
-    
-    /**
-    * Complete own request is needed in some cases because this class uses 
-    * CActive to partition tasks into smaller pieces. This function completes
-    * TRequestStatus so that the RunL is called.
-    **/
-    void CompleteOwnRequest();
-    
-    //State of this class. These are used only in asynchronous methods.
-    enum EState
-        {
-        ENotRunning,
-        EGetRootStream,
-        EGetRecord,
-        ERecordsReady,
-        };
-    
-    enum EDeletionAlgorithm
-        {
-        EMaxRecordCountAlgorithm,
-        ELastResultsAlgorithm,
-        };
-     
-     /**
-     * Write handle into the store. Handle knows where test results are.
-     * @param aHandle The handle that is written into the store.
-     **/   
-     void WriteHandleIntoDbL( CDiagResultsDbTestRecordHandle& aHandle );
-     
-     
-     /**
-     * Append one ID into the root stream.
-     * @param aId ID to be added.
-     **/
-     void AppendRootStreamL( TStreamId& aId );
-     
-          
-     /**
-     * Deletes the oldest handle from the store.
-     *
-     * @param aIds Root stream.
-     **/
-     void DeleteOldestHandleL( RArray<TStreamId>& aIds );
-             
-     /**
-     * Delete handle and its test results.
-     *
-     * @param aIndex Index of the handle in the root stream.
-     * @param aIds Root stream.
-     * 
-     **/             
-     void DeleteHandleL( TInt aIndex, RArray<TStreamId>& aIds );
-     
-     /**
-     * Create last results buffer. It can be used to store test results
-     * that would be deleted otherwise. 
-     **/
-     void CreateLastResultsBufferStreamL();
-     
-     /**
-     * Open test record handle and its test results.
-     *
-     * @param aId Handle root stream ID.
-     * @param aRecord Returned test record.
-     * @param aHandle Returned test record handle.
-     **/
-     void OpenExistingRecordAndHandleL( TStreamId aId, 
-                                        CDiagResultsDbTestRecord*& aRecord,
-                                        CDiagResultsDbTestRecordHandle*& aHandle );
-
-    /**
-    * Check last results buffer and add test results into it if needed.
-    *
-    * @param aIds Root stream.
-    **/                                        
-     ///@@@KSR: changes for Codescanner error val = High 
-     //void CheckOverflowingTestResults( RArray<TStreamId>& aIds );
-     void CheckOverflowingTestResultsL( RArray<TStreamId>& aIds );
-
-    /**
-     * Return maximum file size defined in the Central Repository.
-     * This can be used to prevent a DB file from using too much disk space.
-     * 
-     * @return Maximum file size in bytes.
-     **/
-    TInt GetMaximumFileSizeL();
-    
-    /**
-     * Return the deletion algorithm defined in the central repository.
-     * 
-     * @return The type of the deletion algorithm.
-     **/
-    TInt GetDeletionAlgorithmL();
-    
-    /**
-     * Get maximum file size from the central repository and check the file size.
-     * 
-     * @param aRfs Opened file server session.
-     * @param aFileName File name of the DB file.
-     * @param aFileSize Size of the DB file in bytes.
-     **/
-    void CheckMaximumFileSizeLimitL( RFs& aRfs, 
-			  						 const TDesC& aFileName,
-			  						 TInt aFileSize );
-
-private: // Data
-
-    // Store that is owned by this class. Performs many file manipulation operations.
-	CPermanentFileStore* iStore;  
-    
-    // File DB uid. [UID].dat
-    TUid iDbUid;
-
-    // File server session
-    RFs iRfs;
-    
-    // The database file.
-    RFile iFile;
-    
-    // Loading observer to be notified async.
-    MRecordLoadingObserver* iLoadingObserver;
-    
-    // Completion observer (notified async).
-    MRecordCompletionObserver* iCompletionObserver;
-    
-    // Pointer to test record arrays. Used in async methods.
-    RPointerArray<CDiagResultsDbTestRecord>* iRecordArray;
-    
-    // Contains available record ids. Used in async methods.
-    RArray<TStreamId>* iRecordIds;
-    
-    // Used in async methods to remember what record was loaded.
-    TInt iRecordNumber;
-    
-    // Contains the test record to be completed (Used only in async methods).
-    CDiagResultsDbTestRecord* iTestRecord;
-    
-    // State of the asynchronous operation.
-    EState iState;
-    
-    EDeletionAlgorithm iDeletionAlgorithm;
-	};
-
-#endif // DIAGRESULTSDBSTORE_H
--- a/devicediagnosticsfw/diagresultsdb/server/inc/diagresultsdbtestrecord.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Represents test record.
-*  libraries   : 
-*
-*/
-
-
-#ifndef DIAGRESULTSDBTESTRECORD_H
-#define DIAGRESULTSDBTESTRECORD_H
-
-#include "diagresultsdatabaseitem.h"
-#include "diagresultsdatabasetestrecordinfo.h"
-
-/**
-* Class represents a test record. Contains N amount of 
-* test results (CDiagResultsDatabaseItem).
-*
-* @since S60 v5.0
-**/
-class CDiagResultsDbTestRecord : public CBase
-	{
-public:
-
-    /**
-    * Destructor.
-    **/
-	~CDiagResultsDbTestRecord();
-    
-    /**
-    * NewL.
-    * 
-    * @param aReadOnly Indicates are we creating already completed test record.
-    * @param aRecordUid The Uid of this test record. The test record can be
-    *                   searched based on the UID. Very important to remember.
-    * @param aDbUid Identifies what DB file the test record should be written 
-    *               to (when test record is completed).
-    * @return New record.
-    **/
-	static CDiagResultsDbTestRecord* NewL( TBool aReadOnly, 
-	                                       TUid aRecordUid );
-
-    /**
-    * Return overview of the test record. 
-    *
-    * @return Overview of the test record.
-    **/
-    //TDiagResultsDatabaseTestRecordInfo& RecordInfo();
-    
-    /**
-    * Add one test result into the test record.
-    *
-    * @param aItem Test result to be added.
-    **/
-    void AddL( CDiagResultsDatabaseItem* aItem );
-    
-    /**
-    * Operator that returns the database item. 
-    * Panics if index is out of boundaries.
-    *
-    * @param aIndex Index of the item in the test record.
-    * @return Test result / databaseitem.
-    **/
-    const CDiagResultsDatabaseItem& operator[] (TInt aIndex) const;
-    
-    /**
-    * Returns a pointer to a database item. 
-    *
-    * @param aIndex Index of the item in the test record.
-    * @return NULL or database item.
-    **/
-    CDiagResultsDatabaseItem* GetItem(TInt aIndex) const;
-    
-    /**
-    * Return the number of test results in the test record.
-    *
-    * @return The number of items.
-    **/
-    TInt Count() const;
-    
-    /**
-    * Indicates has the test record been written into the DB file or not.
-    *
-    * @return ETrue if the test record is written, otherwise EFalse.
-    **/
-    TBool ReadOnly() const;
-    
-    /**
-    * Remove one item from the test record. Note that the removed 
-    * item is not deleted.
-    *
-    * @param aIndex Index of the item to be removed.
-    **/
-    void RemoveL( TInt aIndex );
-    
-    /**
-    * Remove one item from the test record. 
-    *
-    * @param aTestUid UID of the test.
-    **/
-    void RemoveL( TUid aTestUid );
-    
-    /**
-    * Check is this kind of test result already in the test record.
-    * Matching is done using test result UID.
-    *
-    * @param aItem The item to be searched.
-    * @return Index in the record or -1 if not found.
-    **/    
-    TInt FindTestRecord( const CDiagResultsDatabaseItem& aItem ) const;
-    
-    CDiagResultsDatabaseItem* FindTestRecord( TUid aUid );
-            
-private:     
-
-    /**
-    * Constructor.
-    *
-    * @param aReadOnly Indicates are we creating already completed test record.
-    * @param aRecordUid The Uid of this test record. The test record can be 
-    *                   searched based on the UID. Very important to remember.
-    * @param aDbUid Identifies what DB file the test record should be written
-    *               to (when test record is completed).
-    * @return New record.
-    **/ 
-    CDiagResultsDbTestRecord( TBool aReadOnly, TUid aRecordUid );
-    
-    /**
-    * ConstructL.
-    **/   
-    void ConstructL();
-
-private: // Data
-    
-    // Array containing the test results.
-    RPointerArray<CDiagResultsDatabaseItem>  iTestArray;
-    
-    // The record uid.
-    TUid iRecordUid;
-    
-    // Database file uid.
-    //TUid iDbUid;
-    
-    // Indicates has the test record been written into the DB file.
-    TBool iReadOnly;
-	};
-
-#endif //DIAGRESULTSDBTESTRECORD_H	
-	
\ No newline at end of file
--- a/devicediagnosticsfw/diagresultsdb/server/inc/diagresultsdbtestrecordhandle.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,237 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Represents test record handle. The handle contains 
-* 			     stream ids to test results.
-*  libraries   : 
-*
-*/
-
-
-#ifndef DIAGRESULTSDBTESTRECORDHANDLE_H
-#define DIAGRESULTSDBTESTRECORDHANDLE_H
-
-#include "diagresultsdatabasetestrecordinfo.h"
-
-#include <s32std.h> //TStreamId 
-
-class CDiagResultsDbRecordEngineParam;
-
-/**
-* Test handle contains test result stream IDs.
-* Contains also general record info.
-* Stream ids can be used to store and load 
-* test results ( CDiagResultsDatabaseItem ). 
-* 
-* This class is only in the server side.
-* 
-* Handle contains one stream Id per test result that is stored.
-* Handle is stored into the root stream.
-*
-* @since S60 v5.0
-**/
-class CDiagResultsDbTestRecordHandle : public CBase
-	{
-public:
-
-    /**
-    * Maps stream ids into test case Uids.
-    **/
-    struct TTestResultHandle
-        {
-        TStreamId iStreamId;
-        TUid iTestUid;
-        };
-
-    /**
-    * Destructor.
-    **/
-	~CDiagResultsDbTestRecordHandle();
-    
-    /**
-    * NewL.
-    **/
-	static CDiagResultsDbTestRecordHandle* NewL(
-	                           TStreamId aRecordUid, 
-	                           TUid aDbUid,
-	                           CDiagResultsDbRecordEngineParam* aEngineParam );
-	                                                 
-    /**
-    * NewL.
-    **/
-	static CDiagResultsDbTestRecordHandle* NewL( RReadStream& aStream );	                                                 
-
-    /**
-    * Return overview of the test record. 
-    *
-    * @return Overview of the test record.
-    **/
-    TDiagResultsDatabaseTestRecordInfo& RecordInfo();
-    
-    
-    /**
-    * Return Engine parameters. These are needed by the
-    * Diagnostics framework.
-    *
-    * @return Engine parameters.
-    **/
-    const CDiagResultsDbRecordEngineParam& GetEngineParam() const;
-    
-    /**
-    * Root stream ID.
-    *
-    * @return StreamID that represents this handle in the root stream.
-    **/
-    TStreamId RecordId() const;
-    
-    /**
-    * Add one test result into the test record.
-    *
-    * @param aItem Test result to be added.
-    **/
-    void AddL( TTestResultHandle& aItem );
-    
-    /**
-    * Update one test result handle. Assumes
-    * that this kind of result handle already exists. 
-    * Leaves with KErrNotFound if the resulthandle is not found
-    * (checked using the UID).
-    * 
-    * @param aResultHandle Contains updated stream ID.
-    **/
-    void UpdateL( TTestResultHandle& aResultHandle );
-        
-    /**
-    * Operator that returns the database item. 
-    * Panics if index is out of boundaries.
-    *
-    * @param aIndex Index of the item in the test record.
-    * @return Test result / databaseitem.
-    **/
-    const TStreamId& operator[] (TInt aIndex) const;
-    
-    
-    /**
-    * Get result handle.
-    *
-    * @param aIndex Index of the handle.
-    * @return Return handle that corresponds the index.
-    * 
-    **/
-    TTestResultHandle Get( TInt aIndex ) const;
-    
-    /**
-    * Convert Test Uids into stream Ids. Stream ids can be used
-    * to load actual results from the store.
-    *
-    * @param aTestUid Plug-in Uid.
-    * @param aStreamId StreamId that matches plug-in Uid.
-    * @return KErrNotFound or KErrNone.
-    *
-    **/
-    TInt MatchingStreamId( TUid aTestUid, TStreamId& aStreamId ) const;
-    
-    /**
-    * Return the number of test results in the test record.
-    *
-    * @return The number of items.
-    **/
-    TInt Count() const;
-    
-    /**
-    * Remove one item from the test record. 
-    *
-    * @param aItem ID to be removed.
-    **/
-    void RemoveL( TStreamId& aItem );
-    
-    /**
-    * Remove one item from the test record. 
-    *
-    * @param aItemUid UID to be removed.
-    **/
-    void RemoveL( TUid aItemUid );
-    
-    /**
-    * Check does the handle already exist.
-    *
-    * @param aTestUid Plug-in uid to be searched.
-    * @return Index of the found plug-in uid.
-    **/
-    TInt FindIndex ( TUid aTestUid ) const;
-    
-    /**
-    * Check does the handle already exist.
-    *
-    * @param aTestUid Plug-in Uid to be searched.
-    * @return ETrue if plug-in Uid is found, EFalse otherwise.
-    **/
-    TBool Find ( TUid aTestUid ) const;
-        
-    /**
-    * Externalize the test result to a stream.
-    *
-    * @param aStream   Stream to write to.
-    */
-    void ExternalizeL( RWriteStream& aStream ) const; 
-            
-private:     
-
-    /**
-    * Constructor.
-    **/ 
-    CDiagResultsDbTestRecordHandle(
-                              TStreamId aRecordUid, 
-	                          TUid aDbUid,
-	                          CDiagResultsDbRecordEngineParam* aEngineParam );
-	                                   
-	/**
-    * Constructor.
-    **/ 
-    CDiagResultsDbTestRecordHandle();
-	                                   
-    /**
-    * ConstructL.
-    **/   
-    void ConstructL();
-    
-    /**
-    * ConstructL.
-    **/   
-    void ConstructL( RReadStream& aStream );
-    
-    /**
-    * Internalize the test result from a stream.
-    *
-    * @param aStream   Stream to read from.
-    */
-    void InternalizeL( RReadStream& aStream );
-
-private: // Data
-
-    // Test record overview.
-    TDiagResultsDatabaseTestRecordInfo  iTestRecordInfo;
-    
-    // Array containing the streans IDs of test results.
-    // These can be used to reload test records.
-    RArray<TTestResultHandle>  iHandleArray;
-    
-    // Represents root stream ID.
-    TStreamId iRecordId;
-    
-    // Engine parameters. 
-    CDiagResultsDbRecordEngineParam* iEngineParam;
-	};
-
-#endif //DIAGRESULTSDBTESTRECORDHANDLE_H	
-	
\ No newline at end of file
--- a/devicediagnosticsfw/diagresultsdb/server/inc/diagresultsdbtestrecordsubsession.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Symbian OS server subsession.
-*  libraries   : 
-*
-*/
-
-
-#ifndef DIAGRESULTSDBTESTRECORDSUBSESSION_H
-#define DIAGRESULTSDBTESTRECORDSUBSESSION_H
-
-//System includes
-#include <e32cmn.h> //RMessage2
-#include <e32base.h> //CObject 
-
-//Forward declarations
-class CDiagResultsDbSession;
-class CDiagResultsDbTestRecordHandle;
-class MRecordCompletionObserver;
-
-/**
-* Server Subsession 
-*
-* @since S60 v5.0
-**/
-class CDiagResultsDbTestRecordSubsession: public CObject, 
-                                          public MRecordCompletionObserver
-	{
-public:  
-
-    /**
-    * NewL.
-    * 
-    * @param aSession Main Database session.
-    * @param aTestRecord The test record that this subsession handles.
-    *                    The record is either totally empty or contains data.
-    * @param aResumeTestRecord Indicates can opened test record modified.
-    *
-    * @return Test record subsession.                    
-    **/
-	static CDiagResultsDbTestRecordSubsession* NewL(
-	                                 CDiagResultsDbSession* aSession, 
-	                                 CDiagResultsDbTestRecordHandle* aTestRecordHandle,
-	                                 TBool aReadonly
-	                                 );
-	                                 
-    /**
-    * Destructor.
-    **/
-    ~CDiagResultsDbTestRecordSubsession();
-
-    /**
-    * Handles the client request. 
-    *
-    * @param aMessage Details of the client request.
-    * @return ETrue if request was asynchronous, EFalse otherwise.
-    **/
-    TBool DispatchMessageL(const RMessage2& aMessage);
-    
-    /**
-    * Returns the test record that this subsession represents.
-    *
-    * @return The test record.
-    **/
-    CDiagResultsDbTestRecordHandle* CurrentTestRecordHandle();
-    
-    /**
-    * Returns the value that client send when connecting.
-    * ETrue = Readonly subsession.
-    * EFalse = Writable subsession.
-    **/ 
-    TBool ReadonlySubsession() const;
-    
-public: //MRecordCompletionObserver
-        
-    /**
-    * This is called when test record is completed.
-    *
-    * @param aError Symbian error code or KErrNone.
-    **/   
-    void CompletedRecordL( TInt aError );    
-
-protected:
-
-    /**
-    * C++ Constructor
-    *
-    * @param aSession Main Database session.
-    * @param aTestRecord The test record that this subsession handles.
-    *                    The record is either totally empty or contains data.
-    **/
-    CDiagResultsDbTestRecordSubsession(
-                        CDiagResultsDbSession* aSession, 
-                        CDiagResultsDbTestRecordHandle* aTestRecord,
-                        TBool aReadonly
-                        );
-                      
-    /**
-    * ConstructL.
-    **/                    
-    void ConstructL();                    
-    
-private: // Client request handling functions. 
-         // Look at DiagResultsDatabaseCommon.h for the client requests.
-
-    void LogTestResultL( const RMessage2& aMessage );
-    
-    void GetTestResultL( const RMessage2& aMessage );
-    
-    void CompleteTestRecordL( const RMessage2& aMessage );
-    
-    void GetTestResultsL( CDiagResultsDbTestRecordHandle* aTestRecord, 
-                          const RMessage2& aMessage );
-    
-    void GetTestUidsL( const RMessage2& aMessage );
-       
-    void GetEngineParamL( const RMessage2& aMessage );
-    
-    TBool Completed() const;
-    
-    void GetStatusL ( const RMessage2& aMessage );
-    
-    void SuspendTestRecordL( const RMessage2& aMessage );
-    
-    void CancelLogTestResult( const RMessage2& aMessage );
-    
-private: // Data
-
-    // Main DB session
-    CDiagResultsDbSession* iSession;
-    
-    // Test record that represents this subsession.
-    CDiagResultsDbTestRecordHandle* iTestRecordHandle;
-    
-    // Details of the client request.
-    RMessage2 iMsg;
-    
-    // Dynamic flat buffer for transmitting data across IPC.
-    CBufFlat* iBuffer;
-    
-    // Read or Write-mode 
-    TBool iReadonly;
-    
-    TBool iCompletedLogTest;
-	};
-	
-#endif // DIAGRESULTSDBTESTRECORDSUBSESSION_H	
--- a/devicediagnosticsfw/diagresultsdb/server/src/diagresultsdbserver.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,245 +0,0 @@
-/*
-* 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 "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:  Class definition of 
-*
-*/
-
-
-#include "diagresultsdatabasecommon.h"
-#include "diagresultsdbserver.h"
-#include "diagresultsdbsession.h"
-
-#include <e32base.h>
-#include <e32uid.h>
-
-//Enter any new accepted UIDs here.
-const TInt KAcceptedUids[] = 
-    { 
-    0x2000B0E8, //Phone Doctor
-    0x2000E542, //Diagnostics application
-    0x102073E4,    // STIF
-#if defined( _DEBUG ) || defined( __WINSCW__ )
-    0x10282CDA,   //Results DB test app
-    0x20000FB1,   //EUnitAppEnv
-    0x20000FB2,   //EUnitEikApp
-    0x20000FB3,   //EUnitExeEnv
-    0xED80F513,   // DiagFramework Test app
-#endif // _DEBUG || __WINSCW__
-    0x2000F8E8    // donno
-    };
-
-const TInt KAcceptedUidCount = sizeof( KAcceptedUids ) / sizeof( TInt );
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//  
-CDiagResultsDbServer::CDiagResultsDbServer(TInt aPriority, 
-                                            const TPolicy &aPolicy)
-: CPolicyServer(aPriority, aPolicy), iContainerIndex( NULL ), iSessionCount(0)
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//  
-CDiagResultsDbServer::~CDiagResultsDbServer()
-	{
-	delete iContainerIndex;
-	}
-
-// ---------------------------------------------------------------------------
-// NewLC.
-// ---------------------------------------------------------------------------
-//  
-void CDiagResultsDbServer::NewLC(const TPolicy &aPolicy)
-	{
-	CDiagResultsDbServer *pS = new CDiagResultsDbServer( 
-	                                        CActive::EPriorityHigh, aPolicy );
-	CleanupStack::PushL( pS ); 
-	pS->StartL( KDiagResultsDatabaseServerName );
-	pS->ConstructL();
-	}
-
-// ---------------------------------------------------------------------------
-// ConstructL.
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbServer::ConstructL()
-	{
-	iContainerIndex = CObjectConIx::NewL();
-	}
-
-
-// ---------------------------------------------------------------------------
-// Create a new server session.
-// ---------------------------------------------------------------------------
-// 
-CSession2 *CDiagResultsDbServer::NewSessionL(const TVersion &aVersion, 
-                                        const RMessage2 &/*aMessage*/) const
-	{
-	// check we're the right version
-	TVersion v(KDiagResultsDatabaseServerMajor, KDiagResultsDatabaseServerMinor, 
-	                                            KDiagResultsDatabaseServerBuild);
-	if( !User::QueryVersionSupported( v, aVersion ) )
-		User::Leave( KErrNotSupported );
-	// make new session
-	return CDiagResultsDbSession::NewL((CDiagResultsDbServer*)this);
-	}
-
-// ---------------------------------------------------------------------------
-// Create new object container.
-// ---------------------------------------------------------------------------
-//
-CPolicyServer::TCustomResult CDiagResultsDbServer::CustomSecurityCheckL(
-                        const RMessage2 &aMsg, 
-                        TInt &/*aAction*/, 
-                        TSecurityInfo &/*aMissing*/)
-	{
-	CPolicyServer::TCustomResult result = EFail;
-	TInt sid = aMsg.SecureId();
-
-    for ( TInt i = 0; i < KAcceptedUidCount; ++i )
-        {
-        if ( sid == KAcceptedUids[i] )
-            {
-            if ( aMsg.HasCapability( ECapabilityReadDeviceData ) &&
-	             aMsg.HasCapability( ECapabilityWriteDeviceData ) )
-	            {
-	            result = EPass;   
-	            break; 
-	            }    
-            }
-        }
-	    
-	return result;
-	}
-
-// ---------------------------------------------------------------------------
-// Create new object container.
-// ---------------------------------------------------------------------------
-//
-CObjectCon* CDiagResultsDbServer::NewContainerL()
-	{
-	return iContainerIndex->CreateL();
-	}
-	
-
-// ---------------------------------------------------------------------------
-// Remove object from a container index,
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbServer::RemoveContainer(CObjectCon* aCon)
-	{
-	iContainerIndex->Remove( aCon );
-	}	
-
-// ---------------------------------------------------------------------------
-// Return the total amount of client sessions.
-// ---------------------------------------------------------------------------
-// 	
-TInt CDiagResultsDbServer::SessionCount()
-	{
-	return iSessionCount;
-	}
-
-// ---------------------------------------------------------------------------
-// Decrease session count when one client leaves and stop server if there are
-// no more clients.
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbServer::DecreaseSessionCount()
-	{
-	iSessionCount--;
-	if (iSessionCount == 0)
-		{
-		CActiveScheduler::Stop();
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// One new session created.
-// ---------------------------------------------------------------------------
-// 	
-void CDiagResultsDbServer::IncreaseSessionCount()
-	{
-	iSessionCount++;
-	}		
-    
-// ---------------------------------------------------------------------------
-// Create cleanupStack and call RunserverL.
-// ---------------------------------------------------------------------------
-// 
-TInt CDiagResultsDbServer::RunServer()
-	{
-	__UHEAP_MARK;
-	//
-	CTrapCleanup* cleanup = CTrapCleanup::New();
-	TInt ret = KErrNoMemory;
-	if( cleanup )
-		{
-		TRAP( ret, CDiagResultsDbServer::RunServerL() );
-		delete cleanup;
-		}
-	//
-	__UHEAP_MARKEND;
-	if( ret != KErrNone )
-		{
-		// Signal the client that server creation failed
-		RProcess::Rendezvous( ret );
-		}
-	return ret;
-	}
-
-// ---------------------------------------------------------------------------
-// Create active scheduler and run server.
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbServer::RunServerL()
-	{
-	User::RenameThread(KDiagResultsDatabaseServerName);
-	
-	// Create and install the active scheduler we need
-	CActiveScheduler *as=new (ELeave)CActiveScheduler;
-	CleanupStack::PushL( as );
-	CActiveScheduler::Install(as);
-
-	// Create server
-	CDiagResultsDbServer::NewLC(policy);
-
-	// Initialisation complete, now signal the client
-
-	RProcess::Rendezvous(KErrNone);
-
-	// Ready to run
-	CActiveScheduler::Start();
-
-	// Cleanup the server and scheduler
-	CleanupStack::PopAndDestroy(2, as);
-	}
-
-
-// ---------------------------------------------------------------------------
-// Main function that is called when server(.EXE) is launched.
-// ---------------------------------------------------------------------------
-// 
-TInt E32Main()
-	{
-	TInt error(KErrNone);
-	error = CDiagResultsDbServer::RunServer();
-	return error;
-	}
-
-
--- a/devicediagnosticsfw/diagresultsdb/server/src/diagresultsdbsession.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1042 +0,0 @@
-/*
-* 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 "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:  Class definition of CDiagResultsDbSession
-*
-*/
-
-
-#include "diagresultsdatabasecommon.h"
-#include "diagresultsdbsession.h"
-#include "diagresultsdbserver.h"
-#include "diagresultsdbtestrecordsubsession.h"
-#include "diagresultsdatabasetestrecordinfo.h"
-#include "diagresultsdbtestrecordhandle.h"
-#include "diagresultsdbtestrecord.h"
-#include "diagresultsdatabaseitem.h"
-#include "diagresultsdbrecordinfoarraypacked.h"
-#include "diagresultsdbcrdc.h"
-#include "diagresultsdbrecordengineparam.h"
-
-//System includes
-#include <s32mem.h>
-
-const TInt KArrayGranuality = 50;
-const TInt KResultsDatabaseBufferLength=0x700;
-
-// ---------------------------------------------------------------------------
-// constructor - must pass client to CSession
-// ---------------------------------------------------------------------------
-// 
-CDiagResultsDbSession::CDiagResultsDbSession(CDiagResultsDbServer * aServer): 
-       iServer(aServer), iSubsessionContainer( NULL ), iSubsessionIndex(NULL), 
-       iLastResultCommand( 0 ),
-       iStore(NULL), iBufferedLastResults(NULL), iBufferedSingleResult(NULL),
-       iHasWrittenData(EFalse)
-	{
-	aServer->IncreaseSessionCount();
-	}
-
-// ---------------------------------------------------------------------------
-// NewL.
-// ---------------------------------------------------------------------------
-// 
-CDiagResultsDbSession* CDiagResultsDbSession::NewL(CDiagResultsDbServer * aServer)
-	{
-	CDiagResultsDbSession* pSession= new (ELeave) CDiagResultsDbSession( aServer );
-	CleanupStack::PushL( pSession );
-	pSession->ConstructL();
-	CleanupStack::Pop();
-	return pSession;
-	}
-
-// ---------------------------------------------------------------------------
-// ConstructL.
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbSession::ConstructL()
-	{
-	iSubsessionContainer = iServer->NewContainerL();
-	iSubsessionIndex = CObjectIx::NewL();
-	
-	// buffer for IPC. Objects are transmitted in this buffer.
-	// Size of the buffer has to be selected carefully.
-	// It should be 'large enough' but not too large.
-	// If you see too many overflows, increase the size.
-	iBuffer = CBufFlat::NewL(KArrayGranuality);
-	iBuffer->ResizeL(KResultsDatabaseBufferLength);
-	}
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-// 	
-CDiagResultsDbSession::~CDiagResultsDbSession()
-	{
-    if ( iBuffer )
-        {
-        iBuffer->Reset();
-        delete iBuffer;
-        iBuffer = NULL;
-        }
-    
-	// NOTE!
-	// The deletion order is important here. You must
-	// delete object indexes first, because this zeros the
-	// number of references to any CObject type objects. Trying 
-	// to delete object container first, you get panic
-	// E32USER-CBase 33: an attempt is made to delete the CObject 
-	// when the reference count is not zero.
-	delete iSubsessionIndex;
-
-    if ( iSubsessionContainer )
-        {
-        iServer->RemoveContainer( iSubsessionContainer );
-        }
-	
-	delete iStore;
-	
-    if ( iServer )
-        {
-        iServer->DecreaseSessionCount();
-        }
-	
-	if ( iBufferedLastResults )
-	    {
-	    iBufferedLastResults->ResetAndDestroy();
-	    iBufferedLastResults->Close();
-	    delete iBufferedLastResults;
-	    iBufferedLastResults = 0;
-	    }
-	    
-    if ( iBufferedSingleResult )
-        {
-        delete iBufferedSingleResult;
-        iBufferedSingleResult = NULL;
-        }
-	}
-
-// ---------------------------------------------------------------------------
-// Service client requests.
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbSession::ServiceL(const RMessage2& aMessage)
-	{
-	LOGME("CDiagResultsDbSession::ServiceL");
-	TBool async = EFalse;
-	TRAPD( err, async = DispatchMessageL( aMessage ) );
-	LOGME1("CDiagResultsDbSession::ServiceL %d",err);
-	if ( !async ) 
-	    {
-	    aMessage.Complete( err );
-	    }
-	}
-
-// ---------------------------------------------------------------------------
-// service a client request; test the opcode and then do appropriate servicing
-// ---------------------------------------------------------------------------
-//     
-TBool CDiagResultsDbSession::DispatchMessageL(const RMessage2 &aMessage)
-	{
-	LOGME("CDiagResultsDbSession::DispatchMessageL");
-	iMsg = aMessage;
-	TInt function = aMessage.Function();
-	LOGME1("CDiagResultsDbSession::DispatchMessageL - %d",function);
-	TInt handle(0);
-	CObject* subsession = NULL;
-	switch( function )
-        {
-	case DiagResultsDbCommon::EConnect:
-	    {
-	    LOGME("CDiagResultsDbSession::EConnect");
-	    TPckgBuf<TUid> uidpckg;
-	    aMessage.Read(0, uidpckg);
-        iDbUid = uidpckg();
-        
-        iStore = CDiagResultsDbStore::NewL( iDbUid );
-		return EFalse;
-	    }
-        
-    case DiagResultsDbCommon::EClose:
-        {        
-        LOGME("CDiagResultsDbSession::EClose");
-        aMessage.Complete (KErrNone);
-                      
-        return ETrue;
-        }
-        
-    case DiagResultsDbCommon::EGetRecordCount:
-        {        
-        LOGME("CDiagResultsDbSession::EGetRecordCount");
-        RArray<TUid> uids;
-        CleanupClosePushL ( uids );
-        iStore->RecordUidsL( uids );
-        
-        TPckgBuf<TUint> pckg( uids.Count() );
-        aMessage.Write(0, pckg);
-        
-        CleanupStack::PopAndDestroy( &uids );
-        return EFalse;
-        }
-        
-	case DiagResultsDbCommon::EConnectSubsession:
-			LOGME("CDiagResultsDbSession::EConnectSubsession");
-	    ConnectSubsessionL( aMessage );
-		return EFalse;			
-		
-	case DiagResultsDbCommon::ESubsessionCreateNewRecord:
-			LOGME("CDiagResultsDbSession::ESubsessionCreateNewRecord");
-	    CreateNewRecordL( aMessage );
-	    HasWritten();
-		return EFalse;
-		
-	case DiagResultsDbCommon::ECloseSubsession:
-		LOGME("CDiagResultsDbSession::ECloseSubsession");
-		CloseSubsessionL();
-		return EFalse;
-		
-    case DiagResultsDbCommon::EGetLastRecord:  
-    		LOGME("CDiagResultsDbSession::EGetLastRecord");
-        GetLastRecordL( aMessage );
-        return EFalse;
-        
-    case DiagResultsDbCommon::EGetLastNotCompletedRecord:
-    		LOGME("CDiagResultsDbSession::EGetLastNotCompletedRecord");
-        GetLastNotCompletedRecordL( aMessage );
-        return EFalse;
-    
-    case DiagResultsDbCommon::EGetRecordList: //record uids 
-    		LOGME("CDiagResultsDbSession::EGetRecordList");
-        GetRecordListL( aMessage );
-        return EFalse;
-
-    case DiagResultsDbCommon::EGetRecordInfoList:
-    		LOGME("CDiagResultsDbSession::EGetRecordInfoList");
-        GetRecordInfoListL( aMessage );
-        return EFalse;
-
-    case DiagResultsDbCommon::EInitiateGetLastResults:  //Async
-        {     
-        LOGME("CDiagResultsDbSession::EInitiateGetLastResults");
-        ReadBufferL( aMessage, 0, iBuffer );
-               
-        iLastResultsMsg = iMsg;
-        	
-        iLastResultCommand = DiagResultsDbCommon::EInitiateGetLastResults;	
-        	
-        if ( iBufferedLastResults )
-	        {
-	        iBufferedLastResults->ResetAndDestroy();
-	        iBufferedLastResults->Close();
-	        delete iBufferedLastResults;
-	        iBufferedLastResults = 0;
-	        }
-	        
-        iStore->ExistingRecordsAsyncL( *this );
-        return ETrue;
-        }
-    
-    case DiagResultsDbCommon::EInitiateGetSingleLastResult: //Async
-        {           
-        LOGME("CDiagResultsDbSession::EInitiateGetSingleLastResult");     
-        iLastSingleResultsMsg = iMsg;
-        
-        iLastResultCommand = DiagResultsDbCommon::EInitiateGetSingleLastResult;	
-        
-        if ( iBufferedSingleResult )
-            {
-            delete iBufferedSingleResult;
-            iBufferedSingleResult = NULL;
-            }
-            
-        iStore->ExistingRecordsAsyncL( *this );
-        return ETrue;  
-        }
-    
-    
-    case DiagResultsDbCommon::EGetLastResults:    
-    		LOGME("CDiagResultsDbSession::EGetLastResults");     
-        GetLastResultsL( aMessage );
-        return EFalse;
-        
-    case DiagResultsDbCommon::EGetSingleLastResult: 
-    		LOGME("CDiagResultsDbSession::EGetSingleLastResult");        
-        GetSingleLastResultL( aMessage );
-        return EFalse;    
-        
-    case DiagResultsDbCommon::ECancelInitiateGetLastResults:
-        {
-        LOGME("CDiagResultsDbSession::ECancelInitiateGetLastResults");        
-        CancelLastResultsL( aMessage );
-        return EFalse;
-        }
-       
-	// Sub-session requests. See CDiagResultsDbTestRecordSubsession.
-    case DiagResultsDbCommon::ESubsessionGetTestRecordId:
-    case DiagResultsDbCommon::ESubsessionTestCompleted:
-    case DiagResultsDbCommon::ESubsessionIsTestCompleted:
-    case DiagResultsDbCommon::ESubsessionGetRecordInfo:
-    case DiagResultsDbCommon::ESubsessionGetTestUids:
-    case DiagResultsDbCommon::ESubsessionSuspend:
-    case DiagResultsDbCommon::ESubsessionIsSuspended:
-    case DiagResultsDbCommon::ESubsessionLogTestResult:
-    case DiagResultsDbCommon::ESubsessionGetTestResult:
-    case DiagResultsDbCommon::ESubsessionGetTestResults:
-    case DiagResultsDbCommon::ESubsessionGetEngineParam:
-    case DiagResultsDbCommon::ESubsessionGetStatus:
-    case DiagResultsDbCommon::ESubsessionCancelLogTestResult:
-    LOGME("CDiagResultsDbSession::ESubsessionCancelLogTestResult");        
-		handle = aMessage.Int3();
-		subsession = iSubsessionIndex->At( handle );
-		return static_cast<CDiagResultsDbTestRecordSubsession*>(subsession)
-		                                    ->DispatchMessageL( aMessage );
-	default:
-		aMessage.Panic( _L("DiagSrv panic: unknown command"), 
-		                    DiagResultsDbCommon::EBadRequest );
-		return EFalse;
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// Get function.
-// ---------------------------------------------------------------------------
-// 
-TBool CDiagResultsDbSession::SessionHasWritten() const
-    {
-    return iHasWrittenData;
-    }
-            
-// ---------------------------------------------------------------------------
-// Connect to a subsession. Test record represents the connected subsession.
-// ---------------------------------------------------------------------------
-//     
-void CDiagResultsDbSession::ConnectSubsessionL( const RMessage2 &aMessage )    
-    {
-    TPckgBuf<TUid> uidpckg;
-	aMessage.Read(0, uidpckg);
-    TUid recordUid = uidpckg(); 
-    
-    TPckgBuf<TBool> readOnlyPckg;
-	aMessage.Read(1, readOnlyPckg);
-    TBool readonly = readOnlyPckg();
-    
-	CDiagResultsDbTestRecordHandle* handle = iStore->OpenExistingHandleL( 
-	                                           recordUid );
-	                                           
-    if ( readonly ) 
-        {
-        // keep the record as it is.
-        }
-    else
-        {
-        if ( handle->RecordInfo().iCompleted )
-            {
-            delete handle;
-            handle = 0;
-            User::Leave( KErrAlreadyExists );
-            }
-        
-        handle->RecordInfo().iRecordStatus = 
-                TDiagResultsDatabaseTestRecordInfo::EOpen;
-        }
-	                                           
-    CreateSubsessionL( handle, readonly );
-    }
-
-// ---------------------------------------------------------------------------
-// Create a new record. This does not write data into the db file.
-// ---------------------------------------------------------------------------
-//     
-void CDiagResultsDbSession::CreateNewRecordL ( const RMessage2 &aMessage )
-    {
-    
-    ReadBufferL( aMessage, 1, iBuffer );
-    
-    RBufReadStream stream( *iBuffer );
-    CleanupClosePushL ( stream );
-    
-    CDiagResultsDbRecordEngineParam* params = 
-                            CDiagResultsDbRecordEngineParam::NewL ( stream );
-    CleanupStack::PushL( params );                         
-
-    CDiagResultsDbTestRecordHandle* handle = iStore->CreateNewRecordL( params );
-
-    handle->RecordInfo().iRecordStatus = 
-                                TDiagResultsDatabaseTestRecordInfo::EOpen;
-
-    CleanupStack::Pop(); //params    
-    CleanupStack::PopAndDestroy( &stream );
-
-	CreateSubsessionL(handle, EFalse);
-		
-	TPckgBuf<TUid> recorduidpckg( handle->RecordInfo().iRecordId );
-		
-	aMessage.Write(0, recorduidpckg );
-    }
-    
-// ---------------------------------------------------------------------------
-// Return the database file uid.
-// ---------------------------------------------------------------------------
-//      
-TUid CDiagResultsDbSession::DbUid() const
-    {
-    return iDbUid;
-    }
-
-// ---------------------------------------------------------------------------
-// Create a new subsession.
-// ---------------------------------------------------------------------------
-//     
-void CDiagResultsDbSession::CreateSubsessionL( 
-                            CDiagResultsDbTestRecordHandle* aTestRecordHandle,
-                            TBool aReadonly )
-	{
-    TInt handle(0);
-    CObject* subsession = NULL;
-    
-	// Create sub-session object
-	subsession = CDiagResultsDbTestRecordSubsession::NewL( this, 
-	                                                    aTestRecordHandle,
-	                                                    aReadonly );
-    CleanupStack::PushL( subsession );
-    iSubsessionContainer->AddL( subsession );
-    CleanupStack::Pop();
-
-	// Create sub-session handle
-	TRAPD( err, handle = iSubsessionIndex->AddL( subsession ) );
-
-	// Remember to remove session object from object container
-	if( err != KErrNone )
-		{
-		iSubsessionContainer->Remove( subsession ); 
-		User::Leave( DiagResultsDbCommon::ESvrCreateSubsession );
-		}
-
-    // Package to pass information to the client
-    TPckgC<TInt> handlePckg(handle);
-    
-    // Send handle to the client
-    TRAP( err, iMsg.WriteL( 3, handlePckg ) );
-	if( err != KErrNone )
-		{
-		iSubsessionIndex->Remove(handle);
-		User::Leave( DiagResultsDbCommon::ESvrCreateSubsession );
-		}
-
-	return;
-	}
-
-// ---------------------------------------------------------------------------
-// Close existing subsession.
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbSession::CloseSubsessionL()
-	{
-	TInt handle = iMsg.Int3();
-	iSubsessionIndex->Remove(handle);
-	}
-
-// ---------------------------------------------------------------------------
-// Return store that is responsible for handling the database file.
-// ---------------------------------------------------------------------------
-// 	
-CDiagResultsDbStore& CDiagResultsDbSession::Store()
-    {
-    return *iStore;
-    }
-
-// ---------------------------------------------------------------------------
-// Service function. Searches for newest test results. 
-//    Related functions: 
-//    ExistingRecordsAsyncL (initiates async fetch of test records)
-//    CancelLastResultsL (cancel async fetch)
-//    ExistingRecordsL (retrieves test records)
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbSession::GetLastResultsL( const RMessage2 &aMessage )
-    {
-    if ( iBufferedLastResults == NULL )
-        {
-        User::Leave ( KErrNotFound );
-        }
-       
-    ReadBufferL( aMessage, 0, iBuffer );
-      
-    RBufWriteStream stream ( *iBuffer );
-    CleanupClosePushL( stream );
-    
-    stream.WriteInt16L( iBufferedLastResults->Count() );
-    
-    for ( TInt i = 0; i < iBufferedLastResults->Count(); ++i )
-        {    
-        CDiagResultsDatabaseItem* item = (*iBufferedLastResults)[i];
-        
-        if ( item == NULL )
-            {
-            stream.WriteUint8L(0); 
-            }
-        else 
-            {
-            stream.WriteUint8L(1);
-            (*iBufferedLastResults)[i]->ExternalizeL( stream );
-            }
-        }
-
-    if ( iBuffer->Ptr(0).Length() > aMessage.GetDesMaxLength(0) )
-        {
-        User::Leave( KErrOverflow );
-        }
-   
-    stream.CommitL();
-     
-    CleanupStack::PopAndDestroy( &stream );
-    
-    aMessage.Write( 0, iBuffer->Ptr(0) ); //write to client's address space 
-         
-    iBufferedLastResults->ResetAndDestroy();
-    iBufferedLastResults->Close();
-    delete iBufferedLastResults;
-    iBufferedLastResults = NULL;   
-    }
-
-
-// ---------------------------------------------------------------------------
-// Service function. Get single test result (the newest).
-// ---------------------------------------------------------------------------
-//   
-void CDiagResultsDbSession::GetSingleLastResultL( const RMessage2 &aMessage )
-    {
-    ReadBufferL( aMessage, 0, iBuffer );
-          
-    RBufWriteStream stream ( *iBuffer );
-    CleanupClosePushL( stream );
-    
-    if ( iBufferedSingleResult )
-        {
-        stream.WriteInt8L( 1 );
-        
-        iBufferedSingleResult->ExternalizeL( stream );
-        
-        }
-    else //NULL
-        {
-        stream.WriteInt8L( 0 );
-        }
-    
-    stream.CommitL();
-    CleanupStack::PopAndDestroy( &stream );
-    
-    aMessage.Write( 0, iBuffer->Ptr(0) );
-            
-    delete iBufferedSingleResult;
-    iBufferedSingleResult = NULL;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Service function. Cancel InitiateGetLastResults method.
-// ---------------------------------------------------------------------------
-//     
-void CDiagResultsDbSession::CancelLastResultsL( const RMessage2 & /*aMessage*/ )
-    {
-      if ( !iLastResultsMsg.IsNull() )
-        {
-        iStore->Cancel();    
-        iLastResultsMsg.Complete( KErrCancel );  
-        
-        if ( iBufferedLastResults )
-            {
-            iBufferedLastResults->ResetAndDestroy();
-            delete iBufferedLastResults;
-            iBufferedLastResults = NULL;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Service function. Retrieve uid of the newest test record.
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbSession::GetLastRecordL( const RMessage2 &aMessage )
-    {
-    RArray<TUid> uids;
-    CleanupClosePushL ( uids );
-    iStore->RecordUidsL( uids );
-    
-    if ( uids.Count() == 0 )
-        {
-        User::Leave( KErrNotFound );
-        }
-    
-    TPckgBuf<TUid> pckg( uids[uids.Count() -1] ); //newest record is the last
-    aMessage.Write( 0, pckg );
-    
-    CleanupStack::PopAndDestroy( &uids );
-    }
-
-
-// ---------------------------------------------------------------------------
-// Service function. Try to find a test record that was suspended.
-// Leave with KErrNotFound if such test record is not found.
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbSession::GetLastNotCompletedRecordL( const RMessage2 &aMessage )
-    {
-    RArray<TUid> uids;
-    CleanupClosePushL ( uids );
-    iStore->RecordUidsL( uids );
-    
-    TBool found = EFalse;
-    
-    // newest record are on the top.
-	for (TInt i = uids.Count() -1; i >= 0; --i)
-	    {
-	    CDiagResultsDbTestRecordHandle* handle = 
-	                                iStore->OpenExistingHandleL( uids[i] );
-	    
-	    CleanupStack::PushL (handle);
-        
-        if( handle->RecordInfo().iRecordStatus != 
-                                 TDiagResultsDatabaseTestRecordInfo::ECompleted &&
-               !handle->RecordInfo().iCompleted )
-                                 
-            {
-            TPckgBuf<TUid> pckg( handle->RecordInfo().iRecordId ); 
-            aMessage.Write( 0, pckg );
-            found = ETrue;
-            CleanupStack::PopAndDestroy( handle );
-            break;
-            }     
-        
-        CleanupStack::PopAndDestroy( handle );
-	    }
-	
-    CleanupStack::PopAndDestroy( &uids );
-	 
-    if ( !found )
-        {
-        User::Leave ( KErrNotFound );
-        }  
-    }
-
-// ---------------------------------------------------------------------------
-// Service function. Retrieve all test record uids that there are.
-// ---------------------------------------------------------------------------
-//     
-void CDiagResultsDbSession::GetRecordListL( const RMessage2 &aMessage )
-    {    
-    ReadBufferL( aMessage, 0, iBuffer );
-   
-    RArray<TUid> uids; 
-    CleanupClosePushL( uids );
-    iStore->RecordUidsL( uids );
-    
-    RBufWriteStream stream ( *iBuffer );
-    CleanupClosePushL( stream );
-    stream.WriteInt16L( uids.Count() );
-    
-    for ( TInt i = 0; i < uids.Count(); ++i )
-        {    
-        stream.WriteInt32L( uids[i].iUid );  
-        }
-
-    if ( iBuffer->Ptr(0).Length() > aMessage.GetDesMaxLength(0) )
-        {
-        User::Leave( KErrOverflow );
-        }
-    
-    aMessage.Write( 0, iBuffer->Ptr(0) ); //write to client's address space 
-   
-    CleanupStack::PopAndDestroy( &stream );
-    CleanupStack::PopAndDestroy( &uids );
-
-    }
-
-// ---------------------------------------------------------------------------
-// Service function. Return overviews of test records.
-// ---------------------------------------------------------------------------
-//     
-void CDiagResultsDbSession::GetRecordInfoListL( const RMessage2 &aMessage )
-    {
-    ReadBufferL( aMessage, 0, iBuffer );
-    
-    CArrayFixFlat<TDiagResultsDatabaseTestRecordInfo>* array = new (ELeave) 
-        CArrayFixFlat<TDiagResultsDatabaseTestRecordInfo>(KArrayGranuality);
-    CleanupStack::PushL (array);
-    
-    RArray<TUid> uids;
-    CleanupClosePushL ( uids );
-    iStore->RecordUidsL( uids );
-    
-	for (TInt i = 0; i < uids.Count(); ++i)
-	    {
-	    CDiagResultsDbTestRecordHandle* handle = 
-	                                iStore->OpenExistingHandleL( uids[i] );
-	    
-	    CleanupStack::PushL (handle);
-        array->AppendL( handle->RecordInfo() );
-        
-        CleanupStack::PopAndDestroy( handle );
-	    }
-	
-	CleanupStack::PopAndDestroy( &uids );
-	
-    TDiagResultsDbRecordInfoArrayPacked packedArray ( iBuffer );
-    packedArray.PackArrayL ( *array );
-    
-    if ( iBuffer->Ptr(0).Length() > aMessage.GetDesMaxLength(0) )
-        {
-        User::Leave( KErrOverflow );
-        }
-	
-    aMessage.Write( 0, iBuffer->Ptr(0) ); //write to client's address space 
-   
-    CleanupStack::PopAndDestroy( array );
-    
-    }
- 
-// ---------------------------------------------------------------------------
-// Helper function to read a buffer from client side. Leaves the buffer
-// onto cleanup stack IF it has to create a new one.
-// ---------------------------------------------------------------------------
-//    
-void CDiagResultsDbSession::ReadBufferL(const RMessage2& aMessage, TInt aParam, 
-                                                            CBufFlat*& aBuffer)
-	{
-	TInt desLen = aMessage.GetDesLengthL(aParam);
-
-	if(desLen >= 0)
-		{		
-		if (aBuffer==NULL)
-			{
-			aBuffer = CBufFlat::NewL(KArrayGranuality);
-			aBuffer->ResizeL(desLen);
-			CleanupStack::PushL(aBuffer);
-			}
-		else if (desLen > aBuffer->Ptr(0).MaxLength())
-			{
-			iBuffer->Delete( 0, iBuffer->Size() ); // delete old data.
-			// we have to increase the size of aBuffer	
-			aBuffer->ResizeL(desLen);		
-			}
-
-		TPtr8 desPtr = aBuffer->Ptr(0);
-		aMessage.ReadL(aParam, desPtr);
-
-		}
-	else
-		{
-		// desLen is negative leave with an error.
-		User::Leave(KErrArgument);
-		}
-	}   
-
-// ---------------------------------------------------------------------------
-// Store observer method. This is called after store has retrieved
-// test records from the DB file.
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbSession::ExistingRecordsL( TInt aError, 
-                            RPointerArray<CDiagResultsDbTestRecord>* aArray )
-    {
-    CleanupStack::PushL ( aArray );
-    CleanupResetAndDestroyClosePushL( *aArray );
-
-    //Check if there were any errors during loading the test records.
-    if ( aError != KErrNone )
-        {
-        
-        if ( iLastResultCommand == 
-             DiagResultsDbCommon::EInitiateGetLastResults )
-            {
-            iLastResultsMsg.Complete ( aError );            
-            }
-        else if ( iLastResultCommand == 
-                  DiagResultsDbCommon::EInitiateGetSingleLastResult  )
-            {
-            iLastSingleResultsMsg.Complete ( aError );
-            }        
-        
-        CleanupStack::PopAndDestroy( aArray );
-        CleanupStack::PopAndDestroy( aArray ); //delete the pointer  
-        return;
-        }
-        	
-	switch( iLastResultCommand )
-        {
-	
-	//Find multiple last results
-	//buffer contains the uids to be searched.
-	//See RDiagResultsDatabase::InitiateGetLastResults.
-	case DiagResultsDbCommon::EInitiateGetLastResults:
-	    {
-        //Trap is needed so that we can complete client's request
-        //if any errors occur.
-        TRAPD(error, FindLastResultsL( *aArray ));	        
-	        	    
-	    if ( error != KErrNone )
-	        {	        
-	        iLastResultsMsg.Complete (error);	        
-	        break;
-	        }
-	    else 
-	        {
-	        iLastResultsMsg.Complete (KErrNone);    
-	        }
-	    	    	  
-	    break;
-	    }
-	    
-	  // Find single test result  
-	  // see RDiagResultsDatabase::InitiateGetLastResult.
-     case DiagResultsDbCommon::EInitiateGetSingleLastResult:
-        {        
-        TPckgBuf<TUid> uidpckg;
-	    iLastSingleResultsMsg.Read(0, uidpckg);
-        TUid resultsItemUid = uidpckg();
-                 	    	            
-        CDiagResultsDatabaseItem* item = NULL;
-        
-        // Trap any errors and complete client's request if there
-        // are any errors.
-        TRAPD(error, item = FindDatabaseItemL( resultsItemUid, aArray)) ;	                            	                           
-
-        if ( error != KErrNone )
-            {
-            delete item;
-            item = NULL;
-            
-            iLastSingleResultsMsg.Complete (error);
-            break;
-            }
-	        
-	    if ( item == NULL ) //Not found
-	        {
-	        iBufferedSingleResult = NULL;
-	        
-	        //Check also the last results buffer  
-	        CheckLastResultsBufferL( resultsItemUid, iBufferedSingleResult );
-	        }
-	    else 
-	        {	                	                
-	        iBufferedSingleResult = item;
-	        }          
-	       
-	   
-	       
-	    iLastSingleResultsMsg.Complete (KErrNone);
-	    break;
-        }  
-	  
-	  default:
-	    {
-	    User::Panic ( _L("Diag results DB"), 
-	                  DiagResultsDbCommon::EUnknownLastResultState );
-	    }	    	    
-      }
-    
-    iLastResultCommand = 0;  
-      
-    CleanupStack::PopAndDestroy( aArray ); //call reset and destroy + close
-    CleanupStack::PopAndDestroy( aArray ); //delete the pointer
-    }
-
-
-// ---------------------------------------------------------------------------
-// Read UIDs from a stream and search last results.
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbSession::FindLastResultsL( 
-                            RPointerArray<CDiagResultsDbTestRecord>& aArray )
-    {
-    
-	CArrayFixFlat<TUid>* uidArray = new (ELeave) 
-	                                    CArrayFixFlat<TUid>(KArrayGranuality);
-	CleanupStack::PushL( uidArray );
-	     
-    RBufReadStream stream( *iBuffer );
-    CleanupClosePushL ( stream );
-        
-    TInt8 count = stream.ReadInt8L();
-        
-    for ( TInt i = 0; i < count; ++i )
-        {
-        TInt32 uid = stream.ReadInt32L();
-            
-        uidArray->AppendL( TUid::Uid( uid ));
-        }
-	    
-    CleanupStack::PopAndDestroy( &stream );	 
-	    	    
-	iBufferedLastResults = new (ELeave) RPointerArray<CDiagResultsDatabaseItem>;
-	    	    
-	SearchLastResultsL( *uidArray, aArray, *iBufferedLastResults  );
-	
-	//last results could be also in the last results buffer.
-	CheckLastResultsBufferL( *uidArray, *iBufferedLastResults );
-	    
-	  // there must be exactly the same number of cells in both arrays. 
-	if ( uidArray->Count() != iBufferedLastResults->Count() ) 
-	    {
-	    User::Panic ( _L("Diag results DB"), 
-	                  DiagResultsDbCommon::EGetLastResultsMismatch );
-	    }
-	    
-	CleanupStack::PopAndDestroy( uidArray );   
-    }
-
-
-// ---------------------------------------------------------------------------
-// Check last result buffer for test results.
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbSession::CheckLastResultsBufferL( 
-                         const CArrayFixFlat<TUid>& aUidArray,                           
-                         RPointerArray<CDiagResultsDatabaseItem>& aResultsArray )
-    {        
-    CDiagResultsDbTestRecord* buffer = iStore->OpenExistingLastResultsBufferL(); 
-    CleanupStack::PushL( buffer );
-    
-    for (TInt i = 0; i < aResultsArray.Count(); ++i)
-        {        
-        if ( aResultsArray[i] == NULL )
-            {
-            TUid uid = aUidArray[i];
-            
-            CDiagResultsDatabaseItem* item = buffer->FindTestRecord( uid );
-            
-            if ( item )
-                {
-                buffer->RemoveL( uid );
-                aResultsArray[i] = item;
-                }            
-            }        
-        }
-    
-    CleanupStack::PopAndDestroy( buffer );
-    }
-
-
-// ---------------------------------------------------------------------------
-// Check last result buffer for test result.
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbSession::CheckLastResultsBufferL( 
-                         TUid aTestUid,                           
-                         CDiagResultsDatabaseItem*& aResult )
-    {
-    
-    
-    CDiagResultsDbTestRecord* buffer = iStore->OpenExistingLastResultsBufferL(); 
-    CleanupStack::PushL( buffer );
- 
-    CDiagResultsDatabaseItem* item = buffer->FindTestRecord( aTestUid );
-            
-    if ( item )
-        {
-        buffer->RemoveL( aTestUid );
-        aResult = item;                                                
-        }
-    
-    CleanupStack::PopAndDestroy( buffer );
-    }
-
-
-// ---------------------------------------------------------------------------
-// Searches for the newest test results.
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbSession::SearchLastResultsL( 
-                         const CArrayFixFlat<TUid>& aUidArray, 
-                         RPointerArray<CDiagResultsDbTestRecord>& aTestRecordArray, 
-                         RPointerArray<CDiagResultsDatabaseItem>& aResultsArray )
-            
-    {   
-    //Search all records for certain uid.
-	for ( TInt i = 0; i < aUidArray.Count(); ++i )
-	    {
-	      
-	    CDiagResultsDatabaseItem* item = 
-	                            FindDatabaseItemL( aUidArray[i], &aTestRecordArray );	                            	                           
-	        
-	    if ( item == NULL ) //Not found
-	        {
-	        aResultsArray.Append(NULL);
-	        }
-	     else 
-	        {	                	                
-	        aResultsArray.Append( item );
-	        }          
-	    }
-    }
-	     
-
-// ---------------------------------------------------------------------------
-// Indicates has session written any data into the DB file. 
-// To be exact only subsession writes data into the file.
-// ---------------------------------------------------------------------------
-//     
-void CDiagResultsDbSession::HasWritten()
-    {
-    iHasWrittenData = ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// Turn off compacting.
-// ---------------------------------------------------------------------------
-//  
-void CDiagResultsDbSession::DoNotCompact()
-    {
-    iHasWrittenData = EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// Helper function to seach an item from a pointer array.
-// Starts from the newest record to search for an UID.
-// ---------------------------------------------------------------------------
-// 
-CDiagResultsDatabaseItem* CDiagResultsDbSession::FindDatabaseItemL( TUid aUid, 
-                             RPointerArray<CDiagResultsDbTestRecord>* aArray )    
-    {
-    
-    //Check that there is a test record.
-    if ( !aArray || aArray->Count() == 0 )
-        {
-        return NULL;
-        }
-    
-    // start from the newest record
-    for (TInt x = aArray->Count() -1; x >= 0 ; --x ) 
-	    {
-	    CDiagResultsDbTestRecord* record = (*aArray)[x];
-	    
-	    //Assumes that there is only MAX one specific UID in the test record.        
-	    for ( TInt y = 0; y < record->Count(); ++y )
-	        {
-	        CDiagResultsDatabaseItem* item = record->GetItem( y );
-	                 
-             //	 Search for a test result that is not skipped / cancelled.                 
-	         if (  item->TestUid() == aUid && 
-	              (item->TestResult() == CDiagResultsDatabaseItem::ESuccess ||
-	               item->TestResult() == CDiagResultsDatabaseItem::EFailed ))
-	            {
-	            //Remove the found item to speed up look up times.
-	            //This does not remove it from the DB file.
-	            record->RemoveL( y ); 
-	            return item;
-	            }
-	        }     
-	    }
-	     
-	return NULL;  
-    }
--- a/devicediagnosticsfw/diagresultsdb/server/src/diagresultsdbstore.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1267 +0,0 @@
-/*
-* 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 "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:  Class definition of 
-*
-*/
-
-#include <s32std.h>
-#include <sysutil.h> 
-#include <f32file.h> 
-#include <centralrepository.h>
-
-#include "diagresultsdbtestrecord.h"
-#include "diagresultsdbstore.h"
-#include "diagresultsdatabasecommon.h"
-#include "diagresultsdbcrdc.h"
-#include "diagresultsdatabase.h"
-#include "diagresultsdbtestrecordhandle.h"
-#include "diagresultsdbrecordengineparam.h"
-#include "diagresultsdbprivatecrkeys.h"
-
-_LIT( KFileType, ".dat" );
-_LIT( KDriveC, "C:" );
-
-const TInt KMininumDiskSpace = 500;
-
-const TInt KFirstStreamId = 2;
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-// 
-CDiagResultsDbStore::CDiagResultsDbStore( TUid aDbUid ): 
-        CActive( CActive::EPriorityStandard ), iStore( NULL ), 
-        iDbUid( aDbUid ), iLoadingObserver( NULL ), iCompletionObserver( NULL ),
-        iRecordArray( NULL ), iRecordIds(NULL), iRecordNumber(0), 
-        iTestRecord( NULL ), iState( ENotRunning )
-	{
-	CActiveScheduler::Add(this);
-	}
-
-// ---------------------------------------------------------------------------
-// NewL. Creates a DB file based on aDbUid if it does not exist.
-// ---------------------------------------------------------------------------
-// 
-CDiagResultsDbStore* CDiagResultsDbStore::NewL( TUid aDbUid )
-	{
-	LOGME("CDiagResultsDbStore* CDiagResultsDbStore::NewL");
-	CDiagResultsDbStore* store = new (ELeave) CDiagResultsDbStore( aDbUid );
-	CleanupStack::PushL( store );
-	store->ConstructL();
-	CleanupStack::Pop();
-	return store;
-	}
-
-// ---------------------------------------------------------------------------
-// NewLC.
-// ---------------------------------------------------------------------------
-// 
-CDiagResultsDbStore* CDiagResultsDbStore::NewLC( TUid aDbUid )
-	{
-	LOGME("CDiagResultsDbStore::NewLC");
-	CDiagResultsDbStore* store = new (ELeave) CDiagResultsDbStore( aDbUid );
-	CleanupStack::PushL( store );
-	store->ConstructL();
-	return store;
-	}	
-
-// ---------------------------------------------------------------------------
-// Starts asynchronous loading of all test records from the DB.
-// Observer is notified when test records have been loaded.
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbStore::ExistingRecordsAsyncL( MRecordLoadingObserver& aObserver )
-    {
-    if ( IsActive() )
-        {
-        User::Leave( KErrInUse );
-        }
-    
-    iLoadingObserver = &aObserver;
-    
-    iState = EGetRootStream;
-    iRecordNumber = 0;
-    
-    CompleteOwnRequest();
-    
-    SetActive();
-    }
-
-// ---------------------------------------------------------------------------
-// Cancel asynchronous functionality. Do not call this directly (use Cancel())
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbStore::DoCancel()
-    {
-    if ( iRecordArray )
-        {
-        iRecordArray->ResetAndDestroy(); 
-           
-        delete iRecordArray;
-        iRecordArray = NULL;   
-        }
-              
-    //Note that Store is not responsible for deleting the iTestRecord.
-    //iTestRecord is deleted by subsession.
-            
-    delete iRecordIds;
-    iRecordIds = NULL;
-    
-    iState = ENotRunning;
-    iRecordNumber = 0;
-    }
-
-// ---------------------------------------------------------------------------
-// This is called if there are leaves or errors in RunL.
-// ---------------------------------------------------------------------------
-// 
-TInt CDiagResultsDbStore::RunError(TInt aError)
-    {
-    TInt err = KErrNone;
-
-    switch ( iState )
-    	{
-        case EGetRootStream:
-        case EGetRecord:            
-        case ERecordsReady:
-            {
-            TRAP( err, iLoadingObserver->ExistingRecordsL( aError, NULL ) );
-            }
-        break;
-        default:
-        	{
-        	///@@@KSR: changes for Codescanner error val = High 
-        	//User::Leave( aError );
-        	}
-    	}
-
-    return err;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Keeps the database file small as possible. Compacting must be done often as
-// possible keeping in mind that compacting could take a long time.
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbStore::CompactDatabase()
-    {    
-    TRAPD( error, iStore->CompactL());
-    
-    if ( error != KErrNone )
-        {
-        User::Panic(_L("compact error"), 
-            DiagResultsDbCommon::EDatabaseCompact );
-        }    
-    else 
-        {
-        //Commit must be called in order to really reduce the size of DB file.
-        TRAP( error, iStore->CommitL() ); 
-        if ( error != KErrNone )
-           {
-           User::Panic(_L("compact/commit error"), 
-           DiagResultsDbCommon::EDatabaseCompactCommit );
-           }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Completes own request. This changes the value of TRequestStatus and causes
-// RunL to be called afterwards (if CActive is active).
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbStore::CompleteOwnRequest()
-    {
-    TRequestStatus* status = &iStatus;
-    User::RequestComplete( status, KErrNone );
-    }
-
-// ---------------------------------------------------------------------------
-// Asynchronous handling function. States are needed to separate two different
-// tasks. The first one is loading test records from the db file. The second
-// is writing a test record into the DB file.
-// ---------------------------------------------------------------------------
-//     
-void CDiagResultsDbStore::RunL()
-    {
-    
-    switch ( iState )
-        {
-        case EGetRootStream:
-            {
-            iRecordArray = new (ELeave) RPointerArray<CDiagResultsDbTestRecord>;
-            iRecordIds = new (ELeave) RArray<TStreamId>;
-            // Find available stream ids
-            ReadRootStreamL( *iRecordIds );
-                                   
-            if ( iRecordIds->Count() == 0 ) //no records, no need to continue
-                {
-                 //Ownership is transferred
-                iLoadingObserver->ExistingRecordsL( KErrNone, iRecordArray );
-                iRecordArray = NULL; //do not delete
-            
-                iRecordIds->Close();
-                delete iRecordIds;
-                iRecordIds = NULL;
-    
-                iState = ENotRunning;
-                iRecordNumber = 0;   
-            
-                iLoadingObserver = NULL;
-                return;
-                }
-            
-            iState = EGetRecord;
-            
-            CompleteOwnRequest();
-            SetActive();
-            }
-            break;
-            
-        case EGetRecord:
-            {            
-            iRecordArray->Append ( OpenExistingRecordL( 
-                            TUid::Uid( (*iRecordIds)[iRecordNumber].Value()), ETrue ) );
-            iRecordNumber++;
-            if ( iRecordNumber < iRecordIds->Count() )
-                {
-                iState = EGetRecord;
-                }
-            else 
-                {
-                iState = ERecordsReady;
-                }
-            
-            CompleteOwnRequest();
-            SetActive();
-            }
-            break;
-            
-        case ERecordsReady:
-            {
-             //Ownership is transferred
-            iLoadingObserver->ExistingRecordsL( KErrNone, iRecordArray );
-            iRecordArray = NULL; //do not delete
-            
-            iRecordIds->Close();
-            delete iRecordIds;
-            iRecordIds = NULL;
-    
-            iState = ENotRunning;
-            iRecordNumber = 0;   
-            
-            iLoadingObserver = NULL;
-            }
-            break;
-  
-        
-        default:
-            User::Leave( KErrNotFound );
-            break;
-            
-        }
-        
-    }
-
-// ---------------------------------------------------------------------------
-// Constructs the store. Creates the DB file if it does not exist or opens it. 
-// Also creates an empty root stream into the store if file was created.
-// There is some exception handling included for example if file exist but it
-// cannot be opened.
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbStore::ConstructL()
-	{	
-	LOGME("CDiagResultsDbStore::ConstructL");		
-	//Read from central repository.
-	TInt algorithm = GetDeletionAlgorithmL();
-	
-	if ( algorithm == 0 )
-		{
-		iDeletionAlgorithm = EMaxRecordCountAlgorithm;
-		}
-	else if ( algorithm == 1 )
-		{
-		iDeletionAlgorithm = ELastResultsAlgorithm;
-		}
-	else 
-		{
-		User::Panic( _L("Unknown Deletion Algorithm"), 
-                DiagResultsDbCommon::EUnknownDeletionAlgorithm);  
-		}
-	
-	LOGME("resultdbstore::Before irfs.connect");
-    User::LeaveIfError(iRfs.Connect());
-    LOGME("iRfs.connect");
-    TBool tooLowSpace = SysUtil::DiskSpaceBelowCriticalLevelL( 
-                                                    &iRfs, 
-                                                    KMininumDiskSpace, 
-                                                    EDriveC );
-    LOGME1("tooLowSpace %d",tooLowSpace);
-    if ( tooLowSpace )        
-        {
-        User::Leave( KErrDiskFull );
-        }
-    
-    TInt err = iRfs.CreatePrivatePath( EDriveC );
-    
-    LOGME1("privatepathcreate %d",err);
-    //Create private path if it does not exists
-    if ( err != KErrAlreadyExists && err != KErrNone )
-        {
-        User::Leave ( err ); //Unexpected error
-        }
-    
-    TBuf<256> filename;
-    iRfs.PrivatePath( filename );
-    filename.Insert( 0, KDriveC );
-    filename.Append( iDbUid.Name() );
-    filename.Append( KFileType );
-
-    //Check is the File already there
-    //open for reading and writing.
-    err = iFile.Open( iRfs, filename, EFileShareAny|EFileWrite );  
-
-    LOGME1("ifile.open %d",err);
-    TInt fileError = KErrNotFound;
-    TInt fileSize = 0;
-
-    if ( err == KErrNone )
-        {        
-        fileError = iFile.Size( fileSize );    
-        }
-    
-    
-    //Checking is done when the file exists. 
-    //File size reading error should never happen.
-    //if the file is too large, the function will panic.
-    if ( err == KErrNone && fileError == KErrNone )
-    	{
-    	CheckMaximumFileSizeLimitL( iRfs, filename, fileSize ); 
-    	}
-    
-    iFile.Close();
-    
-    // File exist
-    if ( err == KErrNone )
-        {                           
-        TRAPD( err, iStore = CPermanentFileStore::OpenL(iRfs, filename, 
-                        EFileShareAny|EFileWrite|EFileRead|EFileStream ));
-        
-        if ( err != KErrNone )
-            {           
-            err = iRfs.Delete ( filename );
-            
-            if ( err != KErrNone )
-                {
-                User::Panic( _L("DiagServer corrupt file delete failed"), 
-                        DiagResultsDbCommon::EServerCorruptFileDelete);
-                }
-                
-            User::Leave( KErrCorrupt );
-            }
-            
-        //This must be called, otherwise RStoreWriteStream write will fail.
-        iStore->SetTypeL( iStore->Layout() );
-        }
-       
-    else if ( err == KErrNotFound ) //Create new file  if the file is not found
-        {
-        LOGME("createnewfile");
-        TRAPD( err, iStore = CPermanentFileStore::CreateL(iRfs, filename, 
-                        EFileShareAny|EFileWrite|EFileRead|EFileStream ));
-        
-        LOGME1("createnewfile = %d",err);
-        if ( err != KErrNone ) //File could not be created for some reason
-            { 
-             LOGME1("createnewfile panic = %d",err);
-            User::Panic( _L("DiagServer unable to create DB file"), 
-                            DiagResultsDbCommon::EServerFileCreationError);          
-            }
-            
-        //This must be called, otherwise RStoreWriteStream write will fail.
-        iStore->SetTypeL( iStore->Layout() );
-        CreateEmptyRootStreamL( *iStore );
-        
-        if ( iDeletionAlgorithm == ELastResultsAlgorithm )
-        	{
-        	CreateLastResultsBufferStreamL();
-        	}
-        
-        iStore->CommitL();
-     
-        }
-    else 
-        {
-        LOGME1("else userleave = %d",err);
-        User::Leave( err );
-        }
-	}
-
-
-// ---------------------------------------------------------------------------
-// Get central repository key that controls maximum file size.
-// ---------------------------------------------------------------------------
-//
-TInt CDiagResultsDbStore::GetMaximumFileSizeL()
-	{
-	CRepository* cr = CRepository::NewLC( KCRUidDiagnosticsResults );
-
-	TInt result = 0;	
-	TInt error = cr->Get( KDiagDatabaseMaxFileSize, result );
-	
-	CleanupStack::PopAndDestroy();
-	
-	if ( error != KErrNone )
-		{
-		User::Leave(error);
-		}
-	return result;
-	}
-
-
-// ---------------------------------------------------------------------------
-// Get central repository key that controls usage of the deletion algorithm.
-// ---------------------------------------------------------------------------
-//
-TInt CDiagResultsDbStore::GetDeletionAlgorithmL()
-	{
-	CRepository* cr = CRepository::NewLC( KCRUidDiagnosticsResults );
-
-	TInt result = 0;	
-	TInt error = cr->Get( KDiagDatabaseDeletionAlgorithm, result );
-	
-	CleanupStack::PopAndDestroy();
-	
-	if ( error != KErrNone )
-		{
-		User::Leave(error);
-		}
-	return result;
-	}
-
-
-// ---------------------------------------------------------------------------
-// Check DB file size and delete the file if it is too big.
-// Checking is controlled by a central repository key.
-//
-// Note that this function deletes the file and after that panics, because
-// the error is very serious. 
-// ---------------------------------------------------------------------------
-//
-void CDiagResultsDbStore::CheckMaximumFileSizeLimitL( RFs& aRfs, 
-													  const TDesC& aFileName,
-													  TInt aFileSize )
-	{
-	//Read central repository value
-	TInt maxFileSize = GetMaximumFileSizeL();
-	
-	//If == 0, feature is disabled i.e. there is no limitation
-	//to the size of DB files.
-	if ( maxFileSize == 0 )
-		{
-		return;		
-		}
-	else
-		{
-		if ( aFileSize > maxFileSize )
-			{
-			//Delete the file. 
-			aRfs.Delete( aFileName );		
-			User::Panic(_L("Maxfile Size exceeded"), 
-			            DiagResultsDbCommon::EMaximumFileSizeExceeded );
-			}
-		}	
-	}
-
-// ---------------------------------------------------------------------------
-// Create a stream for last results.
-// The stream is created when DB file is created.
-// 
-// Because this is the first stream in the PermanentFileStore,
-// we do not need to store the stream ID anywhere. Consider it as a constant.
-// ---------------------------------------------------------------------------
-//
-void CDiagResultsDbStore::CreateLastResultsBufferStreamL()
-    {        
-    RArray<TUid>* uids = new (ELeave) RArray<TUid>;
-    
-    CDiagResultsDbRecordEngineParam* params = 
-        CDiagResultsDbRecordEngineParam::NewL( uids, EFalse );
-    CleanupStack::PushL( params );
-                
-    TStreamId id = iStore->ExtendL();
-    
-    //We assume that the permanent file store uses this as the first stream ID.
-    __ASSERT_ALWAYS( id == TStreamId( KFirstStreamId ), 
-                        User::Panic( _L("DiagServer Incorrect Last Results Buffer"), 
-                        DiagResultsDbCommon::EIncorrectExtendNumberForLastResults)  );
-
-    CleanupStack::Pop();
-      
-    CDiagResultsDbTestRecordHandle* handle = CDiagResultsDbTestRecordHandle::NewL( 
-                                                    id, 
-                                                    iDbUid, 
-                                                    params );
-                                                    
-    CleanupStack::PushL( handle );
-    
-    WriteHandleIntoDbL( *handle ); //writes a new stream
-         
-    //Do not append on to the root stream!!
-    //this should be visible only for the server.                  
-    
-    CleanupStack::PopAndDestroy();                                
-        
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-// 	
-CDiagResultsDbStore::~CDiagResultsDbStore()
-	{
-	if ( iRecordIds )
-	    {
-	    iRecordIds->Close();
-	    delete iRecordIds;
-        iRecordIds = NULL;    
-	    }
-
-    Cancel();
-        
-    delete iStore;
-    iStore = NULL;
-    
-    iFile.Close();
-    iRfs.Close();
-	}
-
-// ---------------------------------------------------------------------------
-// Create a new record. 
-// ---------------------------------------------------------------------------
-// 
-CDiagResultsDbTestRecordHandle* CDiagResultsDbStore::CreateNewRecordL( 
-                                CDiagResultsDbRecordEngineParam* aEngineParam )
-    {
-    
-    TBool tooLowSpace = SysUtil::DiskSpaceBelowCriticalLevelL( 
-                                                    &iRfs, 
-                                                    KMininumDiskSpace, 
-                                                    EDriveC );
-    if ( tooLowSpace )        
-        {
-        User::Leave( KErrDiskFull );
-        }
-    
-    
-    
-    TStreamId id = iStore->ExtendL();
-  
-    CDiagResultsDbTestRecordHandle* handle = CDiagResultsDbTestRecordHandle::NewL( 
-                                                    id, 
-                                                    iDbUid, 
-                                                    aEngineParam );
-    CleanupStack::PushL( handle );
-    
-    WriteHandleIntoDbL( *handle ); //writes a new stream
-    
-    AppendRootStreamL( id ); //update root stream
-    
-    iStore->CommitL(); 
-    
-    CleanupStack::Pop();                                
-    return handle;
-    
-    }
-
-// ---------------------------------------------------------------------------
-// Write test record handle into the store.
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbStore::WriteHandleIntoDbL( CDiagResultsDbTestRecordHandle& aHandle )
-    {
-    RStoreWriteStream writestream;
-    
-    writestream.ReplaceLC( *iStore, aHandle.RecordId() );    
-        
-    aHandle.ExternalizeL( writestream );
-    
-    writestream.CommitL();
-       
-    CleanupStack::PopAndDestroy( &writestream );
-    }
-
-// ---------------------------------------------------------------------------
-// Writes data into the DB file (.dat file). 
-// ---------------------------------------------------------------------------
-//     
-TInt CDiagResultsDbStore::CompleteTestResult( TBool aCommit, 
-                                    CDiagResultsDbTestRecordHandle& aHandle,  
-                                    CDiagResultsDatabaseItem& aTestItem )
-    {        
-    TRAPD( err, DoCompleteTestResultL( aCommit, aHandle, aTestItem ));
-    
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// Writes handle into the DB. Test results items have been written already.
-// see CompleteTestResult.
-// ---------------------------------------------------------------------------
-// 
-TInt CDiagResultsDbStore::CompleteRecord(  
-                                CDiagResultsDbTestRecordHandle& aHandle )
-    {
-    // ignore DRM error.
-    TRAP_IGNORE( aHandle.RecordInfo().iDrmFinishTime = 
-        TDiagResultsDatabaseTestRecordInfo::DRMTimeL() );
-
-    aHandle.RecordInfo().iFinishTime.HomeTime();
-    
-    TRAPD( error, DoCompleteRecordL( aHandle ));
-    
-    return error;
-    }
-
-// ---------------------------------------------------------------------------
-// Writes handle into the DB. Test results items have been written already.
-// see CompleteTestResult.
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbStore::DoCompleteRecordL(  
-                                CDiagResultsDbTestRecordHandle& aHandle )
-    {
-    
-    TBool tooLowSpace = SysUtil::DiskSpaceBelowCriticalLevelL( 
-                                                    &iRfs, 
-                                                    KMininumDiskSpace, 
-                                                    EDriveC );
-    if ( tooLowSpace )        
-        {
-        User::Leave( KErrDiskFull );
-        }
-    
-    WriteHandleIntoDbL( aHandle );
-    
-    iStore->CommitL();
-    }
-
-
-// ---------------------------------------------------------------------------
-// Write aTestItem and aHandle into the DB. These must be in sync.
-// ---------------------------------------------------------------------------
-//     
-void CDiagResultsDbStore::DoCompleteTestResultL( TBool aCommit, 
-                                        CDiagResultsDbTestRecordHandle& aHandle, 
-                                        CDiagResultsDatabaseItem& aTestItem )
-    {   
-    
-    TBool tooLowSpace = SysUtil::DiskSpaceBelowCriticalLevelL( 
-                                                    &iRfs, 
-                                                    aTestItem.Size() *2, 
-                                                    EDriveC );
-    if ( tooLowSpace )        
-        {
-        User::Leave( KErrDiskFull );
-        }
-    
-    RStoreWriteStream writestream;
-    
-    CDiagResultsDbTestRecordHandle::TTestResultHandle testresulthandle;
-    
-    TBool found = aHandle.Find( aTestItem.TestUid() );
-    
-    
-    if ( found ) //Replace old test result
-        {
-        TStreamId id;
-        TInt error = aHandle.MatchingStreamId( aTestItem.TestUid(), id);
-        User::LeaveIfError ( error );
-        writestream.ReplaceLC( *iStore, id );
-        }
-    else //New test result
-        {
-        TStreamId newstreamid = writestream.CreateLC( *iStore );   
-        testresulthandle.iStreamId = newstreamid;
-        testresulthandle.iTestUid = aTestItem.TestUid();
-        }
-
-    aTestItem.ExternalizeL( writestream );
-    writestream.CommitL();
-    CleanupStack::PopAndDestroy( &writestream );
-  
-    if ( !found )
-        {
-        aHandle.AddL( testresulthandle );
-        }
-    
-    WriteHandleIntoDbL( aHandle );
-    
-    if ( aCommit )
-        {
-        iStore->CommitL();       
-        }      
-    }
-
-// ---------------------------------------------------------------------------
-// Read a test record from the DB. The record should not be ever written into
-// the same DB again. First read the number of items there are in the record.
-// After that read the items and the record info. 
-// ---------------------------------------------------------------------------
-//     
-CDiagResultsDbTestRecord* CDiagResultsDbStore::OpenExistingRecordL( TUid aUid, 
-                                                            TBool aReadOnly )
-    {    
-    TStreamId id = TStreamId ( aUid.iUid );
-    
-    RStoreReadStream handlereadstream;
-    handlereadstream.OpenLC( *iStore, id );
-    
-    CDiagResultsDbTestRecord* testrecord = CDiagResultsDbTestRecord::NewL( aReadOnly, 
-	                                       aUid );
-    CleanupStack::PushL ( testrecord );
-    
-    CDiagResultsDbTestRecordHandle* handle = 
-                            CDiagResultsDbTestRecordHandle::NewL( handlereadstream );
-                                                       
-    CleanupStack::PushL ( handle );
-    
-    for ( TInt i = 0; i < handle->Count(); ++i )
-        {
-        RStoreReadStream readstream;
-        readstream.OpenLC( *iStore, ((*handle)[i]) ); 
-                
-        testrecord->AddL( CDiagResultsDatabaseItem::NewL ( readstream ) );
-        
-        CleanupStack::PopAndDestroy( &readstream );  
-        }
-
-    CleanupStack::PopAndDestroy(); //handle
-    CleanupStack::Pop(); //testrecord
-    
-    CleanupStack::PopAndDestroy( &handlereadstream ); 
-    
-    return testrecord;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Open last results buffer. It contains the test results that would have
-// been otherwise deleted. 
-// ---------------------------------------------------------------------------
-//   
-CDiagResultsDbTestRecord* CDiagResultsDbStore::OpenExistingLastResultsBufferL()
-    {      
-    CDiagResultsDbTestRecord* testrecord = 
-                            OpenExistingRecordL( TUid::Uid(KFirstStreamId),
-                                                 ETrue );                                                                                                                                       
-    return testrecord;
-    }
-
-
-void CDiagResultsDbStore::OpenExistingRecordAndHandleL( TStreamId aId, 
-                                                        CDiagResultsDbTestRecord*& aRecord,
-                                                        CDiagResultsDbTestRecordHandle*& aHandle )
-    {            
-    RStoreReadStream handlereadstream;
-    handlereadstream.OpenLC( *iStore, aId );
-    
-    CDiagResultsDbTestRecord* testrecord = CDiagResultsDbTestRecord::NewL( ETrue, 
-	                                       TUid::Uid( aId.Value() ));
-    CleanupStack::PushL ( testrecord );
-    
-    CDiagResultsDbTestRecordHandle* handle = 
-                            CDiagResultsDbTestRecordHandle::NewL( handlereadstream );
-                                                       
-    CleanupStack::PushL ( handle );
-    
-    for ( TInt i = 0; i < handle->Count(); ++i )
-        {
-        RStoreReadStream readstream;
-        readstream.OpenLC( *iStore, ((*handle)[i]) ); 
-                
-        testrecord->AddL( CDiagResultsDatabaseItem::NewL ( readstream ) );
-        
-        CleanupStack::PopAndDestroy( &readstream );  
-        }
-
-    CleanupStack::Pop(); //handle
-    CleanupStack::Pop(); //testrecord
-    
-    aRecord = testrecord;
-    aHandle = handle;
-    
-    CleanupStack::PopAndDestroy( &handlereadstream ); 
-    
-    
-    }
-
-
-// ---------------------------------------------------------------------------
-// Retrieve all record infos from the store.
-// ---------------------------------------------------------------------------
-// 
-RArray<TDiagResultsDatabaseTestRecordInfo>* CDiagResultsDbStore::ExistingRecordInfosL()
-    {
-    RArray<TStreamId> ids;
-    CleanupClosePushL( ids );
-    // Find available stream ids
-    ReadRootStreamL( ids );
-    
-    RArray<TDiagResultsDatabaseTestRecordInfo>* infos = new (ELeave) 
-                                            RArray<TDiagResultsDatabaseTestRecordInfo>;
-    CleanupClosePushL( *infos );                                            
-    
-    
-    for ( TInt i = 0; i < ids.Count(); ++i )
-        {
-        CDiagResultsDbTestRecordHandle* handle = OpenExistingHandleL( TUid::Uid( ids[i].Value() ));
-      
-        TDiagResultsDatabaseTestRecordInfo info = handle->RecordInfo();
-        
-        infos->Append( info );
-        }  
-        
-    CleanupStack::PopAndDestroy( &ids );
-    CleanupStack::Pop();
-    
-    return infos;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Open a test result from the DB.
-// ---------------------------------------------------------------------------
-// 
-CDiagResultsDatabaseItem* CDiagResultsDbStore::OpenExistingTestResultL( TStreamId aId )
-    {
-    RStoreReadStream readstream;
-    readstream.OpenLC( *iStore, aId ); 
-    
-    CDiagResultsDatabaseItem* item = CDiagResultsDatabaseItem::NewL ( readstream );
-    
-    CleanupStack::PopAndDestroy( &readstream );
-    
-    return item;
-    }
-    
-
-// ---------------------------------------------------------------------------
-// Open handle from the DB. Uid matches the handle's stream Id.
-// ---------------------------------------------------------------------------
-// 
-CDiagResultsDbTestRecordHandle* CDiagResultsDbStore::OpenExistingHandleL( 
-                                                    TUid aUid )
-    {
-    TStreamId id = TStreamId ( aUid.iUid );
-    
-    RStoreReadStream handlereadstream;
-    handlereadstream.OpenLC( *iStore, id );
-    
-    
-    CDiagResultsDbTestRecordHandle* handle = 
-                            CDiagResultsDbTestRecordHandle::NewL( handlereadstream );
-                            
-    CleanupStack::PopAndDestroy( &handlereadstream );                           
-    
-    return handle;   
-    }
-    
-// ---------------------------------------------------------------------------
-// Cleanup Database if there are two many test records.    
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbStore::CleanUpDatabaseL(TBool aCommit)
-	{
-	if ( iDeletionAlgorithm == EMaxRecordCountAlgorithm )
-		{
-		CleanUpDatabaseNoLastResultsL( aCommit );
-		}
-	else if ( iDeletionAlgorithm == ELastResultsAlgorithm )
-		{
-		CleanUpDatabaseUseLastResultsBufferL( aCommit );
-		}
-	else 
-		{
-		User::Panic( _L("Unknown Deletion Algorithm"), 
-                DiagResultsDbCommon::EUnknownDeletionAlgorithm);  
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// Cleanup Database if there are two many test records.    
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbStore::CleanUpDatabaseNoLastResultsL(TBool aCommit)
-    {    
-    RArray<TStreamId> ids;
-    CleanupClosePushL( ids );
-    ReadRootStreamL( ids );
-    
-    //Fetch the maximum number of test records from Central Repository. Panic if
-    //the value is not found. Also panic if value is less than zero.
-    TInt maxsize = 0;
-    TInt err = RDiagResultsDatabase::GetDatabaseMaximumSize( maxsize ) ;
-    
-    if ( err != KErrNone || maxsize < 0 )
-        {
-        User::Panic ( _L("Diag ResultsDB panic"), 
-                    DiagResultsDbCommon::ECentralRepositoryFailure );
-        }
-            
-    TBool cleanedUp = EFalse;   
-        
-    while ( ids.Count() > maxsize ) //Do cleanup
-        {                
-        DeleteOldestHandleL( ids );
-                   
-        cleanedUp = ETrue;
-        }
-      
-    if ( cleanedUp && aCommit )
-        {
-        iStore->CommitL();       
-        }      
-      
-    CleanupStack::PopAndDestroy( &ids );
-    }
-
-
-// ---------------------------------------------------------------------------
-// Cleanup Database if there are two many test records.    
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbStore::CleanUpDatabaseUseLastResultsBufferL(TBool aCommit)
-    {    
-    RArray<TStreamId> ids;
-    CleanupClosePushL( ids );
-    ReadRootStreamL( ids );
-
-    //Fetch the maximum number of test records from Central Repository. Panic if
-    //the value is not found. Also panic if value is less than zero.
-    TInt maxsize = 0;
-    TInt err = RDiagResultsDatabase::GetDatabaseMaximumSize( maxsize ) ;
-    
-    if ( err != KErrNone || maxsize < 0 )
-        {
-        User::Panic ( _L("Diag ResultsDB panic"), 
-                    DiagResultsDbCommon::ECentralRepositoryFailure );
-        }
-            
-    TBool cleanedUp = EFalse;   
-        
-    while ( ids.Count() > maxsize ) //Do cleanup
-        {                     
-        TInt count = ids.Count();
-                   
-        ///@@@KSR: changes for Codescanner error val = High 
-        //CheckOverflowingTestResults( ids );
-        CheckOverflowingTestResultsL( ids );
-                                  
-        cleanedUp = ETrue;
-        
-        __ASSERT_ALWAYS( ids.Count() == count - 1, User::Panic( _L("Diag ResultsDB panic"), 
-                    DiagResultsDbCommon::EUnableToDelete ) );
-        }
-    
-    if ( cleanedUp && aCommit )
-        {
-        iStore->CommitL();       
-        }      
-      
-    CleanupStack::PopAndDestroy( &ids );
-    }
-
-
-// ---------------------------------------------------------------------------
-// Load last results buffer and add test results if needed.
-// 
-// Test results are only moved to the last results buffer.
-//
-// We want to preserve only test results that have Pass/fail result.
-//
-// The algorithm.
-//
-// 1. Open the test record that is going to be removed (handle + test results)
-// 2. Open last results buffer
-// 3. Go through the test record and search for test results that have pass/fail
-// 4. If found, then check last results buffer is there a similar result.
-// 5. If similar test results are found from the last results buffer, delete the old
-//    result and add the new one.
-// 6. If similar test result is not found, then append the test result into the
-//    buffer.
-// 7. Finally update the last result buffer 
-// 8. delete the test record and any of the test results that did not go into
-//    the last results buffer.
-// ---------------------------------------------------------------------------
-//
-//void CDiagResultsDbStore::CheckOverflowingTestResults( RArray<TStreamId>& aIds )
-///@@@KSR: changes for Codescanner error val = High
-void CDiagResultsDbStore::CheckOverflowingTestResultsL( RArray<TStreamId>& aIds )
-    {    
-    TStreamId id = aIds[0];
-    
-    CDiagResultsDbTestRecordHandle* handleToBeRemoved = NULL;
-    CDiagResultsDbTestRecord* recordToBeRemoved = NULL;
-    
-    
-    OpenExistingRecordAndHandleL( id, 
-                                  recordToBeRemoved,
-                                  handleToBeRemoved );
-    
-    CleanupStack::PushL( handleToBeRemoved );
-    CleanupStack::PushL( recordToBeRemoved );
-  
-    
-    CDiagResultsDbTestRecordHandle*  lastResultsBufferHandle = NULL;
-                                                                                                         
-    lastResultsBufferHandle = OpenExistingHandleL( TUid::Uid( KFirstStreamId ) );
-          
-    TInt testCount = recordToBeRemoved->Count();
-   
-    TInt movedCount = 0;
-   
-    CleanupStack::PushL( lastResultsBufferHandle );                                  
-                                             
-    for ( TInt x = 0; x < recordToBeRemoved->Count(); ++x )
-        {
-        
-        CDiagResultsDatabaseItem* item = recordToBeRemoved->GetItem(x);
-        
-        //We are looking for only results that are either ESuccess or
-        //EFailed.
-        if ( item->TestResult() == CDiagResultsDatabaseItem::ESuccess ||
-             item->TestResult() == CDiagResultsDatabaseItem::EFailed )
-            {            
-            TBool found = lastResultsBufferHandle->Find( item->TestUid() );
-            TInt  index = lastResultsBufferHandle->FindIndex( item->TestUid() );
-            
-            CDiagResultsDbTestRecordHandle::TTestResultHandle resulthandle = 
-                         handleToBeRemoved->Get( handleToBeRemoved->FindIndex( item->TestUid() ));
-                                                
-            if ( resulthandle.iTestUid != item->TestUid() ) 
-                {
-                User::Panic( _L("Diag ResultsDB panic"), DiagResultsDbCommon::EIncorrectStreamId);
-                }
-                                                        
-            if ( found )
-                {                                
-                //remove old result from last results buffer, because we add new one.
-                iStore->DeleteL ( lastResultsBufferHandle->Get(index).iStreamId );
-                                
-                lastResultsBufferHandle->RemoveL( item->TestUid() );
-                lastResultsBufferHandle->AddL( resulthandle );                               
-                }
-            else 
-                {
-                lastResultsBufferHandle->AddL( resulthandle );                              
-                }
-                
-            movedCount++;
-            
-            handleToBeRemoved->RemoveL( item->TestUid() );    
-                
-            }                                             
-        }
-            
-    WriteHandleIntoDbL( *lastResultsBufferHandle );
-                    
-    iStore->DeleteL( aIds[0] ); //delete oldest first
-    aIds.Remove( 0 );
-        
-    ReplaceRootStreamL( aIds );
-                
-    //Delete test results streams as well.    
-    for (TInt i=0; i < handleToBeRemoved->Count(); ++i)
-        {
-        iStore->DeleteL ( handleToBeRemoved->Get(i).iStreamId );
-        movedCount++;
-        }        
-        
-    if ( movedCount != testCount )    
-        {
-        User::Panic( _L("EIncorrectStreamId"), DiagResultsDbCommon::EIncorrectStreamId);
-        }
-        
-    CleanupStack::PopAndDestroy( lastResultsBufferHandle );
-    CleanupStack::PopAndDestroy( recordToBeRemoved );
-    CleanupStack::PopAndDestroy( handleToBeRemoved );       
-    }
-
-
-// ---------------------------------------------------------------------------
-// Deletes the oldest handle from the store.
-// ---------------------------------------------------------------------------
-//  
-void CDiagResultsDbStore::DeleteOldestHandleL( RArray<TStreamId>& aIds )
-    {        
-    CDiagResultsDbTestRecordHandle* handle = OpenExistingHandleL( 
-                                                TUid::Uid( aIds[0].Value() ) );
-    CleanupStack::PushL( handle );
-        
-    iStore->DeleteL( aIds[0] ); //delete oldest first
-    aIds.Remove( 0 );
-        
-    ReplaceRootStreamL( aIds );
-                
-    //Delete test results streams as well.    
-    for (TInt i=0; i < handle->Count(); ++i)
-        {
-        iStore->DeleteL ( handle->Get(i).iStreamId );
-        }
-                              
-    CleanupStack::PopAndDestroy( handle );
-    }
-
-
-// ---------------------------------------------------------------------------
-// Delete handle and its test results.
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbStore::DeleteHandleL( TInt aIndex, RArray<TStreamId>& aIds )
-    {        
-    CDiagResultsDbTestRecordHandle* handle = OpenExistingHandleL( 
-                                                TUid::Uid( aIds[aIndex].Value() ) );
-    CleanupStack::PushL( handle );
-        
-    iStore->DeleteL( aIds[aIndex] ); 
-    aIds.Remove( aIndex );
-        
-    ReplaceRootStreamL( aIds );
-                
-    //Delete test results streams as well.    
-    for (TInt i=0; i < handle->Count(); ++i)
-        {
-        iStore->DeleteL ( handle->Get(i).iStreamId );
-        }
-                              
-    CleanupStack::PopAndDestroy( handle );
-    }
-
-
-// ---------------------------------------------------------------------------
-// Reads the root stream from the DB. Root stream contains uids of the 
-// test records. TUid is convertible to TStreamId and opposite.
-// ---------------------------------------------------------------------------
-//             
-void CDiagResultsDbStore::ReadRootStreamL( RArray<TStreamId>& aIds )
-    {    
-    
-    if (!iStore)
-        {
-        User::Panic( _L("Store is null"), 
-                        DiagResultsDbCommon::EStoreNullPointer );
-        }
-    
-    RStoreReadStream readstream;
- 
-    TStreamId rootId = iStore->Root();
-    readstream.OpenLC( *iStore, rootId );
-    
-    TInt count = readstream.ReadInt16L();
-        
-    for ( TInt i = 0; i < count; ++i )
-        {
-        TStreamId id;
-        id.InternalizeL( readstream );
-        aIds.AppendL ( id  );
-               
-        }
-    
-    CleanupStack::PopAndDestroy( &readstream );
-    }
-  
-// ---------------------------------------------------------------------------
-// Add one stream Id into the root stream.
-// ---------------------------------------------------------------------------
-//    
-void CDiagResultsDbStore::AppendRootStreamL( TStreamId& aId )
-    {    
-    RArray<TStreamId> ids;
-    CleanupClosePushL( ids );
-    
-    ReadRootStreamL( ids );
-    
-    ids.Append( aId );
-    
-    ReplaceRootStreamL( ids );
-
-    CleanupStack::PopAndDestroy( &ids);
-    }
-
-// ---------------------------------------------------------------------------
-// Returns TUids from the root stream.
-// ---------------------------------------------------------------------------
-//     
-void CDiagResultsDbStore::RecordUidsL(RArray<TUid>& aUids)
-    {
-    RArray<TStreamId> ids;
-    CleanupClosePushL ( ids );
- 
-    ReadRootStreamL( ids );
-    
-    for (TInt i = 0; i < ids.Count(); ++i)
-        {
-        aUids.Append( TUid::Uid( ids[i].Value() ));
-        }
-        
-    CleanupStack::PopAndDestroy( &ids );
-    }
-
-        
-// ---------------------------------------------------------------------------
-// Replace the current root stream with a new array.
-// ---------------------------------------------------------------------------
-//     
-void CDiagResultsDbStore::ReplaceRootStreamL( RArray<TStreamId>& aArray )
-    {
-    RStoreWriteStream writestream;
-    writestream.ReplaceLC( *iStore, iStore->Root() );    
-        
-    TInt count =  aArray.Count();    
-        
-    writestream.WriteInt16L(  count );
-    
-    for ( TInt i = 0; i < count; ++i )
-        {
-        writestream << aArray[i];
-        }
-        
-    writestream.CommitL();
-       
-    CleanupStack::PopAndDestroy( &writestream );
-    }     
-
-// ---------------------------------------------------------------------------
-// Empty root stream is needed when DB file is created for the first time.
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbStore::CreateEmptyRootStreamL(CPermanentFileStore& aStore)
-    {
-    RStoreWriteStream writestream;
-   
-    TStreamId id = writestream.CreateLC( *iStore );  
-    writestream.WriteInt16L( 0 ); // stream id count = 0
-    
-    writestream.CommitL();  
-    
-    aStore.SetRootL( id );
-    
-    aStore.CommitL();
-    
-    CleanupStack::PopAndDestroy( &writestream );
-    }
-        
- 
--- a/devicediagnosticsfw/diagresultsdb/server/src/diagresultsdbtestrecord.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,196 +0,0 @@
-/*
-* 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 "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:  Class definition of 
-*
-*/
-
-
-#include "diagresultsdatabasetestrecordinfo.h"
-#include "diagresultsdbtestrecord.h"
-
-
-// ---------------------------------------------------------------------------
-// Constructor. 
-// ---------------------------------------------------------------------------
-// 
-CDiagResultsDbTestRecord::CDiagResultsDbTestRecord( TBool aReadOnly, 
-        TUid aRecordUid ): iRecordUid(aRecordUid), iReadOnly(aReadOnly)
-	{
-	/*
-	RecordInfo().iRecordId = iRecordUid;
-	RecordInfo().iDbUid = iDbUid;
-	RecordInfo().iCompleted = EFalse;
-	*/
-	}
-
-// ---------------------------------------------------------------------------
-// NewL.
-// ---------------------------------------------------------------------------
-// 
-CDiagResultsDbTestRecord* CDiagResultsDbTestRecord::NewL( TBool aReadOnly, 
-        TUid aRecordUid )
-	{
-	CDiagResultsDbTestRecord* testrecord =	
-	    new (ELeave) CDiagResultsDbTestRecord( aReadOnly, aRecordUid  );
-	CleanupStack::PushL( testrecord );
-	testrecord->ConstructL();
-	CleanupStack::Pop();
-	return testrecord;
-	}
-
-// ---------------------------------------------------------------------------
-// ConstructL. Set test record overview's DRM and home times.
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbTestRecord::ConstructL()
-	{
-	//Time when this test record was created.
-//	iTestRecordInfo.iDrmStartTime = 
-	                            //TDiagResultsDatabaseTestRecordInfo::DRMTimeL();
-	//iTestRecordInfo.iStartTime.HomeTime();
-	}
-
-// ---------------------------------------------------------------------------
-// Getter.
-// ---------------------------------------------------------------------------
-// 
-TBool CDiagResultsDbTestRecord::ReadOnly() const
-    {
-    return iReadOnly;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor. 
-// ---------------------------------------------------------------------------
-// 
-CDiagResultsDbTestRecord::~CDiagResultsDbTestRecord()
-    {
-    iTestArray.ResetAndDestroy();
-    iTestArray.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// AddL. 
-// ---------------------------------------------------------------------------
-//     
-void CDiagResultsDbTestRecord::AddL( CDiagResultsDatabaseItem* aItem )
-    {
-    for (TInt i=0; i < iTestArray.Count(); ++i)
-        {
-        
-        //Found same item inside the array. Delete the found item.
-        if ( aItem->TestUid() == iTestArray[i]->TestUid() )
-            {
-            CDiagResultsDatabaseItem* item = iTestArray[i];
-            iTestArray.Remove( i );
-            delete item;
-            item = 0;
-            break;
-            }
-        }
-        
-    iTestArray.AppendL( aItem );
-    }
-
-// ---------------------------------------------------------------------------
-// Operator [].
-// ---------------------------------------------------------------------------
-//     
-const CDiagResultsDatabaseItem& CDiagResultsDbTestRecord::operator[] (TInt aIndex) const
-    {
-    return *(iTestArray[aIndex]);
-    }
-
-// ---------------------------------------------------------------------------
-// Getter. This can be also NULL.
-// ---------------------------------------------------------------------------
-// 
-CDiagResultsDatabaseItem* CDiagResultsDbTestRecord::GetItem(TInt aIndex) const
-    {
-    return iTestArray[aIndex];
-    }
-
-// ---------------------------------------------------------------------------
-// Count().
-// ---------------------------------------------------------------------------
-// 
-TInt CDiagResultsDbTestRecord::Count() const
-    {
-    return iTestArray.Count();
-    }
-
-// ---------------------------------------------------------------------------
-// RemoveL().
-// ---------------------------------------------------------------------------
-//         
-void CDiagResultsDbTestRecord::RemoveL( TInt aIndex )
-    {
-    iTestArray.Remove( aIndex );
-    }
-
-
-// ---------------------------------------------------------------------------
-// RemoveL().
-// ---------------------------------------------------------------------------
-//  
-void CDiagResultsDbTestRecord::RemoveL( TUid aTestUid )
-    {
-     for ( TInt i = 0; i < iTestArray.Count(); ++i )
-        {        
-        if ( iTestArray[i]->TestUid() == aTestUid )
-            {
-            iTestArray.Remove( i );
-            }            
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Find test record
-// ---------------------------------------------------------------------------
-//  
-TInt CDiagResultsDbTestRecord::FindTestRecord( 
-                                const CDiagResultsDatabaseItem& aItem ) const
-    {
-    TInt index = -1;
-    
-    for (TInt i = 0; i < iTestArray.Count(); ++i)
-        {
-        
-        if ( iTestArray[i]->TestUid() == aItem.TestUid() )
-            {
-            index = i;
-            break;
-            }
-        }
-     
-    return index;
-    }
-
-// ---------------------------------------------------------------------------
-// Find test record
-// ---------------------------------------------------------------------------
-//  
-CDiagResultsDatabaseItem* CDiagResultsDbTestRecord::FindTestRecord( TUid aUid )
-    {
-     for (TInt i = 0; i < iTestArray.Count(); ++i)
-        {        
-        if ( iTestArray[i]->TestUid() == aUid )
-            {
-            return iTestArray[i];
-            }
-        }
-        
-    return NULL;
-    }
-//End of file
--- a/devicediagnosticsfw/diagresultsdb/server/src/diagresultsdbtestrecordhandle.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,349 +0,0 @@
-/*
-* 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 "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:  Class definition of 
-*
-*/
-
-
-#include "diagresultsdbtestrecordhandle.h"
-#include "diagresultsdbrecordengineparam.h"
-
-
-// ---------------------------------------------------------------------------
-// Constructor. 
-// ---------------------------------------------------------------------------
-// 
-CDiagResultsDbTestRecordHandle::CDiagResultsDbTestRecordHandle(
-                               TStreamId aRecordUid, 
-	                           TUid aDbUid,
-	                           CDiagResultsDbRecordEngineParam* aEngineParam )
-	{
-	iRecordId = aRecordUid;
-    RecordInfo().iRecordId = TUid::Uid(aRecordUid.Value());
-	RecordInfo().iDbUid = aDbUid;
-	iEngineParam = aEngineParam;
-	}
-
-// ---------------------------------------------------------------------------
-// Constructor. 
-// ---------------------------------------------------------------------------
-// 
-CDiagResultsDbTestRecordHandle::CDiagResultsDbTestRecordHandle()
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// Return record ID.
-// ---------------------------------------------------------------------------
-// 
-TStreamId CDiagResultsDbTestRecordHandle::RecordId() const
-    {
-    return iRecordId;
-    }
-
-// ---------------------------------------------------------------------------
-// NewL.
-// ---------------------------------------------------------------------------
-// 
-CDiagResultsDbTestRecordHandle* CDiagResultsDbTestRecordHandle::NewL(
-                               TStreamId aRecordUid, 
-	                           TUid aDbUid,
-	                           CDiagResultsDbRecordEngineParam* aEngineParam )
-	{
-	CDiagResultsDbTestRecordHandle* testrecord =	
-	    new (ELeave) CDiagResultsDbTestRecordHandle( 
-	                                            aRecordUid, 
-	                                            aDbUid,
-	                                            aEngineParam );
-	CleanupStack::PushL( testrecord );
-	testrecord->ConstructL();
-	CleanupStack::Pop();
-	return testrecord;
-	}
-
-// ---------------------------------------------------------------------------
-// NewL.
-// ---------------------------------------------------------------------------
-// 
-CDiagResultsDbTestRecordHandle* CDiagResultsDbTestRecordHandle::NewL( RReadStream& aStream )
-    {
-    
-    CDiagResultsDbTestRecordHandle* testrecord =	
-	    new (ELeave) CDiagResultsDbTestRecordHandle( );
-	CleanupStack::PushL( testrecord );
-	testrecord->ConstructL( aStream );
-	CleanupStack::Pop();
-	return testrecord;
-    }
-    
-
-// ---------------------------------------------------------------------------
-// ConstructL
-// ---------------------------------------------------------------------------
-//    
-void CDiagResultsDbTestRecordHandle::ConstructL( RReadStream& aStream )
-    {
-    InternalizeL ( aStream );
-    }
-   
-   
-// ---------------------------------------------------------------------------
-// ConstructL. Set test record overview's DRM and home times.
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbTestRecordHandle::ConstructL()
-	{
-	//Time when this test record was created.
-	iTestRecordInfo.iDrmStartTime = 
-	                            TDiagResultsDatabaseTestRecordInfo::DRMTimeL();
-	iTestRecordInfo.iStartTime.HomeTime();
-	}
-
-
-
-// ---------------------------------------------------------------------------
-// Destructor. 
-// ---------------------------------------------------------------------------
-// 
-CDiagResultsDbTestRecordHandle::~CDiagResultsDbTestRecordHandle()
-    {
-    iHandleArray.Close();
-    
-    delete iEngineParam;
-    iEngineParam = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// Return record info.
-// ---------------------------------------------------------------------------
-//    
-TDiagResultsDatabaseTestRecordInfo& CDiagResultsDbTestRecordHandle::RecordInfo()
-    {
-    return iTestRecordInfo;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Add one result handle into the record.
-// We can use aItem to search the item from the store.
-// ---------------------------------------------------------------------------
-//  
-void CDiagResultsDbTestRecordHandle::AddL( TTestResultHandle& aItem )
-    {
-    iTestRecordInfo.iTestCount++;
-    iHandleArray.AppendL( aItem );
-    }
-
-
-// ---------------------------------------------------------------------------
-// Return matching streamId.
-// ---------------------------------------------------------------------------
-//        
-const TStreamId& CDiagResultsDbTestRecordHandle::operator[] (TInt aIndex) const
-    {
-    return iHandleArray[aIndex].iStreamId;
-    }
-   
-
-// ---------------------------------------------------------------------------
-// Get handle to a test result.
-// ---------------------------------------------------------------------------
-//     
-CDiagResultsDbTestRecordHandle::TTestResultHandle 
-                        CDiagResultsDbTestRecordHandle::Get( TInt aIndex ) const
-    {
-    return iHandleArray[aIndex];
-    }   
-   
-// ---------------------------------------------------------------------------
-// Convert plug-in uid into stream id.
-// ---------------------------------------------------------------------------
-//  
- TInt CDiagResultsDbTestRecordHandle::MatchingStreamId( TUid aTestUid, TStreamId& aStreamId ) const
-    {
-     
-    for ( TInt i=0; i < iHandleArray.Count(); ++i )
-        {
-        if ( iHandleArray[i].iTestUid == aTestUid )
-            {
-            aStreamId = iHandleArray[i].iStreamId;
-            return KErrNone;
-            }
-        }    
-    
-    aStreamId = 0;
-    return KErrNotFound;    
-    }   
-    
-
-// ---------------------------------------------------------------------------
-// Returns count.
-// ---------------------------------------------------------------------------
-//     
-TInt CDiagResultsDbTestRecordHandle::Count() const
-    {
-    return iHandleArray.Count();
-    }
-   
-
-// ---------------------------------------------------------------------------
-// Return the index of uid.
-// ---------------------------------------------------------------------------
-//       
-TInt CDiagResultsDbTestRecordHandle::FindIndex ( TUid aTestUid ) const
-    {
-    
-    for ( TInt i=0; i < iHandleArray.Count(); ++i )
-        {
-        if ( iHandleArray[i].iTestUid == aTestUid )
-            {
-            return i;
-            }
-        }
-        
-    return KErrNotFound;
-    }    
-
-// ---------------------------------------------------------------------------
-// Check does the uid exists in the array.
-// ---------------------------------------------------------------------------
-//     
-TBool CDiagResultsDbTestRecordHandle::Find ( TUid aTestUid ) const
-    {
-    
-    for ( TInt i=0; i < iHandleArray.Count(); ++i )
-        {
-        if ( iHandleArray[i].iTestUid == aTestUid )
-            {
-            return ETrue;
-            }
-        }
-        
-    return EFalse;
-    }      
-   
-   
-// ---------------------------------------------------------------------------
-// Remove result handle from the array.
-// ---------------------------------------------------------------------------
-//    
-void CDiagResultsDbTestRecordHandle::RemoveL( TStreamId& aItem )
-    {
-    
-    for (TInt i=0; i < iHandleArray.Count(); ++i)
-        {
-        if ( iHandleArray[i].iStreamId == aItem )
-            {
-            iHandleArray.Remove( i );
-            break;
-            }
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// Remove result handle from the array.
-// ---------------------------------------------------------------------------
-//    
-void  CDiagResultsDbTestRecordHandle::RemoveL( TUid aItemUid )
-    {
-     for (TInt i=0; i < iHandleArray.Count(); ++i)
-        {
-        if ( iHandleArray[i].iTestUid == aItemUid )
-            {
-            iHandleArray.Remove( i );
-            break;
-            }
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// Update one result handle. This can be done when one stream(test result)
-// is moved into the last results buffer.
-// ---------------------------------------------------------------------------
-//  
-void CDiagResultsDbTestRecordHandle::UpdateL( TTestResultHandle& aResultHandle )
-    {
-    TInt index = FindIndex( aResultHandle.iTestUid );
-    
-    if ( index != KErrNone )
-        {
-        User::Leave( KErrNotFound );
-        }
-        
-    iHandleArray[index] = aResultHandle;    
-    }
-
-
-// ---------------------------------------------------------------------------
-// Simple Get.
-// ---------------------------------------------------------------------------
-//  
-const CDiagResultsDbRecordEngineParam& CDiagResultsDbTestRecordHandle::GetEngineParam() const
-    {
-    return *iEngineParam;
-    }
-  
-  
-// ---------------------------------------------------------------------------
-// Externalize Handle into a stream. Typically this is used when
-// handle is externalized into the store.
-// ---------------------------------------------------------------------------
-//   
-void CDiagResultsDbTestRecordHandle::ExternalizeL( RWriteStream& aStream ) const
-    {
-    iRecordId.ExternalizeL( aStream );
-    iTestRecordInfo.ExternalizeL( aStream );
-    
-    TInt count =  Count();
-    aStream.WriteInt16L( count );
-    
-    for (TInt i = 0; i < count; ++i)
-        {
-        // Write the streamId
-        iHandleArray[i].iStreamId.ExternalizeL( aStream ); 
-        // Write the plug-uid
-        aStream.WriteInt32L( iHandleArray[i].iTestUid.iUid ); 
-        }
-        
-    iEngineParam->ExternalizeL(aStream);
-    } 
-
-
-// ---------------------------------------------------------------------------
-// Internalize from a stream. Typically this is used when handle is read
-// from the store.
-// ---------------------------------------------------------------------------
-//     
-void CDiagResultsDbTestRecordHandle::InternalizeL( RReadStream& aStream )
-    {
-    iRecordId.InternalizeL( aStream );
-    iTestRecordInfo.InternalizeL( aStream );
-    
-    TInt count = aStream.ReadInt16L();
-    
-    for (TInt i = 0; i < count; ++i)
-        {
-        TTestResultHandle handle;
-        handle.iStreamId.InternalizeL( aStream );
-        handle.iTestUid.iUid = aStream.ReadInt32L();
-        iHandleArray.Append( handle );
-        }
-    
-    iEngineParam = CDiagResultsDbRecordEngineParam::NewL ( aStream );
-    
-    }
-            
-
--- a/devicediagnosticsfw/diagresultsdb/server/src/diagresultsdbtestrecordsubsession.cpp	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,645 +0,0 @@
-/*
-* 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 "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:  Class definition of 
-*
-*/
-
-
-#include "diagresultsdatabasecommon.h"
-#include "diagresultsdbsession.h"
-#include "diagresultsdbtestrecordsubsession.h"
-#include "diagresultsdbtestrecord.h"
-#include "diagresultsdbtestrecordhandle.h"
-#include "diagresultsdbrecordengineparam.h"
-#include "diagresultsdatabase.h"
-
-#include <s32mem.h> 
-
-//this matches the size in the client side.
-const TInt KResultsDatabaseSubsessionBufferLength = 0x250;
-const TInt KResultsDatabaseSubsessionGranuality = 50;
-
-// ---------------------------------------------------------------------------
-// NewL.
-// ---------------------------------------------------------------------------
-// 
-CDiagResultsDbTestRecordSubsession* CDiagResultsDbTestRecordSubsession::NewL(
-                             CDiagResultsDbSession* aSession, 
-                             CDiagResultsDbTestRecordHandle* aTestRecordHandle,
-                             TBool aReadonly
-                             )
-    {
-    CDiagResultsDbTestRecordSubsession* self = new( ELeave ) 
-                CDiagResultsDbTestRecordSubsession( aSession, 
-                                                    aTestRecordHandle,
-                                                    aReadonly
-                                                    );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor. Checks has the test record been written into the DB.
-// If it hasn't been written, destructor writes the data. 
-// This situation happens when for example client dies suddenly.
-// ---------------------------------------------------------------------------
-// 
-CDiagResultsDbTestRecordSubsession::~CDiagResultsDbTestRecordSubsession()
-    {
-    delete iTestRecordHandle;
-    iTestRecordHandle = NULL;
-    
-    if ( iBuffer )
-        {
-        iBuffer->Reset();
-        delete iBuffer;
-        iBuffer = NULL;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ConstructL. Creates the server side buffer.
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbTestRecordSubsession::ConstructL()
-    {
-    // buffer for IPC. Objects are transmitted in this buffer.
-	// Size of the buffer has to be selected carefully.
-	// It should be 'large enough' but not too large.
-	// If you see too many overflows, increase the size.
-	// Subsession buffer can be smaller than the session buffer
-	iBuffer = CBufFlat::NewL( KResultsDatabaseSubsessionGranuality  );
-	iBuffer->ResizeL( KResultsDatabaseSubsessionBufferLength );
-    }
-
-
-// ---------------------------------------------------------------------------
-// Handles subsession requests. 
-// ---------------------------------------------------------------------------
-// 
-TBool CDiagResultsDbTestRecordSubsession::DispatchMessageL(
-                                                    const RMessage2& aMessage)
-    {
-    TInt function = aMessage.Function();
-    switch( function )
-		{
-        case DiagResultsDbCommon::ESubsessionGetTestRecordId:
-            {            
-            TPckgBuf<TUid> uid( iTestRecordHandle->RecordInfo().iRecordId);
-            aMessage.Write( 0, uid );
-            return EFalse;
-            }
-        
-        case DiagResultsDbCommon::ESubsessionTestCompleted: //SYNC
-            {
-            iMsg = aMessage;
-           
-            CompleteTestRecordL( aMessage );
-            
-            aMessage.Complete( KErrNone );
-            
-            //Do compacting after subsession is completed to
-            //minimize disk space usage
-            if ( iSession->SessionHasWritten() )
-                {
-                iSession->Store().CompactDatabase();
-                }
-            
-            //Not asynchronous, but this prevents calling Complete again.
-            return ETrue;
-            }
-  
-        case DiagResultsDbCommon::ESubsessionGetStatus:
-            {
-            GetStatusL ( aMessage );
-            return EFalse;
-            }
-		case DiagResultsDbCommon::ESubsessionSuspend: //SYNC
-		    {
-		    iMsg = aMessage;
-           
-            SuspendTestRecordL( aMessage );
-            
-            aMessage.Complete( KErrNone );
-            
-            //Do compacting after subsession is completed to
-            //minimize disk space usage
-            if ( iSession->SessionHasWritten() )
-                {
-                iSession->Store().CompactDatabase();
-                }
-            
-            //Not asynchronous, but this prevents calling Complete again.
-            return ETrue;
-		    }
-            
-        case DiagResultsDbCommon::ESubsessionIsTestCompleted:
-            {
-            TPckgBuf<TBool> pckg ( Completed() );
-            aMessage.Write( 0, pckg );
-            return EFalse;
-            }
-        case DiagResultsDbCommon::ESubsessionGetRecordInfo:
-            {
-            TPckgBuf<TDiagResultsDatabaseTestRecordInfo> pckg(
-                                                 iTestRecordHandle->RecordInfo());
-            aMessage.Write( 0, pckg );
-            return EFalse;
-            }
-        case DiagResultsDbCommon::ESubsessionGetTestUids:
-            {
-            GetTestUidsL( aMessage );
-            return EFalse;
-            }
-            
-		case DiagResultsDbCommon::ESubsessionIsSuspended:
-		    {
-		    TBool suspended = EFalse;
-            if ( iTestRecordHandle->RecordInfo().iRecordStatus ==
-                    TDiagResultsDatabaseTestRecordInfo::ESuspended )
-                {
-                suspended = ETrue;
-                }
-                
-            TPckgBuf<TBool> pckg ( suspended );
-            aMessage.Write( 0, pckg );
-            return EFalse;
-		    }
-		
-		case DiagResultsDbCommon::ESubsessionGetEngineParam:
-		    {
-		    GetEngineParamL( aMessage );
-            return EFalse;
-		    }    
-		    
-        case DiagResultsDbCommon::ESubsessionLogTestResult: //ASYNC
-            {
-            iMsg = aMessage;
-            iCompletedLogTest = EFalse;
-            LogTestResultL( aMessage );
-            return ETrue;
-            }
-        
-        case DiagResultsDbCommon::ESubsessionCancelLogTestResult: 
-            {
-            CancelLogTestResult( aMessage );
-            
-            return EFalse;
-            }
-
-        case DiagResultsDbCommon::ESubsessionGetTestResult:
-            {
-            GetTestResultL( aMessage );
-            return EFalse;
-            }
-            
-        case DiagResultsDbCommon::ESubsessionGetTestResults:
-            {
-            GetTestResultsL( iTestRecordHandle, aMessage );
-            return EFalse;
-            }
-        default:
-            break;
-		}
-	aMessage.Panic( _L("DiagSrv panic: unknown command"), 
-	                    DiagResultsDbCommon::EBadRequest );
-	return EFalse;
-	}
-
-
-// ---------------------------------------------------------------------------
-// Returns record complete status.
-// ---------------------------------------------------------------------------
-// 
-TBool CDiagResultsDbTestRecordSubsession::Completed() const
-    {
-    TBool completed = EFalse;
-     
-    if ( iTestRecordHandle->RecordInfo().iCompleted )
-        {
-        completed = ETrue;
-        }
-    return completed;         
-    }
-
-
-// ---------------------------------------------------------------------------
-// Maps server side status into user side status.
-// ---------------------------------------------------------------------------
-//  
-void CDiagResultsDbTestRecordSubsession::GetStatusL ( const RMessage2& aMessage )
-    {
-    
-    RDiagResultsDatabaseRecord::TRecordStatus status;
-    
-    if ( iTestRecordHandle->RecordInfo().iCompleted )
-        {
-        
-        if ( iTestRecordHandle->RecordInfo().iRecordStatus == 
-                                    TDiagResultsDatabaseTestRecordInfo::EOpen )
-            {
-            
-            status = RDiagResultsDatabaseRecord::EPartiallyCompleted;
-            }
-        else if ( iTestRecordHandle->RecordInfo().iRecordStatus == 
-                                    TDiagResultsDatabaseTestRecordInfo::ESuspended )
-            {
-            status = RDiagResultsDatabaseRecord::EPartiallyCompleted;
-            }
-        else if (  iTestRecordHandle->RecordInfo().iRecordStatus == 
-                                    TDiagResultsDatabaseTestRecordInfo::ECompleted )   
-            {
-            status = RDiagResultsDatabaseRecord::ECompleted;
-            }     
-        else 
-        	{        		  
-            User::Panic( _L("DiagDbServer error"), DiagResultsDbCommon::EGetStatusPanic);                  
-			status = RDiagResultsDatabaseRecord::ECrashed;	
-        	}
-        }
-    else // iCompleted == EFalse
-        {
-         if ( iTestRecordHandle->RecordInfo().iRecordStatus == 
-                                    TDiagResultsDatabaseTestRecordInfo::EOpen )
-            {
-            if ( iSession->SessionHasWritten() )
-                {
-                status = RDiagResultsDatabaseRecord::EOpen;
-                }
-            else
-                {
-                status = RDiagResultsDatabaseRecord::ECrashed;
-                }
-            }
-        else if ( iTestRecordHandle->RecordInfo().iRecordStatus == 
-                                    TDiagResultsDatabaseTestRecordInfo::ESuspended )
-            {
-            status = RDiagResultsDatabaseRecord::ESuspended;
-            }
-         // TDiagResultsDatabaseTestRecordInfo::ECompleted is not valid combination either
-        else     
-            {
-            User::Panic( _L("DiagDbServer error"), DiagResultsDbCommon::EGetStatusPanic);
-			status = RDiagResultsDatabaseRecord::ECrashed;
-            }        
-        }
-        
-    TPckgBuf<RDiagResultsDatabaseRecord::TRecordStatus> pckg( status );
-    aMessage.Write( 0, pckg );    
-    }
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//     
-CDiagResultsDbTestRecordSubsession::CDiagResultsDbTestRecordSubsession(
-                            CDiagResultsDbSession* aSession, 
-                            CDiagResultsDbTestRecordHandle* aTestRecordHandle,
-                            TBool aReadonly
-                            ):
-        iSession( aSession ), iTestRecordHandle( aTestRecordHandle ), 
-        iReadonly (aReadonly), iCompletedLogTest( EFalse )
-    {
-	
-    }
-
-// ---------------------------------------------------------------------------
-// Read-only subsession or not
-// ---------------------------------------------------------------------------
-// 
-TBool CDiagResultsDbTestRecordSubsession::ReadonlySubsession() const
-    {
-    return iReadonly;
-    }
-
-// ---------------------------------------------------------------------------
-// Retrieve session params.
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbTestRecordSubsession::GetEngineParamL( const RMessage2& aMessage )
-    {    
-    iSession->ReadBufferL( aMessage, 0, iBuffer );
-
-	RBufWriteStream stream ( *iBuffer );
-	CleanupClosePushL( stream );
-
-    iTestRecordHandle->GetEngineParam().ExternalizeL( stream );    
-    
-    stream.CommitL();
-    
-	CleanupStack::PopAndDestroy( &stream );
-	
-	 // if client buffer is not big enough	    
-    if ( iBuffer->Ptr(0).Length() > aMessage.GetDesMaxLength(0) )
-        {
-        User::Leave( KErrOverflow );
-        }
-    
-    aMessage.Write( 0, iBuffer->Ptr(0) ); //write to client's address space 
-    }
-
-
-// ---------------------------------------------------------------------------
-// Log data into the store. This does not write data into the file.
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbTestRecordSubsession::LogTestResultL( 
-                                                const RMessage2& aMessage )
-    {
-    if ( Completed() )
-        {
-        User::Leave( KErrAlreadyExists );
-        }
-        
-    if ( ReadonlySubsession() )
-        {
-        User::Leave( KErrAccessDenied  );
-        }
-        
-    //Writing anymore results into suspended record is considered as resume   
-    iTestRecordHandle->RecordInfo().iRecordStatus = 
-                                    TDiagResultsDatabaseTestRecordInfo::EOpen;
-        
-    iSession->ReadBufferL( aMessage, 0, iBuffer );
-    
-    RBufReadStream stream( *iBuffer );
-    CleanupClosePushL ( stream );
-    
-    CDiagResultsDatabaseItem * item = 
-                            CDiagResultsDatabaseItem::NewL ( stream );
-    CleanupStack::PushL( item );    
-
-    //Update handle + write data into the file. Handle and DB must be in sync.
-    TInt error = iSession->Store().CompleteTestResult( ETrue, 
-                                                       *iTestRecordHandle, 
-                                                       *item );
-    
-    //item has been written, so delete the object
-    CleanupStack::PopAndDestroy( item ); 
-    CleanupStack::PopAndDestroy( &stream );
-    
-    iCompletedLogTest = ETrue;
-    
-    // LogTestResult is asynchronous.
-    if( error == KErrNone )
-        {
-        iSession->HasWritten();
-        aMessage.Complete( KErrNone );   
-        }
-    else 
-        {
-        if ( error == KErrDiskFull )
-            {
-            iSession->DoNotCompact();
-            }
-            
-        aMessage.Complete ( error );
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// Cancel LogTestResultL.
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbTestRecordSubsession::CancelLogTestResult( 
-                                               const RMessage2& /*aMessage*/ )
-    {
-    if (!iMsg.IsNull() && !iCompletedLogTest )
-        {  
-        iMsg.Complete( KErrCancel ); //Complete client's request. 
-        }
-    }
-
-    
-// ---------------------------------------------------------------------------
-// Returns the test record.
-// ---------------------------------------------------------------------------
-// 
-CDiagResultsDbTestRecordHandle* CDiagResultsDbTestRecordSubsession::CurrentTestRecordHandle()
-    {
-    return iTestRecordHandle;
-    }
-
-// ---------------------------------------------------------------------------
-// Finds one test result and serialize it. If it is not found, return KErrNone
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbTestRecordSubsession::GetTestResultL( 
-                                                   const RMessage2& aMessage )
-    {
-    iSession->ReadBufferL( aMessage, 1, iBuffer );
-    
-    TPckgBuf<TUid> uidpckg;
-	aMessage.Read(0, uidpckg);
-    TUid testUid = uidpckg(); 
-	
-	//Find right stream Id from the handle
-	TStreamId id;
-	TInt error = iTestRecordHandle->MatchingStreamId( testUid, id );
-	
-	User::LeaveIfError ( error );
-	
-	CDiagResultsDatabaseItem* item = 
-	     iSession->Store().OpenExistingTestResultL( id );
-	CleanupStack::PushL( item );
-	  
-	RBufWriteStream stream ( *iBuffer );
-	CleanupClosePushL( stream );
-	item->ExternalizeL( stream );
-	stream.CommitL();
-	CleanupStack::PopAndDestroy( &stream );
-	
-	CleanupStack::PopAndDestroy( item );
-	          
-	if ( iBuffer->Size() == 0 ) // Item was not found
-	    {
-	    User::Leave ( KErrNotFound );
-	    }
-	
-	 // if client buffer is not big enough	    
-    if ( iBuffer->Ptr(0).Length() > aMessage.GetDesMaxLength(1) )
-        {
-        User::Leave( KErrOverflow );
-        }
-    
-    aMessage.Write( 1, iBuffer->Ptr(0) ); //write to client's address space 
-   
-    }
-
-// ---------------------------------------------------------------------------
-// Complete test record i.e. write it to file in parts.
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbTestRecordSubsession::CompleteTestRecordL( 
-                                                   const RMessage2& aMessage )
-    {
-    if ( Completed() )
-        {
-        User::Leave( KErrAlreadyExists );
-        }
-    if ( ReadonlySubsession() )
-        {
-        User::Leave( KErrAccessDenied  );
-        }    
-    
-    TPckgBuf<TBool> completeFullyPckg;
-	aMessage.Read(0, completeFullyPckg);
-    TBool completeFully = completeFullyPckg();
-    
-    if ( completeFully )
-        {
-        iTestRecordHandle->RecordInfo().iRecordStatus = 
-                                TDiagResultsDatabaseTestRecordInfo::ECompleted;
-                                
-        iTestRecordHandle->RecordInfo().iCompleted = ETrue;
-        }
-    else // partial complete. iRecordStatus is not changed.
-        {
-        iTestRecordHandle->RecordInfo().iCompleted = ETrue;
-        }
-    
-    //Cleanup is not necessary if logging failed.
-    TInt error = iSession->Store().CompleteRecord( *iTestRecordHandle );
-    
-    if ( error == KErrDiskFull )
-            {
-            iSession->DoNotCompact();
-            }
-   
-    User::LeaveIfError ( error );         
-    
-    iSession->HasWritten();
-    
-    iSession->Store().CleanUpDatabaseL( ETrue );
-    }
-
-
-// ---------------------------------------------------------------------------
-// Suspend test record i.e. write it to file in parts.
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbTestRecordSubsession::SuspendTestRecordL( 
-                                                   const RMessage2& /*aMessage*/ )
-    {
-    if ( Completed() )
-        {
-        User::Leave( KErrAlreadyExists );
-        }
-    if ( ReadonlySubsession() )
-        {
-        User::Leave( KErrAccessDenied  );
-        }    
-    
-    iTestRecordHandle->RecordInfo().iRecordStatus = 
-                                TDiagResultsDatabaseTestRecordInfo::ESuspended;
-
-    iTestRecordHandle->RecordInfo().iCompleted = EFalse;
-                                
-    TInt error = iSession->Store().CompleteRecord( *iTestRecordHandle );
-    
-     if ( error == KErrDiskFull )
-            {
-            iSession->DoNotCompact();
-            }
-   
-    User::LeaveIfError ( error );         
-        
-    iSession->Store().CleanUpDatabaseL( ETrue );
-    
-    iSession->HasWritten();
-    }
-
-// ---------------------------------------------------------------------------
-// Observers function. Observers store after CompleteTestRecordL has been
-// called.
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbTestRecordSubsession::CompletedRecordL( TInt aError )
-    {
-    iMsg.Complete( aError ); // complete async function
-    }
-
-
-// ---------------------------------------------------------------------------
-// Get test results of a test record.
-// ---------------------------------------------------------------------------
-// 
-void CDiagResultsDbTestRecordSubsession::GetTestResultsL( 
-                                        CDiagResultsDbTestRecordHandle* aHandle, 
-                                        const RMessage2& aMessage )
-    {
-    iSession->ReadBufferL( aMessage, 0, iBuffer );
-    
-    	
-    RBufWriteStream stream ( *iBuffer );
-    CleanupClosePushL ( stream );
-    stream.WriteInt16L( aHandle->Count() );
-	
-	CDiagResultsDbTestRecord* testrecord = 
-	    iSession->Store().OpenExistingRecordL( TUid::Uid(aHandle->RecordId().Value()), ETrue );
-	CleanupStack::PushL (testrecord);
-	
-	for ( TInt i = 0; i < aHandle->Count(); ++i )
-	    {
-	    const CDiagResultsDatabaseItem& item = (*testrecord)[i];
-	    item.ExternalizeL( stream );
-	    }
-	    
-    CleanupStack::PopAndDestroy( testrecord );
-    
-    // if client buffer is not big enough
-    if ( iBuffer->Ptr(0).Length() > aMessage.GetDesMaxLength(0) ) 
-        {
-        User::Leave( KErrOverflow );
-        }
-
-    aMessage.Write( 0, iBuffer->Ptr(0) );  //write to client's address space
-    
-    CleanupStack::PopAndDestroy( &stream );
-    } 
-
-// ---------------------------------------------------------------------------
-// Get UIDs of test results that are stored inside the test record.
-// ---------------------------------------------------------------------------
-//     
-void CDiagResultsDbTestRecordSubsession::GetTestUidsL( 
-                                            const RMessage2& aMessage )
-    {
-    iSession->ReadBufferL( aMessage, 0, iBuffer );
-    
-   	RBufWriteStream stream ( *iBuffer );
-   	CleanupClosePushL( stream );
-
-   	//Write how many uids there are.
-   	stream.WriteInt16L( iTestRecordHandle->Count() );
-   	
-	for (TInt i = 0; i < iTestRecordHandle->Count(); ++i)
-	    {
-	    stream.WriteInt32L( iTestRecordHandle->Get(i).iTestUid.iUid ) ;        
-	    }
-	        
-	// if client buffer is not big enough        
-    if ( iBuffer->Ptr(0).Length() > aMessage.GetDesMaxLength(0) ) 
-        {
-        User::Leave( KErrOverflow );
-        }
-    
-    
-    aMessage.Write( 0, iBuffer->Ptr(0) ); //write to client's address space 
-   
-    CleanupStack::PopAndDestroy( &stream );
-    }
--- a/devicediagnosticsfw/group/bld.inf	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* 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 "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:  Bldmake file
-*
-*/
-
-#include <platform_paths.hrh>
-
-
-	#include "../diagframework/group/bld.inf"
-	#include "../diagpluginbase/group/bld.inf"
-	#include "../diagresultsdb/client/group/bld.inf"
-	#include "../diagresultsdb/server/group/bld.inf"
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
- 
-	../rom_files/diagframework.iby						CORE_MW_LAYER_IBY_EXPORT_PATH(diagframework.iby)        
-	../rom_files/diagpluginbase.iby						CORE_MW_LAYER_IBY_EXPORT_PATH(diagpluginbase.iby)
-	../rom_files/diagresultsdatabase.iby			CORE_MW_LAYER_IBY_EXPORT_PATH(diagresultsdatabase.iby)
-	../rom_files/diagresultsdatabaseserver.iby CORE_MW_LAYER_IBY_EXPORT_PATH(diagresultsdatabaseserver.iby)
--- a/devicediagnosticsfw/rom_files/diagframework.iby	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* 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 "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:  Image description file for project Diagnostis Framework
-*
-*/
-
-
-#ifndef DIAGFRAMEWORK_IBY
-#define DIAGFRAMEWORK_IBY
-
-#ifdef FF_DEVICE_DIAGNOSTICS_APP 
-
-#include <data_caging_paths_for_iby.hrh>
-
-file=ABI_DIR\BUILD_DIR\diagframework.dll          SHARED_LIB_DIR\diagframework.dll
-
-#endif
-
-#endif // DIAGFRAMEWORK_IBY
--- a/devicediagnosticsfw/rom_files/diagpluginbase.iby	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* 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 "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:  Image description file for project Diagnostics Plugin Base
-*
-*/
-
-
-#ifndef DIAGPLUGINBASE_IBY
-#define DIAGPLUGINBASE_IBY
-
-#ifdef FF_DEVICE_DIAGNOSTICS_APP 
-
-#include <data_caging_paths_for_iby.hrh>
-
-file=ABI_DIR\BUILD_DIR\diagpluginbase.dll          SHARED_LIB_DIR\diagpluginbase.dll
-
-#endif
-
-#endif // DIAGPLUGINBASE_IBY
--- a/devicediagnosticsfw/rom_files/diagresultsdatabase.iby	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* 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 "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:  Image description file for project Diagnostics Plugin Base
-*
-*/
-
-
-#ifndef DIAGRESULTSDATABASE_IBY
-#define DIAGRESULTSDATABASE_IBY
-
-#ifdef FF_DEVICE_DIAGNOSTICS_APP 
-
-#include <data_caging_paths_for_iby.hrh>
-
-file=ABI_DIR\BUILD_DIR\diagresultsdatabase.dll          SHARED_LIB_DIR\diagresultsdatabase.dll
-
-#endif
-
-#endif // DIAGRESULTSDATABASE_IBY
--- a/devicediagnosticsfw/rom_files/diagresultsdatabaseserver.iby	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* 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 "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:  Image description file for project Diagnostics Plugin Base
-*
-*/
-
-
-#ifndef DIAGRESULTSDATABASESERVER_IBY
-#define DIAGRESULTSDATABASESERVER_IBY
-
-#ifdef FF_DEVICE_DIAGNOSTICS_APP 
-
-#include <data_caging_paths_for_iby.hrh>
-
-file=ABI_DIR\BUILD_DIR\diagresultsdatabaseserver.exe        PROGRAMS_DIR\diagresultsdatabaseserver.exe
-
-#endif
-
-#endif // DIAGRESULTSDATABASESERVER_IBY
--- a/group/bld.inf	Fri May 14 16:42:50 2010 +0300
+++ b/group/bld.inf	Thu May 27 13:43:36 2010 +0300
@@ -37,9 +37,6 @@
 //remotemgmt_plat
 #include "../remotemgmt_plat/group/bld.inf"
 
-//devicediagnosticsfw
-#include "../devicediagnosticsfw/group/bld.inf"
-
 //dcmofw
 #include "../dcmofw/group/bld.inf"
 
--- a/remotemgmt_plat/diagnostics_framework_api/diagnostics_framework_api.metaxml	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-<?xml version="1.0" ?>
-<api id="6785e3ef1cc0173dbbadb6541864411d" dataversion="1.0">
-  <name>Diagnostics Framework API</name>
-  <description>An API for loading and executing diagnostics test cases.</description>
-  <type>c++</type>
-  <subsystem>devicediagnosticsfw</subsystem>
-  <libs>
-    <lib name="diagframework.lib" />
-  </libs>
-  <release category="domain"/>
-  <attributes>
-     <!-- This indicates wether the api provedes separate html documentation -->
-     <!-- or is the additional documentation generated from headers. -->
-     <!-- If you are unsuere then the value is "no" -->
-     <htmldocprovided>no</htmldocprovided>
-     <adaptation>no</adaptation>
-  </attributes>
-</api>
--- a/remotemgmt_plat/diagnostics_framework_api/group/bld.inf	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 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:  File that exports the files belonging to 
-:                Diagnostics Framework API
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/diagframeworkdebug.h     MW_LAYER_PLATFORM_EXPORT_PATH(DiagFrameworkDebug.h)
-../inc/diagengineobserver.h     MW_LAYER_PLATFORM_EXPORT_PATH(DiagEngineObserver.h)
-../inc/diagappcommand.h     MW_LAYER_PLATFORM_EXPORT_PATH(DiagAppCommand.h)
-../inc/diagengine.h     MW_LAYER_PLATFORM_EXPORT_PATH(DiagEngine.h)
-../inc/diagpluginexecplan.h     MW_LAYER_PLATFORM_EXPORT_PATH(DiagPluginExecPlan.h)
-../inc/diagenginecommon.h     MW_LAYER_PLATFORM_EXPORT_PATH(DiagEngineCommon.h)
-../inc/diagexecplanentry.h     MW_LAYER_PLATFORM_EXPORT_PATH(DiagExecPlanEntry.h)
-../inc/diagenginewatchdogtypes.h     MW_LAYER_PLATFORM_EXPORT_PATH(DiagEngineWatchdogTypes.h)
--- a/remotemgmt_plat/diagnostics_framework_api/inc/diagappcommand.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* 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 "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:  List of commands that plug-ins can request from application.
-*
-*/
-
-
-#ifndef DIAGAPPCOMMAND_H
-#define DIAGAPPCOMMAND_H
-
-/**
-*  Diagnostics Application command types.
-*
-*  This is a list of command that plug-in can request from the application.
-* 
-*/
-enum TDiagAppCommand
-    {
-    /**
-    * EDiagAppCommandSwitchToMainView
-    *
-    * This command can be used by interactive view plug-in to notify the 
-    * application that plug-in is done with current view and application can
-    * switch to main view. View to switch to is determined by the application.
-    *
-    * aParam1:      No parameter is needed. Always pass NULL.
-    * aParam2:      No parameter is needed. Always pass NULL.
-    *
-    * @code
-    *   
-    *   ExecutionParam().Engine().ExecuteAppCommandL( 
-    *       EDiagAppCommandSwitchToMainView, 
-    *       NULL,
-    *       NULL );
-    *   
-    *   or
-    *   
-    *   TRAPD( err, ExecutionParam().Engine().ExecuteAppCommandL( 
-    *                   EDiagAppCommandSwitchToMainView, 
-    *                   NULL,
-    *                   NULL ) );
-    *   
-    */
-    EDiagAppCommandSwitchToMainView = 1
-    };
-
-#endif // DIAGAPPCOMMAND_H
-
-// End of File
-
--- a/remotemgmt_plat/diagnostics_framework_api/inc/diagengine.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,295 +0,0 @@
-/*
-* 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 "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:  Class declaration for CDiagEngine
-*
-*/
-
-
-#ifndef DIAGENGINE_H
-#define DIAGENGINE_H
-
-
-// system includes
-#include <e32base.h>                // CBase
-
-// user includes.
-#include <DiagEngineCommon.h>       // MDiagEngineCommon
-
-// Forward declarations
-class MDiagEngineObserver;
-class RDiagResultsDatabase;
-class CDiagPluginPool;
-class CDiagEngineImpl;
-
-
-/**
-*  Diagnostics Framework Engine 
-*
-*  This class is used by the client to execute tests and load plug-ins.
-*
-*  @since S60 v5.0
-*/
-NONSHARABLE_CLASS( CDiagEngine ) : public CBase,
-                                   public MDiagEngineCommon
-    {
-public:
-
-    /**
-    * Two-phased constructors. 
-    *
-    * @param aViewAppUi    View App Ui that is using this engine.
-    * @param aObserver     Engine observer.
-    * @param aDbSession    Session to RDiagResultDatabase to create record.
-    * @param aPluginPool   Initialized plug-in pool that holds plug-ins.
-    * @param aDisableDependency    if ETrue, plug-ins should execute
-    *                      event if dependencies are not met.
-    * @param aExecutionBatch array of plug-ins to execute.
-    * @return New instance of CDiagEngine*.
-    */
-    IMPORT_C static CDiagEngine* NewL( CAknViewAppUi&          aViewAppUi, 
-                                       MDiagEngineObserver&    aObserver,
-                                       RDiagResultsDatabase&   aDbSession,
-                                       CDiagPluginPool&        aPluginPool,
-                                       TBool                   aDisableDependency,
-                                       const RArray< TUid >&   aExecutionBatch );
-
-    /**
-    * Two-phased constructors. This is identical to NewL, except that it will 
-    * keep newl instance in clean up stack.
-    *
-    * @param aViewAppUi    View App Ui that is using this engine.
-    * @param aObserver     Engine observer.
-    * @param aDbSession    Session to RDiagResultDatabase to create record.
-    * @param aPluginPool   Initialized plug-in pool that holds plug-ins.
-    * @param aDisableDependency    if ETrue, plug-ins should execute
-    *                      event if dependencies are not met.
-    * @param aExecutionBatch array of plug-ins to execute.
-    * @return New instance of CDiagEngine*.
-    */
-    IMPORT_C static CDiagEngine* NewLC( CAknViewAppUi&          aViewAppUi, 
-                                        MDiagEngineObserver&    aObserver,
-                                        RDiagResultsDatabase&   aDbSession,
-                                        CDiagPluginPool&        aPluginPool,
-                                        TBool                   aDisableDependency,
-                                        const RArray< TUid >&   aExecutionBatch );
-    /**
-    * Two-phased constructors. 
-    *
-    * @param aViewAppUi    View App Ui that is using this engine.
-    * @param aObserver     Engine observer.
-    * @param aDbSession    Session to RDiagResultDatabase to create record.
-    * @param aPluginPool   Initialized plug-in pool that holds plug-ins.
-    * @param aIncompleteRecordUid - Uid to the record to resume.
-    *   
-    * @return New instance of CDiagEngine*.
-    */
-    IMPORT_C static CDiagEngine* NewL( CAknViewAppUi&          aViewAppUi, 
-                                       MDiagEngineObserver&    aObserver,
-                                       RDiagResultsDatabase&   aDbSession,
-                                       CDiagPluginPool&        aPluginPool,
-                                       TUid                    aIncompleteRecordUid );
-
-    /**
-    * Two-phased constructors. This is identical to NewL, except that it will 
-    * keep newl instance in clean up stack.
-    *
-    * @param aViewAppUi    View App Ui that is using this engine.
-    * @param aObserver     Engine observer.
-    * @param aDbSession    Session to RDiagResultDatabase to create record.
-    * @param aPluginPool   Initialized plug-in pool that holds plug-ins.
-    * @param aIncompleteRecordUid - Uid to the record to resume.
-    *
-    * @return New instance of CDiagEngine*.
-    */
-    IMPORT_C static CDiagEngine* NewLC( CAknViewAppUi&          aViewAppUi, 
-                                        MDiagEngineObserver&    aObserver,
-                                        RDiagResultsDatabase&   aDbSession,
-                                        CDiagPluginPool&        aPluginPool,
-                                        TUid                    aIncompleteRecordUid );
-    
-    /**
-    * Destructor.
-    */
-    virtual ~CDiagEngine();
-
-    /**
-    * Execute tests. This is a asynchronous method. 
-    * First, execution plan is sent via MDiagEngineObserver::TestExecutionBeginL(). 
-    * Then, during the execution, MDiagEngineObserver::TestExecutionProgressL() 
-    * may be called multiple times to notify execution progress.  
-    * When execution is completed, 
-    * MDiagEngineObserver::TestExecutionCompletedL() is called.
-    */
-    IMPORT_C void ExecuteL();
-
-    /**
-    * Set custom execution parameter.
-    *
-    * @param aCustomParams - Custom data. Owership is not transefrred
-    *   so, the client must delete it once test is completed.
-    *   Desipte it being a pointer, ownership cannot be transferred 
-    *   because engine does not know the type of pointer. 
-    */
-    IMPORT_C void SetCustomParam( TAny* aCustomParams );
-
-    /**
-    * Suspend execution.  This can be used to suspend test execution.
-    * If currently executing test is suspendable, it will be suspended and resumed.
-    * Otherwise, it will be stopped. When CDiagEngine::ResumeL is called, 
-    * the stopped test will be restarted from the beginning. Already executed
-    * tests are not affected. 
-    * 
-    * After engine is suspended, MDiagEngineObserver::TestExecutionSuspendedL() is called.
-    *
-    */
-    IMPORT_C void SuspendL();
-
-    /**
-    * Resume suspended execution. This function can be used to resume 
-    * previously suspended execution. If execution was suspended on a test
-    * that cannot be suspended, the test will restart. Previously executed tests
-    * will not be re-run. Also, dependent tests will not be re-run.  If 
-    * the suspended test fails to resume (e.g. leaves), it will be marked as
-    * failure.
-    *
-    * After engine is resumed, MDiagEngineObserver::TestExecutionResumedL() is called.
-    */
-    IMPORT_C void ResumeL();
-    
-    
-    // ADO & Platformization Changes
-    IMPORT_C TBool GetPluginDependencyL();
-
-public: // from MDiagEngineCommon
-
-    /**
-    * Returns current execution plan.
-    * @see MDiagEngineCommon::ExecutionPlanL
-    */
-    virtual const MDiagPluginExecPlan& ExecutionPlanL() const;
-
-    /**
-    * Stop current execution of tests.
-    * @see MDiagEngineCommon::ExecutionStopL
-    */
-    virtual void ExecutionStopL( TCancelMode aCancelMode );
-    
-    /**
-    * Resets test execution watchdog timer.
-    * @see MDiagEngineCommon::ResetWatchdog
-    */
-    virtual void ResetWatchdog();
-    
-    /**
-    * Resets test execution watchdog timer.
-    * @see MDiagEngineCommon::ResetWatchdog
-    */
-    virtual void ResetWatchdog( TDiagEngineWatchdogTypes aWatchdogType );
-    
-    /**
-    * Resets test execution watchdog timer.
-    * @see MDiagEngineCommon::ResetWatchdog
-    */
-    virtual void ResetWatchdog( TTimeIntervalMicroSeconds32 aExpectedTimeToComplete );
-
-    /**
-    * Get App Ui reference that launched Diagnostics Engine.
-    * @see MDiagEngineCommon::ViewAppUi
-    */
-    virtual CAknViewAppUi& ViewAppUi();
-
-    /**
-    * Get App Ui reference that launched Diagnostics Engine.
-    * @see MDiagEngineCommon::ViewAppUi
-    */
-    virtual const CAknViewAppUi& ViewAppUi() const;
-
-    /**
-    * Get Database Subsession for record open for writing.
-    * @see MDiagEngineCommon::DbRecord
-    */
-    virtual RDiagResultsDatabaseRecord& DbRecord();
-
-    /**
-    * Get Database Subsession for record open for writing.
-    * @see MDiagEngineCommon::DbRecord
-    */
-    virtual const RDiagResultsDatabaseRecord& DbRecord() const;
-
-    /**
-    * Get reference to Plugin Pool
-    * @see MDiagEngineCommon::PluginPool
-    */
-    virtual CDiagPluginPool& PluginPool();
-
-    /**
-    * Get reference to Plugin Pool
-    * @see MDiagEngineCommon::PluginPool
-    */
-    virtual const CDiagPluginPool& PluginPool() const;
-
-    /**
-    * Add a text to configuraiton list option. 
-    * @see MDiagEngineCommon::AddToConfigListL
-    */
-    virtual void AddToConfigListL( TConfigListType aListType, const TDesC& aText );
-
-    /**
-    * Remove a text from configuration list.
-    * @see MDiagEngineCommon::RemoveFromConfigListL
-    */
-    virtual void RemoveFromConfigListL( TConfigListType aListType, const TDesC& aText );
-
-    /**
-    * Create a common dialog.
-    * @see MDiagEngineCommon::CreateCommonDialogL
-    */
-    virtual CAknDialog* CreateCommonDialogLC( TDiagCommonDialog aDialogType,
-                                              TAny* aInitData );
-
-    /**
-    * Stop watchdog activity temporarily.
-    * @see MDiagEngineCommon::StopWatchdogTemporarily
-    */
-    virtual void StopWatchdogTemporarily();
-
-    /**
-    * Check if current engine is being executed with dependency disabled.
-    *  @see MDiagEngineCommon::IsDependencyDisabled
-    */
-    virtual TBool IsDependencyDisabled() const;
-
-    /**
-    * Get custom param
-    *  @see MDiagEngineCommon::CustomParam
-    */
-    virtual TAny* CustomParam() const;
-
-    /**
-    * Execute an application command. 
-    *   @see MDiagEngineCommon::ExecuteAppCommandL
-    */
-    virtual void ExecuteAppCommandL( TDiagAppCommand aCommand, 
-                                     TAny* aParam1,
-                                     TAny* aParam2 );
-
-private:    // private data
-    CDiagEngineImpl* iEngineImpl;
-    };
-
-
-#endif // DIAGENGINE_H
-
-// End of File
-
--- a/remotemgmt_plat/diagnostics_framework_api/inc/diagenginecommon.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,247 +0,0 @@
-/*
-* 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 "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 interface to use engine
-*
-*/
-
-
-#ifndef DIAGENGINECOMMON_H
-#define DIAGENGINECOMMON_H
-
-// SYSTEM INCLUDES
-#include <e32std.h>                     // TDesC, TTimeIntervalMicroSeconds32
-#include <DiagCommonDialog.h>           // TDiagCommonDialog
-#include <DiagAppCommand.h>             // TDiagAppCommand
-#include <DiagEngineWatchdogTypes.h>    // TDiagEngineWatchdogTypes
-
-// FORWARD DECLARATION
-class MDiagPluginExecPlan;
-class MDiagPlugin;
-class CAknViewAppUi;
-class RDiagResultsDatabaseRecord;
-class CDiagPluginPool;
-class CAknDialog;
-
-/**
-*  Diagnostics Framework Engine Common Interface
-*
-*  This interface is provided for Test plug-ins, Suite plug-ins and
-*  any other clients of CDiagEngine.
-*
-*  @since S60 v5.0
-*/
-class MDiagEngineCommon
-    {
-public: // Data Structures
-    
-    /** 
-    * Possible cancellation mode.
-    */
-    enum TCancelMode
-        {
-        ESkip,        // Cancel current test only. Continue rest.
-        ECancelAll      // Cancel current test and skip rest of execution.
-        };
-
-    /**
-    *  Text List based config options
-    */
-    enum TConfigListType
-        { 
-        /**
-        * EConfigListCallIngore - List of phone numbers to ignore. 
-        *   If a phone number is added to this list, engine will ignore the number
-        *   a new MO/MT call is created by the phone, and will not suspend
-        *   the engine execution when new call is made.
-        */
-        EConfigListCallIngore = 0
-        };
-
-public: // public methods
-
-    /**
-    * Returns current execution plan.
-    * If test is not being executed, it will leave with KErrNotReady.
-    *
-    * @return Reference to current execution plan.
-    */
-    virtual const MDiagPluginExecPlan& ExecutionPlanL() const = 0;
-
-    /**
-    * Stop current execution of tests.
-    * If test is not being executed, it will leave with KErrNotReady.
-    *
-    * @param aCancelMode   ESkip       - Skip current test only. Rest will continue.
-    *                      ECancelAll  - Cancels current test and skips the rest of
-    *                                  execution.
-    */
-    virtual void ExecutionStopL( TCancelMode aCancelMode ) = 0;
-
-    /**
-    * Resets test execution watchdog timer.  It will use the last given watchdog
-    * timer value for currently executing plug-in.
-    */
-    virtual void ResetWatchdog() = 0;
-
-    /**
-    * Resets test execution watchdog timer.  
-    *   Watchog timer value will be determined by the type of watchdog requested.
-    *   Given value is valid until next plug-in is executed, or another
-    *   ResetWachdogL() or TestProgressL() is called.
-    *
-    * @param aWatchdogType Type of watchdog timer vaule to use.
-    *   @see TDiagEngineWatchdogTypes
-    */
-    virtual void ResetWatchdog( TDiagEngineWatchdogTypes aWatchdogType ) = 0;
-
-    /**
-    * Resets test execution watchdog timer.  
-    *   Engine will allow specified amount of time. 
-    *   Given value is valid until next plug-in is executed, or another
-    *   ResetWachdogL() or TestProgressL() is called.
-    * 
-    * @param aTimeToWait - Amount of time to wait before watchdog is expired.
-    */
-    virtual void ResetWatchdog( TTimeIntervalMicroSeconds32 aExpectedTimeToComplete ) = 0;
-
-    /**
-    * Get App Ui reference that launched Diagnostics Engine.
-    * AppUi reference can be used for tests that requires AppUi for view switching.
-    * 
-    * @return Reference to CAknViewAppUi
-    */
-    virtual CAknViewAppUi& ViewAppUi() = 0;
-
-    /**
-    * Get App Ui reference that launched Diagnostics Engine.
-    * AppUi reference can be used for tests that requires AppUi for view switching.
-    * 
-    * @return Reference to CAknViewAppUi
-    */
-    virtual const CAknViewAppUi& ViewAppUi() const = 0;
-
-    /**
-    * Get Database Subsession for record open for writing.
-    * 
-    * @return Reference to RDiagResultsDatabaseRecord
-    */
-    virtual RDiagResultsDatabaseRecord& DbRecord() = 0;
-
-    /**
-    * Get Database Subsession for record open for writing.
-    * 
-    * @return Reference to RDiagResultsDatabaseRecord
-    */
-    virtual const RDiagResultsDatabaseRecord& DbRecord() const = 0;
-
-    /**
-    * Get reference to Plugin Pool
-    * 
-    * @return Reference to CDiagPluginPool
-    */
-    virtual CDiagPluginPool& PluginPool() = 0;
-
-    /**
-    * Get reference to Plugin Pool
-    * 
-    * @return Reference to CDiagPluginPool
-    */
-    virtual const CDiagPluginPool& PluginPool() const = 0;
-
-    /**
-    * Add a text to configuraiton list option. 
-    * 
-    * @param aListType - List type to add the configuration option to. 
-    *   @see TConfigListType
-    * @param aText - text to add to the list
-    */
-    virtual void AddToConfigListL( TConfigListType aListType, const TDesC& aText ) = 0;
-
-    /**
-    * Remove a text from configuration list.
-    * If configuration item text does not exist in the list, this function will 
-    * leave with KErrNotFound.
-    * 
-    * @param aListType - List type to remove the item from. 
-    *   @see TConfigListType
-    * @param aText - text for the option
-    */
-    virtual void RemoveFromConfigListL( TConfigListType aListType, const TDesC& aText ) = 0;
-
-    /**
-    * Create a common dialog.
-    * Plug-ins can use this factory method to create a common dialog.
-    * For available dialog types, @see DiagCommonDialog.h
-    * 
-    * @param aDialogType - Type of dialog to create.
-    * @param aInitData - Initialization parameter. Ownership is passed to engine.
-    * @return a pointer to newly created dialog. Ownership is passed to caller.
-    */
-    virtual CAknDialog* CreateCommonDialogLC( TDiagCommonDialog aDialogType,
-                                              TAny* aInitData ) = 0;
-
-    /**
-    * Stop watchdog activity temporarily. Watchdog will stay inactive until:
-    *   a ) TestProgressL() is called.
-    *   b ) ResetWatchdogL() is called.
-    *   c ) Plug-in is cancelled and the next plug-in starts to execute.
-    */
-    virtual void StopWatchdogTemporarily() = 0;
-
-    /**
-    * Check if current engine is being executed with dependency disabled.
-    *   @return TBool - ETrue if dependency is disabled.
-    *                   EFalse if depencenty is enabled.
-    */
-    virtual TBool IsDependencyDisabled() const = 0;
-
-    /**
-    * Get custom parameter passed during engine creation.
-    *   @return TAny* Custom parameter.  Ownership is not transferred.
-    */
-    virtual TAny* CustomParam() const = 0;
-
-    /**
-    * Send a command to application to execute.. This can be used by the plug-in to
-    * request certain behavior from application. For more information about
-    * types of commands possible, @see TDiagAppCommand.
-    * If the command is not supported by the application, this function will 
-    * leave with error code KErrNotSupported.
-    *
-    * Memory Ownership of Parameters.
-    *   Note that in general, parameters should be owned by the caller. This is 
-    *   because if a particular operation is not supported, application 
-    *   will not know how to deallocate the parameter, causing memory leak.
-    *   
-    *   In cases where ownership must be passed, caller must check if
-    *   ExecuteAppCommandL() leaves KErrNotSupported and deallocate
-    *   parameters.
-    *
-    * @param aCommand - Type of command to execute. @see TDiagAppCommand
-    * @param aParam1 - Data for the command. Value of this parameter depends
-    *   on the type of command. Ownership not transferred. @see TDiagAppCommand
-    * @param aParam2 - Data for the command. Value of this parameter depends
-    *   on the type of command. Ownership not transferred. @see TDiagAppCommand
-    *   
-    */
-    virtual void ExecuteAppCommandL( TDiagAppCommand aCommand, 
-                                     TAny* aParam1,
-                                     TAny* aParam2 ) = 0;
-    };
-
-
-#endif // DIAGENGINECOMMON_H
-
-// End of File
-
--- a/remotemgmt_plat/diagnostics_framework_api/inc/diagengineobserver.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,149 +0,0 @@
-/*
-* 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 "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:  Observer interface to use with CDiagEngine
-*
-*/
-
-
-#ifndef DIAGENGINEOBSERVER_H
-#define DIAGENGINEOBSERVER_H
-
-
-// SYSTEM INCLUDES
-#include <e32def.h>                 // TUint
-#include <DiagCommonDialog.h>       // TDiagCommonDialog
-#include <DiagAppCommand.h>         // TDiagAppCommand
-
-// FORWARD DECLARATION
-class CDiagResultsDatabaseItem;
-class CAknDialog;
-
-/**
-*  Diagnostics Framework Engine Observer
-*
-*  This interface is called by CDiagEngine to notify its client
-*  of progress of requests made to engine.
-*
-* @since S60 v5.0
-*/
-class MDiagEngineObserver
-    {
-public: // Public Data types
-    enum TSuspendReason
-        {
-        ESuspendByClient = 0,
-        ESuspendByPhoneCall
-        };
-
-    enum TResumeReason
-        {
-        EResumedByClient = 0,
-        EAutoResumedByCallHangup
-        };
-
-public: // Public interface
-
-    /**
-    * Notify client of test execution begin. Clients can get testplan using
-    * CDiagEngine::ExecutionPlanL. 
-    */
-    virtual void TestExecutionBeginL() = 0;
-
-    /**
-    * Notify client of test execution progress.
-    *
-    * @param aCurrentItemStep       - Progress in current entry.
-    * @param aCurrentItemTotalSteps - Total steps to execute in current entry.
-    */
-    virtual void TestExecutionProgressL( TUint aCurrentItemStep,
-                                         TUint aCurrentItemTotalSteps ) = 0;
-
-    /**
-    * Notify client of execution completion of one plug-in.
-    *   This can be either test plug-in or suite plug-in.
-    *
-    * @param aError  - KErrNone - Success.
-    *   KErrNoMemory - Out of memory.
-    *   KErrCancel   - Cancelled due to ExecutionStopL()
-    *
-    * @param aResult - Result of the test. Ownership is transferred here. 
-    *  Client must deallocate aResult to avoid memory leak. aResult is Null 
-    *  if the plug-in being executed is a suite pre/post method.
-    */
-    virtual void TestExecutionPluginExecutedL( TInt aError,
-                                               CDiagResultsDatabaseItem* aResult ) = 0;
-
-    /**
-    * Notify client of execution suspend.
-    *
-    * @param aSuspendReason - Why execution is suspended.
-    */
-    virtual void TestExecutionSuspendedL( TSuspendReason aSuspendReason ) = 0;
-
-    /**
-    * Notify client of execution resume.
-    *
-    * @param aResumeReason - Why execution is being resumed
-    */
-    virtual void TestExecutionResumedL( TResumeReason aResumeReason ) = 0;
-
-    /**
-    * Notify client of engine stopping.
-    *
-    * This indicates that engine execution has stopped. There will not be any
-    * further messages from engine. This could be called because all
-    * tests are completed, or an unrecoverable error occured during execution.
-    *
-    * Note that if cancel is called during plan creation or if plan creation
-    * fails, TestExecutionStoppedL() may be called withing first calling
-    * TestExecutionBeginL(). 
-    *
-    * @param aError - Reason for engine stopping. 
-    *   a) KErrNone - All tests are successfully completed.
-    *   b) KErrCancel - ExecutionStopL is called with ECancelAll. 
-    *       Test session cannot be resumed later.
-    *   c) KErrArgument - Parameters passed to engine are invalid.
-    *   d) Others - Other critical that could not be recovered occured during
-    *       test execution.  Test may be resumed later in this case.
-    */
-    virtual void TestExecutionCompletedL( TInt aError ) = 0;
-
-    /**
-    * Create a common Dialog.
-    * Application should create an instance of requested dialog.
-    * For available dialog types, @see DiagCommonDialog.h
-    * 
-    * @param aDialogType - Type of dialog to create.
-    * @param aData - Initialization parameter. Ownership is passed to engine.
-    * @return a pointer to newly created dialog. Ownership is passed to caller.
-    */
-    virtual CAknDialog* CreateCommonDialogLC( TDiagCommonDialog aDialogType,
-                                              TAny* aInitData ) = 0;
-
-    /**
-    * Execute a command from plug-in. Parameters are identical to 
-    * MDiagEngineCommon::ExecuteAppCommandL(). 
-    * @see MDiagEngineCommon::ExecuteAppCommandL()
-    * @see TDiagAppCommand
-    */
-    virtual void ExecuteAppCommandL( TDiagAppCommand aCommand, 
-                                     TAny* aParam1,
-                                     TAny* aParam2 ) = 0;
-    };
-
-
-#endif // DIAGENGINEOBSERVER_H
-
-// End of File
-
--- a/remotemgmt_plat/diagnostics_framework_api/inc/diagenginewatchdogtypes.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* 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 "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:  Class declaration for TDiagEngineWatchdogTypes
-*
-*/
-
-
-
-#ifndef DIAGENGINEWATCHDOGTYPES_H
-#define DIAGENGINEWATCHDOGTYPES_H
-
-/**
-* These types indicate to engine how long it should wait between each
-* test execution progress reports.  
-*
-* Typically, if a test step requires user interaction, engine should wait
-* longer before stopping its execution. For non-interactive steps,
-* engine should not wait as long. 
-* 
-* The actual values are specifed by cenrep key value owned by engine.
-*
-* Values:
-* EDiagEngineWatchdogTypeInteractive - Indicates that engine should
-*   use interactive watchdog timer value.
-*
-* EDiagEngineWatchdogTypeAutomatic - Indicates that engine should
-*   use non-interactive watchdog timer value.
-*
-* @since S60 3.2
-*/
-enum TDiagEngineWatchdogTypes
-    {
-    EDiagEngineWatchdogTypeInteractive   = 0,
-    EDiagEngineWatchdogTypeAutomatic
-    };
-
-#endif // DIAGENGINEWATCHDOGTYPES_H
-
-// End of File
-
--- a/remotemgmt_plat/diagnostics_framework_api/inc/diagexecplanentry.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
-* 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 "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:  Class declaration for CDiagExecPlanEntry
-*
-*/
-
-
-#ifndef DIAGEXECPLANENTRY_H
-#define DIAGEXECPLANENTRY_H
-
-
-// SYSTEM INCLUDE FILES
-#include <e32def.h>         // TBool
-
-// FORWARD DECLARATION
-class MDiagPlugin;
-
-/**
-* Diagnostics Plug-in Execution Plan Entry.
-*
-* This class provides the interface for test execution plan entries.
-*
-* @since S60 v5.0
-*
-*/
-class MDiagExecPlanEntry
-    {
-public: // data types
-    /**
-    * Item execution state.
-    */
-    enum TState
-        {
-        EStateQueued     = 0,   // Execution has not begun.
-        EStateInitDelay,        // Waiting for initial delay timer to expire
-        EStateRunning,          // RunTestL() is called. Waiting for completion.
-        EStateSuspended,        // Execution is suspended
-        EStateStopped,          // Plugin is stopped, but result not logged yet.
-        EStateCompleted         // Result is logged
-        };
-
-public:
-    /**
-    * Plugin associated with the entry
-    *   @return Reference to the plugin.
-    */
-    virtual const MDiagPlugin& Plugin() const = 0;
-
-    /**
-    * Returns whether item is being executed to satisfy dependency or not.
-    *   @return ETrue if item is being executed to satisfy dependency.
-    *       EFalse if item is being executed explicitly.
-    */
-    virtual TBool AsDependency() const = 0;
-
-    /**
-    * Item State
-    *   @return Current state of execution plan item
-    */
-    virtual TState State() const = 0;
-
-    };
-
-#endif // DIAGEXECPLANENTRY_H
-
-// End of File
-
--- a/remotemgmt_plat/diagnostics_framework_api/inc/diagframeworkdebug.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,192 +0,0 @@
-/*
-* 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 "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:  Debugging trace definition for framework and plug-ins.
-*
-*/
-
-
-#ifndef DIAGFRAMEWORKDEBUG_H
-#define DIAGFRAMEWORKDEBUG_H
-
-/**
-* Diagnostics Framework Debug Traces
-*
-* This header file defines common debug trace macros for Diagnostics Framework.
-* It is used by the diagnostics framework internally. However, it is 
-* recomanded that application and plug-ins use the macros defined here
-* in order to allow consistent logging.
-*
-* Debugging messages are enabled only on non DEBUG build. 
-*
-* These macros can be configured to use either Flogger (RFileLogger) or
-* RDebug.  By default, it will use RFileLogger. If RDebug trace is needed,
-* uncomment //#define DIAG_DEBUG_LOG_USE_RDEBUG below.
-*
-* The following macros are provided by this files.
-*
-* LOGTEXT( aDescriptor );   
-*   - This prints a descriptor to log. E.g. if you have a TDesC type, then
-*   you can use this. e.g.
-*
-*       void CMyClass::PrintSomeText( const TDesC& aText )
-*           {
-*           LOGTEXT( aText );
-*           }
-* 
-* LOGSTRING( aFormat )
-* LOGSTRING2( aFormat, a );
-* LOGSTRING3( aFormat, a, b );
-* LOGSTRING4( aFormat, a, b, c );
-* LOGSTRING5( aFormat, a, b, c, d );
-*   - These macros are used to print debugging messages with formatting text 
-*   and several arguments. Formatting string is similar to printf.
-*
-*       void CMyClass::PrintSomeText( TInt aInt, TInt aHex )
-*           {
-*           LOGSTRING( "CMyClass::PrintSomeText() Enter" );
-*           LOGSTRING3( "CMyClass::PrintSomeText() aInt = %d, aHex = 0x%08x", 
-*                       aInt, 
-*                       aHex );
-*           }
-*
-*/
-
-#define ENABLE_DIAG_DEBUG_LOG       // Enable diagnostics debug log
-//#define DIAG_DEBUG_LOG_USE_RDEBUG   // Use RDebug::Print instead of flogger.
-
-#if ( defined _DEBUG && defined ENABLE_DIAG_DEBUG_LOG )
-
-#ifdef DIAG_DEBUG_LOG_USE_RDEBUG
-
-#include <e32debug.h> // RDebug
-
-#define LOGTEXT( aDescriptor )                              \
-    {                                                       \
-    RDebug::Print( aDescriptor );                           \
-    }
-
-#define LOGSTRING( aFormat )                                \
-    {                                                       \
-    _LIT( KFormat, aFormat );                               \
-    RDebug::Print( KFormat );                               \
-    }
-
-#define LOGSTRING2( aFormat, a )                            \
-    {                                                       \
-    _LIT( KFormat, aFormat );                               \
-    RDebug::Print( KFormat, a );                            \
-    }
-
-#define LOGSTRING3( aFormat, a, b )                         \
-    {                                                       \
-    _LIT( KFormat, aFormat );                               \
-    RDebug::Print( KFormat, a, b );                         \
-    }
-
-#define LOGSTRING4( aFormat, a, b, c )                      \
-    {                                                       \
-    _LIT( KFormat, aFormat );                               \
-    RDebug::Print( KFormat, a, b, c );                      \
-    }
-
-#define LOGSTRING5( aFormat, a, b, c, d )                   \
-    {                                                       \
-    _LIT( KFormat, aFormat );                               \
-    RDebug::Print( KFormat, a, b, c, d );                   \
-    }
-
-#else // #ifdef DIAG_DEBUG_LOG_USE_RDEBUG
-
-// SYSTEM INCLUDES
-#include <flogger.h>
-
-// CONSTANTS
-_LIT( KDiagFrameworkLogFolder,  "DiagFramework" );
-_LIT( KDiagFrameworkLogFile,    "LOG.TXT" );
-
-// MACROS
-#define LOGTEXT( aDescriptor )                              \
-    {                                                       \
-    RFileLogger::Write( KDiagFrameworkLogFolder(),          \
-                        KDiagFrameworkLogFile(),            \
-                        EFileLoggingModeAppend,             \
-                        aDescriptor );                      \
-    }
-
-#define LOGSTRING( aFormat )                                \
-    {                                                       \
-    _LIT( KFormat, aFormat );                               \
-    RFileLogger::Write( KDiagFrameworkLogFolder(),          \
-                        KDiagFrameworkLogFile(),            \
-                        EFileLoggingModeAppend,             \
-                        KFormat() );                        \
-    }
-
-#define LOGSTRING2( aFormat, a )                            \
-    {                                                       \
-    _LIT( KFormat, aFormat );                               \
-    RFileLogger::WriteFormat( KDiagFrameworkLogFolder(),    \
-                              KDiagFrameworkLogFile(),      \
-                              EFileLoggingModeAppend,       \
-                              TRefByValue<const TDesC>( KFormat() ), \
-                              a );                          \
-    }
-
-#define LOGSTRING3( aFormat, a, b )                         \
-    {                                                       \
-    _LIT( KFormat, aFormat );                               \
-    RFileLogger::WriteFormat( KDiagFrameworkLogFolder(),    \
-                              KDiagFrameworkLogFile(),      \
-                              EFileLoggingModeAppend,       \
-                              TRefByValue<const TDesC>( KFormat() ), \
-                              a, b );                       \
-    }
-
-#define LOGSTRING4( aFormat, a, b, c )                      \
-    {                                                       \
-    _LIT( KFormat, aFormat );                               \
-    RFileLogger::WriteFormat( KDiagFrameworkLogFolder(),    \
-                              KDiagFrameworkLogFile(),      \
-                              EFileLoggingModeAppend,       \
-                              TRefByValue<const TDesC>( KFormat() ), \
-                              a, b, c );                    \
-    }
-
-#define LOGSTRING5( aFormat, a, b, c, d )                   \
-    {                                                       \
-    _LIT( KFormat, aFormat );                               \
-    RFileLogger::WriteFormat( KDiagFrameworkLogFolder(),    \
-                              KDiagFrameworkLogFile(),      \
-                              EFileLoggingModeAppend, \
-                              TRefByValue<const TDesC>( KFormat() ), \
-                              a, b, c, d );                 \
-    }
-
-#endif // #else DIAG_DEBUG_LOG_USE_RDEBUG
-
-#else   // _DEBUG && ENABLE_DIAG_DEBUG_LOG
-
-#define LOGTEXT( aDescriptor )
-#define LOGSTRING( aFormat )
-#define LOGSTRING2( aFormat, a )
-#define LOGSTRING3( aFormat, a, b )
-#define LOGSTRING4( aFormat, a, b, c )
-#define LOGSTRING5( aFormat, a, b, c, d )
-
-#endif  // else _DEBUG && ENABLE_DIAG_DEBUG_LOG
-
-#endif // DIAGFRAMEWORKDEBUG_H
-
-// End of File
-
--- a/remotemgmt_plat/diagnostics_framework_api/inc/diagpluginexecplan.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,145 +0,0 @@
-/*
-* 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 "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:  Class declaration for CDiagPluginExecPlan
-*
-*/
-
-
-#ifndef DIAGPLUGINEXECPLAN_H
-#define DIAGPLUGINEXECPLAN_H
-
-// INCLUDES
-#include <e32base.h>            // CBase
-
-// FORWARD DECLARATION
-class MDiagPlugin;
-class MDiagExecPlanEntry;
-
-/**
-*  Diagnostics Plugin Execution Plan
-*
-*  This class provides interface to access execution plan.
-*  It also provides interface to modify execution plan.
-*  A cursor to currently executing item is also maintained.
-*
-*/
-class MDiagPluginExecPlan
-    {
-public: 
-    /**
-    * Access an item in plan.
-    *
-    * @param aIndex    - index 
-    * @return Reference to plan entry at given index.
-    */
-    virtual const MDiagExecPlanEntry& operator[]( TInt aIndex ) const = 0;
-
-    /**
-    * Get current execution plan item.
-    *
-    * @return Reference to currently executing plan item.
-    */
-    virtual const MDiagExecPlanEntry& CurrentExecutionItem() const = 0;
-
-    /**
-    * Returns index of execution cursor. Note that this index 
-    * includes both suite plug-in and test plug-in.
-    *
-    * If only interested about test plug-ins. use CurrentTestIndex().
-    *
-    * @return Index to current execution cursor.
-    */
-    virtual TInt CurrentIndex() const = 0;
-
-    /**
-    * Returns total number of items in the plan. Note that this count
-    * includes both suite plug-in and test plug-in.
-
-    * If only interested only test plug-ins. use TestCount().
-    *
-    * @return Number of items in the test plan.
-    */
-    virtual TInt Count() const = 0;
-
-    /**
-    * Get current test index.
-    *
-    * Note that only test plug-ins (MDiagTestPlugin) are counted in this
-    * case.  Suite pre/post execution are not. You cannot use this value
-    * with [] operator since this is not a real index.
-    * 
-    * To get real cursor index, use GetCurrentIndex().
-    *
-    * @param aIncludeDependency  If ETrue, test index will also include
-    *                            plugins that are included as dependency.
-    * @return current test index.
-    */
-    virtual TInt CurrentTestIndex( TBool aIncludeDependency ) const = 0;
-
-    /**
-    * Get total test count.
-    *
-    * Note that only test plug-ins (MDiagTestPlugin) are counted in this
-    * case.  Suite pre/post execution are not. You cannot use this value
-    * with [] operator since this is not a real count.
-    * 
-    * To get the real number of items in the plan, use GetCount().
-    *
-    * @param aIncludeDependency  If ETrue, test index will also include
-    *                            plug-ins that are included as dependency.
-    * @return current test index.
-    */
-    virtual TInt TestCount( TBool aIncludeDependency ) const = 0;
-
-    /**
-    * Check if this is the last test being executed.
-    *
-    * Note that only test plug-ins (MDiagTestPlugin) are counted in this
-    * case.  Suite pre/post execution are not.
-    * If you are interested in checking if it is currently running
-    * the last plug-in, including test and suites, @see IsLastPlugin()
-    *
-    * @return ETrue plan is executing the last test plug-in.
-    */
-    virtual TBool IsLastTest() const = 0;
-
-    /**
-    * Check if this is the last plug-in being executed.
-    *
-    * Note that this includes both test plug-ins and suite plug-ins.
-    * If you are interested in checking the progress on tests only,
-    * @see IsLastTest()
-    *
-    * @return ETrue plan is executing the last test or suite plug-in.
-    */
-    virtual TBool IsLastPlugin() const = 0;
-
-    /**
-    * Returns the plug-in index that plan is resuming from.
-    * If this session is not a resume session, this will return 0 (first index).
-    * Otherwise, this index will point the first real execution item.
-    *
-    * Note that this value will not change as test session progresses. Even
-    * as test progresses, this value will still point to the index that
-    * this session is being resumed from.
-    *
-    * @return Index of which session is being resumed from.
-    */
-    virtual TInt ResumeIndex() const = 0;
-    };
-
-#endif // DIAGPLUGINEXECPLAN_H
-
-// End of File
-
--- a/remotemgmt_plat/diagnostics_plugin_api/diagnostics_plugin_api.metaxml	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-<?xml version="1.0" ?>
-<api id="bf4161c7185b3c27ea85e2824c07f5e5" dataversion="1.0">
-  <name>Diagnostics plug-in API</name>
-  <description>Diagnostics plug-ins interface</description>
-  <type>c++</type>
-  <subsystem>devicediagnosticsfw</subsystem>
-  <libs>
-    <lib name="diagpluginbase.lib" />
-  </libs>
-  <release category="domain"/>
-  <attributes>
-     <!-- This indicates wether the api provedes separate html documentation -->
-     <!-- or is the additional documentation generated from headers. -->
-     <!-- If you are unsuere then the value is "no" -->
-     <htmldocprovided>no</htmldocprovided>
-     <adaptation>no</adaptation>
-  </attributes>
-</api>
--- a/remotemgmt_plat/diagnostics_plugin_api/group/bld.inf	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* Copyright (c) 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:  File that exports the files belonging to 
-:                Diagnostics plug-in API
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/diagtestplugin.h     MW_LAYER_PLATFORM_EXPORT_PATH(DiagTestPlugin.h)
-../inc/diagplugin.h     MW_LAYER_PLATFORM_EXPORT_PATH(DiagPlugin.h)
-../inc/diagsuiteplugin.h     MW_LAYER_PLATFORM_EXPORT_PATH(DiagSuitePlugin.h)
-../inc/diagsuiteexecparam.h     MW_LAYER_PLATFORM_EXPORT_PATH(DiagSuiteExecParam.h)
-../inc/diagtestobserver.h     MW_LAYER_PLATFORM_EXPORT_PATH(DiagTestObserver.h)
-../inc/diagsuitepluginbase.h     MW_LAYER_PLATFORM_EXPORT_PATH(DiagSuitePluginBase.h)
-../inc/diagtestpluginbase.h     MW_LAYER_PLATFORM_EXPORT_PATH(DiagTestPluginBase.h)
-../inc/diagpluginconstructionparam.h     MW_LAYER_PLATFORM_EXPORT_PATH(DiagPluginConstructionParam.h)
-../inc/diagtestexecparam.h     MW_LAYER_PLATFORM_EXPORT_PATH(DiagTestExecParam.h)
-../inc/diagsuiteobserver.h     MW_LAYER_PLATFORM_EXPORT_PATH(DiagSuiteObserver.h)
--- a/remotemgmt_plat/diagnostics_plugin_api/inc/diagplugin.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,240 +0,0 @@
-/*
-* 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 "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:  Abstract class that represents a diagnostics plug-in
-*
-*/
-
-
-#ifndef DIAGPLUGIN_H
-#define DIAGPLUGIN_H
-
-// INCLUDES
-#include <badesca.h>            // CPtrCArray . Needed since this is typedef.
-
-//Forward declarations
-class CGulIcon;
-class MDiagEngineCommon;
-
-// Constants for plugin interfaces 
-const TUid KDiagPluginInterfaceUid = { 0x2000AFEB };
-
-// UID of top most root suite uid.  All plug-ins are descendant of this suite.
-const TUid KDiagRootSuiteUid = { 0x00000000 };
-
-/**
-* Abstract class that repsesents a diagnostics plug-in.
-*
-* @since S60 v5.0
-**/
-class MDiagPlugin
-    {
-public: //data structures
-
-    /**
-    * Indicates is the plug-in a suite or a test plug-in
-    **/
-    enum TPluginType
-        {
-        ETypeTestPlugin,
-        ETypeSuitePlugin
-        };
-
-    /**
-    * Layout type of name being requested.
-    */
-    enum TNameLayoutType
-        {
-        ENameLayoutListSingle,              // list_single_graphic_heading_pane_t1_cp2
-        ENameLayoutPopupNoteWaitWindow,     // popup_note_wait_window
-        ENameLayoutListLargeGraphic,        // list_single_large_graphic_pane_t1
-        ENameLayoutHeadingPane,             // heading_pane_t1
-        ENameLayoutPopupInfoPane,           // popup_info_list_pane_t1
-        ENameLayoutTitlePane,               // title_pane_t2/opt12
-        ENameLayoutListSingleGraphic,       // list_single_graphic_pane_t1
-        ENameLayoutListDoubleGraphic        // list_double_graphic_pane_t1
-        };
-
-public: // public methods
-
-    /**
-    * Virtual destructor. This ensures that when the interface is deleted,
-    * compiler will look up virtual table to find correct destructor.
-    */
-    virtual ~MDiagPlugin() {}
-
-    /**
-    * Method for getting the name of the plugin. Name returned should be based
-    * on the layout requested, and it should fit within the layout.
-    *
-    * @param aLayoutType - Layout where text will be displayed in. @see TNameLayoutType
-    * @return Localized name of the plug-in. Ownership is transferred to caller.
-    */
-    virtual HBufC* GetPluginNameL( TNameLayoutType aLayoutType ) const = 0;
-
-    /**
-    * Get the name of the service that the plug-in provides.
-    * Service name is defined in the ECOM resource file, thus, it is not localized.
-    *
-    * @return The name of the service.
-    **/
-    virtual const TDesC& ServiceLogicalName() const = 0;
-
-    /**
-    * Get logical dependencies. One plug-in can have multiple dependencies to other plug-ins.
-    *
-    * @param aArray An array of logical names.
-    * @see ServiceLogicalName.
-    **/
-    virtual void GetLogicalDependenciesL( CPtrCArray& aArray ) const = 0;
-
-    /**
-    * Return the type of the plug-in. 
-    *
-    * @return The type.
-    * @see TPluginType.
-    **/
-    virtual TPluginType Type() const = 0;
-
-    /**
-    * Create an icon that represents the plug-in.
-    *
-    * @return An icon. 
-    **/
-    virtual CGulIcon* CreateIconL() const = 0;
-
-    /** Method for checking, if plugin should be visible.
-    * (for example shown in listbox).
-    * Overwrite this function to show or hide your plugin dynamically.
-    *
-    * @return ETrue if plugin should be visible, EFalse otherwise.
-    */
-    virtual TBool IsVisible() const = 0;
-
-    /** Method for checking, if plugin is supported.
-    * Overwrite this function to enable or disable your plugin dynamically.
-    * If EFalse, plug-in will not be loaded by plugin pool.
-    *
-    * @return ETrue if plugin is supported, EFalse otherwise.
-    */
-    virtual TBool IsSupported() const = 0;
-
-    /**
-    * Get localised description of the test. Description should be used to explain 
-    * the test for the user. It can contain comments that this service needs for 
-    * example access point and it creates costs or that the duration might be long.
-    *
-    * @return Allocated buffer containing localized description of the plugin.
-    **/
-    virtual HBufC* GetDescriptionL() const = 0;
-
-    /**
-    * Get UID of this plug-in.
-    *
-    * @return the UID.
-    **/
-    virtual TUid Uid() const = 0;
-
-    /**
-    * Get the order number that this plug-in should appear in its parent list.
-    *
-    * @return TUint order number.
-    **/
-    virtual TUint Order() const = 0;
-
-    /**
-    * Get UID of the parent.
-    *
-    * @return The parent UID.
-    **/
-    virtual TUid ParentUid() const = 0;
-
-    /**
-    * Set ECom Destructor ID Key.
-    *
-    * @param aDtorIdKey Uid returned by REComSession::CreateImplementationL()
-    **/
-    virtual void SetDtorIdKey( TUid aDtorIdKey ) = 0;
-
-
-    /**
-    * Initialization Step. This method is called before any plugin are executed.
-    * This can be used to clean up any left over data from previous execution 
-    * sessions. All plug-ins in execution plan will have a chance to clean 
-    * up before any plug-ins are run.  This is a synchrouns method.
-    *
-    * @param aEngine - Reference to engine.
-    * @param aSkipDependencyCheck - If ETrue, plug-in will be executed
-    *   even if dependencies are not executed.
-    * @param aCustomParams Custom parameters for plug-ins. 
-    *   It can used to pass arbitrary data from application to the plug-ins.
-    *   Owership is not transferred and plug-in must not delete
-    *   this parameter. Ownership is not transferred since
-    *   client does not always know the type of pointer.
-    **/
-    virtual void TestSessionBeginL( MDiagEngineCommon& aEngine,
-                                    TBool aSkipDependencyCheck,
-                                    TAny* aCustomParams ) = 0;
-
-
-    /**
-    * Cleanup Step. This method is called after all plug-ins in the 
-    * execution plan is completed to clean up any left over data from 
-    * current sesison. This can be used to clean up any data that
-    * provides dependent service created for its dependencies.
-    * This is a synchrouns method.
-    *
-    * @param aEngine - Reference to engine.
-    * @param aSkipDependencyCheck - If ETrue, plug-in as executed
-    *   even if dependencies are not executed.
-    * @param aCustomParams Custom parameters for plug-ins. 
-    *   It can used to pass arbitrary data from application to the plug-ins.
-    *   Owership is not transferred and plug-in must not delete
-    *   this parameter. Ownership is not transferred since
-    *   client does not always know the type of pointer.
-    **/
-    virtual void TestSessionEndL( MDiagEngineCommon& aEngine,
-                                  TBool aSkipDependencyCheck,
-                                  TAny* aCustomParams ) = 0;
-
-
-    /**
-    * Reserved for future use/plugin's custom functionality.
-    *
-    * @param aUid Unique identifier of the operation.
-    * @param aParam Custom parameter. 
-    * @return TAny pointer. Custom data.
-    *   It can used to pass arbitrary data from application to the plug-ins.
-    *   Owership is not transferred and plug-in must not delete
-    *   this parameter. Ownership is not transferred since
-    *   client does not always know the type of pointer.
-    **/
-    virtual TAny* CustomOperationL( TUid aUid, TAny* aParam ) = 0;
-        
-    /**
-    * Reserved for future use/plugin's custom functionality. 
-    *
-    * @param aParam Custom parameter.
-    * @return TAny pointer. Custom data. 
-    *   It can used to pass arbitrary data from application to the plug-ins.
-    *   Owership is not transferred and plug-in must not delete
-    *   this parameter. Ownership is not transferred since
-    *   client does not always know the type of pointer.
-    **/
-    virtual TAny* GetCustomL( TUid aUid, TAny* aParam ) = 0;
-    };
-
-#endif // DIAGPLUGIN_H
-
-// End of File
-
--- a/remotemgmt_plat/diagnostics_plugin_api/inc/diagpluginconstructionparam.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-/*
-* 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 "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:  Diagnostics Plug-in Construction Parameter
-*
-*/
-
-
-#ifndef DIAGPLUGINCONSTRUCTIONPARAM_H
-#define DIAGPLUGINCONSTRUCTIONPARAM_H
-
-// INCLUDES
-#include <e32base.h>            // CBase
-
-// FORWARD DECLARATIONS
-class CDesC16ArrayFlat;
-
-/**
-* Parameters that are needed to construct a Diagnostics plug-in.
-*
-* @since S60 v5.0
-**/
-NONSHARABLE_CLASS( CDiagPluginConstructionParam ) : public CBase
-    {
-public:
-
-    /**
-    * Two-phased constructors.
-    *
-    * @param    aServiceProvided - Name of the service provided.
-    *           Ownership is transferred to CDiagPluginConstructionParam.
-    * @param    aServicesRequired - Array of services required.
-    *           Ownership is transferred to CDiagPluginConstructionParam.
-    * @param    aOrder - Order that this plug-in should appear in
-    *           in parent suite.
-    * @param    aImplUid - Implementation Uid of the plug-in.
-    * @return   new instance of CDiagPluginConstructionParam*
-    **/
-    IMPORT_C static CDiagPluginConstructionParam* NewL(
-                                        HBufC*              aServiceProvided,
-                                        CDesC16ArrayFlat*   aServicesRequired,
-                                        TInt                aOrder,
-                                        TUid                aImplUid,
-                                        TUid                aParentUid );
-    IMPORT_C static CDiagPluginConstructionParam* NewLC(
-                                        HBufC*              aServiceProvided,
-                                        CDesC16ArrayFlat*   aServicesRequired,
-                                        TInt                aOrder,
-                                        TUid                aImplUid,
-                                        TUid                aParentUid );
-
-    /**
-    * Destructor.
-    */
-    IMPORT_C virtual ~CDiagPluginConstructionParam();
-
-    /**
-    * Get Name of the service provived.
-    *
-    * @return Name of the service provided.
-    */
-    IMPORT_C const TDesC& ServiceProvided() const;
-
-    /**
-    * Get array of services required for plug-in.
-    *
-    * @return Array of services required for plug-in.
-    */
-    IMPORT_C const CDesC16ArrayFlat& ServicesRequired() const;
-
-    /**
-    * Get the order this plug-in should appear in parent.
-    *
-    * @return Order that this plug-in should appear in parent.
-    */
-    IMPORT_C TInt Order() const;
-
-    /**
-    * Uid of plug-in.
-    *
-    * @return Uid of plug-in specified in RSS file.
-    */
-    IMPORT_C TUid Uid() const;
-
-    /**
-    * Parent Uid of plug-in.
-    *
-    * @return Parent Uid of plug-in specified in RSS file.
-    */
-    IMPORT_C TUid ParentUid() const;
-
-private:    
-    
-    /**
-    * C++ Constructor.
-    **/
-    CDiagPluginConstructionParam( HBufC*              aServiceProvided,
-                                  CDesC16ArrayFlat*   aServicesRequired,
-                                  TInt                aOrder,
-                                  TUid                aImplUid,
-                                  TUid                aParentUid );
-    
-    
-private:    // data
-
-    /**
-    * iServiceProvided - Buffer containing service name
-    * Owns.
-    */
-    HBufC* iServiceProvided;
-
-    /**
-    * iServicesRequired - Array containing list of dependency list.
-    * Owns
-    */
-    CDesC16ArrayFlat* iServicesRequired;
-
-    /**
-    * iOrder - Order in parent list.
-    */
-    TInt iOrder;
-
-    /**
-    * iImplUid - Uid of the plug-in
-    */
-    TUid iImplUid;
-
-    /**
-    * iParentUid - Uid of the parent suite plug-ins
-    */
-    TUid iParentUid;
-    };
-
-#endif // DIAGPLUGINCONSTRUCTIONPARAM_H
-
-// End of File
-
--- a/remotemgmt_plat/diagnostics_plugin_api/inc/diagsuiteexecparam.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
-* 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 "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:  Provides execution parameters for Suite plug-ins
-*
-*/
-
-
-
-#ifndef DIAGSUITEEXECPARAM_H
-#define DIAGSUITEEXECPARAM_H
-
-// SYSTEM INCLUDES
-#include <e32def.h>             // IMPORT_C / EXPORT_C
-
-
-// FORWARD DECLARATIONS
-class MDiagSuiteObserver;
-class MDiagEngineCommon;
-
-/**
-* Diagnostics Suite plug-in Execution Parameters
-*
-* This class provides the execution environment for Suite plug-ins.
-*
-* @since S60 v5.0
-**/
-NONSHARABLE_CLASS( TDiagSuiteExecParam )
-    {
-public:
-    /**
-    * C++ Constructor
-    *
-    * @param aObserver - Observer to notify continuation. 
-    * @param aEngine - Reference to engine that provides necessary environment
-    *   for suite execution, such as CDiagPluginPool, CAknViewAppUi and
-    *   CDiagPluginExecPlan.
-    */
-    IMPORT_C TDiagSuiteExecParam( MDiagSuiteObserver& aObserver,
-                                  MDiagEngineCommon& aEngine );
-    
-public: // new functions
-
-    /**
-    * Get the Suite plug-in execution observer.
-    *
-    * @return MDiagSuiteObserver - Observer of Suite-plugin.
-    **/
-    IMPORT_C MDiagSuiteObserver& Observer() const;
-
-    /**
-    * Get execution engine.
-    *
-    * @return MDiagEngineCommon - Engine that executes the plug-in.
-    *   Engine provides various functionalities needed for executing
-    *   plug-ins.
-    **/
-    IMPORT_C MDiagEngineCommon& Engine() const;
-    
-private: // data
-    /**
-    * iObserver  - Suite execution observer.
-    */
-    MDiagSuiteObserver&  iObserver;
-
-    /**
-    * iEngine - Engine common interface.
-    */
-    MDiagEngineCommon&  iEngine;
-    };
-
-#endif // DIAGSUITEEXECPARAM_H
-
-// End of File
-
--- a/remotemgmt_plat/diagnostics_plugin_api/inc/diagsuiteobserver.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* 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 "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:  Interface to observe suite plug-ins
-*
-*/
-
-
-#ifndef DIAGSUITEOBSERVER_H
-#define DIAGSUITEOBSERVER_H
-
-// FORWARD DECLARTION
-class MDiagSuitePlugin;
-
-/**
-*  Diagnostics Framework Suite Plug-in Observer
-*
-*  This interface is called by Suite Plug-ins to notify the engine
-*  of its suite execution completion.
-*
-*  @since S60 v5.0
-*/
-class MDiagSuiteObserver
-    {
-public:
-    /**
-    * Notify engine of suite plug-in execution completion.
-    * This should be called when PreTestExecutionL() or
-    * PostTestExecutionL() is called.
-    *
-    * @param aSender - reference to sender object.
-    */
-    virtual void ContinueExecutionL( const MDiagSuitePlugin& aSender ) = 0;
-    };
-
-
-#endif // DIAGSUITEOBSERVER_H
-
-// End of File
-
--- a/remotemgmt_plat/diagnostics_plugin_api/inc/diagsuiteplugin.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,128 +0,0 @@
-/*
-* 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 "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 a test suite i.e. contains collection of tests. 
-*
-*/
-
-
-
-#ifndef DIAGSUITEPLUGIN_H
-#define DIAGSUITEPLUGIN_H
-
-// INCLUDES
-#include    <DiagPlugin.h>          // MDiagPlugin
-
-// FORWARD DECLARATIONS
-class MDiagSuiteObserver;
-class MDiagEngineCommon;
-class CDiagPluginPool;
-class TDiagSuiteExecParam;
-
-/**
-* Test suite plug-in abstract interface. 
-*
-* @since S60 v5.0
-**/
-class MDiagSuitePlugin: public MDiagPlugin
-    {
-public: //DATA STRUCTURES
-
-    /**
-    * Defines sorting algorithm.
-    **/
-    enum TSortOrder 
-    {
-        ENotSorted,
-        ESortByPosition
-    };
-
-    /**
-    * Reason for execution stop.
-    **/
-    enum TStopReason
-    {
-        ESkip,
-        ECancelAll,
-        EWatchdog
-    };
-
-public:    // new API
-
-    /**
-    * Get children of this plug-in. The pointer array is guaranteed to 
-    * be sorted defined by TSortOrder.
-    * @param aChildren Children are appended into this array.
-    * @param aOrder Sorting algorithm.
-    **/
-    virtual void GetChildrenL( RPointerArray<MDiagPlugin>& aChildren,
-                               TSortOrder aOrder ) const = 0;
-
-    /**
-    * Add one child. Child can be either a test suite or a test plug-in.
-    * @param aChild - Child to be added. Ownership is transferred to
-    *               MDiagPluginSuite.
-    **/
-    virtual void AddChildL( MDiagPlugin* aChild ) = 0;
-
-    /**
-    * Called before one of its test plug-in is executed.  Note that it will
-    * not be called if two of its children plug-ins are executed in 
-    * sequence.
-    *
-    * @param aExecParams Parameters for suite pre execution
-    * @param aSkipDependencyCheck - If ETrue dependency is disabled 
-    *   for this test session.
-    * @param aDependencyExecution - If ETrue, this suite is being
-    *   executed to satisfy dependency.
-    **/
-    virtual void PrepareChildrenExecutionL( TDiagSuiteExecParam* aParam,
-                                            TBool aSkipDependencyCheck,
-                                            TBool aDependencyExecution ) = 0;
-
-    /**
-    * Called before test execution switches to another test suite.
-    *
-    * @param aExecParams Parameters for suite post execution
-    * @param aSkipDependencyCheck - If ETrue dependency is disabled 
-    *   for this test session.
-    * @param aDependencyExecution - If ETrue, this suite is being
-    *   executed to satisfy dependency.
-    **/
-    virtual void FinalizeChildrenExecutionL( TDiagSuiteExecParam* aParam,
-                                             TBool aSkipDependencyCheck,
-                                             TBool aDependencyExecution ) = 0;
-
-    /**
-    * Get the Uids. The uid is used for database access.
-    * Test suites return a list of their childrens' uids.
-    *
-    * @param aUids An UID array.
-    * @param aOrder Sorting algorithm.
-    **/
-    virtual void GetChildrenUidsL( RArray<TUid>& aUids,
-                                   TSortOrder aOrder ) const = 0;
-
-    /**
-    * Cancels pre/post execution. Cancellation is expected to be synchronous.
-    * Suite plug-in must not call ContinueExecutionL().
-    *
-    * @param aReason - Reason why ExecutionStopL() is being called.
-    **/
-    virtual void ExecutionStopL( TStopReason aReason ) = 0;
-    };
-
-#endif // DIAGSUITEPLUGIN_H
-
-// End of File
-
--- a/remotemgmt_plat/diagnostics_plugin_api/inc/diagsuitepluginbase.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,325 +0,0 @@
-/*
-* 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 "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:  Diagnostics Suite Plug-in Base class
-*
-*/
-
-
-#ifndef DIAGSUITEPLUGINBASE_H
-#define DIAGSUITEPLUGINBASE_H
-
-// INCLUDES
-#include <e32cmn.h>             // TUid
-#include <DiagSuitePlugin.h>    // MDiagSuitePlugin
-#include <ConeResLoader.h>      // RConeResourceLoader
-
-// FORWARD DECLARATIONSn
-class CDiagPluginConstructionParam;
-class CAknDialog;
-
-/**
-*  Diagnostics Framework Suite Plugin Base Class
-*
-*  This base class provides common implementation of Suite Plugin.
-*
-*  @since S60 v5.0
-*/
-class CDiagSuitePluginBase : public CActive,
-                             public MDiagSuitePlugin
-    {
-public:
-    /**
-    * Destructor. 
-    */
-    IMPORT_C virtual ~CDiagSuitePluginBase();
-
-protected:  // new API for derived class.
-    /**
-    * C++ constructor
-    * 
-    * @param aConstructionParam Construction parameters.
-    */
-    IMPORT_C CDiagSuitePluginBase( CDiagPluginConstructionParam* aParam );
-    
-    /**
-    * Base class constructor
-    * This initializes CDiagSuitePluginBase class. Derived class must call this
-    * method in its ConstructL() method.
-    *  
-    * @param aResourceFileName Drive and name of resource file in format
-    *                          <path>:<rsc_file_name>
-    */
-    IMPORT_C void BaseConstructL( const TDesC& aResourceFileName );
-
-    /**
-    * Run a dialog that waits for response. It is highly recommended that
-    * all plug-ins use this function to display dialogs since it can detect
-    * deletion of dialogs.
-    *
-    * The difference from normal dialog RunLD is that this function returns 
-    * ETrue if dialog exited due to user response and 
-    * EFalse if it was by other means, such as object deletion or
-    * by DismissWaitingDialog() method. 
-    * 
-    *   !!!! NOTE THAT PLUG-IN MUST RETURN IMMEDIATELY WITHOUT ACCESSING  !!!!
-    *   !!!! LOCAL VARIABLE OR LOCAL FUNCITONS WHEN THIS FUNCTION RETURNS !!!!
-    *   !!!! EFalse VALUE BECAUSE "THIS" POINTER MAY BE FREED ALREADY.    !!!!
-    * 
-    * The normal dialog response is returned via aDialogResponse reference.
-    * This function can only display one dialog at a time. Calling it again 
-    * while it has not been returned will cause panic.
-    *
-    * @param aDialog - Pointer to dialog to run. If the dialog does not have
-    *   EEikDialogFlagWait flag set, it will panic with EDiagPluginBasePanicBadArgument
-    * @param aDialogResponse - Response from the dialog.  
-    *   For detailed values @see avkon.hrh "CBA constants". E.g. EAknSoftkeyYes
-    *   The only exception is that if cancel is pressed, it will be 0.
-    * @return ETrue if dialog is exiting due to user response.
-    *   Efalse if dialog is dismissed withou user input. 
-    *   If EFalse is returned, plug-in MUST NOT act on the response.
-    *   Also, since plug-in may have been deleted,
-    */
-    IMPORT_C TBool RunWaitingDialogL( CAknDialog* aDialog, TInt& aDialogResponse );
-
-    /**
-    * Dismiss the waiting dialog. This will cause the RunDialogLD() function to return with
-    * aIsUserResponse = Efalse. If nothing is being displayed, this function
-    * does nothing.
-    */
-    IMPORT_C void DismissWaitingDialog();
-
-    /**
-    * CCoeEnv
-    *   @return Reference to CCoeEnv.
-    */
-    IMPORT_C CCoeEnv& CoeEnv();
-
-public: // from MDiagPlugin
-    /**
-    * Get the name of the service that the plug-in provides.
-    *
-    * @return The name of the service.
-    **/
-    IMPORT_C virtual const TDesC& ServiceLogicalName() const;
-
-    /**
-    * Get logical dependencies. One plug-in can have multiple dependencies 
-    * to other plug-ins.
-    *
-    * @param aArray An array of logical names.
-    * @see ServiceLogicalName.
-    **/
-    IMPORT_C virtual void GetLogicalDependenciesL( CPtrCArray& aArray ) const;
-
-    /**
-    * Return the type of the plug-in. 
-    *
-    * @return The type.
-    * @see TPluginType.
-    **/
-    IMPORT_C virtual TPluginType Type() const;
-
-    /**
-    * Create an icon that represents the plug-in.
-    *
-    * @return An icon. 
-    **/
-    IMPORT_C virtual CGulIcon* CreateIconL() const;
-
-    /**
-    * Get the order number that this plug-in should appear in its parent list.
-    *
-    * @return TUint order number.
-    **/
-    IMPORT_C virtual TUint Order() const;
-
-    /**
-    * @see MDiagPlugin::IsSupported
-    **/
-    IMPORT_C virtual TBool IsSupported() const;
-
-    /**
-    * Get UID of the parent.
-    *
-    * @return The parent UID.
-    **/
-    IMPORT_C virtual TUid ParentUid() const;
-
-    /**
-    * @see MDiagPlugin::SetDTorIdKey()
-    */
-    IMPORT_C virtual void SetDtorIdKey( TUid aDtorIdKey );
-
-    /**
-    * Get title of the plugin. Default implementation in CDiagSuitePluginBase
-    *   will leave with KErrNotSupported. If plug-in has a title, plug-ins 
-    *   must override this method.
-    * @see MDiagPlugin::GetTitleL() 
-    */
-    IMPORT_C virtual HBufC* GetTitleL() const;
-
-    /**
-    * Get description of the plugin. Default implementation in 
-    *   CDiagSuitePluginBase will leave with KErrNotSupported. If plug-in 
-    *   has a description, plug-ins must override this method.
-    * @see MDiagPlugin::GetDescriptionL()
-    */
-    IMPORT_C virtual HBufC* GetDescriptionL() const;
-
-    /**
-    * Reserved for future use/plugin's custom functionality. 
-    *
-    * @param aUid   Unique identifier of the operation.
-    * @param aParam Custom parameter. 
-    * @return TAny pointer. Custom data.
-    */
-    IMPORT_C virtual TAny* CustomOperationL( TUid aUid, TAny* aParam );
-
-    /**
-    * Reserved for future use/plugin's custom functionality. 
-    *
-    * @param aUid   Unique identifier of the property
-    * @param aParam Custom parameter.
-    * @return TAny pointer. Custom data. 
-    */
-    IMPORT_C virtual TAny* GetCustomL( TUid aUid, TAny* aParam );
-
-    /**
-    * Initialization Step. This method is called before any plugin are executed.
-    * This can be used to clean up any left over data from previous execution 
-    * sessions. All plug-ins in execution plan will have a chance to clean 
-    * up before any plug-ins are run.  This is a synchrouns method.
-    *
-    * @param aEngine - Reference to engine.
-    * @param aSkipDependencyCheck - If ETrue, plug-in will be executed
-    *   even if dependencies are not executed.
-    * @param aCustomParams Custom parameters for plug-ins. 
-    *   It can used to pass arbitrary data from application to the plug-ins.
-    *   Owership is not transferred and plug-in must not delete
-    *   this parameter.
-    **/
-    IMPORT_C virtual void TestSessionBeginL( MDiagEngineCommon& aEngine,
-                                             TBool aSkipDependencyCheck,
-                                             TAny* aCustomParams );
-
-    /**
-    * Cleanup Step. This method is called after all plug-ins in the 
-    * execution plan is completed to clean up any left over data from 
-    * current sesison. This can be used to clean up any data that
-    * provides dependent service created for its dependencies.
-    * This is a synchrouns method.
-    *
-    * @param aEngine - Reference to engine.
-    * @param aSkipDependencyCheck - If ETrue, plug-in as executed
-    *   even if dependencies are not executed.
-    * @param aCustomParams Custom parameters for plug-ins. 
-    *   It can used to pass arbitrary data from application to the plug-ins.
-    *   Owership is not transferred and plug-in must not delete
-    *   this parameter.
-    **/
-    IMPORT_C virtual void TestSessionEndL( MDiagEngineCommon& aEngine,
-                                           TBool aSkipDependencyCheck,
-                                           TAny* aCustomParams );
-
-
-public: // from MDiagSuitePlugin
-
-    /**
-    * Get children of this plug-in. The pointer array is guaranteed to 
-    * be sorted defined by TSortOrder.
-    *
-    * @param aChildren Children are appended into this array.
-    * @param aOrder Sorting algorithm.
-    **/
-    IMPORT_C virtual void GetChildrenL( RPointerArray<MDiagPlugin>& aChildren,
-                                        TSortOrder aOrder ) const;
-
-    /**
-    * Add one child. Child can be either a test suite or a test plug-in.
-    *
-    * @param aChild - Child to be added. However, ownership is not
-    *               transferred here. 
-    **/
-    IMPORT_C virtual void AddChildL( MDiagPlugin* aChild );
-
-    /**
-    * Get the Uids. The uid is used for database access.
-    * Test suites return a list of their childrens' uids.
-    *
-    * @param aUids  An UID array.
-    * @param aOrder Sorting algorithm.
-    **/
-    IMPORT_C virtual void GetChildrenUidsL( RArray<TUid>& aUids,
-                                    TSortOrder aOrder ) const;
-
-    /**
-    * Called before one of its test plug-in is executed.  Note that it will
-    * not be called if two of its children plug-ins are executed in 
-    * sequence.
-    *
-    * @param aSkipDependencyCheck - If ETrue dependency is disabled 
-    *   for this test session.
-    * @param aDependencyExecution - If ETrue, this suite is being
-    *   executed to satisfy dependency.
-    **/
-    IMPORT_C virtual void PrepareChildrenExecutionL( TDiagSuiteExecParam* aParam,
-                                                     TBool aSkipDependencyCheck,
-                                                     TBool aDependencyExecution );
-
-    /**
-    * Called before test execution switches to another test suite.
-    *
-    * @param aExecParams Parameters for suite post execution
-    * @param aSkipDependencyCheck - If ETrue dependency is disabled 
-    *   for this test session.
-    * @param aDependencyExecution - If ETrue, this suite is being
-    *   executed to satisfy dependency.
-    **/
-    IMPORT_C virtual void FinalizeChildrenExecutionL( TDiagSuiteExecParam* aParam,
-                                                      TBool aSkipDependencyCheck,
-                                                      TBool aDependencyExecution );
-
-    /**
-    * Cancels pre/post execution. Cancellation is expected to be synchronous.
-    * Suite plug-in must not call ContinueExecutionL().
-    *
-    * @param aReason - Reason why ExecutionStopL() is being called.
-    **/
-    IMPORT_C virtual void ExecutionStopL( TStopReason aReason );
-
-private:    // Private Data Types
-    class TPrivateData;
-
-private:    // Private data
-    /**
-    * Plug-in constructor parameter.
-    * Ownership: this
-    */
-    CDiagPluginConstructionParam* iConstructionParam;
-
-    /**
-    * CCoeEnv. This is needed for handling resources. 
-    */
-    CCoeEnv& iCoeEnv;
-
-    /**
-    * Plug-in base's private data
-    */
-    TPrivateData* iData;
-    };
-
-#endif // DIAGSUITEPLUGINBASE_H
-
-// End of File
-
--- a/remotemgmt_plat/diagnostics_plugin_api/inc/diagtestexecparam.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
-* 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 "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:  Provides execution parameters for test plug-ins
-*
-*/
-
-
-
-#ifndef DIAGTESTEXECPARAM_H
-#define DIAGTESTEXECPARAM_H
-
-
-// SYSTEM INCLUDES
-#include <e32def.h>             // IMPORT_C / EXPORT_C
-
-// FORWARD DECLARATIONS
-class MDiagTestObserver;
-class MDiagEngineCommon;
-
-/**
-* Diagnostics test plug-in Execution Parameters
-*
-* This class provides the execution environment for test plug-ins.
-*
-* @since S60 v5.0
-**/
-NONSHARABLE_CLASS( TDiagTestExecParam )
-    {
-public: // constructor
-    /**
-    * C++ Constructor
-    *
-    * @param aObserver - Observer to notify test execution progress.
-    * @param aEngine - Reference to engine that provides necessary environment
-    *   for test execution, such as CDiagPluginPool, or CAknViewAppUi.
-    */
-    IMPORT_C TDiagTestExecParam( MDiagTestObserver& aObserver,
-                                 MDiagEngineCommon& aEngine );
-    
-public: // new functions
-
-    /**
-    * Get the test plug-in execution observer.
-    *
-    * @return MDiagTestObserver - Observer of test-plugin. Test progress
-    *   and completion should be notified via this object.
-    **/
-    IMPORT_C MDiagTestObserver& Observer() const;
-
-    /**
-    * Get execution engine.
-    *
-    * @return MDiagEngineCommon - Engine that executes the plug-in.
-    *   Engine provides various functionalities needed for executing
-    *   plug-ins.
-    **/
-    IMPORT_C MDiagEngineCommon& Engine() const;
-    
-private: // data
-    /**
-    * iObserver - Test execution observer.
-    */
-    MDiagTestObserver&  iObserver;
-
-    /**
-    * iEngine - Common Engine interface
-    */
-    MDiagEngineCommon&  iEngine;
-    };
-
-#endif // DIAGTESTEXECPARAM_H
-
-// End of File
-
--- a/remotemgmt_plat/diagnostics_plugin_api/inc/diagtestobserver.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*
-* 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 "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:  Interface to observe test plug-ins
-*
-*/
-
-
-#ifndef DIAGTESTOBSERVER_H
-#define DIAGTESTOBSERVER_H
-
-// INCLUDES
-#include <e32def.h>                         // TUint
-#include <DiagEngineWatchdogTypes.h>        // TDiagEngineWatchdogTypes
-
-// FORWARD DECLARATION
-class CDiagResultsDatabaseItem;
-class MDiagTestPlugin;
-
-
-/**
-* Diagnostics Framework Test Plug-in Observer
-*
-* This interface is called by Test Plug-ins to notify the engine
-* of its test execution progress or completion.
-*
-* @since S60 v3.2
-*/
-class MDiagTestObserver
-    {
-public:
-    /**
-    * Notify engine of test plug-in execution progress.
-    *
-    * @param aSender - Reference to sender object.
-    * @param aCurrentStep - Current execution step.
-    */
-    virtual void TestProgressL( const MDiagTestPlugin& aSender, 
-                                TUint aCurrentStep ) = 0;
-
-
-    /**
-    * Notify engine of test plug-in execution completion.
-    *
-    * @param aSender       Reference to sender object.
-    * @param aTestResult   Result of test execution. Ownership is transferred
-    *                      from the plug-in to engine.
-    */
-    virtual void TestExecutionCompletedL( const MDiagTestPlugin& aSender, 
-                                          CDiagResultsDatabaseItem* aTestResult ) = 0;
-    };
-
-
-#endif // DIAGTESTOBSERVER_H
-
-// End of File
-
--- a/remotemgmt_plat/diagnostics_plugin_api/inc/diagtestplugin.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,139 +0,0 @@
-/*
-* 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 "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:  Test Plugin Abstract Interface
-*
-*/
-
-
-#ifndef DIAGTESTPLUGIN_H
-#define DIAGTESTPLUGIN_H
-
-// INCLUDES
-#include    <DiagPlugin.h>              // MDiagPlugin
-
-
-// FORWARD DECLARATION
-class CDiagPluginExecPlan;
-class MDiagTestObserver;
-class MDiagEngineCommon;
-class CDiagPluginPool;
-class TDiagTestExecParam;
-class CDiagResultsDatabaseItem;
-class MDiagResultDetail;
-
-/**
-* Diagnostics test plug-in abstract interface.
-*
-* @since S60 v5.0
-**/
-class MDiagTestPlugin: public MDiagPlugin
-    {
-public: 
-
-    /**
-    * Run mode defines what kind of behaviour is expected from this plug-in.
-    **/
-    enum TRunMode
-        {
-        EInteractiveView,       // plugin with a view
-        EInteractiveDialog,     // interactive, but with dialogs
-        EAutomatic              // automatic tests
-        };
-
-    /**
-    * Reason for execution stop.
-    **/
-    enum TStopReason
-        {
-        ESkip,
-        ECancelAll,
-        EWatchdog
-        };
-
-    /**
-    * Execute a diagnostics test. This is an asynchronous method. The plug-in
-    * must call MDiagTestObserver:TestExecutionCompletedL when test has finished.
-    *
-    * @param aExecParams   Parameters for running the test.
-    * @param aSkipDependencyCheck - If ETrue, plug-in should execute even if 
-    *   dependencies are not executed.
-    * @param aDependencyExecution - If ETrue, this is being executed to 
-    *   satisfy dependency.
-    * @param aCustomParams Custom parameters for plug-ins. 
-    *   These should be used if TDiagTestExecParam is not enough. 
-    *   It can used to pass arbitrary data from application to the plug-ins.
-    *   Owership is not transferred and plug-in must not delete
-    *   this parameter. Ownership is not transferred since
-    *   client does not always know the type of pointer.
-    **/
-    virtual void RunTestL( TDiagTestExecParam* aExecParam,
-                           TBool aSkipDependencyCheck,
-                           TBool aDependencyExecution,
-                           TAny* aCustomParams ) = 0;
-
-    /**
-    * Describes the run mode of the test plug-in.
-    *
-    * @return Run mode.
-    * @see TDiagRunMode.
-    **/
-    virtual TRunMode RunMode() const = 0;
-
-    /**
-    * Cancels testing. Cancellation is expected to be synchronous.
-    * Test plug-in must return the result immediately, and it must not call
-    * TestExecutionCompletedL(). Ownership of the CDiagResultsDatabaseItem is 
-    * transferred to the caller.
-    *
-    * @param aReason - Reason why ExecutionStopL() is being called.
-    * @return Returns result object.  Test must not call TestExecutionCompletedL.
-    **/
-    virtual CDiagResultsDatabaseItem* ExecutionStopL( TStopReason aReason ) = 0;
-
-    /**
-    * Suspend test.  If test cannot be suspended, it will leave with
-    * KErrNotSupported.
-    **/
-    virtual void SuspendL() = 0;
-
-    /**
-    * Resume test. If test cannot be resumed, it will leave with 
-    * KErrNotSupported.
-    **/
-    virtual void ResumeL() = 0;
-
-    /**
-    * Get the number of steps that is needed to execute tests. 
-    * This can be used to calculate progress information. 
-    *
-    * @return The number of steps.
-    **/
-    virtual TUint TotalSteps() const = 0;
-
-    /**
-    * Create detailed information object from test result.
-    * Ownership is transferred to caller.
-    *
-    * @param aTestResult - Base test result.
-    * @return Instance of MDiagResultDetail* that can provide detailed 
-    *   information about the last test.
-    **/
-    virtual MDiagResultDetail* CreateDetailL( 
-                        const CDiagResultsDatabaseItem& aResult ) const = 0;
-    };
-
-#endif // DIAGTESTPLUGIN_H
-
-// End of File
-
--- a/remotemgmt_plat/diagnostics_plugin_api/inc/diagtestpluginbase.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,589 +0,0 @@
-/*
-* 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 "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:  Diagnostics Test Plug-in  Base class
-*
-*/
-
-
-#ifndef DIAGTESTPLUGINBASE_H
-#define DIAGTESTPLUGINBASE_H
-
-// INCLUDES
-#include <DiagTestPlugin.h>     // MDiagTestPlugin
-#include <ConeResLoader.h>      // RConeResourceLoader
-#include <DiagResultsDatabaseItem.h>    // CDiagResultsDatabaseItem::TResult
-#include <DiagEngineWatchdogTypes.h>    // TDiagEngineWatchdogTypes
-
-// FORWARD DECLARATIONS
-class CDiagResultsDbItemBuilder;
-class TDiagTestPluginBasePrivateData;
-class CDiagPluginConstructionParam;
-class CAknDialog;
-
-/**
-*  Diagnostics Framework Test Plugin  Base Class
-*
-*  This class provides further simplification of test execution.
-*  It handles execution parameter and reporting results to engine
-*
-*  @since S60 v5.0
-*/
-class CDiagTestPluginBase : public CActive,
-                            public MDiagTestPlugin
-    {
-public: // C++ Destructor
-    /**
-    * Destructor.
-    */
-    IMPORT_C virtual ~CDiagTestPluginBase();
-
-protected: // new API for derived class
-    /**
-    * C++ constructor
-    * 
-    *   Note that BaseConstructL() must be called to complete object construction.
-    * @param aConstructionParam Construction parameters.
-    */
-    IMPORT_C CDiagTestPluginBase( CDiagPluginConstructionParam* aConstructionParam );
-    
-    /**
-    * 2nd phase Base class constructor
-    * This initializes CDiagTestPluginBase class. Derived class must call this
-    * method in its ConstructL() method.
-    *  
-    * @param aResourceFileName Drive and name of resource file in format
-    *                          <path>:<rsc_file_name>
-    */
-    IMPORT_C void BaseConstructL( const TDesC& aResourceFileName );
-
-    /**
-    * Verify that all dependencies are satisfied. Also returns a list of
-    * failed dependencies.
-    *
-    * @param aEngine. Reference to engine, which provides references to
-    *   database session and plug-in pool.
-    * @param aFailedUids. If ETrue is returned, the parameter is NULL.
-    *           if EFalse is returned, the parameter points to an array that
-    *           can be used to query UIDs of failed dependencies. Client is
-    *           responsible of closing the array.
-    * @return ETrue if all dependencies are executed successfully.
-    *         EFalse if one or more dependencies are failed.
-    */
-    IMPORT_C virtual TBool AreDependenciesSatisfiedL( MDiagEngineCommon& aEngine,
-                                            RArray<TUid>*& aFailedUids ) const;
-
-    /**
-    * Check result of dependencies. This will check each dependency and
-    * determine the best overall result of all the dependencies.
-    *
-    * @param aEngine. Reference to engine, which provides references to
-    *   database session and plug-in pool.
-    * @param aFailedUids. If ESuccess is returned, the parameter is NULL.
-    *           Otherwise the parameter points to an array that
-    *           can be used to query UIDs of failed dependencies. Client is
-    *           responsible of closing the array.
-    * @return Result of the dependency check. If multiple depencies or suites
-    *   are included, it will return the most appropreate result.
-    */
-    IMPORT_C virtual CDiagResultsDatabaseItem::TResult VerifyDependenciesL( 
-        MDiagEngineCommon& aEngine,
-        RArray<TUid>*& aFailedUids ) const;
-
-    /**
-    * Returns execution parameter. 
-    *   Note that this function should be called only during test execution. 
-    *   If called in other states, it will Panic with EDiagPluginBasePanicInvalidState
-    *
-    * @return Execution parameter.
-    */
-    IMPORT_C TDiagTestExecParam& ExecutionParam();
-
-    /**
-    * Check if current test session has dependency check skip flag set.
-    *   Note that this function should be called only during test execution. 
-    *   If called in other states, it will Panic with EDiagPluginBasePanicInvalidState
-    * 
-    * @return ETrue if dependency check is disabled for this execution sesison.
-    *   EFalse if dependency check is enabled.
-    */
-    IMPORT_C TBool IsDependencyCheckSkipped() const;
-
-    /**
-    * Check if current test is being executed to satisfy dependency or
-    *   if it is being executed explicitly.
-    *   Note that this function should be called only during test execution. 
-    *   If called in other states, it will Panic with EDiagPluginBasePanicInvalidState
-    *
-    * @return ETrue - If it is to satisfy dependency.
-    *   EFalse - If it is being executed explicitly.
-    */
-    IMPORT_C TBool IsDependencyExecution() const;
-
-    /**
-    * Get custom parameter passed to from the engine
-    *   Note that this function should be called only during test execution. 
-    *   If called in other states, it will Panic with EDiagPluginBasePanicInvalidState
-    * 
-    * @return Custom parameter. Ownership is not transferred.
-    */
-    IMPORT_C TAny* CustomParam() const;
-
-    /**
-    * Get currently result db item builder.
-    *   Note that this function should be called only during test execution. 
-    *   If called in other states, it will Panic with EDiagPluginBasePanicInvalidState
-    *
-    * @return Reference to current CDiagResultsDbItemBuilder.
-    */
-    IMPORT_C CDiagResultsDbItemBuilder& ResultsDbItemBuilder();
-
-    /**
-    * Report test progress test observer.
-    *   This function will call engine's TestProgressL method with watchdog
-    *   type value that is based on plug-in RunMode.
-    *
-    *   If EAutomatic plug-in, it will use EDiagEngineWatchdogTypeNonInteractive.
-    *   If EInteractiveView or EInteractiveDialog, EDiagEngineWatchdogTypeInteractive. 
-    *
-    *   When watchdog is timed out, it will stop test with test result
-    *   CDiagResultsDatabaseItem::EWatchdogCancel.
-    *
-    *   Note that this function should be called only during test execution. 
-    *   If called in other states, it will Panic with EDiagPluginBasePanicInvalidState
-    *
-    * @param aCurrentStep - Current execution step
-    */
-    IMPORT_C void ReportTestProgressL( TUint aCurrentStep );
-
-    /**
-    * Reset watchdog value and watchdog failure result type.
-    *   When watchdog is timed out, it will use the given result type as
-    *   value to report back to engine.  
-    *
-    *   Note that this function should be called only during test execution. 
-    *   If called in other states, it will Panic with EDiagPluginBasePanicInvalidState
-    *
-    * @param aWatchdogType - Type of watchdog requested.
-    * @param aResultType - Result to report when wachdog is failed.
-    */
-    IMPORT_C void ResetWatchdog( TDiagEngineWatchdogTypes aWatchdogType,
-                                 CDiagResultsDatabaseItem::TResult aResultType );
-
-    /**
-    * Reset watchdog value and watchdog failure result type.
-    *   For most plug-ins, the other ResetWatchdog should be better. 
-    *   This should be used only if specific time must be given for the step.
-    *
-    *   When watchdog is timed out, it will use the given result type as
-    *   value to report back to engine.  
-    *
-    *   Note that this function should be called only during test execution. 
-    *   If called in other states, it will Panic with EDiagPluginBasePanicInvalidState
-    *
-    * @param aTimeToCompletion - Time needed to complete current operation.
-    *   Unit is in microseconds.
-    * @param aResultType - Result to report when wachdog is failed.
-    */
-    IMPORT_C void ResetWatchdog( 
-        TInt aTimeToCompletion,
-        CDiagResultsDatabaseItem::TResult aResultType );
-
-    /**
-    * Reset watchdog value and watchdog failure result type to default values.
-    *   This will also reset watchdog on engine.
-    *
-    *   Note that this function should be called only during test execution. 
-    *   If called in other states, it will Panic with EDiagPluginBasePanicInvalidState
-    *
-    */
-    IMPORT_C void ResetWatchdogToDefault();
-
-    /**
-    * Report test result to test observer. 
-    *   Note that this function should be called only during test execution. 
-    *   If called in other states, it will Panic with EDiagPluginBasePanicInvalidState
-    *
-    *   This function will also call StopAndCleanupL(), which will call 
-    *   DoStopAndCleanupL(). After CompleteTestL() is called, ExecutionParam() and
-    *   other test state specific API will fail.
-    *
-    * @param aResult - Test result.
-    */
-    IMPORT_C void CompleteTestL( CDiagResultsDatabaseItem::TResult aResult );
-
-    /**
-    * Stop current execution and free any data associated with the test.
-    *   This method will call DoStopAndCleanupL() function to allow
-    *   derived class to clean up.
-    *   
-    *   It will also call DismissWaitingDialog() and CActive::Cancel().
-    *
-    *   If derived class overrides ExecutionStopL() function, this function
-    *   must be called by derived version of ExecutionStopL() to allow
-    *   proper clean up of CDiagTestPluginBase.
-    *
-    *   @see CDiagTestPluginBase::ExecutionStopL
-    */
-    IMPORT_C void StopAndCleanupL();
-
-    /**
-    * Run a dialog that waits for response. It is highly recommended that
-    * all plug-ins use this function to display dialogs since it can detect
-    * deletion of dialogs.
-    *
-    * The difference from normal dialog RunLD is that this function returns 
-    * ETrue if dialog exited due to user response and 
-    * EFalse if it was by other means, such as object deletion or
-    * by DismissWaitingDialog() method. 
-    * 
-    *   !!!! NOTE THAT PLUG-IN MUST RETURN IMMEDIATELY WITHOUT ACCESSING  !!!!
-    *   !!!! LOCAL VARIABLE OR LOCAL FUNCITONS WHEN THIS FUNCTION RETURNS !!!!
-    *   !!!! EFalse VALUE BECAUSE "THIS" POINTER MAY BE FREED ALREADY.    !!!!
-    * 
-    * The normal dialog response is returned via aDialogResponse reference.
-    * This function can only display one dialog at a time. Calling it again 
-    * while it has not been returned will cause panic.
-    *
-    * @param aDialog - Pointer to dialog to run. If the dialog does not have
-    *   EEikDialogFlagWait flag set, it will panic with EDiagPluginBaseBadArgument
-    * @param aDialogResponse - Response from the dialog.  
-    *   For detailed values @see avkon.hrh "CBA constants". E.g. EAknSoftkeyYes
-    *   The only exception is that if cancel is pressed, it will be 0.
-    * @return ETrue if dialog is exiting due to user response.
-    *   Efalse if dialog is dismissed withou user input. 
-    *   If EFalse is returned, plug-in MUST NOT act on the response.
-    *   Also, since plug-in may have been deleted,
-    */
-    IMPORT_C TBool RunWaitingDialogL( CAknDialog* aDialog, TInt& aDialogResponse );
-
-    /**
-    * Dismiss the waiting dialog. This will cause the RunDialogLD() function to return with
-    * aIsUserResponse = Efalse. If nothing is being displayed, this function
-    * does nothing.
-    */
-    IMPORT_C void DismissWaitingDialog();
-
-    /**
-    * CCoeEnv
-    *   @return Reference to CCoeEnv.
-    */
-    IMPORT_C CCoeEnv& CoeEnv();
-
-    /**
-    * Check if current test is being executed as a single plugin or 
-    * as a part of a suite
-    *   Note that this function should be called only during test execution. 
-    *   If called in other states, it will Panic with EDiagPluginBasePanicInvalidState
-    *
-    * @return ETrue - If run as a single plugin
-    *   EFalse - If run as a part of a suite
-    */
-    IMPORT_C TBool SinglePluginExecution() const;
-    
-protected:  // to be implemented by derived classes
-    /**
-    * Execute test. This is called by CDiagTestPluginBase::RunTestL()
-    *   Note that CDiagTestPluginBase takes ownership of all parameters
-    *   given in RunTestL() function. If specific parameter is needed
-    *   use the following set of functions:
-    *
-    *   Parameters are available via the following APIs.
-    *       Observer:               ExecutionParam().Observer();
-    *       Engine:                 ExecutionParam().Engine();
-    *       Dependency Execution:   IsDependencyExecution();
-    *       Skip Depdency:          IsDependencyCheckSkipped();
-    *       Custom Parameter:       CustomParam();
-    *
-    *   Also, a new instance of CDiagResultsDbItemBuilder is created and
-    *   accessible via:
-    *
-    *       Result Db Item Builder: ResultsDbItemBuilder();
-    */
-    virtual void DoRunTestL() = 0;
-
-    /**
-    * Stop current execution and free any data associated with the test.
-    *   This is called by StopAndCleanupL
-    */
-    virtual void DoStopAndCleanupL() = 0;
-
-    /**
-    * This is called by CDiagTestPluginBase::ExecutionStopL() to allow 
-    *   the derived class to provide additional behavior in ExecutionStopL().
-    *   Default implementation does nothing. For more information about
-    *   how this is called, @see CDiagTestPluginBase::ExecutionStopL()
-    *
-    * @param aReason - Reason why ExecutionStopL() is being called.
-    * @param aTestResult - Test result to write to in database.
-    *   This is IN/OUT parameter. By default, it contains default result based on
-    *   aReason. Plug-in can provide different test result, assign new result
-    *   to this variable.
-    *
-    */
-    IMPORT_C virtual void DoExecutionStopL( MDiagTestPlugin::TStopReason aReason,
-                                            CDiagResultsDatabaseItem::TResult& aTestResult );
-
-protected:  // From CActive
-    /**
-    * RunError. Handle leaves from test. If test is currently running, 
-    * CDiagTestPluginBase will handle the error by calling 
-    * CompleteTestL( CDiagResultsDatabaseItem::EFailed ). If test was
-    * not running, it will return the error back to active scheduler.
-    * 
-    * If this behavior is not desired, derived class should override this
-    * method.
-    * 
-    * For parameters and return value, 
-    * @see CActive::RunError
-    */
-    IMPORT_C virtual TInt RunError( TInt aError );
-
-protected: // from MDiagTestPlugin
-    /**
-    * Handle execution stop.
-    *   @see MDiagTestPlugin::ExecutionStopL()
-    * 
-    *   This method does the following:
-    *       a) Call DoExecutionStopL()   
-    *       b) Call StopAndCleanupL()  -> Calls DoStopAndCleanupL()
-    *       c) Return either EWatchdogCancel or ECancelled depending on
-    *           the stop reason. 
-    *   
-    *   Note: If derived class wants override this function, be sure to 
-    *   call StopAndCleanupL() to allow proper clean up of 
-    *   CDiagTestPluginBase class. StopAndCleanupL() will call
-    *   DoStopAndCleanupL(). 
-    *
-    *   @see DoExecutionStopL()
-    *   @see StopAndCleanupL() 
-    */
-    IMPORT_C virtual CDiagResultsDatabaseItem* ExecutionStopL( TStopReason aReason );
-
-protected:    // from MDiagTestPlugin
-    /**
-    * Get the name of the service that the plug-in provides.
-    *
-    * @return The name of the service.
-    */
-    IMPORT_C virtual const TDesC& ServiceLogicalName() const;
-
-    /**
-    * Get logical dependencies. One plug-in can have multiple dependencies to 
-    * other plug-ins.
-    *
-    * @param aArray An array of logical names.
-    * @see ServiceLogicalNameL
-    */
-    IMPORT_C virtual void GetLogicalDependenciesL( CPtrCArray& aArray ) const;
-
-    /**
-    * Return the type of the plug-in. 
-    *
-    * @return The type.
-    * @see TPluginType.
-    */
-    IMPORT_C virtual TPluginType Type() const;
-
-    /**
-    * Create an icon that represents the plug-in.
-    *
-    * @return An icon. 
-    */
-    IMPORT_C virtual CGulIcon* CreateIconL() const;
-
-    /**
-    * @see MDiagPlugin::IsSupported
-    */
-    IMPORT_C virtual TBool IsSupported() const;
-
-    /**
-    * Get the order number that this plug-in should appear in its parent list.
-    *
-    * @return TUint order number.
-    */
-    IMPORT_C virtual TUint Order() const;
-
-    /**
-    * Get UID of the parent.
-    *
-    * @return The parent UID.
-    */
-    IMPORT_C virtual TUid ParentUid() const;
-
-    /**
-    * @see MDiagPlugin::SetDTorIdKey()
-    */
-    IMPORT_C virtual void SetDtorIdKey( TUid aDtorIdKey );
-
-    /**
-    * Get title of the plugin. Default implementation in CDiagTestPluginBase 
-    *   will leave with KErrNotSupported. If plug-in has a title, plug-ins 
-    *   must override this method.
-    * @see MDiagPlugin::GetTitleL() 
-    */
-    IMPORT_C virtual HBufC* GetTitleL() const;
-
-    /**
-    * Get description of the plugin. Default implementation in 
-    *   CDiagTestPluginBase will leave with KErrNotSupported. If plug-in 
-    *   has a description, plug-in must override this method.
-    * @see MDiagPlugin::GetDescriptionL()
-    */
-    IMPORT_C virtual HBufC* GetDescriptionL() const;
-
-    /**
-    * Reserved for future use/plugin's custom functionality. 
-    *
-    * @param aUid   Unique identifier of the operation.
-    * @param aParam Custom parameter. 
-    * @return TAny pointer. Custom data.
-    */
-    IMPORT_C virtual TAny* CustomOperationL( TUid aUid, TAny* aParam );
-
-    /**
-    * Reserved for future use/plugin's custom functionality. 
-    *
-    * @param aUid   Unique identifier of the property
-    * @param aParam Custom parameter.
-    * @return TAny pointer. Custom data. 
-    */
-    IMPORT_C virtual TAny* GetCustomL( TUid aUid, TAny* aParam );
-
-    /**
-    * Initialization Step. This method is called before any plugin are executed.
-    * This can be used to clean up any left over data from previous execution 
-    * sessions. All plug-ins in execution plan will have a chance to clean 
-    * up before any plug-ins are run.  This is a synchrouns method.
-    *
-    * @param aEngine - Reference to engine.
-    * @param aSkipDependencyCheck - If ETrue, plug-in will be executed
-    *   even if dependencies are not executed.
-    * @param aCustomParams Custom parameters for plug-ins. 
-    *   It can used to pass arbitrary data from application to the plug-ins.
-    *   Owership is not transferred and plug-in must not delete
-    *   this parameter.
-    */
-    IMPORT_C virtual void TestSessionBeginL( MDiagEngineCommon& aEngine,
-                                             TBool aSkipDependencyCheck,
-                                             TAny* aCustomParams );
-
-    /**
-    * Cleanup Step. This method is called after all plug-ins in the 
-    * execution plan is completed to clean up any left over data from 
-    * current sesison. This can be used to clean up any data that
-    * provides dependent service created for its dependencies.
-    * This is a synchrouns method.
-    *
-    * @param aEngine - Reference to engine.
-    * @param aSkipDependencyCheck - If ETrue, plug-in as executed
-    *   even if dependencies are not executed.
-    * @param aCustomParams Custom parameters for plug-ins. 
-    *   It can used to pass arbitrary data from application to the plug-ins.
-    *   Owership is not transferred and plug-in must not delete
-    *   this parameter.
-    */
-    IMPORT_C virtual void TestSessionEndL( MDiagEngineCommon& aEngine,
-                                           TBool aSkipDependencyCheck,
-                                           TAny* aCustomParams );
-
-
-    /**
-    * Execute diagnostics test.
-    * @see MDiagTestPlugin::RunTestL
-    */
-    IMPORT_C virtual void RunTestL( TDiagTestExecParam* aExecParam,
-                                    TBool aSkipDependencyCheck,
-                                    TBool aDependencyExecution,
-                                    TAny* aCustomParams );
-
-    /**
-    * Suspend test.  
-    * @see MDiagTestPlugin::SuspendL
-    */
-    IMPORT_C virtual void SuspendL();
-
-    /**
-    * Resume test. 
-    * @see MDiagTestPlugin::ResumeL
-    */
-    IMPORT_C virtual void ResumeL();
-
-    /**
-    * Create test result detail.
-    * @see CDiagTestPluginBase::CreateDetailL
-    */
-    IMPORT_C virtual MDiagResultDetail* CreateDetailL( 
-        const CDiagResultsDatabaseItem& aResult ) const;
-
-private:    // private functions
-    /**
-    * Stop and clean up CDiagTestPluginBase
-    */
-    void BaseStopAndCleanup();
-
-    /**
-    * Utility function to get all dependent test plug-ins. If suite is found,
-    * it will be expanded to test plug-ins.
-
-    * @param aEngine. Reference to engine, which provides references to
-    *   database session and plug-in pool.
-    * @param aPluginList - Output array. Upon completion, it will hold
-    *   list of test plug-ins. If this plug-in does not depend on any tests, 
-    *   it will be empty.
-    *   Ownership of individual items are not trasferred, so ResetAndDestroy()
-    *   must not be called.
-    */
-    void GetAllDependentTestsL( MDiagEngineCommon& aEngine,
-                                RPointerArray< MDiagTestPlugin >& aPluginList ) const;
-
-    /**
-    * Utility function to check results of tests in array and come up with
-    * best overall result of tests. 
-    * @param aPluginList - List of test plug-ins.
-    * @param aFailedUidList - Output array. Upon completion, it will contain
-    *   list of uids that failed.
-    * @return Overall result of dependent tets.
-    */
-    CDiagResultsDatabaseItem::TResult SummarizeOverallTestResultsL( 
-        MDiagEngineCommon& aEngine,
-        const RPointerArray< MDiagTestPlugin >& aPluginList,
-        RArray< TUid >& aFailedUidList ) const;
-
-
-private:    // Private Data Type
-    // Forward declaration.
-    class TPrivateData;
-
-private:    // Private Data
-    /**
-    * Plug-in constructor parameter.
-    * Ownership: this
-    */
-    CDiagPluginConstructionParam* iConstructionParam;
-
-    /**
-    * CCoeEnv. This is needed for handling resources. 
-    */
-    CCoeEnv& iCoeEnv;
-
-    /**
-    * Plug-in base's private data
-    */
-    TPrivateData* iData;
-    };
-
-#endif // DIAGTESTPLUGINBASE_H
-
-// End of File
-
--- a/remotemgmt_plat/diagnostics_plugin_pool_api/diagnostics_plugin_pool_api.metaxml	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-<?xml version="1.0" ?>
-<api id="400f1a7110ad1261f33dda614736cbbc" dataversion="1.0">
-  <name>Diagnostics Plugin Pool API</name>
-  <description>This is for diagnostics App and FW communication and mainatenance of plugins</description>
-  <type>c++</type>
-  <subsystem>devicediagnosticsfw</subsystem>
-  <libs>
-    <lib name="diagframework.lib" />
-  </libs>
-  <release category="domain"/>
-  <attributes>
-     <!-- This indicates wether the api provedes separate html documentation -->
-     <!-- or is the additional documentation generated from headers. -->
-     <!-- If you are unsuere then the value is "no" -->
-     <htmldocprovided>no</htmldocprovided>
-     <adaptation>no</adaptation>
-  </attributes>
-</api>
--- a/remotemgmt_plat/diagnostics_plugin_pool_api/group/bld.inf	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 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:  File that exports the files belonging to 
-:                Diagnostics Plugin Pool API
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/diagpluginpool.h     MW_LAYER_PLATFORM_EXPORT_PATH(DiagPluginPool.h)
-../inc/diagpluginpoolobserver.h     MW_LAYER_PLATFORM_EXPORT_PATH(DiagPluginPoolObserver.h)
--- a/remotemgmt_plat/diagnostics_plugin_pool_api/inc/diagpluginpool.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +0,0 @@
-/*
-* 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 "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:  Manages Diagnostics Plug-in
-*
-*/
-
-
-#ifndef DIAGPLUGINPOOL_H
-#define DIAGPLUGINPOOL_H
-
-// INCLUDES
-#include <e32base.h>            // CBase
-
-// FORWARD DECLARATIONS
-class MDiagPlugin;
-class MDiagPluginPoolObserver;
-class CDiagPluginPoolImpl;        
-
-
-/**
-*  Diagnostics Framework Plugin Pool Class
-*
-*  This class is used to load Diagnostics ECom plug-ins. It works with both
-*  Suite Plug-in and Test Plug-in. Once loaded, it will manage the life
-*  cycle of the plug-ins.
-*
-*  All loaded plug-ins will be destroyed when pool is deleted.
-*
-*  @since S60 v5.0
-*/
-NONSHARABLE_CLASS( CDiagPluginPool ) : public CBase
-    {
-public:
-
-    /**
-    * Two-phased constructors
-    *
-    * @param aObserver     Plug-in Pool observer.
-    * @return New instance of CDiagPluginPool
-    */
-    IMPORT_C static CDiagPluginPool* NewL( MDiagPluginPoolObserver& aObserver );
-    IMPORT_C static CDiagPluginPool* NewLC( MDiagPluginPoolObserver& aObserver );
-
-    /**
-    * Destructor
-    *
-    */
-    IMPORT_C virtual ~CDiagPluginPool();
-
-public:     // new API
-
-    /**
-    * Loads all plug-ins. Progress is notified via MDiagPluginPoolObserver.
-    * 
-    * @param aUid - Interface Uid to load.
-    */
-    IMPORT_C void LoadAsyncL( TUid aUid );
-    
-    /**
-    * Create an instance of a plug-in. It can be a test plug-in or suite plug-in.
-    * If this is a suite, it will not have its children associated with it since
-    * will require children to be loaded as well.
-    *
-    * Plug-ins created using this method is not part of plug-in pool. Therefore
-    * client must manage the life cycle of the plug-in.
-    * 
-    * @param aUid - Implementation Uid of plug-in. 
-    * @return Newly instantiated plug-in. Ownership is transferred to caller.
-    */
-    IMPORT_C static MDiagPlugin* CreatePluginL( TUid aUid );
-
-    /**
-    * Cancel Plug-in Loading
-    * This method cancels plug-in loading. If it was not currently loading
-    * plug-ins, it will leave with KErrNotReady
-    */
-    IMPORT_C void CancelLoadPluginsL();
-
-    /**
-    * Find Plug-in that matches given Uid.
-    *
-    * @param aUid      Uid of plug-in to search.
-    * @param aPlugin   Reference to Plugin found. Engine owns this plug-in.
-    *                  Client must not deallocate plug-in.
-    * @return TInt     KErrNone        - Success.
-    *                  KErrNotFound    - Not found.
-    *                  KErrNotReady    - Plug-ins are not yet loaded.
-    */
-    IMPORT_C TInt FindPlugin( TUid aUid, MDiagPlugin*& aPlugin ) const;
-
-    /**
-    * Find Plug-in that matches given Uid. This function will leave on error.
-    *  Leave codes:    KErrNone        - Success.
-    *                  KErrNotFound    - Not found.
-    *                  KErrNotReady    - Plug-ins are not yet loaded.
-    *
-    * @param aUid      Uid of plug-in to search.
-    * @return Refernce to the plug-in found.
-    */
-    IMPORT_C MDiagPlugin& FindPluginL( TUid aUid ) const;
-
-    /**
-    * Find Plug-in that matches given service name.
-    *
-    * @param aServiceName  Service name of the plug-in. Name must match exactly.
-    * @param aPlugin       Reference to Plugin found. Engine owns this plug-in.
-    *                      Client must not deallocate plug-in.
-    * @return TInt         KErrNone        - Success.
-    *                      KErrNotFound    - Not found.
-    *                      KErrNotReady    - Plug-ins are not yet loaded.
-    */
-    IMPORT_C TInt FindPlugin( const TDesC& aServiceName,
-                              MDiagPlugin*& aPlugin ) const;
-
-    /**
-    * Find Plug-in that matches given service name. Will leave on error.
-    *  Leave codes:    KErrNone        - Success.
-    *                  KErrNotFound    - Not found.
-    *                  KErrNotReady    - Plug-ins are not yet loaded.
-    *
-    * @param aServiceName  Service name of the plug-in. Name must match exactly.
-    * @return Reference to Plugin found.
-    */
-    IMPORT_C MDiagPlugin& FindPluginL( const TDesC& aServiceName ) const;
-
-private:  // private constructors
-    
-    /**
-    * C++ Constructor
-    *    
-    */    
-    CDiagPluginPool();
-    
-    /**
-    * 2nd phase constructor
-    *    
-    */        
-    void ConstructL( MDiagPluginPoolObserver& aObserver );
-
-private:    //  MEMBER DATA
-    
-    /**
-    * iPluginPoolImpl - Acutal implementation of CDiagPluginPool
-    * Owns
-    */
-    CDiagPluginPoolImpl* iPluginPoolImpl;
-    };
-
-
-#endif // DIAGPLUGINPOOL_H
-
-// End of File
-
--- a/remotemgmt_plat/diagnostics_plugin_pool_api/inc/diagpluginpoolobserver.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
-* 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 "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:  Observer interface to use with CDiagPluginPool 
-*
-*/
-
-
-#ifndef DIAGPLUGINPOOLOBSERVER_H
-#define DIAGPLUGINPOOLOBSERVER_H
-
-// INCLUDES
-#include <e32cmn.h>     // TUid
-#include <e32def.h>     // TInt
-
-// FORWARD DECLARATIONS
-class MDiagPlugin;
-
-/**
-*  Diagnostics Framework Plugin Pool Observer
-*
-*  This interface is called by CDiagPluginPool to notify the plug-in 
-*  loading progress. This is used only for LoadAsyncL() scenario.
-*
-*  @since S60 v5.0
-*/
-class MDiagPluginPoolObserver 
-    {
-public:
-
-    /**
-    * Notify client of plug-in loading progress.
-    *
-    * @param aCurrPlugin   Current plugin index in loading process. 
-    *                       Use it to display loading progress.
-    * @param aPluginCount  Totals number of plug-ins
-    * @param aLoadedPluginUid  Uid of the plug-in just loaded.
-    */
-    virtual void LoadProgressL( TUint aCurrentPlugin, 
-                                TUint aPluginCount, 
-                                const TUid& aLoadedPluginUid ) = 0;
-
-
-    /**
-    * Notify client of plug-in loading completion
-    *
-    * @param aError     KErrNone - Success
-    *                   KErrCorrupt  - One ore more plugin could not
-    *                   be loaded. 
-    *                   KErrNoMemory - Not enough memory.
-    */
-    virtual void LoadCompletedL( TInt aError ) = 0;
-    };
-
-
-#endif // DIAGPLUGINPOOLOBSERVER_H
-
-// End of File
-
--- a/remotemgmt_plat/diagnostics_plugin_utility_api/diagnostics_plugin_utility_api.metaxml	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-<?xml version="1.0" ?>
-<api id="2ce0c116ec3d4f1195d2aeef47155698" dataversion="1.0">
-  <name>Diagnostics Plugin Utility API</name>
-  <description>Utility functions mainly used by the plugins.</description>
-  <type>c++</type>
-  <subsystem>devicediagnosticsfw</subsystem>
-  <libs>
-    <lib name="diagframework.lib" />
-  </libs>
-  <release category="domain"/>
-  <attributes>
-     <!-- This indicates wether the api provedes separate html documentation -->
-     <!-- or is the additional documentation generated from headers. -->
-     <!-- If you are unsuere then the value is "no" -->
-     <htmldocprovided>no</htmldocprovided>
-     <adaptation>no</adaptation>
-  </attributes>
-</api>
--- a/remotemgmt_plat/diagnostics_plugin_utility_api/group/bld.inf	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 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:  File that exports the files belonging to 
-:                Diagnostics Plugin Utility API
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/diaglogeventeraser.h     MW_LAYER_PLATFORM_EXPORT_PATH(diaglogeventeraser.h)
-../inc/diagcommondialog.h      MW_LAYER_PLATFORM_EXPORT_PATH(DiagCommonDialog.h)
-../inc/diagnetworkregstatuswatcher.h     MW_LAYER_PLATFORM_EXPORT_PATH(DiagNetworkRegStatusWatcher.h)
-../inc/diagpluginwaitingdialogwrapper.h     MW_LAYER_PLATFORM_EXPORT_PATH(DiagPluginWaitingDialogWrapper.h)
-../inc/diaglogeventeraserobserver.h     MW_LAYER_PLATFORM_EXPORT_PATH(diaglogeventeraserobserver.h)
-../inc/diagnetworkregstatusobserver.h     MW_LAYER_PLATFORM_EXPORT_PATH(DiagNetworkRegStatusObserver.h)
--- a/remotemgmt_plat/diagnostics_plugin_utility_api/inc/diagcommondialog.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-/*
-* 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 "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:  List of common dialog types
-*
-*/
-
-
-#ifndef DIAGCOMMONDIALOG_H
-#define DIAGCOMMONDIALOG_H
-
-
-/**
-*  Diagnostics Common Dialog Types
-*
-*  This is a list of common dialogs that can be used by plug-ins.
-* 
-*/
-enum TDiagCommonDialog
-    {
-    /**
-    * EDiagCommonDialogConfirmCancelAll
-    * Dialog that asks the user if all tests should be cancelled or not.
-    *
-    * aInitData:       No init data needed.  Always pass NULL.
-    * Return:          Standard dialog.  Use CAknDialog.
-    * Execution:       Call RunLD().
-    * RunLD() returns: - EAknSoftkeyYes, if the user confirmed the request to
-    *                    cancel all test execution.  Plugins should not do
-    *                    any further execution and should return immediately.
-    *                  - EAknSoftkeyNo, if the user dismissed the dialog and
-    *                    decided not to cancel all test execution.
-    *                  - 0, if the dialog is forced closed.  Generally,
-    *                    plugins should not distinguish between EAknSoftkeyNo
-    *                    and 0 (i.e., they should *only* check for
-    *                    EAknSoftkeyYes), unless there is good reason to.
-    *
-    * @code
-    *
-    *    CAknDialog* dlg = ExecutionParam().Engine().CreateCommonDialogLC(
-    *        EDiagCommonDialogConfirmCancelAll,
-    *        NULL );
-    *
-    *    TInt result = 0;
-    *    if ( !RunWaitingDialogL( dlg, result ) ||
-    *         result == EAknSoftkeyYes )
-    *        {
-    *        // Do not continue executing.  Either the dialog has been deleted
-    *        // or the user has cancelled all execution.
-    *        return;
-    *        }
-    *
-    *    dlg = NULL;
-    *
-    *    // Loop and display the plugin query again.
-    *    askAgain = ETrue;
-    *
-    */
-    EDiagCommonDialogConfirmCancelAll = 1,
-    EDiagCommonDialogConfirmSkipAll =2
-    };
-
-#endif // DIAGCOMMONDIALOG_H
-
-// End of File
-
--- a/remotemgmt_plat/diagnostics_plugin_utility_api/inc/diaglogeventeraser.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,176 +0,0 @@
-/*
-* 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 "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 the header for the Diagnostics Logs Event Eraser.
-*
-*/
-
-
-#ifndef DIAGLOGEVENTERASER_H
-#define DIAGLOGEVENTERASER_H
-
-// Include Files
-#include <e32base.h>                    // CActive
-#include <f32file.h>                    // RFs
-
-// Forward Declarations
-class MDiagLogEventEraserObserver;
-class CActiveSchedulerWait;
-class CLogClient;
-class CLogViewEvent;
-class CLogFilter;
-
-/**
-* Diagnostics Plugin Log Event Eraser
-*
-* This class is used to remove log events generated by diagnostics plugins.
-* Events could be anything that is logged by the system log, such as call or
-* data use records.
-*
-* @lib euser.lib
-* @lib logcli.lib 
-* @lib efsrv.lib
-* @lib flogger.lib
-*/
-NONSHARABLE_CLASS( CDiagLogEventEraser ) : public CActive
-    {
-
-public: // New functions
-
-    /**
-    * Symbian OS two-phase constructor.
-    *
-    * @param aObserver A reference to the observer for this event eraser.
-    * @param aFilter The filter to be used for log erasure.  Clients may pass
-    *                NULL for no filtering.  Ownership is transferred.
-    * @return An pointer to the new instance of CDiagLogEventEraser.
-    */
-    IMPORT_C static CDiagLogEventEraser* NewL(
-        MDiagLogEventEraserObserver& aObserver,
-        CLogFilter* aFilter = NULL );
-
-    /**
-    * Destructor.
-    */
-    IMPORT_C virtual ~CDiagLogEventEraser();
-
-    /**
-    * This gets the filter used for the log erasure.  Clients which want to
-    * filter the logs to be erased must call this function and set the
-    * appropriate filter before calling StartAsyncEraseLogsL or EraseLogsL.
-    *
-    * @return The filter to apply to the logs to check for erasure.
-    */
-    IMPORT_C CLogFilter& Filter();
-
-    /**
-    * This gets the log client used for the log erasure.
-    *
-    * @return The log client used for log erasure.
-    */
-    IMPORT_C CLogClient& LogClient();
-
-    /**
-    * This starts an asynchronous log erase operation.  The completion of this
-    * request is notified by MDiagLogEventEraserObserver::CompleteEventEraseL.
-    */
-    IMPORT_C void StartAsyncEraseLogsL();
-
-    /**
-    * This performs a synchronous log erase operation.  The function will
-    * leave if there is any error in log erasure.
-    */
-    IMPORT_C void EraseLogsL();
-
-
-private: // New functions
-
-    /**
-    * C++ default constructor.
-    *
-    * @param aObserver A reference to the observer for this event eraser.
-    * @param aFilter The filter to be used for log erasure.  If NULL is
-    *                passed, a new filter will be created during the second
-    *                phase of construction.  Ownership is transferred.
-    */
-    CDiagLogEventEraser( MDiagLogEventEraserObserver& aObserver,
-                         CLogFilter* aFilter );
-    
-    /**
-    * Symbian OS default constructor.
-    */
-    void ConstructL();
-
-    /**
-    * Handles the completion of log erasing and performs different operations
-    * depending on whether the erasing was asynchronous or not.
-    */
-    void HandleCompletionL( TInt aError );
-
-
-private: // From base class CActive
-
-    /**
-    * Handle active object completion event.
-    */
-    virtual void RunL();
-
-    /**
-    * Handle active object cancel event.
-    */
-    virtual void DoCancel();
-
-
-private: // Data
-
-    /** The state of the log erasing operation. */
-    enum TDiagLogEventEraserState
-        {
-        EStateInitial = 0,
-        EStateApplyingFilter,
-        EStateReadingEntries,
-        EStateDeletingEntry,
-        EStateComplete
-        };
-
-    /** The observer for this instance of the log event eraser. */
-    MDiagLogEventEraserObserver& iObserver;
-
-    /** The active scheduler, used for synchronous log erasure.  Own. */
-    CActiveSchedulerWait* iWaitScheduler;
-
-    /** The Log client.  Own. */
-    CLogClient* iLogClient;
-
-    /** The Log view.  Own. */
-    CLogViewEvent* iLogView;
-
-    /** The Log filter.  Own. */
-    CLogFilter* iLogFilter;
-
-    /** A file server session used to delete the logs. */
-    RFs iFsSession;
-
-    /** The internal state of the log event eraser. */
-    TDiagLogEventEraserState iState;
-
-    /** Indicates if the log event eraser is running a synchronous delete. */
-    TBool iIsDeletingSynchronous;
-
-    /** The return code for syncronous operation. */
-    TInt iError;
-    };
-
-#endif // DIAGLOGEVENTERASER_H
-
-// End of File
--- a/remotemgmt_plat/diagnostics_plugin_utility_api/inc/diaglogeventeraserobserver.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* 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 "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 the header for the Diagnostics Logs Event Eraser
-*                 Observer class, which clients implement to receive events
-*                 from the Event Eraser.
-*
-*/
-
-
-#ifndef DIAGLOGEVENTERASEROBSERVER_H
-#define DIAGLOGEVENTERASEROBSERVER_H
-
-// Forward Declarations
-class CLogEvent;
-
-/**
-* Diagnostics Plugin Log Event Eraser Observer
-*   
-* This is a pure virtual class that clients of the Event Eraser must implement
-* to receive callbacks from the Log Event Eraser.
-*/
-class MDiagLogEventEraserObserver
-    {
-
-public: // New functions
-
-    /**
-    * This function is called to check if the log event needs to be deleted.
-    *
-    * @param aEvent The event to check.
-    * @return ETrue if the log event should be deleted, EFalse otherwise.
-    */
-    virtual TBool IsEventToBeDeleted( const CLogEvent& aEvent ) = 0;
-    
-    /**
-    * This function is called to notify that the erase operation is complete.
-    *
-    * @param aError Error code to indicate erase failure, or KErrNone.
-    */           
-    virtual void CompleteEventEraseL( TInt aError ) = 0;
-
-    };
-
-#endif // DIAGLOGEVENTERASEROBSERVER_H
--- a/remotemgmt_plat/diagnostics_plugin_utility_api/inc/diagnetworkregstatusobserver.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* 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 "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 the header for the Diagnostics Network registration
-*                 status observer interface
-*
-*/
-
-
-#ifndef DIAGNETWORKREGSTATUSOBSERVER_H
-#define DIAGNETWORKREGSTATUSOBSERVER_H
-
-/**
-* Diagnostics Plugin Network registration status observer interface
-*   
-* This is an abstract class which plugins must derive and implement to receive
-* call-backs from the Diagnostics Network registration status observer.
-*/
-class MDiagNetworkRegStatusObserver
-    {
-public:
-    /**
-    * This function is used to inform the intial network registration status
-    *
-    * @param aRegistered. 
-    *  ETrue :The device is currently registered on the network
-    *  EFalse:The device is currently not registered on the network.
-    */
-    virtual void InitialNetworkRegistrationStatusL( const TBool& aRegistered ) = 0;
-    
-    /**
-    * This interface is used to inform the clients of any changes in the network registration
-    * status
-    *
-    * @param aRegistered
-    * ETrue :The device has now changed to registered status.
-    * EFalse:The device has now lost network coverage.
-    */    
-    virtual void NetworkRegistrationStatusChangeL( const TBool& aRegistered ) = 0;
-    };
-
-#endif // DIAGNETWORKREGSTATUSOBSERVER_H
-
-//End of file
-
--- a/remotemgmt_plat/diagnostics_plugin_utility_api/inc/diagnetworkregstatuswatcher.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +0,0 @@
-/*
-* 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 "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 the header for the Diagnostics Network registration
-*                 status watcher.
-*
-*/
-
-
-#ifndef DIAGNETWORKREGSTATUSWATCHER_H
-#define DIAGNETWORKREGSTATUSWATCHER_H
-
-// Include files
-#include <e32base.h>        // CActive
-#include <etel3rdparty.h>   // CTelephony
-
-//Forward declaration
-class MDiagNetworkRegStatusObserver;
-
-
-/**
-* Diagnostics Network registration status watcher
-*
-* This class can be used as an observer for network status. After 
-* instantiating the class and calling StartObserver(), the class firstly 
-* informs the client of the current registration status and then goes into
-* an observing mode for any changes in the network registration status.
-*
-*/
-class CDiagNetworkRegStatusWatcher : public CActive
-    {
-public:
-
-    /**
-    * Symbian OS constructor.
-    *
-    * @param aCallBack A reference to the callback for this network
-             registration status watcher
-    * @return An pointer to the new instance of CDiagNetworkRegStatusWatcher.
-    */
-    IMPORT_C static CDiagNetworkRegStatusWatcher* NewL(
-                    MDiagNetworkRegStatusObserver& aCallBack );
-    
-    /**
-    * Default C++ virtual destructor
-    */               
-    IMPORT_C virtual ~CDiagNetworkRegStatusWatcher();
-    
-    /**
-    * This function is used by client to start the watcher. Firstly, the
-    * watcher will inform the clients via call
-    * MDiagNetworkRegStatusObserver::InitialNetworkRegistrationStatusL()
-    * and then go into an observing mode for any changes in the network
-    * registration status. The changes status is informed via 
-    * MDiagNetworkRegStatusObserver::NetworkRegistrationStatusChangeL()
-    */    
-    IMPORT_C void StartObserver();
-    
-
-    /**
-    * This function is used by client to stop the observer.
-    */     
-    IMPORT_C void StopObserver();
-
-private:
-
-    /**
-    * C++ constructor.
-    *
-    * @param aCallBack A reference to the callback for Network
-    * registration status observer
-    */
-    CDiagNetworkRegStatusWatcher( MDiagNetworkRegStatusObserver&
-                                                            aCallBack );
-   
-    /**
-    * Symbian C++ 2nd phase constructor.
-    *
-    */    
-    void ConstructL();
-
-private: // From base class CActive
-
-    /**
-    * Handle active object completion event.
-    */
-    virtual void RunL();
-
-    /**
-    * Handle active object cancel event.
-    */
-    virtual void DoCancel();
-    
-private: // private functions
-
-    /**
-    * Handler for the internal state EStateWaitForInitialStatus
-    */
-    void HandleInitialStatusL();
-    
-    /**
-    * Handler for the internal state EStateWaitForStatusChange
-    */    
-    void HandleNetworkStatusChangeL();
-
-    /**
-    * This function wraps the logic to decide if the device is currently 
-    * registered or not.
-    *
-    * @return ETrue if the devide is registered, EFalse if the device is 
-    * not registered.
-    */
-    TBool IsDeviceRegisteredOnNetwork();
-    
-private:
-
-    /** States of the Network registration status watcher */
-    enum TDiagNetwRegStatusWatcherState
-        {
-        EStateInit = 0,
-        EStateWaitForInitialStatus,
-        EStateWaitForStatusChange,
-        EStateStopping
-        };
-    
-    /** variable to store the internal state of the network registration
-    *   status watcher
-    */
-    TDiagNetwRegStatusWatcherState iState;        
-
-    /** Interface to phone's telephony system.  Own. */
-    CTelephony* iTelephony;
-    
-    /** Defines the current network registration status */    
-    CTelephony::TNetworkRegistrationV1 iRegV1;
-    
-    /** A typedef'd packaged CTelephony::TNetworkRegistrationV1 for
-    passing through a generic API method. */    
-    CTelephony::TNetworkRegistrationV1Pckg iRegV1Pckg;        
-                        
-    /** The callback interface for this instance of Network
-    registration status observer */
-    MDiagNetworkRegStatusObserver& iCallBack; 
-
-    /** This variable remembers whether in previous state the 
-    * the device was registered or not
-    */
-    TBool iPreviouslyRegistered;
-    };
-
-#endif // DIAGNETWORKREGSTATUSWATCHER_H
-
-//End of file
-
--- a/remotemgmt_plat/diagnostics_plugin_utility_api/inc/diagpluginwaitingdialogwrapper.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-/*
-* 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 "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:  Provides wrapper for waiting dialogs.
-*
-*/
-
-
-#ifndef DIAGPLUGINWAITINGDIALOGWRAPPER_H
-#define DIAGPLUGINWAITINGDIALOGWRAPPER_H
-
-// INCLUDES
-#include <e32base.h>                // CBase
-
-// FORWARD DECLARATIONS
-class CAknDialog;
-
-/**
-*  Diagnostics Plugin Waiting Dialog Wrapper.
-*
-*   This class provides a wrapper for executing dialogs. The only functionality
-*   it adds is that it provides a way for the caller to find out whether
-*   the dialog was dismissed by the user response, or by application deletion.
-*
-*  @since S60 v5.0
-*/
-class CDiagPluginWaitingDialogWrapper : public CBase
-    {
-public: // new API
-    /**
-    * Two-phased constructor.
-    *
-    *   @param - aWaitingDialog.  Pointer to dialog to display. Note that 
-    *       it must be a dialog with EEikDialogFlagWait set. Otherwise, it 
-    *       will panic with EDiagPluginBasePanicBadArgument
-    *       Ownership is transferred to the wrapper.
-    *   @return - New instance of CDiagPluginWaitingDialogWrapper
-    */
-    IMPORT_C static CDiagPluginWaitingDialogWrapper* NewL( CAknDialog* aWaitingDialog );
-    
-    /**
-    * Destructor.
-    */
-    IMPORT_C virtual ~CDiagPluginWaitingDialogWrapper();
-
-    /**
-    * Run a dialog that waits for response. 
-    *
-    * To dismiss the dialog, simply delete CDiagPluginWaitingDialogWrapper instance.
-    *
-    * The difference from normal dialog RunLD is that this function returns 
-    * ETrue if dialog exited due to user response and 
-    * EFalse if the object was deleted.
-    * 
-    *   !!!! NOTE THAT PLUG-IN MUST RETURN IMMEDIATELY WITHOUT ACCESSING  !!!!
-    *   !!!! LOCAL VARIABLE OR LOCAL FUNCITONS WHEN THIS FUNCTION RETURNS !!!!
-    *   !!!! EFalse VALUE BECAUSE "THIS" POINTER MAY BE FREED ALREADY.    !!!!
-    * 
-    * The normal dialog response is returned via aDialogResponse parameter.
-    *
-    * @param aDialogResponse - Response from the dialog.  
-    *   For detailed values @see avkon.hrh "CBA constants". E.g. EAknSoftkeyYes
-    *   The only exception is that if cancel is pressed, it will be 0.
-    * @return ETrue if dialog is exiting due to user response.
-    *   Efalse if dialog is dismissed without user input. 
-    *   If EFalse is returned, plug-in MUST NOT act on the response.
-    */
-    IMPORT_C TBool RunLD( TInt& aDialogResponse );
-
-private:    // private interface
-    /**
-    * C++ Constructor
-    *   
-    *   @param - aWaitingDialog.  Pointer to dialog to display. Note that 
-    *       it must be a dialog with EEikDialogFlagWait set. Otherwise, it 
-    *       will panic with EDiagPluginBasePanicBadArgument
-    *       Ownership is transferred to the wrapper.
-    */
-    CDiagPluginWaitingDialogWrapper( CAknDialog* aWaitingDialog );
-
-private:    // Private Data
-    /**
-    * Pointer to the dialog being displayed.
-    * Ownership: Shared. Normally, dialog will dismiss itself. However,
-    * if plug-in is being deleted, it can be deleted by the plug-in as well.
-    */
-    CAknDialog* iWaitingDialog;
-
-    /**
-    * Indicates whether this class is deleted by caller.
-    * Ownership: Not owned. Normally, it will point to a stack entry.
-    */
-    TBool* iIsObjectDeletedPtr;
-    };
-
-#endif // DIAGTESTPLUGINBASE_H
-
-// End of File
-
--- a/remotemgmt_plat/diagnostics_results_api/diagnostics_results_api.metaxml	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-<?xml version="1.0" ?>
-<api id="0e4bf88aa0fc3fab2fd229af2c11d0fd" dataversion="1.0">
-  <name>Diagnostics results API</name>
-  <description>An API for storing and handling test case/session results.</description>
-  <type>c++</type>
-  <subsystem>devicediagnosticsfw</subsystem>
-  <libs>
-    <lib name="diagresultsdatabase.lib" />
-  </libs>
-  <release category="domain"/>
-  <attributes>
-     <!-- This indicates wether the api provedes separate html documentation -->
-     <!-- or is the additional documentation generated from headers. -->
-     <!-- If you are unsuere then the value is "no" -->
-     <htmldocprovided>no</htmldocprovided>
-     <adaptation>no</adaptation>
-  </attributes>
-</api>
--- a/remotemgmt_plat/diagnostics_results_api/group/bld.inf	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 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:  File that exports the files belonging to 
-:                Diagnostics results API
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/diagresultdetailbasic.h     MW_LAYER_PLATFORM_EXPORT_PATH(DiagResultDetailBasic.h)
-../inc/diagresultsdbitembuilder.h     MW_LAYER_PLATFORM_EXPORT_PATH(DiagResultsDbItemBuilder.h)
-../inc/diagresultsdbrecordengineparam.h     MW_LAYER_PLATFORM_EXPORT_PATH(DiagResultsDbRecordEngineParam.h)
-../inc/diagresultsdatabase.h     MW_LAYER_PLATFORM_EXPORT_PATH(DiagResultsDatabase.h)
-../inc/diagresultdetail.h      MW_LAYER_PLATFORM_EXPORT_PATH(DiagResultDetail.h)
-../inc/diagresultsdatabasetestrecordinfo.h      MW_LAYER_PLATFORM_EXPORT_PATH(DiagResultsDatabaseTestRecordInfo.h)
-../inc/diagresultsdatabaseitem.h     MW_LAYER_PLATFORM_EXPORT_PATH(DiagResultsDatabaseItem.h)
--- a/remotemgmt_plat/diagnostics_results_api/inc/diagresultdetail.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-/*
-* 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 "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:  Diagnostics Detail Test Result Interface
-*
-*/
-
-
-#ifndef DIAGRESULTDETAIL_H
-#define DIAGRESULTDETAIL_H
-
-// INCLUDES
-#include <e32cmn.h>         // RBuf
-
-// FORWARD DECLARATIONS
-class CGulIcon;
-
-
-/**
-*  Diagnostics Framework Test Result Details
-*
-*  This interface allows application to query addtional information about
-*  Diagnostics Test Result.  
-*
-*  @since S60 v5.0
-*/
-class MDiagResultDetail 
-    {
-public:
-    /** 
-    * Possible Output Formats.
-    */
-    enum TOutputFormat
-        {
-        EGetMoreInfo,           // Human readable text format.
-        ECorrectionUrl,         // URL for correction
-        ECorrectionUrlCaption   // Caption for the correction URL.
-        };
-
-    /**
-    * Get list of supported output
-    *
-    * @param aOutputList   - Returns supported output formats
-    */
-    virtual void GetSupportedOutput( RArray<TOutputFormat>& aOutputList ) const = 0;
-
-    /**
-    * Check if a given output format is supported.
-    *
-    * @param aOutputFormat - Possible output formate.
-    * @return ETrue if supported. EFalse otherwise.
-    */
-    virtual TBool IsOutputSupported( TOutputFormat aOutputFormat ) const = 0;
-
-    /**
-    * Output current result to a specified format.
-    *
-    * @param aFormat   Format of desired output.
-    * @param aBuffer   Output buffer.
-    */
-    virtual void GetOutputL( TOutputFormat aFormat, RBuf& aBuffer ) const = 0;
-
-    /**
-    * Create an icon. Icon can be created based on the results of the test.
-    *
-    * @return An icon that matches the result of the test.
-    **/
-    virtual CGulIcon* CreateIconL() const = 0;
-
-    /**
-    * Externalize to CBufFlat. This will be how the data will be stored in the 
-    * CDiagResultsDatabaseItem
-    *
-    * @return CBufFlat containing the externalized data. Ownership is passed 
-    *   to the caller.
-    **/
-    virtual CBufFlat* ExternalizeToBufferL() const = 0;
-
-    /**
-    * C++ Virtual destructor. Virtual destructor must be defined to make sure
-    * that correct destructor is called. 
-    *
-    **/
-    virtual ~MDiagResultDetail() {};
-    };
-
-#endif // DIAGRESULTDETAIL_H
-
-// End of File
-
--- a/remotemgmt_plat/diagnostics_results_api/inc/diagresultdetailbasic.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,208 +0,0 @@
-/*
-* 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 "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:  Basic Diagnostics Test Result Detail class
-*
-*/
-
-
-#ifndef DIAGRESULTDETAILBASIC_H
-#define DIAGRESULTDETAILBASIC_H
-
-// INCLUDES
-#include <e32base.h>                    // CBase
-#include <DiagResultDetail.h>           // MDiagResultDetail
-#include <DiagResultsDatabaseItem.h>    // CDiagResultsDatabaseItem::TResult
-
-// FORWARD DECLARATIONS
-class CDiagResultDetailBasicItem;
-
-
-// CONSTANTS
-const TInt KDiagResultDetailBasicVersion  = 1;   // verion of data format.
-
-/**
-*  Diagnostics Result Database Detail  class.
-*
-*  This  class provides  implementation of MDiagResultDetail 
-*  with commonly used methods.
-*
-*  @since S60 v5.0
-*/
-class CDiagResultDetailBasic : public CBase,
-                               public MDiagResultDetail
-    {
-public:
-    /**
-    * Constructor.
-    *
-    * @param aResult - Test Result
-    */
-    IMPORT_C CDiagResultDetailBasic( 
-                    CDiagResultsDatabaseItem::TResult aResult );
-
-    /**
-    * Destructor.
-    */
-    IMPORT_C virtual ~CDiagResultDetailBasic();
-
-    /**
-    * Externalize to a stream
-    *
-    * @param aWriteStream - stream to write to.
-    */
-    IMPORT_C void ExternalizeL( RWriteStream& aWriteStream ) const;
-
-    /**
-    * Update result value
-    * 
-    * @param aResult - Test result
-    */
-    IMPORT_C void SetResult( CDiagResultsDatabaseItem::TResult aResult );
-
-protected: // Interface for Derived class
-    /**
-    * Set data to a field.  This function sets a value to a field.
-    * If data already exists at the same field id, new data will 
-    * over write the old value at the same field.
-    *
-    * @param aFieldId - Unique ID to identify the data.
-    * @param aFieldName - Name of the field. This only for a 
-    *   reference.
-    * @param aValue - Value to set. This can be a TInt,
-    *   const TDesC8& or const TDesC16&.
-    */
-    IMPORT_C void SetValueL( TInt aFieldId,
-                             const TDesC8& aFieldName,
-                             TInt aValue );
-    IMPORT_C void SetValueL( TInt aFieldId,
-                             const TDesC8& aFieldName,
-                             const TDesC8& aValue );
-    IMPORT_C void SetValueL( TInt aFieldId,
-                             const TDesC8& aFieldName,
-                             const TDesC16& aValue );
-
-    /**
-    * Get value. If invalid aFieldId is passed, or type does not 
-    * match, function will leave with KErrArgument. 
-    *
-    * @param aFieldId - Unique id that identifies the data. Same
-    *   value used in SetValueL function.
-    * @param aValue - Output paramater. The data will be stored
-    *   here.
-    * @return KErrNone if successful. If not found KErrNotFound.
-    *   If type does not match, KErrArgument.
-    */
-    IMPORT_C TInt GetValue( TInt aFieldId, TInt& aValue ) const;
-    IMPORT_C TInt GetValue( TInt aFieldId, TPtrC8& aValue ) const;
-    IMPORT_C TInt GetValue( TInt aFieldId, TPtrC16& aValue ) const;
-
-public: // from MDiagResultDetail
-    /**
-    * Get list of supported output
-    *
-    * @param aOutputList   - Returns supported output formats
-    */
-    IMPORT_C virtual void GetSupportedOutput(
-                RArray<TOutputFormat>& aOutputList ) const;
-
-    /**
-    * Check if a given output format is supported.
-    *
-    * @param aOutputFormat - Possible output formate.
-    * @return ETrue if supported. EFalse otherwise.
-    */
-    IMPORT_C virtual TBool IsOutputSupported( TOutputFormat aOutputFormat ) const;
-
-    /**
-    * Output current result to a specified format.
-    *
-    * @param aFormat   Format of desired output.
-    * @param aBuffer   Output buffer.
-    */
-    IMPORT_C virtual void GetOutputL( TOutputFormat aFormat, RBuf& aBuffer ) const;
-
-    /**
-    * Create an icon. Icon can be created based on the results of the test.
-    *
-    * @return An icon that matches the result of the test.
-    **/
-    IMPORT_C virtual CGulIcon* CreateIconL() const;
-
-    /**
-    * Externalize to a CBufFlat. 
-    *   @see MDiagResultDetail::ExternalizeToBufferL
-    */
-    IMPORT_C CBufFlat* ExternalizeToBufferL() const;
-
-protected:
-    /**
-    * BaseConstructL
-    *
-    * @param aReadStream - Initialize from a stream.
-    */
-    IMPORT_C void BaseConstructL( RReadStream& aReadStream );
-
-    /**
-    * BaseConstructL
-    *
-    * @param aBuffer - Buffer to initialize from
-    */
-    IMPORT_C void BaseConstructL( const CBufFlat& aBuffer );
-
-
-private:  // internal methods
-    /**
-    * InternalizeL
-    *
-    * @param aReadStream - Initialize from a stream.
-    */
-    void InternalizeL( RReadStream& aReadStream );
-
-    /**
-    * Insert a new item. This function will delete the old item if item with 
-    * same field id already existsed.
-    *
-    * @param aNewItem - new item to set
-    */
-    void SetItemL( CDiagResultDetailBasicItem* aNewItem );
-
-    /**
-    * Find item by field id
-    *
-    * @param - Field id to look up.
-    * @return - Index in iFields array if look up is successful.
-    *   Return value is negative if look up fails.
-    */
-    TInt FindItem( TInt aFieldId ) const;
-
-
-private: // DATA
-    /**
-    * Test result.
-    */
-    CDiagResultsDatabaseItem::TResult            iResult;
-    
-    /**
-    * List of fields it contains.
-    *   All items are owned by this class.
-    */
-    RPointerArray<CDiagResultDetailBasicItem>    iFields;
-    };
-
-
-
-#endif // DIAGRESULTDETAILBASIC_H
-
-// End of File
-
--- a/remotemgmt_plat/diagnostics_results_api/inc/diagresultsdatabase.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,520 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Results database client interfaces.
-*                Provides results database session and subsession.
-*  libraries   : DiagResultsDatabase.lib DiagResultsDatabase.dll
-*
-*/
-
-
-#ifndef DIAGNOSTICS_RESULTS_DATABASE_CLIENT_H
-#define DIAGNOSTICS_RESULTS_DATABASE_CLIENT_H
-
-#include <e32base.h>
-
-class CDiagResultsDatabaseItem;
-class TDiagResultsDatabaseTestRecordInfo;
-class CDiagResultsDbRecordEngineParam;
-
-/**
-* Diagnostics Results Database. Stores test results and more information.
-* Provides methods to retrieve and fetch new data.
-* Requires ReadDeviceData and WriteDeviceData capabilities even if the
-* session does not write anything.
-*
-* Results database is a permanent file store based solution.
-* Database files are stored under WINSCW\C\private\10282cd9 in emulator
-* environment.
-*
-* It is recommended to have only one open RDiagResultsDatabase per thread.
-* There should be only one writer and multiple readers at the same time
-* accessing the same database file. It is possible that there are multiple
-* DB files for example when there are two diagnostics applications in the
-* system.
-*
-* @since S60 v5.0
-**/
-class RDiagResultsDatabase : public RSessionBase
-    {
-public:
-
-    /**
-    * Constructor
-    **/
-    IMPORT_C RDiagResultsDatabase();
-    
-    /**
-    * Destructor
-    **/
-    IMPORT_C ~RDiagResultsDatabase();
-
-    /**
-    * Connect to the results database to a DB file. This must be called before 
-    * trying to use this class, otherwise KERN-EXEC 0 will crash your app. 
-    * Only one RDiagResultsDatabase connection is recommended per application,
-    * because server sessions consume significant amount of system resources.
-    * Share the session inside your thread! Subsessions are much more lighter. 
-    *
-    * Calling connect creates the DB file inside server's private directory.
-    * If for some reason database is corrupted, the DB file should be deleted
-    * manually.
-    *
-    * @param aAppUid Unique identifier of the application. Each application has 
-    *   its own store.  Applications can access to another 
-    *   applications's database if they know their UID.
-    * @return KErrNone, if successful, otherwise one of the other system-wide
-    *   error codes. If calling process does not have access rights, 
-    *   KErrPermissionDenied is returned. ReadDeviceData+WriteDeviceData are
-    *   required. KErrDiskFull is returned if there is not enough space 
-    *   on c-drive.
-    **/
-    IMPORT_C TInt Connect( TUid aAppUid );
-
-    /**
-    * Close the session with the server. Handle is not valid anymore.
-    *
-    * @return KErrNone, if successful, otherwise one of the other system-wide
-    *   error codes.
-    **/
-    IMPORT_C TInt Close();
-
-    /**
-    * Returns the version number of the server.
-    *
-    * @return The version number.
-    **/
-    IMPORT_C TVersion Version() const;
-
-    /**
-    * Get the current number of test records in the database.
-    *
-    * @param aCount the number of records.
-    * @return KErrNone, if successful, otherwise one of the other system-wide 
-    *   error codes.
-    **/
-    IMPORT_C TInt GetRecordCount ( TUint& aCount ) const;
-
-    /**
-    * Returns the maximum number of records for each application. The number 
-    * is defined in the central repository and it is static for all applications. 
-    * It is guarenteed that the DB file contains only the maxsize records and
-    * not more. Old test records are deleted when new test records are 
-    * completed.
-    *
-    * @param aMaxSize The maximum number of test records.
-    * @return KErrNone, if successful, otherwise one of the other system-wide
-    *   error codes.
-    **/
-    IMPORT_C static TInt GetDatabaseMaximumSize( TInt& aMaxSize );
-
-    /**
-    * Returns an array of record Ids. The oldest records are at the beginning
-    * of the array. Test record are sorted based on creation time.
-    *
-    * @param aSortedRecordUidArray An array of UIds. The array is sorted 
-    *   based on time.
-    * @return KErrNone, if successful, otherwise one of the other system-wide
-    *   error codes.
-    **/
-    IMPORT_C TInt GetRecordUids ( CArrayFixFlat<TUid>& aSortedRecordUidArray ) const;
-
-    /**
-    * Returns id to last test record. The last record cannot be 
-    * still open for writing! Test record are sorted based on creation time.
-    *
-    * @param aRecordUid Unique identifier of the record.
-    * @return KErrNone, if successful, otherwise one of the other system-wide
-    *   error codes. Returns KErrNotFound if there are no records.
-    **/
-    IMPORT_C TInt GetLastRecord ( TUid& aRecordUid ) const;
-    
-    /**
-    * Returns id to last suspended or incompleted test record. 
-    * The last record cannot be still open for writing! Returns KErrNotFound 
-    * if there are no suspended or incomplete test records.
-    *
-    * @param aRecordUid Unique identifier of the record.
-    * @return KErrNone, if successful, otherwise one of the other system-wide
-    *   error codes. Returns KErrNotFound if there are no suspended test records.
-    **/
-    IMPORT_C TInt GetLastNotCompletedRecord ( TUid& aRecordUid ) const;
-    
-    /**
-    * Returns an overview from all records. 
-    *
-    * @param aInfoArray returns an array of record infos.
-    * @see TDiagResultsDatabaseTestRecordInfo.
-    **/
-    IMPORT_C TInt GetAllRecordInfos ( 
-               CArrayFixFlat<TDiagResultsDatabaseTestRecordInfo>& aInfoArray );
-
-    /**
-    * Initiate retrieving of last results.  After request is completed,
-    * data can be fetched using GetLastResults method.
-    *
-    * @param aUidArray An array of uid used to identify plug-ins.
-    * @param aStatus Completion status. 
-    **/
-    IMPORT_C void InitiateGetLastResults ( const CArrayFixFlat<TUid>& aUidArray,
-                                                TRequestStatus& aStatus );
-                                                
-    /**
-    * Cancel InitiateGetLastResults.
-    **/                                                
-    IMPORT_C void CancelInitiateGetLastResults () const;
-    
-    /**
-    * Get list of last results. Last result means that the plug-in has passed / failed
-    * test result. 
-    * 
-    * GetLastResults deletes data after this function 
-    * is called, so InitiateGetLastResults must be called if data is needed 
-    * again. Client is responsible for deleting the returned array. Contains
-    * null values if the searched uid was not found. There should be the same
-    * number of cells in UidArray and in the results array.   
-    *
-    * @param aResults Returned results array. Client is responsible for 
-    *                 deleting the array.
-    *
-    * @return KErrNotReady if this is called before InitiateGetLastResults.
-    */
-    IMPORT_C TInt GetLastResults ( RPointerArray<CDiagResultsDatabaseItem>& aResults ) const;
-    
-    /**
-    * Get last (the newest) test result of a test plug-in. The algorithm searches for a 
-    * test result that is either passed or failed. This is also asynchronous operation,
-    * because all records have to be browsed in worst case scenario (that is, when
-    * the plug-in uid is not found). Call GetLastResult when test result is needed.
-    *
-    *
-    * @param aTestPluginUid UID of a plug-in.    
-    * @param aStatus Asynchronous request status.
-    * 
-    */
-    IMPORT_C void InitiateGetLastResult ( TUid aTestPluginUid, 
-                                          TRequestStatus& aStatus );
-    
-
-    /**
-    * Get last result of a test plug-in.
-    *
-    * @param aItem Test result or NULL if not found.
-    * @retrun KErrNotReady if this is called before InitiateGetLastResult.
-    **/                                          
-    IMPORT_C TInt GetLastResult ( CDiagResultsDatabaseItem*& aItem );
-
-private:
-    
-    /**
-    * Leaving version of the service functions. Look above for explanations.
-    **/                    
-    void DoConnectL (TUid aAppUid);
-    
-    void DoGetRecordUidsL( CArrayFixFlat<TUid>& aSortedRecordUidArray ) const;
-
-    /*
-    * @see GetDatabaseMaximumSize()
-    */
-    static void DoGetDatabaseMaximumSizeL( TInt& aMaxSize );
-    
-    void DoGetAllRecordInfosL ( CArrayFixFlat<TDiagResultsDatabaseTestRecordInfo>& aInfoArray);
-    
-    void DoGetLastResultsL ( RPointerArray<CDiagResultsDatabaseItem>& aResults ) const;
-    
-    void WriteArrayIntoBufferL( const CArrayFixFlat<TUid>& aUidArray );   
-    
-    void DoGetLastResultL ( CDiagResultsDatabaseItem*& aItem );                                    
-
-private: 
-
-    // Flat dynamic buffer.
-    CBufFlat* iBuffer;
-    
-    // is the connection already open.
-    TBool iOpen;     
-    
-    //Buffer pointer
-    TPtr8 iPtr;                 
-    };
-   
-/**
-* Sub-session to Diagnostics Results Database. This API is used to
-* handle a Test record. A test record is a collection of test results.
-*
-* Test record is always written into the file, when updates are necessary. 
-* 
-*
-* @since S60 v5.0 
-**/
-class RDiagResultsDatabaseRecord : public RSubSessionBase
-    {
-public:
-
-    /**
-    * Test record status. 
-    **/
-     enum TRecordStatus
-        {    	      
-        EOpen,                // Currently open for writing.
-        ESuspended,   	      // ::Suspend() is called. 
-        ECrashed,		      // It was open previously, and it was not 
-                              // closed properly.
-        EPartiallyCompleted,  // Record is completed (not resumable), but not
-                              // all tests were completed.
-        ECompleted	          // Record is completed (not resumable), and all 
-                              // tests were completed. 
-        };
-
-    /**
-    * Constructor
-    **/
-    IMPORT_C RDiagResultsDatabaseRecord();
-    
-    /**
-    * Destructor
-    **/
-    IMPORT_C ~RDiagResultsDatabaseRecord();
-
-    /**
-    * Connects to a test record. There must be at least one created record.
-    * If the specified record is not found, KErrNotFound is returned.
-    * Opened test record can be modified if the test record has not been
-    * completed (= TestCompleted called).
-    *
-    * @param aSession open database session.
-    * @param aRecordId specifies the record where we want to connect.
-    * @param aReadOnly Indicates is the test record opened in read-only mode.
-    *                  If read-only = EFalse, the test record can overwrite
-    *                  test records that are not completed already. If 
-    *                  the test record is completed it can be opened only 
-    *                  in read-mode. 
-    *
-    * @return KErrNone, if successful, otherwise one of the other system-wide
-    *   error codes. Returns KErrAlreadyExists if subsession is connected.
-    **/
-    IMPORT_C TInt Connect( RDiagResultsDatabase& aSession, 
-                           TUid aRecordId, 
-                           TBool aReadOnly );
-    
-    /**
-    * Creates a new record and returns the uid of that record. 
-    * Writes empty test record into the file. Create new record opens the record
-    * always in Write mode.
-    *
-    * @param aSession open database session.
-    * @param aRecordId a new unique identifier is returned that is used to
-    *   identify particular test record. Client can use the record ID to access
-    *   the same record again.
-    * @param aEngineParam Engine parameters. 
-    *
-    * @return KErrNone, if successful, otherwise one of the other system-wide
-    *   error codes. Returns KErrAlreadyExists if subsession is connected.
-    *   KErrDiskFull is returned if there is not enough space on c-drive.
-    **/
-    IMPORT_C TInt CreateNewRecord( RDiagResultsDatabase& aSession, 
-                                   TUid& aRecordId,
-                                   CDiagResultsDbRecordEngineParam& aEngineParam );
-    
-    /**
-    * Retrieve parameters of the diagnostics engine. These are needed in
-    * Suspend/Resume functionality. 
-    *
-    * @param aEngineParam Engine parameters. Ownership is transferred.
-    *                     Client is responsible for deleting the object.
-    * @return KErrNone, if successful, otherwise one of the other system-wide
-    *   error codes.
-    **/
-    IMPORT_C TInt GetEngineParam( CDiagResultsDbRecordEngineParam*& aEngineParam ) const;
-
-
-    /**
-    * Get record status.
-    *
-    * @param aRecordStatus The status of the record. 
-    * @see TRecordStatus in the beginning of the class declaration.
-    *
-    * @return KErrNone, if successful, otherwise one of the other system-wide
-    *   error codes.
-    **/
-    IMPORT_C TInt GetStatus( TRecordStatus& aRecordStatus ) const;
-
-    /**
-    * Close subsession. Does not write test record into the file.
-    *
-    * @return Symbian error code or KErrNone.
-    **/
-    IMPORT_C void Close();
-    
-    /**
-    * Suspend test record. Same as complete, but the test record can be modified
-    * on next connect.Writes test suspend time into test record info.
-    *
-    * @return Symbian error code or KErrNone.
-    **/
-    IMPORT_C TInt Suspend();
-    
-    /**
-    * Indicates has this test record been suspended.
-    * @param aSuspended Returns has this test record been suspended(ETrue), 
-    *                   otherwise EFalse.
-    * @return KErrNone, if successful, otherwise one of the other system-wide
-    *   error codes.
-    **/
-    IMPORT_C TInt IsSuspended( TBool& aSuspended ) const;
-
-    /**
-    * Returns the record UID of this subsession.
-    *
-    * @param aRecordUid Record ID of the subsession.
-    * @return KErrNone, if successful, otherwise one of the other system-wide
-    *   error codes.
-    **/
-    IMPORT_C TInt GetTestRecordId( TUid& aRecordUid ) const;
-
-    /**
-    * Write test completion time/date to the record and prevent further 
-    * writing. Handle is still valid. However, it cannot be used for adding
-    * any more test results. During completion database file is cleaned up from
-    * old test records (limited by GetDatabaseMaximumSize method).
-    *
-    * Test completion is synchronous operation because only record handle must be
-    * updated (fixed size stream).
-    *
-    * @param aFullyComplete If ETrue (default), test record is completed with
-    *                       status fully completed. Otherwise the test record is 
-    *                       considered partially completed. 
-    *
-    * @return Symbian error code or KErrNone. KErrDiskFull is returned if there 
-    |         is not enough space on c-drive.   
-    **/
-    IMPORT_C TInt TestCompleted( TBool aFullyComplete = ETrue );
-    
-    /**
-    * Indicates has this record been written into the DB file or not. 
-    *
-    * @param aCompleted Has the test record been completed.
-    * @return KErrNone, if successful, otherwise one of the other system-wide
-    *   error codes.
-    **/ 
-    IMPORT_C TInt IsTestCompleted( TBool& aCompleted ) const;
-    
-    /**
-    * Returns information about the record. If the record is not finalized,
-    * iFinishTimes contains unknown values. 
-    *
-    * @param aInfo returns an overview of the test record.
-    * @return KErrNone, if successful, otherwise one of the other system-wide
-    *   error codes.
-    **/
-    IMPORT_C TInt GetRecordInfo ( TDiagResultsDatabaseTestRecordInfo& aInfo ) const;
-    
-    /**
-    * Get list of test UIDs inside the test record.
-    *
-    * @param aTestUidArray An array of test uids.
-    * @return KErrNone, if successful, otherwise one of the other system-wide
-    *   error codes.
-    **/
-    IMPORT_C TInt GetTestUids ( CArrayFixFlat<TUid>& aTestUidArray ) const;
-    
-    /**
-    * Logs results of a test into the database including more information
-    * that there might be. See class CDiagResultsDatabaseItem. Result Item
-    * is written into the file immediately after TRequestStatus completes.
-    *
-    * @param aResultItem This structure is stored into the database. 
-    *   Client is responsible for creating the object. Also client is responsible 
-    *   for setting item's values.
-    *
-    * @param aStatus Asynchronous status. Completes when process is finished.
-    *
-    * @return KErrNone, if successful, otherwise one of the other system-wide
-    *   error codes. Returns KErrAlreadyExists if record is already completed.
-    *   KErrDiskFull is returned if there is not enough space on c-drive. 
-    *   If KErrDiskFull is received, the test result is not logged.
-    *
-    **/ 
-    IMPORT_C TInt LogTestResult ( TRequestStatus& aStatus, 
-                                  const CDiagResultsDatabaseItem& aResultItem );
-
-    /**
-    * Cancel LogTestResult. Server continues to write result item into the DB.
-    * Cancelling only completes client's request.
-    **/                                  
-    IMPORT_C void CancelLogTestResult() const;                                  
-    
-    /**
-    * Get single test result from this test record identified by an uid. 
-    * 
-    * @param aPluginUid Unique identifier of the plug-in whose results are needed.
-    * @param aResultItem Contains test results.
-    * @return KErrNone, if successful, otherwise one of the other system-wide 
-    *   error codes.KErrNotFound is returned if the plug-in is not found
-    *   from the record.
-    **/
-    IMPORT_C TInt GetTestResult ( TUid aPluginUid, 
-                                  CDiagResultsDatabaseItem*& aResultItem ) const;
-   
-    /**
-    * Get all test results inside the test record. Client is responsible for 
-    * reseting/destroying the array.
-    *
-    * @param aResultsArray Returns test results for this record. 
-    *
-    * @return KErrNone, if successful, otherwise one of the other system-wide
-    *   error codes.
-    */
-    IMPORT_C TInt GetTestResults ( RPointerArray<CDiagResultsDatabaseItem>& aResultsArray ) const;
- 
-private:
-    
-    /**
-    * Leaving version of the functions and helper functions.
-    **/ 
-    void DoConnectL ( RDiagResultsDatabase& aSession, 
-                      TUid aRecordId,
-                      TBool aReadOnly );
-        
-    void DoCreateNewRecordL ( RDiagResultsDatabase& aSession, TUid& aRecordId,
-                              CDiagResultsDbRecordEngineParam& aEngineParam );
-    
-    void DoGetTestUidsL ( CArrayFixFlat<TUid>& aTestUidArray ) const;
-    
-    void DoLogTestResultL ( TRequestStatus& aStatus, 
-                            const CDiagResultsDatabaseItem& aResultItem );
-    
-    void DoGetTestResultsL ( RPointerArray<CDiagResultsDatabaseItem>& aResultsArray ) const;
-    
-    void DoGetTestResultL ( TUid aPluginUid, CDiagResultsDatabaseItem*& aResultItem ) const;
-    
-    void WriteDatabaseItemIntoBufferL( const CDiagResultsDatabaseItem& aResultItem );
-    
-    void WriteEngineParamIntoBufferL( CDiagResultsDbRecordEngineParam& aEngineParam );
-    
-    void DoGetEngineParamL( CDiagResultsDbRecordEngineParam*& aEngineParam ) const;
-    
-private: 
-
-    // Dynamic flat buffer.
-    CBufFlat* iBuffer;  
-    
-    // Is the connection already open.
-    TBool iOpen;  
-    
-    //Buffer pointer
-    TPtr8 iPtr;
-    };
-
-#endif  // DIAGNOSTICS_RESULTS_DATABASE_CLIENT_H
-
--- a/remotemgmt_plat/diagnostics_results_api/inc/diagresultsdatabaseitem.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,241 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Results database item
-*
-*/
-
-
-#ifndef DIAGRESULTSDATABASEITEM_H
-#define DIAGRESULTSDATABASEITEM_H
-
-// INCLUDES
-#include <e32base.h>            // CBase
-
-// FORWARD DECLARATIONS
-class RWriteStream;
-class RReadStream;
-class TTime;
-class TStreamId;
-class CStreamStore;
-class CBufFlat;
-
-/**
-* Results database item.
-*
-* @since S60 v5.0
-**/
-class CDiagResultsDatabaseItem : public CBase
-    {
-public:
-    /** 
-    * Result of test.
-    */
-    enum TResult
-        {
-        ESuccess = 0,
-        EFailed,            // Test failed
-        ESkipped,           // Test was never executed because it was skipped 
-                            // before it is started. (e.g. during initial delay timer)
-        ECancelled,         // Test session was cancelled. ( ECancelAll )
-        EInterrupted,       // Interrupted. Test was already running, but interrupted 
-                            // by end user, or other external cause.
-        ENotPerformed,      // Not performed due to invalid set up. 
-        EDependencyFailed,  // Failed because dependent test failed.
-        EWatchdogCancel,    // Watchdog cancelled testing.
-        ESuspended,         // Test is scheduled to run later.
-        EQueuedToRun,       // Test is waiting for execution. It is possible that 
-                            // EQueuedToRun is never overwritten.
-        EDependencySkipped  // Skipped because common dependency was not executed
-                            // either due to it was skipped or interrupted.
-        };
-
-public:
-
-    /**
-    * NewL. Construct from a stream.
-    * @param aStream   Stream to read from.
-    */
-    IMPORT_C static CDiagResultsDatabaseItem* NewL ( RReadStream& aStream );
-        
-    /**
-    * NewL. 
-    */
-    IMPORT_C static CDiagResultsDatabaseItem* NewL (
-                                        TUid            aTestUid,
-                                        TBool           aDependencyExecution,
-                                        TResult         aResult,
-                                        TTime           aStartTime,
-                                        TTime           aEndTime,
-                                        CBufFlat*       aDetailsData );
-    /**
-    * NewLC.
-    */
-    IMPORT_C static CDiagResultsDatabaseItem* NewLC (
-                                        TUid            aTestUid,
-                                        TBool           aDependencyExecution,
-                                        TResult         aResult,
-                                        TTime           aStartTime,
-                                        TTime           aEndTime,
-                                        CBufFlat*       aDetailsData );
-
-    /**
-    * NewL. Copy constructor. This will do a deep copy.
-    *
-    * @param aOriginal - Original to copy data from.
-    * @return a new instance of CDiagResultsDatabaseItem that is a deep
-    *   copy of the original given. Ownership is transferred.
-    */
-    IMPORT_C static CDiagResultsDatabaseItem* NewL ( 
-        const CDiagResultsDatabaseItem& aOriginal );
-    /**
-    * Destructor.
-    */
-    IMPORT_C virtual ~CDiagResultsDatabaseItem();
-   
-    /**
-    * Get Uid of test plug-in. 
-    *
-    * @return TUid - uid of the test plug-in.
-    */
-    IMPORT_C TUid TestUid() const;
-    
-    /**
-    * Whether the test was executed to satisfy dependency or not.
-    *
-    * @return ETrue if executed as dependency.
-    *         EFalse otherwise.
-    */
-    IMPORT_C TBool WasDependency() const;
-    
-    /**
-    * Get Test Result.
-    *
-    * @return TResult.
-    */
-    IMPORT_C TResult TestResult() const;
-
-    /**
-    * Time that test execution was started.
-    * Universal time is used.
-    *
-    * @return Time that execution was started.
-    */
-    IMPORT_C TTime TimeStarted() const;
-
-    /**
-    * Time that test execution was completed.
-    * Universal time is used.
-    *
-    * @return Time that execution was completed.
-    */
-    IMPORT_C TTime TimeCompleted() const;
-
-    /**
-    * Details data. This must be interpreted by the plug-ins before
-    * it can be used. Data is in object form.
-    */
-    IMPORT_C const CBufFlat* DetailsData() const;
-
-    /**
-    * Calculate stream size in bytes. Size can be used to evaluate needed
-    * stream size. 
-    *
-    * @return Size in bytes.
-    */
-    IMPORT_C TInt Size() const;
-
-public: 
-
-    /**
-    * Externalize the test result to a stream.
-    *
-    * @param aStream   Stream to write to.
-    */
-    IMPORT_C void ExternalizeL( RWriteStream& aStream ) const; 
-    
-    
-private: //internalization methods   
-
-    /**
-    * Internalize the test result from a stream.
-    *
-    * @param aStream   Stream to read from.
-    */
-    IMPORT_C void InternalizeL( RReadStream& aStream );
-    
-    /**
-    * Write TTime into write stream.
-    * 
-    * @param aStream Stream to write to.
-    * @param aTime TTime that is written into the stream.
-    **/
-    void WriteTimeToStreamL( RWriteStream& aStream, const TTime& aTime ) const;
-    
-    /**
-    * Read TTime from read stream.
-    * 
-    * @param aStream read stream.
-    * @param aTime Contains time after stream is read.
-    **/
-    void ReadTimeFromStreamL( RReadStream& aStream, TTime& aTime );
-
-private:
-    
-    /**
-    * C++ Constructors.
-    */
-    CDiagResultsDatabaseItem (
-                        TUid            aTestUid,
-                        TBool           aDependencyExecution,
-                        TResult         aResult,
-                        TTime           aStartTime,
-                        TTime           aEndTime,
-                        CBufFlat*       aDetailsData );
-    
-    /**
-    * Construct from a stream.
-    *
-    * @param aStream Read stream.
-    */ 
-    void ConstructL ( RReadStream& aStream );
-    
-    /**
-    * Default C++ constructor.
-    **/
-    CDiagResultsDatabaseItem ();
-    
-private:    // data
-
-    // Uid of the test plug-in.
-    TUid            iTestUid;
-    
-    // Has this been executed as a part of another execution (precondition).
-    TBool           iDependencyExecution;
-    
-    // Test result
-    TResult         iResult;
-    
-    // When the test began.
-    TTime           iStartTime;
-    
-    // When the test ended
-    TTime           iEndTime;
-    
-    // Contains flat buffer that can hold additional data 
-    // For example debugging data or further analysis.
-    CBufFlat*       iDetailsData;
-
-    };
-
-#endif // DIAGRESULTSDATABASEITEM_H
--- a/remotemgmt_plat/diagnostics_results_api/inc/diagresultsdatabasetestrecordinfo.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Contains overview of the test record, not actual test results.
-*  libraries   : DiagResultsDatabase.lib DiagResultsDatabase.dll
-*
-*/
-
-
-#ifndef DIAGNOSTICS_RESULTS_DATABASE_TEST_RECORD_INFO_H
-#define DIAGNOSTICS_RESULTS_DATABASE_TEST_RECORD_INFO_H
-
-#include <e32base.h>
-
-class RReadStream;
-class RWriteStream;
-
-/**
-* Results database record info. Contains information about one record.
-*
-* @since S60 v5.0
-**/
-class TDiagResultsDatabaseTestRecordInfo
-    {
-public:
-
-    enum TDbRecordStatus
-        {      
-        EOpen,                // Currently open for writing.
-        ESuspended,   	      // ::Suspend() is called. 
-        ECompleted	          // Record is completed (not resumable), and all 
-                              // tests were completed. 
-        };
-
-
-    /**
-    * Constructor
-    **/
-    IMPORT_C TDiagResultsDatabaseTestRecordInfo();
-    
-    /**
-    * Internalize from a stream.
-    *
-    * @param aStream Stream to be read from.
-    **/
-    IMPORT_C void InternalizeL( RReadStream& aStream );
-
-    /**
-    * Externalize into a stream.
-    *
-    * @param aStream Stream to be written into.
-    **/
-    IMPORT_C void ExternalizeL( RWriteStream& aStream ) const;
-    
-    /**
-    * Returns DRM time.
-    *
-    * @return DRM time.
-    **/
-    IMPORT_C static TTime DRMTimeL();
-
-    //Public member data.
-    TUid            iRecordId;   // Identifies this record.
-    TTime 		    iDrmStartTime;  //When the record was opened (DRM time).
-    TTime 		    iDrmFinishTime; //when the record was completed (DRM time).
-    TTime 		    iStartTime;  //When the record was opened (Home time).
-    TTime 		    iFinishTime; //when the record was completed (Home time).
-    TUid 	        iDbUid; 	 //UID3 of the database.
-    TUint 		    iTestCount;  //The number of tests in this record.
-    TDbRecordStatus iRecordStatus; //Stored record status. 
-    TBool           iCompleted; //Writable or read-only test record
-    
-
-private:
-
-    /**
-    * Writes time(TTime) into a stream. Time has to be written into a stream 
-    * using two 32-bit values since there is no method to write 64-bit value.
-    *
-    * @param aStream Stream to be written into.
-    * @param aTime Time that is written into the stream.
-    **/
-    void WriteTimeToStreamL( RWriteStream& aStream, const TTime& aTime ) const;
-    
-    /**
-    * Reads time (TTime) from a stream. 
-    *
-    * @param aStream Stream to be read from.
-    * @param aTime Time that was read from the stream.
-    **/
-    void ReadTimeFromStreamL( RReadStream& aStream, TTime& aTime );
-    
-    };
-    
-#endif    
\ No newline at end of file
--- a/remotemgmt_plat/diagnostics_results_api/inc/diagresultsdbitembuilder.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,244 +0,0 @@
-/*
-* 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 "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:  Diagnostics Results Database Item Builder
-*
-*/
-
-
-
-#ifndef DIAGRESULTSDBITEMBUILDER_H
-#define DIAGRESULTSDBITEMBUILDER_H
-
-// INCLUDES
-#include <DiagResultsDatabaseItem.h>        // CDiagResultsDatabaseItem::TResult
-
-// FORWARD DECLARATIONS
-namespace DRM
-    {
-    class CDrmServiceApi;
-    }
-
-class MDiagResultDetail;
-
-
-/**
-*  Diagnostics Result Database Item Builder.
-*
-*  This class can be used to build CDiagResultsDatabaseItem, without having
-*  to have all the values avaliable.
-*
-*  @since S60 v5.0
-*/
-NONSHARABLE_CLASS( CDiagResultsDbItemBuilder ) : public CBase
-    {
-public:  // Constructors and Destructors
-    /**
-    * Two-phase constructor.
-    *
-    * This will set the test started time to now.
-    *
-    * @param aTestUid - Test Uid.
-    * @param aDependencyExecution - Whether thsa was executed as dependency.
-    * @return New instance of CDiagResultsDbItemBuilder
-    */
-    IMPORT_C static CDiagResultsDbItemBuilder* NewL( TUid  aTestUid,
-                                                     TBool aDependencyExecution );
-    IMPORT_C static CDiagResultsDbItemBuilder* NewLC( TUid  aTestUid,
-                                                      TBool aDependencyExecution );
-
-    /**
-    * Destructor
-    *
-    */
-    virtual ~CDiagResultsDbItemBuilder();
-
-public: // New Interface
-
-    /**
-    * Set Test Uid
-    *
-    * @param aUid - Test uid.
-    */
-    IMPORT_C void SetTestUid( TUid aUid );
-
-    /**
-    * Get Test Uid
-    *
-    * @return Test uid.
-    */
-    IMPORT_C TUid TestUid() const;
-
-    /**
-    * Get current time. If DRM clock is available, it will use the DRM clock.
-    *
-    */
-    IMPORT_C TTime GetCurrentTime() const;
-
-    /**
-    * Set whether test was executed as dependency or not.
-    *
-    * @param aWasDependency
-    */
-    IMPORT_C void SetWasDependency( TBool aWasDependency );
-
-    /**
-    * Get was dependency value
-    *
-    * @return ETrue if test was executed as a dependency.
-    */
-    IMPORT_C TBool WasDependency() const;
-
-    /**
-    * Update test result and also set completed time to now
-    *
-    * @param aResult - Test result.
-    */
-    IMPORT_C void SetTestCompleted( CDiagResultsDatabaseItem::TResult aResult );
-
-    /**
-    * Get Test result
-    *
-    * @return Test result.
-    */
-    IMPORT_C CDiagResultsDatabaseItem::TResult TestResult() const;
-
-    /**
-    * Set Time Started 
-    *
-    * @param aTime - time started.
-    */
-    IMPORT_C void SetTimeStarted( TTime aTime );
-
-    /**
-    * Get Time started.
-    *
-    * @return Time started.
-    */
-    IMPORT_C TTime TimeStarted() const;
-
-    /**
-    * Set Time Completed
-    *
-    * @param aTime - time completed.
-    */
-    IMPORT_C void SetTimeCompleted( TTime aTime );
-
-    /**
-    * Get Time Completed..
-    *
-    * @return Time Completed.
-    */
-    IMPORT_C TTime TimeCompleted() const;
-
-    /**
-    * Set result detail object. If it was already set, previous object is deleted.
-    *
-    * @param aResultDetail - Result detail object. Ownership is transferred.
-    */
-    IMPORT_C void SetResultDetail( MDiagResultDetail* aResultDetail );
-
-    /**
-    * Get result detail object. Use static_cast to change to specific instance.
-    *   If result detail was not set previosuly, it will Panic with 
-    *   EDiagFrameworkInvalidState
-    *
-    * @return Result detail object.
-    */
-    IMPORT_C MDiagResultDetail& ResultDetail() const;
-
-    /**
-    * Create CDiagResultsDatabaseItem from data available.
-    *
-    */
-    IMPORT_C CDiagResultsDatabaseItem* ToResultsDatabaseItemL() const;
-
-    /**
-    * Create a simple CDiagResultsDatabaseItem. This function is meant to be
-    * used to create default result data with just with minimal set of information.
-    * It will use current time as both start and end time of test.
-    * If manipulation of other information in needed, either instantiate
-    * CDiagResultsDbItemBuilder or CDiagResultsDatabaseItem
-    *
-    * @param aTestUid - Uid of test plugin.
-    * @param aAsDependency - Whether it was executed as dependency or not.
-    * @param aResultType - Result of the test.
-    * @return Instance of CDiagResultsDatabaseItem* with given info. 
-    *   Ownership is transferred.
-    */
-    IMPORT_C static CDiagResultsDatabaseItem* CreateSimpleDbItemL( 
-        TUid aTestUid,
-        TBool aAsDependency,
-        CDiagResultsDatabaseItem::TResult aResultType );
-
-
-protected:  // constructors
-    /**
-    * C++ Constructor
-    *
-    * @param aTestUid - Uid of the test
-    * @param aDependencyExecution - Whether this is being executed as dependency.
-    */
-    CDiagResultsDbItemBuilder( TUid  aTestUid,
-                               TBool aDependencyExecution );
-    /**
-    * ConstructL
-    *
-    */
-    void ConstructL();
-
-private: // Data
-    /**
-    * iTestUid - Uid of the test plug-in that this result is for.
-    */
-    TUid iTestUid;
-
-    /**
-    * iDependencyExecution - Whether this test is being executed to 
-    *   satisfy dependency or not.
-    */
-    TBool iDependencyExecution;
-
-    /**
-    * iResut - Actual result of the test.
-    */
-    CDiagResultsDatabaseItem::TResult iResult;
-
-    /**
-    * iStartTime - Time test started.
-    */
-    TTime iStartTime;
-
-    /**
-    * iEndTime - Time test finished.
-    */
-    TTime iEndTime;
-
-    /**
-    * iResultDetail - Extra details data.
-    * Owns.
-    */
-    MDiagResultDetail* iResultDetail;
-
-    /**
-    * iDrmApi - Used to get accurate clock through DRM.
-    * Owns.
-    */
-    DRM::CDrmServiceApi* iDrmApi;
-    };
-
-
-#endif // DIAGRESULTSDBITEMBUILDER_H
-
-// End of File
-
--- a/remotemgmt_plat/diagnostics_results_api/inc/diagresultsdbrecordengineparam.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Capsulates parameters of the diagnostics engine.
-*
-*/
-
-
-#ifndef DIAGRESULTSDBRECORDENGINEPARAM_H
-#define DIAGRESULTSDBRECORDENGINEPARAM_H
-
-// INCLUDES
-#include <e32base.h>            // CBase
-
-// FORWARD DECLARATIONS
-class RWriteStream;
-class RReadStream;
-
-/**
-* Contains parameters of the diagnostics engine.
-* Parameters are needed only in suspend/resume functionality.
-*
-* @since S60 v5.0
-**/
-class CDiagResultsDbRecordEngineParam : public CBase
-    {
-public:
-
-
-    /**
-    * NewL. Construct from a stream.
-    * @param aStream   Stream to read from.
-    */
-    IMPORT_C static CDiagResultsDbRecordEngineParam* NewL ( RReadStream& aStream );
-        
-    /**
-    * NewL. Ownership of RArray is transferred.
-    *
-    * @param aInitialUids Execution Uid array. Should not be null. 
-    *                     Use empty array if there are no uids.
-    * @param aDependencyExecution This value is needed when resuming 
-    *                             in order to create proper test resume plan.
-    */
-    IMPORT_C static CDiagResultsDbRecordEngineParam* NewL (
-                                        RArray<TUid>*   aInitialUids,
-                                        TBool           aDependencyExecution
-                                        );
-    /**
-    * NewLC. Ownership of RArray is transferred.
-    *
-    * @param aInitialUids Execution Uid array. Should not be null. 
-    *                     Use empty array if there are no uids.
-    * @param aDependencyExecution This value is needed when resuming 
-    *                             in order to create proper test resume plan.
-    */
-    IMPORT_C static CDiagResultsDbRecordEngineParam* NewLC (
-                                        RArray<TUid>*   aInitialUids,
-                                        TBool           aDependencyExecution
-                                        );
-
-    /**
-    * Destructor.
-    */
-    IMPORT_C virtual ~CDiagResultsDbRecordEngineParam();
-   
-    /**
-    * Return execution uids. These can be used to store for example 
-    * user selections. User selections are needed when test run is suspended 
-    * or test session crashed the phone.
-    *
-    * @return Array of uids. Empty if none.
-    */
-    IMPORT_C const RArray<TUid>& ExecutionsUidArray() const;
-    
-    /**
-    * Indicates were dependencies resolved when diagnostics engine executed tests.
-    *
-    * @return ETrue if dependencies were resolved, EFalse otherwise.
-    */
-    IMPORT_C TBool DependencyExecution() const;
-    
-public: 
-
-    /**
-    * Externalize the test result to a stream.
-    *
-    * @param aStream   Stream to write to.
-    */
-    IMPORT_C void ExternalizeL( RWriteStream& aStream ) const; 
-
-
-private: //internalization methods   
-
-    /**
-    * Internalize the test result from a stream.
-    *
-    * @param aStream   Stream to read from.
-    */
-    IMPORT_C void InternalizeL( RReadStream& aStream );
-    
-  
-private:
-    
-    /**
-    * C++ Constructors.
-    */
-    CDiagResultsDbRecordEngineParam ( RArray<TUid>* aInitialUids,
-                                      TBool         aDependencyExecution );
-    
-    /**
-    * Construct from a stream.
-    *
-    * @param aStream Read stream.
-    */ 
-    void ConstructL ( RReadStream& aStream );
-    
-    /**
-    * Default constructL. Does nothing.
-    */ 
-    void ConstructL ();
-    
-    /**
-    * Default C++ constructor.
-    **/
-    CDiagResultsDbRecordEngineParam ();
-    
-private:    // data
-
-    // Execution uid array
-    RArray<TUid>*               iExecutionUids;
-    
-    //Dependency resolving state.
-    TBool                       iDependencyExecution;
-    
-    };
-
-#endif // DIAGRESULTSDBRECORDENGINEPARAM_H
--- a/remotemgmt_plat/group/bld.inf	Fri May 14 16:42:50 2010 +0300
+++ b/remotemgmt_plat/group/bld.inf	Thu May 27 13:43:36 2010 +0300
@@ -41,11 +41,6 @@
 #include "../dm_constant_definitions_api/group/bld.inf"
 #include "../oma_ds_extensions_api/group/bld.inf"
 #include "../pnpms_utils_api/group/bld.inf"
-#include "../diagnostics_plugin_utility_api/group/bld.inf"
-#include "../diagnostics_plugin_api/group/bld.inf"
-#include "../diagnostics_framework_api/group/bld.inf"
-#include "../diagnostics_results_api/group/bld.inf"
-#include "../diagnostics_plugin_pool_api/group/bld.inf"
 #include "../adaptive_history_list_api/group/bld.inf"
 #include "../adaptive_history_list_session_api/group/bld.inf"
 #include "../fota_engine_api/group/bld.inf"
--- a/syncmlfw/common/syncagent/bld/DEF/bwinscwu.def	Fri May 14 16:42:50 2010 +0300
+++ b/syncmlfw/common/syncagent/bld/DEF/bwinscwu.def	Thu May 27 13:43:36 2010 +0300
@@ -1,194 +1,193 @@
 EXPORTS
-	??0CNSmlAgentBase@@QAE@XZ @ 1 NONAME ; CNSmlAgentBase::CNSmlAgentBase(void)
-	??0CNSmlCmdsBase@@QAE@XZ @ 2 NONAME ; CNSmlCmdsBase::CNSmlCmdsBase(void)
-	??0TNSmlError@@QAE@XZ @ 3 NONAME ; TNSmlError::TNSmlError(void)
-	??1CNSmlAgentBase@@UAE@XZ @ 4 NONAME ; CNSmlAgentBase::~CNSmlAgentBase(void)
-	??1CNSmlCmdsBase@@UAE@XZ @ 5 NONAME ; CNSmlCmdsBase::~CNSmlCmdsBase(void)
-	??1TNSmlError@@UAE@XZ @ 6 NONAME ; TNSmlError::~TNSmlError(void)
-	??4CNSmlURI@@QAEAAV0@ABV0@@Z @ 7 NONAME ; class CNSmlURI & CNSmlURI::operator=(class CNSmlURI const &)
-	?AddItemDataL@CNSmlStatusContainer@@QAEXHPBUsml_pcdata_s@@@Z @ 8 NONAME ; void CNSmlStatusContainer::AddItemDataL(int, struct sml_pcdata_s const *)
-	?AddItemL@CNSmlResultsContainer@@QAEXHABVCBufBase@@ABVTDesC8@@1@Z @ 9 NONAME ; void CNSmlResultsContainer::AddItemL(int, class CBufBase const &, class TDesC8 const &, class TDesC8 const &)
-	?AddSourceRefL@CNSmlStatusContainer@@QAEXHPBUsml_source_s@@@Z @ 10 NONAME ; void CNSmlStatusContainer::AddSourceRefL(int, struct sml_source_s const *)
-	?AddTargetRefL@CNSmlStatusContainer@@QAEXHPBUsml_target_s@@@Z @ 11 NONAME ; void CNSmlStatusContainer::AddTargetRefL(int, struct sml_target_s const *)
-	?AlertCode@CNSmlCmdsBase@@QBE?AVTPtr8@@PAUsml_alert_s@@@Z @ 12 NONAME ; class TPtr8 CNSmlCmdsBase::AlertCode(struct sml_alert_s *) const
-	?AnyResults@CNSmlResultsContainer@@QBEHXZ @ 13 NONAME ; int CNSmlResultsContainer::AnyResults(void) const
-	?AppIndex@CNSmlResponseController@@QBEHH@Z @ 14 NONAME ; int CNSmlResponseController::AppIndex(int) const
-	?AuthenticationRequirementL@CNSmlAgentBase@@IAEHABVCNSmlResponseController@@H@Z @ 15 NONAME ; int CNSmlAgentBase::AuthenticationRequirementL(class CNSmlResponseController const &, int)
-	?Begin@CNSmlResultsContainer@@QAEXXZ @ 16 NONAME ; void CNSmlResultsContainer::Begin(void)
-	?Begin@CNSmlStatusContainer@@QAEXXZ @ 17 NONAME ; void CNSmlStatusContainer::Begin(void)
-	?BeginningStateL@CNSmlAgentBase@@IAEXXZ @ 18 NONAME ; void CNSmlAgentBase::BeginningStateL(void)
-	?BufferAreaForParsingL@CNSmlCmdsBase@@QAE?AVTPtr8@@XZ @ 19 NONAME ; class TPtr8 CNSmlCmdsBase::BufferAreaForParsingL(void)
-	?BusyStatus@CNSmlCmdsBase@@QBEHXZ @ 20 NONAME ; int CNSmlCmdsBase::BusyStatus(void) const
-	?CallbackCalled@CNSmlAgentBase@@QBEHXZ @ 21 NONAME ; int CNSmlAgentBase::CallbackCalled(void) const
-	?ChalType@CNSmlResponseController@@QBE?AVTPtrC8@@H@Z @ 22 NONAME ; class TPtrC8 CNSmlResponseController::ChalType(int) const
-	?Challenged@CNSmlAuth@@QBEHXZ @ 23 NONAME ; int CNSmlAuth::Challenged(void) const
-	?CheckStatusCodesAreReceivedL@CNSmlAgentBase@@IAEHH@Z @ 24 NONAME ; int CNSmlAgentBase::CheckStatusCodesAreReceivedL(int)
-	?ClientAlertNextMakingMapStateL@CNSmlAgentBase@@MAEXXZ @ 25 NONAME ; void CNSmlAgentBase::ClientAlertNextMakingMapStateL(void)
-	?ClientAlertNextStateL@CNSmlAgentBase@@IAEXXZ @ 26 NONAME ; void CNSmlAgentBase::ClientAlertNextStateL(void)
-	?ClientInitialisationStateL@CNSmlAgentBase@@IAEXXZ @ 27 NONAME ; void CNSmlAgentBase::ClientInitialisationStateL(void)
-	?CloseIDMappingTableL@CNSmlCmdsBase@@UAEXXZ @ 28 NONAME ; void CNSmlCmdsBase::CloseIDMappingTableL(void)
-	?Cmd@CNSmlResponseController@@QBEAAVTDesC8@@H@Z @ 29 NONAME ; class TDesC8 & CNSmlResponseController::Cmd(int) const
-	?ConstructL@CNSmlAgentBase@@IAEXXZ @ 30 NONAME ; void CNSmlAgentBase::ConstructL(void)
-	?ConstructL@CNSmlCmdsBase@@IAEXPAVCNSmlAgentBase@@ABVTDesC8@@1HABVHBufC16@@PAVCNSmlURI@@H@Z @ 31 NONAME ; void CNSmlCmdsBase::ConstructL(class CNSmlAgentBase *, class TDesC8 const &, class TDesC8 const &, int, class HBufC16 const &, class CNSmlURI *, int)
-	?CreateAndInitResponseItemL@CNSmlCmdsBase@@IAEHABVTDesC8@@@Z @ 32 NONAME ; int CNSmlCmdsBase::CreateAndInitResponseItemL(class TDesC8 const &)
-	?CreateNewResultsL@CNSmlResultsContainer@@QAEHABVTDesC8@@0PBUsml_target_s@@PBUsml_source_s@@@Z @ 33 NONAME ; int CNSmlResultsContainer::CreateNewResultsL(class TDesC8 const &, class TDesC8 const &, struct sml_target_s const *, struct sml_source_s const *)
-	?CreateNewStatusElementL@CNSmlStatusContainer@@QAEHXZ @ 34 NONAME ; int CNSmlStatusContainer::CreateNewStatusElementL(void)
-	?CurrentEntryID@CNSmlResultsContainer@@QBEHXZ @ 35 NONAME ; int CNSmlResultsContainer::CurrentEntryID(void) const
-	?DataBaseWithoutRelativePrefix@CNSmlURI@@QAE?AVTPtrC16@@XZ @ 36 NONAME ; class TPtrC16 CNSmlURI::DataBaseWithoutRelativePrefix(void)
-	?DataUpdateStatusMakingMapStateL@CNSmlAgentBase@@MAEXXZ @ 37 NONAME ; void CNSmlAgentBase::DataUpdateStatusMakingMapStateL(void)
-	?DataUpdateStatusMakingResultsStateL@CNSmlAgentBase@@MAEXXZ @ 38 NONAME ; void CNSmlAgentBase::DataUpdateStatusMakingResultsStateL(void)
-	?DataUpdateStatusStartingMessageStateBaseL@CNSmlAgentBase@@IAEXXZ @ 39 NONAME ; void CNSmlAgentBase::DataUpdateStatusStartingMessageStateBaseL(void)
-	?DataUpdateStatusStateL@CNSmlAgentBase@@IAEXXZ @ 40 NONAME ; void CNSmlAgentBase::DataUpdateStatusStateL(void)
-	?Database@CNSmlURI@@QAE?AVTPtrC16@@XZ @ 41 NONAME ; class TPtrC16 CNSmlURI::Database(void)
-	?DatabaseMatchesL@CNSmlURI@@QAEHABVTDesC16@@@Z @ 42 NONAME ; int CNSmlURI::DatabaseMatchesL(class TDesC16 const &)
-	?DeleteIDMappingTableL@CNSmlCmdsBase@@UAEHABVTDesC16@@0@Z @ 43 NONAME ; int CNSmlCmdsBase::DeleteIDMappingTableL(class TDesC16 const &, class TDesC16 const &)
-	?DisconnectFromOtherServers@CNSmlCmdsBase@@UAEXXZ @ 44 NONAME ; void CNSmlCmdsBase::DisconnectFromOtherServers(void)
-	?DoAnchorsL@CNSmlCmdsBase@@IBEXAAUsml_metinf_metinf_s@@PBVTDesC8@@1@Z @ 45 NONAME ; void CNSmlCmdsBase::DoAnchorsL(struct sml_metinf_metinf_s &, class TDesC8 const *, class TDesC8 const *) const
-	?DoCancel@CNSmlAgentBase@@UAEXXZ @ 46 NONAME ; void CNSmlAgentBase::DoCancel(void)
-	?DoCmdIdL@CNSmlCmdsBase@@IAEXAAPAUsml_pcdata_s@@@Z @ 47 NONAME ; void CNSmlCmdsBase::DoCmdIdL(struct sml_pcdata_s * &)
-	?DoGenericAlertL@CNSmlCmdsBase@@UAEXABVTDesC8@@00H0@Z @ 48 NONAME ; void CNSmlCmdsBase::DoGenericAlertL(class TDesC8 const &, class TDesC8 const &, class TDesC8 const &, int, class TDesC8 const &)
-	?DoGenericUserAlertL@CNSmlCmdsBase@@UAEHH@Z @ 49 NONAME ; int CNSmlCmdsBase::DoGenericUserAlertL(int)
-	?DoMaxObjSizeL@CNSmlCmdsBase@@IBEXAAUsml_metinf_metinf_s@@H@Z @ 50 NONAME ; void CNSmlCmdsBase::DoMaxObjSizeL(struct sml_metinf_metinf_s &, int) const
-	?DoMetInfLC@CNSmlCmdsBase@@QBEXAAPAUsml_metinf_metinf_s@@@Z @ 51 NONAME ; void CNSmlCmdsBase::DoMetInfLC(struct sml_metinf_metinf_s * &) const
-	?DoMetaL@CNSmlCmdsBase@@QBEXAAPAUsml_pcdata_s@@PBUsml_metinf_metinf_s@@@Z @ 52 NONAME ; void CNSmlCmdsBase::DoMetaL(struct sml_pcdata_s * &, struct sml_metinf_metinf_s const *) const
-	?DoOutsideCancel@CNSmlAgentBase@@UAEXXZ @ 53 NONAME ; void CNSmlAgentBase::DoOutsideCancel(void)
-	?DoSourceL@CNSmlCmdsBase@@QBEXAAPAUsml_source_s@@ABVTDesC16@@1@Z @ 54 NONAME ; void CNSmlCmdsBase::DoSourceL(struct sml_source_s * &, class TDesC16 const &, class TDesC16 const &) const
-	?DoSourceL@CNSmlCmdsBase@@QBEXAAPAUsml_source_s@@ABVTDesC16@@@Z @ 55 NONAME ; void CNSmlCmdsBase::DoSourceL(struct sml_source_s * &, class TDesC16 const &) const
-	?DoSourceL@CNSmlCmdsBase@@QBEXAAPAUsml_source_s@@ABVTDesC8@@@Z @ 56 NONAME ; void CNSmlCmdsBase::DoSourceL(struct sml_source_s * &, class TDesC8 const &) const
-	?DoStatusL@CNSmlCmdsBase@@QAE?AW4TReturnValue@1@PAUsml_status_s@@@Z @ 57 NONAME ; enum CNSmlCmdsBase::TReturnValue CNSmlCmdsBase::DoStatusL(struct sml_status_s *)
-	?DoSyncHdrL@CNSmlCmdsBase@@UAEXXZ @ 58 NONAME ; void CNSmlCmdsBase::DoSyncHdrL(void)
-	?DoTargetL@CNSmlCmdsBase@@QBEXAAPAUsml_target_s@@ABVTDesC16@@1@Z @ 59 NONAME ; void CNSmlCmdsBase::DoTargetL(struct sml_target_s * &, class TDesC16 const &, class TDesC16 const &) const
-	?DoTargetL@CNSmlCmdsBase@@QBEXAAPAUsml_target_s@@ABVTDesC16@@@Z @ 60 NONAME ; void CNSmlCmdsBase::DoTargetL(struct sml_target_s * &, class TDesC16 const &) const
-	?EndOfServerMessageL@CNSmlCmdsBase@@UBEXXZ @ 61 NONAME ; void CNSmlCmdsBase::EndOfServerMessageL(void) const
-	?EntryID@CNSmlResponseController@@QBEHHH@Z @ 62 NONAME ; int CNSmlResponseController::EntryID(int, int) const
-	?ErrorCodeConversion@TNSmlError@@MAEXXZ @ 63 NONAME ; void TNSmlError::ErrorCodeConversion(void)
-	?FetchIDMappingTableL@CNSmlCmdsBase@@UAEXH@Z @ 64 NONAME ; void CNSmlCmdsBase::FetchIDMappingTableL(int)
-	?FreeBaseResources@CNSmlAgentBase@@IAEXXZ @ 65 NONAME ; void CNSmlAgentBase::FreeBaseResources(void)
-	?HBufC16InUnicodeL@NSmlUnicodeConverter@@SAHABVTDesC8@@AAPAVHBufC16@@@Z @ 66 NONAME ; int NSmlUnicodeConverter::HBufC16InUnicodeL(class TDesC8 const &, class HBufC16 * &)
-	?HBufC16InUnicodeLC@NSmlUnicodeConverter@@SAHABVTDesC8@@AAPAVHBufC16@@@Z @ 67 NONAME ; int NSmlUnicodeConverter::HBufC16InUnicodeLC(class TDesC8 const &, class HBufC16 * &)
-	?HBufC8InUTF8LC@NSmlUnicodeConverter@@SAHABVTDesC16@@AAPAVHBufC8@@@Z @ 68 NONAME ; int NSmlUnicodeConverter::HBufC8InUTF8LC(class TDesC16 const &, class HBufC8 * &)
-	?HostName@CNSmlURI@@QAE?AVTPtrC16@@XZ @ 69 NONAME ; class TPtrC16 CNSmlURI::HostName(void)
-	?HostNameInUTF8AllocLC@CNSmlURI@@QAEPAVHBufC8@@XZ @ 70 NONAME ; class HBufC8 * CNSmlURI::HostNameInUTF8AllocLC(void)
-	?HostNameWithPortL@CNSmlURI@@QAE?AVTPtrC16@@H@Z @ 71 NONAME ; class TPtrC16 CNSmlURI::HostNameWithPortL(int)
-	?InitAskingDeviceInfoStateL@CNSmlAgentBase@@MAEXXZ @ 72 NONAME ; void CNSmlAgentBase::InitAskingDeviceInfoStateL(void)
-	?InitStartingMessageStateBaseL@CNSmlAgentBase@@IAEXXZ @ 73 NONAME ; void CNSmlAgentBase::InitStartingMessageStateBaseL(void)
-	?IsEqualL@CNSmlURI@@QAEHABV1@H@Z @ 74 NONAME ; int CNSmlURI::IsEqualL(class CNSmlURI const &, int)
-	?IsFlagSet@CNSmlCmdsBase@@IBEHABI0@Z @ 75 NONAME ; int CNSmlCmdsBase::IsFlagSet(unsigned int const &, unsigned int const &) const
-	?LUID@CNSmlResponseController@@QBE?AVTPtrC8@@H@Z @ 76 NONAME ; class TPtrC8 CNSmlResponseController::LUID(int) const
-	?LastEntryID@CNSmlStatusContainer@@QBEHXZ @ 77 NONAME ; int CNSmlStatusContainer::LastEntryID(void) const
-	?MarkGenAlertsSentL@CNSmlCmdsBase@@UAEXABVTDesC8@@@Z @ 78 NONAME ; void CNSmlCmdsBase::MarkGenAlertsSentL(class TDesC8 const &)
-	?MarkGenAlertsSentL@CNSmlCmdsBase@@UAEXXZ @ 79 NONAME ; void CNSmlCmdsBase::MarkGenAlertsSentL(void)
-	?MetaFormatInUtf8LC@CNSmlCmdsBase@@IBEPAVHBufC8@@PBUsml_pcdata_s@@@Z @ 80 NONAME ; class HBufC8 * CNSmlCmdsBase::MetaFormatInUtf8LC(struct sml_pcdata_s const *) const
-	?MetaTypeInUtf8LC@CNSmlCmdsBase@@IBEPAVHBufC8@@PBUsml_pcdata_s@@@Z @ 81 NONAME ; class HBufC8 * CNSmlCmdsBase::MetaTypeInUtf8LC(struct sml_pcdata_s const *) const
-	?MetaTypeLC@CNSmlCmdsBase@@IBEPAVHBufC16@@PBUsml_pcdata_s@@@Z @ 82 NONAME ; class HBufC16 * CNSmlCmdsBase::MetaTypeLC(struct sml_pcdata_s const *) const
-	?MoreData@CNSmlResponseController@@QBEHH@Z @ 83 NONAME ; int CNSmlResponseController::MoreData(int) const
-	?MoreDataL@CNSmlCmdsBase@@IAE?AW4TNSmlSyncMLStatusCode@TNSmlError@@PBVHBufC8@@PBUsml_item_s@@PBUsml_pcdata_s@@AAPAVCBufBase@@@Z @ 84 NONAME ; enum TNSmlError::TNSmlSyncMLStatusCode CNSmlCmdsBase::MoreDataL(class HBufC8 const *, struct sml_item_s const *, struct sml_pcdata_s const *, class CBufBase * &)
-	?NewL@CNSmlAuth@@SAPAV1@XZ @ 85 NONAME ; class CNSmlAuth * CNSmlAuth::NewL(void)
-	?NewL@CNSmlPhoneInfo@@SAPAV1@XZ @ 86 NONAME ; class CNSmlPhoneInfo * CNSmlPhoneInfo::NewL(void)
-	?NewL@CNSmlURI@@SAPAV1@ABVTDesC16@@H@Z @ 87 NONAME ; class CNSmlURI * CNSmlURI::NewL(class TDesC16 const &, int)
-	?NewL@CNSmlURI@@SAPAV1@ABVTDesC8@@H@Z @ 88 NONAME ; class CNSmlURI * CNSmlURI::NewL(class TDesC8 const &, int)
-	?NewL@CNSmlURI@@SAPAV1@XZ @ 89 NONAME ; class CNSmlURI * CNSmlURI::NewL(void)
-	?NewLC@CNSmlPhoneInfo@@SAPAV1@XZ @ 90 NONAME ; class CNSmlPhoneInfo * CNSmlPhoneInfo::NewLC(void)
-	?NewLC@CNSmlURI@@SAPAV1@ABVTDesC16@@H@Z @ 91 NONAME ; class CNSmlURI * CNSmlURI::NewLC(class TDesC16 const &, int)
-	?NewLC@CNSmlURI@@SAPAV1@ABVTDesC8@@H@Z @ 92 NONAME ; class CNSmlURI * CNSmlURI::NewLC(class TDesC8 const &, int)
-	?NewLC@CNSmlURI@@SAPAV1@XZ @ 93 NONAME ; class CNSmlURI * CNSmlURI::NewLC(void)
-	?NextResultsElement@CNSmlResultsContainer@@QAEHAAPAUsml_results_s@@@Z @ 94 NONAME ; int CNSmlResultsContainer::NextResultsElement(struct sml_results_s * &)
-	?NextStatusElement@CNSmlStatusContainer@@QAEHAAPAUsml_status_s@@H@Z @ 95 NONAME ; int CNSmlStatusContainer::NextStatusElement(struct sml_status_s * &, int)
-	?PCDATAToUnicodeLC@CNSmlCmdsBase@@QBEXABUsml_pcdata_s@@AAPAVHBufC16@@@Z @ 96 NONAME ; void CNSmlCmdsBase::PCDATAToUnicodeLC(struct sml_pcdata_s const &, class HBufC16 * &) const
-	?PcdataNewL@CNSmlCmdsBase@@QBEXAAPAUsml_pcdata_s@@ABVTDesC8@@@Z @ 97 NONAME ; void CNSmlCmdsBase::PcdataNewL(struct sml_pcdata_s * &, class TDesC8 const &) const
-	?PhoneDataL@CNSmlPhoneInfo@@QBEXW4TPhoneIdType@1@AAVTDes16@@@Z @ 98 NONAME ; void CNSmlPhoneInfo::PhoneDataL(enum CNSmlPhoneInfo::TPhoneIdType, class TDes16 &) const
-	?ProcessCopyCmdL@CNSmlCmdsBase@@UAEXPAUsml_generic_s@@@Z @ 99 NONAME ; void CNSmlCmdsBase::ProcessCopyCmdL(struct sml_generic_s *)
-	?ProcessExecCmdL@CNSmlCmdsBase@@UAEXPAUsml_exec_s@@@Z @ 100 NONAME ; void CNSmlCmdsBase::ProcessExecCmdL(struct sml_exec_s *)
-	?ProcessMapCmdL@CNSmlCmdsBase@@UAEXPAUsml_map_s@@@Z @ 101 NONAME ; void CNSmlCmdsBase::ProcessMapCmdL(struct sml_map_s *)
-	?ProcessReceivedDataL@CNSmlCmdsBase@@QAEHXZ @ 102 NONAME ; int CNSmlCmdsBase::ProcessReceivedDataL(void)
-	?ProcessSearchCmdL@CNSmlCmdsBase@@UAEXPAUsml_search_s@@@Z @ 103 NONAME ; void CNSmlCmdsBase::ProcessSearchCmdL(struct sml_search_s *)
-	?ProcessStatusCmdL@CNSmlCmdsBase@@UAEXPAUsml_status_s@@@Z @ 104 NONAME ; void CNSmlCmdsBase::ProcessStatusCmdL(struct sml_status_s *)
-	?ProcessSyncHdrL@CNSmlCmdsBase@@UAEXPAUsml_sync_hdr_s@@@Z @ 105 NONAME ; void CNSmlCmdsBase::ProcessSyncHdrL(struct sml_sync_hdr_s *)
-	?ProfileId@CNSmlAgentBase@@QBEHXZ @ 106 NONAME ; int CNSmlAgentBase::ProfileId(void) const
-	?ReceivingStateL@CNSmlAgentBase@@IAEXXZ @ 107 NONAME ; void CNSmlAgentBase::ReceivingStateL(void)
-	?RemoveWritten@CNSmlResultsContainer@@QAEXH@Z @ 108 NONAME ; void CNSmlResultsContainer::RemoveWritten(int)
-	?ResetGenericUserAlertL@CNSmlCmdsBase@@UAEXXZ @ 109 NONAME ; void CNSmlCmdsBase::ResetGenericUserAlertL(void)
-	?ResetL@CNSmlResponseController@@QAEXXZ @ 110 NONAME ; void CNSmlResponseController::ResetL(void)
-	?ResetLargeObjectBuffer@CNSmlCmdsBase@@QAEXXZ @ 111 NONAME ; void CNSmlCmdsBase::ResetLargeObjectBuffer(void)
-	?RespURI@CNSmlCmdsBase@@QBEPAVCNSmlURI@@XZ @ 112 NONAME ; class CNSmlURI * CNSmlCmdsBase::RespURI(void) const
-	?ResponseController@CNSmlCmdsBase@@QBEPAVCNSmlResponseController@@XZ @ 113 NONAME ; class CNSmlResponseController * CNSmlCmdsBase::ResponseController(void) const
-	?ResponseDetail@CNSmlResponseController@@QBE?AW4TResponseDetail@1@H@Z @ 114 NONAME ; enum CNSmlResponseController::TResponseDetail CNSmlResponseController::ResponseDetail(int) const
-	?ResultAlertStateL@CNSmlAgentBase@@IAEXXZ @ 115 NONAME ; void CNSmlAgentBase::ResultAlertStateL(void)
-	?ResultsContainer@CNSmlCmdsBase@@QBEPAVCNSmlResultsContainer@@XZ @ 116 NONAME ; class CNSmlResultsContainer * CNSmlCmdsBase::ResultsContainer(void) const
-	?RunL@CNSmlAgentBase@@UAEXXZ @ 117 NONAME ; void CNSmlAgentBase::RunL(void)
-	?SaveIfNonceL@CNSmlAgentBase@@IBEXABVCNSmlResponseController@@H@Z @ 118 NONAME ; void CNSmlAgentBase::SaveIfNonceL(class CNSmlResponseController const &, int) const
-	?SendingStateL@CNSmlAgentBase@@IAEXXZ @ 119 NONAME ; void CNSmlAgentBase::SendingStateL(void)
-	?ServerAlertNextAlertCmdStateL@CNSmlAgentBase@@IAEXPAUsml_alert_s@@@Z @ 120 NONAME ; void CNSmlAgentBase::ServerAlertNextAlertCmdStateL(struct sml_alert_s *)
-	?ServerAlertNextEndMessageStateL@CNSmlAgentBase@@IAEXH@Z @ 121 NONAME ; void CNSmlAgentBase::ServerAlertNextEndMessageStateL(int)
-	?ServerAlertNextStartMessageStateL@CNSmlAgentBase@@IAEXPAUsml_sync_hdr_s@@@Z @ 122 NONAME ; void CNSmlAgentBase::ServerAlertNextStartMessageStateL(struct sml_sync_hdr_s *)
-	?ServerAlertNextStateL@CNSmlAgentBase@@IAEXXZ @ 123 NONAME ; void CNSmlAgentBase::ServerAlertNextStateL(void)
-	?ServerAlertNextStatusCmdStateL@CNSmlAgentBase@@IAEXPAUsml_status_s@@@Z @ 124 NONAME ; void CNSmlAgentBase::ServerAlertNextStatusCmdStateL(struct sml_status_s *)
-	?ServerAuth@CNSmlCmdsBase@@QBEPAVCNSmlAuth@@XZ @ 125 NONAME ; class CNSmlAuth * CNSmlCmdsBase::ServerAuth(void) const
-	?ServerMaxObjSize@CNSmlCmdsBase@@IBEHPBUsml_pcdata_s@@@Z @ 126 NONAME ; int CNSmlCmdsBase::ServerMaxObjSize(struct sml_pcdata_s const *) const
-	?ServerModAlertCmdStateL@CNSmlAgentBase@@IAEXPAUsml_alert_s@@@Z @ 127 NONAME ; void CNSmlAgentBase::ServerModAlertCmdStateL(struct sml_alert_s *)
-	?ServerModEndMessageStateL@CNSmlAgentBase@@IAEXH@Z @ 128 NONAME ; void CNSmlAgentBase::ServerModEndMessageStateL(int)
-	?ServerModStartMessageStateL@CNSmlAgentBase@@IAEXPAUsml_sync_hdr_s@@@Z @ 129 NONAME ; void CNSmlAgentBase::ServerModStartMessageStateL(struct sml_sync_hdr_s *)
-	?ServerModStatusCmdStateL@CNSmlAgentBase@@IAEXPAUsml_status_s@@@Z @ 130 NONAME ; void CNSmlAgentBase::ServerModStatusCmdStateL(struct sml_status_s *)
-	?ServerNonceAllocL@CNSmlAgentBase@@UBEPAVHBufC16@@XZ @ 131 NONAME ; class HBufC16 * CNSmlAgentBase::ServerNonceAllocL(void) const
-	?ServerObjectSize@CNSmlCmdsBase@@IBEHPBUsml_pcdata_s@@@Z @ 132 NONAME ; int CNSmlCmdsBase::ServerObjectSize(struct sml_pcdata_s const *) const
-	?ServerPassword@CNSmlAgentBase@@MBE?AVTPtrC16@@XZ @ 133 NONAME ; class TPtrC16 CNSmlAgentBase::ServerPassword(void) const
-	?ServerUserName@CNSmlAgentBase@@MBE?AVTPtrC16@@XZ @ 134 NONAME ; class TPtrC16 CNSmlAgentBase::ServerUserName(void) const
-	?SetAppIndex@CNSmlResponseController@@QAEXHH@Z @ 135 NONAME ; void CNSmlResponseController::SetAppIndex(int, int)
-	?SetAtomicOrSequenceId@CNSmlStatusContainer@@QAEXHH@Z @ 136 NONAME ; void CNSmlStatusContainer::SetAtomicOrSequenceId(int, int)
-	?SetAuthRequiredL@CNSmlAuth@@QAEXXZ @ 137 NONAME ; void CNSmlAuth::SetAuthRequiredL(void)
-	?SetCmdIDL@CNSmlResultsContainer@@QAEXHPBUsml_pcdata_s@@@Z @ 138 NONAME ; void CNSmlResultsContainer::SetCmdIDL(int, struct sml_pcdata_s const *)
-	?SetCmdL@CNSmlStatusContainer@@QAEXHABVTDesC8@@@Z @ 139 NONAME ; void CNSmlStatusContainer::SetCmdL(int, class TDesC8 const &)
-	?SetCmdRefL@CNSmlStatusContainer@@QAEXHPBUsml_pcdata_s@@@Z @ 140 NONAME ; void CNSmlStatusContainer::SetCmdRefL(int, struct sml_pcdata_s const *)
-	?SetCredentialL@CNSmlAuth@@QAEXABVTDesC8@@@Z @ 141 NONAME ; void CNSmlAuth::SetCredentialL(class TDesC8 const &)
-	?SetDatabaseL@CNSmlURI@@QAEXABVTDesC16@@H@Z @ 142 NONAME ; void CNSmlURI::SetDatabaseL(class TDesC16 const &, int)
-	?SetDatabaseL@CNSmlURI@@QAEXABVTDesC8@@H@Z @ 143 NONAME ; void CNSmlURI::SetDatabaseL(class TDesC8 const &, int)
-	?SetEndOfDataAlertRequest@CNSmlAgentBase@@QAEXXZ @ 144 NONAME ; void CNSmlAgentBase::SetEndOfDataAlertRequest(void)
-	?SetErrorCode@TNSmlError@@QAEXH@Z @ 145 NONAME ; void TNSmlError::SetErrorCode(int)
-	?SetHostNameL@CNSmlURI@@QAEXABVTDesC16@@H@Z @ 146 NONAME ; void CNSmlURI::SetHostNameL(class TDesC16 const &, int)
-	?SetHostNameL@CNSmlURI@@QAEXABVTDesC8@@H@Z @ 147 NONAME ; void CNSmlURI::SetHostNameL(class TDesC8 const &, int)
-	?SetLUIDL@CNSmlResponseController@@QAEXHABVTDesC8@@@Z @ 148 NONAME ; void CNSmlResponseController::SetLUIDL(int, class TDesC8 const &)
-	?SetMaximumWorkspaceSize@CNSmlCmdsBase@@QAEXH@Z @ 149 NONAME ; void CNSmlCmdsBase::SetMaximumWorkspaceSize(int)
-	?SetMoreData@CNSmlResponseController@@QAEXH@Z @ 150 NONAME ; void CNSmlResponseController::SetMoreData(int)
-	?SetNoResponse@CNSmlStatusContainer@@QAEXHH@Z @ 151 NONAME ; void CNSmlStatusContainer::SetNoResponse(int, int)
-	?SetOffCallbackCalled@CNSmlAgentBase@@QAEXXZ @ 152 NONAME ; void CNSmlAgentBase::SetOffCallbackCalled(void)
-	?SetPerformedInAtomic@CNSmlStatusContainer@@QAEXH@Z @ 153 NONAME ; void CNSmlStatusContainer::SetPerformedInAtomic(int)
-	?SetPort@CNSmlURI@@QAEXH@Z @ 154 NONAME ; void CNSmlURI::SetPort(int)
-	?SetResponseDetail@CNSmlResponseController@@QAEXHW4TResponseDetail@1@@Z @ 155 NONAME ; void CNSmlResponseController::SetResponseDetail(int, enum CNSmlResponseController::TResponseDetail)
-	?SetServerNonceL@CNSmlAgentBase@@UBEXABVTDesC16@@@Z @ 156 NONAME ; void CNSmlAgentBase::SetServerNonceL(class TDesC16 const &) const
-	?SetStatusCodeL@CNSmlStatusContainer@@QAEXHHH@Z @ 157 NONAME ; void CNSmlStatusContainer::SetStatusCodeL(int, int, int)
-	?SetStatusCodeToAtomicOrSequenceCmdL@CNSmlStatusContainer@@QAEXHHABVTDesC8@@@Z @ 158 NONAME ; void CNSmlStatusContainer::SetStatusCodeToAtomicOrSequenceCmdL(int, int, class TDesC8 const &)
-	?SetStatusCodesInAtomicL@CNSmlStatusContainer@@QAEXHHH@Z @ 159 NONAME ; void CNSmlStatusContainer::SetStatusCodesInAtomicL(int, int, int)
-	?SetStatusID@CNSmlResultsContainer@@QAEXHH@Z @ 160 NONAME ; void CNSmlResultsContainer::SetStatusID(int, int)
-	?SetSyncAgent@CNSmlAuth@@QAEXPAVCNSmlAgentBase@@@Z @ 161 NONAME ; void CNSmlAuth::SetSyncAgent(class CNSmlAgentBase *)
-	?SourceIsUnderItem@CNSmlCmdsBase@@IBEHPBUsml_item_list_s@@@Z @ 162 NONAME ; int CNSmlCmdsBase::SourceIsUnderItem(struct sml_item_list_s const *) const
-	?StatusCode@CNSmlResponseController@@QBEHH@Z @ 163 NONAME ; int CNSmlResponseController::StatusCode(int) const
-	?StatusContainer@CNSmlCmdsBase@@QBEPAVCNSmlStatusContainer@@XZ @ 164 NONAME ; class CNSmlStatusContainer * CNSmlCmdsBase::StatusContainer(void) const
-	?StatusDataToCommandL@CNSmlCmdsBase@@IAEHABVTDesC8@@PBUsml_pcdata_s@@IPBUsml_item_s@@W4TNSmlSyncMLStatusCode@TNSmlError@@PBV2@@Z @ 165 NONAME ; int CNSmlCmdsBase::StatusDataToCommandL(class TDesC8 const &, struct sml_pcdata_s const *, unsigned int, struct sml_item_s const *, enum TNSmlError::TNSmlSyncMLStatusCode, class TDesC8 const *)
-	?StatusDataToGenericCommandL@CNSmlCmdsBase@@IAEHABVTDesC8@@PBUsml_generic_s@@PBUsml_item_s@@W4TNSmlSyncMLStatusCode@TNSmlError@@PBV2@@Z @ 166 NONAME ; int CNSmlCmdsBase::StatusDataToGenericCommandL(class TDesC8 const &, struct sml_generic_s const *, struct sml_item_s const *, enum TNSmlError::TNSmlSyncMLStatusCode, class TDesC8 const *)
-	?StatusDataToGetCommandL@CNSmlCmdsBase@@IAEHPBUsml_get_put_s@@PBUsml_item_s@@W4TNSmlSyncMLStatusCode@TNSmlError@@PBVTDesC8@@@Z @ 167 NONAME ; int CNSmlCmdsBase::StatusDataToGetCommandL(struct sml_get_put_s const *, struct sml_item_s const *, enum TNSmlError::TNSmlSyncMLStatusCode, class TDesC8 const *)
-	?StatusID@CNSmlResultsContainer@@QBEHH@Z @ 168 NONAME ; int CNSmlResultsContainer::StatusID(int) const
-	?StatusReference@CNSmlAgentBase@@QAEAAVTRequestStatus@@XZ @ 169 NONAME ; class TRequestStatus & CNSmlAgentBase::StatusReference(void)
-	?StatusToUnsupportedCommandL@CNSmlCmdsBase@@QAEXHABVTDesC8@@PBUsml_pcdata_s@@I@Z @ 170 NONAME ; void CNSmlCmdsBase::StatusToUnsupportedCommandL(int, class TDesC8 const &, struct sml_pcdata_s const *, unsigned int)
-	?SubtractConsumedFromPcData@CNSmlCmdsBase@@IAEXAAPAUsml_item_s@@H@Z @ 171 NONAME ; void CNSmlCmdsBase::SubtractConsumedFromPcData(struct sml_item_s * &, int)
-	?SwVersionL@CNSmlPhoneInfo@@QAE?AVTPtrC8@@XZ @ 172 NONAME ; class TPtrC8 CNSmlPhoneInfo::SwVersionL(void)
-	?SyncLog@CNSmlAgentBase@@QAEPAVCSyncMLHistoryJob@@XZ @ 173 NONAME ; class CSyncMLHistoryJob * CNSmlAgentBase::SyncLog(void)
-	?SyncLogErrorCode@TNSmlError@@QAEHXZ @ 174 NONAME ; int TNSmlError::SyncLogErrorCode(void)
-	?SyncLogMessageCode@TNSmlError@@UAEHXZ @ 175 NONAME ; int TNSmlError::SyncLogMessageCode(void)
-	?SyncMLDatabaseAllocLC@CNSmlURI@@QAEPAVHBufC16@@XZ @ 176 NONAME ; class HBufC16 * CNSmlURI::SyncMLDatabaseAllocLC(void)
-	?TargetIsUnderItem@CNSmlCmdsBase@@IBEHPBUsml_item_list_s@@@Z @ 177 NONAME ; int CNSmlCmdsBase::TargetIsUnderItem(struct sml_item_list_s const *) const
-	?TrimRightSpaceAndNull@CNSmlCmdsBase@@IBEXAAVTDes8@@@Z @ 178 NONAME ; void CNSmlCmdsBase::TrimRightSpaceAndNull(class TDes8 &) const
-	?WaitingLargeObjectChunk@CNSmlCmdsBase@@QBEHXZ @ 179 NONAME ; int CNSmlCmdsBase::WaitingLargeObjectChunk(void) const
-	?WriteMappingInfoToDbL@CNSmlCmdsBase@@UBEHXZ @ 180 NONAME ; int CNSmlCmdsBase::WriteMappingInfoToDbL(void) const
-	?smlAddCmdFuncL@CNSmlAgentBase@@UAEHPAUsml_generic_s@@@Z @ 181 NONAME ; int CNSmlAgentBase::smlAddCmdFuncL(struct sml_generic_s *)
-	?smlCopyCmdFuncL@CNSmlAgentBase@@UAEHPAUsml_generic_s@@@Z @ 182 NONAME ; int CNSmlAgentBase::smlCopyCmdFuncL(struct sml_generic_s *)
-	?smlDeleteCmdFuncL@CNSmlAgentBase@@UAEHPAUsml_generic_s@@@Z @ 183 NONAME ; int CNSmlAgentBase::smlDeleteCmdFuncL(struct sml_generic_s *)
-	?smlExecCmdFuncL@CNSmlAgentBase@@UAEHPAUsml_exec_s@@@Z @ 184 NONAME ; int CNSmlAgentBase::smlExecCmdFuncL(struct sml_exec_s *)
-	?smlMapCmdFuncL@CNSmlAgentBase@@UAEHPAUsml_map_s@@@Z @ 185 NONAME ; int CNSmlAgentBase::smlMapCmdFuncL(struct sml_map_s *)
-	?smlMoveCmdFuncL@CNSmlAgentBase@@UAEHPAUsml_generic_s@@@Z @ 186 NONAME ; int CNSmlAgentBase::smlMoveCmdFuncL(struct sml_generic_s *)
-	?smlReplaceCmdFuncL@CNSmlAgentBase@@UAEHPAUsml_generic_s@@@Z @ 187 NONAME ; int CNSmlAgentBase::smlReplaceCmdFuncL(struct sml_generic_s *)
-	?smlSearchCmdFuncL@CNSmlAgentBase@@UAEHPAUsml_search_s@@@Z @ 188 NONAME ; int CNSmlAgentBase::smlSearchCmdFuncL(struct sml_search_s *)
-	?LaunchAutoRestartL@CNSmlAgentBase@@UAEXH@Z @ 189 NONAME ; void CNSmlAgentBase::LaunchAutoRestartL(int)
-	?CheckAPBearerTypeL@CNSmlAgentBase@@QAE?AW4TApBearerType@@K@Z @ 190 NONAME ; enum TApBearerType CNSmlAgentBase::CheckAPBearerTypeL(unsigned long)
-	?DoGenericAlertL@CNSmlCmdsBase@@UAEXABVTDesC8@@ABV?$RArray@UCNSmlDMAlertItem@@@@@Z @ 191 NONAME ; void CNSmlCmdsBase::DoGenericAlertL(class TDesC8 const &, class RArray<struct CNSmlDMAlertItem> const &)
-	?DoTargetL@CNSmlCmdsBase@@QBEXAAPAUsml_target_s@@ABVTDesC8@@@Z @ 192 NONAME ; void CNSmlCmdsBase::DoTargetL(struct sml_target_s * &, class TDesC8 const &) const
+	?TrimRightSpaceAndNull@CNSmlCmdsBase@@IBEXAAVTDes8@@@Z @ 1 NONAME ; void CNSmlCmdsBase::TrimRightSpaceAndNull(class TDes8 &) const
+	?DoMetInfLC@CNSmlCmdsBase@@QBEXAAPAUsml_metinf_metinf_s@@@Z @ 2 NONAME ; void CNSmlCmdsBase::DoMetInfLC(struct sml_metinf_metinf_s * &) const
+	?NewL@CNSmlURI@@SAPAV1@ABVTDesC8@@H@Z @ 3 NONAME ; class CNSmlURI * CNSmlURI::NewL(class TDesC8 const &, int)
+	?BufferAreaForParsingL@CNSmlCmdsBase@@QAE?AVTPtr8@@XZ @ 4 NONAME ; class TPtr8 CNSmlCmdsBase::BufferAreaForParsingL(void)
+	?NewLC@CNSmlURI@@SAPAV1@ABVTDesC16@@H@Z @ 5 NONAME ; class CNSmlURI * CNSmlURI::NewLC(class TDesC16 const &, int)
+	?SetLUIDL@CNSmlResponseController@@QAEXHABVTDesC8@@@Z @ 6 NONAME ; void CNSmlResponseController::SetLUIDL(int, class TDesC8 const &)
+	?DoOutsideCancel@CNSmlAgentBase@@UAEXXZ @ 7 NONAME ; void CNSmlAgentBase::DoOutsideCancel(void)
+	?SetCmdL@CNSmlStatusContainer@@QAEXHABVTDesC8@@@Z @ 8 NONAME ; void CNSmlStatusContainer::SetCmdL(int, class TDesC8 const &)
+	?MetaTypeLC@CNSmlCmdsBase@@IBEPAVHBufC16@@PBUsml_pcdata_s@@@Z @ 9 NONAME ; class HBufC16 * CNSmlCmdsBase::MetaTypeLC(struct sml_pcdata_s const *) const
+	?smlReplaceCmdFuncL@CNSmlAgentBase@@UAEHPAUsml_generic_s@@@Z @ 10 NONAME ; int CNSmlAgentBase::smlReplaceCmdFuncL(struct sml_generic_s *)
+	?BusyStatus@CNSmlCmdsBase@@QBEHXZ @ 11 NONAME ; int CNSmlCmdsBase::BusyStatus(void) const
+	?HostNameWithPortL@CNSmlURI@@QAE?AVTPtrC16@@H@Z @ 12 NONAME ; class TPtrC16 CNSmlURI::HostNameWithPortL(int)
+	?AlertCode@CNSmlCmdsBase@@QBE?AVTPtr8@@PAUsml_alert_s@@@Z @ 13 NONAME ; class TPtr8 CNSmlCmdsBase::AlertCode(struct sml_alert_s *) const
+	?CheckStatusCodesAreReceivedL@CNSmlAgentBase@@IAEHH@Z @ 14 NONAME ; int CNSmlAgentBase::CheckStatusCodesAreReceivedL(int)
+	?AddItemDataL@CNSmlStatusContainer@@QAEXHPBUsml_pcdata_s@@@Z @ 15 NONAME ; void CNSmlStatusContainer::AddItemDataL(int, struct sml_pcdata_s const *)
+	?RunL@CNSmlAgentBase@@UAEXXZ @ 16 NONAME ; void CNSmlAgentBase::RunL(void)
+	?smlAddCmdFuncL@CNSmlAgentBase@@UAEHPAUsml_generic_s@@@Z @ 17 NONAME ; int CNSmlAgentBase::smlAddCmdFuncL(struct sml_generic_s *)
+	?AddItemL@CNSmlResultsContainer@@QAEXHABVCBufBase@@ABVTDesC8@@1@Z @ 18 NONAME ; void CNSmlResultsContainer::AddItemL(int, class CBufBase const &, class TDesC8 const &, class TDesC8 const &)
+	?MarkGenAlertsSentL@CNSmlCmdsBase@@UAEXXZ @ 19 NONAME ; void CNSmlCmdsBase::MarkGenAlertsSentL(void)
+	?DoSourceL@CNSmlCmdsBase@@QBEXAAPAUsml_source_s@@ABVTDesC16@@1@Z @ 20 NONAME ; void CNSmlCmdsBase::DoSourceL(struct sml_source_s * &, class TDesC16 const &, class TDesC16 const &) const
+	?ConstructL@CNSmlAgentBase@@IAEXXZ @ 21 NONAME ; void CNSmlAgentBase::ConstructL(void)
+	?AddTargetRefL@CNSmlStatusContainer@@QAEXHPBUsml_target_s@@@Z @ 22 NONAME ; void CNSmlStatusContainer::AddTargetRefL(int, struct sml_target_s const *)
+	?ClientInitialisationStateL@CNSmlAgentBase@@IAEXXZ @ 23 NONAME ; void CNSmlAgentBase::ClientInitialisationStateL(void)
+	?LaunchAutoRestartL@CNSmlAgentBase@@UAEXH@Z @ 24 NONAME ; void CNSmlAgentBase::LaunchAutoRestartL(int)
+	?SetCmdRefL@CNSmlStatusContainer@@QAEXHPBUsml_pcdata_s@@@Z @ 25 NONAME ; void CNSmlStatusContainer::SetCmdRefL(int, struct sml_pcdata_s const *)
+	?ServerPassword@CNSmlAgentBase@@MBE?AVTPtrC16@@XZ @ 26 NONAME ; class TPtrC16 CNSmlAgentBase::ServerPassword(void) const
+	?SetStatusCodesInAtomicL@CNSmlStatusContainer@@QAEXHHH@Z @ 27 NONAME ; void CNSmlStatusContainer::SetStatusCodesInAtomicL(int, int, int)
+	?CreateAndInitResponseItemL@CNSmlCmdsBase@@IAEHABVTDesC8@@@Z @ 28 NONAME ; int CNSmlCmdsBase::CreateAndInitResponseItemL(class TDesC8 const &)
+	?MoreDataL@CNSmlCmdsBase@@IAE?AW4TNSmlSyncMLStatusCode@TNSmlError@@PBVHBufC8@@PBUsml_item_s@@PBUsml_pcdata_s@@AAPAVCBufBase@@@Z @ 29 NONAME ; enum TNSmlError::TNSmlSyncMLStatusCode CNSmlCmdsBase::MoreDataL(class HBufC8 const *, struct sml_item_s const *, struct sml_pcdata_s const *, class CBufBase * &)
+	?ServerModStatusCmdStateL@CNSmlAgentBase@@IAEXPAUsml_status_s@@@Z @ 30 NONAME ; void CNSmlAgentBase::ServerModStatusCmdStateL(struct sml_status_s *)
+	?StatusToUnsupportedCommandL@CNSmlCmdsBase@@QAEXHABVTDesC8@@PBUsml_pcdata_s@@I@Z @ 31 NONAME ; void CNSmlCmdsBase::StatusToUnsupportedCommandL(int, class TDesC8 const &, struct sml_pcdata_s const *, unsigned int)
+	?DoStatusL@CNSmlCmdsBase@@QAE?AW4TReturnValue@1@PAUsml_status_s@@@Z @ 32 NONAME ; enum CNSmlCmdsBase::TReturnValue CNSmlCmdsBase::DoStatusL(struct sml_status_s *)
+	?PCDATAToUnicodeLC@CNSmlCmdsBase@@QBEXABUsml_pcdata_s@@AAPAVHBufC16@@@Z @ 33 NONAME ; void CNSmlCmdsBase::PCDATAToUnicodeLC(struct sml_pcdata_s const &, class HBufC16 * &) const
+	??1CNSmlAgentBase@@UAE@XZ @ 34 NONAME ; CNSmlAgentBase::~CNSmlAgentBase(void)
+	??0TNSmlError@@QAE@XZ @ 35 NONAME ; TNSmlError::TNSmlError(void)
+	?SetNoResponse@CNSmlStatusContainer@@QAEXHH@Z @ 36 NONAME ; void CNSmlStatusContainer::SetNoResponse(int, int)
+	?AnyResults@CNSmlResultsContainer@@QBEHXZ @ 37 NONAME ; int CNSmlResultsContainer::AnyResults(void) const
+	?WriteMappingInfoToDbL@CNSmlCmdsBase@@UBEHXZ @ 38 NONAME ; int CNSmlCmdsBase::WriteMappingInfoToDbL(void) const
+	?StatusContainer@CNSmlCmdsBase@@QBEPAVCNSmlStatusContainer@@XZ @ 39 NONAME ; class CNSmlStatusContainer * CNSmlCmdsBase::StatusContainer(void) const
+	?smlMoveCmdFuncL@CNSmlAgentBase@@UAEHPAUsml_generic_s@@@Z @ 40 NONAME ; int CNSmlAgentBase::smlMoveCmdFuncL(struct sml_generic_s *)
+	?ServerModAlertCmdStateL@CNSmlAgentBase@@IAEXPAUsml_alert_s@@@Z @ 41 NONAME ; void CNSmlAgentBase::ServerModAlertCmdStateL(struct sml_alert_s *)
+	?SetOffCallbackCalled@CNSmlAgentBase@@QAEXXZ @ 42 NONAME ; void CNSmlAgentBase::SetOffCallbackCalled(void)
+	?InitAskingDeviceInfoStateL@CNSmlAgentBase@@MAEXXZ @ 43 NONAME ; void CNSmlAgentBase::InitAskingDeviceInfoStateL(void)
+	?DoSyncHdrL@CNSmlCmdsBase@@UAEXXZ @ 44 NONAME ; void CNSmlCmdsBase::DoSyncHdrL(void)
+	??1TNSmlError@@UAE@XZ @ 45 NONAME ; TNSmlError::~TNSmlError(void)
+	?SetAuthRequiredL@CNSmlAuth@@QAEXXZ @ 46 NONAME ; void CNSmlAuth::SetAuthRequiredL(void)
+	?SubtractConsumedFromPcData@CNSmlCmdsBase@@IAEXAAPAUsml_item_s@@H@Z @ 47 NONAME ; void CNSmlCmdsBase::SubtractConsumedFromPcData(struct sml_item_s * &, int)
+	?ChalType@CNSmlResponseController@@QBE?AVTPtrC8@@H@Z @ 48 NONAME ; class TPtrC8 CNSmlResponseController::ChalType(int) const
+	?SwVersionL@CNSmlPhoneInfo@@QAE?AVTPtrC8@@XZ @ 49 NONAME ; class TPtrC8 CNSmlPhoneInfo::SwVersionL(void)
+	?RespURI@CNSmlCmdsBase@@QBEPAVCNSmlURI@@XZ @ 50 NONAME ; class CNSmlURI * CNSmlCmdsBase::RespURI(void) const
+	?HostNameInUTF8AllocLC@CNSmlURI@@QAEPAVHBufC8@@XZ @ 51 NONAME ; class HBufC8 * CNSmlURI::HostNameInUTF8AllocLC(void)
+	?SetAtomicOrSequenceId@CNSmlStatusContainer@@QAEXHH@Z @ 52 NONAME ; void CNSmlStatusContainer::SetAtomicOrSequenceId(int, int)
+	?Begin@CNSmlStatusContainer@@QAEXXZ @ 53 NONAME ; void CNSmlStatusContainer::Begin(void)
+	?ServerAlertNextEndMessageStateL@CNSmlAgentBase@@IAEXH@Z @ 54 NONAME ; void CNSmlAgentBase::ServerAlertNextEndMessageStateL(int)
+	?DoMetaL@CNSmlCmdsBase@@QBEXAAPAUsml_pcdata_s@@PBUsml_metinf_metinf_s@@@Z @ 55 NONAME ; void CNSmlCmdsBase::DoMetaL(struct sml_pcdata_s * &, struct sml_metinf_metinf_s const *) const
+	?SetHostNameL@CNSmlURI@@QAEXABVTDesC16@@H@Z @ 56 NONAME ; void CNSmlURI::SetHostNameL(class TDesC16 const &, int)
+	?PhoneDataL@CNSmlPhoneInfo@@QBEXW4TPhoneIdType@1@AAVTDes16@@@Z @ 57 NONAME ; void CNSmlPhoneInfo::PhoneDataL(enum CNSmlPhoneInfo::TPhoneIdType, class TDes16 &) const
+	?DataUpdateStatusStateL@CNSmlAgentBase@@IAEXXZ @ 58 NONAME ; void CNSmlAgentBase::DataUpdateStatusStateL(void)
+	?MarkGenAlertsSentL@CNSmlCmdsBase@@UAEXABVTDesC8@@@Z @ 59 NONAME ; void CNSmlCmdsBase::MarkGenAlertsSentL(class TDesC8 const &)
+	?Cmd@CNSmlResponseController@@QBEAAVTDesC8@@H@Z @ 60 NONAME ; class TDesC8 & CNSmlResponseController::Cmd(int) const
+	?AddSourceRefL@CNSmlStatusContainer@@QAEXHPBUsml_source_s@@@Z @ 61 NONAME ; void CNSmlStatusContainer::AddSourceRefL(int, struct sml_source_s const *)
+	?SetStatusCodeL@CNSmlStatusContainer@@QAEXHHH@Z @ 62 NONAME ; void CNSmlStatusContainer::SetStatusCodeL(int, int, int)
+	?SetPort@CNSmlURI@@QAEXH@Z @ 63 NONAME ; void CNSmlURI::SetPort(int)
+	?SetErrorCode@TNSmlError@@QAEXH@Z @ 64 NONAME ; void TNSmlError::SetErrorCode(int)
+	?SendingStateL@CNSmlAgentBase@@IAEXXZ @ 65 NONAME ; void CNSmlAgentBase::SendingStateL(void)
+	?NewL@CNSmlPhoneInfo@@SAPAV1@XZ @ 66 NONAME ; class CNSmlPhoneInfo * CNSmlPhoneInfo::NewL(void)
+	?SetDatabaseL@CNSmlURI@@QAEXABVTDesC16@@H@Z @ 67 NONAME ; void CNSmlURI::SetDatabaseL(class TDesC16 const &, int)
+	?ResetLargeObjectBuffer@CNSmlCmdsBase@@QAEXXZ @ 68 NONAME ; void CNSmlCmdsBase::ResetLargeObjectBuffer(void)
+	?CloseIDMappingTableL@CNSmlCmdsBase@@UAEXXZ @ 69 NONAME ; void CNSmlCmdsBase::CloseIDMappingTableL(void)
+	?EndOfServerMessageL@CNSmlCmdsBase@@UBEXXZ @ 70 NONAME ; void CNSmlCmdsBase::EndOfServerMessageL(void) const
+	?ResetGenericUserAlertL@CNSmlCmdsBase@@UAEXXZ @ 71 NONAME ; void CNSmlCmdsBase::ResetGenericUserAlertL(void)
+	?DoGenericAlertL@CNSmlCmdsBase@@UAEXABVTDesC8@@ABV?$RArray@UCNSmlDMAlertItem@@@@@Z @ 72 NONAME ; void CNSmlCmdsBase::DoGenericAlertL(class TDesC8 const &, class RArray<struct CNSmlDMAlertItem> const &)
+	?DoTargetL@CNSmlCmdsBase@@QBEXAAPAUsml_target_s@@ABVTDesC16@@@Z @ 73 NONAME ; void CNSmlCmdsBase::DoTargetL(struct sml_target_s * &, class TDesC16 const &) const
+	?CurrentEntryID@CNSmlResultsContainer@@QBEHXZ @ 74 NONAME ; int CNSmlResultsContainer::CurrentEntryID(void) const
+	?SetStatusCodeToAtomicOrSequenceCmdL@CNSmlStatusContainer@@QAEXHHABVTDesC8@@@Z @ 75 NONAME ; void CNSmlStatusContainer::SetStatusCodeToAtomicOrSequenceCmdL(int, int, class TDesC8 const &)
+	?HBufC16InUnicodeLC@NSmlUnicodeConverter@@SAHABVTDesC8@@AAPAVHBufC16@@@Z @ 76 NONAME ; int NSmlUnicodeConverter::HBufC16InUnicodeLC(class TDesC8 const &, class HBufC16 * &)
+	?Challenged@CNSmlAuth@@QBEHXZ @ 77 NONAME ; int CNSmlAuth::Challenged(void) const
+	?IsEqualL@CNSmlURI@@QAEHABV1@H@Z @ 78 NONAME ; int CNSmlURI::IsEqualL(class CNSmlURI const &, int)
+	?SetHostNameL@CNSmlURI@@QAEXABVTDesC8@@H@Z @ 79 NONAME ; void CNSmlURI::SetHostNameL(class TDesC8 const &, int)
+	?ServerObjectSize@CNSmlCmdsBase@@IBEHPBUsml_pcdata_s@@@Z @ 80 NONAME ; int CNSmlCmdsBase::ServerObjectSize(struct sml_pcdata_s const *) const
+	??0CNSmlCmdsBase@@QAE@XZ @ 81 NONAME ; CNSmlCmdsBase::CNSmlCmdsBase(void)
+	?DoSourceL@CNSmlCmdsBase@@QBEXAAPAUsml_source_s@@ABVTDesC16@@@Z @ 82 NONAME ; void CNSmlCmdsBase::DoSourceL(struct sml_source_s * &, class TDesC16 const &) const
+	?smlMapCmdFuncL@CNSmlAgentBase@@UAEHPAUsml_map_s@@@Z @ 83 NONAME ; int CNSmlAgentBase::smlMapCmdFuncL(struct sml_map_s *)
+	?ResetL@CNSmlResponseController@@QAEXXZ @ 84 NONAME ; void CNSmlResponseController::ResetL(void)
+	?ProcessStatusCmdL@CNSmlCmdsBase@@UAEXPAUsml_status_s@@@Z @ 85 NONAME ; void CNSmlCmdsBase::ProcessStatusCmdL(struct sml_status_s *)
+	?SetCmdIDL@CNSmlResultsContainer@@QAEXHPBUsml_pcdata_s@@@Z @ 86 NONAME ; void CNSmlResultsContainer::SetCmdIDL(int, struct sml_pcdata_s const *)
+	?ServerAlertNextStatusCmdStateL@CNSmlAgentBase@@IAEXPAUsml_status_s@@@Z @ 87 NONAME ; void CNSmlAgentBase::ServerAlertNextStatusCmdStateL(struct sml_status_s *)
+	?ProcessExecCmdL@CNSmlCmdsBase@@UAEXPAUsml_exec_s@@@Z @ 88 NONAME ; void CNSmlCmdsBase::ProcessExecCmdL(struct sml_exec_s *)
+	?HostName@CNSmlURI@@QAE?AVTPtrC16@@XZ @ 89 NONAME ; class TPtrC16 CNSmlURI::HostName(void)
+	?DoCancel@CNSmlAgentBase@@UAEXXZ @ 90 NONAME ; void CNSmlAgentBase::DoCancel(void)
+	?SyncLog@CNSmlAgentBase@@QAEPAVCSyncMLHistoryJob@@XZ @ 91 NONAME ; class CSyncMLHistoryJob * CNSmlAgentBase::SyncLog(void)
+	?StatusDataToGenericCommandL@CNSmlCmdsBase@@IAEHABVTDesC8@@PBUsml_generic_s@@PBUsml_item_s@@W4TNSmlSyncMLStatusCode@TNSmlError@@PBV2@@Z @ 92 NONAME ; int CNSmlCmdsBase::StatusDataToGenericCommandL(class TDesC8 const &, struct sml_generic_s const *, struct sml_item_s const *, enum TNSmlError::TNSmlSyncMLStatusCode, class TDesC8 const *)
+	?ServerAlertNextAlertCmdStateL@CNSmlAgentBase@@IAEXPAUsml_alert_s@@@Z @ 93 NONAME ; void CNSmlAgentBase::ServerAlertNextAlertCmdStateL(struct sml_alert_s *)
+	?SaveIfNonceL@CNSmlAgentBase@@IBEXABVCNSmlResponseController@@H@Z @ 94 NONAME ; void CNSmlAgentBase::SaveIfNonceL(class CNSmlResponseController const &, int) const
+	?FetchIDMappingTableL@CNSmlCmdsBase@@UAEXH@Z @ 95 NONAME ; void CNSmlCmdsBase::FetchIDMappingTableL(int)
+	?ServerAuth@CNSmlCmdsBase@@QBEPAVCNSmlAuth@@XZ @ 96 NONAME ; class CNSmlAuth * CNSmlCmdsBase::ServerAuth(void) const
+	?NewLC@CNSmlPhoneInfo@@SAPAV1@XZ @ 97 NONAME ; class CNSmlPhoneInfo * CNSmlPhoneInfo::NewLC(void)
+	?smlDeleteCmdFuncL@CNSmlAgentBase@@UAEHPAUsml_generic_s@@@Z @ 98 NONAME ; int CNSmlAgentBase::smlDeleteCmdFuncL(struct sml_generic_s *)
+	?InitStartingMessageStateBaseL@CNSmlAgentBase@@IAEXXZ @ 99 NONAME ; void CNSmlAgentBase::InitStartingMessageStateBaseL(void)
+	?DeleteIDMappingTableL@CNSmlCmdsBase@@UAEHABVTDesC16@@0@Z @ 100 NONAME ; int CNSmlCmdsBase::DeleteIDMappingTableL(class TDesC16 const &, class TDesC16 const &)
+	?StatusReference@CNSmlAgentBase@@QAEAAVTRequestStatus@@XZ @ 101 NONAME ; class TRequestStatus & CNSmlAgentBase::StatusReference(void)
+	?SetCredentialL@CNSmlAuth@@QAEXABVTDesC8@@@Z @ 102 NONAME ; void CNSmlAuth::SetCredentialL(class TDesC8 const &)
+	?DoAnchorsL@CNSmlCmdsBase@@IBEXAAUsml_metinf_metinf_s@@PBVTDesC8@@1@Z @ 103 NONAME ; void CNSmlCmdsBase::DoAnchorsL(struct sml_metinf_metinf_s &, class TDesC8 const *, class TDesC8 const *) const
+	?DoSourceL@CNSmlCmdsBase@@QBEXAAPAUsml_source_s@@ABVTDesC8@@@Z @ 104 NONAME ; void CNSmlCmdsBase::DoSourceL(struct sml_source_s * &, class TDesC8 const &) const
+	?DoTargetL@CNSmlCmdsBase@@QBEXAAPAUsml_target_s@@ABVTDesC16@@1@Z @ 105 NONAME ; void CNSmlCmdsBase::DoTargetL(struct sml_target_s * &, class TDesC16 const &, class TDesC16 const &) const
+	?DoGenericAlertL@CNSmlCmdsBase@@UAEXABVTDesC8@@00H0@Z @ 106 NONAME ; void CNSmlCmdsBase::DoGenericAlertL(class TDesC8 const &, class TDesC8 const &, class TDesC8 const &, int, class TDesC8 const &)
+	?ProcessMapCmdL@CNSmlCmdsBase@@UAEXPAUsml_map_s@@@Z @ 107 NONAME ; void CNSmlCmdsBase::ProcessMapCmdL(struct sml_map_s *)
+	?ReceivingStateL@CNSmlAgentBase@@IAEXXZ @ 108 NONAME ; void CNSmlAgentBase::ReceivingStateL(void)
+	??4CNSmlURI@@QAEAAV0@ABV0@@Z @ 109 NONAME ; class CNSmlURI & CNSmlURI::operator=(class CNSmlURI const &)
+	?ProcessReceivedDataL@CNSmlCmdsBase@@QAEHXZ @ 110 NONAME ; int CNSmlCmdsBase::ProcessReceivedDataL(void)
+	?SetPerformedInAtomic@CNSmlStatusContainer@@QAEXH@Z @ 111 NONAME ; void CNSmlStatusContainer::SetPerformedInAtomic(int)
+	?SetMoreData@CNSmlResponseController@@QAEXH@Z @ 112 NONAME ; void CNSmlResponseController::SetMoreData(int)
+	?DatabaseMatchesL@CNSmlURI@@QAEHABVTDesC16@@@Z @ 113 NONAME ; int CNSmlURI::DatabaseMatchesL(class TDesC16 const &)
+	?LastEntryID@CNSmlStatusContainer@@QBEHXZ @ 114 NONAME ; int CNSmlStatusContainer::LastEntryID(void) const
+	?ResponseController@CNSmlCmdsBase@@QBEPAVCNSmlResponseController@@XZ @ 115 NONAME ; class CNSmlResponseController * CNSmlCmdsBase::ResponseController(void) const
+	?SetResponseDetail@CNSmlResponseController@@QAEXHW4TResponseDetail@1@@Z @ 116 NONAME ; void CNSmlResponseController::SetResponseDetail(int, enum CNSmlResponseController::TResponseDetail)
+	?ResultAlertStateL@CNSmlAgentBase@@IAEXXZ @ 117 NONAME ; void CNSmlAgentBase::ResultAlertStateL(void)
+	?ConstructL@CNSmlCmdsBase@@IAEXPAVCNSmlAgentBase@@ABVTDesC8@@1HABVHBufC16@@PAVCNSmlURI@@H@Z @ 118 NONAME ; void CNSmlCmdsBase::ConstructL(class CNSmlAgentBase *, class TDesC8 const &, class TDesC8 const &, int, class HBufC16 const &, class CNSmlURI *, int)
+	?DoCmdIdL@CNSmlCmdsBase@@IAEXAAPAUsml_pcdata_s@@@Z @ 119 NONAME ; void CNSmlCmdsBase::DoCmdIdL(struct sml_pcdata_s * &)
+	?smlSearchCmdFuncL@CNSmlAgentBase@@UAEHPAUsml_search_s@@@Z @ 120 NONAME ; int CNSmlAgentBase::smlSearchCmdFuncL(struct sml_search_s *)
+	?IsFlagSet@CNSmlCmdsBase@@IBEHABI0@Z @ 121 NONAME ; int CNSmlCmdsBase::IsFlagSet(unsigned int const &, unsigned int const &) const
+	?SetServerNonceL@CNSmlAgentBase@@UBEXABVTDesC16@@@Z @ 122 NONAME ; void CNSmlAgentBase::SetServerNonceL(class TDesC16 const &) const
+	?DoTargetL@CNSmlCmdsBase@@QBEXAAPAUsml_target_s@@ABVTDesC8@@@Z @ 123 NONAME ; void CNSmlCmdsBase::DoTargetL(struct sml_target_s * &, class TDesC8 const &) const
+	?SetEndOfDataAlertRequest@CNSmlAgentBase@@QAEXXZ @ 124 NONAME ; void CNSmlAgentBase::SetEndOfDataAlertRequest(void)
+	?ServerUserName@CNSmlAgentBase@@MBE?AVTPtrC16@@XZ @ 125 NONAME ; class TPtrC16 CNSmlAgentBase::ServerUserName(void) const
+	?ClientAlertNextStateL@CNSmlAgentBase@@IAEXXZ @ 126 NONAME ; void CNSmlAgentBase::ClientAlertNextStateL(void)
+	?NewLC@CNSmlURI@@SAPAV1@XZ @ 127 NONAME ; class CNSmlURI * CNSmlURI::NewLC(void)
+	?DisconnectFromOtherServers@CNSmlCmdsBase@@UAEXXZ @ 128 NONAME ; void CNSmlCmdsBase::DisconnectFromOtherServers(void)
+	?SyncLogMessageCode@TNSmlError@@UAEHXZ @ 129 NONAME ; int TNSmlError::SyncLogMessageCode(void)
+	?ServerModEndMessageStateL@CNSmlAgentBase@@IAEXH@Z @ 130 NONAME ; void CNSmlAgentBase::ServerModEndMessageStateL(int)
+	?HBufC8InUTF8LC@NSmlUnicodeConverter@@SAHABVTDesC16@@AAPAVHBufC8@@@Z @ 131 NONAME ; int NSmlUnicodeConverter::HBufC8InUTF8LC(class TDesC16 const &, class HBufC8 * &)
+	?ProcessSearchCmdL@CNSmlCmdsBase@@UAEXPAUsml_search_s@@@Z @ 132 NONAME ; void CNSmlCmdsBase::ProcessSearchCmdL(struct sml_search_s *)
+	?ProfileId@CNSmlAgentBase@@QBEHXZ @ 133 NONAME ; int CNSmlAgentBase::ProfileId(void) const
+	?smlCopyCmdFuncL@CNSmlAgentBase@@UAEHPAUsml_generic_s@@@Z @ 134 NONAME ; int CNSmlAgentBase::smlCopyCmdFuncL(struct sml_generic_s *)
+	?NewL@CNSmlURI@@SAPAV1@XZ @ 135 NONAME ; class CNSmlURI * CNSmlURI::NewL(void)
+	?DoGenericUserAlertL@CNSmlCmdsBase@@UAEHH@Z @ 136 NONAME ; int CNSmlCmdsBase::DoGenericUserAlertL(int)
+	?HBufC16InUnicodeL@NSmlUnicodeConverter@@SAHABVTDesC8@@AAPAVHBufC16@@@Z @ 137 NONAME ; int NSmlUnicodeConverter::HBufC16InUnicodeL(class TDesC8 const &, class HBufC16 * &)
+	?MoreData@CNSmlResponseController@@QBEHH@Z @ 138 NONAME ; int CNSmlResponseController::MoreData(int) const
+	?RemoveWritten@CNSmlResultsContainer@@QAEXH@Z @ 139 NONAME ; void CNSmlResultsContainer::RemoveWritten(int)
+	?MetaTypeInUtf8LC@CNSmlCmdsBase@@IBEPAVHBufC8@@PBUsml_pcdata_s@@@Z @ 140 NONAME ; class HBufC8 * CNSmlCmdsBase::MetaTypeInUtf8LC(struct sml_pcdata_s const *) const
+	?StatusDataToGetCommandL@CNSmlCmdsBase@@IAEHPBUsml_get_put_s@@PBUsml_item_s@@W4TNSmlSyncMLStatusCode@TNSmlError@@PBVTDesC8@@@Z @ 141 NONAME ; int CNSmlCmdsBase::StatusDataToGetCommandL(struct sml_get_put_s const *, struct sml_item_s const *, enum TNSmlError::TNSmlSyncMLStatusCode, class TDesC8 const *)
+	?AppIndex@CNSmlResponseController@@QBEHH@Z @ 142 NONAME ; int CNSmlResponseController::AppIndex(int) const
+	?WaitingLargeObjectChunk@CNSmlCmdsBase@@QBEHXZ @ 143 NONAME ; int CNSmlCmdsBase::WaitingLargeObjectChunk(void) const
+	?SetMaximumWorkspaceSize@CNSmlCmdsBase@@QAEXH@Z @ 144 NONAME ; void CNSmlCmdsBase::SetMaximumWorkspaceSize(int)
+	?StatusCode@CNSmlResponseController@@QBEHH@Z @ 145 NONAME ; int CNSmlResponseController::StatusCode(int) const
+	?smlExecCmdFuncL@CNSmlAgentBase@@UAEHPAUsml_exec_s@@@Z @ 146 NONAME ; int CNSmlAgentBase::smlExecCmdFuncL(struct sml_exec_s *)
+	?EntryID@CNSmlResponseController@@QBEHHH@Z @ 147 NONAME ; int CNSmlResponseController::EntryID(int, int) const
+	?ProcessSyncHdrL@CNSmlCmdsBase@@UAEXPAUsml_sync_hdr_s@@@Z @ 148 NONAME ; void CNSmlCmdsBase::ProcessSyncHdrL(struct sml_sync_hdr_s *)
+	?ProcessCopyCmdL@CNSmlCmdsBase@@UAEXPAUsml_generic_s@@@Z @ 149 NONAME ; void CNSmlCmdsBase::ProcessCopyCmdL(struct sml_generic_s *)
+	?ServerNonceAllocL@CNSmlAgentBase@@UBEPAVHBufC16@@XZ @ 150 NONAME ; class HBufC16 * CNSmlAgentBase::ServerNonceAllocL(void) const
+	?ResultsContainer@CNSmlCmdsBase@@QBEPAVCNSmlResultsContainer@@XZ @ 151 NONAME ; class CNSmlResultsContainer * CNSmlCmdsBase::ResultsContainer(void) const
+	?DataUpdateStatusMakingMapStateL@CNSmlAgentBase@@MAEXXZ @ 152 NONAME ; void CNSmlAgentBase::DataUpdateStatusMakingMapStateL(void)
+	?SetSyncAgent@CNSmlAuth@@QAEXPAVCNSmlAgentBase@@@Z @ 153 NONAME ; void CNSmlAuth::SetSyncAgent(class CNSmlAgentBase *)
+	?MetaFormatInUtf8LC@CNSmlCmdsBase@@IBEPAVHBufC8@@PBUsml_pcdata_s@@@Z @ 154 NONAME ; class HBufC8 * CNSmlCmdsBase::MetaFormatInUtf8LC(struct sml_pcdata_s const *) const
+	?ResponseDetail@CNSmlResponseController@@QBE?AW4TResponseDetail@1@H@Z @ 155 NONAME ; enum CNSmlResponseController::TResponseDetail CNSmlResponseController::ResponseDetail(int) const
+	?StatusID@CNSmlResultsContainer@@QBEHH@Z @ 156 NONAME ; int CNSmlResultsContainer::StatusID(int) const
+	?ErrorCodeConversion@TNSmlError@@MAEXXZ @ 157 NONAME ; void TNSmlError::ErrorCodeConversion(void)
+	?ServerMaxObjSize@CNSmlCmdsBase@@IBEHPBUsml_pcdata_s@@@Z @ 158 NONAME ; int CNSmlCmdsBase::ServerMaxObjSize(struct sml_pcdata_s const *) const
+	?ServerModStartMessageStateL@CNSmlAgentBase@@IAEXPAUsml_sync_hdr_s@@@Z @ 159 NONAME ; void CNSmlAgentBase::ServerModStartMessageStateL(struct sml_sync_hdr_s *)
+	?CallbackCalled@CNSmlAgentBase@@QBEHXZ @ 160 NONAME ; int CNSmlAgentBase::CallbackCalled(void) const
+	?PcdataNewL@CNSmlCmdsBase@@QBEXAAPAUsml_pcdata_s@@ABVTDesC8@@@Z @ 161 NONAME ; void CNSmlCmdsBase::PcdataNewL(struct sml_pcdata_s * &, class TDesC8 const &) const
+	?NextResultsElement@CNSmlResultsContainer@@QAEHAAPAUsml_results_s@@@Z @ 162 NONAME ; int CNSmlResultsContainer::NextResultsElement(struct sml_results_s * &)
+	?SetAppIndex@CNSmlResponseController@@QAEXHH@Z @ 163 NONAME ; void CNSmlResponseController::SetAppIndex(int, int)
+	?Begin@CNSmlResultsContainer@@QAEXXZ @ 164 NONAME ; void CNSmlResultsContainer::Begin(void)
+	?SetDatabaseL@CNSmlURI@@QAEXABVTDesC8@@H@Z @ 165 NONAME ; void CNSmlURI::SetDatabaseL(class TDesC8 const &, int)
+	?CreateNewResultsL@CNSmlResultsContainer@@QAEHABVTDesC8@@0PBUsml_target_s@@PBUsml_source_s@@@Z @ 166 NONAME ; int CNSmlResultsContainer::CreateNewResultsL(class TDesC8 const &, class TDesC8 const &, struct sml_target_s const *, struct sml_source_s const *)
+	?SyncMLDatabaseAllocLC@CNSmlURI@@QAEPAVHBufC16@@XZ @ 167 NONAME ; class HBufC16 * CNSmlURI::SyncMLDatabaseAllocLC(void)
+	?DataUpdateStatusStartingMessageStateBaseL@CNSmlAgentBase@@IAEXXZ @ 168 NONAME ; void CNSmlAgentBase::DataUpdateStatusStartingMessageStateBaseL(void)
+	?DataUpdateStatusMakingResultsStateL@CNSmlAgentBase@@MAEXXZ @ 169 NONAME ; void CNSmlAgentBase::DataUpdateStatusMakingResultsStateL(void)
+	??0CNSmlAgentBase@@QAE@XZ @ 170 NONAME ; CNSmlAgentBase::CNSmlAgentBase(void)
+	?NewLC@CNSmlURI@@SAPAV1@ABVTDesC8@@H@Z @ 171 NONAME ; class CNSmlURI * CNSmlURI::NewLC(class TDesC8 const &, int)
+	?ServerAlertNextStateL@CNSmlAgentBase@@IAEXXZ @ 172 NONAME ; void CNSmlAgentBase::ServerAlertNextStateL(void)
+	?LUID@CNSmlResponseController@@QBE?AVTPtrC8@@H@Z @ 173 NONAME ; class TPtrC8 CNSmlResponseController::LUID(int) const
+	?NextStatusElement@CNSmlStatusContainer@@QAEHAAPAUsml_status_s@@H@Z @ 174 NONAME ; int CNSmlStatusContainer::NextStatusElement(struct sml_status_s * &, int)
+	?AuthenticationRequirementL@CNSmlAgentBase@@IAEHABVCNSmlResponseController@@H@Z @ 175 NONAME ; int CNSmlAgentBase::AuthenticationRequirementL(class CNSmlResponseController const &, int)
+	?StatusDataToCommandL@CNSmlCmdsBase@@IAEHABVTDesC8@@PBUsml_pcdata_s@@IPBUsml_item_s@@W4TNSmlSyncMLStatusCode@TNSmlError@@PBV2@@Z @ 176 NONAME ; int CNSmlCmdsBase::StatusDataToCommandL(class TDesC8 const &, struct sml_pcdata_s const *, unsigned int, struct sml_item_s const *, enum TNSmlError::TNSmlSyncMLStatusCode, class TDesC8 const *)
+	?SourceIsUnderItem@CNSmlCmdsBase@@IBEHPBUsml_item_list_s@@@Z @ 177 NONAME ; int CNSmlCmdsBase::SourceIsUnderItem(struct sml_item_list_s const *) const
+	?SetStatusID@CNSmlResultsContainer@@QAEXHH@Z @ 178 NONAME ; void CNSmlResultsContainer::SetStatusID(int, int)
+	?CreateNewStatusElementL@CNSmlStatusContainer@@QAEHXZ @ 179 NONAME ; int CNSmlStatusContainer::CreateNewStatusElementL(void)
+	?FreeBaseResources@CNSmlAgentBase@@IAEXXZ @ 180 NONAME ; void CNSmlAgentBase::FreeBaseResources(void)
+	??1CNSmlCmdsBase@@UAE@XZ @ 181 NONAME ; CNSmlCmdsBase::~CNSmlCmdsBase(void)
+	?NewL@CNSmlURI@@SAPAV1@ABVTDesC16@@H@Z @ 182 NONAME ; class CNSmlURI * CNSmlURI::NewL(class TDesC16 const &, int)
+	?NewL@CNSmlAuth@@SAPAV1@XZ @ 183 NONAME ; class CNSmlAuth * CNSmlAuth::NewL(void)
+	?DataBaseWithoutRelativePrefix@CNSmlURI@@QAE?AVTPtrC16@@XZ @ 184 NONAME ; class TPtrC16 CNSmlURI::DataBaseWithoutRelativePrefix(void)
+	?Database@CNSmlURI@@QAE?AVTPtrC16@@XZ @ 185 NONAME ; class TPtrC16 CNSmlURI::Database(void)
+	?DoMaxObjSizeL@CNSmlCmdsBase@@IBEXAAUsml_metinf_metinf_s@@H@Z @ 186 NONAME ; void CNSmlCmdsBase::DoMaxObjSizeL(struct sml_metinf_metinf_s &, int) const
+	?SyncLogErrorCode@TNSmlError@@QAEHXZ @ 187 NONAME ; int TNSmlError::SyncLogErrorCode(void)
+	?ClientAlertNextMakingMapStateL@CNSmlAgentBase@@MAEXXZ @ 188 NONAME ; void CNSmlAgentBase::ClientAlertNextMakingMapStateL(void)
+	?TargetIsUnderItem@CNSmlCmdsBase@@IBEHPBUsml_item_list_s@@@Z @ 189 NONAME ; int CNSmlCmdsBase::TargetIsUnderItem(struct sml_item_list_s const *) const
+	?ServerAlertNextStartMessageStateL@CNSmlAgentBase@@IAEXPAUsml_sync_hdr_s@@@Z @ 190 NONAME ; void CNSmlAgentBase::ServerAlertNextStartMessageStateL(struct sml_sync_hdr_s *)
+	?BeginningStateL@CNSmlAgentBase@@IAEXXZ @ 191 NONAME ; void CNSmlAgentBase::BeginningStateL(void)
 
--- a/syncmlfw/common/syncagent/bld/DEF/eabiu.def	Fri May 14 16:42:50 2010 +0300
+++ b/syncmlfw/common/syncagent/bld/DEF/eabiu.def	Thu May 27 13:43:36 2010 +0300
@@ -11,217 +11,216 @@
 	_ZN13CNSmlCmdsBase10ConstructLEP14CNSmlAgentBaseRK6TDesC8S4_iRK7HBufC16P8CNSmlURIi @ 10 NONAME
 	_ZN13CNSmlCmdsBase10DoSyncHdrLEv @ 11 NONAME
 	_ZN13CNSmlCmdsBase14ProcessMapCmdLEP9sml_map_s @ 12 NONAME
-	_ZN13CNSmlCmdsBase15DoGenericAlertLERK6TDesC8S2_S2_iS2_ @ 13 NONAME
-	_ZN13CNSmlCmdsBase15ProcessCopyCmdLEP13sml_generic_s @ 14 NONAME
-	_ZN13CNSmlCmdsBase15ProcessExecCmdLEP10sml_exec_s @ 15 NONAME
-	_ZN13CNSmlCmdsBase15ProcessSyncHdrLEP14sml_sync_hdr_s @ 16 NONAME
-	_ZN13CNSmlCmdsBase17ProcessSearchCmdLEP12sml_search_s @ 17 NONAME
-	_ZN13CNSmlCmdsBase17ProcessStatusCmdLEP12sml_status_s @ 18 NONAME
-	_ZN13CNSmlCmdsBase18MarkGenAlertsSentLERK6TDesC8 @ 19 NONAME
-	_ZN13CNSmlCmdsBase18MarkGenAlertsSentLEv @ 20 NONAME
-	_ZN13CNSmlCmdsBase19DoGenericUserAlertLEi @ 21 NONAME
-	_ZN13CNSmlCmdsBase20CloseIDMappingTableLEv @ 22 NONAME
-	_ZN13CNSmlCmdsBase20FetchIDMappingTableLEi @ 23 NONAME
-	_ZN13CNSmlCmdsBase20ProcessReceivedDataLEv @ 24 NONAME
-	_ZN13CNSmlCmdsBase20StatusDataToCommandLERK6TDesC8PK12sml_pcdata_sjPK10sml_item_sN10TNSmlError21TNSmlSyncMLStatusCodeEPS1_ @ 25 NONAME
-	_ZN13CNSmlCmdsBase21BufferAreaForParsingLEv @ 26 NONAME
-	_ZN13CNSmlCmdsBase21DeleteIDMappingTableLERK7TDesC16S2_ @ 27 NONAME
-	_ZN13CNSmlCmdsBase22ResetGenericUserAlertLEv @ 28 NONAME
-	_ZN13CNSmlCmdsBase22ResetLargeObjectBufferEv @ 29 NONAME
-	_ZN13CNSmlCmdsBase23SetMaximumWorkspaceSizeEi @ 30 NONAME
-	_ZN13CNSmlCmdsBase23StatusDataToGetCommandLEPK13sml_get_put_sPK10sml_item_sN10TNSmlError21TNSmlSyncMLStatusCodeEPK6TDesC8 @ 31 NONAME
-	_ZN13CNSmlCmdsBase26CreateAndInitResponseItemLERK6TDesC8 @ 32 NONAME
-	_ZN13CNSmlCmdsBase26DisconnectFromOtherServersEv @ 33 NONAME
-	_ZN13CNSmlCmdsBase26SubtractConsumedFromPcDataERP10sml_item_si @ 34 NONAME
-	_ZN13CNSmlCmdsBase27StatusDataToGenericCommandLERK6TDesC8PK13sml_generic_sPK10sml_item_sN10TNSmlError21TNSmlSyncMLStatusCodeEPS1_ @ 35 NONAME
-	_ZN13CNSmlCmdsBase27StatusToUnsupportedCommandLEiRK6TDesC8PK12sml_pcdata_sj @ 36 NONAME
-	_ZN13CNSmlCmdsBase8DoCmdIdLERP12sml_pcdata_s @ 37 NONAME
-	_ZN13CNSmlCmdsBase9DoStatusLEP12sml_status_s @ 38 NONAME
-	_ZN13CNSmlCmdsBase9MoreDataLEPK6HBufC8PK10sml_item_sPK12sml_pcdata_sRP8CBufBase @ 39 NONAME
-	_ZN13CNSmlCmdsBaseC2Ev @ 40 NONAME
-	_ZN13CNSmlCmdsBaseD0Ev @ 41 NONAME
-	_ZN13CNSmlCmdsBaseD1Ev @ 42 NONAME
-	_ZN13CNSmlCmdsBaseD2Ev @ 43 NONAME
-	_ZN14CNSmlAgentBase10ConstructLEv @ 44 NONAME
-	_ZN14CNSmlAgentBase13SendingStateLEv @ 45 NONAME
-	_ZN14CNSmlAgentBase14smlAddCmdFuncLEP13sml_generic_s @ 46 NONAME
-	_ZN14CNSmlAgentBase14smlMapCmdFuncLEP9sml_map_s @ 47 NONAME
-	_ZN14CNSmlAgentBase15BeginningStateLEv @ 48 NONAME
-	_ZN14CNSmlAgentBase15DoOutsideCancelEv @ 49 NONAME
-	_ZN14CNSmlAgentBase15ReceivingStateLEv @ 50 NONAME
-	_ZN14CNSmlAgentBase15StatusReferenceEv @ 51 NONAME
-	_ZN14CNSmlAgentBase15smlCopyCmdFuncLEP13sml_generic_s @ 52 NONAME
-	_ZN14CNSmlAgentBase15smlExecCmdFuncLEP10sml_exec_s @ 53 NONAME
-	_ZN14CNSmlAgentBase15smlMoveCmdFuncLEP13sml_generic_s @ 54 NONAME
-	_ZN14CNSmlAgentBase17FreeBaseResourcesEv @ 55 NONAME
-	_ZN14CNSmlAgentBase17ResultAlertStateLEv @ 56 NONAME
-	_ZN14CNSmlAgentBase17smlDeleteCmdFuncLEP13sml_generic_s @ 57 NONAME
-	_ZN14CNSmlAgentBase17smlSearchCmdFuncLEP12sml_search_s @ 58 NONAME
-	_ZN14CNSmlAgentBase18smlReplaceCmdFuncLEP13sml_generic_s @ 59 NONAME
-	_ZN14CNSmlAgentBase20SetOffCallbackCalledEv @ 60 NONAME
-	_ZN14CNSmlAgentBase21ClientAlertNextStateLEv @ 61 NONAME
-	_ZN14CNSmlAgentBase21ServerAlertNextStateLEv @ 62 NONAME
-	_ZN14CNSmlAgentBase22DataUpdateStatusStateLEv @ 63 NONAME
-	_ZN14CNSmlAgentBase23ServerModAlertCmdStateLEP11sml_alert_s @ 64 NONAME
-	_ZN14CNSmlAgentBase24ServerModStatusCmdStateLEP12sml_status_s @ 65 NONAME
-	_ZN14CNSmlAgentBase24SetEndOfDataAlertRequestEv @ 66 NONAME
-	_ZN14CNSmlAgentBase25ServerModEndMessageStateLEi @ 67 NONAME
-	_ZN14CNSmlAgentBase26AuthenticationRequirementLERK23CNSmlResponseControlleri @ 68 NONAME
-	_ZN14CNSmlAgentBase26ClientInitialisationStateLEv @ 69 NONAME
-	_ZN14CNSmlAgentBase26InitAskingDeviceInfoStateLEv @ 70 NONAME
-	_ZN14CNSmlAgentBase27ServerModStartMessageStateLEP14sml_sync_hdr_s @ 71 NONAME
-	_ZN14CNSmlAgentBase28CheckStatusCodesAreReceivedLEi @ 72 NONAME
-	_ZN14CNSmlAgentBase29InitStartingMessageStateBaseLEv @ 73 NONAME
-	_ZN14CNSmlAgentBase29ServerAlertNextAlertCmdStateLEP11sml_alert_s @ 74 NONAME
-	_ZN14CNSmlAgentBase30ClientAlertNextMakingMapStateLEv @ 75 NONAME
-	_ZN14CNSmlAgentBase30ServerAlertNextStatusCmdStateLEP12sml_status_s @ 76 NONAME
-	_ZN14CNSmlAgentBase31DataUpdateStatusMakingMapStateLEv @ 77 NONAME
-	_ZN14CNSmlAgentBase31ServerAlertNextEndMessageStateLEi @ 78 NONAME
-	_ZN14CNSmlAgentBase33ServerAlertNextStartMessageStateLEP14sml_sync_hdr_s @ 79 NONAME
-	_ZN14CNSmlAgentBase35DataUpdateStatusMakingResultsStateLEv @ 80 NONAME
-	_ZN14CNSmlAgentBase41DataUpdateStatusStartingMessageStateBaseLEv @ 81 NONAME
-	_ZN14CNSmlAgentBase4RunLEv @ 82 NONAME
-	_ZN14CNSmlAgentBase7SyncLogEv @ 83 NONAME
-	_ZN14CNSmlAgentBase8DoCancelEv @ 84 NONAME
-	_ZN14CNSmlAgentBaseC2Ev @ 85 NONAME
-	_ZN14CNSmlAgentBaseD0Ev @ 86 NONAME
-	_ZN14CNSmlAgentBaseD1Ev @ 87 NONAME
-	_ZN14CNSmlAgentBaseD2Ev @ 88 NONAME
-	_ZN14CNSmlPhoneInfo10SwVersionLEv @ 89 NONAME
-	_ZN14CNSmlPhoneInfo4NewLEv @ 90 NONAME
-	_ZN14CNSmlPhoneInfo5NewLCEv @ 91 NONAME
-	_ZN20CNSmlStatusContainer10SetCmdRefLEiPK12sml_pcdata_s @ 92 NONAME
-	_ZN20CNSmlStatusContainer12AddItemDataLEiPK12sml_pcdata_s @ 93 NONAME
-	_ZN20CNSmlStatusContainer13AddSourceRefLEiPK12sml_source_s @ 94 NONAME
-	_ZN20CNSmlStatusContainer13AddTargetRefLEiPK12sml_target_s @ 95 NONAME
-	_ZN20CNSmlStatusContainer13SetNoResponseEii @ 96 NONAME
-	_ZN20CNSmlStatusContainer14SetStatusCodeLEiii @ 97 NONAME
-	_ZN20CNSmlStatusContainer17NextStatusElementERP12sml_status_si @ 98 NONAME
-	_ZN20CNSmlStatusContainer20SetPerformedInAtomicEi @ 99 NONAME
-	_ZN20CNSmlStatusContainer21SetAtomicOrSequenceIdEii @ 100 NONAME
-	_ZN20CNSmlStatusContainer23CreateNewStatusElementLEv @ 101 NONAME
-	_ZN20CNSmlStatusContainer23SetStatusCodesInAtomicLEiii @ 102 NONAME
-	_ZN20CNSmlStatusContainer35SetStatusCodeToAtomicOrSequenceCmdLEiiRK6TDesC8 @ 103 NONAME
-	_ZN20CNSmlStatusContainer5BeginEv @ 104 NONAME
-	_ZN20CNSmlStatusContainer7SetCmdLEiRK6TDesC8 @ 105 NONAME
-	_ZN20NSmlUnicodeConverter14HBufC8InUTF8LCERK7TDesC16RP6HBufC8 @ 106 NONAME
-	_ZN20NSmlUnicodeConverter17HBufC16InUnicodeLERK6TDesC8RP7HBufC16 @ 107 NONAME
-	_ZN20NSmlUnicodeConverter18HBufC16InUnicodeLCERK6TDesC8RP7HBufC16 @ 108 NONAME
-	_ZN21CNSmlResultsContainer11SetStatusIDEii @ 109 NONAME
-	_ZN21CNSmlResultsContainer13RemoveWrittenEi @ 110 NONAME
-	_ZN21CNSmlResultsContainer17CreateNewResultsLERK6TDesC8S2_PK12sml_target_sPK12sml_source_s @ 111 NONAME
-	_ZN21CNSmlResultsContainer18NextResultsElementERP13sml_results_s @ 112 NONAME
-	_ZN21CNSmlResultsContainer5BeginEv @ 113 NONAME
-	_ZN21CNSmlResultsContainer8AddItemLEiRK8CBufBaseRK6TDesC8S5_ @ 114 NONAME
-	_ZN21CNSmlResultsContainer9SetCmdIDLEiPK12sml_pcdata_s @ 115 NONAME
-	_ZN23CNSmlResponseController11SetAppIndexEii @ 116 NONAME
-	_ZN23CNSmlResponseController11SetMoreDataEi @ 117 NONAME
-	_ZN23CNSmlResponseController17SetResponseDetailEiNS_15TResponseDetailE @ 118 NONAME
-	_ZN23CNSmlResponseController6ResetLEv @ 119 NONAME
-	_ZN23CNSmlResponseController8SetLUIDLEiRK6TDesC8 @ 120 NONAME
-	_ZN8CNSmlURI12SetDatabaseLERK6TDesC8i @ 121 NONAME
-	_ZN8CNSmlURI12SetDatabaseLERK7TDesC16i @ 122 NONAME
-	_ZN8CNSmlURI12SetHostNameLERK6TDesC8i @ 123 NONAME
-	_ZN8CNSmlURI12SetHostNameLERK7TDesC16i @ 124 NONAME
-	_ZN8CNSmlURI16DatabaseMatchesLERK7TDesC16 @ 125 NONAME
-	_ZN8CNSmlURI17HostNameWithPortLEi @ 126 NONAME
-	_ZN8CNSmlURI21HostNameInUTF8AllocLCEv @ 127 NONAME
-	_ZN8CNSmlURI21SyncMLDatabaseAllocLCEv @ 128 NONAME
-	_ZN8CNSmlURI29DataBaseWithoutRelativePrefixEv @ 129 NONAME
-	_ZN8CNSmlURI4NewLERK6TDesC8i @ 130 NONAME
-	_ZN8CNSmlURI4NewLERK7TDesC16i @ 131 NONAME
-	_ZN8CNSmlURI4NewLEv @ 132 NONAME
-	_ZN8CNSmlURI5NewLCERK6TDesC8i @ 133 NONAME
-	_ZN8CNSmlURI5NewLCERK7TDesC16i @ 134 NONAME
-	_ZN8CNSmlURI5NewLCEv @ 135 NONAME
-	_ZN8CNSmlURI7SetPortEi @ 136 NONAME
-	_ZN8CNSmlURI8DatabaseEv @ 137 NONAME
-	_ZN8CNSmlURI8HostNameEv @ 138 NONAME
-	_ZN8CNSmlURI8IsEqualLERKS_i @ 139 NONAME
-	_ZN8CNSmlURIaSERKS_ @ 140 NONAME
-	_ZN9CNSmlAuth12SetSyncAgentEP14CNSmlAgentBase @ 141 NONAME
-	_ZN9CNSmlAuth14SetCredentialLERK6TDesC8 @ 142 NONAME
-	_ZN9CNSmlAuth16SetAuthRequiredLEv @ 143 NONAME
-	_ZN9CNSmlAuth4NewLEv @ 144 NONAME
-	_ZNK13CNSmlCmdsBase10BusyStatusEv @ 145 NONAME
-	_ZNK13CNSmlCmdsBase10DoAnchorsLER19sml_metinf_metinf_sPK6TDesC8S4_ @ 146 NONAME
-	_ZNK13CNSmlCmdsBase10DoMetInfLCERP19sml_metinf_metinf_s @ 147 NONAME
-	_ZNK13CNSmlCmdsBase10MetaTypeLCEPK12sml_pcdata_s @ 148 NONAME
-	_ZNK13CNSmlCmdsBase10PcdataNewLERP12sml_pcdata_sRK6TDesC8 @ 149 NONAME
-	_ZNK13CNSmlCmdsBase10ServerAuthEv @ 150 NONAME
-	_ZNK13CNSmlCmdsBase13DoMaxObjSizeLER19sml_metinf_metinf_si @ 151 NONAME
-	_ZNK13CNSmlCmdsBase15StatusContainerEv @ 152 NONAME
-	_ZNK13CNSmlCmdsBase16MetaTypeInUtf8LCEPK12sml_pcdata_s @ 153 NONAME
-	_ZNK13CNSmlCmdsBase16ResultsContainerEv @ 154 NONAME
-	_ZNK13CNSmlCmdsBase16ServerMaxObjSizeEPK12sml_pcdata_s @ 155 NONAME
-	_ZNK13CNSmlCmdsBase16ServerObjectSizeEPK12sml_pcdata_s @ 156 NONAME
-	_ZNK13CNSmlCmdsBase17PCDATAToUnicodeLCERK12sml_pcdata_sRP7HBufC16 @ 157 NONAME
-	_ZNK13CNSmlCmdsBase17SourceIsUnderItemEPK15sml_item_list_s @ 158 NONAME
-	_ZNK13CNSmlCmdsBase17TargetIsUnderItemEPK15sml_item_list_s @ 159 NONAME
-	_ZNK13CNSmlCmdsBase18MetaFormatInUtf8LCEPK12sml_pcdata_s @ 160 NONAME
-	_ZNK13CNSmlCmdsBase18ResponseControllerEv @ 161 NONAME
-	_ZNK13CNSmlCmdsBase19EndOfServerMessageLEv @ 162 NONAME
-	_ZNK13CNSmlCmdsBase21TrimRightSpaceAndNullER5TDes8 @ 163 NONAME
-	_ZNK13CNSmlCmdsBase21WriteMappingInfoToDbLEv @ 164 NONAME
-	_ZNK13CNSmlCmdsBase23WaitingLargeObjectChunkEv @ 165 NONAME
-	_ZNK13CNSmlCmdsBase7DoMetaLERP12sml_pcdata_sPK19sml_metinf_metinf_s @ 166 NONAME
-	_ZNK13CNSmlCmdsBase7RespURIEv @ 167 NONAME
-	_ZNK13CNSmlCmdsBase9AlertCodeEP11sml_alert_s @ 168 NONAME
-	_ZNK13CNSmlCmdsBase9DoSourceLERP12sml_source_sRK6TDesC8 @ 169 NONAME
-	_ZNK13CNSmlCmdsBase9DoSourceLERP12sml_source_sRK7TDesC16 @ 170 NONAME
-	_ZNK13CNSmlCmdsBase9DoSourceLERP12sml_source_sRK7TDesC16S5_ @ 171 NONAME
-	_ZNK13CNSmlCmdsBase9DoTargetLERP12sml_target_sRK7TDesC16 @ 172 NONAME
-	_ZNK13CNSmlCmdsBase9DoTargetLERP12sml_target_sRK7TDesC16S5_ @ 173 NONAME
-	_ZNK13CNSmlCmdsBase9IsFlagSetERKjS1_ @ 174 NONAME
-	_ZNK14CNSmlAgentBase12SaveIfNonceLERK23CNSmlResponseControlleri @ 175 NONAME
-	_ZNK14CNSmlAgentBase14CallbackCalledEv @ 176 NONAME
-	_ZNK14CNSmlAgentBase14ServerPasswordEv @ 177 NONAME
-	_ZNK14CNSmlAgentBase14ServerUserNameEv @ 178 NONAME
-	_ZNK14CNSmlAgentBase15SetServerNonceLERK7TDesC16 @ 179 NONAME
-	_ZNK14CNSmlAgentBase17ServerNonceAllocLEv @ 180 NONAME
-	_ZNK14CNSmlAgentBase9ProfileIdEv @ 181 NONAME
-	_ZNK14CNSmlPhoneInfo10PhoneDataLENS_12TPhoneIdTypeER6TDes16 @ 182 NONAME
-	_ZNK20CNSmlStatusContainer11LastEntryIDEv @ 183 NONAME
-	_ZNK21CNSmlResultsContainer10AnyResultsEv @ 184 NONAME
-	_ZNK21CNSmlResultsContainer14CurrentEntryIDEv @ 185 NONAME
-	_ZNK21CNSmlResultsContainer8StatusIDEi @ 186 NONAME
-	_ZNK23CNSmlResponseController10StatusCodeEi @ 187 NONAME
-	_ZNK23CNSmlResponseController14ResponseDetailEi @ 188 NONAME
-	_ZNK23CNSmlResponseController3CmdEi @ 189 NONAME
-	_ZNK23CNSmlResponseController4LUIDEi @ 190 NONAME
-	_ZNK23CNSmlResponseController7EntryIDEii @ 191 NONAME
-	_ZNK23CNSmlResponseController8AppIndexEi @ 192 NONAME
-	_ZNK23CNSmlResponseController8ChalTypeEi @ 193 NONAME
-	_ZNK23CNSmlResponseController8MoreDataEi @ 194 NONAME
-	_ZNK9CNSmlAuth10ChallengedEv @ 195 NONAME
-	_ZTI10TNSmlError @ 196 NONAME ; #<TI>#
-	_ZTI13CNSmlCmdsBase @ 197 NONAME ; #<TI>#
-	_ZTI14CNSmlAgentBase @ 198 NONAME ; #<TI>#
-	_ZTI14CNSmlPhoneInfo @ 199 NONAME ; #<TI>#
-	_ZTI20CNSmlStatusContainer @ 200 NONAME ; #<TI>#
-	_ZTI21CNSmlResultsContainer @ 201 NONAME ; #<TI>#
-	_ZTI23CNSmlResponseController @ 202 NONAME ; #<TI>#
-	_ZTI8CNSmlURI @ 203 NONAME ; #<TI>#
-	_ZTI9CNSmlAuth @ 204 NONAME ; #<TI>#
-	_ZTV10TNSmlError @ 205 NONAME ; #<VT>#
-	_ZTV13CNSmlCmdsBase @ 206 NONAME ; #<VT>#
-	_ZTV14CNSmlAgentBase @ 207 NONAME ; #<VT>#
-	_ZTV14CNSmlPhoneInfo @ 208 NONAME ; #<VT>#
-	_ZTV20CNSmlStatusContainer @ 209 NONAME ; #<VT>#
-	_ZTV21CNSmlResultsContainer @ 210 NONAME ; #<VT>#
-	_ZTV23CNSmlResponseController @ 211 NONAME ; #<VT>#
-	_ZTV8CNSmlURI @ 212 NONAME ; #<VT>#
-	_ZTV9CNSmlAuth @ 213 NONAME ; #<VT>#
-	_ZThn28_N14CNSmlAgentBase14smlAddCmdFuncLEP13sml_generic_s @ 214 NONAME ; #<thunk>#
-	_ZThn28_N14CNSmlAgentBase14smlMapCmdFuncLEP9sml_map_s @ 215 NONAME ; #<thunk>#
-	_ZThn28_N14CNSmlAgentBase15smlCopyCmdFuncLEP13sml_generic_s @ 216 NONAME ; #<thunk>#
-	_ZThn28_N14CNSmlAgentBase15smlExecCmdFuncLEP10sml_exec_s @ 217 NONAME ; #<thunk>#
-	_ZThn28_N14CNSmlAgentBase15smlMoveCmdFuncLEP13sml_generic_s @ 218 NONAME ; #<thunk>#
-	_ZThn28_N14CNSmlAgentBase17smlDeleteCmdFuncLEP13sml_generic_s @ 219 NONAME ; #<thunk>#
-	_ZThn28_N14CNSmlAgentBase17smlSearchCmdFuncLEP12sml_search_s @ 220 NONAME ; #<thunk>#
-	_ZThn28_N14CNSmlAgentBase18smlReplaceCmdFuncLEP13sml_generic_s @ 221 NONAME ; #<thunk>#
-	_ZN14CNSmlAgentBase18LaunchAutoRestartLEi @ 222 NONAME
-	_ZN14CNSmlAgentBase18CheckAPBearerTypeLEm @ 223 NONAME
-	_ZN13CNSmlCmdsBase15DoGenericAlertLERK6TDesC8RK6RArrayI16CNSmlDMAlertItemE @ 224 NONAME
-	_ZNK13CNSmlCmdsBase9DoTargetLERP12sml_target_sRK6TDesC8 @ 225 NONAME
+	_ZN13CNSmlCmdsBase15DoGenericAlertLERK6TDesC8RK6RArrayI16CNSmlDMAlertItemE @ 13 NONAME
+	_ZN13CNSmlCmdsBase15DoGenericAlertLERK6TDesC8S2_S2_iS2_ @ 14 NONAME
+	_ZN13CNSmlCmdsBase15ProcessCopyCmdLEP13sml_generic_s @ 15 NONAME
+	_ZN13CNSmlCmdsBase15ProcessExecCmdLEP10sml_exec_s @ 16 NONAME
+	_ZN13CNSmlCmdsBase15ProcessSyncHdrLEP14sml_sync_hdr_s @ 17 NONAME
+	_ZN13CNSmlCmdsBase17ProcessSearchCmdLEP12sml_search_s @ 18 NONAME
+	_ZN13CNSmlCmdsBase17ProcessStatusCmdLEP12sml_status_s @ 19 NONAME
+	_ZN13CNSmlCmdsBase18MarkGenAlertsSentLERK6TDesC8 @ 20 NONAME
+	_ZN13CNSmlCmdsBase18MarkGenAlertsSentLEv @ 21 NONAME
+	_ZN13CNSmlCmdsBase19DoGenericUserAlertLEi @ 22 NONAME
+	_ZN13CNSmlCmdsBase20CloseIDMappingTableLEv @ 23 NONAME
+	_ZN13CNSmlCmdsBase20FetchIDMappingTableLEi @ 24 NONAME
+	_ZN13CNSmlCmdsBase20ProcessReceivedDataLEv @ 25 NONAME
+	_ZN13CNSmlCmdsBase20StatusDataToCommandLERK6TDesC8PK12sml_pcdata_sjPK10sml_item_sN10TNSmlError21TNSmlSyncMLStatusCodeEPS1_ @ 26 NONAME
+	_ZN13CNSmlCmdsBase21BufferAreaForParsingLEv @ 27 NONAME
+	_ZN13CNSmlCmdsBase21DeleteIDMappingTableLERK7TDesC16S2_ @ 28 NONAME
+	_ZN13CNSmlCmdsBase22ResetGenericUserAlertLEv @ 29 NONAME
+	_ZN13CNSmlCmdsBase22ResetLargeObjectBufferEv @ 30 NONAME
+	_ZN13CNSmlCmdsBase23SetMaximumWorkspaceSizeEi @ 31 NONAME
+	_ZN13CNSmlCmdsBase23StatusDataToGetCommandLEPK13sml_get_put_sPK10sml_item_sN10TNSmlError21TNSmlSyncMLStatusCodeEPK6TDesC8 @ 32 NONAME
+	_ZN13CNSmlCmdsBase26CreateAndInitResponseItemLERK6TDesC8 @ 33 NONAME
+	_ZN13CNSmlCmdsBase26DisconnectFromOtherServersEv @ 34 NONAME
+	_ZN13CNSmlCmdsBase26SubtractConsumedFromPcDataERP10sml_item_si @ 35 NONAME
+	_ZN13CNSmlCmdsBase27StatusDataToGenericCommandLERK6TDesC8PK13sml_generic_sPK10sml_item_sN10TNSmlError21TNSmlSyncMLStatusCodeEPS1_ @ 36 NONAME
+	_ZN13CNSmlCmdsBase27StatusToUnsupportedCommandLEiRK6TDesC8PK12sml_pcdata_sj @ 37 NONAME
+	_ZN13CNSmlCmdsBase8DoCmdIdLERP12sml_pcdata_s @ 38 NONAME
+	_ZN13CNSmlCmdsBase9DoStatusLEP12sml_status_s @ 39 NONAME
+	_ZN13CNSmlCmdsBase9MoreDataLEPK6HBufC8PK10sml_item_sPK12sml_pcdata_sRP8CBufBase @ 40 NONAME
+	_ZN13CNSmlCmdsBaseC2Ev @ 41 NONAME
+	_ZN13CNSmlCmdsBaseD0Ev @ 42 NONAME
+	_ZN13CNSmlCmdsBaseD1Ev @ 43 NONAME
+	_ZN13CNSmlCmdsBaseD2Ev @ 44 NONAME
+	_ZN14CNSmlAgentBase10ConstructLEv @ 45 NONAME
+	_ZN14CNSmlAgentBase13SendingStateLEv @ 46 NONAME
+	_ZN14CNSmlAgentBase14smlAddCmdFuncLEP13sml_generic_s @ 47 NONAME
+	_ZN14CNSmlAgentBase14smlMapCmdFuncLEP9sml_map_s @ 48 NONAME
+	_ZN14CNSmlAgentBase15BeginningStateLEv @ 49 NONAME
+	_ZN14CNSmlAgentBase15DoOutsideCancelEv @ 50 NONAME
+	_ZN14CNSmlAgentBase15ReceivingStateLEv @ 51 NONAME
+	_ZN14CNSmlAgentBase15StatusReferenceEv @ 52 NONAME
+	_ZN14CNSmlAgentBase15smlCopyCmdFuncLEP13sml_generic_s @ 53 NONAME
+	_ZN14CNSmlAgentBase15smlExecCmdFuncLEP10sml_exec_s @ 54 NONAME
+	_ZN14CNSmlAgentBase15smlMoveCmdFuncLEP13sml_generic_s @ 55 NONAME
+	_ZN14CNSmlAgentBase17FreeBaseResourcesEv @ 56 NONAME
+	_ZN14CNSmlAgentBase17ResultAlertStateLEv @ 57 NONAME
+	_ZN14CNSmlAgentBase17smlDeleteCmdFuncLEP13sml_generic_s @ 58 NONAME
+	_ZN14CNSmlAgentBase17smlSearchCmdFuncLEP12sml_search_s @ 59 NONAME
+	_ZN14CNSmlAgentBase18LaunchAutoRestartLEi @ 60 NONAME
+	_ZN14CNSmlAgentBase18smlReplaceCmdFuncLEP13sml_generic_s @ 61 NONAME
+	_ZN14CNSmlAgentBase20SetOffCallbackCalledEv @ 62 NONAME
+	_ZN14CNSmlAgentBase21ClientAlertNextStateLEv @ 63 NONAME
+	_ZN14CNSmlAgentBase21ServerAlertNextStateLEv @ 64 NONAME
+	_ZN14CNSmlAgentBase22DataUpdateStatusStateLEv @ 65 NONAME
+	_ZN14CNSmlAgentBase23ServerModAlertCmdStateLEP11sml_alert_s @ 66 NONAME
+	_ZN14CNSmlAgentBase24ServerModStatusCmdStateLEP12sml_status_s @ 67 NONAME
+	_ZN14CNSmlAgentBase24SetEndOfDataAlertRequestEv @ 68 NONAME
+	_ZN14CNSmlAgentBase25ServerModEndMessageStateLEi @ 69 NONAME
+	_ZN14CNSmlAgentBase26AuthenticationRequirementLERK23CNSmlResponseControlleri @ 70 NONAME
+	_ZN14CNSmlAgentBase26ClientInitialisationStateLEv @ 71 NONAME
+	_ZN14CNSmlAgentBase26InitAskingDeviceInfoStateLEv @ 72 NONAME
+	_ZN14CNSmlAgentBase27ServerModStartMessageStateLEP14sml_sync_hdr_s @ 73 NONAME
+	_ZN14CNSmlAgentBase28CheckStatusCodesAreReceivedLEi @ 74 NONAME
+	_ZN14CNSmlAgentBase29InitStartingMessageStateBaseLEv @ 75 NONAME
+	_ZN14CNSmlAgentBase29ServerAlertNextAlertCmdStateLEP11sml_alert_s @ 76 NONAME
+	_ZN14CNSmlAgentBase30ClientAlertNextMakingMapStateLEv @ 77 NONAME
+	_ZN14CNSmlAgentBase30ServerAlertNextStatusCmdStateLEP12sml_status_s @ 78 NONAME
+	_ZN14CNSmlAgentBase31DataUpdateStatusMakingMapStateLEv @ 79 NONAME
+	_ZN14CNSmlAgentBase31ServerAlertNextEndMessageStateLEi @ 80 NONAME
+	_ZN14CNSmlAgentBase33ServerAlertNextStartMessageStateLEP14sml_sync_hdr_s @ 81 NONAME
+	_ZN14CNSmlAgentBase35DataUpdateStatusMakingResultsStateLEv @ 82 NONAME
+	_ZN14CNSmlAgentBase41DataUpdateStatusStartingMessageStateBaseLEv @ 83 NONAME
+	_ZN14CNSmlAgentBase4RunLEv @ 84 NONAME
+	_ZN14CNSmlAgentBase7SyncLogEv @ 85 NONAME
+	_ZN14CNSmlAgentBase8DoCancelEv @ 86 NONAME
+	_ZN14CNSmlAgentBaseC2Ev @ 87 NONAME
+	_ZN14CNSmlAgentBaseD0Ev @ 88 NONAME
+	_ZN14CNSmlAgentBaseD1Ev @ 89 NONAME
+	_ZN14CNSmlAgentBaseD2Ev @ 90 NONAME
+	_ZN14CNSmlPhoneInfo10SwVersionLEv @ 91 NONAME
+	_ZN14CNSmlPhoneInfo4NewLEv @ 92 NONAME
+	_ZN14CNSmlPhoneInfo5NewLCEv @ 93 NONAME
+	_ZN20CNSmlStatusContainer10SetCmdRefLEiPK12sml_pcdata_s @ 94 NONAME
+	_ZN20CNSmlStatusContainer12AddItemDataLEiPK12sml_pcdata_s @ 95 NONAME
+	_ZN20CNSmlStatusContainer13AddSourceRefLEiPK12sml_source_s @ 96 NONAME
+	_ZN20CNSmlStatusContainer13AddTargetRefLEiPK12sml_target_s @ 97 NONAME
+	_ZN20CNSmlStatusContainer13SetNoResponseEii @ 98 NONAME
+	_ZN20CNSmlStatusContainer14SetStatusCodeLEiii @ 99 NONAME
+	_ZN20CNSmlStatusContainer17NextStatusElementERP12sml_status_si @ 100 NONAME
+	_ZN20CNSmlStatusContainer20SetPerformedInAtomicEi @ 101 NONAME
+	_ZN20CNSmlStatusContainer21SetAtomicOrSequenceIdEii @ 102 NONAME
+	_ZN20CNSmlStatusContainer23CreateNewStatusElementLEv @ 103 NONAME
+	_ZN20CNSmlStatusContainer23SetStatusCodesInAtomicLEiii @ 104 NONAME
+	_ZN20CNSmlStatusContainer35SetStatusCodeToAtomicOrSequenceCmdLEiiRK6TDesC8 @ 105 NONAME
+	_ZN20CNSmlStatusContainer5BeginEv @ 106 NONAME
+	_ZN20CNSmlStatusContainer7SetCmdLEiRK6TDesC8 @ 107 NONAME
+	_ZN20NSmlUnicodeConverter14HBufC8InUTF8LCERK7TDesC16RP6HBufC8 @ 108 NONAME
+	_ZN20NSmlUnicodeConverter17HBufC16InUnicodeLERK6TDesC8RP7HBufC16 @ 109 NONAME
+	_ZN20NSmlUnicodeConverter18HBufC16InUnicodeLCERK6TDesC8RP7HBufC16 @ 110 NONAME
+	_ZN21CNSmlResultsContainer11SetStatusIDEii @ 111 NONAME
+	_ZN21CNSmlResultsContainer13RemoveWrittenEi @ 112 NONAME
+	_ZN21CNSmlResultsContainer17CreateNewResultsLERK6TDesC8S2_PK12sml_target_sPK12sml_source_s @ 113 NONAME
+	_ZN21CNSmlResultsContainer18NextResultsElementERP13sml_results_s @ 114 NONAME
+	_ZN21CNSmlResultsContainer5BeginEv @ 115 NONAME
+	_ZN21CNSmlResultsContainer8AddItemLEiRK8CBufBaseRK6TDesC8S5_ @ 116 NONAME
+	_ZN21CNSmlResultsContainer9SetCmdIDLEiPK12sml_pcdata_s @ 117 NONAME
+	_ZN23CNSmlResponseController11SetAppIndexEii @ 118 NONAME
+	_ZN23CNSmlResponseController11SetMoreDataEi @ 119 NONAME
+	_ZN23CNSmlResponseController17SetResponseDetailEiNS_15TResponseDetailE @ 120 NONAME
+	_ZN23CNSmlResponseController6ResetLEv @ 121 NONAME
+	_ZN23CNSmlResponseController8SetLUIDLEiRK6TDesC8 @ 122 NONAME
+	_ZN8CNSmlURI12SetDatabaseLERK6TDesC8i @ 123 NONAME
+	_ZN8CNSmlURI12SetDatabaseLERK7TDesC16i @ 124 NONAME
+	_ZN8CNSmlURI12SetHostNameLERK6TDesC8i @ 125 NONAME
+	_ZN8CNSmlURI12SetHostNameLERK7TDesC16i @ 126 NONAME
+	_ZN8CNSmlURI16DatabaseMatchesLERK7TDesC16 @ 127 NONAME
+	_ZN8CNSmlURI17HostNameWithPortLEi @ 128 NONAME
+	_ZN8CNSmlURI21HostNameInUTF8AllocLCEv @ 129 NONAME
+	_ZN8CNSmlURI21SyncMLDatabaseAllocLCEv @ 130 NONAME
+	_ZN8CNSmlURI29DataBaseWithoutRelativePrefixEv @ 131 NONAME
+	_ZN8CNSmlURI4NewLERK6TDesC8i @ 132 NONAME
+	_ZN8CNSmlURI4NewLERK7TDesC16i @ 133 NONAME
+	_ZN8CNSmlURI4NewLEv @ 134 NONAME
+	_ZN8CNSmlURI5NewLCERK6TDesC8i @ 135 NONAME
+	_ZN8CNSmlURI5NewLCERK7TDesC16i @ 136 NONAME
+	_ZN8CNSmlURI5NewLCEv @ 137 NONAME
+	_ZN8CNSmlURI7SetPortEi @ 138 NONAME
+	_ZN8CNSmlURI8DatabaseEv @ 139 NONAME
+	_ZN8CNSmlURI8HostNameEv @ 140 NONAME
+	_ZN8CNSmlURI8IsEqualLERKS_i @ 141 NONAME
+	_ZN8CNSmlURIaSERKS_ @ 142 NONAME
+	_ZN9CNSmlAuth12SetSyncAgentEP14CNSmlAgentBase @ 143 NONAME
+	_ZN9CNSmlAuth14SetCredentialLERK6TDesC8 @ 144 NONAME
+	_ZN9CNSmlAuth16SetAuthRequiredLEv @ 145 NONAME
+	_ZN9CNSmlAuth4NewLEv @ 146 NONAME
+	_ZNK13CNSmlCmdsBase10BusyStatusEv @ 147 NONAME
+	_ZNK13CNSmlCmdsBase10DoAnchorsLER19sml_metinf_metinf_sPK6TDesC8S4_ @ 148 NONAME
+	_ZNK13CNSmlCmdsBase10DoMetInfLCERP19sml_metinf_metinf_s @ 149 NONAME
+	_ZNK13CNSmlCmdsBase10MetaTypeLCEPK12sml_pcdata_s @ 150 NONAME
+	_ZNK13CNSmlCmdsBase10PcdataNewLERP12sml_pcdata_sRK6TDesC8 @ 151 NONAME
+	_ZNK13CNSmlCmdsBase10ServerAuthEv @ 152 NONAME
+	_ZNK13CNSmlCmdsBase13DoMaxObjSizeLER19sml_metinf_metinf_si @ 153 NONAME
+	_ZNK13CNSmlCmdsBase15StatusContainerEv @ 154 NONAME
+	_ZNK13CNSmlCmdsBase16MetaTypeInUtf8LCEPK12sml_pcdata_s @ 155 NONAME
+	_ZNK13CNSmlCmdsBase16ResultsContainerEv @ 156 NONAME
+	_ZNK13CNSmlCmdsBase16ServerMaxObjSizeEPK12sml_pcdata_s @ 157 NONAME
+	_ZNK13CNSmlCmdsBase16ServerObjectSizeEPK12sml_pcdata_s @ 158 NONAME
+	_ZNK13CNSmlCmdsBase17PCDATAToUnicodeLCERK12sml_pcdata_sRP7HBufC16 @ 159 NONAME
+	_ZNK13CNSmlCmdsBase17SourceIsUnderItemEPK15sml_item_list_s @ 160 NONAME
+	_ZNK13CNSmlCmdsBase17TargetIsUnderItemEPK15sml_item_list_s @ 161 NONAME
+	_ZNK13CNSmlCmdsBase18MetaFormatInUtf8LCEPK12sml_pcdata_s @ 162 NONAME
+	_ZNK13CNSmlCmdsBase18ResponseControllerEv @ 163 NONAME
+	_ZNK13CNSmlCmdsBase19EndOfServerMessageLEv @ 164 NONAME
+	_ZNK13CNSmlCmdsBase21TrimRightSpaceAndNullER5TDes8 @ 165 NONAME
+	_ZNK13CNSmlCmdsBase21WriteMappingInfoToDbLEv @ 166 NONAME
+	_ZNK13CNSmlCmdsBase23WaitingLargeObjectChunkEv @ 167 NONAME
+	_ZNK13CNSmlCmdsBase7DoMetaLERP12sml_pcdata_sPK19sml_metinf_metinf_s @ 168 NONAME
+	_ZNK13CNSmlCmdsBase7RespURIEv @ 169 NONAME
+	_ZNK13CNSmlCmdsBase9AlertCodeEP11sml_alert_s @ 170 NONAME
+	_ZNK13CNSmlCmdsBase9DoSourceLERP12sml_source_sRK6TDesC8 @ 171 NONAME
+	_ZNK13CNSmlCmdsBase9DoSourceLERP12sml_source_sRK7TDesC16 @ 172 NONAME
+	_ZNK13CNSmlCmdsBase9DoSourceLERP12sml_source_sRK7TDesC16S5_ @ 173 NONAME
+	_ZNK13CNSmlCmdsBase9DoTargetLERP12sml_target_sRK6TDesC8 @ 174 NONAME
+	_ZNK13CNSmlCmdsBase9DoTargetLERP12sml_target_sRK7TDesC16 @ 175 NONAME
+	_ZNK13CNSmlCmdsBase9DoTargetLERP12sml_target_sRK7TDesC16S5_ @ 176 NONAME
+	_ZNK13CNSmlCmdsBase9IsFlagSetERKjS1_ @ 177 NONAME
+	_ZNK14CNSmlAgentBase12SaveIfNonceLERK23CNSmlResponseControlleri @ 178 NONAME
+	_ZNK14CNSmlAgentBase14CallbackCalledEv @ 179 NONAME
+	_ZNK14CNSmlAgentBase14ServerPasswordEv @ 180 NONAME
+	_ZNK14CNSmlAgentBase14ServerUserNameEv @ 181 NONAME
+	_ZNK14CNSmlAgentBase15SetServerNonceLERK7TDesC16 @ 182 NONAME
+	_ZNK14CNSmlAgentBase17ServerNonceAllocLEv @ 183 NONAME
+	_ZNK14CNSmlAgentBase9ProfileIdEv @ 184 NONAME
+	_ZNK14CNSmlPhoneInfo10PhoneDataLENS_12TPhoneIdTypeER6TDes16 @ 185 NONAME
+	_ZNK20CNSmlStatusContainer11LastEntryIDEv @ 186 NONAME
+	_ZNK21CNSmlResultsContainer10AnyResultsEv @ 187 NONAME
+	_ZNK21CNSmlResultsContainer14CurrentEntryIDEv @ 188 NONAME
+	_ZNK21CNSmlResultsContainer8StatusIDEi @ 189 NONAME
+	_ZNK23CNSmlResponseController10StatusCodeEi @ 190 NONAME
+	_ZNK23CNSmlResponseController14ResponseDetailEi @ 191 NONAME
+	_ZNK23CNSmlResponseController3CmdEi @ 192 NONAME
+	_ZNK23CNSmlResponseController4LUIDEi @ 193 NONAME
+	_ZNK23CNSmlResponseController7EntryIDEii @ 194 NONAME
+	_ZNK23CNSmlResponseController8AppIndexEi @ 195 NONAME
+	_ZNK23CNSmlResponseController8ChalTypeEi @ 196 NONAME
+	_ZNK23CNSmlResponseController8MoreDataEi @ 197 NONAME
+	_ZNK9CNSmlAuth10ChallengedEv @ 198 NONAME
+	_ZTI10TNSmlError @ 199 NONAME
+	_ZTI13CNSmlCmdsBase @ 200 NONAME
+	_ZTI14CNSmlAgentBase @ 201 NONAME
+	_ZTI14CNSmlPhoneInfo @ 202 NONAME
+	_ZTI20CNSmlStatusContainer @ 203 NONAME
+	_ZTI21CNSmlResultsContainer @ 204 NONAME
+	_ZTI23CNSmlResponseController @ 205 NONAME
+	_ZTI8CNSmlURI @ 206 NONAME
+	_ZTI9CNSmlAuth @ 207 NONAME
+	_ZTV10TNSmlError @ 208 NONAME
+	_ZTV13CNSmlCmdsBase @ 209 NONAME
+	_ZTV14CNSmlAgentBase @ 210 NONAME
+	_ZTV14CNSmlPhoneInfo @ 211 NONAME
+	_ZTV20CNSmlStatusContainer @ 212 NONAME
+	_ZTV21CNSmlResultsContainer @ 213 NONAME
+	_ZTV23CNSmlResponseController @ 214 NONAME
+	_ZTV8CNSmlURI @ 215 NONAME
+	_ZTV9CNSmlAuth @ 216 NONAME
+	_ZThn28_N14CNSmlAgentBase14smlAddCmdFuncLEP13sml_generic_s @ 217 NONAME
+	_ZThn28_N14CNSmlAgentBase14smlMapCmdFuncLEP9sml_map_s @ 218 NONAME
+	_ZThn28_N14CNSmlAgentBase15smlCopyCmdFuncLEP13sml_generic_s @ 219 NONAME
+	_ZThn28_N14CNSmlAgentBase15smlExecCmdFuncLEP10sml_exec_s @ 220 NONAME
+	_ZThn28_N14CNSmlAgentBase15smlMoveCmdFuncLEP13sml_generic_s @ 221 NONAME
+	_ZThn28_N14CNSmlAgentBase17smlDeleteCmdFuncLEP13sml_generic_s @ 222 NONAME
+	_ZThn28_N14CNSmlAgentBase17smlSearchCmdFuncLEP12sml_search_s @ 223 NONAME
+	_ZThn28_N14CNSmlAgentBase18smlReplaceCmdFuncLEP13sml_generic_s @ 224 NONAME
 
--- a/syncmlfw/common/syncagent/bld/NSmlAgentCommon.mmp	Fri May 14 16:42:50 2010 +0300
+++ b/syncmlfw/common/syncagent/bld/NSmlAgentCommon.mmp	Thu May 27 13:43:36 2010 +0300
@@ -83,6 +83,7 @@
 LIBRARY         commdb.lib 
 LIBRARY         esock.lib 
 LIBRARY         apengine.lib
+LIBRARY         cmmanager.lib
 //RD_AUTO_RESTART
 
 SMPSAFE
--- a/syncmlfw/common/syncagent/inc/NSmlAgentBase.h	Fri May 14 16:42:50 2010 +0300
+++ b/syncmlfw/common/syncagent/inc/NSmlAgentBase.h	Thu May 27 13:43:36 2010 +0300
@@ -25,9 +25,6 @@
 #include "nsmlerror.h"
 #include "nsmlagenttestdefines.h"
 
-//Rnd_AutoRestart
-#include <ApEngineConsts.h>
-//Rnd_AutoRestart
 //DATA TYPES
 enum TNSmlSyncInitiation    
 	{		
@@ -86,7 +83,6 @@
 	IMPORT_C virtual void DoOutsideCancel();
 	//Rnd_AutoRestart
 	IMPORT_C virtual void LaunchAutoRestartL(TInt aError);
-	IMPORT_C TApBearerType CheckAPBearerTypeL( const TUint32 aIAPId );
 	void ReadAcessPointL();
 	//Rnd_AutoRestart
 	
@@ -360,7 +356,7 @@
 	//Rnd_AutoRestart
 	TBool iPacketDataUnAvailable;
 	TUint32 iNetmonAPId;
-	TApBearerType iNetmonAPBearerType;
+	TBool iAllowAutoRestart;
 	//Rnd_AutoRestart
 	
     protected:    // Data	
--- a/syncmlfw/common/syncagent/src/NSmlAgentBase.cpp	Fri May 14 16:42:50 2010 +0300
+++ b/syncmlfw/common/syncagent/src/NSmlAgentBase.cpp	Thu May 27 13:43:36 2010 +0300
@@ -49,10 +49,10 @@
 #include <es_sock.h> // RConnection RSocket
 #include <es_enum.h> // TConnectionInfo
 #include <commdb.h>
-#include <ApListItemList.h>
-#include <ApListItem.h>
-#include <ApSelect.h>
-#include <ApUtils.h>
+#include <cmconnectionmethoddef.h>
+#include <cmconnectionmethod.h>
+#include <cmmanager.h>
+#include <cmpluginwlandef.h>
 #include "nsmlhttp.h"
 
 //Fix to Remove the Bad Compiler Warnings
@@ -450,7 +450,7 @@
 	//Auto_Restart
     iPacketDataUnAvailable = EFalse;    
     iNetmonAPId = 0;
-    iNetmonAPBearerType = TApBearerType(-1);
+    iAllowAutoRestart = EFalse;
 	}
 
 
@@ -957,7 +957,6 @@
     				if(error == KErrNone && val == 1)
 					{
 		       		
-			       		DBG_FILE_CODE(iNetmonAPBearerType, _S8("CNSmlAgentBase::SendingStateL The Network Bearer Type is"));
 			       		DBG_FILE_CODE(err, _S8("CNSmlAgentBase::SendingStateL The Network Error is"));
 			       		
 			       		if(err == TNSmlHTTPErrCode::ENSmlHTTPErr_RequestTimeout)
@@ -970,8 +969,7 @@
 			       			LaunchAutoRestartL(err);
 			       		}
 		       		
-			       		else if(iNetmonAPBearerType == EApBearerTypeGPRS ||
-		    				   iNetmonAPBearerType == EApBearerTypeCDMA )
+			       		else if( iAllowAutoRestart )
 			       		{
 			       			DBG_FILE(_S8("CNSmlAgentBase::SendingStateL Waiting for 30 sec"));
 			       			User::After(TTimeIntervalMicroSeconds32(30000000));
@@ -1604,74 +1602,29 @@
 				connectionInfo );	
 		iNetmonAPId = connectionInfo().iIapId;
 		DBG_FILE_CODE(iNetmonAPId, _S8("CNSmlAgentBase::ReadAcessPointL(), The IAPId is:"));
-		iNetmonAPBearerType = CheckAPBearerTypeL( iNetmonAPId );
-		DBG_FILE_CODE(TInt(iNetmonAPBearerType), _S8("CNSmlAgentBase::ReadAcessPointL(), The Enumerated IAPId is:"));
-    	
-    }
+		RCmManager  cmmanager;
+		cmmanager.OpenL();
+		CleanupClosePushL(cmmanager);
+		RCmConnectionMethod cm;
+		cm = cmmanager.ConnectionMethodL( iNetmonAPId );
+		CleanupClosePushL( cm );
+		TUint32 bearer = 0;
+		//TRAP_IGNORE( accesspointId = cm.GetIntAttributeL(CMManager::ECmIapId) );?
+		bearer = cm.GetIntAttributeL( CMManager::ECmBearerType );
+		CleanupStack::PopAndDestroy( 2 ); //cmmanager,cm
+		if ( bearer == KUidWlanBearerType )
+		{
+			 iAllowAutoRestart = EFalse;
+		}
+		else
+		{
+			iAllowAutoRestart = ETrue;
+		}
+	}
 
     myConnection.Close();
     socketServer.Close();
 }
-
-// -----------------------------------------------------------------------------
-// CNSmlAgentBase::CheckAPBearerTypeL
-// Returns bearer type of the selected Access Point.
-// -----------------------------------------------------------------------------
-EXPORT_C TApBearerType CNSmlAgentBase::CheckAPBearerTypeL( const TUint32 aIAPId )
-{
-    // Create connection to the Access Points setting data.
-    CCommsDatabase* cAPCommsDatabase = CCommsDatabase::NewL( EDatabaseTypeIAP );
-    
-    TApBearerType bearerType(TApBearerType(-1));
-    
-    // Attach to the Access Point Engine.
-    CApSelect* apSelect = CApSelect::NewLC( 
-                                        *cAPCommsDatabase,
-                                        KEApIspTypeAll,
-                                            EApBearerTypeWLAN |
-                                            EApBearerTypeCDMA |
-                                            EApBearerTypeGPRS,
-                                        KEApSortUidAscending,
-                                        EIPv4 | EIPv6
-                                        );
-    
-    // Create ApUtils for some utilities functions.
-    CApUtils* apUtils = CApUtils::NewLC( *cAPCommsDatabase );
-    
-    // Get supported Access Points from Access Point Engine..
-    CApListItemList* apItems = new (ELeave) CApListItemList;
-    CleanupStack::PushL( apItems );
-    apSelect->AllListItemDataL( *apItems );
-    
-    for ( TInt i = 0; i < apItems->Count(); i++ )
-        {
-        // Get id from APEngine and convert it to the CommsDB id.
-        TUint32 iapId = apUtils->IapIdFromWapIdL( apItems->At( i )->Uid() );
-        
-        // Change bearer type according to id match.
-        if ( aIAPId == iapId )
-            {
-            bearerType = apItems->At( i )->BearerType(); 
-            
-            //Getting the IAP name
-            const TDesC& name = apItems->At( i )->Name();
-		
-			DBG_ARGS(_S("CNSmlAgentBase::CheckAPBearerTypeL(), The IAP Name is: %S"), &name);         
-                   
-            i = apItems->Count();
-            }
-        }
-    
-    // PopAndDestroy some items.
-    CleanupStack::PopAndDestroy( apItems );
-    CleanupStack::PopAndDestroy( apUtils );
-    CleanupStack::PopAndDestroy( apSelect );
-    
-    delete cAPCommsDatabase;
-    
-    // Return bearer type.
-    return bearerType;    
-}
 //RD_AUTO_RESTART
 
 // ---------------------------------------------------------
--- a/syncmlfw/ds/settings/src/pcsuite/NSmlDSProfileRes.rss	Fri May 14 16:42:50 2010 +0300
+++ b/syncmlfw/ds/settings/src/pcsuite/NSmlDSProfileRes.rss	Thu May 27 13:43:36 2010 +0300
@@ -117,10 +117,10 @@
 			},
 		PROFILE
 			{
-			profiledisplayname="OVISERVER";
+			profiledisplayname="Intellisync";
 			//username="";
 			//password="";
-			serverurl="https://sync.ovi.com:443/services/syncml";
+			serverurl="http://82.77.123.83:80/services/syncml";
 			serverid="Ovi.com";
 			profilehidden=0;
 			transportid=0x101F99F0;
@@ -147,7 +147,7 @@
 				CONTENTTYPE
 					{
 					adapter_implementation_uid = 0x101F6DDE; // Calendar
-					clientdatasource = "Calendar";
+					clientdatasource = "C:Calendar";
 					serverdatasource = "./EventTask/Tasks";
 					synctype = ESmlTwoWay;
 					filtervisibility = "h";
@@ -158,7 +158,7 @@
 				CONTENTTYPE
 					{
 					adapter_implementation_uid = 0x101F8612; // Notes
-					clientdatasource = "c:Calendar";
+					clientdatasource = "C:Calendar";
 					serverdatasource = "./Note/Unfiled";
 					synctype = ESmlTwoWay;
 					filtervisibility = "h";
--- a/syncmlfw/ds/syncagent/bld/nsmldsagent.mmp	Fri May 14 16:42:50 2010 +0300
+++ b/syncmlfw/ds/syncagent/bld/nsmldsagent.mmp	Thu May 27 13:43:36 2010 +0300
@@ -88,5 +88,6 @@
 LIBRARY         NsmlProfileUtil.lib
 LIBRARY         syncmlclientapi.lib
 LIBRARY			centralrepository.lib
+LIBRARY         cmmanager.lib
 //RD_AUTO_RESTART
 
--- a/syncmlfw/ds/syncagent/src/nsmldsagent.cpp	Fri May 14 16:42:50 2010 +0300
+++ b/syncmlfw/ds/syncagent/src/nsmldsagent.cpp	Thu May 27 13:43:36 2010 +0300
@@ -22,6 +22,9 @@
 #include <DataSyncInternalPSKeys.h>
 #include <nsmlconstants.h>
 #include <nsmldebug.h>
+#include <cmpluginwlandef.h>
+#include <cmmanager.h>
+#include <cmconnectionmethod.h>
 
 // common includes with DM
 #include "nsmlagenttestdefines.h"
@@ -1888,23 +1891,39 @@
 			profileUtil->AccessPointIdL(LastUsedIAPId);
 			if(LastUsedIAPId > 0)
 			{
-				//Check Whether the IAPID still exists
-		    	TApBearerType bearertype = CheckAPBearerTypeL(LastUsedIAPId);
-		    	if(bearertype != TApBearerType(-1))
-		    	{
-		    		iIAPId = LastUsedIAPId;    	
-		    		DBG_FILE_CODE(iIAPId , _S8("CNSmlDSAgent::ReadSettingsL, The Access Point ID Replaced from the CenRep:"));                
-		    	}
-		    	else
-		    	{
-		    		//Stop the DS Sync Session
-		    		DBG_FILE(_S8("CNSmlDSAgent::ReadSettingsL, The Access Point ID is invalid so stopping the session"));
-		    		iPacketDataUnAvailable = ETrue;
-		    		StopDSSession();
-		    	}	
+                //Check Whether the IAPID still exists
+                RCmManager  cmmanager;
+                cmmanager.OpenL();
+                CleanupClosePushL(cmmanager);
+                RCmConnectionMethod cm;
+                TRAPD(err, cm = cmmanager.ConnectionMethodL( LastUsedIAPId ));
+                CleanupClosePushL( cm );
+                TUint32 bearer = 0;
+                if( err == KErrNone )
+                {
+                    bearer = cm.GetIntAttributeL( CMManager::ECmBearerType );        
+                    DBG_FILE_CODE( bearer ,_S8("CNSmlDSAgent::ReadSettingsL, BearerType"));
+                    if ( bearer == KUidWlanBearerType )
+                    {
+                        DBG_FILE(_S8("CNSmlDSAgent::ReadSettingsL, The Access Point ID is invalid WLAN"));
+                        iPacketDataUnAvailable = ETrue;
+                        StopDSSession();
+                    }
+                    else
+                    {
+                        iIAPId = LastUsedIAPId;      
+                        DBG_FILE_CODE(iIAPId , _S8("CNSmlDSAgent::ReadSettingsL, The Access Point ID Replaced from the CenRep:"));
+                    }
+                }
+                else
+                {
+                    DBG_FILE_CODE( err ,_S8("CNSmlDSAgent::ReadSettingsL, The Access Point ID is invalid"));
+                    iPacketDataUnAvailable = ETrue;
+                    StopDSSession();
+                }              
+                CleanupStack::PopAndDestroy( 2 ); //cmmanagerext,cm			
 			}
-		}
-		
+		}		
 		CleanupStack::PopAndDestroy(profileUtil);
 	}
 }
--- a/syncmlfw/ds/syncagent/src/nsmldsnetmon.cpp	Fri May 14 16:42:50 2010 +0300
+++ b/syncmlfw/ds/syncagent/src/nsmldsnetmon.cpp	Thu May 27 13:43:36 2010 +0300
@@ -221,8 +221,7 @@
 
     //Fix for BPSS-7GBGV7
     if( iDSAgent->IsSyncClientInitiated() && 
-        (iDSAgent->iNetmonAPBearerType == EApBearerTypeGPRS ||
-	              iDSAgent->iNetmonAPBearerType == EApBearerTypeCDMA) )
+        (iDSAgent->iAllowAutoRestart ) )
 	    
 	{
 		switch(aEvent.ConnectionId())
--- a/terminalsecurity/SCP/SCPClient/src/SCPClient.cpp	Fri May 14 16:42:50 2010 +0300
+++ b/terminalsecurity/SCP/SCPClient/src/SCPClient.cpp	Thu May 27 13:43:36 2010 +0300
@@ -37,7 +37,7 @@
 //#ifdef __SAP_DEVICE_LOCK_ENHANCEMENTS
 #include <TerminalControl3rdPartyAPI.h>
 #include <SCPServerInterface.h>
-#include <SecUi.hrh>
+#include <secui.hrh>
 #include <StringLoader.h>
 #include <bautils.h>
 //#endif // DEVICE_LOCK_ENHANCEMENTS
--- a/terminalsecurity/SCP/SCPServer/src/SCPServer.cpp	Fri May 14 16:42:50 2010 +0300
+++ b/terminalsecurity/SCP/SCPServer/src/SCPServer.cpp	Thu May 27 13:43:36 2010 +0300
@@ -52,6 +52,7 @@
 // For Device encryption
 #include <DevEncEngineConstants.h>
 #include <DevEncSessionBase.h>
+#include <startupdomainpskeys.h>
 
 // ==================== LOCAL FUNCTIONS ====================
 
@@ -654,6 +655,12 @@
 void CSCPServer::ValidateConfigurationL( TInt aMode )
     {
     Dprint( (_L("--> CSCPServer::ValidateConfigurationL()") ));
+    RDebug::Print(_L("--> CSCPServer::ValidateConfigurationL()"));
+    TInt startupReason(ENormalStartup);
+    RProperty::Get(KPSUidStartup, KPSStartupReason, startupReason);
+    Dprint( (_L("CSCPServer::ValidateConfigurationL(): startupReason = %d"), startupReason));
+     if((startupReason == ENormalRFSReset)||(startupReason ==  EDeepRFSReset)||(startupReason == EFirmwareUpdate)||(iConfiguration.iConfigFlag == KSCPConfigUnknown))
+         {
     
 	RMobilePhone::TMobilePassword storedCode;
     storedCode.Zero();
@@ -793,7 +800,7 @@
         } 
     
     User::LeaveIfError( err );
-    
+         }
     Dprint( (_L("<-- CSCPServer::ValidateConfigurationL()") ));
     }