Revision: 201037
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 04 Oct 2010 00:16:48 +0300
changeset 77 2be0b271d017
parent 72 c76a0b1755b9
Revision: 201037 Kit: 201039
.hgignore
phone_plat/phone_application_commands_api/inc/phoneappcommands.hrh
phone_plat/phone_application_commands_api/inc/xqphoneappcommands.h
phoneapp/Blacklist/group/bld.inf
phoneapp/Blacklist/group/phoneanimdll.mmp
phoneapp/Blacklist/group/phoneanimdll_stub.SIS
phoneapp/Blacklist/group/phoneanimdll_stub.pkg
phoneapp/Blacklist/rom/phoneanimdll_stub.pkg
phoneapp/Blacklist/rom/phoneanimdll_stub.sis
phoneapp/phonemediatorcenter/bwins/phonemediatorcenteru.def
phoneapp/phonemediatorcenter/eabi/phonemediatorcenteru.def
phoneapp/phonemediatorcenter/group/bld.inf
phoneapp/phonemediatorcenter/group/phonemediatorcenter.mmp
phoneapp/phonemediatorcenter/group/phonemediatorcenter_stub.pkg
phoneapp/phonemediatorcenter/group/phonemediatorcenter_stub.sis
phoneapp/phonemediatorcenter/inc/cphoneswitchtovideoorvoicecommand.h
phoneapp/phonemediatorcenter/rom/phonemediatorcenter_stub.pkg
phoneapp/phonemediatorcenter/rom/phonemediatorcenter_stub.sis
phoneapp/phonemediatorcenter/src/cphonemediatorsender.cpp
phoneapp/phonemediatorcenter/src/cphoneswitchtovideoorvoicecommand.cpp
phoneapp/phonemediatorcenter/tsrc/ut_mediatorfactory/BWINS/ut_mediatorfactoryu.def
phoneapp/phonemediatorcenter/tsrc/ut_mediatorfactory/EABI/ut_mediatorfactoryu.def
phoneapp/phonemediatorcenter/tsrc/ut_mediatorfactory/Src/globals.cpp
phoneapp/phonemediatorcenter/tsrc/ut_mediatorfactory/Src/globals.h
phoneapp/phonemediatorcenter/tsrc/ut_mediatorfactory/Src/stubs.cpp
phoneapp/phonemediatorcenter/tsrc/ut_mediatorfactory/Src/ut_mediatorfactory.cpp
phoneapp/phonemediatorcenter/tsrc/ut_mediatorfactory/Src/ut_mediatorfactory.h
phoneapp/phonemediatorcenter/tsrc/ut_mediatorfactory/Src/ut_mediatorfactory_DllMain.cpp
phoneapp/phonemediatorcenter/tsrc/ut_mediatorfactory/group/bld.inf
phoneapp/phonemediatorcenter/tsrc/ut_mediatorfactory/group/ut_mediatorfactory.mmp
phoneapp/phonemediatorcenter/tsrc/ut_mediatormessagefactory/BWINS/T_MediatorMessageFactoryu.def
phoneapp/phonemediatorcenter/tsrc/ut_mediatormessagefactory/EABI/T_MediatorMessageFactoryu.def
phoneapp/phonemediatorcenter/tsrc/ut_mediatormessagefactory/group/T_MediatorMessageFactory.mmp
phoneapp/phonemediatorcenter/tsrc/ut_mediatormessagefactory/group/bld.inf
phoneapp/phonemediatorcenter/tsrc/ut_mediatormessagefactory/src/T_MediatorMessageFactory.cpp
phoneapp/phonemediatorcenter/tsrc/ut_mediatormessagefactory/src/T_MediatorMessageFactory.h
phoneapp/phonemediatorcenter/tsrc/ut_mediatormessagefactory/src/T_MediatorMessageFactory_DllMain.cpp
phoneapp/phonemediatorcenter/tsrc/ut_mediatormessagefactory/src/stubs.cpp
phoneapp/phonemediatorcenter/tsrc/ut_mediatorsender/BWINS/T_MediatorSenderu.def
phoneapp/phonemediatorcenter/tsrc/ut_mediatorsender/EABI/T_MediatorSenderu.def
phoneapp/phonemediatorcenter/tsrc/ut_mediatorsender/Src/T_MediatorSender.cpp
phoneapp/phonemediatorcenter/tsrc/ut_mediatorsender/Src/T_MediatorSender.h
phoneapp/phonemediatorcenter/tsrc/ut_mediatorsender/Src/T_MediatorSender_DllMain.cpp
phoneapp/phonemediatorcenter/tsrc/ut_mediatorsender/Src/stubs.cpp
phoneapp/phonemediatorcenter/tsrc/ut_mediatorsender/group/T_MediatorSender.mmp
phoneapp/phonemediatorcenter/tsrc/ut_mediatorsender/group/bld.inf
phoneapp/phoneringingtoneplayer/group/bld.inf
phoneapp/phoneringingtoneplayer/group/phoneringingtoneplayer.mmp
phoneapp/phoneringingtoneplayer/rom/phoneringingtoneplayer_stub.pkg
phoneapp/phoneringingtoneplayer/rom/phoneringingtoneplayer_stub.sis
phoneapp/phoneringingtoneplayer/tsrc/t_phoneringingtoneplayer/t_phoneringingtoneplayer.pro
phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/group/ut_cphoneringingtonecontroller.mmp
phoneapp/phonestringloader/phonestringloader.pro
phoneapp/phonestringloader/rom/phonestringloader_stub.pkg
phoneapp/phonestringloader/rom/phonestringloader_stub.sis
phoneapp/phonestringloader/tsrc/ut_phonestringloader/ut_phonestringloader.pro
phoneapp/phoneui2/inc/hbphonemainwindow.h
phoneapp/phoneui2/inc/phoneapplication.h
phoneapp/phoneui2/loc/basiccallhandling.loc
phoneapp/phoneui2/loc/callheadertexts.loc
phoneapp/phoneui2/loc/callterminationnote.loc
phoneapp/phoneui2/loc/dialer.loc
phoneapp/phoneui2/loc/dtmfsignalling.loc
phoneapp/phoneui2/loc/incallmenuandsoftkeys.loc
phoneapp/phoneui2/loc/incalloperations.loc
phoneapp/phoneui2/loc/mobileoriginatedcalls.loc
phoneapp/phoneui2/loc/multicallhandling.loc
phoneapp/phoneui2/loc/numberentry.loc
phoneapp/phoneui2/loc/phone.loc
phoneapp/phoneui2/loc/voip.loc
phoneapp/phoneui2/phoneui2.pro
phoneapp/phoneui2/rom/phoneui.iby
phoneapp/phoneui2/rom/phoneui_stub.pkg
phoneapp/phoneui2/rom/phoneui_stub.sis
phoneapp/phoneui2/rom/phoneuiresources.iby
phoneapp/phoneui2/src/hbphonemainwindow.cpp
phoneapp/phoneui2/src/main.cpp
phoneapp/phoneui2/src/phoneapplication.cpp
phoneapp/phoneui2/src/phoneuihousehold_p.cpp
phoneapp/phoneui2/tsrc/ut_phonemainwindow/ut_phonemainwindow.pro
phoneapp/phoneui2/tsrc/ut_phoneuicommandadapter/ut_phoneuicommandadapter.pro
phoneapp/phoneui2/tsrc/ut_phoneuikeyeventadapter/ut_phoneuikeyeventadapter.pro
phoneapp/phoneuicontrol/bwins/phoneuicontrolu.def
phoneapp/phoneuicontrol/eabi/phoneuicontrolu.def
phoneapp/phoneuicontrol/group/bld.inf
phoneapp/phoneuicontrol/group/phoneuicontrol.mmp
phoneapp/phoneuicontrol/group/phoneuicontrol_stub.pkg
phoneapp/phoneuicontrol/group/phoneuicontrol_stub.sis
phoneapp/phoneuicontrol/inc/cphonecallheadermanager.h
phoneapp/phoneuicontrol/inc/cphonecbamanager.h
phoneapp/phoneuicontrol/inc/cphonenumberentrymanager.h
phoneapp/phoneuicontrol/inc/cphonestate.h
phoneapp/phoneuicontrol/inc/cphonestatecallsetup.h
phoneapp/phoneuicontrol/inc/cphonestateidle.h
phoneapp/phoneuicontrol/inc/cphonestateincall.h
phoneapp/phoneuicontrol/inc/cphonestateincoming.h
phoneapp/phoneuicontrol/inc/cphonestatemachine.h
phoneapp/phoneuicontrol/inc/cphonesystemeventhandler.h
phoneapp/phoneuicontrol/inc/cphoneuicommandmanager.h
phoneapp/phoneuicontrol/inc/cphoneuicontroller.h
phoneapp/phoneuicontrol/inc/mphoneblockedkeys.h
phoneapp/phoneuicontrol/inc/mphonedivertif.h
phoneapp/phoneuicontrol/inc/mphonekeyevents.h
phoneapp/phoneuicontrol/inc/mphonelockinfo.h
phoneapp/phoneuicontrol/inc/mphonestate.h
phoneapp/phoneuicontrol/inc/mphonestateproperties.h
phoneapp/phoneuicontrol/inc/mphonesystemeventhandler.h
phoneapp/phoneuicontrol/inc/mphonesystemevents.h
phoneapp/phoneuicontrol/inc/tphonecallheaderparam.h
phoneapp/phoneuicontrol/rom/phoneuicontrol_stub.pkg
phoneapp/phoneuicontrol/rom/phoneuicontrol_stub.sis
phoneapp/phoneuicontrol/src/cphonecallheadermanager.cpp
phoneapp/phoneuicontrol/src/cphonecbamanager.cpp
phoneapp/phoneuicontrol/src/cphonenumberentrymanager.cpp
phoneapp/phoneuicontrol/src/cphonestate.cpp
phoneapp/phoneuicontrol/src/cphonestatecallsetup.cpp
phoneapp/phoneuicontrol/src/cphonestateidle.cpp
phoneapp/phoneuicontrol/src/cphonestateincall.cpp
phoneapp/phoneuicontrol/src/cphonestateincoming.cpp
phoneapp/phoneuicontrol/src/cphonestatemachine.cpp
phoneapp/phoneuicontrol/src/cphonestatestartup.cpp
phoneapp/phoneuicontrol/src/cphonesystemeventhandler.cpp
phoneapp/phoneuicontrol/src/cphoneuicommandmanager.cpp
phoneapp/phoneuicontrol/src/cphoneuicontroller.cpp
phoneapp/phoneuicontrol/src/tphonecallheaderparam.cpp
phoneapp/phoneuicontrol/tsrc/ut_cphoneaccessorybthandler/BWINS/ut_cphoneaccessorybthandleru.def
phoneapp/phoneuicontrol/tsrc/ut_cphoneaccessorybthandler/Src/ut_cphoneaccessorybthandler.cpp
phoneapp/phoneuicontrol/tsrc/ut_cphoneaccessorybthandler/Src/ut_cphoneaccessorybthandler.h
phoneapp/phoneuicontrol/tsrc/ut_cphoneaccessorybthandler/Src/ut_cphoneaccessorybthandler_dllmain.cpp
phoneapp/phoneuicontrol/tsrc/ut_cphoneaccessorybthandler/group/bld.inf
phoneapp/phoneuicontrol/tsrc/ut_cphoneaccessorybthandler/group/ut_cphoneaccessorybthandler.mmp
phoneapp/phoneuicontrol/tsrc/ut_cphonenumberentrymanager/Src/ut_cphonenumberentrymanager.cpp
phoneapp/phoneuicontrol/tsrc/ut_cphonenumberentrymanager/Src/ut_cphonenumberentrymanager.h
phoneapp/phoneuicontrol/tsrc/ut_cphonenumberentrymanager/Src/ut_cphonenumberentrymanager_dllmain.cpp
phoneapp/phoneuicontrol/tsrc/ut_cphonenumberentrymanager/bwins/ut_cphonenumberentrymanageru.def
phoneapp/phoneuicontrol/tsrc/ut_cphonenumberentrymanager/group/bld.inf
phoneapp/phoneuicontrol/tsrc/ut_cphonenumberentrymanager/group/ut_cphonenumberentrymanager.mmp
phoneapp/phoneuicontrol/tsrc/ut_cphonenumberentrymanager/run_auto_tests.bat
phoneapp/phoneuicontrol/tsrc/ut_cphonestate/bwins/ut_cphonestateu.def
phoneapp/phoneuicontrol/tsrc/ut_cphonestate/group/bld.inf
phoneapp/phoneuicontrol/tsrc/ut_cphonestate/group/test_mover.make
phoneapp/phoneuicontrol/tsrc/ut_cphonestate/group/ut_cphonestate.mmp
phoneapp/phoneuicontrol/tsrc/ut_cphonestate/inc/cphonestate_tester.h
phoneapp/phoneuicontrol/tsrc/ut_cphonestate/inc/ut_cphonestate.h
phoneapp/phoneuicontrol/tsrc/ut_cphonestate/src/ut_cphonestate.cpp
phoneapp/phoneuicontrol/tsrc/ut_cphonestate/src/ut_cphonestate_DllMain.cpp
phoneapp/phoneuicontrol/tsrc/ut_cphonestatecallsetup/bwins/ut_cphonestatecallsetupu.def
phoneapp/phoneuicontrol/tsrc/ut_cphonestatecallsetup/group/bld.inf
phoneapp/phoneuicontrol/tsrc/ut_cphonestatecallsetup/group/ut_cphonestatecallsetup.mmp
phoneapp/phoneuicontrol/tsrc/ut_cphonestatecallsetup/src/ut_cphonestatecallsetup.cpp
phoneapp/phoneuicontrol/tsrc/ut_cphonestatecallsetup/src/ut_cphonestatecallsetup.h
phoneapp/phoneuicontrol/tsrc/ut_cphonestatecallsetup/src/ut_cphonestatecallsetup_dllmain.cpp
phoneapp/phoneuicontrol/tsrc/ut_cphonestateidle/BWINS/ut_cphonestateidleu.def
phoneapp/phoneuicontrol/tsrc/ut_cphonestateidle/Src/CPhoneStateIdle_Inherited.cpp
phoneapp/phoneuicontrol/tsrc/ut_cphonestateidle/Src/CPhoneStateIdle_Inherited.h
phoneapp/phoneuicontrol/tsrc/ut_cphonestateidle/Src/ut_cphonestateidle.cpp
phoneapp/phoneuicontrol/tsrc/ut_cphonestateidle/Src/ut_cphonestateidle.h
phoneapp/phoneuicontrol/tsrc/ut_cphonestateidle/Src/ut_cphonestateidle_DllMain.cpp
phoneapp/phoneuicontrol/tsrc/ut_cphonestateidle/group/bld.inf
phoneapp/phoneuicontrol/tsrc/ut_cphonestateidle/group/ut_cphonestateidle.mmp
phoneapp/phoneuicontrol/tsrc/ut_cphonestateincall/BWINS/ut_cphonestateincallU.def
phoneapp/phoneuicontrol/tsrc/ut_cphonestateincall/Src/ut_cphonestateincall.cpp
phoneapp/phoneuicontrol/tsrc/ut_cphonestateincall/Src/ut_cphonestateincall.h
phoneapp/phoneuicontrol/tsrc/ut_cphonestateincall/Src/ut_cphonestateincall_DllMain.cpp
phoneapp/phoneuicontrol/tsrc/ut_cphonestateincall/group/bld.inf
phoneapp/phoneuicontrol/tsrc/ut_cphonestateincall/group/ut_cphonestateincall.mmp
phoneapp/phoneuicontrol/tsrc/ut_cphonestateincoming/bwins/ut_cphonestateincomingu.def
phoneapp/phoneuicontrol/tsrc/ut_cphonestateincoming/group/bld.inf
phoneapp/phoneuicontrol/tsrc/ut_cphonestateincoming/group/ut_cphonestateincoming.mmp
phoneapp/phoneuicontrol/tsrc/ut_cphonestateincoming/src/ut_cphonestateincoming.cpp
phoneapp/phoneuicontrol/tsrc/ut_cphonestateincoming/src/ut_cphonestateincoming.h
phoneapp/phoneuicontrol/tsrc/ut_cphonestateincoming/src/ut_cphonestateincoming_dllmain.cpp
phoneapp/phoneuicontrol/tsrc/ut_cphonestatestartup/bwins/ut_cphonestatestartupu.def
phoneapp/phoneuicontrol/tsrc/ut_cphonestatestartup/group/bld.inf
phoneapp/phoneuicontrol/tsrc/ut_cphonestatestartup/group/ut_cphonestatestartup.mmp
phoneapp/phoneuicontrol/tsrc/ut_cphonestatestartup/src/ut_cphonestatestartup.cpp
phoneapp/phoneuicontrol/tsrc/ut_cphonestatestartup/src/ut_cphonestatestartup.h
phoneapp/phoneuicontrol/tsrc/ut_cphonestatestartup/src/ut_cphonestatestartup_dllmain.cpp
phoneapp/phoneuicontrol/tsrc/ut_cphoneuicommandmanager/Src/ut_cphoneuicommandmanager.cpp
phoneapp/phoneuicontrol/tsrc/ut_cphoneuicommandmanager/Src/ut_cphoneuicommandmanager.h
phoneapp/phoneuicontrol/tsrc/ut_cphoneuicommandmanager/Src/ut_cphoneuicommandmanager_dllmain.cpp
phoneapp/phoneuicontrol/tsrc/ut_cphoneuicommandmanager/bwins/ut_cphoneuicommandmanageru.def
phoneapp/phoneuicontrol/tsrc/ut_cphoneuicommandmanager/group/bld.inf
phoneapp/phoneuicontrol/tsrc/ut_cphoneuicommandmanager/group/ut_cphoneuicommandmanager.mmp
phoneapp/phoneuiqtviewadapter/bwins/phoneuiqtviewadapteru.def
phoneapp/phoneuiqtviewadapter/eabi/phoneuiqtviewadapteru.def
phoneapp/phoneuiqtviewadapter/inc/phonecallheadermanager.h
phoneapp/phoneuiqtviewadapter/inc/phonecallheaderutil.h
phoneapp/phoneuiqtviewadapter/inc/phoneindicatorcontroller.h
phoneapp/phoneuiqtviewadapter/inc/phoneuiqtviewadapter.h
phoneapp/phoneuiqtviewadapter/inc/phoneviewcommanddefinitions.h
phoneapp/phoneuiqtviewadapter/phoneuiqtviewadapter.pri
phoneapp/phoneuiqtviewadapter/phoneuiqtviewadapter.pro
phoneapp/phoneuiqtviewadapter/rom/phoneuiqtviewadapter_stub.pkg
phoneapp/phoneuiqtviewadapter/rom/phoneuiqtviewadapter_stub.sis
phoneapp/phoneuiqtviewadapter/src/phonebubblewrapper.cpp
phoneapp/phoneuiqtviewadapter/src/phonecallheadermanager.cpp
phoneapp/phoneuiqtviewadapter/src/phonecallheaderutil.cpp
phoneapp/phoneuiqtviewadapter/src/phoneindicatorcontroller.cpp
phoneapp/phoneuiqtviewadapter/src/phoneresourceadapter.cpp
phoneapp/phoneuiqtviewadapter/src/phoneuicommandcontroller.cpp
phoneapp/phoneuiqtviewadapter/src/phoneuiqtviewadapter.cpp
phoneapp/phoneuiqtviewadapter/src/telephonyservice.cpp
phoneapp/phoneuiqtviewadapter/tsrc/u_carmodetester/u_carmodetester.pro
phoneapp/phoneuiqtviewadapter/tsrc/unit.pro
phoneapp/phoneuiqtviewadapter/tsrc/ut_phonebubblewrapper/unit_tests.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phonebubblewrapper/ut_phonebubblewrapper.pro
phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecallheadermanager/bubblemanagerif_stub.h
phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecallheadermanager/phoneuiqtviewif_stub.h
phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecallheadermanager/unit_tests.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecallheadermanager/ut_phonecallheadermanager.pro
phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecallheaderutil/unit_tests.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecallheaderutil/ut_phonecallheaderutil.pro
phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecallheaderutil/ut_phonecallheaderutilstubs.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecommandextensionwrapper/unit_tests.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecommandextensionwrapper/ut_phonecommandextensionwrapper.pro
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneindicatorcontroller/hbindicator_stub.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneindicatorcontroller/hbindicatorstubhelper.h
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneindicatorcontroller/logsevent.h
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneindicatorcontroller/logsevent_stub.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneindicatorcontroller/logsfilter.h
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneindicatorcontroller/logsfilter_stub.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneindicatorcontroller/logsmodel.h
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneindicatorcontroller/logsmodel_stub.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneindicatorcontroller/phoneuiqtviewif_stub.h
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneindicatorcontroller/phonevisibilityhandler_stub.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneindicatorcontroller/unit_tests.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneindicatorcontroller/ut_phoneindicatorcontroller.pro
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneindicatorcontroller/xqaiwrequest.h
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneindicatorcontroller/xqaiwrequest_stub.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneindicatorcontroller/xqappmanager.h
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneindicatorcontroller/xqappmanager_stub.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phonemessagecontroller/unit_tests.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phonemessagecontroller/ut_phonemessagecontroller.pro
phoneapp/phoneuiqtviewadapter/tsrc/ut_phonenotecontroller/ut_phonenotecontroller.pro
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneresourceadapter/unit_tests.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneresourceadapter/ut_phoneresourceadapter.pro
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuicommandcontroller/ut_phoneuicommandcontroller.pro
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtbuttonscontroller/unit_tests.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtbuttonscontroller/ut_phoneuiqtbuttonscontroller.pro
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/phonebubblewrapper.h
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/phonebubblewrapper_stub.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/phonecallheadermanager_stub.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/unit_tests.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/ut_phoneuiqtviewadapter.pro
phoneapp/phoneuiqtviewadapter/tsrc/ut_phonevisibilityhandler/ut_phonevisibilityhandler.pro
phoneapp/phoneuiqtviewadapter/tsrc/ut_telephonyservice/phoneuiqtviewadapter_stub.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_telephonyservice/unit_tests.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_telephonyservice/ut_telephonyservice.pro
phoneapp/phoneuistates/bwins/phoneuistatesu.def
phoneapp/phoneuistates/eabi/phoneuistatesu.def
phoneapp/phoneuistates/group/bld.inf
phoneapp/phoneuistates/group/phoneuistates.mmp
phoneapp/phoneuistates/group/phoneuistates_stub.pkg
phoneapp/phoneuistates/group/phoneuistates_stub.sis
phoneapp/phoneuistates/inc/cphonecallsetupandwaiting.h
phoneapp/phoneuistates/inc/cphoneconference.h
phoneapp/phoneuistates/inc/cphoneconferenceandcallsetup.h
phoneapp/phoneuistates/inc/cphoneconferenceandsingle.h
phoneapp/phoneuistates/inc/cphoneconferenceandsingleandwaiting.h
phoneapp/phoneuistates/inc/cphoneconferenceandwaiting.h
phoneapp/phoneuistates/inc/cphoneconferenceandwaitingandcallsetup.h
phoneapp/phoneuistates/inc/cphoneemergency.h
phoneapp/phoneuistates/inc/cphonegeneralgsmmessageshandler.h
phoneapp/phoneuistates/inc/cphonegsmincall.h
phoneapp/phoneuistates/inc/cphoneincoming.h
phoneapp/phoneuistates/inc/cphonesingleandalerting.h
phoneapp/phoneuistates/inc/cphonesingleandcallsetupandwaiting.h
phoneapp/phoneuistates/inc/cphonesingleandwaiting.h
phoneapp/phoneuistates/inc/cphonesinglecall.h
phoneapp/phoneuistates/inc/cphonetwosingles.h
phoneapp/phoneuistates/inc/cphonetwosinglesandwaiting.h
phoneapp/phoneuistates/rom/phoneuistates_stub.pkg
phoneapp/phoneuistates/rom/phoneuistates_stub.sis
phoneapp/phoneuistates/src/cphonealerting.cpp
phoneapp/phoneuistates/src/cphonecallsetup.cpp
phoneapp/phoneuistates/src/cphonecallsetupandwaiting.cpp
phoneapp/phoneuistates/src/cphoneconference.cpp
phoneapp/phoneuistates/src/cphoneconferenceandcallsetup.cpp
phoneapp/phoneuistates/src/cphoneconferenceandsingle.cpp
phoneapp/phoneuistates/src/cphoneconferenceandsingleandwaiting.cpp
phoneapp/phoneuistates/src/cphoneconferenceandwaiting.cpp
phoneapp/phoneuistates/src/cphoneconferenceandwaitingandcallsetup.cpp
phoneapp/phoneuistates/src/cphoneemergency.cpp
phoneapp/phoneuistates/src/cphoneerrormessageshandler.cpp
phoneapp/phoneuistates/src/cphonegeneralgsmmessageshandler.cpp
phoneapp/phoneuistates/src/cphonegsmincall.cpp
phoneapp/phoneuistates/src/cphoneincoming.cpp
phoneapp/phoneuistates/src/cphoneresourceresolvergsm.cpp
phoneapp/phoneuistates/src/cphonesingleandalerting.cpp
phoneapp/phoneuistates/src/cphonesingleandcallsetup.cpp
phoneapp/phoneuistates/src/cphonesingleandcallsetupandwaiting.cpp
phoneapp/phoneuistates/src/cphonesingleandwaiting.cpp
phoneapp/phoneuistates/src/cphonesinglecall.cpp
phoneapp/phoneuistates/src/cphonestatemachinegsm.cpp
phoneapp/phoneuistates/src/cphonetwosingles.cpp
phoneapp/phoneuistates/src/cphonetwosinglesandwaiting.cpp
phoneapp/phoneuistates/tsrc/common/CPhoneStateMachineStub.h
phoneapp/phoneuistates/tsrc/common/CPhoneViewControllerStub.h
phoneapp/phoneuistates/tsrc/common/cphonegsmincallstub.cpp
phoneapp/phoneuistates/tsrc/common/cphonestatecallsetupstub.cpp
phoneapp/phoneuistates/tsrc/common/cphonestatecallsetupstub.h
phoneapp/phoneuistates/tsrc/common/cphonestateidlestub.cpp
phoneapp/phoneuistates/tsrc/common/cphonestateincallstub.cpp
phoneapp/phoneuistates/tsrc/common/cphonestateincomingstub.cpp
phoneapp/phoneuistates/tsrc/common/cphonestatemachinestub.cpp
phoneapp/phoneuistates/tsrc/common/cphonestatestartupstub.cpp
phoneapp/phoneuistates/tsrc/common/cphonestatestub.cpp
phoneapp/phoneuistates/tsrc/common/phoneuiutils.cpp
phoneapp/phoneuistates/tsrc/common/stubs.cpp
phoneapp/phoneuistates/tsrc/ut_cphconfandwaitingandcallsetup/BWINS/ut_cphconfandwaitingandcallsetupu.def
phoneapp/phoneuistates/tsrc/ut_cphconfandwaitingandcallsetup/Src/ut_cphconfandwaitingandcallsetup.cpp
phoneapp/phoneuistates/tsrc/ut_cphconfandwaitingandcallsetup/Src/ut_cphconfandwaitingandcallsetup.h
phoneapp/phoneuistates/tsrc/ut_cphconfandwaitingandcallsetup/Src/ut_cphconfandwaitingandcallsetup_DllMain.cpp
phoneapp/phoneuistates/tsrc/ut_cphconfandwaitingandcallsetup/group/bld.inf
phoneapp/phoneuistates/tsrc/ut_cphconfandwaitingandcallsetup/group/ut_cphconfandwaitingandcallsetup.mmp
phoneapp/phoneuistates/tsrc/ut_cphonealerting/bwins/ut_cphonealertingu.def
phoneapp/phoneuistates/tsrc/ut_cphonealerting/group/bld.inf
phoneapp/phoneuistates/tsrc/ut_cphonealerting/group/ut_cphonealerting.mmp
phoneapp/phoneuistates/tsrc/ut_cphonealerting/src/ut_cphonealerting.cpp
phoneapp/phoneuistates/tsrc/ut_cphonealerting/src/ut_cphonealerting.h
phoneapp/phoneuistates/tsrc/ut_cphonealerting/src/ut_cphonealerting_dllmain.cpp
phoneapp/phoneuistates/tsrc/ut_cphonecallsetup/BWINS/ut_cphonecallsetupu.def
phoneapp/phoneuistates/tsrc/ut_cphonecallsetup/group/bld.inf
phoneapp/phoneuistates/tsrc/ut_cphonecallsetup/group/ut_cphonecallsetup.mmp
phoneapp/phoneuistates/tsrc/ut_cphonecallsetup/inc/ut_cphonecallsetup.h
phoneapp/phoneuistates/tsrc/ut_cphonecallsetup/src/ut_cphonecallsetup.cpp
phoneapp/phoneuistates/tsrc/ut_cphonecallsetup/src/ut_cphonecallsetup_DllMain.cpp
phoneapp/phoneuistates/tsrc/ut_cphonecallsetupandwaiting/BWINS/ut_cphonecallsetupandwaitingu.def
phoneapp/phoneuistates/tsrc/ut_cphonecallsetupandwaiting/Src/ut_cphonecallsetupandwaiting.cpp
phoneapp/phoneuistates/tsrc/ut_cphonecallsetupandwaiting/Src/ut_cphonecallsetupandwaiting.h
phoneapp/phoneuistates/tsrc/ut_cphonecallsetupandwaiting/Src/ut_cphonecallsetupandwaiting_DllMain.cpp
phoneapp/phoneuistates/tsrc/ut_cphonecallsetupandwaiting/group/bld.inf
phoneapp/phoneuistates/tsrc/ut_cphonecallsetupandwaiting/group/ut_cphonecallsetupandwaiting.mmp
phoneapp/phoneuistates/tsrc/ut_cphoneconference/BWINS/ut_cphoneconferenceu.def
phoneapp/phoneuistates/tsrc/ut_cphoneconference/Src/ut_cphoneconference.cpp
phoneapp/phoneuistates/tsrc/ut_cphoneconference/Src/ut_cphoneconference.h
phoneapp/phoneuistates/tsrc/ut_cphoneconference/Src/ut_cphoneconference_DllMain.cpp
phoneapp/phoneuistates/tsrc/ut_cphoneconference/group/bld.inf
phoneapp/phoneuistates/tsrc/ut_cphoneconference/group/ut_cphoneconference.mmp
phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandcallsetup/BWINS/ut_cphoneconferenceandcallsetupu.def
phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandcallsetup/Src/ut_cphoneconferenceandcallsetup.cpp
phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandcallsetup/Src/ut_cphoneconferenceandcallsetup.h
phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandcallsetup/Src/ut_cphoneconferenceandcallsetup_DllMain.cpp
phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandcallsetup/group/bld.inf
phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandcallsetup/group/ut_cphoneconferenceandcallsetup.mmp
phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandsingle/BWINS/ut_cphoneconferenceandsingleu.def
phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandsingle/Src/ut_cphoneconferenceandsingle.cpp
phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandsingle/Src/ut_cphoneconferenceandsingle.h
phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandsingle/Src/ut_cphoneconferenceandsingle_DllMain.cpp
phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandsingle/group/bld.inf
phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandsingle/group/ut_cphoneconferenceandsingle.mmp
phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandsingleandwaiting/BWINS/ut_cphconferenceandsingleandwaitu.def
phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandsingleandwaiting/Src/ut_cphoneconferenceandsingleandwaiting.cpp
phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandsingleandwaiting/Src/ut_cphoneconferenceandsingleandwaiting.h
phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandsingleandwaiting/Src/ut_cphoneconferenceandsingleandwaiting_DllMain.cpp
phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandsingleandwaiting/group/bld.inf
phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandsingleandwaiting/group/ut_cphoneconferenceandsingleandwaiting.mmp
phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandwaiting/BWINS/ut_cphoneconferenceandwaitingU.def
phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandwaiting/Src/ut_cphoneconferenceandwaiting.cpp
phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandwaiting/Src/ut_cphoneconferenceandwaiting.h
phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandwaiting/Src/ut_cphoneconferenceandwaiting_DllMain.cpp
phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandwaiting/group/bld.inf
phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandwaiting/group/ut_cphoneconferenceandwaiting.mmp
phoneapp/phoneuistates/tsrc/ut_cphoneemergency/BWINS/ut_cphoneemergencyu.def
phoneapp/phoneuistates/tsrc/ut_cphoneemergency/Src/ut_cphoneemergency.cpp
phoneapp/phoneuistates/tsrc/ut_cphoneemergency/Src/ut_cphoneemergency.h
phoneapp/phoneuistates/tsrc/ut_cphoneemergency/Src/ut_cphoneemergency_DllMain.cpp
phoneapp/phoneuistates/tsrc/ut_cphoneemergency/group/bld.inf
phoneapp/phoneuistates/tsrc/ut_cphoneemergency/group/ut_cphoneemergency.mmp
phoneapp/phoneuistates/tsrc/ut_cphoneerrormessageshandler/BWINS/ut_cphoneerrormessageshandleru.def
phoneapp/phoneuistates/tsrc/ut_cphoneerrormessageshandler/Src/ut_cphoneerrormessageshandler.cpp
phoneapp/phoneuistates/tsrc/ut_cphoneerrormessageshandler/Src/ut_cphoneerrormessageshandler.h
phoneapp/phoneuistates/tsrc/ut_cphoneerrormessageshandler/Src/ut_cphoneerrormessageshandler_DllMain.cpp
phoneapp/phoneuistates/tsrc/ut_cphoneerrormessageshandler/group/bld.inf
phoneapp/phoneuistates/tsrc/ut_cphoneerrormessageshandler/group/ut_cphoneerrormessageshandler.mmp
phoneapp/phoneuistates/tsrc/ut_cphonegeneralgsmmessageshandler/bwins/ut_cphonegeneralgsmmessageshandleru.def
phoneapp/phoneuistates/tsrc/ut_cphonegeneralgsmmessageshandler/group/bld.inf
phoneapp/phoneuistates/tsrc/ut_cphonegeneralgsmmessageshandler/group/ut_cphonegeneralgsmmessageshandler.mmp
phoneapp/phoneuistates/tsrc/ut_cphonegeneralgsmmessageshandler/inc/ut_cphonegeneralgsmmessageshandler.h
phoneapp/phoneuistates/tsrc/ut_cphonegeneralgsmmessageshandler/src/ut_cphonegeneralgsmmessageshandler.cpp
phoneapp/phoneuistates/tsrc/ut_cphonegeneralgsmmessageshandler/src/ut_cphonegeneralgsmmessageshandler_DllMain.cpp
phoneapp/phoneuistates/tsrc/ut_cphoneidle/BWINS/ut_cphoneidleu.def
phoneapp/phoneuistates/tsrc/ut_cphoneidle/Src/CPhoneIdle_Inherited.cpp
phoneapp/phoneuistates/tsrc/ut_cphoneidle/Src/CPhoneIdle_Inherited.h
phoneapp/phoneuistates/tsrc/ut_cphoneidle/Src/ut_cphoneidle.cpp
phoneapp/phoneuistates/tsrc/ut_cphoneidle/Src/ut_cphoneidle.h
phoneapp/phoneuistates/tsrc/ut_cphoneidle/Src/ut_cphoneidle_DllMain.cpp
phoneapp/phoneuistates/tsrc/ut_cphoneidle/group/bld.inf
phoneapp/phoneuistates/tsrc/ut_cphoneidle/group/ut_cphoneidle.mmp
phoneapp/phoneuistates/tsrc/ut_cphoneincoming/BWINS/ut_cphoneincomingu.def
phoneapp/phoneuistates/tsrc/ut_cphoneincoming/Src/ut_cphoneincoming.cpp
phoneapp/phoneuistates/tsrc/ut_cphoneincoming/Src/ut_cphoneincoming.h
phoneapp/phoneuistates/tsrc/ut_cphoneincoming/Src/ut_cphoneincoming_DllMain.cpp
phoneapp/phoneuistates/tsrc/ut_cphoneincoming/group/bld.inf
phoneapp/phoneuistates/tsrc/ut_cphoneincoming/group/ut_cphoneincoming.mmp
phoneapp/phoneuistates/tsrc/ut_cphonesingleandalerting/BWINS/ut_cphonesingleandalertingu.def
phoneapp/phoneuistates/tsrc/ut_cphonesingleandalerting/Src/ut_cphonesingleandalerting.cpp
phoneapp/phoneuistates/tsrc/ut_cphonesingleandalerting/Src/ut_cphonesingleandalerting.h
phoneapp/phoneuistates/tsrc/ut_cphonesingleandalerting/Src/ut_cphonesingleandalerting_DllMain.cpp
phoneapp/phoneuistates/tsrc/ut_cphonesingleandalerting/group/bld.inf
phoneapp/phoneuistates/tsrc/ut_cphonesingleandalerting/group/ut_cphonesingleandalerting.mmp
phoneapp/phoneuistates/tsrc/ut_cphonesingleandwaiting/BWINS/ut_cphonesingleandwaitingu.def
phoneapp/phoneuistates/tsrc/ut_cphonesingleandwaiting/Src/ut_cphonesingleandwaiting.cpp
phoneapp/phoneuistates/tsrc/ut_cphonesingleandwaiting/Src/ut_cphonesingleandwaiting.h
phoneapp/phoneuistates/tsrc/ut_cphonesingleandwaiting/Src/ut_cphonesingleandwaiting_DllMain.cpp
phoneapp/phoneuistates/tsrc/ut_cphonesingleandwaiting/group/bld.inf
phoneapp/phoneuistates/tsrc/ut_cphonesingleandwaiting/group/ut_cphonesingleandwaiting.mmp
phoneapp/phoneuistates/tsrc/ut_cphonesinglecall/BWINS/ut_cphonesinglecallu.def
phoneapp/phoneuistates/tsrc/ut_cphonesinglecall/Src/ut_cphonesinglecall.cpp
phoneapp/phoneuistates/tsrc/ut_cphonesinglecall/Src/ut_cphonesinglecall.h
phoneapp/phoneuistates/tsrc/ut_cphonesinglecall/Src/ut_cphonesinglecall_DllMain.cpp
phoneapp/phoneuistates/tsrc/ut_cphonesinglecall/group/bld.inf
phoneapp/phoneuistates/tsrc/ut_cphonesinglecall/group/ut_cphonesinglecall.mmp
phoneapp/phoneuistates/tsrc/ut_cphonetwosingles/BWINS/ut_cphonetwosinglesu.def
phoneapp/phoneuistates/tsrc/ut_cphonetwosingles/Src/ut_cphonetwosingles.cpp
phoneapp/phoneuistates/tsrc/ut_cphonetwosingles/Src/ut_cphonetwosingles.h
phoneapp/phoneuistates/tsrc/ut_cphonetwosingles/Src/ut_cphonetwosingles_DllMain.cpp
phoneapp/phoneuistates/tsrc/ut_cphonetwosingles/group/bld.inf
phoneapp/phoneuistates/tsrc/ut_cphonetwosingles/group/ut_cphonetwosingles.mmp
phoneapp/phoneuistates/tsrc/ut_cphonetwosinglesandwaiting/BWINS/ut_cphonetwosinglesandwaitingu.def
phoneapp/phoneuistates/tsrc/ut_cphonetwosinglesandwaiting/Src/ut_cphonetwosinglesandwaiting.cpp
phoneapp/phoneuistates/tsrc/ut_cphonetwosinglesandwaiting/Src/ut_cphonetwosinglesandwaiting.h
phoneapp/phoneuistates/tsrc/ut_cphonetwosinglesandwaiting/Src/ut_cphonetwosinglesandwaiting_DllMain.cpp
phoneapp/phoneuistates/tsrc/ut_cphonetwosinglesandwaiting/group/bld.inf
phoneapp/phoneuistates/tsrc/ut_cphonetwosinglesandwaiting/group/ut_cphonetwosinglesandwaiting.mmp
phoneapp/phoneuistates/tsrc/ut_cphsingleandcallsetupandwait/BWINS/ut_cphsingleandcallsetupandwaitu.def
phoneapp/phoneuistates/tsrc/ut_cphsingleandcallsetupandwait/Src/ut_cphsingleandcallsetupandwait.cpp
phoneapp/phoneuistates/tsrc/ut_cphsingleandcallsetupandwait/Src/ut_cphsingleandcallsetupandwait.h
phoneapp/phoneuistates/tsrc/ut_cphsingleandcallsetupandwait/Src/ut_cphsingleandcallsetupandwait_DllMain.cpp
phoneapp/phoneuistates/tsrc/ut_cphsingleandcallsetupandwait/group/bld.inf
phoneapp/phoneuistates/tsrc/ut_cphsingleandcallsetupandwait/group/ut_cphsingleandcallsetupandwait.mmp
phoneapp/phoneuiutils/bwins/phoneuiutilsu.def
phoneapp/phoneuiutils/eabi/phoneuiutilsu.def
phoneapp/phoneuiutils/group/bld.inf
phoneapp/phoneuiutils/group/phoneuiutils.mmp
phoneapp/phoneuiutils/group/phoneuiutils_stub.pkg
phoneapp/phoneuiutils/group/phoneuiutils_stub.sis
phoneapp/phoneuiutils/inc/cphonecenrepproxy.h
phoneapp/phoneuiutils/inc/cphonestorage.h
phoneapp/phoneuiutils/inc/mphonestorage.h
phoneapp/phoneuiutils/inc/phoneloggerviewcommands.h
phoneapp/phoneuiutils/inc/phoneresourceids.h
phoneapp/phoneuiutils/inc/phonerssbase.h
phoneapp/phoneuiutils/rom/phoneuiutils_stub.pkg
phoneapp/phoneuiutils/rom/phoneuiutils_stub.sis
phoneapp/phoneuiutils/src/cphonecenrepproxy.cpp
phoneapp/phoneuiutils/src/cphonekeys.cpp
phoneapp/phoneuiutils/src/cphonepubsubproxy.cpp
phoneapp/phoneuiutils/src/cphoneresourceresolverbase.cpp
phoneapp/phoneuiutils/src/cphonestorage.cpp
phoneapp/phoneuiutils/src/phoneloggerviewcommands.cpp
phoneapp/phoneuiutils/src/phoneloggerviewcommands.st
phoneapp/phoneuiutils/tsrc/ut_cphoneresourceresolverbase/BWINS/ut_cphoneresourceresolverbaseu.def
phoneapp/phoneuiutils/tsrc/ut_cphoneresourceresolverbase/Src/tphonetouchbuttonconfigstub.cpp
phoneapp/phoneuiutils/tsrc/ut_cphoneresourceresolverbase/Src/ut_cphoneresourceresolverbase.cpp
phoneapp/phoneuiutils/tsrc/ut_cphoneresourceresolverbase/Src/ut_cphoneresourceresolverbase.h
phoneapp/phoneuiutils/tsrc/ut_cphoneresourceresolverbase/Src/ut_cphoneresourceresolverbase_DllMain.cpp
phoneapp/phoneuiutils/tsrc/ut_cphoneresourceresolverbase/group/bld.inf
phoneapp/phoneuiutils/tsrc/ut_cphoneresourceresolverbase/group/ut_cphoneresourceresolverbase.mmp
phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamcallheaderdata/bwins/ut_tphonecmdparamcallheaderdatau.def
phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamcallheaderdata/group/EUnit_log.xml
phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamcallheaderdata/group/bld.inf
phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamcallheaderdata/group/run_tests.bat
phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamcallheaderdata/group/ut_tphonecmdparamcallheaderdata.mmp
phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamcallheaderdata/src/ut_tphonecmdparamcallheaderdata.cpp
phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamcallheaderdata/src/ut_tphonecmdparamcallheaderdata.h
phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamcallheaderdata/src/ut_tphonecmdparamcallheaderdata_dllmain.cpp
phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamglobalnote/bwins/ut_tphonecmdparamglobalnoteu.def
phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamglobalnote/group/bld.inf
phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamglobalnote/group/ut_tphonecmdparamglobalnote.mmp
phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamglobalnote/src/ut_tphonecmdparamglobalnote.cpp
phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamglobalnote/src/ut_tphonecmdparamglobalnote.h
phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamglobalnote/src/ut_tphonecmdparamglobalnote_dllmain.cpp
phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamquery/BWINS/ut_tphonecmdparamqueryu.def
phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamquery/group/bld.inf
phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamquery/group/ut_tphonecmdparamquery.mmp
phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamquery/src/ut_tphonecmdparamquery.cpp
phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamquery/src/ut_tphonecmdparamquery.h
phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamquery/src/ut_tphonecmdparamquery_dllmain.cpp
phoneapp/phoneuiview2/phoneuiview2.pro
phoneapp/phoneuiview2/rom/phoneuiqtview_stub.pkg
phoneapp/phoneuiview2/rom/phoneuiqtview_stub.sis
phoneapp/phoneuiview2/tsrc/ut_phoneuiqtview/ut_phoneuiqtview.pro
phoneapp/phoneuivoipextension/group/bld.inf
phoneapp/phoneuivoipextension/group/phoneuivoipextension.mmp
phoneapp/phoneuivoipextension/group/phoneuivoipextension_stub.pkg
phoneapp/phoneuivoipextension/group/phoneuivoipextension_stub.sis
phoneapp/phoneuivoipextension/rom/phoneuivoipextension_stub.pkg
phoneapp/phoneuivoipextension/rom/phoneuivoipextension_stub.sis
phoneapp/phoneuivoipextension/src/cphoneresourceresolvervoip.cpp
phoneapp/phoneuivoipextension/src/cphonestatealertingvoip.cpp
phoneapp/phoneuivoipextension/src/cphonestatecallsetupvoip.cpp
phoneapp/phoneuivoipextension/src/cphonestateidlevoip.cpp
phoneapp/phoneuivoipextension/src/cphonestateincomingvoip.cpp
phoneapp/phoneuivoipextension/src/cphonestatemachinevoip.cpp
phoneapp/phoneuivoipextension/src/cphonestatesinglevoip.cpp
phoneapp/phoneuivoipextension/src/cphonevoiperrormessageshandler.cpp
phoneapp/phoneuivoipextension/srcdata/phoneuivoip.rss
phoneapp/silenceactionplugin/data/silenceactionplugin.pkg
phoneapp/silenceactionplugin/data/silenceactionplugin_stub.SIS
phoneapp/silenceactionplugin/data/silenceactionplugin_stub.pkg
phoneapp/silenceactionplugin/group/bld.inf
phoneapp/silenceactionplugin/group/silenceactionplugin.mmp
phoneapp/silenceactionplugin/rom/silenceactionplugin.iby
phoneapp/silenceactionplugin/rom/silenceactionplugin.pkg
phoneapp/silenceactionplugin/rom/silenceactionplugin_stub.pkg
phoneapp/silenceactionplugin/rom/silenceactionplugin_stub.sis
phoneengine/audiohandling/data/audiohandling_stub.pkg
phoneengine/audiohandling/data/audiohandling_stub.sis
phoneengine/audiohandling/group/audiohandling.mmp
phoneengine/audiohandling/group/bld.inf
phoneengine/audiohandling/rom/audiohandling_stub.pkg
phoneengine/audiohandling/rom/audiohandling_stub.sis
phoneengine/callhandling/data/callhandling_stub.pkg
phoneengine/callhandling/data/callhandling_stub.sis
phoneengine/callhandling/group/bld.inf
phoneengine/callhandling/group/callhandling.mmp
phoneengine/callhandling/rom/callhandling_stub.pkg
phoneengine/callhandling/rom/callhandling_stub.sis
phoneengine/callhandling/src/cpecallhandling.cpp
phoneengine/callhandling/src/cpevideocallhandling.cpp
phoneengine/contacthandling2/data/contacthandling_stub.pkg
phoneengine/contacthandling2/data/contacthandling_stub.sis
phoneengine/contacthandling2/group/bld.inf
phoneengine/contacthandling2/group/contacthandling.mmp
phoneengine/contacthandling2/rom/contacthandling_stub.pkg
phoneengine/contacthandling2/rom/contacthandling_stub.sis
phoneengine/engineinfo/group/bld.inf
phoneengine/engineinfo/group/engineinfo.mmp
phoneengine/engineinfo/inc/cpecallinfo.h
phoneengine/engineinfo/inc/cpeengineinfoimpl.h
phoneengine/engineinfo/inc/mpedatastore.h
phoneengine/engineinfo/inc/mpeengineinfo.h
phoneengine/engineinfo/rom/engineinfo_stub.pkg
phoneengine/engineinfo/rom/engineinfo_stub.sis
phoneengine/engineinfo/src/cpecallinfo.cpp
phoneengine/engineinfo/src/cpeengineinfoimpl.cpp
phoneengine/loghandling/data/loghandling_stub.pkg
phoneengine/loghandling/data/loghandling_stub.sis
phoneengine/loghandling/group/bld.inf
phoneengine/loghandling/group/loghandling.mmp
phoneengine/loghandling/rom/loghandling_stub.pkg
phoneengine/loghandling/rom/loghandling_stub.sis
phoneengine/loghandling/tsrc/ut_cpelogevent/group/ut_cpelogevent.mmp
phoneengine/loghandling/tsrc/ut_cpelogexternaldata/group/ut_cpelogexternaldata.mmp
phoneengine/loghandling/tsrc/ut_cpeloginfo/group/ut_cpeloginfo.mmp
phoneengine/networkhandlingstarter/networkhandlingstarter.pro
phoneengine/networkhandlingstarter/rom/networkhandlingstarter.iby
phoneengine/networkhandlingstarter/rom/networkhandlingstarter_stub.pkg
phoneengine/networkhandlingstarter/rom/networkhandlingstarter_stub.sis
phoneengine/networkhandlingstarter/tsrc/ut_cnetworklistener/ut_cnetworklistener.pro
phoneengine/networkhandlingstarter/tsrc/ut_networkhandlingstarter/ut_networkhandlingstarter.pro
phoneengine/networkhandlingstarter/tsrc/ut_networkhandlingstarter_p/ut_networkhandlingstarter_p.pro
phoneengine/phonecntfinder2/data/phonecntfinder_stub.pkg
phoneengine/phonecntfinder2/data/phonecntfinder_stub.sis
phoneengine/phonecntfinder2/phonecntfinder2.pro
phoneengine/phonecntfinder2/rom/phonecntfinder_stub.pkg
phoneengine/phonecntfinder2/rom/phonecntfinder_stub.sis
phoneengine/phonecntfinder2/tsrc/u_cphcntcontactidimpl2/testcphcntcontactidimpl2.pro
phoneengine/phonecntfinder2/tsrc/u_cphcntfactoryimpl2/testfactoryimpl2.pro
phoneengine/phonecntfinder2/tsrc/u_cphcntmatch2/testmatch2.pro
phoneengine/phonecntfinder2/tsrc/u_cphcntmatcherimpl2/testmatcherimpl2.pro
phoneengine/phonemodel/data/phonemodel_stub.pkg
phoneengine/phonemodel/data/phonemodel_stub.sis
phoneengine/phonemodel/inc/cpemessagehandler.h
phoneengine/phonemodel/inc/pevirtualengine.h
phoneengine/phonemodel/phonemodel.pro
phoneengine/phonemodel/rom/phonemodel_stub.pkg
phoneengine/phonemodel/rom/phonemodel_stub.sis
phoneengine/phonemodel/rom/phonengengine.iby
phoneengine/phonemodel/src/cpemessagehandler.cpp
phoneengine/phonemodel/src/cpephonemodel.cpp
phoneengine/phonemodel/tsrc/ut_penetworkhandler/ut_penetworkhandler.pro
phoneengine/phoneservices/inc/dialservice.h
phoneengine/phoneservices/phoneservices.pro
phoneengine/phoneservices/rom/phoneservices_stub.pkg
phoneengine/phoneservices/rom/phoneservices_stub.sis
phoneengine/phoneservices/tsrc/urischemeservicetestapp/urischemeservicetestapp.pro
phoneengine/phoneservices/tsrc/ut_ctiurischemeparser/ut_ctiurischemeparser.pro
phoneengine/phoneservices/tsrc/ut_dialservice/unit_tests.cpp
phoneengine/phoneservices/tsrc/ut_dialservice/ut_dialservice.pro
phoneengine/phoneservices/tsrc/ut_dtmfservice/unit_tests.cpp
phoneengine/phoneservices/tsrc/ut_dtmfservice/ut_dtmfservice.pro
phoneengine/phoneservices/tsrc/ut_phoneservices/ut_phoneservices.pro
phoneengine/phoneservices/tsrc/ut_telurischemeparser/ut_telurischemeparser.pro
phoneengine/phoneservices/tsrc/ut_urischemehandlerservice/ut_urischemehandlerservice.pro
phoneengine/servicehandling/data/servicehandling_stub.pkg
phoneengine/servicehandling/data/servicehandling_stub.sis
phoneengine/servicehandling/group/bld.inf
phoneengine/servicehandling/group/peservicehandling.mmp
phoneengine/servicehandling/rom/servicehandling_stub.pkg
phoneengine/servicehandling/rom/servicehandling_stub.sis
phoneplugins/csplugin/data/csplugin_stub.pkg
phoneplugins/csplugin/data/csplugin_stub.sis
phoneplugins/csplugin/group/bld.inf
phoneplugins/csplugin/group/csplugin.mmp
phoneplugins/csplugin/rom/csplugin_stub.pkg
phoneplugins/csplugin/rom/csplugin_stub.sis
phoneplugins/csplugin/tsrc/automaticanswertest/automaticanswertest.pro
phoneplugins/dialerwidgetplugin/dialerwidgetplugin.pro
phoneplugins/dialerwidgetplugin/dialerwidgetplugin.qrc
phoneplugins/dialerwidgetplugin/dialerwidgetpluging.qrc
phoneplugins/dialerwidgetplugin/inc/dialerwidget.h
phoneplugins/dialerwidgetplugin/resource/dialerwidget.css
phoneplugins/dialerwidgetplugin/resource/dialerwidget.widgetml
phoneplugins/dialerwidgetplugin/resource/qtg_fr_shortcut_badge_bg_c.png
phoneplugins/dialerwidgetplugin/resource/qtg_fr_shortcut_badge_bg_l.png
phoneplugins/dialerwidgetplugin/resource/qtg_fr_shortcut_badge_bg_r.png
phoneplugins/dialerwidgetplugin/resource/qtg_graf_hs_dialer.svg
phoneplugins/dialerwidgetplugin/resource/qtg_graf_hs_dialer_pressed.svg
phoneplugins/dialerwidgetplugin/rom/dialerwidgetplugin.iby
phoneplugins/dialerwidgetplugin/rom/dialerwidgetplugin_stub.pkg
phoneplugins/dialerwidgetplugin/rom/dialerwidgetplugin_stub.sis
phoneplugins/dialerwidgetplugin/src/dialerwidget.cpp
phoneplugins/dialerwidgetplugin/src/dialerwidgetengine.cpp
phoneplugins/infowidgetplugin/infowidgetplugin.pro
phoneplugins/infowidgetplugin/rom/infowidgetplugin.iby
phoneplugins/infowidgetplugin/rom/infowidgetplugin_stub.pkg
phoneplugins/infowidgetplugin/rom/infowidgetplugin_stub.sis
phoneplugins/infowidgetplugin/tsrc/infowidgettest/resource/infowidget.docml
phoneplugins/infowidgetplugin/tsrc/infowidgettest/resource/settingsdialog.docml
phoneplugins/infowidgetplugin/tsrc/stubs/stub_cnwsession.cpp
phoneplugins/infowidgetplugin/tsrc/stubs/stub_networkhandlingproxy.cpp
phoneplugins/infowidgetplugin/tsrc/ut_infowidget/ut_infowidget.pro
phoneplugins/infowidgetplugin/tsrc/ut_infowidgetengine/ut_infowidgetengine.pro
phoneplugins/infowidgetplugin/tsrc/ut_infowidgetlayoutmanager/ut_infowidgetlayoutmanager.pro
phoneplugins/infowidgetplugin/tsrc/ut_infowidgetlinehandler/ut_infowidgetlinehandler.pro
phoneplugins/infowidgetplugin/tsrc/ut_infowidgetnetworkhandler/ut_infowidgetnetworkhandler.pro
phoneplugins/infowidgetplugin/tsrc/ut_infowidgetplugin/ut_infowidgetplugin.pro
phoneplugins/infowidgetplugin/tsrc/ut_infowidgetpreferences/ut_infowidgetpreferences.pro
phoneplugins/infowidgetplugin/tsrc/ut_infowidgetsathandler/ut_infowidgetsathandler.pro
phoneplugins/infowidgetplugin/tsrc/ut_infowidgetsathandlerprivate/ut_infowidgetsathandlerprivate.pro
phoneplugins/phoneindicatorplugin/phoneindicatorplugin.pro
phoneplugins/phoneindicatorplugin/rom/phoneindicatorplugin.iby
phoneplugins/phoneindicatorplugin/rom/phoneindicatorplugin_stub.pkg
phoneplugins/phoneindicatorplugin/rom/phoneindicatorplugin_stub.sis
phonesettings/cpphonesettingsplugins/barringplugin/barringplugin.pro
phonesettings/cpphonesettingsplugins/barringplugin/rom/cpbarringplugin_stub.pkg
phonesettings/cpphonesettingsplugins/barringplugin/rom/cpbarringplugin_stub.sis
phonesettings/cpphonesettingsplugins/barringplugin/src/cpbarringplugingroup.cpp
phonesettings/cpphonesettingsplugins/barringplugin/tsrc/ut_barringplugingroup/ut_barringplugingroup.cpp
phonesettings/cpphonesettingsplugins/barringplugin/tsrc/ut_barringplugingroup/ut_barringplugingroup.pro
phonesettings/cpphonesettingsplugins/barringplugin/tsrc/ut_cpbarringplugin/ut_cpbarringplugin.pro
phonesettings/cpphonesettingsplugins/callsplugin/callsplugin.pro
phonesettings/cpphonesettingsplugins/callsplugin/rom/cpcallsplugin_stub.pkg
phonesettings/cpphonesettingsplugins/callsplugin/rom/cpcallsplugin_stub.sis
phonesettings/cpphonesettingsplugins/callsplugin/src/cpcallsplugingroup.cpp
phonesettings/cpphonesettingsplugins/callsplugin/tsrc/ut_callsplugin/ut_callsplugin.pro
phonesettings/cpphonesettingsplugins/callsplugin/tsrc/ut_callsplugingroup/ut_callsplugingroup.pro
phonesettings/cpphonesettingsplugins/cpnetworkplugin/cpnetworkplugin.pro
phonesettings/cpphonesettingsplugins/cpnetworkplugin/rom/cpnetworkplugin_stub.pkg
phonesettings/cpphonesettingsplugins/cpnetworkplugin/rom/cpnetworkplugin_stub.sis
phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginform.cpp
phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cellulardatasettings/ut_cellulardatasettings.pro
phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkplugin/ut_cpnetworkplugin.pro
phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginform/ut_cpnetworkpluginform.pro
phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginview/ut_cpnetworkpluginview.pro
phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkstatus/ut_cpnetworkstatus.pro
phonesettings/cpphonesettingsplugins/cptelephonyutils/cptelephonyutils.pro
phonesettings/cpphonesettingsplugins/cptelephonyutils/rom/cptelephonyutils_stub.pkg
phonesettings/cpphonesettingsplugins/cptelephonyutils/rom/cptelephonyutils_stub.sis
phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpphonelocalisation/ut_cpphonelocalisation.pro
phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpplugincommon/ut_cpplugincommon.pro
phonesettings/cpphonesettingsplugins/divertplugin/divertplugin.pro
phonesettings/cpphonesettingsplugins/divertplugin/rom/cpdivertplugin_stub.pkg
phonesettings/cpphonesettingsplugins/divertplugin/rom/cpdivertplugin_stub.sis
phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertplugingroup.cpp
phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertplugingroup.h
phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertquery.cpp
phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertplugin/ut_cpdivertplugin.pro
phonesettings/cpphonesettingsplugins/rom/cpphonesettingsplugins.iby
phonesettings/cpphonesettingsplugins/telephonyplugin/rom/cptelephonyplugin_stub.pkg
phonesettings/cpphonesettingsplugins/telephonyplugin/rom/cptelephonyplugin_stub.sis
phonesettings/cpphonesettingsplugins/telephonyplugin/telephonyplugin.pro
phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonyplugin/ut_cptelephonyplugin.pro
phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonypluginview/ut_cptelephonypluginview.pro
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetcallbarringwrapper.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/ut_mockintegrity.pro
phoneuis/TelephonyDeviceMode/group/TelephonyDeviceMode.mmp
phoneuis/TelephonyDeviceMode/group/bld.inf
phoneuis/TelephonyDeviceMode/group/telephonydevicemode.pkg
phoneuis/TelephonyDeviceMode/group/telephonydevicemode_stub.SIS
phoneuis/TelephonyDeviceMode/group/telephonydevicemode_stub.pkg
phoneuis/TelephonyDeviceMode/rom/telephonydevicemode.pkg
phoneuis/TelephonyDeviceMode/rom/telephonydevicemode_stub.pkg
phoneuis/TelephonyDeviceMode/rom/telephonydevicemode_stub.sis
phoneuis/bubblemanager2/bubblecore/bubblecore.pro
phoneuis/bubblemanager2/bubblecore/rom/bubblecore_stub.pkg
phoneuis/bubblemanager2/bubblecore/rom/bubblecore_stub.sis
phoneuis/bubblemanager2/bubblecore/src/bubbleconferencehandler.cpp
phoneuis/bubblemanager2/bubblecore/src/bubbleparticipantlistitem.cpp
phoneuis/bubblemanager2/rom/bubblemanager.iby
phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletest2.pro
phoneuis/bubblemanager2/tsrc/unit/loctest/loctest.cpp
phoneuis/bubblemanager2/tsrc/unit/loctest/loctest.pro
phoneuis/bubblemanager2/tsrc/unit/mt_bubblemanager2/mt_bubblemanager2.pro
phoneuis/bubblemanager2/tsrc/unit/ut_bubblebutton/ut_bubblebutton.pro
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleconferenceheader/ut_bubbleconferenceheader.pro
phoneuis/bubblemanager2/tsrc/unit/ut_bubblecontainerwidget/ut_bubblecontainerwidget.pro
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleeffecthandler/ut_bubbleeffecthandler.pro
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheader/ut_bubbleheader.pro
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheadingwidget/ut_bubbleheadingwidget.pro
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagemanager/ut_bubbleimagemanager.pro
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagewidget/ut_bubbleimagewidget.pro
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleparticipantlistitem/ut_bubbleparticipantlistitem.pro
phoneuis/bubblemanager2/tsrc/unit/ut_bubblepartlistmodel/ut_bubblepartlistmodel.pro
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleutils/ut_bubbleutils.pro
tsrc/common/phonetest.pri
tsrc/common/qtestmains60.h
tsrc/mocks/orbit/mock_hbaction.cpp
tsrc/mocks/orbit/mock_hbicon.cpp
tsrc/mocks/phoneuiqtviewadapter/mock_phonebubblewrapper.cpp
tsrc/mocks/phoneuiqtviewadapter/mock_phonecallheadermanager.cpp
tsrc/mocks/phoneuiqtviewadapter/mock_phonecallheaderutil.cpp
tsrc/mocks/phoneuiqtviewadapter/mock_phoneuiqtviewadapter.cpp
tsrc/mocks/phoneuiview2/mock_phoneaction.cpp
tsrc/stubs/stubs.cpp
--- a/.hgignore	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-syntax: glob
-.make.cache
-Makefile
-Makefile*.mk
-.cproject
-.project
-moc_*.cpp
-qrc_*.cpp
-*.moc
-*.bak
-*.orig
-*_0*.mmp
-*template.pkg
-*.qtplugin
-plugin_commonU.def
-
-phoneapp/phoneui2/*.loc
-phoneapp/phoneui2/*.rss
-phoneapp/phoneui2/*.pkg
-phoneuis/bubblemanager2/*.pkg
-
-syntax: regexp
-^inc/.*
--- a/phone_plat/phone_application_commands_api/inc/phoneappcommands.hrh	Fri Sep 17 08:29:19 2010 +0300
+++ b/phone_plat/phone_application_commands_api/inc/phoneappcommands.hrh	Mon Oct 04 00:16:48 2010 +0300
@@ -32,57 +32,20 @@
     {
     // commands for all
     EPhoneCmdDoNothing = KPhoneCmdBase,
-    EPhoneCmdCancel,
     EPhoneCmdOptions,
-    EPhoneCmdOkOptions,
     EPhoneCmdBack,
     EPhoneCmdEnd,
-    EPhoneCmdEndAll,
-    EPhoneCmdIhfToggle,
-    EPhoneCmdNameDialer,
-    EPhoneLongMSKAnswer,
-    EPhoneLongSendActivateHandsfree,
-    EPhoneActivateForegroundReq, // doesn't leave
-    EPhoneCancelForegroundReq, // doesn't leave
-    EPhoneCmdToForeground, // doesn't leave
-    EPhoneCmdOk,
-    EPhoneCmdYes,
-    EPhoneCmdNo,
-    EPhoneCmdExit,
-    EPhoneCmdRedialQuit,
-    EPhoneCmdYesAlsLineChange,
-    EPhoneCmdNoAlsLineChange,
     EPhoneCmdYesBtDisconnectQuery,
     EPhoneCmdNoBtDisconnectQuery,
 
-    // commands for idle state.
-    EPhoneSoftkeyLeft,
-    EPhoneSoftkeyRight,
-    EPhoneIdleActivateNumberAcq,
-    EPhoneTogglEPhoneLines,
-    // for ShortcutManager
-    EPhoneSelectionKey,    // OK key
-    EPhoneScrollkeyLeft,
-    EPhoneScrollkeyUp,
-    EPhoneScrollkeyRight,
-    EPhoneScrollkeyDown,
-
     // commands for number acquisition.
-    EPhoneNumberAcqCmdPbkOperation,
     EPhoneNumberAcqCmdSave,
     EPhoneNumberAcqCmdAddToName,
     EPhoneNumberAcqCmdCall,
     EPhoneNumberAcqCmdVideoCall,
     EPhoneNumberAcqCmdSendCommand,
-    EPhoneNumberAcqCmdSendMessage,
-    EPhoneNumberAcqCmdHashCheck,  // NOT IN MENU.
     EPhoneNumberAcqSecurityDialer, // NOT IN MENU.
-
-    // CDMA specific
     EPhoneNumberAcqCmdAddToContacts,
-    EPhoneNumberAcqCmdInsertPause,
-    EPhoneNumberAcqCmdInsertTimedPause,
-    EPhoneNumberAcqCmdInsertHardPause,
     // commands for call coming in
     EPhoneCallComingCmdReject,
     EPhoneCallComingCmdAnswer,
@@ -91,20 +54,10 @@
     EPhoneCallComingCmdSilent,
     EPhoneCallComingCmdOptions,
     EPhoneCallComingCmdAnswerWithHandsfree,
-    EPhoneCallComingLongMSKAnswer,
-    EPhoneCallComingCmdProcessSend, // NOT IN MENU
-    //        Soft Reject
     EPhoneCallComingCmdSoftReject,
-    // CDMA specific
-    EPhoneCallComingCmdIgnore,
-    EPhoneCallComingCmdHelp,
-
-    // commands for call setup
-    EPhoneCallSetupCmdEnd,
     // commands for incall
     EPhoneInCallCmdSwap,
     EPhoneInCallCmdAnswer,
-    EPhoneInCallCmdAnswerHandPortable,
     EPhoneInCallCmdReject,
     EPhoneInCallCmdHold,
     EPhoneInCallCmdUnhold,
@@ -134,10 +87,8 @@
     EPhoneInCallCmdSendToCallerMenu,    
     EPhoneInCallCmdSendNew,
     EPhoneInCallCmdSendFile,
-    EPhoneInCallCmdProcessSend, // NOT IN MENU!
     EPhoneInCallCmdDrop,
     EPhoneInCallCmdPrivate,
-    EPhoneInCallCmdCbaJoin, // NOT IN MENU!
     EPhoneInCallCmdDialer,
     EPhoneInCallCmdContacts,
 
@@ -153,52 +104,14 @@
 
     EPhoneInCallCmdConferenceHold, // JMK
     EPhoneInCallCmdConferenceUnhold, // JMK
-    EPhoneInCallCmdNewCallFind,
-    EPhoneInCallCmdNewCallCall,
     EPhoneInCallCmdGoToIdle,
     EPhoneInCallCmdParticipants,
     
-    // CDMA specific
-    EPhoneInCallCmdMulticall3WayCall,
-    EPhoneInCallCmdMulticallIgnore,
-    EPhoneInCallCmdFlash,
-    EPhoneInCallCmdHelp,
-    EPhoneInCallCmdEmergencyActivateIhf,
-    EPhoneInCallCmdEmergencyDeactivateIhf,
-    EPhoneInCallCmdEmergencyHandset,
-    EPhoneInCallPhoneInfo,
-    // CDMA Emergency specific
-    EPhoneEmergencyCmdYes,
-    EPhoneEmergencyCmdNo,
-    EPhoneEmergencyCmdExit,    //6121
-    // Settings GUI (commands useful to many GUI's)
-    EPhoneCmdSettingsUiOptions,
-    EPhoneCmdSettingsUiBack,
-    EPhoneCmdSettingsUiOpen,
-    EPhoneCmdSettingsUiExit,
-    // Settings GUI - Data Parameters GUI (commands specific to DataParameters)
-    EPhoneCmdDataParametersRestoreSettings,
-    EPhoneCmdRelease,   
+    EPhoneEmergencyCmdExit,         
     // DTMF specific
-    EPhoneCmdDtmfSearch,
     EPhoneCmdDtmfOk,
-    EPhoneInCallCmdDtmfListViewSearch,    
     // other commands
     EPhoneCmdWaitNoteOk,
-    EPhoneCmdVideoCallMemoryLowNoteDismissed,
-    EPhoneCmdSecurityInd, // NOT to leave
-    EPhoneInCallCmdSwitchToVideo,
-    EPhoneInCallCmdSwitchToVoice,
-    EPhoneCmdYesSwitchToVideo,
-    EPhoneCmdNoSwitchToVideo,
-    EPhoneCmdYesSwitchToVoice,
-    EPhoneCmdNoSwitchToVoice,    
-    EPhoneMediatorSetPhoneNumber,
-    EPhoneCmdCoverUiShowMultimediaRingingTone,
-    EPhoneInCallCmdLockKeypad,
-    EPhoneInCallCmdLockScreen,
-    EPhoneCmdYesVideoFailedNoMemorySwitchToVoice,
-    EPhoneCmdNoVideoFailedNoMemorySwitchToVoice,
     EPhoneInCallCmdSetVolumeLevel,
     
     //Dialer commands
--- a/phone_plat/phone_application_commands_api/inc/xqphoneappcommands.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phone_plat/phone_application_commands_api/inc/xqphoneappcommands.h	Mon Oct 04 00:16:48 2010 +0300
@@ -28,8 +28,7 @@
     PhoneInCallCmdEndAllCalls,
     PhoneInCallCmdTransfer,
     PhoneInCallCmdSendMessage,
-    PhoneInCallShareVideo,
-    PhoneInCallCmdSwitchToVideo,
+    PhoneInCallShareVideo,    
     PhoneInCallCmdHandoverToWlan,
     PhoneInCallCmdHandoverToGsm,
     
--- a/phoneapp/Blacklist/group/bld.inf	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/Blacklist/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -23,7 +23,7 @@
 
 PRJ_EXPORTS
 ../inc/phoneanimdllstd.h         |../../../inc/phoneanimdllstd.h
-../group/phoneanimdll_stub.sis    /epoc32/data/z/system/install/phoneanimdll_stub.sis
+../rom/phoneanimdll_stub.sis    /epoc32/data/z/system/install/phoneanimdll_stub.sis
 
 // IBY files
 ../rom/phoneanimdll.iby             CORE_APP_LAYER_IBY_EXPORT_PATH(phoneanimdll.iby)
--- a/phoneapp/Blacklist/group/phoneanimdll.mmp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/Blacklist/group/phoneanimdll.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -26,6 +26,8 @@
 TARGETTYPE      ANI
 UID             0x10003B22 0x100059FE
 
+VERSION         10.0
+
 SOURCEPATH      ../src
 
 USERINCLUDE     ../inc
@@ -41,3 +43,6 @@
 
 
 // End of File
+
+
+SMPSAFE
Binary file phoneapp/Blacklist/group/phoneanimdll_stub.SIS has changed
--- a/phoneapp/Blacklist/group/phoneanimdll_stub.pkg	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +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: For packing phoneanimdll stub.
-;
-; phoneanimdll_stub.pkg
-
-; Languages
-&EN
-
-; Header
-#{"phoneanimdll"},(0x100059FE),1,0,0,TYPE=SA
-
-;Localised Vendor name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-; Target
-
-""-"z:\sys\bin\phoneanimdll.dll"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/Blacklist/rom/phoneanimdll_stub.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,32 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: For packing phoneanimdll stub.
+;
+; phoneanimdll_stub.pkg
+
+; Languages
+&EN
+
+; Header
+#{"phoneanimdll"},(0x100059FE),1,0,0,TYPE=SA
+
+;Localised Vendor name
+%{"Nokia"}
+
+;Unique Vendor name
+:"Nokia"
+
+; Target
+
+""-"z:\sys\bin\phoneanimdll.dll"
Binary file phoneapp/Blacklist/rom/phoneanimdll_stub.sis has changed
--- a/phoneapp/phonemediatorcenter/bwins/phonemediatorcenteru.def	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phonemediatorcenter/bwins/phonemediatorcenteru.def	Mon Oct 04 00:16:48 2010 +0300
@@ -1,17 +1,16 @@
 EXPORTS
-	?CommandListener@CPhoneMediatorFactory@@QAEPAVCPhoneMediatorCommandListener@@PAVMPhoneMenuAndCbaEvents@@PAVMPhoneEngineMessageSender@@PAVMPEEngineInfo@@@Z @ 1 NONAME ; class CPhoneMediatorCommandListener * CPhoneMediatorFactory::CommandListener(class MPhoneMenuAndCbaEvents *, class MPhoneEngineMessageSender *, class MPEEngineInfo *)
-	?Instance@CPhoneMediatorFactory@@SAPAV1@XZ @ 2 NONAME ; class CPhoneMediatorFactory * CPhoneMediatorFactory::Instance(void)
-	?Instance@CPhoneMediatorSender@@SAPAV1@XZ @ 3 NONAME ; class CPhoneMediatorSender * CPhoneMediatorSender::Instance(void)
-	?IssueCommand@CPhoneMediatorSender@@QAEHVTUid@@0HVTVersion@@ABVTDesC8@@PAVMPhoneShutdownCommand@@@Z @ 4 NONAME ; int CPhoneMediatorSender::IssueCommand(class TUid, class TUid, int, class TVersion, class TDesC8 const &, class MPhoneShutdownCommand *)
-	?MediatorMessage@CPhoneMediatorFactory@@QAEPAVMPhoneMediatorMessage@@HH@Z @ 5 NONAME ; class MPhoneMediatorMessage * CPhoneMediatorFactory::MediatorMessage(int, int)
-	?NewL@CPhoneReleaseCommand@@SAPAV1@AAVMPhoneEngineMessageSender@@@Z @ 6 NONAME ; class CPhoneReleaseCommand * CPhoneReleaseCommand::NewL(class MPhoneEngineMessageSender &)
-	?NewL@CPhoneSwitchToVideoOrVoiceCommand@@SAPAV1@AAVMPhoneEngineMessageSender@@@Z @ 7 NONAME ; class CPhoneSwitchToVideoOrVoiceCommand * CPhoneSwitchToVideoOrVoiceCommand::NewL(class MPhoneEngineMessageSender &)
-	?NewL@CPhoneTerminateAllConnectionsCommand@@SAPAV1@AAVMPhoneEngineMessageSender@@@Z @ 8 NONAME ; class CPhoneTerminateAllConnectionsCommand * CPhoneTerminateAllConnectionsCommand::NewL(class MPhoneEngineMessageSender &)
-	?SendEvent@CPhoneMediatorSender@@QAEXHAAVTPhoneCommandParam@@@Z @ 9 NONAME ; void CPhoneMediatorSender::SendEvent(int, class TPhoneCommandParam &)
-	?SendEvent@CPhoneMediatorSender@@QBEXHH@Z @ 10 NONAME ; void CPhoneMediatorSender::SendEvent(int, int) const
-	?SendEvent@CPhoneMediatorSender@@QBEXHHAAVTPhoneCommandParam@@@Z @ 11 NONAME ; void CPhoneMediatorSender::SendEvent(int, int, class TPhoneCommandParam &) const
-	?Sender@CPhoneMediatorFactory@@QAEPAVCPhoneMediatorSender@@XZ @ 12 NONAME ; class CPhoneMediatorSender * CPhoneMediatorFactory::Sender(void)
-	?SendEvent@CPhoneMediatorSender@@QBEXH@Z @ 13 NONAME ; void CPhoneMediatorSender::SendEvent(int) const
-	?SendEvent@CPhoneMediatorSender@@QBEXHHPBVTDesC16@@@Z @ 14 NONAME ; void CPhoneMediatorSender::SendEvent(int, int, class TDesC16 const *) const
-	?NewL@CPhoneContinueEmergencyCallCommand@@SAPAV1@AAVMPhoneEngineMessageSender@@@Z @ 15 NONAME ; class CPhoneContinueEmergencyCallCommand * CPhoneContinueEmergencyCallCommand::NewL(class MPhoneEngineMessageSender &)
+	?SendEvent@CPhoneMediatorSender@@QBEXHHPBVTDesC16@@@Z @ 1 NONAME ; void CPhoneMediatorSender::SendEvent(int, int, class TDesC16 const *) const
+	?IssueCommand@CPhoneMediatorSender@@QAEHVTUid@@0HVTVersion@@ABVTDesC8@@PAVMPhoneShutdownCommand@@@Z @ 2 NONAME ; int CPhoneMediatorSender::IssueCommand(class TUid, class TUid, int, class TVersion, class TDesC8 const &, class MPhoneShutdownCommand *)
+	?Sender@CPhoneMediatorFactory@@QAEPAVCPhoneMediatorSender@@XZ @ 3 NONAME ; class CPhoneMediatorSender * CPhoneMediatorFactory::Sender(void)
+	?SendEvent@CPhoneMediatorSender@@QAEXHAAVTPhoneCommandParam@@@Z @ 4 NONAME ; void CPhoneMediatorSender::SendEvent(int, class TPhoneCommandParam &)
+	?NewL@CPhoneContinueEmergencyCallCommand@@SAPAV1@AAVMPhoneEngineMessageSender@@@Z @ 5 NONAME ; class CPhoneContinueEmergencyCallCommand * CPhoneContinueEmergencyCallCommand::NewL(class MPhoneEngineMessageSender &)
+	?SendEvent@CPhoneMediatorSender@@QBEXHH@Z @ 6 NONAME ; void CPhoneMediatorSender::SendEvent(int, int) const
+	?SendEvent@CPhoneMediatorSender@@QBEXH@Z @ 7 NONAME ; void CPhoneMediatorSender::SendEvent(int) const
+	?SendEvent@CPhoneMediatorSender@@QBEXHHAAVTPhoneCommandParam@@@Z @ 8 NONAME ; void CPhoneMediatorSender::SendEvent(int, int, class TPhoneCommandParam &) const
+	?Instance@CPhoneMediatorSender@@SAPAV1@XZ @ 9 NONAME ; class CPhoneMediatorSender * CPhoneMediatorSender::Instance(void)
+	?NewL@CPhoneTerminateAllConnectionsCommand@@SAPAV1@AAVMPhoneEngineMessageSender@@@Z @ 10 NONAME ; class CPhoneTerminateAllConnectionsCommand * CPhoneTerminateAllConnectionsCommand::NewL(class MPhoneEngineMessageSender &)
+	?CommandListener@CPhoneMediatorFactory@@QAEPAVCPhoneMediatorCommandListener@@PAVMPhoneMenuAndCbaEvents@@PAVMPhoneEngineMessageSender@@PAVMPEEngineInfo@@@Z @ 11 NONAME ; class CPhoneMediatorCommandListener * CPhoneMediatorFactory::CommandListener(class MPhoneMenuAndCbaEvents *, class MPhoneEngineMessageSender *, class MPEEngineInfo *)
+	?MediatorMessage@CPhoneMediatorFactory@@QAEPAVMPhoneMediatorMessage@@HH@Z @ 12 NONAME ; class MPhoneMediatorMessage * CPhoneMediatorFactory::MediatorMessage(int, int)
+	?NewL@CPhoneReleaseCommand@@SAPAV1@AAVMPhoneEngineMessageSender@@@Z @ 13 NONAME ; class CPhoneReleaseCommand * CPhoneReleaseCommand::NewL(class MPhoneEngineMessageSender &)
+	?Instance@CPhoneMediatorFactory@@SAPAV1@XZ @ 14 NONAME ; class CPhoneMediatorFactory * CPhoneMediatorFactory::Instance(void)
 
--- a/phoneapp/phonemediatorcenter/eabi/phonemediatorcenteru.def	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phonemediatorcenter/eabi/phonemediatorcenteru.def	Mon Oct 04 00:16:48 2010 +0300
@@ -7,29 +7,26 @@
 	_ZN21CPhoneMediatorFactory15MediatorMessageEii @ 6 NONAME
 	_ZN21CPhoneMediatorFactory6SenderEv @ 7 NONAME
 	_ZN21CPhoneMediatorFactory8InstanceEv @ 8 NONAME
-	_ZN33CPhoneSwitchToVideoOrVoiceCommand4NewLER25MPhoneEngineMessageSender @ 9 NONAME
+	_ZN34CPhoneContinueEmergencyCallCommand4NewLER25MPhoneEngineMessageSender @ 9 NONAME
 	_ZN36CPhoneTerminateAllConnectionsCommand4NewLER25MPhoneEngineMessageSender @ 10 NONAME
-	_ZNK20CPhoneMediatorSender9SendEventEii @ 11 NONAME
-	_ZNK20CPhoneMediatorSender9SendEventEiiR18TPhoneCommandParam @ 12 NONAME
-	_ZTI20CPhoneMediatorSender @ 13 NONAME ; #<TI>#
-	_ZTI20CPhoneReleaseCommand @ 14 NONAME ; #<TI>#
-	_ZTI21CPhoneDataPortMessage @ 15 NONAME ; #<TI>#
-	_ZTI21CPhoneMediatorFactory @ 16 NONAME ; #<TI>#
-	_ZTI28CPhoneMediatorMessageFactory @ 17 NONAME ; #<TI>#
-	_ZTI29CPhoneMediatorCommandListener @ 18 NONAME ; #<TI>#
-	_ZTI33CPhoneSwitchToVideoOrVoiceCommand @ 19 NONAME ; #<TI>#
-	_ZTI36CPhoneTerminateAllConnectionsCommand @ 20 NONAME ; #<TI>#
-	_ZTV20CPhoneMediatorSender @ 21 NONAME ; #<VT>#
-	_ZTV20CPhoneReleaseCommand @ 22 NONAME ; #<VT>#
-	_ZTV21CPhoneDataPortMessage @ 23 NONAME ; #<VT>#
-	_ZTV21CPhoneMediatorFactory @ 24 NONAME ; #<VT>#
-	_ZTV28CPhoneMediatorMessageFactory @ 25 NONAME ; #<VT>#
-	_ZTV29CPhoneMediatorCommandListener @ 26 NONAME ; #<VT>#
-	_ZTV33CPhoneSwitchToVideoOrVoiceCommand @ 27 NONAME ; #<VT>#
-	_ZTV36CPhoneTerminateAllConnectionsCommand @ 28 NONAME ; #<VT>#
-	_ZNK20CPhoneMediatorSender9SendEventEi @ 29 NONAME
-	_ZNK20CPhoneMediatorSender9SendEventEiiPK7TDesC16 @ 30 NONAME
-	_ZN34CPhoneContinueEmergencyCallCommand4NewLER25MPhoneEngineMessageSender @ 31 NONAME
-	_ZTI34CPhoneContinueEmergencyCallCommand @ 32 NONAME ; #<TI>#
-	_ZTV34CPhoneContinueEmergencyCallCommand @ 33 NONAME ; #<VT>#
+	_ZNK20CPhoneMediatorSender9SendEventEi @ 11 NONAME
+	_ZNK20CPhoneMediatorSender9SendEventEii @ 12 NONAME
+	_ZNK20CPhoneMediatorSender9SendEventEiiPK7TDesC16 @ 13 NONAME
+	_ZNK20CPhoneMediatorSender9SendEventEiiR18TPhoneCommandParam @ 14 NONAME
+	_ZTI20CPhoneMediatorSender @ 15 NONAME
+	_ZTI20CPhoneReleaseCommand @ 16 NONAME
+	_ZTI21CPhoneDataPortMessage @ 17 NONAME
+	_ZTI21CPhoneMediatorFactory @ 18 NONAME
+	_ZTI28CPhoneMediatorMessageFactory @ 19 NONAME
+	_ZTI29CPhoneMediatorCommandListener @ 20 NONAME
+	_ZTI34CPhoneContinueEmergencyCallCommand @ 21 NONAME
+	_ZTI36CPhoneTerminateAllConnectionsCommand @ 22 NONAME
+	_ZTV20CPhoneMediatorSender @ 23 NONAME
+	_ZTV20CPhoneReleaseCommand @ 24 NONAME
+	_ZTV21CPhoneDataPortMessage @ 25 NONAME
+	_ZTV21CPhoneMediatorFactory @ 26 NONAME
+	_ZTV28CPhoneMediatorMessageFactory @ 27 NONAME
+	_ZTV29CPhoneMediatorCommandListener @ 28 NONAME
+	_ZTV34CPhoneContinueEmergencyCallCommand @ 29 NONAME
+	_ZTV36CPhoneTerminateAllConnectionsCommand @ 30 NONAME
 
--- a/phoneapp/phonemediatorcenter/group/bld.inf	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phonemediatorcenter/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -23,7 +23,7 @@
 DEFAULT
 
 PRJ_EXPORTS
-../group/phonemediatorcenter_stub.sis          /epoc32/data/z/system/install/phonemediatorcenter_stub.sis
+../rom/phonemediatorcenter_stub.sis          /epoc32/data/z/system/install/phonemediatorcenter_stub.sis
 
 PRJ_MMPFILES
 phonemediatorcenter.mmp
--- a/phoneapp/phonemediatorcenter/group/phonemediatorcenter.mmp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phonemediatorcenter/group/phonemediatorcenter.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -27,6 +27,8 @@
 // Assign Vendor ID.
 VENDORID VID_DEFAULT
 
+VERSION 10.0
+
 TARGET          phonemediatorcenter.dll
 TARGETTYPE      dll
 
@@ -39,7 +41,6 @@
 SOURCE          cphonemediatormessagefactory.cpp
 SOURCE          cphonemediatorsender.cpp
 SOURCE          cphonereleasecommand.cpp
-SOURCE          cphoneswitchtovideoorvoicecommand.cpp
 SOURCE          cphoneterminateallconnectionscommand.cpp
 SOURCE          cphonecontinueemergencycallcommand.cpp
 
@@ -66,3 +67,6 @@
 
 // Mediator
 LIBRARY         mediatorclient.lib
+
+
+SMPSAFE
--- a/phoneapp/phonemediatorcenter/group/phonemediatorcenter_stub.pkg	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +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: For packing phonemediatorcenter stub.
-;
-; Languages
-&EN
-
-; Header
-#{"PhoneMediatorCenter"}, (0x20011381), 1, 0, 0, TYPE=SA
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Files
-;
-;  PhoneMediatorCenter
-;
-"" - "z:\sys\bin\phonemediatorcenter.dll"
Binary file phoneapp/phonemediatorcenter/group/phonemediatorcenter_stub.sis has changed
--- a/phoneapp/phonemediatorcenter/inc/cphoneswitchtovideoorvoicecommand.h	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     Command for switching to video/voice at Video Telephony shutdown.
-*
-*/
-
-
-#ifndef CPHONESWITCHTOVIDEOORVOICECOMMAND_H
-#define CPHONESWITCHTOVIDEOORVOICECOMMAND_H
-
-// INCLUDES
-#include <e32base.h>
-#include "mphoneshutdowncommand.h"
-#include "mphoneenginemessagesender.h"
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-class CPhoneSwitchToVideoOrVoiceCommand : public CBase, 
-    public MPhoneShutdownCommand
-    {
-    public:  
-
-        /**
-         * Destructor.
-         */
-        virtual ~CPhoneSwitchToVideoOrVoiceCommand();
-        
-        /**
-        * Two-phased constructor.
-        */
-        IMPORT_C static CPhoneSwitchToVideoOrVoiceCommand* NewL( 
-            MPhoneEngineMessageSender& aEngineMessageSender );
-        
-        /**
-        * Executes this Command.
-        */
-        virtual void ExecuteLD();
-        
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CPhoneSwitchToVideoOrVoiceCommand( 
-            MPhoneEngineMessageSender& aEngineMessageSender );
-        
-        /**
-         * By default EPOC constructor is private.
-         */
-        void ConstructL();
-        
-        
-    private:
-
-        /**
-        * For sending message to Phone Engine.
-        */    
-        MPhoneEngineMessageSender& iEngineMessageSender;
-                     
-    };
-    
-#endif // CPHONESWITCHTOVIDEOORVOICECOMMAND_H
-
-// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonemediatorcenter/rom/phonemediatorcenter_stub.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,32 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: For packing phonemediatorcenter stub.
+;
+; Languages
+&EN
+
+; Header
+#{"PhoneMediatorCenter"}, (0x20011381), 1, 0, 0, TYPE=SA
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+;Files
+;
+;  PhoneMediatorCenter
+;
+"" - "z:\sys\bin\phonemediatorcenter.dll"
Binary file phoneapp/phonemediatorcenter/rom/phonemediatorcenter_stub.sis has changed
--- a/phoneapp/phonemediatorcenter/src/cphonemediatorsender.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phonemediatorcenter/src/cphonemediatorsender.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -69,6 +69,10 @@
 // Destructor
 CPhoneMediatorSender::~CPhoneMediatorSender()
     {
+    iEventSender->UnregisterEvent( KMediatorTelephonyDomain,
+                                   KCatEventsFromTelephony,
+                                   iGenericEvents ); 
+
     delete iCommandInitiator;
     iEvents.Close();
     iGenericEvents.Close(); 
--- a/phoneapp/phonemediatorcenter/src/cphoneswitchtovideoorvoicecommand.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implementation of CPhoneSwitchToVideoOrVoiceCommand class.
-*
-*/
-
-
-// INCLUDE FILES
-#include "phonelogger.h"
-#include "cphoneswitchtovideoorvoicecommand.h"
-#include "pevirtualengine.h"
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CPhoneSwitchToVideoOrVoiceCommand::CPhoneSwitchToVideoOrVoiceCommand
-// ---------------------------------------------------------
-//
-CPhoneSwitchToVideoOrVoiceCommand::CPhoneSwitchToVideoOrVoiceCommand( 
-    MPhoneEngineMessageSender& aEngineMessageSender ) : 
-    iEngineMessageSender( aEngineMessageSender )
-    {
-    }
-
-// ---------------------------------------------------------
-// CPhoneSwitchToVideoOrVoiceCommand::ConstructL
-// ---------------------------------------------------------
-//
-void CPhoneSwitchToVideoOrVoiceCommand::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------
-// CPhoneSwitchToVideoOrVoiceCommand::NewL
-// ---------------------------------------------------------
-//
-EXPORT_C CPhoneSwitchToVideoOrVoiceCommand* CPhoneSwitchToVideoOrVoiceCommand::NewL( 
-    MPhoneEngineMessageSender& aEngineMessageSender )
-    {
-    __LOGMETHODSTARTEND( EPhoneMediatorCenter, "CPhoneSwitchToVideoOrVoiceCommand::NewL( ) ");
-    CPhoneSwitchToVideoOrVoiceCommand* self = new( ELeave ) 
-        CPhoneSwitchToVideoOrVoiceCommand( aEngineMessageSender );
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-    
-// ---------------------------------------------------------
-// CPhoneSwitchToVideoOrVoiceCommand::~CPhoneSwitchToVideoOrVoiceCommand
-// ---------------------------------------------------------
-//
-CPhoneSwitchToVideoOrVoiceCommand::~CPhoneSwitchToVideoOrVoiceCommand()
-    {
-    }
-
-// ---------------------------------------------------------
-// CPhoneSwitchToVideoOrVoiceCommand::ExecuteL
-// ---------------------------------------------------------
-//
-void CPhoneSwitchToVideoOrVoiceCommand::ExecuteLD()
-    {
-    __LOGMETHODSTARTEND( EPhoneMediatorCenter, 
-        "CPhoneSwitchToVideoOrVoiceCommand::ExecuteL( ) ");
-    iEngineMessageSender.SendPhoneEngineMessage( 
-        MPEPhoneModel::EPEMessageSwitchToVideoOrVoice );
-    delete this;
-    }
-
-//  End of File  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonemediatorcenter/tsrc/ut_mediatorfactory/BWINS/ut_mediatorfactoryu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,15 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
+	?Sender@CPhoneMediatorFactory@@QAEPAVCPhoneMediatorSender@@XZ @ 2 NONAME ; class CPhoneMediatorSender * CPhoneMediatorFactory::Sender(void)
+	?Static@CCoeEnv@@SAPAVCCoeStatic@@VTUid@@@Z @ 3 NONAME ; class CCoeStatic * CCoeEnv::Static(class TUid)
+	??0CCoeStatic@@IAE@XZ @ 4 NONAME ; CCoeStatic::CCoeStatic(void)
+	??1CPhoneMethodLogger@@UAE@XZ @ 5 NONAME ; CPhoneMethodLogger::~CPhoneMethodLogger(void)
+	?CCoeStatic_Reserved1@CCoeStatic@@EAEXXZ @ 6 NONAME ; void CCoeStatic::CCoeStatic_Reserved1(void)
+	??0CPhoneMethodLogger@@QAE@W4TPhoneUILoggingComponent@@VTPtrC16@@@Z @ 7 NONAME ; CPhoneMethodLogger::CPhoneMethodLogger(enum TPhoneUILoggingComponent, class TPtrC16)
+	?Instance@CPhoneMediatorSender@@SAPAV1@XZ @ 8 NONAME ; class CPhoneMediatorSender * CPhoneMediatorSender::Instance(void)
+	?CCoeStatic_Reserved2@CCoeStatic@@EAEXXZ @ 9 NONAME ; void CCoeStatic::CCoeStatic_Reserved2(void)
+	?MediatorMessage@CPhoneMediatorFactory@@QAEPAVMPhoneMediatorMessage@@HH@Z @ 10 NONAME ; class MPhoneMediatorMessage * CPhoneMediatorFactory::MediatorMessage(int, int)
+	??0CCoeStatic@@IAE@VTUid@@W4TScope@0@@Z @ 11 NONAME ; CCoeStatic::CCoeStatic(class TUid, enum CCoeStatic::TScope)
+	?CommandListener@CPhoneMediatorFactory@@QAEPAVCPhoneMediatorCommandListener@@PAVMPhoneMenuAndCbaEvents@@PAVMPhoneEngineMessageSender@@PAVMPEEngineInfo@@@Z @ 12 NONAME ; class CPhoneMediatorCommandListener * CPhoneMediatorFactory::CommandListener(class MPhoneMenuAndCbaEvents *, class MPhoneEngineMessageSender *, class MPEEngineInfo *)
+	?Instance@CPhoneMediatorFactory@@SAPAV1@XZ @ 13 NONAME ; class CPhoneMediatorFactory * CPhoneMediatorFactory::Instance(void)
+	??1CCoeStatic@@UAE@XZ @ 14 NONAME ; CCoeStatic::~CCoeStatic(void)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonemediatorcenter/tsrc/ut_mediatorfactory/EABI/ut_mediatorfactoryu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,15 @@
+EXPORTS
+	_Z16CreateTestSuiteLv @ 1 NONAME
+	_ZN21CPhoneMediatorFactory15CommandListenerEP22MPhoneMenuAndCbaEventsP25MPhoneEngineMessageSenderP13MPEEngineInfo @ 2 NONAME
+	_ZN21CPhoneMediatorFactory15MediatorMessageEii @ 3 NONAME
+	_ZN21CPhoneMediatorFactory6SenderEv @ 4 NONAME
+	_ZN21CPhoneMediatorFactory8InstanceEv @ 5 NONAME
+	_ZTI10CCoeStatic @ 6 NONAME ; #<TI>#
+	_ZTI18CPhoneMethodLogger @ 7 NONAME ; #<TI>#
+	_ZTI21CPhoneMediatorFactory @ 8 NONAME ; #<TI>#
+	_ZTV10CCoeStatic @ 9 NONAME ; #<VT>#
+	_ZTV18CPhoneMethodLogger @ 10 NONAME ; #<VT>#
+	_ZTV21CPhoneMediatorFactory @ 11 NONAME ; #<VT>#
+	_ZTI9Singleton @ 12 NONAME ; #<TI>#
+	_ZTV9Singleton @ 13 NONAME ; #<VT>#
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonemediatorcenter/tsrc/ut_mediatorfactory/Src/globals.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,38 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include "globals.h"
+
+Singleton* Singleton::pinstance = 0; // initialize pointer
+
+Singleton* Singleton::Instance()
+	{
+	if(pinstance == 0)
+		{
+		pinstance = new Singleton;
+		}
+	return pinstance;
+	}
+	
+Singleton::Singleton()
+	{
+
+	}
+
+Singleton::~Singleton()
+	{
+	Singleton::pinstance = 0;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonemediatorcenter/tsrc/ut_mediatorfactory/Src/globals.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,46 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#ifndef GLOBALS_H
+#define GLOBALS_H
+
+#include <e32std.h>
+#include <MediatorCommandResponder.h>
+
+class Singleton : public CBase
+	{
+	public:
+		static Singleton* Instance();
+		~Singleton();
+
+	protected:
+		Singleton();
+		Singleton(const Singleton&);
+		Singleton& operator=(const Singleton&);
+
+	private:
+		
+	public:
+        static Singleton* pinstance;
+        TBool iLeave;
+        TBool iCreateMessageLeave;
+        TInt iMessageObject;
+        TInt iSenderObject;
+	};
+    
+#endif      // GLOBALS_H
+    
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonemediatorcenter/tsrc/ut_mediatorfactory/Src/stubs.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,97 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include "CPhoneMediatorCommandListener.h"
+#include "globals.h"
+
+extern TInt commandListenerInitialised;
+CPhoneMediatorCommandListener* CPhoneMediatorCommandListener::Instance() { return NULL; }
+void CPhoneMediatorCommandListener::Initialize( MPhoneMenuAndCbaEvents*, MPhoneEngineMessageSender*, MPEEngineInfo* ) 
+        { 
+        commandListenerInitialised  = ETrue;
+        };
+
+#include "CPhoneMediatorMessageFactory.h"
+
+CPhoneMediatorMessageFactory* CPhoneMediatorMessageFactory::NewL( MPEEngineInfo& ) 
+    {
+    if( Singleton::Instance()->iLeave )
+        {
+        User::Leave( KErrNoMemory );
+        return NULL; // never reached, here just because otherwise compiler complains
+        }
+    else 
+        {
+        return NULL;     
+        }
+    }
+MPhoneMediatorMessage* CPhoneMediatorMessageFactory::CreateMessageL( TInt, TInt ) 
+    {
+    if( Singleton::Instance()->iCreateMessageLeave )
+        {
+        User::Leave( KErrNoMemory );
+        return NULL; // never reached, here just because otherwise compiler complains
+        }
+    else
+        {
+        if( Singleton::Instance()->iMessageObject != 0 )
+            {
+            return reinterpret_cast<MPhoneMediatorMessage*>( Singleton::Instance()->iMessageObject );
+            }
+        else
+            {
+            return NULL;                     
+            }
+        }
+    }
+
+#include "CPhoneMediatorSender.h"
+
+CPhoneMediatorSender* CPhoneMediatorSender::Instance() 
+    {
+    if( Singleton::Instance()->iSenderObject != 0 )
+        {
+        return reinterpret_cast<CPhoneMediatorSender*>( Singleton::Instance()->iSenderObject );
+        }
+    else
+        {
+        return NULL;         
+        }
+    }
+
+#include "cphonelogger.h"
+
+CPhoneMethodLogger::CPhoneMethodLogger(
+        TPhoneUILoggingComponent /*aLoggingComponent*/,
+        TPtrC /*aString*/ )
+    {
+    }
+
+CPhoneMethodLogger::~CPhoneMethodLogger()
+    {
+    }
+
+#include <coemain.h>
+CCoeStatic* CCoeEnv::Static( TUid ) { return NULL; }
+
+CCoeStatic::~CCoeStatic() {}
+CCoeStatic::CCoeStatic() {}
+CCoeStatic::CCoeStatic( TUid, TScope ) { }
+void CCoeStatic::CCoeStatic_Reserved1() {}
+void CCoeStatic::CCoeStatic_Reserved2() {}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonemediatorcenter/tsrc/ut_mediatorfactory/Src/ut_mediatorfactory.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,247 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_mediatorfactory.h"
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+
+#include "mpeengineinfo.h"
+#include "phoneui.pan"
+#include "globals.h"
+#include "CPhoneMediatorFactory.h"
+
+// Globals 
+TInt commandListenerInitialised;
+Singleton* singleton = NULL;
+
+// - Construction -----------------------------------------------------------
+
+ut_mediatorfactory* ut_mediatorfactory::NewL()
+    {
+    ut_mediatorfactory* self = ut_mediatorfactory::NewLC();
+    CleanupStack::Pop();
+    return self;
+    }
+
+ut_mediatorfactory* ut_mediatorfactory::NewLC()
+    {
+    ut_mediatorfactory* self = new( ELeave ) ut_mediatorfactory();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+ut_mediatorfactory::~ut_mediatorfactory()
+    {
+    }
+
+ut_mediatorfactory::ut_mediatorfactory()
+    {
+    }
+
+void ut_mediatorfactory::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    }
+
+// - Test methods -----------------------------------------------------------
+
+
+
+void ut_mediatorfactory::SetupL(  )
+    {
+    commandListenerInitialised = EFalse;
+    Singleton::pinstance = 0;
+    singleton = Singleton::Instance();
+    iFactory = CPhoneMediatorFactory::Instance();
+    }
+    
+
+void ut_mediatorfactory::Teardown(  )
+    {
+    delete iFactory;
+    if( singleton != NULL )
+        {
+        delete singleton;
+        singleton = NULL;
+        }
+    }
+    
+
+void ut_mediatorfactory::TestInitialisingCommandListenerL(  )
+    {
+    MPhoneMenuAndCbaEvents* mce = reinterpret_cast<MPhoneMenuAndCbaEvents*>(0xdeadbeef);
+    MPhoneEngineMessageSender* ems = reinterpret_cast<MPhoneEngineMessageSender*>(0xdeadbeef);
+    
+    iFactory->CommandListener( mce, ems, NULL );
+    
+    EUNIT_ASSERT( commandListenerInitialised );
+    }
+
+void ut_mediatorfactory::TestCommandListenerNotInitL(  )
+    {
+    MPhoneMenuAndCbaEvents* mce = reinterpret_cast<MPhoneMenuAndCbaEvents*>(0xdeadbeef);
+    MPhoneEngineMessageSender* ems = reinterpret_cast<MPhoneEngineMessageSender*>(0xdeadbeef);
+    MPEEngineInfo* ei = reinterpret_cast<MPEEngineInfo*>( 0xdeadbeef );
+    
+    iFactory->CommandListener( mce, ems, ei );
+    commandListenerInitialised = EFalse;
+
+    // Should not cause initialisation anymore
+    iFactory->CommandListener( NULL, NULL, NULL );
+    EUNIT_ASSERT( !commandListenerInitialised );
+    }
+
+void ut_mediatorfactory::TestMPhoneMenuAndCbaEventsPreCondCheckL(  )
+    {
+    MPhoneEngineMessageSender* ems = reinterpret_cast<MPhoneEngineMessageSender*>(0xdeadbeef);
+    MPEEngineInfo* ei = reinterpret_cast<MPEEngineInfo*>( 0xdeadbeef );
+    
+    EUNIT_ASSERT_PANIC( iFactory->CommandListener( NULL, ems, ei ),
+            "Common phone", EPhoneMediatorCenterParameterNotInitialized );
+    
+    }
+
+void ut_mediatorfactory::TestMPhoneEngineMessageSenderPreCondCheckL(  )
+    {
+    MPhoneMenuAndCbaEvents* mce = reinterpret_cast<MPhoneMenuAndCbaEvents*>(0xdeadbeef);
+    MPEEngineInfo* ei = reinterpret_cast<MPEEngineInfo*>( 0xdeadbeef );
+    
+    EUNIT_ASSERT_PANIC( iFactory->CommandListener( mce, NULL, ei ),
+            "Common phone", EPhoneMediatorCenterParameterNotInitialized );
+    
+    }
+
+void ut_mediatorfactory::TestEngineInfoPreCondCheckL()
+    {
+    EUNIT_ASSERT_PANIC( iFactory->MediatorMessage( 0, 0 ),
+                       "Common phone",
+                       EPhoneMediatorCenterParameterNotInitialized );    
+    }
+
+void ut_mediatorfactory::TestMediatorMessageFactoryCheckL()
+    {
+    MPhoneMenuAndCbaEvents* mce = reinterpret_cast<MPhoneMenuAndCbaEvents*>(0xdeadbeef); 
+    MPhoneEngineMessageSender* ems = reinterpret_cast<MPhoneEngineMessageSender*>(0xdeadbeef);
+    MPEEngineInfo* ei = reinterpret_cast<MPEEngineInfo*>(0xdeadbeef);
+    iFactory->CommandListener( mce, ems, ei );
+    singleton->iLeave = ETrue;
+    EUNIT_ASSERT_PANIC( iFactory->MediatorMessage( 0, 0 ),
+                        "Common phone",
+                        EPhoneMediatorCenterInitializationPanic );
+    }
+
+void ut_mediatorfactory::CreateMessageFailCheckL()
+    {
+    MPhoneMenuAndCbaEvents* mce = reinterpret_cast<MPhoneMenuAndCbaEvents*>(0xdeadbeef); 
+    MPhoneEngineMessageSender* ems = reinterpret_cast<MPhoneEngineMessageSender*>(0xdeadbeef);
+    MPEEngineInfo* ei = reinterpret_cast<MPEEngineInfo*>(0xdeadbeef);
+    iFactory->CommandListener( mce, ems, ei );
+    singleton->iCreateMessageLeave = ETrue;
+    EUNIT_ASSERT_PANIC( iFactory->MediatorMessage( 0, 0 ),
+                        "Common phone",
+                        EPhoneMediatorCenterInitializationPanic );
+    }
+
+void ut_mediatorfactory::SuccesfulMediatorMessageL()
+    {
+    MPhoneMenuAndCbaEvents* mce = reinterpret_cast<MPhoneMenuAndCbaEvents*>(0xdeadbeef); 
+    MPhoneEngineMessageSender* ems = reinterpret_cast<MPhoneEngineMessageSender*>(0xdeadbeef);
+    MPEEngineInfo* ei = reinterpret_cast<MPEEngineInfo*>(0xdeadbeef);
+    iFactory->CommandListener( mce, ems, ei );
+    singleton->iMessageObject = 0xbeefdead;
+    MPhoneMediatorMessage* object = iFactory->MediatorMessage( 0, 0 );    
+    EUNIT_ASSERT( object == reinterpret_cast<MPhoneMediatorMessage*>(0xbeefdead) );
+    }
+
+void ut_mediatorfactory::TestFetchingSenderL()
+    {
+    singleton->iSenderObject = 0xbeefdead;
+    EUNIT_ASSERT( iFactory->Sender() == reinterpret_cast<CPhoneMediatorSender*>(0xbeefdead) );
+    }
+
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+    ut_mediatorfactory,
+    "Tests for CPhoneMediatorFactory",
+    "UNIT" )
+
+EUNIT_TEST(
+    "Initialise command listener",
+    "CPhoneMediatorFactory",
+    "CommandListener",
+    "FUNCTIONALITY",
+    SetupL, TestInitialisingCommandListenerL, Teardown)
+    
+EUNIT_TEST(
+    "Not Initialise command listener",
+    "CPhoneMediatorFactory",
+    "CommandListener",
+    "FUNCTIONALITY",
+    SetupL, TestCommandListenerNotInitL, Teardown)
+/*
+EUNIT_TEST(
+    "Parameter MPhoneMenuAndCbaEvents precond check",
+    "CPhoneMediatorFactory",
+    "CommandListener",
+    "FUNCTIONALITY",
+    SetupL, TestMPhoneMenuAndCbaEventsPreCondCheckL, Teardown)
+
+EUNIT_TEST(
+    "Parameter MPhoneEngineMessageSender precond check",
+    "CPhoneMediatorFactory",
+    "CommandListener",
+    "FUNCTIONALITY",
+    SetupL, TestMPhoneEngineMessageSenderPreCondCheckL, Teardown)
+
+EUNIT_TEST(
+    "Parameter MPhoneEngineMessageSender precond check",
+    "CPhoneMediatorFactory",
+    "MediatorMessage",
+    "FUNCTIONALITY",
+    SetupL, TestEngineInfoPreCondCheckL, Teardown)
+
+EUNIT_TEST(
+    "Parameter MPhoneEngineMessageSender precond check",
+    "CPhoneMediatorFactory",
+    "MediatorMessage",
+    "FUNCTIONALITY",
+    SetupL, TestMediatorMessageFactoryCheckL, Teardown)
+
+EUNIT_TEST(
+    "Parameter MPhoneEngineMessageSender precond check",
+    "CPhoneMediatorFactory",
+    "MediatorMessage",
+    "FUNCTIONALITY",
+    SetupL, CreateMessageFailCheckL, Teardown)
+*/
+EUNIT_TEST(
+    "Parameter MPhoneEngineMessageSender precond check",
+    "CPhoneMediatorFactory",
+    "MediatorMessage",
+    "FUNCTIONALITY",
+    SetupL, SuccesfulMediatorMessageL, Teardown)
+
+EUNIT_TEST(
+    "Parameter MPhoneEngineMessageSender precond check",
+    "CPhoneMediatorFactory",
+    "Sender",
+    "FUNCTIONALITY",
+    SetupL, TestFetchingSenderL, Teardown)
+    
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonemediatorcenter/tsrc/ut_mediatorfactory/Src/ut_mediatorfactory.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,72 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __UT_MEDIATORFACTORY_H__
+#define __UT_MEDIATORFACTORY_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+
+class CPhoneMediatorFactory;
+
+// FORWARD DECLARATIONS
+
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( ut_mediatorfactory )
+	: public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static ut_mediatorfactory* NewL();
+        static ut_mediatorfactory* NewLC();
+        ~ut_mediatorfactory();
+
+    private: // Constructors
+
+        ut_mediatorfactory();
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+        
+         void Teardown();
+        
+         void TestInitialisingCommandListenerL();
+         void TestCommandListenerNotInitL();
+         void TestMPhoneMenuAndCbaEventsPreCondCheckL();
+         void TestMPhoneEngineMessageSenderPreCondCheckL();
+         void TestEngineInfoPreCondCheckL();
+         void TestMediatorMessageFactoryCheckL();
+         void CreateMessageFailCheckL();
+         void SuccesfulMediatorMessageL();
+         void TestFetchingSenderL();
+
+    private: // Data
+
+        CPhoneMediatorFactory* iFactory;
+
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __UT_MEDIATORFACTORY_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonemediatorcenter/tsrc/ut_mediatorfactory/Src/ut_mediatorfactory_DllMain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_mediatorfactory.h"
+#include <CEUnitTestSuite.h>
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return ut_mediatorfactory::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonemediatorcenter/tsrc/ut_mediatorfactory/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+PRJ_PLATFORMS
+    DEFAULT
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+PRJ_TESTMMPFILES
+
+UT_MediatorFactory.mmp
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonemediatorcenter/tsrc/ut_mediatorfactory/group/ut_mediatorfactory.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2005-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:  
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+TARGET          ut_mediatorfactory.dll
+TARGETTYPE      dll
+UID             0x1000af5a 0x01700000
+
+CAPABILITY      ALL -TCB
+VENDORID        VID_DEFAULT
+
+EPOCALLOWDLLDATA        // Allow global static data
+
+SOURCEPATH              ../src
+SOURCE                  ut_mediatorfactory.cpp
+SOURCE                  stubs.cpp
+SOURCE                  globals.cpp
+
+SOURCEPATH              ../../../src
+SOURCE                  cphonemediatorfactory.cpp
+
+// Sources required by the test suite
+SOURCEPATH              ../src
+SOURCE                  ut_mediatorfactory_DllMain.cpp
+
+USERINCLUDE             ../src
+USERINCLUDE             ../../../inc
+USERINCLUDE             ../../../../phoneuiutils/inc
+USERINCLUDE             ../../../../phoneuicontrol/inc
+USERINCLUDE             ../../../../phoneui2/srcdata
+USERINCLUDE             ../../../../phoneuiqtviewadapter/inc
+
+APP_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE           ../src
+SYSTEMINCLUDE           ../../../inc
+SYSTEMINCLUDE           ../../../../../inc
+SYSTEMINCLUDE           /epoc32/include/Digia/EUnit
+
+LIBRARY                 EUnit.lib
+LIBRARY                 EUnitUtil.lib
+LIBRARY                 euser.lib
+LIBRARY                 phoneuiutils.lib
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonemediatorcenter/tsrc/ut_mediatormessagefactory/BWINS/T_MediatorMessageFactoryu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,7 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * __cdecl CreateTestSuiteL(void)
+	??0CPhoneMethodLogger@@QAE@W4TPhoneUILoggingComponent@@VTPtrC16@@@Z @ 2 NONAME ; CPhoneMethodLogger::CPhoneMethodLogger(enum TPhoneUILoggingComponent, class TPtrC16)
+	??1CPhoneMethodLogger@@UAE@XZ @ 3 NONAME ; CPhoneMethodLogger::~CPhoneMethodLogger(void)
+	?LogIt@CPhoneLogger@@QAAXW4TPhoneUILoggingLevel@@W4TPhoneUILoggingComponent@@V?$TRefByValue@$$CBVTDesC16@@@@ZZ @ 4 NONAME ; void CPhoneLogger::LogIt(enum TPhoneUILoggingLevel, enum TPhoneUILoggingComponent, class TRefByValue<class TDesC16 const >, ...)
+	?Static@CCoeEnv@@SAPAVCCoeStatic@@VTUid@@@Z @ 5 NONAME ; class CCoeStatic * CCoeEnv::Static(class TUid)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonemediatorcenter/tsrc/ut_mediatormessagefactory/EABI/T_MediatorMessageFactoryu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,7 @@
+EXPORTS
+	_Z16CreateTestSuiteLv @ 1 NONAME
+	_ZTI18CPhoneMethodLogger @ 2 NONAME ; #<TI>#
+	_ZTI28CPhoneMediatorMessageFactory @ 3 NONAME ; #<TI>#
+	_ZTV18CPhoneMethodLogger @ 4 NONAME ; #<VT>#
+	_ZTV28CPhoneMediatorMessageFactory @ 5 NONAME ; #<VT>#
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonemediatorcenter/tsrc/ut_mediatormessagefactory/group/T_MediatorMessageFactory.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2005-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:  
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+TARGET          T_MediatorMessageFactory.dll
+TARGETTYPE      dll
+UID             0x1000af5a 0x01700000
+
+CAPABILITY      ALL -TCB
+VENDORID        VID_DEFAULT
+
+EPOCALLOWDLLDATA        // Allow global static data
+
+SOURCEPATH              ../src
+SOURCE                  T_MediatorMessageFactory.cpp
+SOURCE                  stubs.cpp
+
+// Sources required by the test suite
+SOURCEPATH              ../src
+SOURCE                  T_MediatorMessageFactory_DllMain.cpp
+
+SOURCEPATH              ../../../src
+SOURCE                  cphonemediatormessagefactory.cpp
+
+USERINCLUDE             ../src
+USERINCLUDE             ../../../inc
+USERINCLUDE             ../../../../phoneuiutils/inc
+USERINCLUDE             ../../../../phoneui2/srcdata
+
+APP_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE           ../../../../../inc
+SYSTEMINCLUDE           /epoc32/include/Digia/EUnit
+
+LIBRARY                 EUnit.lib
+LIBRARY                 EUnitUtil.lib
+LIBRARY                 euser.lib
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonemediatorcenter/tsrc/ut_mediatormessagefactory/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+PRJ_PLATFORMS
+    DEFAULT
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+PRJ_TESTMMPFILES
+T_MediatorMessageFactory.mmp
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonemediatorcenter/tsrc/ut_mediatormessagefactory/src/T_MediatorMessageFactory.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,120 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "T_MediatorMessageFactory.h"
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+
+#include "pevirtualengine.h"
+
+#include "CPhoneMediatorMessageFactory.h"
+#include "MPhoneMediatorMessage.h"
+
+#include "CPhoneDataPortMessage.h"
+
+CPhoneDataPortMessage* CDataPortMessage_NewLReturnValue;
+MPEEngineInfo* CDataPortMessage_NewLEngineInfo;
+
+// - Construction -----------------------------------------------------------
+
+T_MediatorMessageFactory* T_MediatorMessageFactory::NewL()
+    {
+    T_MediatorMessageFactory* self = T_MediatorMessageFactory::NewLC();
+    CleanupStack::Pop();
+    return self;
+    }
+
+T_MediatorMessageFactory* T_MediatorMessageFactory::NewLC()
+    {
+    T_MediatorMessageFactory* self = new( ELeave ) T_MediatorMessageFactory();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+T_MediatorMessageFactory::~T_MediatorMessageFactory()
+    {
+    }
+
+T_MediatorMessageFactory::T_MediatorMessageFactory()
+    {
+    }
+
+void T_MediatorMessageFactory::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    }
+
+// - Test methods -----------------------------------------------------------
+
+
+
+void T_MediatorMessageFactory::SetupL(  )
+    {
+    MPEEngineInfo* info = reinterpret_cast<MPEEngineInfo*>(0xdeadbeef); // No access to engine info needed in tests.
+    iFactory = CPhoneMediatorMessageFactory::NewL( *info );
+    }
+    
+
+void T_MediatorMessageFactory::Teardown(  )
+    {
+    delete iFactory;
+    }
+    
+
+void T_MediatorMessageFactory::TestCreatingMessageL(  )
+    {
+    CDataPortMessage_NewLReturnValue = reinterpret_cast<CPhoneDataPortMessage*>(0x12341234);  
+    
+    MPhoneMediatorMessage* msg = iFactory->CreateMessageL( MEngineMonitor::EPEMessageDataPortLoaned, 0 );
+    
+    // Compare pointers
+    EUNIT_ASSERT( CDataPortMessage_NewLReturnValue == static_cast<CPhoneDataPortMessage*>(msg) );
+    EUNIT_ASSERT( CDataPortMessage_NewLEngineInfo == reinterpret_cast<MPEEngineInfo*>(0xdeadbeef) );
+    
+    // Do not delete the msg, because msg is not really created
+    }
+    
+void T_MediatorMessageFactory::TestNoMessageForEngineMessageL()
+    {
+    MPhoneMediatorMessage* msg = 
+        iFactory->CreateMessageL( static_cast<MEngineMonitor::TPEMessagesFromPhoneEngine>( -1 ), 0 );
+    EUNIT_ASSERT( msg == NULL );
+    }
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+    T_MediatorMessageFactory,
+    "Unittests for CPhoneMediatorMessageFactory",
+    "UNIT" )
+
+EUNIT_TEST(
+    "Create message",
+    "CreateMessageL",
+    "CPhoneMediatorMessageFactory",
+    "FUNCTIONALITY",
+    SetupL, TestCreatingMessageL, Teardown)
+
+EUNIT_TEST(
+    "No message to create for pe message",
+    "CreateMessageL",
+    "CPhoneMediatorMessageFactory",
+    "FUNCTIONALITY",
+    SetupL, TestNoMessageForEngineMessageL, Teardown)
+    
+
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonemediatorcenter/tsrc/ut_mediatormessagefactory/src/T_MediatorMessageFactory.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,66 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __T_MEDIATORMESSAGEFACTORY_H__
+#define __T_MEDIATORMESSAGEFACTORY_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+
+
+
+// FORWARD DECLARATIONS
+class CPhoneMediatorMessageFactory;
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( T_MediatorMessageFactory )
+	: public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static T_MediatorMessageFactory* NewL();
+        static T_MediatorMessageFactory* NewLC();
+        ~T_MediatorMessageFactory();
+
+    private: // Constructors
+
+        T_MediatorMessageFactory();
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+        
+         void Teardown();
+        
+         void TestCreatingMessageL();
+         void TestNoMessageForEngineMessageL();
+        
+
+    private: // Data
+
+        CPhoneMediatorMessageFactory* iFactory;
+
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __T_MEDIATORMESSAGEFACTORY_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonemediatorcenter/tsrc/ut_mediatormessagefactory/src/T_MediatorMessageFactory_DllMain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "T_MediatorMessageFactory.h"
+#include <CEUnitTestSuite.h>
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return T_MediatorMessageFactory::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonemediatorcenter/tsrc/ut_mediatormessagefactory/src/stubs.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,35 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <coemain.h>
+CCoeStatic* CCoeEnv::Static( TUid ) { return NULL; }
+
+
+#include "CPhoneDataPortMessage.h"
+extern CPhoneDataPortMessage* CDataPortMessage_NewLReturnValue;
+extern MPEEngineInfo* CDataPortMessage_NewLEngineInfo;
+CPhoneDataPortMessage* CPhoneDataPortMessage::NewL( MPEEngineInfo& aInfo ) 
+    {
+    CDataPortMessage_NewLEngineInfo = &aInfo;
+    return CDataPortMessage_NewLReturnValue; 
+    }
+
+
+#include "CPhoneLogger.h"
+CPhoneMethodLogger::CPhoneMethodLogger( TPhoneUILoggingComponent, TPtrC16 ) {}
+CPhoneMethodLogger::~CPhoneMethodLogger() {}
+void CPhoneLogger::LogIt( TPhoneUILoggingLevel, TPhoneUILoggingComponent, TRefByValue<const TDesC>, ...) {}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonemediatorcenter/tsrc/ut_mediatorsender/BWINS/T_MediatorSenderu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,24 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
+	??0CCoeStatic@@IAE@VTUid@@W4TScope@0@@Z @ 2 NONAME ; CCoeStatic::CCoeStatic(class TUid, enum CCoeStatic::TScope)
+	??0CCoeStatic@@IAE@XZ @ 3 NONAME ; CCoeStatic::CCoeStatic(void)
+	??0CPhoneMethodLogger@@QAE@W4TPhoneUILoggingComponent@@VTPtrC16@@@Z @ 4 NONAME ; CPhoneMethodLogger::CPhoneMethodLogger(enum TPhoneUILoggingComponent, class TPtrC16)
+	??1CCoeStatic@@UAE@XZ @ 5 NONAME ; CCoeStatic::~CCoeStatic(void)
+	??1CPhoneMethodLogger@@UAE@XZ @ 6 NONAME ; CPhoneMethodLogger::~CPhoneMethodLogger(void)
+	?CCoeStatic_Reserved1@CCoeStatic@@EAEXXZ @ 7 NONAME ; void CCoeStatic::CCoeStatic_Reserved1(void)
+	?CCoeStatic_Reserved2@CCoeStatic@@EAEXXZ @ 8 NONAME ; void CCoeStatic::CCoeStatic_Reserved2(void)
+	?CancelCommand@CMediatorCommandInitiator@@QAEXVTUid@@0H@Z @ 9 NONAME ; void CMediatorCommandInitiator::CancelCommand(class TUid, class TUid, int)
+	?Instance@CPhoneMediatorSender@@SAPAV1@XZ @ 10 NONAME ; class CPhoneMediatorSender * CPhoneMediatorSender::Instance(void)
+	?IssueCommand@CMediatorCommandInitiator@@QAEHVTUid@@0HVTVersion@@ABVTDesC8@@@Z @ 11 NONAME ; int CMediatorCommandInitiator::IssueCommand(class TUid, class TUid, int, class TVersion, class TDesC8 const &)
+	?IssueCommand@CPhoneMediatorSender@@QAEHVTUid@@0HVTVersion@@ABVTDesC8@@PAVMPhoneShutdownCommand@@@Z @ 12 NONAME ; int CPhoneMediatorSender::IssueCommand(class TUid, class TUid, int, class TVersion, class TDesC8 const &, class MPhoneShutdownCommand *)
+	?NewL@CMediatorCommandInitiator@@SAPAV1@PAVMMediatorCommandResponseObserver@@@Z @ 13 NONAME ; class CMediatorCommandInitiator * CMediatorCommandInitiator::NewL(class MMediatorCommandResponseObserver *)
+	?NewL@CMediatorEventProvider@@SAPAV1@XZ @ 14 NONAME ; class CMediatorEventProvider * CMediatorEventProvider::NewL(void)
+	?RaiseEvent@CMediatorEventProvider@@QAEHVTUid@@0HVTVersion@@ABVTDesC8@@@Z @ 15 NONAME ; int CMediatorEventProvider::RaiseEvent(class TUid, class TUid, int, class TVersion, class TDesC8 const &)
+	?RegisterEvent@CMediatorEventProvider@@QAEHVTUid@@0ABV?$RArray@VTEvent@MediatorService@@@@@Z @ 16 NONAME ; int CMediatorEventProvider::RegisterEvent(class TUid, class TUid, class RArray<class MediatorService::TEvent> const &)
+	?SendEvent@CPhoneMediatorSender@@QAEXHAAVTPhoneCommandParam@@@Z @ 17 NONAME ; void CPhoneMediatorSender::SendEvent(int, class TPhoneCommandParam &)
+	?SendEvent@CPhoneMediatorSender@@QBEXHH@Z @ 18 NONAME ; void CPhoneMediatorSender::SendEvent(int, int) const
+	?SendEvent@CPhoneMediatorSender@@QBEXHHAAVTPhoneCommandParam@@@Z @ 19 NONAME ; void CPhoneMediatorSender::SendEvent(int, int, class TPhoneCommandParam &) const
+	?Static@CCoeEnv@@SAPAVCCoeStatic@@VTUid@@@Z @ 20 NONAME ; class CCoeStatic * CCoeEnv::Static(class TUid)
+	?SendEvent@CPhoneMediatorSender@@QBEXH@Z @ 21 NONAME ; void CPhoneMediatorSender::SendEvent(int) const
+	?SendEvent@CPhoneMediatorSender@@QBEXHHPBVTDesC16@@@Z @ 22 NONAME ; void CPhoneMediatorSender::SendEvent(int, int, class TDesC16 const *) const
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonemediatorcenter/tsrc/ut_mediatorsender/EABI/T_MediatorSenderu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,20 @@
+EXPORTS
+	_Z16CreateTestSuiteLv @ 1 NONAME
+	_ZN20CPhoneMediatorSender12IssueCommandE4TUidS0_i8TVersionRK6TDesC8P21MPhoneShutdownCommand @ 2 NONAME
+	_ZN20CPhoneMediatorSender8InstanceEv @ 3 NONAME
+	_ZN20CPhoneMediatorSender9SendEventEiR18TPhoneCommandParam @ 4 NONAME
+	_ZNK20CPhoneMediatorSender9SendEventEi @ 5 NONAME
+	_ZNK20CPhoneMediatorSender9SendEventEii @ 6 NONAME
+	_ZNK20CPhoneMediatorSender9SendEventEiiPK7TDesC16 @ 7 NONAME
+	_ZNK20CPhoneMediatorSender9SendEventEiiR18TPhoneCommandParam @ 8 NONAME
+	_ZTI10CCoeStatic @ 9 NONAME ; #<TI>#
+	_ZTI18CPhoneMethodLogger @ 10 NONAME ; #<TI>#
+	_ZTI20CPhoneMediatorSender @ 11 NONAME ; #<TI>#
+	_ZTI22CMediatorEventProvider @ 12 NONAME ; #<TI>#
+	_ZTI25CMediatorCommandInitiator @ 13 NONAME ; #<TI>#
+	_ZTV10CCoeStatic @ 14 NONAME ; #<VT>#
+	_ZTV18CPhoneMethodLogger @ 15 NONAME ; #<VT>#
+	_ZTV20CPhoneMediatorSender @ 16 NONAME ; #<VT>#
+	_ZTV22CMediatorEventProvider @ 17 NONAME ; #<VT>#
+	_ZTV25CMediatorCommandInitiator @ 18 NONAME ; #<VT>#
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonemediatorcenter/tsrc/ut_mediatorsender/Src/T_MediatorSender.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,321 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "T_MediatorSender.h"
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+
+#include <PEVirtualEngine.h>
+#include <mediatoreventsfromtelephonyapi.h>
+#include <videotelcontrolmediatorapi.h>
+#include <MediatorEventProvider.h>
+//#include <bmbubblemanager.h>
+#include "mphoneshutdowncommand.h"
+#include "phoneui.pan"
+#include "TPhoneCmdParamBoolean.h"
+#include "TPhoneCmdParamCallHeaderData.h"
+#include "PhoneViewCommandDefinitions.h"
+#include "CPhoneMediatorSender.h"
+#include "MediatorDomainUIDs.h"
+
+CPhoneMediatorSender* coeEnvMediatorSenderInstance;
+
+// Mediator registeration
+TInt mediatorRegisterationReturnValue;
+TUid domain;
+TUid category;
+MediatorService::REventList eventList;
+
+// Raise event
+TUid raiseEventDomain;
+TUid raiseEventCategory;
+TInt raiseEventEventId;
+TVersion raiseEventVersion;
+HBufC8* raiseEventData;
+
+// Issue command
+TInt issueCommandReturnValue;
+TUid issueCommandDomain;
+TUid issueCommandCategory;
+TInt issueCommandCommandId;
+TVersion issueCommandVersion;
+HBufC8* issueCommandData;
+
+
+
+
+// - Construction -----------------------------------------------------------
+
+T_MediatorSender* T_MediatorSender::NewL()
+    {
+    T_MediatorSender* self = T_MediatorSender::NewLC();
+    CleanupStack::Pop();
+    return self;
+    }
+
+T_MediatorSender* T_MediatorSender::NewLC()
+    {
+    T_MediatorSender* self = new( ELeave ) T_MediatorSender();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+T_MediatorSender::~T_MediatorSender()
+    {
+    }
+
+T_MediatorSender::T_MediatorSender()
+    {
+    }
+
+void T_MediatorSender::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    }
+
+class CShutdownCommandMock : public CBase, public MPhoneShutdownCommand
+    {
+public:
+    
+    static CShutdownCommandMock* NewL() { return new( ELeave )CShutdownCommandMock(); }
+    
+    void ExecuteLD() { iExecuteLDCalled = ETrue; }
+    
+    TBool iExecuteLDCalled;
+    };
+
+// - Test methods -----------------------------------------------------------
+
+
+
+void T_MediatorSender::SetupL(  )
+    {
+    eventList = MediatorService::REventList();
+    coeEnvMediatorSenderInstance = NULL;
+    domain = TUid::Null();
+    category = TUid::Null();
+    mediatorRegisterationReturnValue = KErrNone;
+    issueCommandDomain = raiseEventDomain = TUid::Null();
+    issueCommandCategory = raiseEventCategory = TUid::Null();
+    issueCommandCommandId = raiseEventEventId = 0;
+    issueCommandVersion = raiseEventVersion = TVersion(); 
+    issueCommandData = raiseEventData = NULL;
+    issueCommandReturnValue = KErrNone;
+    iSender = CPhoneMediatorSender::Instance();
+    }    
+
+void T_MediatorSender::Teardown(  )
+    {
+    eventList.Close();
+    delete iSender;
+    delete raiseEventData;
+    delete issueCommandData;
+    }
+
+void T_MediatorSender::VerifyIssueCommandBoilerplateL()
+    {
+    EUNIT_ASSERT( issueCommandDomain == KMediatorVideoTelephonyDomain );
+    EUNIT_ASSERT( issueCommandCategory == KCatPhoneToVideotelCommands );
+    EUNIT_ASSERT( issueCommandVersion.iMajor == KPhoneToVideotelCmdVersionMajor );
+    EUNIT_ASSERT( issueCommandVersion.iMinor == KPhoneToVideotelCmdVersionMinor );
+    EUNIT_ASSERT( issueCommandVersion.iBuild == KPhoneToVideotelCmdVersionBuild );
+    }
+
+void T_MediatorSender::VerifyRaiseEventBoilerplateL()
+    {
+    EUNIT_ASSERT( raiseEventDomain == KMediatorTelephonyDomain );
+    EUNIT_ASSERT( raiseEventCategory == KCatEventsFromTelephony );
+    EUNIT_ASSERT( raiseEventEventId == EPhoneEventCallData );
+    EUNIT_ASSERT( raiseEventVersion.iMajor == KTelephonyEventsVersionMajor );
+    EUNIT_ASSERT( raiseEventVersion.iMinor == KTelephonyEventsVersionMinor );
+    EUNIT_ASSERT( raiseEventVersion.iBuild == KTelephonyEventsVersionBuild );
+
+    }
+    
+void T_MediatorSender::FreeIssueCommandGlobals()
+    {
+    issueCommandDomain = TUid::Null();
+    issueCommandCategory = TUid::Null();
+    issueCommandCommandId = 0;
+    issueCommandVersion = TVersion(); 
+    delete issueCommandData; issueCommandData = NULL; 
+    }
+
+void T_MediatorSender::TestInstanceGotFromCoeEnvL()
+    {
+    coeEnvMediatorSenderInstance = reinterpret_cast<CPhoneMediatorSender*>( 0xdeadbeef );
+    
+    CPhoneMediatorSender* instance = CPhoneMediatorSender::Instance();
+    EUNIT_ASSERT( instance == coeEnvMediatorSenderInstance );
+    }
+
+void T_MediatorSender::TestInstanceCreatedL()
+    {
+    CPhoneMediatorSender* instance = CPhoneMediatorSender::Instance();
+    EUNIT_ASSERT( instance != NULL );
+    delete instance;
+    }
+
+void T_MediatorSender::TestGenericEventsAreRegisteredL()
+    {    
+    EUNIT_ASSERT( domain == KMediatorTelephonyDomain );
+    EUNIT_ASSERT( category == KCatEventsFromTelephony );
+    EUNIT_ASSERT( eventList.Count() == 1 );
+    MediatorService::TEvent event = eventList[0];
+    EUNIT_ASSERT( event.iEventId == EPhoneEventCallData );
+    EUNIT_ASSERT( event.iVersion.iMajor == KTelephonyEventsVersionMajor );
+    EUNIT_ASSERT( event.iVersion.iMinor == KTelephonyEventsVersionMinor );
+    EUNIT_ASSERT( event.iVersion.iBuild == KTelephonyEventsVersionBuild );
+    }
+
+void T_MediatorSender::TestGenericEventRegisterationFailsL()
+    {    
+    mediatorRegisterationReturnValue = KErrGeneral;
+    EUNIT_ASSERT_PANIC( CPhoneMediatorSender::Instance(), "Common phone", EPhoneMediatorCenterRegistrationFailed  );
+    }
+
+void T_MediatorSender::TestSendingCallDataWhenCallHeaderIsRemovedL()
+    {       
+    iSender->SendEvent( EPhoneViewRemoveCallHeader, 2 );
+    
+    VerifyRaiseEventBoilerplateL();
+    
+    TTelephonyCallDataParamPackage pckg;
+    pckg.Copy( *raiseEventData );
+    const TTelephonyCallDataParam params = pckg();  
+
+    EUNIT_ASSERT( params.iCallId == 2 );
+    EUNIT_ASSERT( params.iCallState == ECallStateIdle );   
+    }
+
+void T_MediatorSender::TestSendingAudioMuteCommandL()
+    {
+    TPhoneCmdParamBoolean param;
+    param.SetBoolean( ETrue );
+    
+    iSender->SendEvent( EPhoneViewActivateMuteUIChanges, param );
+    
+    VerifyIssueCommandBoilerplateL();
+    EUNIT_ASSERT( issueCommandCommandId == EVtCmdMute );
+    EUNIT_ASSERT( issueCommandData->Match( KNullDesC8 ) == KErrNone );  
+    }
+
+void T_MediatorSender::TestSendingAudioUnMuteCommandL()
+    {
+    TPhoneCmdParamBoolean param;
+    param.SetBoolean( EFalse );
+    
+    iSender->SendEvent( EPhoneViewActivateMuteUIChanges, param );
+    
+    VerifyIssueCommandBoilerplateL();
+    EUNIT_ASSERT( issueCommandCommandId == EVtCmdUnmute );
+    EUNIT_ASSERT( issueCommandData->Match( KNullDesC8 ) == KErrNone );  
+    }
+
+void T_MediatorSender::TestAudioMuteCommandBufferedIfMediatorBusyAndResendWhenResponseArrivesL()
+    {
+    issueCommandReturnValue = KErrInUse; // Make the mediator busy
+    
+    TPhoneCmdParamBoolean param;
+    param.SetBoolean( ETrue );
+    iSender->SendEvent( EPhoneViewActivateMuteUIChanges, param );
+    
+    // Clear the issue command sensing globals, because SendEvent tries to send the data and we need to verify
+    // that when response arrives the mute command is send again.
+    FreeIssueCommandGlobals();
+    
+    iSender->CommandResponseL( TUid::Null(), TUid::Null(), 0, 0, KNullDesC8() );
+    
+    
+    VerifyIssueCommandBoilerplateL();
+    EUNIT_ASSERT( issueCommandCommandId == EVtCmdMute );
+    EUNIT_ASSERT( issueCommandData->Match( KNullDesC8 ) == KErrNone ); 
+    
+    // Verify that next response wont send the mute command
+    FreeIssueCommandGlobals();
+    iSender->CommandResponseL( TUid::Null(), TUid::Null(), 0, 0, KNullDesC8() );
+    
+    EUNIT_ASSERT( issueCommandDomain == TUid::Null() );
+    }
+
+
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+    T_MediatorSender,
+    "Tests for CPhoneMediatorSender",
+    "UNIT" )
+
+EUNIT_TEST(
+    "Instance got from coeenv",
+    "CPhoneMediatorSender",
+    "Instance",
+    "FUNCTIONALITY",
+    SetupL, TestInstanceGotFromCoeEnvL, Teardown)
+    
+EUNIT_TEST(
+    "Instance created",
+    "CPhoneMediatorSender",
+    "Instance",
+    "FUNCTIONALITY",
+    SetupL, TestInstanceCreatedL, Teardown)
+    
+EUNIT_TEST(
+    "Generic event registeration",
+    "CPhoneMediatorSender",
+    "SendEvent",
+    "FUNCTIONALITY",
+    SetupL, TestGenericEventsAreRegisteredL, Teardown)
+    
+EUNIT_TEST(
+    "Generic event registeration fails",
+    "CPhoneMediatorSender",
+    "SendEvent",
+    "FUNCTIONALITY",
+    SetupL, TestGenericEventRegisterationFailsL, Teardown)
+
+    
+EUNIT_TEST(
+    "Sending call data when call header is removed",
+    "CPhoneMediatorSender",
+    "SendEvent",
+    "FUNCTIONALITY",
+    SetupL, TestSendingCallDataWhenCallHeaderIsRemovedL, Teardown)
+
+EUNIT_TEST(
+    "Sending audio mute command",
+    "CPhoneMediatorSender",
+    "SendEvent",
+    "FUNCTIONALITY",
+    SetupL, TestSendingAudioMuteCommandL, Teardown)
+
+EUNIT_TEST(
+    "Sending audio unmute command",
+    "CPhoneMediatorSender",
+    "SendEvent",
+    "FUNCTIONALITY",
+    SetupL, TestSendingAudioUnMuteCommandL, Teardown)
+    
+EUNIT_TEST(
+    "Mute command sending buffered",
+    "CPhoneMediatorSender",
+    "CommandResponseL",
+    "FUNCTIONALITY",
+    SetupL, TestAudioMuteCommandBufferedIfMediatorBusyAndResendWhenResponseArrivesL, Teardown)
+
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonemediatorcenter/tsrc/ut_mediatorsender/Src/T_MediatorSender.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,73 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __T_MEDIATORSENDER_H__
+#define __T_MEDIATORSENDER_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+
+// FORWARD DECLARATIONS
+class CPhoneMediatorSender;
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( T_MediatorSender )
+	: public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static T_MediatorSender* NewL();
+        static T_MediatorSender* NewLC();
+        ~T_MediatorSender();
+
+    private: // Constructors
+
+        T_MediatorSender();
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+        
+         void Teardown();
+         void FreeIssueCommandGlobals();
+         void VerifyIssueCommandBoilerplateL();
+         void VerifyRaiseEventBoilerplateL();
+        
+         void TestInstanceGotFromCoeEnvL();
+         void TestInstanceCreatedL();
+         void TestGenericEventsAreRegisteredL();
+         void TestGenericEventRegisterationFailsL();         
+         void TestSendingCallDataWhenCallHeaderIsRemovedL();
+         void TestSendingAudioMuteCommandL();
+         void TestSendingAudioUnMuteCommandL();
+         void TestAudioMuteCommandBufferedIfMediatorBusyAndResendWhenResponseArrivesL();
+
+         
+    private: // Data
+
+        CPhoneMediatorSender* iSender;
+
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __T_MEDIATORSENDER_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonemediatorcenter/tsrc/ut_mediatorsender/Src/T_MediatorSender_DllMain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "T_MediatorSender.h"
+#include <CEUnitTestSuite.h>
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return T_MediatorSender::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonemediatorcenter/tsrc/ut_mediatorsender/Src/stubs.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,111 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <eunitmacros.h>
+#include <e32std.h>
+
+#include "MediatorCommandInitiator.h"
+
+void CMediatorCommandInitiator::CancelCommand(TUid, TUid, TInt) {}
+CMediatorCommandInitiator * CMediatorCommandInitiator::NewL( MMediatorCommandResponseObserver *) { return new( ELeave )CMediatorCommandInitiator(); }
+CMediatorCommandInitiator::CMediatorCommandInitiator() {}
+CMediatorCommandInitiator::~CMediatorCommandInitiator() {}
+
+extern TUid issueCommandDomain;
+extern TUid issueCommandCategory;
+extern TInt issueCommandCommandId;
+extern TVersion issueCommandVersion;
+extern HBufC8* issueCommandData;
+extern TInt issueCommandReturnValue;
+TInt CMediatorCommandInitiator::IssueCommand(TUid aDomain, TUid aCategory, TInt aCmdId, TVersion aVersion, const TDesC8 & aData) 
+    {
+    issueCommandDomain = aDomain;
+    issueCommandCategory = aCategory;
+    issueCommandCommandId = aCmdId;
+    issueCommandVersion = aVersion;
+    issueCommandData = aData.Alloc();
+    if ( issueCommandData == NULL )
+        {
+        EUNIT_FAIL_TEST( "issueCommandData = aData.Alloc();" );
+        }
+    return issueCommandReturnValue; 
+    }
+
+#include "MediatorEventProvider.h"
+
+
+CMediatorEventProvider * CMediatorEventProvider::NewL() { return new( ELeave )CMediatorEventProvider(); } 
+CMediatorEventProvider::CMediatorEventProvider() {}
+CMediatorEventProvider::~CMediatorEventProvider() {}
+extern TUid raiseEventDomain;
+extern TUid raiseEventCategory;
+extern TInt raiseEventEventId;
+extern TVersion raiseEventVersion;
+extern HBufC8* raiseEventData;
+TInt CMediatorEventProvider::RaiseEvent( TUid aDomain, TUid aCategory, TInt aEventId, TVersion aVersion, const TDesC8 & aData) 
+    { 
+    raiseEventDomain = aDomain;
+    raiseEventCategory = aCategory;
+    raiseEventEventId = aEventId;
+    raiseEventVersion = aVersion;
+    raiseEventData = aData.Alloc();
+    if ( raiseEventData == NULL )
+        {
+        EUNIT_FAIL_TEST( "raiseEventData = aData.Alloc() failed" );
+        }
+    return KErrNone; 
+    }
+
+extern TInt mediatorRegisterationReturnValue;
+extern TUid domain;
+extern TUid category;
+extern MediatorService::REventList eventList;
+TInt CMediatorEventProvider::RegisterEvent( TUid aDomain, TUid aCategory, const RArray<MediatorService::TEvent>& events ) 
+    { 
+    domain = TUid(aDomain);
+    category = TUid(aCategory);
+    for ( TInt i = 0; i < events.Count(); i++ )
+        {
+        eventList.Append(events[i]);
+        }
+    return mediatorRegisterationReturnValue; 
+    }
+
+TInt CMediatorEventProvider::UnregisterEvent(class TUid, class TUid, class RArray<class MediatorService::TEvent> const &) { return 0; }
+
+#include "cphonelogger.h"
+
+CPhoneMethodLogger::CPhoneMethodLogger(
+        TPhoneUILoggingComponent /*aLoggingComponent*/,
+        TPtrC /*aString*/ )
+    {
+    }
+
+CPhoneMethodLogger::~CPhoneMethodLogger()
+    {
+    }
+
+#include <coemain.h>
+CCoeStatic::~CCoeStatic() {}
+CCoeStatic::CCoeStatic() {}
+CCoeStatic::CCoeStatic( TUid, TScope ) { }
+void CCoeStatic::CCoeStatic_Reserved1() {}
+void CCoeStatic::CCoeStatic_Reserved2() {}
+
+#include "CPhoneMediatorSender.h"
+extern CPhoneMediatorSender* coeEnvMediatorSenderInstance;
+CCoeStatic* CCoeEnv::Static( TUid ) { return coeEnvMediatorSenderInstance; }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonemediatorcenter/tsrc/ut_mediatorsender/group/T_MediatorSender.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 2005-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:  
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+TARGET          T_MediatorSender.dll
+TARGETTYPE      dll
+UID             0x1000af5a 0x01700000
+
+CAPABILITY      ALL -TCB
+VENDORID        VID_DEFAULT
+
+EPOCALLOWDLLDATA        // Allow global static data
+
+SOURCEPATH              ../src
+SOURCE                  T_MediatorSender.cpp
+
+SOURCEPATH              ../../../src
+SOURCE					CPhoneMediatorSender.cpp
+
+// Sources required by the test suite
+SOURCEPATH              ../src
+SOURCE                  T_MediatorSender_DllMain.cpp 
+SOURCE                  stubs.cpp
+
+USERINCLUDE             ../src
+USERINCLUDE             ../../../../phoneuiutils/inc
+USERINCLUDE             ../../../../phoneuicontrol/inc
+USERINCLUDE             ../../../../phoneui2/srcdata
+USERINCLUDE             ../../../../phoneuiqtviewadapter/inc
+
+APP_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE           ../../../inc
+SYSTEMINCLUDE           ../../../../../inc
+SYSTEMINCLUDE           /epoc32/include/Digia/EUnit
+
+LIBRARY                 EUnit.lib
+LIBRARY                 EUnitUtil.lib
+LIBRARY                 euser.lib
+LIBRARY                 phoneuiutils.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonemediatorcenter/tsrc/ut_mediatorsender/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+PRJ_PLATFORMS
+    DEFAULT
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+PRJ_TESTMMPFILES
+T_MediatorSender.mmp
+
+
+// End of file
--- a/phoneapp/phoneringingtoneplayer/group/bld.inf	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneringingtoneplayer/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -22,7 +22,7 @@
 DEFAULT
 
 PRJ_EXPORTS
-
+../rom/phoneringingtoneplayer_stub.sis          /epoc32/data/z/system/install/phoneringingtoneplayer_stub.sis
 
 PRJ_MMPFILES
 phoneringingtoneplayer.mmp
--- a/phoneapp/phoneringingtoneplayer/group/phoneringingtoneplayer.mmp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneringingtoneplayer/group/phoneringingtoneplayer.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -23,6 +23,8 @@
 // Assign Vendor ID.
 VENDORID VID_DEFAULT
 
+VERSION 10.0
+
 TARGET          phoneringingtoneplayer.dll
 TARGETTYPE      dll
 UID             0x1000008d 0x2002134E
@@ -70,3 +72,6 @@
 LIBRARY         audiooutputrouting.lib  // Ringingtone output
 LIBRARY         platformenv.lib         // PathInfo
 LIBRARY         cone.lib
+
+
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/rom/phoneringingtoneplayer_stub.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,32 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: For packing phonemediatorcenter stub.
+;
+; Languages
+&EN
+
+; Header
+#{"phoneringingtoneplayer"}, (0x2002134E), 1, 0, 0, TYPE=SA
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+;Files
+;
+;  phoneringingtoneplayer
+;
+"" - "z:\sys\bin\phoneringingtoneplayer.dll"
Binary file phoneapp/phoneringingtoneplayer/rom/phoneringingtoneplayer_stub.sis has changed
--- a/phoneapp/phoneringingtoneplayer/tsrc/t_phoneringingtoneplayer/t_phoneringingtoneplayer.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneringingtoneplayer/tsrc/t_phoneringingtoneplayer/t_phoneringingtoneplayer.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -45,3 +45,6 @@
 RESOURCES +=
 
 symbian:TARGET.UID3 = 0xE87E453C
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/group/ut_cphoneringingtonecontroller.mmp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/group/ut_cphoneringingtonecontroller.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -75,3 +75,6 @@
 LIBRARY                 cone.lib
 
 EPOCALLOWDLLDATA
+
+
+SMPSAFE
--- a/phoneapp/phonestringloader/phonestringloader.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phonestringloader/phonestringloader.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -24,6 +24,7 @@
     TARGET.EPOCALLOWDLLDATA =1
     TARGET.UID3 = 0x20029F85
     DEFINES += FT_SYMBIAN_INTEGRATION
+    VERSION = 10.0
     
     INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
 
@@ -43,7 +44,11 @@
         "$${LITERAL_HASH}endif"
     
     MMP_RULES += defFiles
+    BLD_INF_RULES.prj_exports += "./rom/phonestringloader_stub.sis /epoc32/data/z/system/install/phonestringloader_stub.sis"
 }
 
 # Input
 include(phonestringloader.pri)
+
+
+symbian:MMP_RULES += SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonestringloader/rom/phonestringloader_stub.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,28 @@
+;
+; 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: For packing phoneuicontrol component.
+;
+; Languages
+&EN
+
+; SIS header: name, uid, version
+#{"phonestringloader"},(0x20029F85),1,0,0,TYPE=SA
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+                                  
+"" - "z:\sys\bin\phonestringloader.dll"
Binary file phoneapp/phonestringloader/rom/phonestringloader_stub.sis has changed
--- a/phoneapp/phonestringloader/tsrc/ut_phonestringloader/ut_phonestringloader.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phonestringloader/tsrc/ut_phonestringloader/ut_phonestringloader.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -42,3 +42,6 @@
 HEADERS += phoneresourceadapter.h
 SOURCES += ../../src/stringloader.cpp
 SOURCES += unit_tests.cpp
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneapp/phoneui2/inc/hbphonemainwindow.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneui2/inc/hbphonemainwindow.h	Mon Oct 04 00:16:48 2010 +0300
@@ -26,11 +26,19 @@
 
 class HbPhoneMainWindow: public HbMainWindow
     {
-
+    Q_OBJECT
 public:
 
     HbPhoneMainWindow(QWidget* parent = 0);
     ~HbPhoneMainWindow();
+    
+signals:
+    void focusLost();
+    void focusGained(); 
+    
+public slots:
+    void onFocusLost();
+    void onFocusGained();
 
 
 private: // data
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/inc/phoneapplication.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,48 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Phone application 
+*
+*/
+
+#ifndef PHONEAPPLICATION_H_
+#define PHONEAPPLICATION_H_
+
+#include <HbApplication>
+
+class QSymbianEvent;
+
+class PhoneApplication : public HbApplication
+{
+    Q_OBJECT
+public:
+    PhoneApplication(
+            int &argc, 
+            char *argv[], 
+            Hb::ApplicationFlags flags = Hb::DefaultApplicationFlags);
+   
+
+signals:
+    void focusLost();    
+    void focusGained();
+    
+protected:
+#if defined(Q_OS_SYMBIAN)
+    // This is required because focusInEvent(),
+    // focusOutEvent(), or hideEvent() are not called
+    // on the Symbian platform when the foreground application changes. 
+    bool symbianEventFilter(const QSymbianEvent *event);
+#endif
+
+};
+#endif /* PHONEAPPLICATION_H_ */
--- a/phoneapp/phoneui2/loc/basiccallhandling.loc	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +0,0 @@
-/*
-* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*     This is a localisation file for Phone
-*     A .loc file is the one and only place where the logical strings
-*     to be localised are defined.
-*
-*/
-
-
-// LOCALISATION STRINGS
-
-// d: It is used as softkey text. If the
-// d: softkey is pressed, then a call is dropped.
-// l: control_pane_t1/opt7
-// w:
-//
-#define text_softkey_drop "End call"
-
-// d: It is text for option in menu in call coming in
-// d: state. It answers the incoming call.
-// l: list_single_pane_t1_cp2
-// w:
-//
-#define qtn_call_answer_option "Answer"
-
-// d: It is text for option in menu in call coming in
-// d: state. It rejects the incoming call.
-// l: list_single_pane_t1_cp2
-// w:
-//
-#define qtn_call_reject_option "Reject"
-
-// d: It is used in error note when
-// d: call termination cause is 'number not in use'.
-// l: popup_note_window
-// w:
-//
-#define text_unassigned_number "Number not in use"
-
-// d: It is used in error note when
-// d: call termination cause is 'number busy'.
-// l: popup_note_window
-// w:
-//
-#define text_user_busy "Number busy"
-
-// d: It is used in error note when
-// d: call termination cause is 'no answer'.
-// l: popup_note_window
-// w:
-//
-#define text_no_answer "No answer"
-
-// d: It is used in error note when
-// d: call termination cause is 'network busy'.
-// l: popup_note_window
-// w:
-//
-#define text_network_busy "Network busy"
-
-// d: It is used in error note when
-// d: call termination cause is 'network failure'.
-// l: popup_note_window
-// w:
-//
-#define text_network_failure "Error in connection"
-
-// d: It is used in error note when
-// d: call termination cause is 'invalid number'.
-// l: popup_note_window
-// w:
-//
-#define text_invalid_number "Invalid phone number"
-
-// d: It is used in error note when
-// d: call termination cause is 'number barred'.
-// l: popup_note_window
-// w:
-//
-#define text_cterm_nbr_barred "Number barred"
-
-// d: It is used in error note when
-// d: call termination cause is 'number not in closed group'.
-// l: popup_note_window
-// w:
-//
-#define text_cterm_nbr_not_in_cug "Number not in closed group"
-
-// d: It is used in error note when call is terminated
-// d: because outgoing calls were barred in CUG.
-// l: popup_note_window
-// w:
-//
-#define text_cterm_d_barred_in_cug "Call barred in closed group"
-
-// d: It is used in error note when call is terminated
-// d: because no CUG was selected.
-// l: popup_note_window
-// w:
-//
-#define text_cterm_d_no_cug_selected "Select closed group"
-
-// d: It is used in error note when call is terminated
-// d: because CUG index was unknown
-// l: popup_note_window
-// w:
-//
-#define text_cterm_d_unknown_cug_index "Closed group unknown"
-
-// d: It is used in error note when call is terminated
-// d: because CUG index was not compatible with basic service.
-// l: popup_note_window
-// w:
-//
-#define text_cterm_d_cug_bs_incompab "Service not possible in this group"
-
-// d: It is used in error note when call is terminated
-// d: because of unspecified CUG call failure
-// l: popup_note_window
-// w:
-//
-#define text_cterm_d_cug_call_failur "Check closed user group"
-
-// d: It is used in error note when call is terminated
-// d: because CLIR was not subscribed.
-// l: popup_note_window
-// w:
-//
-#define text_cterm_d_clir_not_subscr "Check own number sending"
-
-// d: It's a menu item. When it's selected, the call will be
-// d: answered and audio will be routed to handportable mode.
-// l: list_single_pane_t1_cp2
-// w:
-// r: 3.0
-//
-#define qtn_call_answer_hp_vt_option "Answer to handportable"
-
-// d: It is displayed as a note when user makes long voice key press
-// d: while there is already active call.
-// l: popup_note_window
-//
-#define text_call_in_progress "Call in progress"
-
-// d: Answers call and routes audios to
-// d: loudspeaker( or headset if connected )
-// l: control_pane_t3/opt7
-// w:
-//
-#define qtn_msk_call_answer_loudspeaker "Answer"
-
-// End of File
--- a/phoneapp/phoneui2/loc/callheadertexts.loc	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,258 +0,0 @@
-/*
-* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     This is a localisation file for Phone
-*     A .loc file is the one and only place where the logical strings
-*     to be localised are defined. 
-*
-*/
-
-
-// LOCALISATION STRINGS
-
-// d: It is used on the first line in call pop up windows
-// d: in in-call state, when no name/number/company for
-// d: the call exists. It is also used in some notes as
-// d: the calling line identification. %N will be replaced
-// d: with the order of the call (1, 2, 3, ..).
-// l: popup_call_audio_first_window_t4/opt17
-// w:
-//
-#define qtn_call_number "Call %N"
-
-// d: It is used on the first line of incoming call pop up
-// d: window when calling party's phone number is not available.
-// d: (by default)
-// l: popup_call_audio_first_window_t4/opt17
-// w:
-//
-#define qtn_mtcal_call "Call"
-
-// d: If the call setup message contains 'diverted' flag,
-// d: and calling line identification is not present, it
-// d: is used on the first line of incoming call pop up
-// d: window.
-// d: Note that the second line is empty.
-// l: popup_call_audio_first_window_t4/opt17
-// w:
-//
-#define qtn_mtcal_diverted_call "Diverted call"
-
-// d: When alerting for an incoming call with withheld 
-// d: calling line idenfication information, it is used
-// d: on the first line of incoming call pop up window.
-// l: popup_call_audio_first_window_t4/opt17
-// w:
-//
-#define qtn_mtcal_cli_withheld "Private number"
-
-// d: It is shown in the first line of active conference call
-// d: as the calling line identification.
-// l: popup_call_audio_first_window_t4/opt17
-// w:
-//
-#define qtn_multc_conference_pop_up "Conference"
-
-// d: It is text used in call header pop up, when
-// d: emergency call is made.
-// l: popup_call_audio_first_window_t4/opt17
-// w:
-//
-#define qtn_emerg_call_pop_up "Emergency call"
-
-// d: It is on the first line in outgoing call pop up
-// d: window in call setup state.
-// l: popup_call_audio_first_window_t4/opt17
-// w:
-//
-#define qtn_call_out_going_call "Calling"
-
-// d: It is on the first line in outgoing call pop up
-// d: window in call setup state, short version.
-// l: popup_call_audio_first_window_t4/opt17
-// w:
-//
-#define qtn_call_out_going_call_short "Calling"
-
-// d: It is used on the second line of incoming call pop up
-// d: window when calling party's phone number is available.
-// l: popup_call_audio_first_window_t4/opt17
-// w:
-//
-#define qtn_mtcal_incoming_call "calling"
-
-// d: It is used on the second line of incoming call pop up
-// d: window when calling party's phone number is available.
-// d: It is short version.
-// l: popup_call_audio_first_window_t4/opt17
-// w:
-//
-#define qtn_mtcal_incoming_call_short "calling"
-
-// d: It is used on the second line of waiting call
-// d: pop up window.
-// l: popup_call_audio_first_window_t4/opt17
-// w:
-// 
-#define qtn_multc_window_waiting "waiting"
-
-// d: It is used on the second line of waiting call
-// d: pop up window. It is short version.
-// l: popup_call_audio_first_window_t4/opt17
-// w:
-// 
-#define qtn_multc_window_waiting_short "waiting"
-
-// d: It is used on the second line of call pop ups,
-// d: when call is on hold.
-// l: popup_call_audio_first_window_t4/opt17
-// w:
-//
-#define qtn_incal_window_held "on hold"
-
-// d: It is used on the second line of call pop ups,
-// d: when call is on hold. It is short version.
-// l: popup_call_audio_first_window_t4/opt17
-// w:
-//
-#define qtn_incal_window_held_short "on hold"
-
-// d: It is used on the second line of call pop ups,
-// d: when call is disconnected. 
-// l: popup_call_audio_first_window_t4/opt17
-// w:
-//
-#define qtn_call_window_discon "disconnected"
-
-// d: It is used on the second line of call pop ups,
-// d: when call is disconnected. It is short version.
-// l: popup_call_audio_first_window_t4/opt17
-// w:
-//
-#define qtn_call_window_discon_short "disconnected" 
-
-// d: It is used on the second line of call pop ups,
-// d: when incoming call is disconnected in case
-// d: first row contains call. 
-// l: popup_call_audio_first_window_t4/opt17
-// w:
-//
-#define qtn_call_window_discon_nonum "disconnected"
-
-// d: It is used on the second line of call pop ups,
-// d: when incoming call is disconnected in case
-// d: first row contains private number. 
-// l: popup_call_audio_first_window_t4/opt17
-// w:
-//
-#define qtn_call_window_discon_privat "disconnected"
-
-// d: It is used on the second line of call pop ups,
-// d: when incoming call is disconnected in case
-// d: first row contains diverted call. 
-// l: popup_call_audio_first_window_t4/opt17
-// w:
-//
-#define qtn_call_window_discon_divert "disconnected"
-
-// d: It is used on the second row of held call when
-// d: first row contains "Call %N".
-// l: popup_call_audio_first_window_t4/opt17
-// w:
-// 
-#define qtn_incal_window_held_call "on hold"
-
-// d: It is used on the second row of disconnected call when
-// d: first row contains "Call %N".
-// l: popup_call_audio_first_window_t4/opt17
-// w:
-// 
-#define qtn_call_window_discon_call "disconnected"
-
-// d: It is used on the second row of conference call.
-// l: popup_call_audio_first_window_t4/opt17
-//
-#define qtn_incal_window_held_conf "on hold"
-
-// d: It is used on the second row of disconnected conference call.
-// l: popup_call_audio_first_window_t4/opt17
-// w:
-// 
-#define qtn_call_window_discon_conf "disconnected"
-
-// d: It is used on the second line of call pop ups,
-// d: when call is on line 2, it is incoming and its
-// d: number is not known.
-// l: popup_call_audio_first_window_t4/opt17
-// w:
-// 
-#define qtn_als_incoming_line2_nonum "on line 2"
-
-// d: It is used on the second line of call pop ups,
-// d: when call is on line 2, it is arriving and its
-// d: number is known.
-// l: popup_call_audio_first_window_t4/opt17
-// w:
-//
-#define qtn_als_arriving_line2_number "calling, line 2"
- 
-// d: It is used on the second line of call pop ups,
-// d: when call is on line 2, it is waiting and its
-// d: number is known.
-// l: popup_call_audio_first_window_t4/opt17
-// w:
-//
-#define qtn_als_waiting_line2_number "waiting, line 2" 
-
-// d: It is used on the second line of call pop ups,
-// d: when receiving a video call.
-// d: 
-// l: popup_call_audio_first_window_t4/opt17
-// w:
-//
-#define qtn_mtcal_incoming_video_call "Video call"
-
-// d: It is used on the second line of call pop ups,
-// d: when receiving a video call and there is no room
-// d: for longer text.
-// l: popup_call_audio_first_window_t4/opt17
-// w:
-//
-#define qtn_mtcal_incoming_vt_short "Video call"
-
-// d: It is used on the second line of call pop ups,
-// d: when creating a video call.
-// d: 
-// l: popup_call_audio_first_window_t4/opt17
-// w:
-//
-#define qtn_call_out_going_video_call "Video call"
-
-// d: It is used on the second line of call pop ups,
-// d: when creating a video call and there is no room
-// d: for longer text.
-// l: popup_call_audio_first_window_t4/opt17
-// w:
-//
-#define qtn_call_out_going_vt_short "Video call"
-
-// d: When alerting for an incoming call with payphone
-// d: calling line idenfication information, it is used
-// d: on the first line of incoming call pop up window.
-// l: popup_call_audio_first_window_t4/opt17
-// w:
-//
-#define qtn_mtcal_cli_payphone "Payphone"
-
-// End of File
--- a/phoneapp/phoneui2/loc/callterminationnote.loc	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     This is a localisation file for Phone
-*     A .loc file is the one and only place where the logical strings
-*     to be localised are defined. 
-*
-*/
-
-
-// LOCALISATION STRINGS
-
-// d: It is text used in the first line in call termination 
-// d: note.
-// l: popup_note_window
-//
-#define text_cterm_note_title "Call Terminated"
-
-// d: It is text used in the second line in call termination
-// d: note. After the text, last call timer value is shown.
-// l: popup_note_window
-//
-#define qtn_cterm_time "Time"
-
-// End of File
--- a/phoneapp/phoneui2/loc/dialer.loc	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +0,0 @@
-/*
-* Copyright (c) 2002-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     This is a localisation file for Dialer
-*     A .loc file is the one and only place where the logical strings
-*     to be localised are defined. 
-*
-*/
-
-
-
-// LOCALISATION STRINGS
-
-// d: Text in the Dialer Options menu. Only when there 
-// d: exist a call/calls. Brings the Telephone
-// d: application into the foreground.
-// l: list_single_pane_t1_cp2  
-// w:
-// r: 5.0
-//
-#define qtn_dialer_call_handling_option "Call Handling" 
-
-// d: Text in Dialer Options menu. Opens the recent calls 
-// d: list from Logs Application.
-// l: list_single_pane_t1_cp2  
-// w:
-// r: 5.0
-//
-#define qtn_dialer_recent_calls_option "Recent calls"
-
-// d: Text in Dialer Options menu. Opens the Phonebook
-// d: application.
-// l: list_single_pane_t1_cp2  
-// w:
-// r: 5.0
-//
-#define qtn_dialer_contacts_option "Contacts"
-
-// d: Text in Dialer Options menu.
-// d: Opens the call settings view.
-// l: list_single_pane_t1_cp2  
-// w:
-// r: 5.0
-//
-#define qtn_dialer_call_settings_option "Call settings"
-
-// d: Text in Dialer Options menu.
-// d: Opens the Speed dial application in its main view.
-// l: list_single_pane_t1_cp2  
-// w:
-// r: 5.0
-//
-#define qtn_dialer_speed_dial_option "Speed Dial"
-
-
-// d: Text in Dialer Options menu.
-// d: Opens the VKB for the user to insert a VoIP address.
-// l: list_single_pane_t1_cp2  
-// w:
-// r: 5.0
-//
-#define qtn_dialer_touch_input_options "Touch input"
-
-
-// d: Prompt of the list query dialog containing 
-// d: selectable items "create new" and "update
-// d: existing" allowing a user to save a number/address
-// d: from Dialer number entry to contacts.
-// l: list_single_pane_t1_cp2  
-// w:
-// r: 5.0
-//
-#define qtn_dialer_create_new "Create new"
-
-// d: Selectable item in list query dialog allowing
-// d: user to add a number in Dialer number entry 
-// d: to existing contact.
-// l: list_single_pane_t1_cp2  
-// w:
-// r: 5.0
-//
-#define qtn_dialer_update_existing "Update existing"
-
-// d: Selectable item in list query dialog allowing
-// d: user to create a new contact from a number in 
-// d: Dialer number entry.
-// l: heading_pane_t1  
-// w:
-// r: 5.0
-//
-#define qtn_dialer_add_to_contact "Add to contacts:"
-
-
-// d: Prompt text for number entry.
-// d: Topmost row shows text in case of Dtmf dialer. 
-// l: heading_pane_t1  
-// w:
-// r: 5.0
-//
-#define qtn_dialer_dtmf_number_input_field_text "DTMF number:"
-
-
-// d: Tooltip text for Dialer toolbar 'Clear' button.
-// l: popup_preview_text_window_t1  
-// w:
-// r: 5.0
-//
-#define qtn_dialer_tooltip_clear "Clear"
-
-// d: Tooltip text for Dialer toolbar 'Contacts' button.
-// l: popup_preview_text_window_t1  
-// w:
-// r: 5.0
-//
-#define qtn_dialer_tooltip_contacts "Contacts"
-
-// d: Tooltip text for Dialer toolbar 'Add to contacts' button.
-// l: popup_preview_text_window_t1  
-// w:
-// r: 5.0
-//
-#define qtn_dialer_tooltip_add_to_contacts "Add to contacts"
-
-// d: Tooltip text for Dialer toolbar 'Call' button.
-// l: popup_preview_text_window_t1  
-// w:
-// r: 5.0
-//
-#define qtn_dialer_tooltip_call "Call"
-
-// d: Tooltip text for Dialer toolbar 'Send' button.
-// l: popup_preview_text_window_t1  
-// w:
-// r: 5.0
-//
-#define qtn_dialer_tooltip_send "Send"
-
-// d: Tooltip text for Dialer toolbar 'Recent calls' button.
-// l: popup_preview_text_window_t1  
-// w:
-// r: 5.0
-//
-#define qtn_dialer_tooltip_recent_calls "Recent calls"
-
-
-// End of File
--- a/phoneapp/phoneui2/loc/dtmfsignalling.loc	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     This is a localisation file for phone.
-*
-*/
-
-
-// LOCALISATION STRINGS
-
-// d: It is prompt in data query which asks user to enter
-// d: dtmf string.
-// l: popup_query_data_window
-//
-#define qtn_dtmf_number_query "DTMF number:"
-
-// d: It is prompt in confirmation query shown when 
-// d: 'w' character is processed in dtmf signalling.
-// d: %U is replaced with the remainder of the string to
-// d: be sent.
-// l: popup_note_window
-//
-#define qtn_dtmf_send_string_query "Send string:\n%U"
-
-// d: It is prompt in data query which asks user to enter
-// d: speed dial location.
-// l: popup_query_data_window
-// 
-#define qtn_dtmf_spdial_number_query "Speed dial number:"
-
-// d: It is wait note during dtmf sending procedure.
-// d: %U is replaced with the string to be sent.
-// l: popup_note_wait_window
-//
-#define qtn_dtmf_sending_wait_note "Sending\n%U"
-
-// d: It is displayed as error note when speed dial location
-// d: is invalid in dtmf signalling.
-// l: popup_note_window
-//
-#define qtn_dtmf_invalid_spdial_err_note "Invalid speed dial location"
-
-// d: It is displayed as error note when speed dial location
-// d: is empty in dtmf signalling.
-// l: popup_note_window
-//
-#define qtn_dtmf_spdial_empty_err_note "Speed dial not assigned"
-
-// d: It is displayed as error note when speed dial location
-// d: does not contain any numbers.
-// l: popup_note_window
-//
-#define qtn_dtmf_no_nro_err_note "No numbers"
-
-// d: It is text displayed in title pane during single item fetches.
-// l: title_pane_t2/opt9
-//
-#define qtn_dtmf_phonebook_title "Send DTMF"
-
-// d: It is the text displayed in top of choice list when choosing 
-// d: the DTMF to be sent 
-// l: heading_pane_t1
-//
-#define qtn_send_dtmf_query_prmpt "Send DTMF"
-
-// d: It is Item displayed in "Send DTMF" list 
-// l:list_single_pane_t1_cp2
-//
-#define qtn_find_query_item "Find"
-
-// d: It is Item displayed in "Send DTMF" list 
-// l:list_single_pane_t1_cp2
-//
-#define qtn_enter_manually_query_item "Enter manually"
-
-// End of File
--- a/phoneapp/phoneui2/loc/incallmenuandsoftkeys.loc	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,273 +0,0 @@
-/*
-* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     This is a localisation file for Phone
-*     A .loc file is the one and only place where the logical strings
-*     to be localised are defined. 
-*
-*/
-
-
-
-// LOCALISATION STRINGS
-
-// d: It is text for a menu option. If it is selected, 
-// d: calls are swapped.
-// l: list_single_pane_t1_cp2
-// w:
-//
-#define qtn_incal_swap_option "Swap"
-
-
-// d: It is text for a menu option. If it is selected, 
-// d: incoming/waiting call is rejected.
-// l: list_single_pane_t1_cp2
-// w:
-//
-#define qtn_incal_reject_option "Reject"
-
-// d: It is text for a menu option. If it is selected, 
-// d: call is put on hold.
-// l: list_single_pane_t1_cp2
-// w:
-//
-#define qtn_incal_hold_option "Hold"
-
-// d: It is text for a menu option. If it is selected, 
-// d: held call is activated.
-// l: list_single_pane_t1_cp2
-// w:
-//
-#define qtn_incal_unhold_option "Unhold"
-
-// d: It is text for a menu option. If it is selected, 
-// d: all calls are terminated (not waiting call).
-// l: list_single_pane_t1_cp2
-// w:
-//
-#define qtn_incal_end_option "End all calls"
-
-// d: It is text for a menu option. If it is selected, 
-// d: phone is muted.
-// l: list_single_pane_t1_cp2
-// w:
-//
-#define qtn_incal_mute_option "Mute"
-
-// d: It is text for a menu option. If it is selected, 
-// d: phone is unmuted.
-// l: list_single_pane_t1_cp2
-// w:
-//
-#define qtn_incal_unmute_option "Unmute"
-
-// d: It is text for a menu option. If it is selected,
-// d: a dialog is opened to allow user to enter a number
-// d: and make a call.
-// l: list_single_pane_t1_cp2
-// w:
-//
-#define qtn_incal_new_call_option "New call"
-
-// d: It is text for a menu option. If it is selected, 
-// d: conference is built from calls.
-// l: list_single_pane_t1_cp2/opt3
-// w:
-//
-#define qtn_incal_conference_option "Conference"
-
-// d: It is text for a menu option. If it is selected, 
-// d: conference is built from calls.
-// l: list_single_pane_t1_cp2
-// w:
-//
-#define qtn_incal_join_option "Join"
-
-// d: It is text for a menu option. If it is selected, 
-// d: the user can choose a participant in conference.
-// d: It will make one-to-one call with the selected
-// d: participant.
-// l: list_single_pane_t1_cp2
-// w:
-//
-#define qtn_incal_private_option "Private"
-
-// d: It is text for a menu option. If it is selected, 
-// d: the user can choose a participant in conference.
-// d: The selected participant will be dropped.
-// l: list_single_pane_t1_cp2
-// w:
-//
-#define qtn_incal_drop_conf_option "Drop participant"
-
-// d: It is text for a menu option. If it is selected, 
-// d: calls are transferred (ECT).
-// l: list_single_pane_t1_cp2
-// w:
-//
-#define qtn_incal_transfer_option "Transfer"
-
-// d: It is text for a menu option. If it is selected,
-// d: active call is dropped and waiting call is answered.
-// l: list_single_pane_t1_cp2
-// w:
-//
-#define qtn_incal_replace_option "Replace"
-
-// d: It is text for a menu option. If it is selected, 
-// d: allows user to enter dtmf string to be sent.
-// l: list_single_pane_t1_cp2
-// w:
-//
-#define qtn_incal_send_dtmf_option "Send DTMF"
-
-// d: It is used as softkey text. If the
-// d: softkey is pressed, then phone is muted.
-// l: control_pane_t1/opt7
-// w:
-//
-#define text_softkey_mute "Mute"
-
-// d: It is used as softkey text. If the
-// d: softkey is pressed, then phone is unmuted.
-// l: control_pane_t1/opt7
-// w:
-//
-#define text_softkey_unmute "Unmute"
-
-// d: It is used as softkey text. If the
-// d: softkey is pressed, then call is activated.
-// l: control_pane_t1/opt7
-// w:
-//
-#define text_softkey_unhold "Unhold"
-
-// d: It is used as softkey text. If the
-// d: softkey is pressed, then calls are swapped.
-// l: control_pane_t1/opt7
-// w:
-//
-#define text_softkey_swap "Swap"
-
-// d: It is used as softkey text. If the softkey
-// d: is pressed, then all calls are ended
-// l: control_pane_t1/opt7
-// w:
-//
-#define qtn_incal_softk_end_all "End calls"
-
-// d: It is text for a menu option. If it is selected, 
-// d: calls are transferred (Unattended transfer).
-// l: list_single_pane_t1_cp2
-// w: 
-// r: 3.0
-//
-#define qtn_incal_unattended_transfer_option "Unattended transfer"
-
-
-// d: It is used as softkey text. If pressed, the call isn't rejected,
-// d: but a unified message editor with soft reject default text is opened.
-// l: control_pane_t1/opt7
-//
-#define qtn_softkey_soft_reject "Soft Reject"
-
-// d: It is text for a menu option. If it is selected,
-// d: Switches current voice call to video
-// l: list_single_pane_t1_cp2
-// w:
-// r: 3.1u
-//
-#define qtn_incal_voice_to_video "Switch to video call"
-
-// d: It is used as middle softkey text. If the softkey
-// d: is pressed, Contacts app is activated.
-// l: control_pane_t3/opt7
-// w:
-// r: 3.2
-//
-#define qtn_msk_contacts "Contacts"
-
-// d: It is text for a menu option. If it is selected,
-// d: Switches current video call to voice call
-// l: list_single_pane_t1_cp2
-// w:
-// r: 3.1u
-//
-#define qtn_incal_video_to_voice "Switch to voice call"
-
-// d: It is used as softkey text. If the
-// d: softkey is pressed, then a view is changed to dialer.
-// l: control_pane_t1/opt7
-// w:
-// r: 5.0
-//
-#define qtn_incal_softk_dialer "Dialer"
-
-// d: It is text for a menu option. If it is selected, 
-// d: view is changed to dialer.
-// l: list_single_pane_t1_cp2
-// w:
-// r: 5.0
-//
-#define qtn_incal_dialer_option "Dialer"
-
-// d: It is text for a menu option. If it is selected, 
-// d: call is added to conference.
-// l: list_single_pane_t1_cp2
-// w:
-// r: 5.0
-//
-#define qtn_incal_add_to_conf_option "Add to conference"
-
-// d: It is text for a menu option. If it is selected, 
-// d: participants list is opened.
-// l: list_single_pane_t1_cp2
-// w:
-// r: 5.0
-//
-#define qtn_incal_participants_option "Participants"
-
-// d: It is text for a menu option. If it is selected, 
-// d: operation separates selected remote party 
-// d: call from the active conference call.
-// l: list_single_pane_t1_cp2
-// w:
-// r: 5.0
-//
-#define qtn_incal_private_part_option "Private"
-
-// d: It is text for a menu option. If it is selected, 
-// d: the user can choose a participant in conference.
-// d: The selected participant will be dropped.
-// l: list_single_pane_t1_cp2
-// w:
-// r: 5.0
-//
-#define qtn_incal_drop_part_option "Drop participant"
-
-// d: It is text for a menu option. If it is selected, 
-// d: handover is initiated
-// l: list_single_pane_t1_cp2
-// w:
-//
-#define qtn_incal_vcc_ho_to_wlan_option "Handover to WLAN"
-
-// d: It is text for a menu option. If it is selected, 
-// d: handover is initiated
-// l: list_single_pane_t1_cp2
-// w:
-//
-#define qtn_incal_vcc_ho_to_gsm_option "Handover to GSM"
-
-// End of File
--- a/phoneapp/phoneui2/loc/incalloperations.loc	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,530 +0,0 @@
-/*
-* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     This is a localisation file for Phone
-*     A .loc file is the one and only place where the logical strings
-*     to be localised are defined. 
-*
-*/
-
-
-
-// LOCALISATION STRINGS
-
-// d: Local hold operation is confirmed with
-// d: the text in confirmation note. %U is replaced
-// d: with call identification.
-// l: popup_note_window
-// w: 
-//
-#define qtn_incal_conf_hold_cli "%U on hold"
-
-// d: Local hold operation is confirmed with
-// d: the text in confirmation note. There is no name
-// d: in phonebook for the number of the call.
-// l: popup_note_window
-// w: 
-//
-#define qtn_incal_conf_hold_nocli "Call %N on hold"
-
-// d: Local hold operation is confirmed with
-// d: the text in confirmation note. The held call is
-// d: conference.
-// l: popup_note_window
-// w: 
-//
-#define qtn_incal_conf_hold_conf "Conference on hold"
-
-
-// d: It is title in new call data query.
-// l: popup_query_data_window
-// w: 
-//
-#define text_phone_number "Phone number:"
-
-// d: It is softkey used to initiate single entry fetch.
-// l: control_pane_t1/opt7
-// w: 
-//
-#define text_softkey_find "Search"
-
-// d: It is softkey in new call data query. It starts making
-// d: call to the number specified in query.
-// l: control_pane_t1/opt7
-// w: 
-//
-#define text_softkey_new_call "Call"
-
-// d: It is title in single item fetch from new call query.
-// l: title_pane_t2/opt9
-// w: 
-//
-#define qtn_incal_call_title "New call to"
-
-// d: When the remote end holds the active Call, it will be indicated to 
-// d: the user with this information note
-// l: popup_note_window
-// w: 
-//
-#define qtn_incal_info_hold "On hold"
-
-// d: When the remote end activates the held call, it will be indicated to 
-// d: the user with this information note
-// l: popup_note_window
-// w: 
-//
-#define qtn_incal_remote_active_note "Connected"
-
-// d: If the remote end transfers the call before the transferred to party 
-// d: has answered, this wait note pop-up window is displayed
-// l: popup_note_wait_window
-// w: 
-//
-#define qtn_incal_wait_transfer "Transfer in progress"
-
-// d: When the remote end transfers the call to a third party, this
-// d: information note is shown if the calling line identification of the 
-// d: transferred to party is not available.
-// l: popup_note_window
-// w: 
-//
-#define qtn_incal_transferred_note "Transferred"
-
-// d: If the call identification of the transferred to party is 
-// d: available, this information note is displayed instead, 
-// d: where %U is the calling line identification.
-// l: popup_note_window
-// w: 
-//
-#define qtn_incal_transferred_nro_note "Connected to %U"
-
-// d: If the remote end joins the user to a multiparty call,this 
-// d: information note is displayed
-// l: popup_note_window
-// w: 
-//
-#define qtn_incal_info_conf_active "Conference call active"
-
-// d: If user tries to disconnect BT connection while there is
-// d: audio on going, the following query will be displayed.
-// l: popup_note_window
-// w: 
-//
-#define qtn_que_continue_in_handset "Connection is closed. Continue in handportable mode?"
-
-// d: When sending a media file to caller
-// d: the text in confirmation note. %U is replaced
-// l: popup_note_window
-// w: 
-//
-#define qtn_incal_sfi_sent "Sending file to %U"
-
-// d: If user tries to disconnect BT connection while there is
-// d: video call ongoing, the following query will be displayed.
-// l: popup_note_window
-// w: 
-//
-#define qtn_que_continue_in_louds "Connection is closed. Continue in loudspeaker mode?"
-
-// d: information note when trying to switch to video in 2G.
-// l: popup_note_window
-// w: 
-// r: 3.1u
-//
-#define qtn_incal_info_no_network_support "No network support for video call"
-
-// d: Confirmation note when switching from voice to video
-// l: popup_note_window
-// w: 
-// r: 3.1u
-//
-#define qtn_query_create_video_call "End active call and create video call to the same contact?"
-
-// d: Confirmation note when switching from video to voice
-// l: popup_note_window
-// w: 
-// r: 3.1u
-//
-#define qtn_incal_query_create_video_call "End active call and create voice call to the same contact?"
-
-// d: information note when trying to switch to video or MO video call attempt during MC or PCSuite restore.
-// l: popup_note_window
-// w: 
-// r: 3.1
-//
-#define qtn_video_call_not_allowed "Video call not allowed during restore"
-
-// d: It is text for a command button. If it is selected, 
-// d: the user can choose a participant in conference.
-// d: The selected participant will be dropped.
-// l: cell_call4_button_pane_t1
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_drop "Drop participant"
-
-// d: It is text for a command button. If it is selected, 
-// d: operation separates selected remote party 
-// d: call from the active conference call.
-// l: cell_call4_button_pane_t1
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_private "Private"
-
-// d: It is text for a command button. If it is selected, 
-// d: active call is ended.
-// l: cell_call4_button_pane_t1
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_end_active_call "End active call"
-
-// d: It is text for a command button. If it is selected, 
-// d: add call to conference call.
-// l: cell_call4_button_pane_t1
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_join "Add to conference"
-
-// d: It is text for a command button. If it is selected, 
-// d: calls are swapped.
-// l: cell_call4_button_pane_t1
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_swap "Swap"
-
-// d: It is text for a command button. If it is selected, 
-// d: view is changed to idle.
-// l: cell_call4_button_pane_t1
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_go_idle "Go to idle"
-
-// d: It is text for a command button. If it is selected, 
-// d: all calls are ended.
-// l: cell_call4_button_pane_t1
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_end_all_calls "End all calls"
-
-// d: It is text for a command button  If it is selected, 
-// d: participants list is opened.
-// l: cell_call4_button_pane_t1
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_participants "Participants"
-
-// d: It is text for a command button. If it is selected, 
-// d: held call is activated.
-// l: cell_call4_button_pane_t1
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_unhold "Unhold"
-
-// d: It is text for a command button. If it is selected, 
-// d: call is put on hold.
-// l: cell_call4_button_pane_t1
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_hold "Hold"
-
-// d: It is text for a command button. If it is selected,
-// d: handsfree is activated.
-// l: cell_call4_button_pane_t1
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_loudspeaker "Loudspeaker"
-
-// d: It is text for a command button. If it is selected,
-// d: audio is routed to handset mode
-// l: cell_call4_button_pane_t1
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_handset "Handset"
-
-// d: It is text for a command button. If it is selected, 
-// d: phone is unmuted.
-// l: cell_call4_button_pane_t1
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_unmute_mic "Unmute"
-
-// d: It is text for a command button. If it is selected, 
-// d: phone is muted.
-// l: cell_call4_button_pane_t1
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_mute_mic "Mute"
-
-// d: It is text for a command button. If it is selected, 
-// d: call is changed from voice to video.
-// l: cell_call4_button_pane_t1
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_voice_to_video "Voice to video"
-
-// d: It is text for a command button. If it is selected, 
-// d: conference is built from calls.
-// l: cell_call4_button_pane_t1
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_conference "Conference"
-
-// d: It is text for a command button. If it is selected, 
-// d: audio is routed bt handsfree.
-// l: cell_call4_button_pane_t1
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_bluetooth "BT Handsfree"
-
-// d: It is text for a command button. If it is selected, 
-// d: call is ended.
-// l: cell_call4_button_pane_t1
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_end_call "End call"
-
-// d: It is text for a command button. If it is selected, 
-// d: incoming call is rejected.
-// l: cell_call4_button_pane_t1
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_reject "Reject"
-
-// d: It is text for a command button. If it is selected, 
-// d: incoming call is answered.
-// l: cell_call4_button_pane_t1
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_answer "Answer"
-
-// d: It is text for a command button. If it is selected, 
-// d: ringing tone is muted.
-// l: cell_call4_button_pane_t1
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_silence "Silence"
-
-// d: Confirmation note when switching from video to voice
-// l: popup_note_window
-// w: 
-// r: 5.0
-//
-#define qtn_incal_query_vcall_failed "Video call setup failed. Create voice to the same contact?"
-
-
-
-//Landscape texts for buttons
-
-
-
-// d: It is text for a command button. If it is selected, 
-// d: the user can choose a participant in conference.
-// d: The selected participant will be dropped.
-// l: cell_call4_button_pane_t1/opt2
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_drop_landscape "Drop"
-
-// d: It is text for a command button. If it is selected, 
-// d: operation separates selected remote party 
-// d: call from the active conference call.
-// l: cell_call4_button_pane_t1/opt2
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_private_landscape "Private"
-
-// d: It is text for a command button. If it is selected, 
-// d: active call is ended.
-// l: cell_call4_button_pane_t1/opt2
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_end_active_call_landscape "End active call"
-
-// d: It is text for a command button. If it is selected, 
-// d: add call to conference call.
-// l: cell_call4_button_pane_t1/opt2
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_join_landscape "Join"
-
-// d: It is text for a command button. If it is selected, 
-// d: calls are swapped.
-// l: cell_call4_button_pane_t1/opt2
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_swap_landscape "Swap"
-
-// d: It is text for a command button. If it is selected, 
-// d: view is changed to idle.
-// l: cell_call4_button_pane_t1/opt2
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_go_idle_landscape "Go to idle"
-
-// d: It is text for a command button. If it is selected, 
-// d: all calls are ended.
-// l: cell_call4_button_pane_t1/opt2
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_end_all_calls_landscape "End all calls"
-
-// d: It is text for a command button  If it is selected, 
-// d: participants list is opened.
-// l: cell_call4_button_pane_t1/opt2
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_participants_landscape "Participants"
-
-// d: It is text for a command button. If it is selected, 
-// d: held call is activated.
-// l: cell_call4_button_pane_t1/opt2
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_unhold_landscape "Unhold"
-
-// d: It is text for a command button. If it is selected, 
-// d: call is put on hold.
-// l: cell_call4_button_pane_t1/opt2
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_hold_landscape "Hold"
-
-// d: It is text for a command button. If it is selected,
-// d: handsfree is activated.
-// l: cell_call4_button_pane_t1/opt2
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_loudspeaker_landscape "Loudspeaker"
-
-// d: It is text for a command button. If it is selected,
-// d: audio is routed to handset mode
-// l: cell_call4_button_pane_t1/opt2
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_handset_landscape "Handset"
-
-// d: It is text for a command button. If it is selected, 
-// d: phone is unmuted.
-// l: cell_call4_button_pane_t1/opt2
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_unmute_mic_landscape "Unmute"
-
-// d: It is text for a command button. If it is selected, 
-// d: phone is muted.
-// l: cell_call4_button_pane_t1/opt2
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_mute_mic_landscape "Mute"
-
-// d: It is text for a command button. If it is selected, 
-// d: call is changed from voice to video.
-// l: cell_call4_button_pane_t1/opt2
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_voice_to_video_landscape "Video call"
-
-// d: It is text for a command button. If it is selected, 
-// d: call is changed from video to voice.
-// l: cell_call4_button_pane_t1/opt2
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_video_to_voice_landscape "Voice call"
-
-// d: It is text for a command button. If it is selected, 
-// d: conference is built from calls.
-// l: cell_call4_button_pane_t1/opt2
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_conference_landscape "Conference"
-
-// d: It is text for a command button. If it is selected, 
-// d: audio is routed bt handsfree.
-// l: cell_call4_button_pane_t1/opt2
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_bluetooth_landscape "BT handsfree"
-
-// d: It is text for a command button. If it is selected, 
-// d: call is ended.
-// l: cell_call4_button_pane_t1/opt2
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_end_call_landscape "End call"
-
-// d: It is text for a command button. If it is selected, 
-// d: incoming call is rejected.
-// l: cell_call4_button_pane_t1/opt2
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_reject_landscape "Reject"
-
-// d: It is text for a command button. If it is selected, 
-// d: incoming call is answered.
-// l: cell_call4_button_pane_t1/opt2
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_answer_landscape "Answer"
-
-// d: It is text for a command button. If it is selected, 
-// d: ringing tone is muted.
-// l: cell_call4_button_pane_t1/opt2
-// w:
-// r: 5.0
-//
-#define qtn_incal_button_silence_landscape "Silence"
-
-
-// End of File
--- a/phoneapp/phoneui2/loc/mobileoriginatedcalls.loc	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies 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 localisation file for Phone
-*     A .loc file is the one and only place where the logical strings
-*     to be localised are defined. 
-*
-*/
-
-
-// LOCALISATION STRINGS
-
-// d: When making an outgoing call, a subscriber is informed by
-// d: this information note that he has active cal diverts(no tone
-// d: played). This is an indication of conditional divert.
-// l: popup_note_window
-//
-#define qtn_mocal_active_diverts_note "Note:  you have active diverts"
-
-// d: When making an outgoing call, a subscriber is informed by
-// d: this information note that he has active cal diverts(no tone
-// d: played). This is an indication of unconditional divert.
-// l: popup_note_window
-//
-#define qtn_mocal_calls_diverted_note "Note:  all incoming calls diverted"
-
-// d: In some casees, the calling party may recieve information from the 
-// d: network telling that the original called party cannot be reached and 
-// d: the call is being diverted to another number. This is a information 
-// d: note
-// l: popup_note_window
-//
-#define qtn_mocal_diverting_note "Diverting"
-
-// d: If the user has call barring services active when establishing a 
-// d: call, the network may notify the phone of such a situation, using
-// d: this information note
-// l: popup_note_window
-//
-#define qtn_mocal_barred_note "Note: you have active barrings"
-
-// d: If the called party has activated the call waiting service and he
-// d: has a call going on, the the calling party may be informed that 
-// d: his call is waiting for the called party by this information 
-// d: note
-// l: popup_note_window
-//
-#define qtn_mocal_waiting_note "Waiting"
-
-// d: It is text used when receiving end is out of 3g-coverage,
-// d: or is not supporting video call.
-// l: popup_note_window
-//
-#define qtn_video_call_not_possible "Video call didn't succeed to called end."
-
-// d: It is text used when video call setup fails in protocol level,
-// d: e.g. H.324, H.245, H.223 level.
-// l: popup_note_window
-//
-#define qtn_tel_info_video_setup_failed "Video call setup failed"
-
-// End of File
--- a/phoneapp/phoneui2/loc/multicallhandling.loc	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     This is a localisation file for Phone
-*     A .loc file is the one and only place where the logical strings
-*     to be localised are defined. 
-*
-*/
-
-
-// LOCALISATION STRINGS
-
-// d: It is global note shown when waiting call is detected.
-// d: %U stands for cli information from personal directory.
-// d: This note is shown only if such information is available.
-// l: popup_note_window
-//
-#define qtn_multc_info_wait_with "%U waiting"
-
-// d: It is global note shown when waiting call is detected.
-// l: popup_note_window
-//
-#define qtn_multc_info_wait_without "Call waiting"
-
-// d: It is softkey in incall private operation. 
-// l: control_pane_t1/opt7
-//
-#define qtn_softkey_private "Private"
-
-// d: It is softkey in incall drop participant operation. 
-// l: control_pane_t1/opt7
-//
-#define qtn_softkey_drop_participant "Drop"
-
-// d: It is shown in information note when call is resumed because
-// d: user ends active call. Cli for the call is not known.
-// l: popup_note_window
-// 
-#define qtn_multc_unhold_done_note "Call %N active"
-
-// d: It is shown in information note when call is resumed because
-// d: user ends active call. Cli is known for the call.
-// l: popup_note_window
-// 
-#define qtn_multc_cli_unhold_done_note "%U active"
-
-// d: It is shown in information note when call is resumed because
-// d: user ends active call. The resumed call is conference.
-// l: popup_note_window
-// 
-#define qtn_multc_conference_note "Conference active"
-
-// End of File
--- a/phoneapp/phoneui2/loc/numberentry.loc	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     This is a localisation file for Phone
-*     A .loc file is the one and only place where the logical strings
-*     to be localised are defined. 
-*
-*/
-
-
-// LOCALISATION STRINGS
-
-// d: It is an option in Number Acquisition state menu.
-// d: It contains submenu for two items defining type of saving.
-// l: list_single_pane_t1_cp2/opt3
-//
-#define qtn_phob_opt_save_to_pb "Save to phonebook"
-
-// d: It is an sub-option in Number Acquisition state menu.
-// d: It saves the number in number entry to phonebook.
-// l: list_single_popup_submenu_pane_t1
-//
-#define qtn_phob_opt_save_to_pb_new "New entry"
-
-// d: It is an sub-option in Number Acquisition state menu.
-// d: It adds the number in number entry to phonebook.
-// l: list_single_popup_submenu_pane_t1
-//
-#define qtn_phob_opt_save_to_pb_old "Add to earlier"
-
-// d: It is an option in Number Acquisition state menu. It makes
-// d: a call to the number that is in the number entry component.
-// l: list_single_pane_t1_cp2
-//
-#define text_number_call "Call"
-
-// d: It is an option in Number Acquisition state menu. It makes
-// d: ss/ussd request to the network.
-// l: list_single_pane_t1_cp2
-//
-#define text_nren_send_com "Send"
-
-// d: It is an option in menu in Number Acquisition state. It opens
-// d: a unified message editor.
-// l: list_single_pane_t1_cp2
-//
-#define qtn_nren_send_message "Send message"
-
-// d: It is an option in menu in Number Acquisition state. It opens
-// d: a cascade menu, which contains three options.
-// l: list_single_pane_t1_cp2
-//
-#define text_number_send_sms "Send message"
-
-// d: It is an option in Send message submenu. It allows user to 
-// d: write a short message and send it to the number that was in 
-// d: the number entry.
-// l: list_single_popup_submenu_pane_t1
-//
-#define qtn_nren_send_sms "Short message"
-
-// d: It is an option in Send message submenu. It allows user to
-// d: make a multimedia message and send it to the number that was
-// d: in the number entry.
-// l: list_single_popup_submenu_pane_t1
-//
-#define qtn_nren_send_mms "Multimedia message"
-
-// End of File
--- a/phoneapp/phoneui2/loc/phone.loc	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,454 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*     This is a localisation file for Phone
-*     A .loc file is the one and only place where the logical strings
-*     to be localised are defined.
-*
-*/
-
-
-// LOCALISATION STRINGS
-
-// d: It is text shown in a wait note when phone
-// d: tries to make an emergency call.
-// l: popup_note_window
-// w:
-//
-#define qtn_emerg_emergency_call_note "Attempting emergency call"
-
-// d: It is text shown in an error note when
-// d: emergency call creation fails.
-// l: popup_note_window
-// w:
-//
-#define qtn_emerg_call_error_note "Emergency call failed"
-
-// d: It is shown in a warning note when
-// d: user tries to make a normal call and
-// d: phone is requesting SIM card.
-// l: popup_note_window
-// w:
-//
-#define qtn_emerg_emergency_only "Emergency calls only"
-
-// d: It is text of phone application in application shell grid.
-// d: When user selects that item, then phone goes to idle state
-// d: or call related state.
-// l: cell_app_pane_t1
-// w:
-//
-#define qtn_apps_phone_grid "Tel"
-
-// d: It is text of phone application in application shell list.
-// d: When user selects that item, then phone goes to idle state
-// d: or call related state.
-// l: list_single_large_graphic_pane_t1
-// w:
-//
-#define qtn_apps_phone_list "Telephone"
-
-// d: It is the prompt text in one confirmation query dialog
-// d: It confirms the user to change the phone line(Toggle primary
-// d: and alternative phone line)
-// l: popup_note_window
-// w:
-//
-#define text_als_line_change_query "Change outgoing phone line?"
-
-// d: It is possible to change the line by long keypress on # -key
-// d: when the user has a possibility to use the number entry e.g.
-// d: in number entry (when there are no other digits included), when
-// d: the phone is in idle state and while in call. If the line
-// d: blocking setting is on, then the error note with this string
-// d: will be shown.
-// l: popup_note_window
-// w:
-//
-#define qtn_als_line_error_no_line_change "Line cannot be changed. The line blocking is on."
-
-// d: If the incoming call is diverted, this information note is shown
-// d: on the originally called party's phone.
-// l: popup_note_window
-// w:
-//
-#define qtn_mtcal_diverting_note "Diverting"
-
-// d: This message may be sent to the phone by the network at any time.
-// d: The message means that some supplementary service information has been lost
-// d:  in the network and the user will have to activate her services again.
-// d: The message is presented as a information Note with this text
-// l: popup_note_window
-// w:
-//
-#define text_net_info_lost "Check network services"
-
-// d: The unit format of the cug soft indicator
-// l: soft_indicator_pane_t1
-// w:
-//
-#define qtn_cug_indic_group "Group %N"
-
-// d: The confirmation query for the speed dial assignment. If the user tries
-// d: to create a call to speed dial number which is empty, this query dialog
-// d: is shown.
-// l: popup_note_window
-// w:
-//
-#define text_speed_dial_assign_new_qu "Speed dial not assigned. Assign it now?"
-
-// d: If user personalize the softkey on Idle state to "New message", when user
-// d: press softkey on idle state, the popup list dialog is shown on the screen.
-// d: The first line is this string, indicate user to write a new message.
-// d: same defination can be found in Message center
-// l: heading_pane_t1
-// w:
-//
-#define qtn_mce_pop_up_write "Write:"
-
-// d: The format string defines how date are shown on the navi pane of idle state.
-// d: %0U stands for the week day, and %1U stands for date.
-// l: navi_text_pane_t1
-// w:
-#define qtn_idle_time_format "%0U %1U"
-
-// d: It is template for information note text used to show
-// d: IMEI code.
-// d: %U is replaced with IMEI of the phone.
-// l: popup_note_window
-// w:
-//
-#define text_imei "Serial No.\n%U"
-
-// d: It is text shown in error note when empty sim location
-// d: is recalled in abbreviated dialling code.
-// l: popup_note_window
-// w:
-//
-#define qtn_simp_note_empty_location "No number stored in location %N"
-
-// d: suplement service notification. The network may send a notification
-// d: to the calling user which tells the CUG index used for the current
-// d: call. After the notification is received from the network, the phone
-// d: displays this confirmation note.
-// l: popup_note_window
-// w:
-//
-#define text_cug_in_use "Closed group %N in use"
-
-// d: If the network doesn’t support temporary CLIR suppression, this
-// d: Non-Phone Error Note is displayed and the call is made without
-// d: CLIR suppression.
-// l: popup_note_window
-// w:
-//
-#define text_clir_suppr_reject "Could not send own number"
-
-// d: If the call is diverted and the COLP has been activated there may be
-// d: a notification from the network. The information note with this
-// d: text is shown, where %U is the connected number.
-// l: popup_note_window
-// w:
-//
-#define text_colp_connected "Connected to %U"
-
-// d: If user tries to initiate a CS call during GPRS connection( attach or
-// d: context states ), an error note with this text is displayed.
-// l: popup_note_window
-// w:
-//
-#define qtn_gprs_err_conn_in_progress "End GPRS connection first"
-
-// d: When user enters *#2820# to the number entry a bluetooth address
-// d: is shown in a note. The note has this text before the address.
-// l: popup_note_window
-// w:
-//
-#define qtn_bt_dev_address "Bluetooth device address: %U"
-
-// d: When user enters *#9990# to the number entry and the bluetooth
-// d: loopback is enabled this text is shown in a note.
-// l: popup_note_window
-// w:
-//
-#define qtn_bt_loopback_enabled "Bluetooth RF loopback enabled."
-
-// d: When user enters *#9990# to the number entry and the bluetooth
-// d: loopback is disabled this text is shown in a note.
-// l: popup_note_window
-// w:
-//
-#define qtn_bt_loopback_disabled "Bluetooth RF loopback disabled."
-
-// d: If the network always presents calling party’s number to connected party and
-// d: user has temporarily tried to prevent this by invoking CLIR, the calling is prevented by
-// d: the operator. A global information note with following text is shown.
-// l: popup_note_window
-// w:
-#define text_clir_change "Activate own number sending"
-
-// d: If the user tries to press the volume key while in a TTY call, the following information
-// d: note is displayed and the volume is unchanged.
-// l: popup_note_window
-// w:
-//
-#define qtn_tty_info_no_audio_control "TTY call active. Volume control not available"
-
-// d: It is template for information note text used to show
-// d: Life timer code.
-// d: %U is replaced with Life timer value of the phone.
-// l: popup_note_window
-// w:
-//
-#define qtn_note_life_timer "Life timer\n%U"
-
-// d: Text in title pane in idle state
-// d: Remote SIM Access Profile is active. SIM or network  is not accessible
-// d: from the terminal. This doesn't relate to normal user profiles like General
-// d: or Meeting.
-// l: title_pane_t2/opt9
-// w:
-// r: 3.0
-//
-#define qtn_mode_sap "Remote SIM"
-
-// d: It's a menu item. When it's selected, the call isn't
-// d: rejected, but a unified message editor with soft reject default text is opened.
-// l: list_single_pane_t1_cp2
-// w:
-//
-#define qtn_call_soft_reject_option "Soft Reject"
-
-// d: It is template for information note text used to show WLAN MAC.
-// d: %U is replaced with MAC address.
-// l: popup_note_window
-// w:
-// r: 3.0
-//
-#define qtn_wlan_info_mac_address "WLAN MAC address: %U"
-
-// d: It is text shown in an error note when
-// d: fixed dialling active.
-// l: popup_note_window
-// w:
-// r: 3.2
-//
-#define qtn_fdn_call_not_allowed "Call not allowed, fixed dialling active"
-
-// d: This cause indicates that the called user cannot be reached because the network
-// d: through which the call has been routed does not serve the destination desired.
-// d: No route to destination
-// l: popup_note_window
-// w:
-// r: 5.0
-//
-#define qtn_call_info_cause_value3 "Unable to make video call. Not supported by other phone or network."
-
-// d: This cause indicates that the call is being cleared because one of the users
-// d: involved in the call has requested that the call be cleared.
-// d: Normal call clearing
-// l: popup_note_window
-// w:
-// r: 5.0
-//
-#define qtn_call_info_cause_value16 "Call ended"
-
-// d: This cause is used when a user does not respond to a call establishment
-// d: message with either an alerting or connect indication within the
-// d: prescribed period of time allocated.
-// d: No user responding
-// l: popup_note_window
-// w:
-// r: 5.0
-//
-#define qtn_call_info_cause_value18 "No answer"
-
-// d: This cause indicates that the equipment sending this cause does not wish
-// d: to accept this call, although it could have accepted the call because the
-// d: equipment sending this cause is neither busy nor incompatible.
-// d: Call rejected
-// l: popup_note_window
-// w:
-// r: 5.0
-//
-#define qtn_call_info_cause_value21 "Call rejected"
-
-// d: This cause is returned to a calling mobile station when the called party number
-// d: indicated by the calling mobile station is no longer assigned.
-// d: Number changed
-// l: popup_note_window
-// w:
-// r: 5.0
-//
-#define qtn_call_info_cause_value22 "Number not in use"
-
-// d: This cause is used to report a normal event only when no other cause in the
-// d: normal class applies.
-// d: Normal, unspecified
-// l: popup_note_window
-// w:
-// r: 5.0
-//
-#define qtn_call_info_cause_value31 "Call ended"
-
-// d: This cause indicates that there is no appropriate circuit/channel presently
-// d: available to handle the call.
-// d: No circuit/channel available
-// l: popup_note_window
-// w:
-// r: 5.0
-//
-#define qtn_call_info_cause_value34 "Network busy"
-
-// d: This cause indicates that the network is not functioning correctly and that the
-// d: condition is likely to last a relatively long period of time; e.g., immediately
-// d: re-attempting the call is not likely to be successful.
-// d: Network out of order
-// l: popup_note_window
-// w:
-// r: 5.0
-//
-#define qtn_call_info_cause_value38 "Unable to make video call. Not supported by other phone or network."
-
-// d: This cause indicates that the requested supplementary service could not be
-// d: provided by the network because the user has no completed the necessary
-// d: administrative arrangements with its supporting networks.
-// d: That cause may indicate also that the attempt fails due to the fact that receiving
-// d: end doesn’t support video call or is out of 3G coverage.
-// d: Requested facility not subscribed
-// l: popup_note_window
-// w:
-// r: 5.0
-//
-#define qtn_call_info_cause_value50 "Unable to make video call. Not supported by other phone or network."
-
-// d: This cause indicates that although the called party is a member of the CUG for
-// d: the incoming CUG call, incoming calls are not allowed within this CUG.
-// d: Incoming calls barred within the CUG
-// l: popup_note_window
-// w:
-// r: 5.0
-//
-#define qtn_call_info_cause_value55 "Number barred"
-
-// d: This cause indicates that the mobile station has requested a bearer capability
-// d: which is implemented by the equipment which generated this cause but the
-// d: mobile station is not authorized to use.
-// d: Bearer capability not authorized
-// l: popup_note_window
-// w:
-// r: 5.0
-//
-#define qtn_call_info_cause_value57 "Unable to make video call. Not supported by other phone or network."
-
-// d: This cause indicates that the mobile station has requested a bearer capability
-// d: which is implemented by the equipment which generated this cause but which is
-// d: not available at this time.
-// d: Bearer capability not presently available
-// l: popup_note_window
-// w:
-// r: 5.0
-//
-#define qtn_call_info_cause_value58 "Unable to make video call. Not supported by other phone or network."
-
-// d: This cause indicates that the equipment sending this cause has received a request
-// d: to establish a call which has low layer compatibility, high layer compatibility, or
-// d: other compatibility attributes (e.g., data rate) which cannot be accommodated.
-// d: Incompatible destination
-// l: popup_note_window
-// w:
-// r: 5.0
-//
-#define qtn_call_info_cause_value88 "Unable to make video call. Not supported by other phone or network."
-
-// d: This cause indicates that there has been interworking with a network which does
-// d: not provide causes for actions it takes; thus, the precise cause for a message
-// d: which is being sent cannot be ascertained.
-// d: Interworking, unspecified
-// l: popup_note_window
-// w:
-// r: 5.0
-//
-#define qtn_call_info_cause_value127 "Unable to make video call. Not supported by other phone or network."
-
-// d: Causes 25, 29, 30, 96, 97, 98, 99 and 102
-// l: popup_note_window
-// w:
-// r: 5.0
-//
-#define qtn_call_info_not_supported "Unable to make video call. Not supported by other phone or network."
-
-// d: Causes 63, 65, 70 and 79
-// l: popup_note_window
-// w:
-// r: 5.0
-//
-#define qtn_call_info_service_not_available "Unable to make video call. Not supported by other phone or network."
-
-// d: Defines wait note text when handover from WLAN->GSM is in progress.
-// l: popup_note_window
-// w:
-// r: 5.0
-#define qtn_vcc_wait_ho_from_wlan "Handover from WLAN to GSM"
-
-// d: Defines wait note text when handover from GSM->WLAN is in progress.
-// l: popup_note_window
-// w:
-// r: 5.0
-#define qtn_vcc_wait_ho_from_gsm "Handover from GSM to WLAN"
-
-// d: If handover fails, this note is displayed.
-// l: popup_note_window
-// w:
-// r: 5.0
-//
-#define qtn_vcc_info_ho_failed "Handover failed"
-
-// d: Displayed when manual handover item is visible, but handover is not possible.
-// l: popup_note_window
-// w:
-// r: 5.0
-//
-#define qtn_vcc_info_not_allowed "Handover not allowed"
-
-// d: Displayed when mobile originated video call gets out of UMTS coverage
-// l: popup_note_window
-// w:
-// r: 5.0
-//
-#define qtn_video_call_only_possible_under_3g_coverage "Videocall only possible under 3G coverage"
-
-// d: Displayed when user tries to make a video call to a terminal which does not have a
-// d: video telephony client
-// l: popup_note_window
-// w:
-// r: 5.0
-//
-#define qtn_unable_to_make_video_call_not_supported_by_other_phone "Unable to make video call. Not supported by other phone."
-
-// d: Displayed when user tries to make a video call to a terminal which is out of UMTS coverage
-// l: popup_note_window
-// w:
-// r: 5.0
-//
-#define qtn_phone_out_of_3g_coverage "Phone switched off or out of 3G coverage"
-
-// d: Displayed when user tries to make a video call to a terminal which have barred incomin calls
-// l: popup_note_window
-// w:
-// r: 5.0
-//
-#define qtn_called_number_has_barred_incoming_calls "Called number has barred incoming calls"
-
-// End of File
--- a/phoneapp/phoneui2/loc/voip.loc	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,583 +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 localisation file for VoIP specific strings
-*     A .loc file is the one and only place where the logical strings
-*     to be localised are defined. 
-*
-*/
-
-
-// LOCALISATION STRINGS
-
-// d: If SIPS fail while securing VoIP call, a warning note with this text is shown
-// l: popup_note_window
-// w:
-//
-#define qtn_voip_rel2_sips_failed "Unable to secure call using call signalling"
-
-// d: Defines wait note text when VoIP registration in progress during call.
-// l: popup_note_wait_window
-// w:
-// r:
-//
-#define qtn_voip_rel2_registering_to_service "Registering to service" 
-
-// d: Defines wait note text when VoIP registration fails.
-// l: popup_note_window
-// w:
-// r:
-//
-#define qtn_voip_rel2_unable_to_register_note "Unable to register to service" 
-
-// d: Text in select address which to forward call query header
-// l: heading_pane_t1
-// w:
-//
-#define qtn_voip_rel2_popup_title_forward_call_to "Forward call to:"
-
-// d: Text in call is being forwarded information note
-// l: popup_note_window
-// w:
-//
-#define qtn_voip_rel2_call_being_forwarded "Call is being forwarded"
-
-//d: Command text associated to a softkey in the control pane.
-//d: Terminates call
-//l: control_pane_t1/opt7
-//w: 
-//
-#define qtn_voip_rel2_softkey_end_call "End call"
-
-// d: Text in save new address confirmation note
-// l: popup_note_window
-// w:
-//
-#define qtn_voip_rel2_save_new_address_query "Recipient address has changed permanently. Save new address in phonebook?"
-
-// d: Text in save new address
-// d: %U represents contact name
-// l: popup_note_window
-// w:
-//
-#define qtn_voip_rel2_address_save_note "Address saved for %U"
-
-// d: It is shown when user tries to make Internet Call
-// d: but there are no VoIP profiles.
-// l: popup_note_window
-// w:
-// r: 3.0
-//
-#define qtn_voip_no_service "There are no VoIP settings defined, define one in VoIP settings"
-
-// d: It is shown in a select call type query
-// d: when user has voip in the phone and no 
-// d: preferred call type is selected.
-// l: heading_pane_t1
-// w:
-// r: 3.0
-//
-#define qtn_voip_select_call_type "Select call type:"
-
-// d: It is shown in a select call type query
-// d: when user has voip in the phone and no 
-// d: preferred call type is selected.
-// l: list_single_pane_t1_cp2 
-// w:
-// r: 3.0
-//
-#define qtn_voip_call_type_cs "Voice call"
-
-// d: It is shown in a select call type query
-// d: when user has voip in the phone and no 
-// d: preferred call type is selected.
-// l: list_single_pane_t1_cp2
-// w:
-// r: 3.0
-//
-#define qtn_voip_call_type_internet "Internet call"
-
-// d: It is shown when user tries to make Internet Call
-// d: but service is not available.
-// l: popup_note_window
-// w:
-// r: 3.0
-//
-#define qtn_voip_no_voip_service_info "Internet call service not available"
-
-// d: It is shown when user tries to make Internet Call
-// d: but no WLAN coferage to make Internet call.
-// l: popup_note_window
-// w:
-// r: 3.0
-//
-#define qtn_voip_no_wlan_coverage_info "No WLAN coverage to make an Internet call"
-
-// d: It is shown in a confirmation note when
-// d: No WLAN coferage for Internet call.
-// l: popup_note_window
-// w:
-// r: 3.0
-//
-#define qtn_voip_no_wlan_coverage_query "No WLAN coverage to make an Internet call, call a cellular call instead?"
-
-// d: It is shown in a confirmation note when
-// d: Internet call service not available.
-// l: popup_note_window
-// w:
-// r: 3.0
-//
-#define qtn_voip_no_voip_service_query "Internet call service not available, call a cellular call instead?"
-
-// d: It is shown in a confirmation note when
-// d: user tries to make Internet Call but
-// d: not logged in to the Internet call service.
-// l: popup_note_window
-// w:
-// r: 3.0
-//
-#define qtn_voip_not_logged_in_query "Not registered to the Internet call service, register now?"
-
-// d: It is shown in a confirmation note when
-// d: user tries to make Internet Call but
-// d: Preferred VoIP profile is unusable.
-// l: popup_note_window
-// w:
-// r: 3.0
-//
-#define qtn_voip_info_preferred_unusable "Preferred setting is unusable"
-
-// d: Defines reconnection query header when preferred VoIP profile is unusable.
-// l: heading_pane_t1
-// w:
-// r: 3.0
-//
-#define qtn_tel_query_voip_profile "Connect via:"
-
-// d: Defines list query header when user wants make CS call instead.
-// l: heading_pane_t1
-// w:
-// r: 3.0
-//
-#define qtn_tel_query_voip_call_cs "Call:"
-
-// d: Defines confirmation text when logged to the VoIP service.
-// l: popup_note_window
-// w:
-// r: 3.0
-//
-#define qtn_voip_conf_logged_in "Registered to the Internet telephony service"
-
-// d: Profile value text Unregistered
-// l: list_set_graphic_pane_t1
-// w:
-// r: 3.0
-//
-#define qtn_voip_value_unregister "Unregistered"
-
-// d: It is title in VoIP registration view.
-// l: title_pane_t2/opt9
-// w:
-// r: 3.0
-//
-#define qtn_voip_registration_title "Voice over IP"
-
-// d: It is used in error note when call is terminated
-// d: because of recipient restriction
-// l: popup_note_window
-// w: 
-// r: 3.0
-//
-#define qtn_voip_recipient_restricts_call "Unable to call due to recipient's restrictions"
-
-// d: It is used in error note when call is terminated
-// d: because of address not in use
-// l: popup_note_window
-// w: 
-// r: 3.0
-//
-#define qtn_voip_address_not_in_use "Address not in use"
-
-// d: It is used in error note when call is terminated
-// d: because of request time out
-// l: popup_note_window
-// w: 
-// r: 3.0
-//
-#define qtn_voip_request_time_out "Request time out"
-
-// d: It is used in error note when call is terminated
-// d: because of invalid recipient address
-// l: popup_note_window
-// w: 
-// r: 3.0
-//
-#define qtn_voip_err_invalid_address "Invalid Internet call address"
-
-// d: It is used in error note when call is terminated
-// d: because of number busy
-// l: popup_note_window
-// w: 
-// r: 3.0
-//
-#define qtn_voip_address_busy "Address busy"
-
-// d: It is template for infomation note used when call is parked
-// d: %U is replaced with number to retrieve the call.
-// l: popup_note_window
-// r: 3.0
-// w:
-//
-#define qtn_voip_sccp_call_parked_query "Call parked. To retrieve the\ncall,dial %U"
-
-// d: It is used in error note when can no longer be found at 
-// d: the address in the Request-URI.
-// l: popup_note_window
-// r: 3.0
-// w:
-//
-#define qtn_voip_not_found "Not found"
-
-// d: It is used in error note when VoIP
-// d: call termination cause is 'no answer'.
-// l: popup_note_window
-// r: 3.0
-// w: 
-//
-#define qtn_voip_no_answer "No answer"
-
-// d: It's used when VoIP CLIR is set.
-// l: popup_call_audio_first_window_t4/opt17
-// w:
-// r:3.0
-//
-#define qtn_voip_private_address "Private address"
-
-// d: If user has incoming VoIP call, 
-// d: "calling to" text is shown in call header.
-// l: popup_call_audio_first_window_t4/opt17
-// w:
-// r:3.0
-//
-#define qtn_mtcal_voip_incoming_call "Calling to"
-
-// d: If user has incoming VoIP call, 
-// d: "calling to" text (short) is shown in call header.
-// l: popup_call_audio_first_window_t4/opt17
-// w:
-// r: 3.0
-//
-#define qtn_mtcal_voip_incoming_call_short "Calling to"
-
-// d: It is text for a menu option. If it is selected, 
-// d: Park active SCCP VoIP call
-// l: list_single_pane_t1_cp2
-// w:
-// r: 3.0
-//
-#define qtn_incal_park_option "Park"
-
-// d: It is text for a menu option. If it is selected,
-// d: a dialog is opened to allow user to enter a SIP URI
-// d: and make a call.
-// l: list_single_pane_t1_cp2
-// w:
-// r: 3.0
-//
-#define qtn_voip_new_call_voip "Internet call"
-
-// d: information note when unattended transfer request is rejected.
-// l: popup_note_window
-// w: 
-// r: 3.0
-//
-#define qtn_voip_info_transfer_req_rejected "Transfer request rejected"
-
-// d: Wait note when waiting acceptance for transfer request.
-// l: popup_note_wait_window
-// w: 
-// r: 3.0
-//
-#define qtn_voip_wait_waiting_accept "Waiting acceptance"
-
-// d: It is shown in a confirmation note when
-// d: unattended transfer call back event is occurred.
-// l: popup_info_list_pane_t1
-// w: 
-// r: 3.0
-//
-#define qtn_voip_transfer_call_back "Call back to\n%U"
-
-// d: It is title in transfer data query.
-// l: popup_query_data_window
-// w: 
-// r: 3.0
-//
-#define qtn_voip_transfer_address "Address:"
-
-// d: It is used when putting VoIP call on hold
-// d: fails.
-// l: popup_note_window
-// w: 
-// r: 3.0
-//
-#define qtn_voip_hold_failed "Putting %U on hold failed"
-
-// d: It is used when putting VoIP call on hold
-// d: fails.
-// l: popup_note_window
-// w: 
-// r: 3.0
-//
-#define qtn_voip_hold_number_failed "Putting Call %N on hold failed"
-
-// d: It is used when resuming VoIP call fails.
-// l: popup_note_window
-// w: 
-// r: 3.0
-//
-#define qtn_voip_resume_failed "Resuming %U failed"
-
-// d: It is used when resuming VoIP call fails.
-// l: popup_note_window
-// w: 
-// r: 3.0
-//
-#define qtn_voip_resume_number_failed "Resuming Call %N failed"
-
-// d: It is used when swapping of calls fails.
-// l: popup_note_window
-// w: 
-// r: 3.0
-//
-#define qtn_voip_swap_failed "Swapping of calls failed"
-
-// d: It is used when putting VoIP conference call on hold
-// d: fails.
-// l: popup_note_window
-// w: 
-// r: 3.0
-//
-#define qtn_voip_conference_hold_failed "Putting conference call on hold failed"
-
-// d: It is used when resuming VoIP conference call fails.
-// l: popup_note_window
-// w: 
-// r: 3.0
-//
-#define qtn_voip_conference_resume_failed "Resuming conference call failed"
-
-// d: Confirmation query when unattended transfer request is occurred.
-// l: popup_info_list_pane_t1
-// w: 
-// r: 3.0
-//
-#define qtn_voip_query_accept_identified "%0U asks acceptance to transfer call to %1U"
-
-// d: Confirmation query when unattended transfer request is occurred
-// d: and originator address is unknown.
-// l: popup_info_list_pane_t1
-// w: 
-// r: 3.0
-//
-#define qtn_voip_query_accept_cli_restricted "Anonymous asks acceptance to transfer callto %U"
-
-// d: Defines softkey text in VoIP registration view.
-// l: control_pane_t1/opt7
-// w:
-// r: 3.0
-//
-#define qtn_softk_register "Register"
-
-// d: Defines wait note text when VoIP registration in progress.
-// l: popup_note_window
-// w:
-// r: 3.0
-//
-#define qtn_sip_note_requesting "Requesting"
-
-// d:Header for unattended transfer request query qtn_voip_query_accept_identified 
-// l: heading_pane_t1 
-// w: 
-// r: 3.0
-//
-#define qtn_voip_query_acc_id_header "Transfer request:"
-
-// d: Header for unattended transfer request query qtn_voip_transfer_call_back 
-// l: heading_pane_t1 
-// w: 
-// r: 3.0
-//
-#define qtn_voip_transfer_call_back_header "Call back request:"
-
-// d: It is title in new VoIP call data query.
-// l: popup_query_data_window
-// w: 
-// r: 3.2
-//
-#define qtn_voip_new_address_query  "Address:"
-
-// d: Defines wait note text when Service registration in progress during call.
-// l: popup_note_wait_window
-// w:
-// r: VoIP Rel3.0
-//
-#define qtn_voip_enabling_service_wait_note "Enabling %U service" 
-
-// d: It is used as a softkey text in number entry state.
-// d: Command text associated to a softkey in the control pane.
-// d: Soft key 2. Creates VoIP call
-// l: control_pane_t2/opt7
-// w: 
-// r: VoIP Rel3.0
-//
-#define qtn_voip_softkey_voip_call "VoIP call"
-
-// d: Defines query header when there are 2+ services to select.
-// l: heading_pane_t1
-// w:
-// r: VoIP Rel3.0
-//
-#define qtn_voip_select_service_query "Select service to be used:"
-
-// d: Displayed when authetication fails. 
-// l: popup_note_window
-// w:
-// r: VoIP Rel3.0
-//
-#define qtn_voip_error_note_authentication_failed "Authentication failed"
-
-// d: Displayed when registering is failed due to incomplete or wrong settings.
-// d: %U is replaced with service name 
-// l: popup_note_window
-// w:
-// r: VoIP Rel3.0
-//
-#define qtn_voip_defective_settings_note "Defective settings. %U service not available"
-
-// d: It is shown when user tries to make Internet Call or call out call
-// d: but terminal is not within network coverage.
-// l: popup_note_window
-// w:
-// r: VoIP Rel3.0
-//
-#define qtn_voip_no_connections_available_note "No connections available"
-
-// d: Displayed if there are no access points in service’s destination.
-// l: popup_note_window
-// w: 
-// r: VoIP Rel3.0
-//
-#define qtn_voip_no_connections_defined "No connections defined"
-
-// d: Displayed when recived following error codes from network 
-// d: 482 Loop detected
-// d: 483 Too many hops
-// d: 500 Internal server error
-// d: 501 Not implemented
-// d: 502 Bad gateway
-// d: 503 Service unavailable
-// d: 504 Server timeout
-// d: 505 Version not supported
-// d: 513 Message too large
-// d: 580 Precondition failure
-// d: 5xx General request failure
-// l: popup_note_window
-// w: 
-// r: VoIP Rel3.0
-//
-#define qtn_voip_network_error_note "Network error"
-
-// d: Displayed when the service is in enabled and
-// d: and registered state. The user tries to call 
-// d: but access point does not support calls.
-// l: popup_note_window
-// w: 
-// r: VoIP Rel3.0
-//
-#define qtn_voip_error_in_connection "Error in connection"
-
-// d: Displayed when recived following error codes from network
-// d: 401, 402, 403, 407, 423, 489, 494
-// d: %U means the service that was used when response
-// d: was received.
-// l: popup_note_window
-// w: 
-// r: VoIP Rel3.0
-//
-#define qtn_no_service_available_info "%U service not available"
-
-
-// d: Defines wait note text when access point that does not support calling
-// d: is being removed from destination used by the service.
-// d: %U states the service's name.
-// l: popup_note_wait_window
-// w:
-// r: VoIP Rel3.0
-//
-#define qtn_voip_disconnecting_service_wait_note "Disconnecting %U" 
-
-// d: It is shown in a confirmation note when
-// d: user has added new connection method to destination used by the service
-// d: and the call fails because the new connection method does not support voip calls.
-// d: %U states the connection method's name.
-// l: popup_note_window
-// w:
-// r: VoIP Rel3.0
-//
-#define qtn_voip_calls_not_supported_disconnect_query "%U connection does not support calling. Remove it and register to another?"
-
-// d: Shown in a wait note when user starts connection establishment by calling 
-// d: outside service tab.
-// l: popup_note_wait_window
-// w:
-// r: 5.0
-#define qtn_ipcomm_connecting_servicename_wait_note "Connecting %U"
-
-// d: Shown when user tries to connect to service outside service tab and
-// d: there are no connections defined.
-// l: popup_note_window
-// w:
-// r: 5.0
-#define qtn_ipcomm_no_conn_defined_note "No connections defined for %U"
-
-// d: Shown when user tries to connect to service outside service tab and
-// d: access points defined for service are not available.
-// l: popup_note_window
-// w:
-// r: 5.0
-#define qtn_ipcomm_no_conn_available_note "No connections available for %U"  
-
-// d: Shown in case when user tries to call using a service which does not support
-// d: internet call or service is connected via 2G.
-// l: popup_note_window
-// w:
-// r: 5.0
-#define qtn_ipcomm_conn_supports_no_calls_note "%U connection does not support calls"
-
-// d: Shown when user tries to create an internet call outside service tab when 
-// d: service is either creating connection or performing application level roaming.
-// l: popup_note_window
-// w:
-// r: 5.0
-#define qtn_ipcomm_not_available_during_alr "%U not available when connecting" 
-
-// d: Shown when connection tried outside service tab fails due to incomplete 
-// d: settings which will most definetely prevent the registration.
-// l: popup_note_window
-// w:
-// r: 5.0
-#define qtn_ipcomm_creating_conn_failed_permanently "Connecting %U failed due to defective settings. Contact your service provider."
-
-// End of File
--- a/phoneapp/phoneui2/phoneui2.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneui2/phoneui2.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -28,6 +28,7 @@
     TARGET.VID = VID_DEFAULT
     TARGET.EPOCHEAPSIZE = 0x1000 0xA00000
     DEFINES += FT_SYMBIAN_INTEGRATION
+    VERSION = 10.0
 
     INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
     INCLUDEPATH += ../../inc \
@@ -35,7 +36,8 @@
                    ../phoneuicontrol/inc \
                    ../phoneuiutils/inc \
                    ../phoneuiqtviewadapter/inc \
-                   ../phoneuiview2/inc
+                   ../phoneuiview2/inc \ 
+                   ../phoneringingtoneplayer/inc
 
     LIBS += -lphoneengine \
             -lphoneuiutils \
@@ -44,7 +46,6 @@
             -lphoneuiqtview \
             -lxqserviceutil \
             -lfeatmgr \
-            -lavkon \
             -lcone \
             -leikcore
 
@@ -52,23 +53,28 @@
        "$${LITERAL_HASH}include <platform_paths.hrh>" \
        "./rom/phoneui.iby    CORE_APP_LAYER_IBY_EXPORT_PATH(phoneui.iby)" \
        "./rom/phoneuiresources.iby    LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(phoneuiresources.iby)"
-
-       RSS_RULES += "hidden = KAppIsHidden;"
+      BLD_INF_RULES.prj_exports += "./rom/phoneui_stub.sis /epoc32/data/z/system/install/phoneui_stub.sis"
+      RSS_RULES += "hidden = KAppIsHidden;"
 }
 
 HEADERS += ./inc/hbphonemainwindow.h \
            ./inc/phoneuikeyeventadapter.h \
            ./inc/phoneuicommandadapter.h \
            ./inc/phoneuihousehold.h \
-           ./inc/phoneuihousehold_p.h
+           ./inc/phoneuihousehold_p.h \
+           ./inc/phoneapplication.h
 
 SOURCES   += ./src/main.cpp \
              ./src/phoneuikeyeventadapter.cpp \
              ./src/phoneuicommandadapter.cpp \
              ./src/hbphonemainwindow.cpp \
              ./src/phoneuihousehold.cpp \
-             ./src/phoneuihousehold_p.cpp
+             ./src/phoneuihousehold_p.cpp \
+             ./src/phoneapplication.cpp
 
 CONFIG += service
 SERVICE.FILE = service_conf.xml
 
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneapp/phoneui2/rom/phoneui.iby	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneui2/rom/phoneui.iby	Mon Oct 04 00:16:48 2010 +0300
@@ -27,24 +27,28 @@
 S60_APP_EXE(phoneui)
 UPGRADABLE_APP_REG_RSC(phoneui)
 
-file=ABI_DIR\BUILD_DIR\phoneuicontrol.dll               SHARED_LIB_DIR\phoneuicontrol.dll
-file=ABI_DIR\BUILD_DIR\phoneuiutils.dll                 SHARED_LIB_DIR\phoneuiutils.dll
-file=ABI_DIR\BUILD_DIR\phoneuistates.dll                SHARED_LIB_DIR\phoneuistates.dll
-file=ABI_DIR\BUILD_DIR\phoneuiqtviewadapter.dll         SHARED_LIB_DIR\phoneuiqtviewadapter.dll
-file=ABI_DIR\BUILD_DIR\phoneuiqtview.dll                SHARED_LIB_DIR\phoneuiqtview.dll
-file=ABI_DIR\BUILD_DIR\phoneringingtoneplayer.dll       SHARED_LIB_DIR\phoneringingtoneplayer.dll
-file=ABI_DIR\BUILD_DIR\phonestringloader.dll            SHARED_LIB_DIR\phonestringloader.dll
-file=ABI_DIR\BUILD_DIR\phonemediatorcenter.dll          SHARED_LIB_DIR\phonemediatorcenter.dll
-file=ABI_DIR\BUILD_DIR\phoneuivoipextension.dll         SHARED_LIB_DIR\phoneuivoipextension.dll
+file=ABI_DIR\BUILD_DIR\phoneuicontrol.dll           SHARED_LIB_DIR\phoneuicontrol.dll
+file=ABI_DIR\BUILD_DIR\phoneuiutils.dll             SHARED_LIB_DIR\phoneuiutils.dll
+file=ABI_DIR\BUILD_DIR\phoneuistates.dll            SHARED_LIB_DIR\phoneuistates.dll
+file=ABI_DIR\BUILD_DIR\phoneuiqtviewadapter.dll     SHARED_LIB_DIR\phoneuiqtviewadapter.dll
+file=ABI_DIR\BUILD_DIR\phoneuiqtview.dll            SHARED_LIB_DIR\phoneuiqtview.dll
+file=ABI_DIR\BUILD_DIR\phoneringingtoneplayer.dll   SHARED_LIB_DIR\phoneringingtoneplayer.dll
+file=ABI_DIR\BUILD_DIR\phonestringloader.dll        SHARED_LIB_DIR\phonestringloader.dll
+file=ABI_DIR\BUILD_DIR\phonemediatorcenter.dll      SHARED_LIB_DIR\phonemediatorcenter.dll
+file=ABI_DIR\BUILD_DIR\phoneuivoipextension.dll     SHARED_LIB_DIR\phoneuivoipextension.dll
 
-data=\epoc32\data\c\resource\qt\crml\carmode.qcrml   resource\qt\crml\carmode.qcrml
+data=\epoc32\data\c\resource\qt\crml\carmode.qcrml  resource\qt\crml\carmode.qcrml
 
 data=ZSYSTEM\install\phoneuivoipextension_stub.sis  System\Install\phoneuivoipextension_stub.sis
-//data=ZSYSTEM\install\phoneui_stub.sis               System\Install\phoneui_stub.sis
+data=ZSYSTEM\install\phoneui_stub.sis               System\Install\phoneui_stub.sis
 data=ZSYSTEM\install\phoneuicontrol_stub.sis        System\Install\phoneuicontrol_stub.sis
 data=ZSYSTEM\install\phoneuistates_stub.sis         System\Install\phoneuistates_stub.sis
 data=ZSYSTEM\install\phoneuiutils_stub.sis          System\Install\phoneuiutils_stub.sis
 data=ZSYSTEM\install\phonemediatorcenter_stub.sis   System\Install\phonemediatorcenter_stub.sis
+data=ZSYSTEM\install\phoneringingtoneplayer_stub.sis System\Install\phoneringingtoneplayer_stub.sis
+data=ZSYSTEM\install\phoneuiqtviewadapter_stub.sis  System\Install\phoneuiqtviewadapter_stub.sis
+data=ZSYSTEM\install\phoneuiqtview_stub.sis         System\Install\phoneuiqtview_stub.sis
+data=ZSYSTEM\install\phonestringloader_stub.sis     System\Install\phonestringloader_stub.sis
 
 #endif
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/rom/phoneui_stub.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,32 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: For packing phoneuicontrol component.
+;
+; Languages
+&EN
+
+
+; SIS header: name, uid, version
+#{"phoneui"},(0x100058B3),1,0,0
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+"" - "z:\sys\bin\phoneui.exe"
+"" - "z:\resource\apps\phoneui.rsc"
+"" - "z:\private\10003a3f\import\apps\phoneui_reg.rsc"
+
Binary file phoneapp/phoneui2/rom/phoneui_stub.sis has changed
--- a/phoneapp/phoneui2/rom/phoneuiresources.iby	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneui2/rom/phoneuiresources.iby	Mon Oct 04 00:16:48 2010 +0300
@@ -21,7 +21,6 @@
 
 #include <data_caging_paths_for_iby.hrh>
 
-data=DATAZ_\RESOURCE_FILES_DIR\PhoneClient.rsc RESOURCE_FILES_DIR\PhoneClient.rsc
 data=DATAZ_\RESOURCE_FILES_DIR\PhoneServer.rsc RESOURCE_FILES_DIR\PhoneServer.rsc
 
 S60_APP_RESOURCE(phoneui)
--- a/phoneapp/phoneui2/src/hbphonemainwindow.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneui2/src/hbphonemainwindow.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -29,3 +29,12 @@
     delete mHouseHold;
 }
 
+void HbPhoneMainWindow::onFocusLost()
+{
+    emit focusLost();
+}
+void HbPhoneMainWindow::onFocusGained()
+{
+    emit focusGained();
+}
+
--- a/phoneapp/phoneui2/src/main.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneui2/src/main.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -22,12 +22,15 @@
 #include <xqserviceutil.h>
 
 #include "hbphonemainwindow.h"
+#include "phoneapplication.h"
 
 
 int main (int argc, char *argv[])
 {
-    HbApplication app (argc, argv, Hb::NoSplash);
+    PhoneApplication app(argc, argv, Hb::NoSplash);
     HbPhoneMainWindow window;
+    QObject::connect(&app,SIGNAL(focusLost()),&window,SLOT(onFocusLost()));
+    QObject::connect(&app,SIGNAL(focusGained()),&window,SLOT(onFocusGained()));
     XQServiceUtil::toBackground( true );
     return app.exec ();
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/src/phoneapplication.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,51 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Phone application class
+*
+*/
+
+#include "phoneapplication.h"
+
+#ifdef Q_OS_SYMBIAN
+#include <QSymbianEvent>
+#include <w32std.h>
+#endif
+
+PhoneApplication::PhoneApplication(
+        int &argc, 
+        char *argv[], 
+        Hb::ApplicationFlags flags):
+    HbApplication(argc, argv, flags)
+{
+}
+
+#ifdef Q_OS_SYMBIAN
+bool PhoneApplication::symbianEventFilter(const QSymbianEvent *event)
+{
+    if (event->type() == QSymbianEvent::WindowServerEvent){
+        const TWsEvent *wsevent = event->windowServerEvent();
+        switch( wsevent->Type()){
+            case EEventFocusGained:
+                emit focusGained();
+                break;
+            case EEventFocusLost:
+                emit focusLost();
+                break;
+            default:
+                break;
+        }
+    }
+    return HbApplication::symbianEventFilter(event);
+}
+#endif
--- a/phoneapp/phoneui2/src/phoneuihousehold_p.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneui2/src/phoneuihousehold_p.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -22,7 +22,6 @@
 #include <HbTranslator>
 #include <telremotepartyinformationpskeys.h>
 #include <telinformationpskeys.h>
-#include <UikonInternalPSKeys.h>
 #include <startupdomainpskeys.h>
 #include <featmgr.h>        // for FeatureManager
 #include <hbmainwindow.h>
@@ -75,51 +74,31 @@
             appUi->DoStartupSignalSecurityL();
 }
 
+
 TInt PhoneUiHouseHoldPrivate::DoStartupSignalIdleL()
     {
-    TBool idleReached = EFalse;
-    
-    // Check if Idle application has been started.
-    const TInt idleUid = 0x20022F35;
-    PHONE_DEBUG2("phoneui::DoStartupSignalIdleL() idleUID=", idleUid);
-    
-    if ( idleUid != 0 && idleUid != KErrNotFound )
+    PHONE_DEBUG("phoneui::DoStartupSignalIdleL()");
+    // Idle application has already started
+    if ( !( iAppsReady & EPhoneIdleStartedUp ) )
         {
-        // Idle application has already started
-        if ( !( iAppsReady & EPhoneIdleStartedUp ) )
-            {
-            PHONE_DEBUG("phoneui::DoStartupSignalIdleL() Idle App started ");
-            iAppsReady += EPhoneIdleStartedUp;
-            
-            // Remove Phone application from Fast Swap Window.
-//            iPhoneViewController->SetHiddenL( ETrue );
-            
-            // Set Idle's UID to PubSub.
-            CPhonePubSubProxy::Instance()->ChangePropertyValue(
-                KPSUidUikon,
-                KUikVideoCallTopApp,
-                idleUid );
-                
-            // hack to make sure EPhonePhase1Ok is set - to be fixed properly
-            idleReached = true;
-            PHONE_DEBUG("phoneui::DoStartupSignalIdleL() Phone and Idle apps have both been started");    
-            CPhonePubSubProxy::Instance()->ChangePropertyValue(
-                KPSUidStartup,
-                KPSPhonePhase1Ok,
-                EPhonePhase1Ok );
-            }
-        }
-
-    if ( idleReached )
-        {
-        PHONE_DEBUG("phoneui::DoStartupSignalIdleL() Idle reached!");
-        // Now err == KErrNone and it means that
-        // we have succeeded in signalling.
+        PHONE_DEBUG("phoneui::DoStartupSignalIdleL() Idle App started ");
+        iAppsReady += EPhoneIdleStartedUp;
+        
+        // Remove Phone application from Fast Swap Window.
+        //    iPhoneViewController->SetHiddenL( ETrue );
+        
+        // Avkon removal            
+        // hack to make sure EPhonePhase1Ok is set - to be fixed properly
+       
+        PHONE_DEBUG("phoneui::DoStartupSignalIdleL() Phone and Idle apps have both been started");    
+        CPhonePubSubProxy::Instance()->ChangePropertyValue(
+            KPSUidStartup,
+            KPSPhonePhase1Ok,
+            EPhonePhase1Ok );
+        
         CPhoneRecoverySystem::Instance()->EnablePreconditionL();
-
         // Update the Phone light idle flag
         iLightIdleReached = ETrue;
-
         // Notify the UI controller that the phone is ready
         iPhoneUIController->HandlePhoneStartupL();
         }
@@ -131,7 +110,6 @@
         // try again at a later time.
         User::Leave( KErrNotReady );
         }
-
     return KErrNone;
     }
 
@@ -190,6 +168,7 @@
     PhoneUIQtView *view = new PhoneUIQtView(m_window);
     iViewAdapter = new PhoneUIQtViewAdapter(*view);
     iPhoneUIController = CPhoneUIController::NewL(iViewAdapter);
+    iViewAdapter->setEngineInfo(iPhoneUIController->EngineInfo());
     
     m_window.addView (view);
     m_window.setCurrentView (view);
@@ -204,14 +183,16 @@
                      Qt::QueuedConnection); // async to enable deletion of widget during signal handling
     QObject::connect(view, SIGNAL(windowActivated()), iViewAdapter, SLOT(handleWindowActivated()));
     QObject::connect(view, SIGNAL(windowDeactivated()), iViewAdapter, SLOT(handleWindowDeactivated()));
-    
+    QObject::connect(&m_window, SIGNAL(focusLost()),iViewAdapter, SLOT(onFocusLost()));
+    QObject::connect(&m_window, SIGNAL(focusGained()),iViewAdapter, SLOT(onFocusGained()));
     QObject::connect(iViewAdapter->noteController(), SIGNAL(command (int)), 
                      iCommandAdapter, SLOT(handleCommand (int))); 
     
     // Disable default Send key functionality in application framework 
-    CAknAppUi *appUi = static_cast<CAknAppUi*>(CEikonEnv::Static()->AppUi());
-    appUi->SetKeyEventFlags( CAknAppUiBase::EDisableSendKeyShort | 
-                             CAknAppUiBase::EDisableSendKeyLong );
+    // avkon removal
+//    CAknAppUi *appUi = static_cast<CAknAppUi*>(CEikonEnv::Static()->AppUi());
+//    appUi->SetKeyEventFlags( CAknAppUiBase::EDisableSendKeyShort | 
+//                             CAknAppUiBase::EDisableSendKeyLong );
     
     // CLI Name.
     TInt err = RProperty::Define( 
@@ -229,15 +210,6 @@
         KPhoneReadPolicy,
         KPhoneWritePolicy );
 
-    // Define the top application system property
-    err = RProperty::Define( 
-        KPSUidUikon,
-        KUikVideoCallTopApp,
-        RProperty::EInt,
-        KPhoneReadPolicy,
-        KPhoneWritePolicy );
-
-
     // Startup event signalling
     // Define the telephony application system property 
  
@@ -332,7 +304,7 @@
     // Update the Apps ready flag
     iAppsReady += EPhoneStartedUp;
 
-     HbMainWindow *main = hbInstance->allMainWindows().at(0);
+    HbMainWindow *main = hbInstance->allMainWindows().at(0);
     RWindow *win = static_cast<RWindow *>(main->effectiveWinId()->DrawableWindow());
 
     CEikonEnv* env = CEikonEnv::Static();
--- a/phoneapp/phoneui2/tsrc/ut_phonemainwindow/ut_phonemainwindow.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneui2/tsrc/ut_phonemainwindow/ut_phonemainwindow.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -40,3 +40,6 @@
 
 
 
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneapp/phoneui2/tsrc/ut_phoneuicommandadapter/ut_phoneuicommandadapter.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneui2/tsrc/ut_phoneuicommandadapter/ut_phoneuicommandadapter.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -42,3 +42,6 @@
            unit_tests.cpp \
            cphoneuicontroller_stub.cpp
            
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneapp/phoneui2/tsrc/ut_phoneuikeyeventadapter/ut_phoneuikeyeventadapter.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneui2/tsrc/ut_phoneuikeyeventadapter/ut_phoneuikeyeventadapter.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -43,3 +43,6 @@
            unit_tests.cpp \
            cphoneuicontroller_stub.cpp
            
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneapp/phoneuicontrol/bwins/phoneuicontrolu.def	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuicontrol/bwins/phoneuicontrolu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -1,28 +1,28 @@
 EXPORTS
-	?CallWaitingNoteL@CPhoneState@@IAEXH@Z @ 1 NONAME ; void CPhoneState::CallWaitingNoteL(int)
-	?HandleKeyMessageL@CPhoneStateIncoming@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 2 NONAME ; void CPhoneStateIncoming::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
-	?EnableCallUIL@CPhoneState@@QAEXXZ @ 3 NONAME ; void CPhoneState::EnableCallUIL(void)
-	?TopAppIsDisplayedL@CPhoneState@@IBEHXZ @ 4 NONAME ; int CPhoneState::TopAppIsDisplayedL(void) const
-	?HandleKeyMessageL@CPhoneStateCallSetup@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 5 NONAME ; void CPhoneStateCallSetup::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
-	?CallFetchedNumberL@CPhoneStateInCall@@MAEXABVTDesC16@@@Z @ 6 NONAME ; void CPhoneStateInCall::CallFetchedNumberL(class TDesC16 const &)
-	?SetCbaL@CPhoneCbaManager@@QAEXH@Z @ 7 NONAME ; void CPhoneCbaManager::SetCbaL(int)
-	?HandlePhoneStartupL@CPhoneState@@UAEXXZ @ 8 NONAME ; void CPhoneState::HandlePhoneStartupL(void)
-	?HandlePhoneFocusLostEventL@CPhoneStateIdle@@UAEXXZ @ 9 NONAME ; void CPhoneStateIdle::HandlePhoneFocusLostEventL(void)
-	?HandleIdleL@CPhoneStateInCall@@IAEXH@Z @ 10 NONAME ; void CPhoneStateInCall::HandleIdleL(int)
-	?ShowQueryL@CPhoneState@@IAEXH@Z @ 11 NONAME ; void CPhoneState::ShowQueryL(int)
-	?DisplayCallTerminationNoteL@CPhoneState@@IAEXXZ @ 12 NONAME ; void CPhoneState::DisplayCallTerminationNoteL(void)
-	??0CPhoneStateInCall@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 13 NONAME ; CPhoneStateInCall::CPhoneStateInCall(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
-	?PhoneEngine@CPhoneStateMachine@@UAEPAVMPEPhoneModel@@XZ @ 14 NONAME ; class MPEPhoneModel * CPhoneStateMachine::PhoneEngine(void)
+	?HandleKeyMessageL@CPhoneStateIncoming@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 1 NONAME ; void CPhoneStateIncoming::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
+	?IsNumberEntryUsedL@CPhoneNumberEntryManager@@QBEHXZ @ 2 NONAME ; int CPhoneNumberEntryManager::IsNumberEntryUsedL(void) const
+	?HandleNumberEntryClearedL@CPhoneState@@UAEXXZ @ 3 NONAME ; void CPhoneState::HandleNumberEntryClearedL(void)
+	?HandleKeyMessageL@CPhoneStateCallSetup@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 4 NONAME ; void CPhoneStateCallSetup::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
+	?CallFetchedNumberL@CPhoneStateInCall@@MAEXABVTDesC16@@@Z @ 5 NONAME ; void CPhoneStateInCall::CallFetchedNumberL(class TDesC16 const &)
+	?HandlePhoneStartupL@CPhoneState@@UAEXXZ @ 6 NONAME ; void CPhoneState::HandlePhoneStartupL(void)
+	?HandlePhoneFocusLostEventL@CPhoneStateIdle@@UAEXXZ @ 7 NONAME ; void CPhoneStateIdle::HandlePhoneFocusLostEventL(void)
+	?HandleIdleL@CPhoneStateInCall@@IAEXH@Z @ 8 NONAME ; void CPhoneStateInCall::HandleIdleL(int)
+	?ShowQueryL@CPhoneState@@IAEXH@Z @ 9 NONAME ; void CPhoneState::ShowQueryL(int)
+	?DisplayCallTerminationNoteL@CPhoneState@@IAEXXZ @ 10 NONAME ; void CPhoneState::DisplayCallTerminationNoteL(void)
+	?EngineInfo@CPhoneUIController@@QAEPAVMPEEngineInfo@@XZ @ 11 NONAME ; class MPEEngineInfo * CPhoneUIController::EngineInfo(void)
+	??0CPhoneStateInCall@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 12 NONAME ; CPhoneStateInCall::CPhoneStateInCall(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
+	?PhoneEngine@CPhoneStateMachine@@UAEPAVMPEPhoneModel@@XZ @ 13 NONAME ; class MPEPhoneModel * CPhoneStateMachine::PhoneEngine(void)
+	?CallFromNumberEntryL@CPhoneNumberEntryManager@@QAEXXZ @ 14 NONAME ; void CPhoneNumberEntryManager::CallFromNumberEntryL(void)
 	??1CPhoneStateCallSetup@@UAE@XZ @ 15 NONAME ; CPhoneStateCallSetup::~CPhoneStateCallSetup(void)
-	?SetToolbarButtonLoudspeakerEnabled@CPhoneState@@IAEXXZ @ 16 NONAME ; void CPhoneState::SetToolbarButtonLoudspeakerEnabled(void)
-	?Instance@CPhoneStateHandle@@SAPAV1@XZ @ 17 NONAME ; class CPhoneStateHandle * CPhoneStateHandle::Instance(void)
-	?HandleNumberEntryClearedL@CPhoneStateIdle@@MAEXXZ @ 18 NONAME ; void CPhoneStateIdle::HandleNumberEntryClearedL(void)
-	?HandleCommandL@CPhoneState@@UAEHH@Z @ 19 NONAME ; int CPhoneState::HandleCommandL(int)
-	?IsNumberEntryVisibleL@CPhoneState@@QAEHXZ @ 20 NONAME ; int CPhoneState::IsNumberEntryVisibleL(void)
+	?UpdateUiCommands@CPhoneState@@IAEXXZ @ 16 NONAME ; void CPhoneState::UpdateUiCommands(void)
+	?SetToolbarButtonLoudspeakerEnabled@CPhoneState@@IAEXXZ @ 17 NONAME ; void CPhoneState::SetToolbarButtonLoudspeakerEnabled(void)
+	?Instance@CPhoneStateHandle@@SAPAV1@XZ @ 18 NONAME ; class CPhoneStateHandle * CPhoneStateHandle::Instance(void)
+	?HandleNumberEntryClearedL@CPhoneStateIdle@@MAEXXZ @ 19 NONAME ; void CPhoneStateIdle::HandleNumberEntryClearedL(void)
+	?HandleCommandL@CPhoneState@@UAEHH@Z @ 20 NONAME ; int CPhoneState::HandleCommandL(int)
 	?DialL@CPhoneStateIdle@@MAEXABVTDesC16@@W4TPhoneNumberType@1@W4TDialInitiationMethod@1@@Z @ 21 NONAME ; void CPhoneStateIdle::DialL(class TDesC16 const &, enum CPhoneStateIdle::TPhoneNumberType, enum CPhoneStateIdle::TDialInitiationMethod)
-	?RetainPreviousKeylockStateL@CPhoneState@@QAEXXZ @ 22 NONAME ; void CPhoneState::RetainPreviousKeylockStateL(void)
-	?HandlePhoneEngineMessageL@CPhoneStateIdle@@UAEXHH@Z @ 23 NONAME ; void CPhoneStateIdle::HandlePhoneEngineMessageL(int, int)
-	?HandleDialingL@CPhoneStateIdle@@MAEXH@Z @ 24 NONAME ; void CPhoneStateIdle::HandleDialingL(int)
+	?HandlePhoneEngineMessageL@CPhoneStateIdle@@UAEXHH@Z @ 22 NONAME ; void CPhoneStateIdle::HandlePhoneEngineMessageL(int, int)
+	?HandleDialingL@CPhoneStateIdle@@MAEXH@Z @ 23 NONAME ; void CPhoneStateIdle::HandleDialingL(int)
+	?ClearNumberEntryContentCacheIfContentStored@CPhoneNumberEntryManager@@QAEXXZ @ 24 NONAME ; void CPhoneNumberEntryManager::ClearNumberEntryContentCacheIfContentStored(void)
 	?ChangeState@CPhoneStateMachine@@UAEXH@Z @ 25 NONAME ; void CPhoneStateMachine::ChangeState(int)
 	?IsSimStateNotPresentWithSecurityModeEnabled@CPhoneState@@IAEHXZ @ 26 NONAME ; int CPhoneState::IsSimStateNotPresentWithSecurityModeEnabled(void)
 	?HandlePhoneEngineMessageL@CPhoneState@@UAEXHH@Z @ 27 NONAME ; void CPhoneState::HandlePhoneEngineMessageL(int, int)
@@ -30,158 +30,124 @@
 	?HandleKeyEventL@CPhoneUIController@@UAE?AW4TKeyResponse@@ABUTKeyEvent@@W4TEventCode@@@Z @ 29 NONAME ; enum TKeyResponse CPhoneUIController::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
 	?HandleRemConCommandL@CPhoneStateIdle@@MAEHW4TRemConCoreApiOperationId@@W4TRemConCoreApiButtonAction@@@Z @ 30 NONAME ; int CPhoneStateIdle::HandleRemConCommandL(enum TRemConCoreApiOperationId, enum TRemConCoreApiButtonAction)
 	?HandleAudioPlayStoppedL@CPhoneStateIncoming@@MAEXXZ @ 31 NONAME ; void CPhoneStateIncoming::HandleAudioPlayStoppedL(void)
-	?HandleCenRepChangeL@CPhoneState@@UAEXABVTUid@@I@Z @ 32 NONAME ; void CPhoneState::HandleCenRepChangeL(class TUid const &, unsigned int)
-	?ShowNumberBusyNoteL@CPhoneState@@IAEXXZ @ 33 NONAME ; void CPhoneState::ShowNumberBusyNoteL(void)
-	?DisconnectCallL@CPhoneState@@IAEHXZ @ 34 NONAME ; int CPhoneState::DisconnectCallL(void)
-	?HandleNumberEntryClearedL@CPhoneStateCallSetup@@MAEXXZ @ 35 NONAME ; void CPhoneStateCallSetup::HandleNumberEntryClearedL(void)
-	?HandleIdleForegroundEventL@CPhoneStateIdle@@UAEXXZ @ 36 NONAME ; void CPhoneStateIdle::HandleIdleForegroundEventL(void)
-	?HandleDisconnectingL@CPhoneState@@IAEXH@Z @ 37 NONAME ; void CPhoneState::HandleDisconnectingL(int)
-	?HandleAudioMuteChangedL@CPhoneState@@IAEXXZ @ 38 NONAME ; void CPhoneState::HandleAudioMuteChangedL(void)
-	?HandleKeyLockEnabled@CPhoneState@@UAEXH@Z @ 39 NONAME ; void CPhoneState::HandleKeyLockEnabled(int)
-	?HandleCommandL@CPhoneStateIncoming@@UAEHH@Z @ 40 NONAME ; int CPhoneStateIncoming::HandleCommandL(int)
-	?UpdateSingleActiveCallL@CPhoneState@@IAEXH@Z @ 41 NONAME ; void CPhoneState::UpdateSingleActiveCallL(int)
-	?SimState@CPhoneState@@IBE?AW4TPESimState@@XZ @ 42 NONAME ; enum TPESimState CPhoneState::SimState(void) const
-	?HandleKeyEventL@CPhoneStateCallSetup@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 43 NONAME ; void CPhoneStateCallSetup::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
-	?SetupIdleScreenInBackgroundL@CPhoneState@@IAEXXZ @ 44 NONAME ; void CPhoneState::SetupIdleScreenInBackgroundL(void)
-	?CompleteSatRequestL@CPhoneState@@IAEXH@Z @ 45 NONAME ; void CPhoneState::CompleteSatRequestL(int)
-	?NewL@CPhoneStateStartup@@SAPAV1@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 46 NONAME ; class CPhoneStateStartup * CPhoneStateStartup::NewL(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
-	?NeedToSendToBackgroundL@CPhoneState@@IBEHXZ @ 47 NONAME ; int CPhoneState::NeedToSendToBackgroundL(void) const
-	?SetCallHeaderTextsForCallComingInL@CPhoneState@@IAEXHHPAVTPhoneCmdParamCallHeaderData@@@Z @ 48 NONAME ; void CPhoneState::SetCallHeaderTextsForCallComingInL(int, int, class TPhoneCmdParamCallHeaderData *)
-	?IsSimOk@CPhoneState@@QAEHXZ @ 49 NONAME ; int CPhoneState::IsSimOk(void)
-	?ClearNumberEntryContentCache@CPhoneState@@IAEXXZ @ 50 NONAME ; void CPhoneState::ClearNumberEntryContentCache(void)
-	?HandleCommandL@CPhoneStateIdle@@UAEHH@Z @ 51 NONAME ; int CPhoneStateIdle::HandleCommandL(int)
-	?ViewCommandHandle@CPhoneStateHandle@@QAEPAVMPhoneViewCommandHandle@@XZ @ 52 NONAME ; class MPhoneViewCommandHandle * CPhoneStateHandle::ViewCommandHandle(void)
-	?DialMultimediaCallL@CPhoneStateIdle@@IAEXXZ @ 53 NONAME ; void CPhoneStateIdle::DialMultimediaCallL(void)
-	?DisconnectOutgoingCallL@CPhoneStateInCall@@IAEXXZ @ 54 NONAME ; void CPhoneStateInCall::DisconnectOutgoingCallL(void)
-	?IsKeyLockOn@CPhoneState@@MBEHXZ @ 55 NONAME ; int CPhoneState::IsKeyLockOn(void) const
-	??1CPhoneStateInCall@@UAE@XZ @ 56 NONAME ; CPhoneStateInCall::~CPhoneStateInCall(void)
-	?SetNumberEntryVisibilityL@CPhoneState@@IAEXH@Z @ 57 NONAME ; void CPhoneState::SetNumberEntryVisibilityL(int)
-	?HandleError@CPhoneUIController@@UAEXABUTPEErrorInfo@@@Z @ 58 NONAME ; void CPhoneUIController::HandleError(struct TPEErrorInfo const &)
-	?ConstructL@CPhoneStateInCall@@MAEXXZ @ 59 NONAME ; void CPhoneStateInCall::ConstructL(void)
-	?IsVideoCallRingingL@CPhoneStateInCall@@MAEHXZ @ 60 NONAME ; int CPhoneStateInCall::IsVideoCallRingingL(void)
-	?HandlePhoneForegroundEventL@CPhoneStateIdle@@UAEXXZ @ 61 NONAME ; void CPhoneStateIdle::HandlePhoneForegroundEventL(void)
-	?HandleHoldSwitchL@CPhoneState@@QAEXXZ @ 62 NONAME ; void CPhoneState::HandleHoldSwitchL(void)
-	?HandleDtmfKeyToneL@CPhoneStateStartup@@EAEXABUTKeyEvent@@W4TEventCode@@@Z @ 63 NONAME ; void CPhoneStateStartup::HandleDtmfKeyToneL(struct TKeyEvent const &, enum TEventCode)
-	?ShowTextQueryL@CPhoneState@@IAEXHHHPAVTDes16@@H@Z @ 64 NONAME ; void CPhoneState::ShowTextQueryL(int, int, int, class TDes16 *, int)
-	?DialMultimediaCallL@CPhoneState@@IAEXXZ @ 65 NONAME ; void CPhoneState::DialMultimediaCallL(void)
-	?NewL@CPhoneUIController@@SAPAV1@PAVMPhoneViewCommandHandle@@@Z @ 66 NONAME ; class CPhoneUIController * CPhoneUIController::NewL(class MPhoneViewCommandHandle *)
-	?CheckDisableHWKeysAndCallUIL@CPhoneState@@QAEXXZ @ 67 NONAME ; void CPhoneState::CheckDisableHWKeysAndCallUIL(void)
-	?HandleErrorL@CPhoneState@@UAEXABUTPEErrorInfo@@@Z @ 68 NONAME ; void CPhoneState::HandleErrorL(struct TPEErrorInfo const &)
-	?HandleCommandL@CPhoneStateCallSetup@@UAEHH@Z @ 69 NONAME ; int CPhoneStateCallSetup::HandleCommandL(int)
-	??1CPhoneUIController@@UAE@XZ @ 70 NONAME ; CPhoneUIController::~CPhoneUIController(void)
-	?HandleAudioOutputChangedL@CPhoneState@@IAEXXZ @ 71 NONAME ; void CPhoneState::HandleAudioOutputChangedL(void)
-	?HandleKeyEventL@CPhoneState@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 72 NONAME ; void CPhoneState::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
-	?UpdateIncomingCbaL@CPhoneCbaManager@@QAEXH@Z @ 73 NONAME ; void CPhoneCbaManager::UpdateIncomingCbaL(int)
-	?SendGlobalErrorNoteL@CPhoneState@@QAEXHH@Z @ 74 NONAME ; void CPhoneState::SendGlobalErrorNoteL(int, int)
-	?CreatePhoneEngineL@CPhoneStateMachine@@UAEPAVMPEPhoneModel@@AAVMEngineMonitor@@@Z @ 75 NONAME ; class MPEPhoneModel * CPhoneStateMachine::CreatePhoneEngineL(class MEngineMonitor &)
-	?ConstructL@CPhoneStateIncoming@@MAEXXZ @ 76 NONAME ; void CPhoneStateIncoming::ConstructL(void)
-	?SetTouchPaneButtons@CPhoneState@@IAEXH@Z @ 77 NONAME ; void CPhoneState::SetTouchPaneButtons(int)
-	?HandleIdleForegroundEventL@CPhoneStateStartup@@UAEXXZ @ 78 NONAME ; void CPhoneStateStartup::HandleIdleForegroundEventL(void)
-	?CallFromNumberEntryL@CPhoneState@@IAEXXZ @ 79 NONAME ; void CPhoneState::CallFromNumberEntryL(void)
-	?UpdateCbaL@CPhoneCbaManager@@QAEXH@Z @ 80 NONAME ; void CPhoneCbaManager::UpdateCbaL(int)
-	?IsVideoCall@CPhoneState@@IAEHH@Z @ 81 NONAME ; int CPhoneState::IsVideoCall(int)
-	?IsSwivelClosed@CPhoneState@@QBEHXZ @ 82 NONAME ; int CPhoneState::IsSwivelClosed(void) const
-	?HandlePhoneForegroundEventL@CPhoneUIController@@UAEXXZ @ 83 NONAME ; void CPhoneUIController::HandlePhoneForegroundEventL(void)
-	?IsAutoLockOn@CPhoneState@@UBEHXZ @ 84 NONAME ; int CPhoneState::IsAutoLockOn(void) const
-	?UpdateCbaL@CPhoneStateCallSetup@@MAEXH@Z @ 85 NONAME ; void CPhoneStateCallSetup::UpdateCbaL(int)
-	?HandleKeyEventL@CPhoneStateIdle@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 86 NONAME ; void CPhoneStateIdle::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
-	?SendGlobalWarningNoteL@CPhoneState@@IAEXHH@Z @ 87 NONAME ; void CPhoneState::SendGlobalWarningNoteL(int, int)
-	?IsNumberEntryContentStored@CPhoneState@@IAEHXZ @ 88 NONAME ; int CPhoneState::IsNumberEntryContentStored(void)
-	?IsVideoCallActiveL@CPhoneStateInCall@@MAEHXZ @ 89 NONAME ; int CPhoneStateInCall::IsVideoCallActiveL(void)
-	?DialVoiceCallL@CPhoneState@@IAEXXZ @ 90 NONAME ; void CPhoneState::DialVoiceCallL(void)
-	?HandlePhoneStartupL@CPhoneStateStartup@@UAEXXZ @ 91 NONAME ; void CPhoneStateStartup::HandlePhoneStartupL(void)
-	?StateMachine@CPhoneStateHandle@@QAEPAVMPhoneStateMachine@@XZ @ 92 NONAME ; class MPhoneStateMachine * CPhoneStateHandle::StateMachine(void)
-	?EndUiUpdate@CPhoneState@@IAEXXZ @ 93 NONAME ; void CPhoneState::EndUiUpdate(void)
-	?UpdateInCallCbaL@CPhoneStateInCall@@MAEXXZ @ 94 NONAME ; void CPhoneStateInCall::UpdateInCallCbaL(void)
-	?HandleKeyMessageL@CPhoneStateInCall@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 95 NONAME ; void CPhoneStateInCall::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
-	?SetRingingTonePlaybackL@CPhoneState@@IAEXH@Z @ 96 NONAME ; void CPhoneState::SetRingingTonePlaybackL(int)
-	?ProcessCommandL@CPhoneState@@UAEHH@Z @ 97 NONAME ; int CPhoneState::ProcessCommandL(int)
-	?BeginUiUpdateLC@CPhoneState@@IAEXXZ @ 98 NONAME ; void CPhoneState::BeginUiUpdateLC(void)
-	?DecreaseAudioVolumeL@CPhoneState@@IAEXXZ @ 99 NONAME ; void CPhoneState::DecreaseAudioVolumeL(void)
-	?PhoneEngineInfo@CPhoneStateMachine@@UAEPAVMPEEngineInfo@@XZ @ 100 NONAME ; class MPEEngineInfo * CPhoneStateMachine::PhoneEngineInfo(void)
-	?HandleSystemEventL@CPhoneUIController@@UAEXABVTWsEvent@@@Z @ 101 NONAME ; void CPhoneUIController::HandleSystemEventL(class TWsEvent const &)
-	??0CPhoneStateStartup@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 102 NONAME ; CPhoneStateStartup::CPhoneStateStartup(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
-	?GetRemoteInfoDataL@CPhoneState@@IAEXHAAVTDes16@@@Z @ 103 NONAME ; void CPhoneState::GetRemoteInfoDataL(int, class TDes16 &)
-	?SetDivertIndication@CPhoneState@@UAEXH@Z @ 104 NONAME ; void CPhoneState::SetDivertIndication(int)
-	?UpdateCbaL@CPhoneStateInCall@@MAEXH@Z @ 105 NONAME ; void CPhoneStateInCall::UpdateCbaL(int)
-	?SetCallId@CPhoneStateMachine@@UAEXH@Z @ 106 NONAME ; void CPhoneStateMachine::SetCallId(int)
-	?ProcessCommandL@CPhoneUIController@@UAEHH@Z @ 107 NONAME ; int CPhoneUIController::ProcessCommandL(int)
-	?DisplayHeaderForCallComingInL@CPhoneState@@IAEXHH@Z @ 108 NONAME ; void CPhoneState::DisplayHeaderForCallComingInL(int, int)
-	??0CPhoneStateIdle@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 109 NONAME ; CPhoneStateIdle::CPhoneStateIdle(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
-	?SendPhoneEngineMessage@CPhoneStateMachine@@UAEXH@Z @ 110 NONAME ; void CPhoneStateMachine::SendPhoneEngineMessage(int)
-	??0CPhoneStateCallSetup@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 111 NONAME ; CPhoneStateCallSetup::CPhoneStateCallSetup(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
-	??0CPhoneState@@QAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 112 NONAME ; CPhoneState::CPhoneState(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
-	?HandleDtmfKeyToneL@CPhoneState@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 113 NONAME ; void CPhoneState::HandleDtmfKeyToneL(struct TKeyEvent const &, enum TEventCode)
-	?HandleKeyMessageL@CPhoneStateIdle@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 114 NONAME ; void CPhoneStateIdle::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
-	?HandleForegroundEventL@CPhoneUIController@@UAEXH@Z @ 115 NONAME ; void CPhoneUIController::HandleForegroundEventL(int)
-	?HandleCommandL@CPhoneUIController@@UAEHH@Z @ 116 NONAME ; int CPhoneUIController::HandleCommandL(int)
-	?HandleSendCommandL@CPhoneStateIdle@@MAEXXZ @ 117 NONAME ; void CPhoneStateIdle::HandleSendCommandL(void)
-	?DisableHWKeysL@CPhoneState@@QAEXXZ @ 118 NONAME ; void CPhoneState::DisableHWKeysL(void)
-	?DisplayHeaderForOutgoingCallL@CPhoneState@@IAEXH@Z @ 119 NONAME ; void CPhoneState::DisplayHeaderForOutgoingCallL(int)
-	?GetBlockedKeyList@CPhoneState@@UBEABV?$RArray@H@@XZ @ 120 NONAME ; class RArray<int> const & CPhoneState::GetBlockedKeyList(void) const
-	?HandlePhoneEngineMessageL@CPhoneStateInCall@@UAEXHH@Z @ 121 NONAME ; void CPhoneStateInCall::HandlePhoneEngineMessageL(int, int)
-	?IsNumberEntryUsedL@CPhoneState@@UAEHXZ @ 122 NONAME ; int CPhoneState::IsNumberEntryUsedL(void)
-	?PhoneStorage@CPhoneStateMachine@@UAEPAVMPhoneStorage@@XZ @ 123 NONAME ; class MPhoneStorage * CPhoneStateMachine::PhoneStorage(void)
-	??1CPhoneState@@UAE@XZ @ 124 NONAME ; CPhoneState::~CPhoneState(void)
-	?HandlePhoneEngineMessageL@CPhoneStateCallSetup@@UAEXHH@Z @ 125 NONAME ; void CPhoneStateCallSetup::HandlePhoneEngineMessageL(int, int)
-	?HandlePhoneFocusLostEventL@CPhoneState@@UAEXXZ @ 126 NONAME ; void CPhoneState::HandlePhoneFocusLostEventL(void)
-	??1CPhoneStateMachine@@UAE@XZ @ 127 NONAME ; CPhoneStateMachine::~CPhoneStateMachine(void)
-	?HandleIdleForegroundEventL@CPhoneState@@UAEXXZ @ 128 NONAME ; void CPhoneState::HandleIdleForegroundEventL(void)
-	?ConstructL@CPhoneStateCallSetup@@MAEXXZ @ 129 NONAME ; void CPhoneStateCallSetup::ConstructL(void)
-	?HandleMessage@CPhoneUIController@@UAEXHH@Z @ 130 NONAME ; void CPhoneUIController::HandleMessage(int, int)
-	?HandleSystemEventL@CPhoneState@@UAEXABVTWsEvent@@@Z @ 131 NONAME ; void CPhoneState::HandleSystemEventL(class TWsEvent const &)
-	?DisplayCallSetupL@CPhoneStateIdle@@IAEXH@Z @ 132 NONAME ; void CPhoneStateIdle::DisplayCallSetupL(int)
-	?ConstructL@CPhoneStateStartup@@MAEXXZ @ 133 NONAME ; void CPhoneStateStartup::ConstructL(void)
-	?HandleKeyMessageL@CPhoneStateStartup@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 134 NONAME ; void CPhoneStateStartup::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
-	?ShowNoteL@CPhoneState@@IAEXH@Z @ 135 NONAME ; void CPhoneState::ShowNoteL(int)
-	?HandlePropertyChangedL@CPhoneState@@UAEXABVTUid@@IH@Z @ 136 NONAME ; void CPhoneState::HandlePropertyChangedL(class TUid const &, unsigned int, int)
-	?IsAnyQueryActiveL@CPhoneState@@QAEHXZ @ 137 NONAME ; int CPhoneState::IsAnyQueryActiveL(void)
-	?State@CPhoneStateMachine@@UAEPAVMPhoneState@@XZ @ 138 NONAME ; class MPhoneState * CPhoneStateMachine::State(void)
-	?SetHandsfreeModeL@CPhoneState@@IAEXH@Z @ 139 NONAME ; void CPhoneState::SetHandsfreeModeL(int)
-	?IsCustomizedDialerVisibleL@CPhoneState@@QBEHXZ @ 140 NONAME ; int CPhoneState::IsCustomizedDialerVisibleL(void) const
-	?UpdateInCallCbaL@CPhoneStateCallSetup@@MAEXXZ @ 141 NONAME ; void CPhoneStateCallSetup::UpdateInCallCbaL(void)
-	?HandleNumberEntryClearedL@CPhoneStateInCall@@MAEXXZ @ 142 NONAME ; void CPhoneStateInCall::HandleNumberEntryClearedL(void)
-	??0CPhoneStateIncoming@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 143 NONAME ; CPhoneStateIncoming::CPhoneStateIncoming(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
-	?SendGlobalInfoNoteL@CPhoneState@@QAEXHH@Z @ 144 NONAME ; void CPhoneState::SendGlobalInfoNoteL(int, int)
-	??1CPhoneStateIncoming@@UAE@XZ @ 145 NONAME ; CPhoneStateIncoming::~CPhoneStateIncoming(void)
-	?HandleKeyLockEnabled@CPhoneUIController@@UAEXH@Z @ 146 NONAME ; void CPhoneUIController::HandleKeyLockEnabled(int)
-	?DisableCallUIL@CPhoneState@@QAEXXZ @ 147 NONAME ; void CPhoneState::DisableCallUIL(void)
-	?DeleteTouchPaneButtons@CPhoneState@@IAEXXZ @ 148 NONAME ; void CPhoneState::DeleteTouchPaneButtons(void)
-	?ProcessCommandL@CPhoneStateIdle@@UAEHH@Z @ 149 NONAME ; int CPhoneStateIdle::ProcessCommandL(int)
-	?HandlePhoneEngineMessageL@CPhoneStateStartup@@UAEXHH@Z @ 150 NONAME ; void CPhoneStateStartup::HandlePhoneEngineMessageL(int, int)
-	?IsAlphanumericSupportedAndCharInput@CPhoneState@@MAEHABUTKeyEvent@@@Z @ 151 NONAME ; int CPhoneState::IsAlphanumericSupportedAndCharInput(struct TKeyEvent const &)
-	?HandleKeyEventL@CPhoneStateIncoming@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 152 NONAME ; void CPhoneStateIncoming::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
-	?HandleKeyEventL@CPhoneStateStartup@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 153 NONAME ; void CPhoneStateStartup::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
-	?HandleNumberEntryClearedL@CPhoneState@@MAEXXZ @ 154 NONAME ; void CPhoneState::HandleNumberEntryClearedL(void)
-	?IncreaseAudioVolumeL@CPhoneState@@IAEXXZ @ 155 NONAME ; void CPhoneState::IncreaseAudioVolumeL(void)
-	?ConstructL@CPhoneStateIdle@@MAEXXZ @ 156 NONAME ; void CPhoneStateIdle::ConstructL(void)
-	?CheckIfShowCallTerminationNote@CPhoneState@@MAEHXZ @ 157 NONAME ; int CPhoneState::CheckIfShowCallTerminationNote(void)
-	?DisplayIdleScreenL@CPhoneState@@IAEXXZ @ 158 NONAME ; void CPhoneState::DisplayIdleScreenL(void)
-	?StartShowSecurityNoteL@CPhoneState@@IAEXXZ @ 159 NONAME ; void CPhoneState::StartShowSecurityNoteL(void)
-	?StoreNumberEntryContentL@CPhoneState@@IAEXXZ @ 160 NONAME ; void CPhoneState::StoreNumberEntryContentL(void)
-	?SetBTHandsfreeModeL@CPhoneState@@IAEXH@Z @ 161 NONAME ; void CPhoneState::SetBTHandsfreeModeL(int)
-	?HandlePhoneEngineMessageL@CPhoneStateIncoming@@UAEXHH@Z @ 162 NONAME ; void CPhoneStateIncoming::HandlePhoneEngineMessageL(int, int)
-	?SetDefaultFlagsL@CPhoneState@@IAEXXZ @ 163 NONAME ; void CPhoneState::SetDefaultFlagsL(void)
-	?HandleCommandL@CPhoneStateInCall@@UAEHH@Z @ 164 NONAME ; int CPhoneStateInCall::HandleCommandL(int)
-	?DialVoiceCallL@CPhoneStateIdle@@IAEXXZ @ 165 NONAME ; void CPhoneStateIdle::DialVoiceCallL(void)
-	?UpdateRemoteInfoDataL@CPhoneState@@IAEXH@Z @ 166 NONAME ; void CPhoneState::UpdateRemoteInfoDataL(int)
-	?GetRingingCallL@CPhoneStateInCall@@MAEHXZ @ 167 NONAME ; int CPhoneStateInCall::GetRingingCallL(void)
-	?HandleIdleForegroundEventL@CPhoneUIController@@UAEXXZ @ 168 NONAME ; void CPhoneUIController::HandleIdleForegroundEventL(void)
-	?SetBackButtonActive@CPhoneState@@IAEXH@Z @ 169 NONAME ; void CPhoneState::SetBackButtonActive(int)
-	?HandlePhoneForegroundEventL@CPhoneState@@UAEXXZ @ 170 NONAME ; void CPhoneState::HandlePhoneForegroundEventL(void)
-	?HandleForegroundEventL@CPhoneState@@UAEXH@Z @ 171 NONAME ; void CPhoneState::HandleForegroundEventL(int)
-	?DisplayIncomingCallL@CPhoneStateIdle@@IAEXH@Z @ 172 NONAME ; void CPhoneStateIdle::DisplayIncomingCallL(int)
-	??1CPhoneStateIdle@@UAE@XZ @ 173 NONAME ; CPhoneStateIdle::~CPhoneStateIdle(void)
-	?HandleRemConCommandL@CPhoneState@@UAEHW4TRemConCoreApiOperationId@@W4TRemConCoreApiButtonAction@@@Z @ 174 NONAME ; int CPhoneState::HandleRemConCommandL(enum TRemConCoreApiOperationId, enum TRemConCoreApiButtonAction)
-	?PhoneNumberFromEntryLC@CPhoneState@@IAEPAVHBufC16@@XZ @ 175 NONAME ; class HBufC16 * CPhoneState::PhoneNumberFromEntryLC(void)
-	?BaseConstructL@CPhoneState@@QAEXXZ @ 176 NONAME ; void CPhoneState::BaseConstructL(void)
-	?HandlePhoneStartupL@CPhoneUIController@@UAEXXZ @ 177 NONAME ; void CPhoneUIController::HandlePhoneStartupL(void)
-	?SetCallHeaderType@CPhoneState@@IAEXH@Z @ 178 NONAME ; void CPhoneState::SetCallHeaderType(int)
-	?SetPhoneEngine@CPhoneStateMachine@@UAEXPAVMPEPhoneModel@@@Z @ 179 NONAME ; void CPhoneStateMachine::SetPhoneEngine(class MPEPhoneModel *)
-	?HandleKeyLockEnabled@CPhoneStateIncoming@@UAEXH@Z @ 180 NONAME ; void CPhoneStateIncoming::HandleKeyLockEnabled(int)
-	?HandlePhoneFocusLostEventL@CPhoneUIController@@UAEXXZ @ 181 NONAME ; void CPhoneUIController::HandlePhoneFocusLostEventL(void)
-	??0CPhoneStateMachine@@IAE@PAVMPhoneViewCommandHandle@@@Z @ 182 NONAME ; CPhoneStateMachine::CPhoneStateMachine(class MPhoneViewCommandHandle *)
-	??1CPhoneStateStartup@@UAE@XZ @ 183 NONAME ; CPhoneStateStartup::~CPhoneStateStartup(void)
-	?HandleKeyMessageL@CPhoneState@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 184 NONAME ; void CPhoneState::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
-	?OpenSoftRejectMessageEditorL@CPhoneState@@MAEXXZ @ 185 NONAME ; void CPhoneState::OpenSoftRejectMessageEditorL(void)
+	?RemoveNumberEntryIfVisibilityIsFalseL@CPhoneNumberEntryManager@@QAEXXZ @ 32 NONAME ; void CPhoneNumberEntryManager::RemoveNumberEntryIfVisibilityIsFalseL(void)
+	?IsNumberEntryContentStored@CPhoneNumberEntryManager@@QAEHXZ @ 33 NONAME ; int CPhoneNumberEntryManager::IsNumberEntryContentStored(void)
+	?ShowNumberBusyNoteL@CPhoneState@@IAEXXZ @ 34 NONAME ; void CPhoneState::ShowNumberBusyNoteL(void)
+	?NumberEntryClearL@CPhoneNumberEntryManager@@QBEXXZ @ 35 NONAME ; void CPhoneNumberEntryManager::NumberEntryClearL(void) const
+	?DisconnectCallL@CPhoneState@@IAEHXZ @ 36 NONAME ; int CPhoneState::DisconnectCallL(void)
+	?HandleNumberEntryClearedL@CPhoneStateCallSetup@@MAEXXZ @ 37 NONAME ; void CPhoneStateCallSetup::HandleNumberEntryClearedL(void)
+	?HandleIdleForegroundEventL@CPhoneStateIdle@@UAEXXZ @ 38 NONAME ; void CPhoneStateIdle::HandleIdleForegroundEventL(void)
+	?HandleDisconnectingL@CPhoneState@@IAEXH@Z @ 39 NONAME ; void CPhoneState::HandleDisconnectingL(int)
+	?HandleAudioMuteChangedL@CPhoneState@@IAEXXZ @ 40 NONAME ; void CPhoneState::HandleAudioMuteChangedL(void)
+	?HandleCommandL@CPhoneStateIncoming@@UAEHH@Z @ 41 NONAME ; int CPhoneStateIncoming::HandleCommandL(int)
+	?UpdateSingleActiveCallL@CPhoneState@@IAEXH@Z @ 42 NONAME ; void CPhoneState::UpdateSingleActiveCallL(int)
+	?SimState@CPhoneState@@IBE?AW4TPESimState@@XZ @ 43 NONAME ; enum TPESimState CPhoneState::SimState(void) const
+	?HandleKeyEventL@CPhoneStateCallSetup@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 44 NONAME ; void CPhoneStateCallSetup::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
+	?NewL@CPhoneStateStartup@@SAPAV1@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 45 NONAME ; class CPhoneStateStartup * CPhoneStateStartup::NewL(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
+	?IsSimOk@CPhoneState@@QAEHXZ @ 46 NONAME ; int CPhoneState::IsSimOk(void)
+	?HandleCommandL@CPhoneStateIdle@@UAEHH@Z @ 47 NONAME ; int CPhoneStateIdle::HandleCommandL(int)
+	?ViewCommandHandle@CPhoneStateHandle@@QAEPAVMPhoneViewCommandHandle@@XZ @ 48 NONAME ; class MPhoneViewCommandHandle * CPhoneStateHandle::ViewCommandHandle(void)
+	?DialMultimediaCallL@CPhoneStateIdle@@IAEXXZ @ 49 NONAME ; void CPhoneStateIdle::DialMultimediaCallL(void)
+	?DisconnectOutgoingCallL@CPhoneStateInCall@@IAEXXZ @ 50 NONAME ; void CPhoneStateInCall::DisconnectOutgoingCallL(void)
+	??1CPhoneStateInCall@@UAE@XZ @ 51 NONAME ; CPhoneStateInCall::~CPhoneStateInCall(void)
+	?ConstructL@CPhoneStateInCall@@MAEXXZ @ 52 NONAME ; void CPhoneStateInCall::ConstructL(void)
+	?HandleError@CPhoneUIController@@UAEXABUTPEErrorInfo@@@Z @ 53 NONAME ; void CPhoneUIController::HandleError(struct TPEErrorInfo const &)
+	?IsVideoCallRingingL@CPhoneStateInCall@@MAEHXZ @ 54 NONAME ; int CPhoneStateInCall::IsVideoCallRingingL(void)
+	?HandlePhoneForegroundEventL@CPhoneStateIdle@@UAEXXZ @ 55 NONAME ; void CPhoneStateIdle::HandlePhoneForegroundEventL(void)
+	?ClearNumberEntryContentCache@CPhoneNumberEntryManager@@QAEXXZ @ 56 NONAME ; void CPhoneNumberEntryManager::ClearNumberEntryContentCache(void)
+	?IsCustomizedDialerVisibleL@CPhoneNumberEntryManager@@QBEHXZ @ 57 NONAME ; int CPhoneNumberEntryManager::IsCustomizedDialerVisibleL(void) const
+	?HandleDtmfKeyToneL@CPhoneStateStartup@@EAEXABUTKeyEvent@@W4TEventCode@@@Z @ 58 NONAME ; void CPhoneStateStartup::HandleDtmfKeyToneL(struct TKeyEvent const &, enum TEventCode)
+	?EikonEnv@CPhoneStateMachine@@QBEPAVCEikonEnv@@XZ @ 59 NONAME ; class CEikonEnv * CPhoneStateMachine::EikonEnv(void) const
+	?ShowTextQueryL@CPhoneState@@IAEXHHHPAVTDes16@@H@Z @ 60 NONAME ; void CPhoneState::ShowTextQueryL(int, int, int, class TDes16 *, int)
+	?DialMultimediaCallL@CPhoneState@@IAEXXZ @ 61 NONAME ; void CPhoneState::DialMultimediaCallL(void)
+	?NewL@CPhoneUIController@@SAPAV1@PAVMPhoneViewCommandHandle@@@Z @ 62 NONAME ; class CPhoneUIController * CPhoneUIController::NewL(class MPhoneViewCommandHandle *)
+	?HandleCommandL@CPhoneStateCallSetup@@UAEHH@Z @ 63 NONAME ; int CPhoneStateCallSetup::HandleCommandL(int)
+	?HandleErrorL@CPhoneState@@UAEXABUTPEErrorInfo@@@Z @ 64 NONAME ; void CPhoneState::HandleErrorL(struct TPEErrorInfo const &)
+	??1CPhoneUIController@@UAE@XZ @ 65 NONAME ; CPhoneUIController::~CPhoneUIController(void)
+	?HandleAudioOutputChangedL@CPhoneState@@IAEXXZ @ 66 NONAME ; void CPhoneState::HandleAudioOutputChangedL(void)
+	?HandleKeyEventL@CPhoneState@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 67 NONAME ; void CPhoneState::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
+	?RemoveDialogsAndSendPhoneToBackgroundL@CPhoneState@@IAEXXZ @ 68 NONAME ; void CPhoneState::RemoveDialogsAndSendPhoneToBackgroundL(void)
+	?StoreNumberEntryContentL@CPhoneNumberEntryManager@@QAEXXZ @ 69 NONAME ; void CPhoneNumberEntryManager::StoreNumberEntryContentL(void)
+	?SendGlobalErrorNoteL@CPhoneState@@QAEXHH@Z @ 70 NONAME ; void CPhoneState::SendGlobalErrorNoteL(int, int)
+	?CreatePhoneEngineL@CPhoneStateMachine@@UAEPAVMPEPhoneModel@@AAVMEngineMonitor@@@Z @ 71 NONAME ; class MPEPhoneModel * CPhoneStateMachine::CreatePhoneEngineL(class MEngineMonitor &)
+	?ConstructL@CPhoneStateIncoming@@MAEXXZ @ 72 NONAME ; void CPhoneStateIncoming::ConstructL(void)
+	?HandleIdleForegroundEventL@CPhoneStateStartup@@UAEXXZ @ 73 NONAME ; void CPhoneStateStartup::HandleIdleForegroundEventL(void)
+	?IsVideoCall@CPhoneState@@IAEHH@Z @ 74 NONAME ; int CPhoneState::IsVideoCall(int)
+	?IsAutoLockOn@CPhoneState@@UBEHXZ @ 75 NONAME ; int CPhoneState::IsAutoLockOn(void) const
+	?HandleKeyEventL@CPhoneStateIdle@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 76 NONAME ; void CPhoneStateIdle::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
+	?SendGlobalWarningNoteL@CPhoneState@@IAEXHH@Z @ 77 NONAME ; void CPhoneState::SendGlobalWarningNoteL(int, int)
+	?HandlePhoneStartupL@CPhoneStateStartup@@UAEXXZ @ 78 NONAME ; void CPhoneStateStartup::HandlePhoneStartupL(void)
+	?IsVideoCallActiveL@CPhoneStateInCall@@MAEHXZ @ 79 NONAME ; int CPhoneStateInCall::IsVideoCallActiveL(void)
+	?StateMachine@CPhoneStateHandle@@QAEPAVMPhoneStateMachine@@XZ @ 80 NONAME ; class MPhoneStateMachine * CPhoneStateHandle::StateMachine(void)
+	?EndUiUpdate@CPhoneState@@IAEXXZ @ 81 NONAME ; void CPhoneState::EndUiUpdate(void)
+	?HandleKeyMessageL@CPhoneStateInCall@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 82 NONAME ; void CPhoneStateInCall::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
+	?SetRingingTonePlaybackL@CPhoneState@@IAEXH@Z @ 83 NONAME ; void CPhoneState::SetRingingTonePlaybackL(int)
+	?BeginUiUpdateLC@CPhoneState@@IAEXXZ @ 84 NONAME ; void CPhoneState::BeginUiUpdateLC(void)
+	?DecreaseAudioVolumeL@CPhoneState@@IAEXXZ @ 85 NONAME ; void CPhoneState::DecreaseAudioVolumeL(void)
+	?ProcessCommandL@CPhoneState@@UAEHH@Z @ 86 NONAME ; int CPhoneState::ProcessCommandL(int)
+	?PhoneEngineInfo@CPhoneStateMachine@@UAEPAVMPEEngineInfo@@XZ @ 87 NONAME ; class MPEEngineInfo * CPhoneStateMachine::PhoneEngineInfo(void)
+	??0CPhoneStateStartup@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 88 NONAME ; CPhoneStateStartup::CPhoneStateStartup(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
+	?SetCallId@CPhoneStateMachine@@UAEXH@Z @ 89 NONAME ; void CPhoneStateMachine::SetCallId(int)
+	?ProcessCommandL@CPhoneUIController@@UAEHH@Z @ 90 NONAME ; int CPhoneUIController::ProcessCommandL(int)
+	?DisplayCallHeaderL@CPhoneState@@QAEXHW4TNumberEntrySetRule@1@@Z @ 91 NONAME ; void CPhoneState::DisplayCallHeaderL(int, enum CPhoneState::TNumberEntrySetRule)
+	??0CPhoneStateIdle@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 92 NONAME ; CPhoneStateIdle::CPhoneStateIdle(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
+	?SendPhoneEngineMessage@CPhoneStateMachine@@UAEXH@Z @ 93 NONAME ; void CPhoneStateMachine::SendPhoneEngineMessage(int)
+	?IsNumberEntryVisibleL@CPhoneNumberEntryManager@@QBEHXZ @ 94 NONAME ; int CPhoneNumberEntryManager::IsNumberEntryVisibleL(void) const
+	??0CPhoneStateCallSetup@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 95 NONAME ; CPhoneStateCallSetup::CPhoneStateCallSetup(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
+	??0CPhoneState@@QAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 96 NONAME ; CPhoneState::CPhoneState(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
+	?HandleDtmfKeyToneL@CPhoneState@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 97 NONAME ; void CPhoneState::HandleDtmfKeyToneL(struct TKeyEvent const &, enum TEventCode)
+	?HandleKeyMessageL@CPhoneStateIdle@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 98 NONAME ; void CPhoneStateIdle::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
+	?HandleCommandL@CPhoneUIController@@UAEHH@Z @ 99 NONAME ; int CPhoneUIController::HandleCommandL(int)
+	?HandleSendCommandL@CPhoneStateIdle@@MAEXXZ @ 100 NONAME ; void CPhoneStateIdle::HandleSendCommandL(void)
+	?SetNumberEntryVisibilityL@CPhoneNumberEntryManager@@QAEXH@Z @ 101 NONAME ; void CPhoneNumberEntryManager::SetNumberEntryVisibilityL(int)
+	?HandlePhoneEngineMessageL@CPhoneStateInCall@@UAEXHH@Z @ 102 NONAME ; void CPhoneStateInCall::HandlePhoneEngineMessageL(int, int)
+	?PhoneStorage@CPhoneStateMachine@@UAEPAVMPhoneStorage@@XZ @ 103 NONAME ; class MPhoneStorage * CPhoneStateMachine::PhoneStorage(void)
+	??1CPhoneState@@UAE@XZ @ 104 NONAME ; CPhoneState::~CPhoneState(void)
+	?DialVoiceCallL@CPhoneState@@QAEXXZ @ 105 NONAME ; void CPhoneState::DialVoiceCallL(void)
+	?HandlePhoneEngineMessageL@CPhoneStateCallSetup@@UAEXHH@Z @ 106 NONAME ; void CPhoneStateCallSetup::HandlePhoneEngineMessageL(int, int)
+	??1CPhoneStateMachine@@UAE@XZ @ 107 NONAME ; CPhoneStateMachine::~CPhoneStateMachine(void)
+	?SetVisibilityIfNumberEntryUsedL@CPhoneNumberEntryManager@@QAEHH@Z @ 108 NONAME ; int CPhoneNumberEntryManager::SetVisibilityIfNumberEntryUsedL(int)
+	?ConstructL@CPhoneStateCallSetup@@MAEXXZ @ 109 NONAME ; void CPhoneStateCallSetup::ConstructL(void)
+	?HandleMessage@CPhoneUIController@@UAEXHH@Z @ 110 NONAME ; void CPhoneUIController::HandleMessage(int, int)
+	?ConstructL@CPhoneStateStartup@@MAEXXZ @ 111 NONAME ; void CPhoneStateStartup::ConstructL(void)
+	?HandleKeyMessageL@CPhoneStateStartup@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 112 NONAME ; void CPhoneStateStartup::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
+	?ShowNoteL@CPhoneState@@IAEXH@Z @ 113 NONAME ; void CPhoneState::ShowNoteL(int)
+	?HandlePropertyChangedL@CPhoneState@@UAEXABVTUid@@IH@Z @ 114 NONAME ; void CPhoneState::HandlePropertyChangedL(class TUid const &, unsigned int, int)
+	?State@CPhoneStateMachine@@UAEPAVMPhoneState@@XZ @ 115 NONAME ; class MPhoneState * CPhoneStateMachine::State(void)
+	?SetHandsfreeModeL@CPhoneState@@IAEXH@Z @ 116 NONAME ; void CPhoneState::SetHandsfreeModeL(int)
+	?IsCustomizedDialerVisibleL@CPhoneState@@QBEHXZ @ 117 NONAME ; int CPhoneState::IsCustomizedDialerVisibleL(void) const
+	?HandleNumberEntryClearedL@CPhoneStateInCall@@MAEXXZ @ 118 NONAME ; void CPhoneStateInCall::HandleNumberEntryClearedL(void)
+	?PhoneNumberFromEntryLC@CPhoneNumberEntryManager@@QBEPAVHBufC16@@XZ @ 119 NONAME ; class HBufC16 * CPhoneNumberEntryManager::PhoneNumberFromEntryLC(void) const
+	??0CPhoneStateIncoming@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 120 NONAME ; CPhoneStateIncoming::CPhoneStateIncoming(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
+	??1CPhoneStateIncoming@@UAE@XZ @ 121 NONAME ; CPhoneStateIncoming::~CPhoneStateIncoming(void)
+	?SendGlobalInfoNoteL@CPhoneState@@QAEXHH@Z @ 122 NONAME ; void CPhoneState::SendGlobalInfoNoteL(int, int)
+	?DeleteTouchPaneButtons@CPhoneState@@IAEXXZ @ 123 NONAME ; void CPhoneState::DeleteTouchPaneButtons(void)
+	?ProcessCommandL@CPhoneStateIdle@@UAEHH@Z @ 124 NONAME ; int CPhoneStateIdle::ProcessCommandL(int)
+	?HandlePhoneEngineMessageL@CPhoneStateStartup@@UAEXHH@Z @ 125 NONAME ; void CPhoneStateStartup::HandlePhoneEngineMessageL(int, int)
+	?HandleKeyEventL@CPhoneStateIncoming@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 126 NONAME ; void CPhoneStateIncoming::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
+	?HandleKeyEventL@CPhoneStateStartup@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 127 NONAME ; void CPhoneStateStartup::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
+	?IncreaseAudioVolumeL@CPhoneState@@IAEXXZ @ 128 NONAME ; void CPhoneState::IncreaseAudioVolumeL(void)
+	?ConstructL@CPhoneStateIdle@@MAEXXZ @ 129 NONAME ; void CPhoneStateIdle::ConstructL(void)
+	?SetEikonEnv@CPhoneState@@UAEXPAVCEikonEnv@@@Z @ 130 NONAME ; void CPhoneState::SetEikonEnv(class CEikonEnv *)
+	?CheckIfShowCallTerminationNote@CPhoneState@@MAEHXZ @ 131 NONAME ; int CPhoneState::CheckIfShowCallTerminationNote(void)
+	?StartShowSecurityNoteL@CPhoneState@@IAEXXZ @ 132 NONAME ; void CPhoneState::StartShowSecurityNoteL(void)
+	?SetBTHandsfreeModeL@CPhoneState@@IAEXH@Z @ 133 NONAME ; void CPhoneState::SetBTHandsfreeModeL(int)
+	?HandlePhoneEngineMessageL@CPhoneStateIncoming@@UAEXHH@Z @ 134 NONAME ; void CPhoneStateIncoming::HandlePhoneEngineMessageL(int, int)
+	?SetDefaultFlagsL@CPhoneState@@IAEXXZ @ 135 NONAME ; void CPhoneState::SetDefaultFlagsL(void)
+	?HandleCommandL@CPhoneStateInCall@@UAEHH@Z @ 136 NONAME ; int CPhoneStateInCall::HandleCommandL(int)
+	?DialVoiceCallL@CPhoneStateIdle@@IAEXXZ @ 137 NONAME ; void CPhoneStateIdle::DialVoiceCallL(void)
+	?UpdateRemoteInfoDataL@CPhoneState@@IAEXH@Z @ 138 NONAME ; void CPhoneState::UpdateRemoteInfoDataL(int)
+	?GetRingingCallL@CPhoneStateInCall@@MAEHXZ @ 139 NONAME ; int CPhoneStateInCall::GetRingingCallL(void)
+	?EikonEnv@CPhoneState@@QBEPAVCEikonEnv@@XZ @ 140 NONAME ; class CEikonEnv * CPhoneState::EikonEnv(void) const
+	?SetBackButtonActive@CPhoneState@@IAEXH@Z @ 141 NONAME ; void CPhoneState::SetBackButtonActive(int)
+	?DisplayIncomingCallL@CPhoneStateIdle@@IAEXH@Z @ 142 NONAME ; void CPhoneStateIdle::DisplayIncomingCallL(int)
+	??1CPhoneStateIdle@@UAE@XZ @ 143 NONAME ; CPhoneStateIdle::~CPhoneStateIdle(void)
+	?HandleRemConCommandL@CPhoneState@@UAEHW4TRemConCoreApiOperationId@@W4TRemConCoreApiButtonAction@@@Z @ 144 NONAME ; int CPhoneState::HandleRemConCommandL(enum TRemConCoreApiOperationId, enum TRemConCoreApiButtonAction)
+	?BaseConstructL@CPhoneState@@QAEXXZ @ 145 NONAME ; void CPhoneState::BaseConstructL(void)
+	?HandlePhoneStartupL@CPhoneUIController@@UAEXXZ @ 146 NONAME ; void CPhoneUIController::HandlePhoneStartupL(void)
+	?SetPhoneEngine@CPhoneStateMachine@@UAEXPAVMPEPhoneModel@@@Z @ 147 NONAME ; void CPhoneStateMachine::SetPhoneEngine(class MPEPhoneModel *)
+	??0CPhoneStateMachine@@IAE@PAVMPhoneViewCommandHandle@@@Z @ 148 NONAME ; CPhoneStateMachine::CPhoneStateMachine(class MPhoneViewCommandHandle *)
+	??1CPhoneStateStartup@@UAE@XZ @ 149 NONAME ; CPhoneStateStartup::~CPhoneStateStartup(void)
+	?HandleKeyMessageL@CPhoneState@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 150 NONAME ; void CPhoneState::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
+	?OpenSoftRejectMessageEditorL@CPhoneState@@MAEXXZ @ 151 NONAME ; void CPhoneState::OpenSoftRejectMessageEditorL(void)
 
--- a/phoneapp/phoneuicontrol/eabi/phoneuicontrolu.def	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuicontrol/eabi/phoneuicontrolu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -2,390 +2,323 @@
 	_ZN11CPhoneState10ShowQueryLEi @ 1 NONAME
 	_ZN11CPhoneState11EndUiUpdateEv @ 2 NONAME
 	_ZN11CPhoneState11IsVideoCallEi @ 3 NONAME
-	_ZN11CPhoneState12HandleErrorLERK12TPEErrorInfo @ 4 NONAME
-	_ZN11CPhoneState13EnableCallUILEv @ 5 NONAME
+	_ZN11CPhoneState11SetEikonEnvEP9CEikonEnv @ 4 NONAME
+	_ZN11CPhoneState12HandleErrorLERK12TPEErrorInfo @ 5 NONAME
 	_ZN11CPhoneState14BaseConstructLEv @ 6 NONAME
 	_ZN11CPhoneState14DialVoiceCallLEv @ 7 NONAME
-	_ZN11CPhoneState14DisableCallUILEv @ 8 NONAME
-	_ZN11CPhoneState14DisableHWKeysLEv @ 9 NONAME
-	_ZN11CPhoneState14HandleCommandLEi @ 10 NONAME
-	_ZN11CPhoneState14ShowTextQueryLEiiiP6TDes16i @ 11 NONAME
-	_ZN11CPhoneState15BeginUiUpdateLCEv @ 12 NONAME
-	_ZN11CPhoneState15DisconnectCallLEv @ 13 NONAME
-	_ZN11CPhoneState15HandleKeyEventLERK9TKeyEvent10TEventCode @ 14 NONAME
-	_ZN11CPhoneState15ProcessCommandLEi @ 15 NONAME
-	_ZN11CPhoneState16CallWaitingNoteLEi @ 16 NONAME
-	_ZN11CPhoneState16SetDefaultFlagsLEv @ 17 NONAME
-	_ZN11CPhoneState17HandleHoldSwitchLEv @ 18 NONAME
-	_ZN11CPhoneState17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 19 NONAME
-	_ZN11CPhoneState17IsAnyQueryActiveLEv @ 20 NONAME
-	_ZN11CPhoneState17SetCallHeaderTypeEi @ 21 NONAME
-	_ZN11CPhoneState17SetHandsfreeModeLEi @ 22 NONAME
-	_ZN11CPhoneState18DisplayIdleScreenLEv @ 23 NONAME
-	_ZN11CPhoneState18GetRemoteInfoDataLEiR6TDes16 @ 24 NONAME
-	_ZN11CPhoneState18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 25 NONAME
-	_ZN11CPhoneState18HandleSystemEventLERK8TWsEvent @ 26 NONAME
-	_ZN11CPhoneState18IsNumberEntryUsedLEv @ 27 NONAME
-	_ZN11CPhoneState19CompleteSatRequestLEi @ 28 NONAME
-	_ZN11CPhoneState19DialMultimediaCallLEv @ 29 NONAME
-	_ZN11CPhoneState19HandleCenRepChangeLERK4TUidj @ 30 NONAME
-	_ZN11CPhoneState19HandlePhoneStartupLEv @ 31 NONAME
-	_ZN11CPhoneState19SendGlobalInfoNoteLEii @ 32 NONAME
-	_ZN11CPhoneState19SetBTHandsfreeModeLEi @ 33 NONAME
-	_ZN11CPhoneState19SetBackButtonActiveEi @ 34 NONAME
-	_ZN11CPhoneState19SetDivertIndicationEi @ 35 NONAME
-	_ZN11CPhoneState19SetTouchPaneButtonsEi @ 36 NONAME
-	_ZN11CPhoneState19ShowNumberBusyNoteLEv @ 37 NONAME
-	_ZN11CPhoneState20CallFromNumberEntryLEv @ 38 NONAME
-	_ZN11CPhoneState20DecreaseAudioVolumeLEv @ 39 NONAME
-	_ZN11CPhoneState20HandleDisconnectingLEi @ 40 NONAME
-	_ZN11CPhoneState20HandleKeyLockEnabledEi @ 41 NONAME
-	_ZN11CPhoneState20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 42 NONAME
-	_ZN11CPhoneState20IncreaseAudioVolumeLEv @ 43 NONAME
-	_ZN11CPhoneState20SendGlobalErrorNoteLEii @ 44 NONAME
-	_ZN11CPhoneState21IsNumberEntryVisibleLEv @ 45 NONAME
-	_ZN11CPhoneState21UpdateRemoteInfoDataLEi @ 46 NONAME
-	_ZN11CPhoneState22DeleteTouchPaneButtonsEv @ 47 NONAME
-	_ZN11CPhoneState22HandleForegroundEventLEi @ 48 NONAME
-	_ZN11CPhoneState22HandlePropertyChangedLERK4TUidji @ 49 NONAME
-	_ZN11CPhoneState22PhoneNumberFromEntryLCEv @ 50 NONAME
-	_ZN11CPhoneState22SendGlobalWarningNoteLEii @ 51 NONAME
-	_ZN11CPhoneState22StartShowSecurityNoteLEv @ 52 NONAME
-	_ZN11CPhoneState23HandleAudioMuteChangedLEv @ 53 NONAME
-	_ZN11CPhoneState23SetRingingTonePlaybackLEi @ 54 NONAME
-	_ZN11CPhoneState23UpdateSingleActiveCallLEi @ 55 NONAME
-	_ZN11CPhoneState24StoreNumberEntryContentLEv @ 56 NONAME
-	_ZN11CPhoneState25HandleAudioOutputChangedLEv @ 57 NONAME
-	_ZN11CPhoneState25HandleNumberEntryClearedLEv @ 58 NONAME
-	_ZN11CPhoneState25HandlePhoneEngineMessageLEii @ 59 NONAME
-	_ZN11CPhoneState25SetNumberEntryVisibilityLEi @ 60 NONAME
-	_ZN11CPhoneState26HandleIdleForegroundEventLEv @ 61 NONAME
-	_ZN11CPhoneState26HandlePhoneFocusLostEventLEv @ 62 NONAME
-	_ZN11CPhoneState26IsNumberEntryContentStoredEv @ 63 NONAME
-	_ZN11CPhoneState27DisplayCallTerminationNoteLEv @ 64 NONAME
-	_ZN11CPhoneState27HandlePhoneForegroundEventLEv @ 65 NONAME
-	_ZN11CPhoneState27RetainPreviousKeylockStateLEv @ 66 NONAME
-	_ZN11CPhoneState28CheckDisableHWKeysAndCallUILEv @ 67 NONAME
-	_ZN11CPhoneState28ClearNumberEntryContentCacheEv @ 68 NONAME
-	_ZN11CPhoneState28OpenSoftRejectMessageEditorLEv @ 69 NONAME
-	_ZN11CPhoneState28SetupIdleScreenInBackgroundLEv @ 70 NONAME
-	_ZN11CPhoneState29DisplayHeaderForCallComingInLEii @ 71 NONAME
-	_ZN11CPhoneState29DisplayHeaderForOutgoingCallLEi @ 72 NONAME
-	_ZN11CPhoneState30CheckIfShowCallTerminationNoteEv @ 73 NONAME
-	_ZN11CPhoneState34SetCallHeaderTextsForCallComingInLEiiP28TPhoneCmdParamCallHeaderData @ 74 NONAME
-	_ZN11CPhoneState34SetToolbarButtonLoudspeakerEnabledEv @ 75 NONAME
-	_ZN11CPhoneState35IsAlphanumericSupportedAndCharInputERK9TKeyEvent @ 76 NONAME
-	_ZN11CPhoneState43IsSimStateNotPresentWithSecurityModeEnabledEv @ 77 NONAME
-	_ZN11CPhoneState7IsSimOkEv @ 78 NONAME
-	_ZN11CPhoneState9ShowNoteLEi @ 79 NONAME
-	_ZN11CPhoneStateC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 80 NONAME
-	_ZN11CPhoneStateC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 81 NONAME
-	_ZN11CPhoneStateD0Ev @ 82 NONAME
-	_ZN11CPhoneStateD1Ev @ 83 NONAME
-	_ZN11CPhoneStateD2Ev @ 84 NONAME
-	_ZN15CPhoneStateIdle10ConstructLEv @ 85 NONAME
-	_ZN15CPhoneStateIdle14DialVoiceCallLEv @ 86 NONAME
-	_ZN15CPhoneStateIdle14HandleCommandLEi @ 87 NONAME
-	_ZN15CPhoneStateIdle14HandleDialingLEi @ 88 NONAME
-	_ZN15CPhoneStateIdle15HandleKeyEventLERK9TKeyEvent10TEventCode @ 89 NONAME
-	_ZN15CPhoneStateIdle15ProcessCommandLEi @ 90 NONAME
-	_ZN15CPhoneStateIdle17DisplayCallSetupLEi @ 91 NONAME
-	_ZN15CPhoneStateIdle17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 92 NONAME
-	_ZN15CPhoneStateIdle18HandleSendCommandLEv @ 93 NONAME
-	_ZN15CPhoneStateIdle19DialMultimediaCallLEv @ 94 NONAME
-	_ZN15CPhoneStateIdle20DisplayIncomingCallLEi @ 95 NONAME
-	_ZN15CPhoneStateIdle20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 96 NONAME
-	_ZN15CPhoneStateIdle25HandleNumberEntryClearedLEv @ 97 NONAME
-	_ZN15CPhoneStateIdle25HandlePhoneEngineMessageLEii @ 98 NONAME
-	_ZN15CPhoneStateIdle26HandleIdleForegroundEventLEv @ 99 NONAME
-	_ZN15CPhoneStateIdle26HandlePhoneFocusLostEventLEv @ 100 NONAME
-	_ZN15CPhoneStateIdle27HandlePhoneForegroundEventLEv @ 101 NONAME
-	_ZN15CPhoneStateIdle5DialLERK7TDesC16NS_16TPhoneNumberTypeENS_21TDialInitiationMethodE @ 102 NONAME
-	_ZN15CPhoneStateIdleC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 103 NONAME
-	_ZN15CPhoneStateIdleC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 104 NONAME
-	_ZN15CPhoneStateIdleD0Ev @ 105 NONAME
-	_ZN15CPhoneStateIdleD1Ev @ 106 NONAME
-	_ZN15CPhoneStateIdleD2Ev @ 107 NONAME
-	_ZN16CPhoneCbaManager10UpdateCbaLEi @ 108 NONAME
-	_ZN16CPhoneCbaManager18UpdateIncomingCbaLEi @ 109 NONAME
-	_ZN16CPhoneCbaManager7SetCbaLEi @ 110 NONAME
-	_ZN17CPhoneStateHandle12StateMachineEv @ 111 NONAME
-	_ZN17CPhoneStateHandle17ViewCommandHandleEv @ 112 NONAME
-	_ZN17CPhoneStateHandle8InstanceEv @ 113 NONAME
-	_ZN17CPhoneStateInCall10ConstructLEv @ 114 NONAME
-	_ZN17CPhoneStateInCall10UpdateCbaLEi @ 115 NONAME
-	_ZN17CPhoneStateInCall11HandleIdleLEi @ 116 NONAME
-	_ZN17CPhoneStateInCall14HandleCommandLEi @ 117 NONAME
-	_ZN17CPhoneStateInCall15GetRingingCallLEv @ 118 NONAME
-	_ZN17CPhoneStateInCall16UpdateInCallCbaLEv @ 119 NONAME
-	_ZN17CPhoneStateInCall17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 120 NONAME
-	_ZN17CPhoneStateInCall18CallFetchedNumberLERK7TDesC16 @ 121 NONAME
-	_ZN17CPhoneStateInCall18IsVideoCallActiveLEv @ 122 NONAME
-	_ZN17CPhoneStateInCall19IsVideoCallRingingLEv @ 123 NONAME
-	_ZN17CPhoneStateInCall23DisconnectOutgoingCallLEv @ 124 NONAME
-	_ZN17CPhoneStateInCall25HandleNumberEntryClearedLEv @ 125 NONAME
-	_ZN17CPhoneStateInCall25HandlePhoneEngineMessageLEii @ 126 NONAME
-	_ZN17CPhoneStateInCallC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 127 NONAME
-	_ZN17CPhoneStateInCallC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 128 NONAME
-	_ZN17CPhoneStateInCallD0Ev @ 129 NONAME
-	_ZN17CPhoneStateInCallD1Ev @ 130 NONAME
-	_ZN17CPhoneStateInCallD2Ev @ 131 NONAME
-	_ZN18CPhoneStateMachine11ChangeStateEi @ 132 NONAME
-	_ZN18CPhoneStateMachine11PhoneEngineEv @ 133 NONAME
-	_ZN18CPhoneStateMachine12PhoneStorageEv @ 134 NONAME
-	_ZN18CPhoneStateMachine14SetPhoneEngineEP13MPEPhoneModel @ 135 NONAME
-	_ZN18CPhoneStateMachine15PhoneEngineInfoEv @ 136 NONAME
-	_ZN18CPhoneStateMachine18CreatePhoneEngineLER14MEngineMonitor @ 137 NONAME
-	_ZN18CPhoneStateMachine22SendPhoneEngineMessageEi @ 138 NONAME
-	_ZN18CPhoneStateMachine5StateEv @ 139 NONAME
-	_ZN18CPhoneStateMachine9SetCallIdEi @ 140 NONAME
-	_ZN18CPhoneStateMachineC1EP23MPhoneViewCommandHandle @ 141 NONAME
-	_ZN18CPhoneStateMachineC2EP23MPhoneViewCommandHandle @ 142 NONAME
-	_ZN18CPhoneStateMachineD0Ev @ 143 NONAME
-	_ZN18CPhoneStateMachineD1Ev @ 144 NONAME
-	_ZN18CPhoneStateMachineD2Ev @ 145 NONAME
-	_ZN18CPhoneStateStartup10ConstructLEv @ 146 NONAME
-	_ZN18CPhoneStateStartup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 147 NONAME
-	_ZN18CPhoneStateStartup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 148 NONAME
-	_ZN18CPhoneStateStartup18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 149 NONAME
-	_ZN18CPhoneStateStartup19HandlePhoneStartupLEv @ 150 NONAME
-	_ZN18CPhoneStateStartup25HandlePhoneEngineMessageLEii @ 151 NONAME
-	_ZN18CPhoneStateStartup26HandleIdleForegroundEventLEv @ 152 NONAME
-	_ZN18CPhoneStateStartup4NewLEP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 153 NONAME
-	_ZN18CPhoneStateStartupC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 154 NONAME
-	_ZN18CPhoneStateStartupC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 155 NONAME
-	_ZN18CPhoneStateStartupD0Ev @ 156 NONAME
-	_ZN18CPhoneStateStartupD1Ev @ 157 NONAME
-	_ZN18CPhoneStateStartupD2Ev @ 158 NONAME
-	_ZN18CPhoneUIController11HandleErrorERK12TPEErrorInfo @ 159 NONAME
-	_ZN18CPhoneUIController13HandleMessageEii @ 160 NONAME
-	_ZN18CPhoneUIController14HandleCommandLEi @ 161 NONAME
-	_ZN18CPhoneUIController15HandleKeyEventLERK9TKeyEvent10TEventCode @ 162 NONAME
-	_ZN18CPhoneUIController15ProcessCommandLEi @ 163 NONAME
-	_ZN18CPhoneUIController18HandleSystemEventLERK8TWsEvent @ 164 NONAME
-	_ZN18CPhoneUIController19HandlePhoneStartupLEv @ 165 NONAME
-	_ZN18CPhoneUIController20HandleKeyLockEnabledEi @ 166 NONAME
-	_ZN18CPhoneUIController22HandleForegroundEventLEi @ 167 NONAME
-	_ZN18CPhoneUIController26HandleIdleForegroundEventLEv @ 168 NONAME
-	_ZN18CPhoneUIController26HandlePhoneFocusLostEventLEv @ 169 NONAME
-	_ZN18CPhoneUIController27HandlePhoneForegroundEventLEv @ 170 NONAME
-	_ZN18CPhoneUIController4NewLEP23MPhoneViewCommandHandle @ 171 NONAME
-	_ZN18CPhoneUIControllerD0Ev @ 172 NONAME
-	_ZN18CPhoneUIControllerD1Ev @ 173 NONAME
-	_ZN18CPhoneUIControllerD2Ev @ 174 NONAME
-	_ZN19CPhoneStateIncoming10ConstructLEv @ 175 NONAME
-	_ZN19CPhoneStateIncoming14HandleCommandLEi @ 176 NONAME
-	_ZN19CPhoneStateIncoming15HandleKeyEventLERK9TKeyEvent10TEventCode @ 177 NONAME
-	_ZN19CPhoneStateIncoming17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 178 NONAME
-	_ZN19CPhoneStateIncoming20HandleKeyLockEnabledEi @ 179 NONAME
-	_ZN19CPhoneStateIncoming23HandleAudioPlayStoppedLEv @ 180 NONAME
-	_ZN19CPhoneStateIncoming25HandleNumberEntryClearedLEv @ 181 NONAME
-	_ZN19CPhoneStateIncoming25HandlePhoneEngineMessageLEii @ 182 NONAME
-	_ZN19CPhoneStateIncomingC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 183 NONAME
-	_ZN19CPhoneStateIncomingC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 184 NONAME
-	_ZN19CPhoneStateIncomingD0Ev @ 185 NONAME
-	_ZN19CPhoneStateIncomingD1Ev @ 186 NONAME
-	_ZN19CPhoneStateIncomingD2Ev @ 187 NONAME
-	_ZN20CPhoneStateCallSetup10ConstructLEv @ 188 NONAME
-	_ZN20CPhoneStateCallSetup10UpdateCbaLEi @ 189 NONAME
-	_ZN20CPhoneStateCallSetup14HandleCommandLEi @ 190 NONAME
-	_ZN20CPhoneStateCallSetup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 191 NONAME
-	_ZN20CPhoneStateCallSetup16UpdateInCallCbaLEv @ 192 NONAME
-	_ZN20CPhoneStateCallSetup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 193 NONAME
-	_ZN20CPhoneStateCallSetup25HandleNumberEntryClearedLEv @ 194 NONAME
-	_ZN20CPhoneStateCallSetup25HandlePhoneEngineMessageLEii @ 195 NONAME
-	_ZN20CPhoneStateCallSetupC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 196 NONAME
-	_ZN20CPhoneStateCallSetupC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 197 NONAME
-	_ZN20CPhoneStateCallSetupD0Ev @ 198 NONAME
-	_ZN20CPhoneStateCallSetupD1Ev @ 199 NONAME
-	_ZN20CPhoneStateCallSetupD2Ev @ 200 NONAME
-	_ZNK11CPhoneState11IsKeyLockOnEv @ 201 NONAME
-	_ZNK11CPhoneState12IsAutoLockOnEv @ 202 NONAME
-	_ZNK11CPhoneState14IsSwivelClosedEv @ 203 NONAME
-	_ZNK11CPhoneState17GetBlockedKeyListEv @ 204 NONAME
-	_ZNK11CPhoneState18TopAppIsDisplayedLEv @ 205 NONAME
-	_ZNK11CPhoneState23NeedToSendToBackgroundLEv @ 206 NONAME
-	_ZNK11CPhoneState26IsCustomizedDialerVisibleLEv @ 207 NONAME
-	_ZNK11CPhoneState8SimStateEv @ 208 NONAME
-	_ZTI11CPhoneState @ 209 NONAME
-	_ZTI15CPhoneStateIdle @ 210 NONAME
-	_ZTI17CPhoneStateHandle @ 211 NONAME
-	_ZTI17CPhoneStateInCall @ 212 NONAME
-	_ZTI18CPhoneStateMachine @ 213 NONAME
-	_ZTI18CPhoneStateStartup @ 214 NONAME
-	_ZTI18CPhoneUIController @ 215 NONAME
-	_ZTI19CPhoneStateIncoming @ 216 NONAME
-	_ZTI20CPhoneStateCallSetup @ 217 NONAME
-	_ZTI23CPhoneDtmfWaitCharTimer @ 218 NONAME
-	_ZTI24CPhoneSystemEventHandler @ 219 NONAME
-	_ZTI26CPhoneRemoteControlHandler @ 220 NONAME
-	_ZTI27CPhoneBtaaDisconnectHandler @ 221 NONAME
-	_ZTV11CPhoneState @ 222 NONAME
-	_ZTV15CPhoneStateIdle @ 223 NONAME
-	_ZTV17CPhoneStateHandle @ 224 NONAME
-	_ZTV17CPhoneStateInCall @ 225 NONAME
-	_ZTV18CPhoneStateMachine @ 226 NONAME
-	_ZTV18CPhoneStateStartup @ 227 NONAME
-	_ZTV18CPhoneUIController @ 228 NONAME
-	_ZTV19CPhoneStateIncoming @ 229 NONAME
-	_ZTV20CPhoneStateCallSetup @ 230 NONAME
-	_ZTV23CPhoneDtmfWaitCharTimer @ 231 NONAME
-	_ZTV24CPhoneSystemEventHandler @ 232 NONAME
-	_ZTV26CPhoneRemoteControlHandler @ 233 NONAME
-	_ZTV27CPhoneBtaaDisconnectHandler @ 234 NONAME
-	_ZThn12_N11CPhoneState18HandleSystemEventLERK8TWsEvent @ 235 NONAME
-	_ZThn12_N11CPhoneState19HandleCenRepChangeLERK4TUidj @ 236 NONAME
-	_ZThn12_N11CPhoneState19HandlePhoneStartupLEv @ 237 NONAME
-	_ZThn12_N11CPhoneState20HandleKeyLockEnabledEi @ 238 NONAME
-	_ZThn12_N11CPhoneState22HandleForegroundEventLEi @ 239 NONAME
-	_ZThn12_N11CPhoneState22HandlePropertyChangedLERK4TUidji @ 240 NONAME
-	_ZThn12_N11CPhoneState26HandleIdleForegroundEventLEv @ 241 NONAME
-	_ZThn12_N11CPhoneState26HandlePhoneFocusLostEventLEv @ 242 NONAME
-	_ZThn12_N11CPhoneState27HandlePhoneForegroundEventLEv @ 243 NONAME
-	_ZThn12_N11CPhoneStateD0Ev @ 244 NONAME
-	_ZThn12_N11CPhoneStateD1Ev @ 245 NONAME
-	_ZThn12_N15CPhoneStateIdle26HandleIdleForegroundEventLEv @ 246 NONAME
-	_ZThn12_N15CPhoneStateIdle26HandlePhoneFocusLostEventLEv @ 247 NONAME
-	_ZThn12_N15CPhoneStateIdle27HandlePhoneForegroundEventLEv @ 248 NONAME
-	_ZThn12_N15CPhoneStateIdleD0Ev @ 249 NONAME
-	_ZThn12_N15CPhoneStateIdleD1Ev @ 250 NONAME
-	_ZThn12_N17CPhoneStateInCallD0Ev @ 251 NONAME
-	_ZThn12_N17CPhoneStateInCallD1Ev @ 252 NONAME
-	_ZThn12_N18CPhoneStateStartup19HandlePhoneStartupLEv @ 253 NONAME
-	_ZThn12_N18CPhoneStateStartup26HandleIdleForegroundEventLEv @ 254 NONAME
-	_ZThn12_N18CPhoneStateStartupD0Ev @ 255 NONAME
-	_ZThn12_N18CPhoneStateStartupD1Ev @ 256 NONAME
-	_ZThn12_N18CPhoneUIController18HandleSystemEventLERK8TWsEvent @ 257 NONAME
-	_ZThn12_N18CPhoneUIController19HandlePhoneStartupLEv @ 258 NONAME
-	_ZThn12_N18CPhoneUIController20HandleKeyLockEnabledEi @ 259 NONAME
-	_ZThn12_N18CPhoneUIController22HandleForegroundEventLEi @ 260 NONAME
-	_ZThn12_N18CPhoneUIController26HandleIdleForegroundEventLEv @ 261 NONAME
-	_ZThn12_N18CPhoneUIController26HandlePhoneFocusLostEventLEv @ 262 NONAME
-	_ZThn12_N18CPhoneUIController27HandlePhoneForegroundEventLEv @ 263 NONAME
-	_ZThn12_N18CPhoneUIControllerD0Ev @ 264 NONAME
-	_ZThn12_N18CPhoneUIControllerD1Ev @ 265 NONAME
-	_ZThn12_N19CPhoneStateIncoming20HandleKeyLockEnabledEi @ 266 NONAME
-	_ZThn12_N19CPhoneStateIncomingD0Ev @ 267 NONAME
-	_ZThn12_N19CPhoneStateIncomingD1Ev @ 268 NONAME
-	_ZThn12_N20CPhoneStateCallSetupD0Ev @ 269 NONAME
-	_ZThn12_N20CPhoneStateCallSetupD1Ev @ 270 NONAME
-	_ZThn16_N11CPhoneState14HandleCommandLEi @ 271 NONAME
-	_ZThn16_N11CPhoneState15ProcessCommandLEi @ 272 NONAME
-	_ZThn16_N11CPhoneStateD0Ev @ 273 NONAME
-	_ZThn16_N11CPhoneStateD1Ev @ 274 NONAME
-	_ZThn16_N15CPhoneStateIdle14HandleCommandLEi @ 275 NONAME
-	_ZThn16_N15CPhoneStateIdle15ProcessCommandLEi @ 276 NONAME
-	_ZThn16_N15CPhoneStateIdleD0Ev @ 277 NONAME
-	_ZThn16_N15CPhoneStateIdleD1Ev @ 278 NONAME
-	_ZThn16_N17CPhoneStateInCall14HandleCommandLEi @ 279 NONAME
-	_ZThn16_N17CPhoneStateInCallD0Ev @ 280 NONAME
-	_ZThn16_N17CPhoneStateInCallD1Ev @ 281 NONAME
-	_ZThn16_N18CPhoneStateStartupD0Ev @ 282 NONAME
-	_ZThn16_N18CPhoneStateStartupD1Ev @ 283 NONAME
-	_ZThn16_N18CPhoneUIController14HandleCommandLEi @ 284 NONAME
-	_ZThn16_N18CPhoneUIController15ProcessCommandLEi @ 285 NONAME
-	_ZThn16_N18CPhoneUIControllerD0Ev @ 286 NONAME
-	_ZThn16_N18CPhoneUIControllerD1Ev @ 287 NONAME
-	_ZThn16_N19CPhoneStateIncoming14HandleCommandLEi @ 288 NONAME
-	_ZThn16_N19CPhoneStateIncomingD0Ev @ 289 NONAME
-	_ZThn16_N19CPhoneStateIncomingD1Ev @ 290 NONAME
-	_ZThn16_N20CPhoneStateCallSetup14HandleCommandLEi @ 291 NONAME
-	_ZThn16_N20CPhoneStateCallSetupD0Ev @ 292 NONAME
-	_ZThn16_N20CPhoneStateCallSetupD1Ev @ 293 NONAME
-	_ZThn20_N11CPhoneState20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 294 NONAME
-	_ZThn20_N11CPhoneStateD0Ev @ 295 NONAME
-	_ZThn20_N11CPhoneStateD1Ev @ 296 NONAME
-	_ZThn20_N15CPhoneStateIdle20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 297 NONAME
-	_ZThn20_N15CPhoneStateIdleD0Ev @ 298 NONAME
-	_ZThn20_N15CPhoneStateIdleD1Ev @ 299 NONAME
-	_ZThn20_N17CPhoneStateInCallD0Ev @ 300 NONAME
-	_ZThn20_N17CPhoneStateInCallD1Ev @ 301 NONAME
-	_ZThn20_N18CPhoneStateStartupD0Ev @ 302 NONAME
-	_ZThn20_N18CPhoneStateStartupD1Ev @ 303 NONAME
-	_ZThn20_N19CPhoneStateIncomingD0Ev @ 304 NONAME
-	_ZThn20_N19CPhoneStateIncomingD1Ev @ 305 NONAME
-	_ZThn20_N20CPhoneStateCallSetupD0Ev @ 306 NONAME
-	_ZThn20_N20CPhoneStateCallSetupD1Ev @ 307 NONAME
-	_ZThn24_N11CPhoneState19SetDivertIndicationEi @ 308 NONAME
-	_ZThn24_N11CPhoneStateD0Ev @ 309 NONAME
-	_ZThn24_N11CPhoneStateD1Ev @ 310 NONAME
-	_ZThn24_N15CPhoneStateIdleD0Ev @ 311 NONAME
-	_ZThn24_N15CPhoneStateIdleD1Ev @ 312 NONAME
-	_ZThn24_N17CPhoneStateInCallD0Ev @ 313 NONAME
-	_ZThn24_N17CPhoneStateInCallD1Ev @ 314 NONAME
-	_ZThn24_N18CPhoneStateStartupD0Ev @ 315 NONAME
-	_ZThn24_N18CPhoneStateStartupD1Ev @ 316 NONAME
-	_ZThn24_N19CPhoneStateIncomingD0Ev @ 317 NONAME
-	_ZThn24_N19CPhoneStateIncomingD1Ev @ 318 NONAME
-	_ZThn24_N20CPhoneStateCallSetupD0Ev @ 319 NONAME
-	_ZThn24_N20CPhoneStateCallSetupD1Ev @ 320 NONAME
-	_ZThn28_NK11CPhoneState17GetBlockedKeyListEv @ 321 NONAME
-	_ZThn32_N11CPhoneState25HandleNumberEntryClearedLEv @ 322 NONAME
-	_ZThn32_N15CPhoneStateIdle25HandleNumberEntryClearedLEv @ 323 NONAME
-	_ZThn32_N17CPhoneStateInCall25HandleNumberEntryClearedLEv @ 324 NONAME
-	_ZThn32_N19CPhoneStateIncoming25HandleNumberEntryClearedLEv @ 325 NONAME
-	_ZThn32_N20CPhoneStateCallSetup25HandleNumberEntryClearedLEv @ 326 NONAME
-	_ZThn36_NK11CPhoneState11IsKeyLockOnEv @ 327 NONAME
-	_ZThn36_NK11CPhoneState12IsAutoLockOnEv @ 328 NONAME
-	_ZThn4_N11CPhoneState12HandleErrorLERK12TPEErrorInfo @ 329 NONAME
-	_ZThn4_N11CPhoneState25HandlePhoneEngineMessageLEii @ 330 NONAME
-	_ZThn4_N11CPhoneStateD0Ev @ 331 NONAME
-	_ZThn4_N11CPhoneStateD1Ev @ 332 NONAME
-	_ZThn4_N15CPhoneStateIdle25HandlePhoneEngineMessageLEii @ 333 NONAME
-	_ZThn4_N15CPhoneStateIdleD0Ev @ 334 NONAME
-	_ZThn4_N15CPhoneStateIdleD1Ev @ 335 NONAME
-	_ZThn4_N17CPhoneStateInCall25HandlePhoneEngineMessageLEii @ 336 NONAME
-	_ZThn4_N17CPhoneStateInCallD0Ev @ 337 NONAME
-	_ZThn4_N17CPhoneStateInCallD1Ev @ 338 NONAME
-	_ZThn4_N18CPhoneStateMachine11ChangeStateEi @ 339 NONAME
-	_ZThn4_N18CPhoneStateMachine11PhoneEngineEv @ 340 NONAME
-	_ZThn4_N18CPhoneStateMachine12PhoneStorageEv @ 341 NONAME
-	_ZThn4_N18CPhoneStateMachine14SetPhoneEngineEP13MPEPhoneModel @ 342 NONAME
-	_ZThn4_N18CPhoneStateMachine15PhoneEngineInfoEv @ 343 NONAME
-	_ZThn4_N18CPhoneStateMachine18CreatePhoneEngineLER14MEngineMonitor @ 344 NONAME
-	_ZThn4_N18CPhoneStateMachine22SendPhoneEngineMessageEi @ 345 NONAME
-	_ZThn4_N18CPhoneStateMachine5StateEv @ 346 NONAME
-	_ZThn4_N18CPhoneStateMachine9SetCallIdEi @ 347 NONAME
-	_ZThn4_N18CPhoneStateMachineD0Ev @ 348 NONAME
-	_ZThn4_N18CPhoneStateMachineD1Ev @ 349 NONAME
-	_ZThn4_N18CPhoneStateStartup25HandlePhoneEngineMessageLEii @ 350 NONAME
-	_ZThn4_N18CPhoneStateStartupD0Ev @ 351 NONAME
-	_ZThn4_N18CPhoneStateStartupD1Ev @ 352 NONAME
-	_ZThn4_N18CPhoneUIController11HandleErrorERK12TPEErrorInfo @ 353 NONAME
-	_ZThn4_N18CPhoneUIController13HandleMessageEii @ 354 NONAME
-	_ZThn4_N19CPhoneStateIncoming25HandlePhoneEngineMessageLEii @ 355 NONAME
-	_ZThn4_N19CPhoneStateIncomingD0Ev @ 356 NONAME
-	_ZThn4_N19CPhoneStateIncomingD1Ev @ 357 NONAME
-	_ZThn4_N20CPhoneStateCallSetup25HandlePhoneEngineMessageLEii @ 358 NONAME
-	_ZThn4_N20CPhoneStateCallSetupD0Ev @ 359 NONAME
-	_ZThn4_N20CPhoneStateCallSetupD1Ev @ 360 NONAME
-	_ZThn8_N11CPhoneState15HandleKeyEventLERK9TKeyEvent10TEventCode @ 361 NONAME
-	_ZThn8_N11CPhoneState17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 362 NONAME
-	_ZThn8_N11CPhoneState18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 363 NONAME
-	_ZThn8_N11CPhoneState35IsAlphanumericSupportedAndCharInputERK9TKeyEvent @ 364 NONAME
-	_ZThn8_N11CPhoneStateD0Ev @ 365 NONAME
-	_ZThn8_N11CPhoneStateD1Ev @ 366 NONAME
-	_ZThn8_N15CPhoneStateIdle15HandleKeyEventLERK9TKeyEvent10TEventCode @ 367 NONAME
-	_ZThn8_N15CPhoneStateIdle17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 368 NONAME
-	_ZThn8_N15CPhoneStateIdleD0Ev @ 369 NONAME
-	_ZThn8_N15CPhoneStateIdleD1Ev @ 370 NONAME
-	_ZThn8_N17CPhoneStateInCall17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 371 NONAME
-	_ZThn8_N17CPhoneStateInCallD0Ev @ 372 NONAME
-	_ZThn8_N17CPhoneStateInCallD1Ev @ 373 NONAME
-	_ZThn8_N18CPhoneStateStartup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 374 NONAME
-	_ZThn8_N18CPhoneStateStartup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 375 NONAME
-	_ZThn8_N18CPhoneStateStartup18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 376 NONAME
-	_ZThn8_N18CPhoneStateStartupD0Ev @ 377 NONAME
-	_ZThn8_N18CPhoneStateStartupD1Ev @ 378 NONAME
-	_ZThn8_N18CPhoneUIController15HandleKeyEventLERK9TKeyEvent10TEventCode @ 379 NONAME
-	_ZThn8_N18CPhoneUIControllerD0Ev @ 380 NONAME
-	_ZThn8_N18CPhoneUIControllerD1Ev @ 381 NONAME
-	_ZThn8_N19CPhoneStateIncoming15HandleKeyEventLERK9TKeyEvent10TEventCode @ 382 NONAME
-	_ZThn8_N19CPhoneStateIncoming17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 383 NONAME
-	_ZThn8_N19CPhoneStateIncomingD0Ev @ 384 NONAME
-	_ZThn8_N19CPhoneStateIncomingD1Ev @ 385 NONAME
-	_ZThn8_N20CPhoneStateCallSetup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 386 NONAME
-	_ZThn8_N20CPhoneStateCallSetup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 387 NONAME
-	_ZThn8_N20CPhoneStateCallSetupD0Ev @ 388 NONAME
-	_ZThn8_N20CPhoneStateCallSetupD1Ev @ 389 NONAME
+	_ZN11CPhoneState14HandleCommandLEi @ 8 NONAME
+	_ZN11CPhoneState14ShowTextQueryLEiiiP6TDes16i @ 9 NONAME
+	_ZN11CPhoneState15BeginUiUpdateLCEv @ 10 NONAME
+	_ZN11CPhoneState15DisconnectCallLEv @ 11 NONAME
+	_ZN11CPhoneState15HandleKeyEventLERK9TKeyEvent10TEventCode @ 12 NONAME
+	_ZN11CPhoneState15ProcessCommandLEi @ 13 NONAME
+	_ZN11CPhoneState16SetDefaultFlagsLEv @ 14 NONAME
+	_ZN11CPhoneState16UpdateUiCommandsEv @ 15 NONAME
+	_ZN11CPhoneState17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 16 NONAME
+	_ZN11CPhoneState17SetHandsfreeModeLEi @ 17 NONAME
+	_ZN11CPhoneState18DisplayCallHeaderLEiNS_19TNumberEntrySetRuleE @ 18 NONAME
+	_ZN11CPhoneState18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 19 NONAME
+	_ZN11CPhoneState19DialMultimediaCallLEv @ 20 NONAME
+	_ZN11CPhoneState19HandlePhoneStartupLEv @ 21 NONAME
+	_ZN11CPhoneState19SendGlobalInfoNoteLEii @ 22 NONAME
+	_ZN11CPhoneState19SetBTHandsfreeModeLEi @ 23 NONAME
+	_ZN11CPhoneState19SetBackButtonActiveEi @ 24 NONAME
+	_ZN11CPhoneState19ShowNumberBusyNoteLEv @ 25 NONAME
+	_ZN11CPhoneState20DecreaseAudioVolumeLEv @ 26 NONAME
+	_ZN11CPhoneState20HandleDisconnectingLEi @ 27 NONAME
+	_ZN11CPhoneState20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 28 NONAME
+	_ZN11CPhoneState20IncreaseAudioVolumeLEv @ 29 NONAME
+	_ZN11CPhoneState20SendGlobalErrorNoteLEii @ 30 NONAME
+	_ZN11CPhoneState21UpdateRemoteInfoDataLEi @ 31 NONAME
+	_ZN11CPhoneState22DeleteTouchPaneButtonsEv @ 32 NONAME
+	_ZN11CPhoneState22HandlePropertyChangedLERK4TUidji @ 33 NONAME
+	_ZN11CPhoneState22SendGlobalWarningNoteLEii @ 34 NONAME
+	_ZN11CPhoneState22StartShowSecurityNoteLEv @ 35 NONAME
+	_ZN11CPhoneState23HandleAudioMuteChangedLEv @ 36 NONAME
+	_ZN11CPhoneState23SetRingingTonePlaybackLEi @ 37 NONAME
+	_ZN11CPhoneState23UpdateSingleActiveCallLEi @ 38 NONAME
+	_ZN11CPhoneState25HandleAudioOutputChangedLEv @ 39 NONAME
+	_ZN11CPhoneState25HandleNumberEntryClearedLEv @ 40 NONAME
+	_ZN11CPhoneState25HandlePhoneEngineMessageLEii @ 41 NONAME
+	_ZN11CPhoneState27DisplayCallTerminationNoteLEv @ 42 NONAME
+	_ZN11CPhoneState28OpenSoftRejectMessageEditorLEv @ 43 NONAME
+	_ZN11CPhoneState30CheckIfShowCallTerminationNoteEv @ 44 NONAME
+	_ZN11CPhoneState34SetToolbarButtonLoudspeakerEnabledEv @ 45 NONAME
+	_ZN11CPhoneState38RemoveDialogsAndSendPhoneToBackgroundLEv @ 46 NONAME
+	_ZN11CPhoneState43IsSimStateNotPresentWithSecurityModeEnabledEv @ 47 NONAME
+	_ZN11CPhoneState7IsSimOkEv @ 48 NONAME
+	_ZN11CPhoneState9ShowNoteLEi @ 49 NONAME
+	_ZN11CPhoneStateC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 50 NONAME
+	_ZN11CPhoneStateC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 51 NONAME
+	_ZN11CPhoneStateD0Ev @ 52 NONAME
+	_ZN11CPhoneStateD1Ev @ 53 NONAME
+	_ZN11CPhoneStateD2Ev @ 54 NONAME
+	_ZN15CPhoneStateIdle10ConstructLEv @ 55 NONAME
+	_ZN15CPhoneStateIdle14DialVoiceCallLEv @ 56 NONAME
+	_ZN15CPhoneStateIdle14HandleCommandLEi @ 57 NONAME
+	_ZN15CPhoneStateIdle14HandleDialingLEi @ 58 NONAME
+	_ZN15CPhoneStateIdle15HandleKeyEventLERK9TKeyEvent10TEventCode @ 59 NONAME
+	_ZN15CPhoneStateIdle15ProcessCommandLEi @ 60 NONAME
+	_ZN15CPhoneStateIdle17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 61 NONAME
+	_ZN15CPhoneStateIdle18HandleSendCommandLEv @ 62 NONAME
+	_ZN15CPhoneStateIdle19DialMultimediaCallLEv @ 63 NONAME
+	_ZN15CPhoneStateIdle20DisplayIncomingCallLEi @ 64 NONAME
+	_ZN15CPhoneStateIdle20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 65 NONAME
+	_ZN15CPhoneStateIdle25HandleNumberEntryClearedLEv @ 66 NONAME
+	_ZN15CPhoneStateIdle25HandlePhoneEngineMessageLEii @ 67 NONAME
+	_ZN15CPhoneStateIdle26HandleIdleForegroundEventLEv @ 68 NONAME
+	_ZN15CPhoneStateIdle26HandlePhoneFocusLostEventLEv @ 69 NONAME
+	_ZN15CPhoneStateIdle27HandlePhoneForegroundEventLEv @ 70 NONAME
+	_ZN15CPhoneStateIdle5DialLERK7TDesC16NS_16TPhoneNumberTypeENS_21TDialInitiationMethodE @ 71 NONAME
+	_ZN15CPhoneStateIdleC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 72 NONAME
+	_ZN15CPhoneStateIdleC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 73 NONAME
+	_ZN15CPhoneStateIdleD0Ev @ 74 NONAME
+	_ZN15CPhoneStateIdleD1Ev @ 75 NONAME
+	_ZN15CPhoneStateIdleD2Ev @ 76 NONAME
+	_ZN17CPhoneStateHandle12StateMachineEv @ 77 NONAME
+	_ZN17CPhoneStateHandle17ViewCommandHandleEv @ 78 NONAME
+	_ZN17CPhoneStateHandle8InstanceEv @ 79 NONAME
+	_ZN17CPhoneStateInCall10ConstructLEv @ 80 NONAME
+	_ZN17CPhoneStateInCall11HandleIdleLEi @ 81 NONAME
+	_ZN17CPhoneStateInCall14HandleCommandLEi @ 82 NONAME
+	_ZN17CPhoneStateInCall15GetRingingCallLEv @ 83 NONAME
+	_ZN17CPhoneStateInCall17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 84 NONAME
+	_ZN17CPhoneStateInCall18CallFetchedNumberLERK7TDesC16 @ 85 NONAME
+	_ZN17CPhoneStateInCall18IsVideoCallActiveLEv @ 86 NONAME
+	_ZN17CPhoneStateInCall19IsVideoCallRingingLEv @ 87 NONAME
+	_ZN17CPhoneStateInCall23DisconnectOutgoingCallLEv @ 88 NONAME
+	_ZN17CPhoneStateInCall25HandleNumberEntryClearedLEv @ 89 NONAME
+	_ZN17CPhoneStateInCall25HandlePhoneEngineMessageLEii @ 90 NONAME
+	_ZN17CPhoneStateInCallC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 91 NONAME
+	_ZN17CPhoneStateInCallC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 92 NONAME
+	_ZN17CPhoneStateInCallD0Ev @ 93 NONAME
+	_ZN17CPhoneStateInCallD1Ev @ 94 NONAME
+	_ZN17CPhoneStateInCallD2Ev @ 95 NONAME
+	_ZN18CPhoneStateMachine11ChangeStateEi @ 96 NONAME
+	_ZN18CPhoneStateMachine11PhoneEngineEv @ 97 NONAME
+	_ZN18CPhoneStateMachine12PhoneStorageEv @ 98 NONAME
+	_ZN18CPhoneStateMachine14SetPhoneEngineEP13MPEPhoneModel @ 99 NONAME
+	_ZN18CPhoneStateMachine15PhoneEngineInfoEv @ 100 NONAME
+	_ZN18CPhoneStateMachine18CreatePhoneEngineLER14MEngineMonitor @ 101 NONAME
+	_ZN18CPhoneStateMachine22SendPhoneEngineMessageEi @ 102 NONAME
+	_ZN18CPhoneStateMachine5StateEv @ 103 NONAME
+	_ZN18CPhoneStateMachine9SetCallIdEi @ 104 NONAME
+	_ZN18CPhoneStateMachineC1EP23MPhoneViewCommandHandle @ 105 NONAME
+	_ZN18CPhoneStateMachineC2EP23MPhoneViewCommandHandle @ 106 NONAME
+	_ZN18CPhoneStateMachineD0Ev @ 107 NONAME
+	_ZN18CPhoneStateMachineD1Ev @ 108 NONAME
+	_ZN18CPhoneStateMachineD2Ev @ 109 NONAME
+	_ZN18CPhoneStateStartup10ConstructLEv @ 110 NONAME
+	_ZN18CPhoneStateStartup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 111 NONAME
+	_ZN18CPhoneStateStartup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 112 NONAME
+	_ZN18CPhoneStateStartup18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 113 NONAME
+	_ZN18CPhoneStateStartup19HandlePhoneStartupLEv @ 114 NONAME
+	_ZN18CPhoneStateStartup25HandlePhoneEngineMessageLEii @ 115 NONAME
+	_ZN18CPhoneStateStartup26HandleIdleForegroundEventLEv @ 116 NONAME
+	_ZN18CPhoneStateStartup4NewLEP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 117 NONAME
+	_ZN18CPhoneStateStartupC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 118 NONAME
+	_ZN18CPhoneStateStartupC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 119 NONAME
+	_ZN18CPhoneStateStartupD0Ev @ 120 NONAME
+	_ZN18CPhoneStateStartupD1Ev @ 121 NONAME
+	_ZN18CPhoneStateStartupD2Ev @ 122 NONAME
+	_ZN18CPhoneUIController10EngineInfoEv @ 123 NONAME
+	_ZN18CPhoneUIController11HandleErrorERK12TPEErrorInfo @ 124 NONAME
+	_ZN18CPhoneUIController13HandleMessageEii @ 125 NONAME
+	_ZN18CPhoneUIController14HandleCommandLEi @ 126 NONAME
+	_ZN18CPhoneUIController15HandleKeyEventLERK9TKeyEvent10TEventCode @ 127 NONAME
+	_ZN18CPhoneUIController15ProcessCommandLEi @ 128 NONAME
+	_ZN18CPhoneUIController19HandlePhoneStartupLEv @ 129 NONAME
+	_ZN18CPhoneUIController4NewLEP23MPhoneViewCommandHandle @ 130 NONAME
+	_ZN18CPhoneUIControllerD0Ev @ 131 NONAME
+	_ZN18CPhoneUIControllerD1Ev @ 132 NONAME
+	_ZN18CPhoneUIControllerD2Ev @ 133 NONAME
+	_ZN19CPhoneStateIncoming10ConstructLEv @ 134 NONAME
+	_ZN19CPhoneStateIncoming14HandleCommandLEi @ 135 NONAME
+	_ZN19CPhoneStateIncoming15HandleKeyEventLERK9TKeyEvent10TEventCode @ 136 NONAME
+	_ZN19CPhoneStateIncoming17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 137 NONAME
+	_ZN19CPhoneStateIncoming23HandleAudioPlayStoppedLEv @ 138 NONAME
+	_ZN19CPhoneStateIncoming25HandleNumberEntryClearedLEv @ 139 NONAME
+	_ZN19CPhoneStateIncoming25HandlePhoneEngineMessageLEii @ 140 NONAME
+	_ZN19CPhoneStateIncomingC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 141 NONAME
+	_ZN19CPhoneStateIncomingC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 142 NONAME
+	_ZN19CPhoneStateIncomingD0Ev @ 143 NONAME
+	_ZN19CPhoneStateIncomingD1Ev @ 144 NONAME
+	_ZN19CPhoneStateIncomingD2Ev @ 145 NONAME
+	_ZN20CPhoneStateCallSetup10ConstructLEv @ 146 NONAME
+	_ZN20CPhoneStateCallSetup14HandleCommandLEi @ 147 NONAME
+	_ZN20CPhoneStateCallSetup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 148 NONAME
+	_ZN20CPhoneStateCallSetup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 149 NONAME
+	_ZN20CPhoneStateCallSetup25HandleNumberEntryClearedLEv @ 150 NONAME
+	_ZN20CPhoneStateCallSetup25HandlePhoneEngineMessageLEii @ 151 NONAME
+	_ZN20CPhoneStateCallSetupC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 152 NONAME
+	_ZN20CPhoneStateCallSetupC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 153 NONAME
+	_ZN20CPhoneStateCallSetupD0Ev @ 154 NONAME
+	_ZN20CPhoneStateCallSetupD1Ev @ 155 NONAME
+	_ZN20CPhoneStateCallSetupD2Ev @ 156 NONAME
+	_ZN24CPhoneNumberEntryManager20CallFromNumberEntryLEv @ 157 NONAME
+	_ZN24CPhoneNumberEntryManager24StoreNumberEntryContentLEv @ 158 NONAME
+	_ZN24CPhoneNumberEntryManager25SetNumberEntryVisibilityLEi @ 159 NONAME
+	_ZN24CPhoneNumberEntryManager26IsNumberEntryContentStoredEv @ 160 NONAME
+	_ZN24CPhoneNumberEntryManager28ClearNumberEntryContentCacheEv @ 161 NONAME
+	_ZN24CPhoneNumberEntryManager31SetVisibilityIfNumberEntryUsedLEi @ 162 NONAME
+	_ZN24CPhoneNumberEntryManager37RemoveNumberEntryIfVisibilityIsFalseLEv @ 163 NONAME
+	_ZN24CPhoneNumberEntryManager43ClearNumberEntryContentCacheIfContentStoredEv @ 164 NONAME
+	_ZNK11CPhoneState12IsAutoLockOnEv @ 165 NONAME
+	_ZNK11CPhoneState26IsCustomizedDialerVisibleLEv @ 166 NONAME
+	_ZNK11CPhoneState8EikonEnvEv @ 167 NONAME
+	_ZNK11CPhoneState8SimStateEv @ 168 NONAME
+	_ZNK18CPhoneStateMachine8EikonEnvEv @ 169 NONAME
+	_ZNK24CPhoneNumberEntryManager17NumberEntryClearLEv @ 170 NONAME
+	_ZNK24CPhoneNumberEntryManager18IsNumberEntryUsedLEv @ 171 NONAME
+	_ZNK24CPhoneNumberEntryManager21IsNumberEntryVisibleLEv @ 172 NONAME
+	_ZNK24CPhoneNumberEntryManager22PhoneNumberFromEntryLCEv @ 173 NONAME
+	_ZNK24CPhoneNumberEntryManager26IsCustomizedDialerVisibleLEv @ 174 NONAME
+	_ZTI11CPhoneState @ 175 NONAME
+	_ZTI15CPhoneStateIdle @ 176 NONAME
+	_ZTI17CPhoneStateHandle @ 177 NONAME
+	_ZTI17CPhoneStateInCall @ 178 NONAME
+	_ZTI18CPhoneStateMachine @ 179 NONAME
+	_ZTI18CPhoneStateStartup @ 180 NONAME
+	_ZTI18CPhoneUIController @ 181 NONAME
+	_ZTI19CPhoneStateIncoming @ 182 NONAME
+	_ZTI20CPhoneStateCallSetup @ 183 NONAME
+	_ZTI23CPhoneDtmfWaitCharTimer @ 184 NONAME
+	_ZTI24CPhoneSystemEventHandler @ 185 NONAME
+	_ZTI26CPhoneRemoteControlHandler @ 186 NONAME
+	_ZTI27CPhoneBtaaDisconnectHandler @ 187 NONAME
+	_ZTV11CPhoneState @ 188 NONAME
+	_ZTV15CPhoneStateIdle @ 189 NONAME
+	_ZTV17CPhoneStateHandle @ 190 NONAME
+	_ZTV17CPhoneStateInCall @ 191 NONAME
+	_ZTV18CPhoneStateMachine @ 192 NONAME
+	_ZTV18CPhoneStateStartup @ 193 NONAME
+	_ZTV18CPhoneUIController @ 194 NONAME
+	_ZTV19CPhoneStateIncoming @ 195 NONAME
+	_ZTV20CPhoneStateCallSetup @ 196 NONAME
+	_ZTV23CPhoneDtmfWaitCharTimer @ 197 NONAME
+	_ZTV24CPhoneSystemEventHandler @ 198 NONAME
+	_ZTV26CPhoneRemoteControlHandler @ 199 NONAME
+	_ZTV27CPhoneBtaaDisconnectHandler @ 200 NONAME
+	_ZThn12_N11CPhoneState19HandlePhoneStartupLEv @ 201 NONAME
+	_ZThn12_N11CPhoneState22HandlePropertyChangedLERK4TUidji @ 202 NONAME
+	_ZThn12_N11CPhoneStateD0Ev @ 203 NONAME
+	_ZThn12_N11CPhoneStateD1Ev @ 204 NONAME
+	_ZThn12_N15CPhoneStateIdleD0Ev @ 205 NONAME
+	_ZThn12_N15CPhoneStateIdleD1Ev @ 206 NONAME
+	_ZThn12_N17CPhoneStateInCallD0Ev @ 207 NONAME
+	_ZThn12_N17CPhoneStateInCallD1Ev @ 208 NONAME
+	_ZThn12_N18CPhoneStateStartup19HandlePhoneStartupLEv @ 209 NONAME
+	_ZThn12_N18CPhoneStateStartupD0Ev @ 210 NONAME
+	_ZThn12_N18CPhoneStateStartupD1Ev @ 211 NONAME
+	_ZThn12_N18CPhoneUIController19HandlePhoneStartupLEv @ 212 NONAME
+	_ZThn12_N18CPhoneUIControllerD0Ev @ 213 NONAME
+	_ZThn12_N18CPhoneUIControllerD1Ev @ 214 NONAME
+	_ZThn12_N19CPhoneStateIncomingD0Ev @ 215 NONAME
+	_ZThn12_N19CPhoneStateIncomingD1Ev @ 216 NONAME
+	_ZThn12_N20CPhoneStateCallSetupD0Ev @ 217 NONAME
+	_ZThn12_N20CPhoneStateCallSetupD1Ev @ 218 NONAME
+	_ZThn16_N11CPhoneState14HandleCommandLEi @ 219 NONAME
+	_ZThn16_N11CPhoneState15ProcessCommandLEi @ 220 NONAME
+	_ZThn16_N11CPhoneStateD0Ev @ 221 NONAME
+	_ZThn16_N11CPhoneStateD1Ev @ 222 NONAME
+	_ZThn16_N15CPhoneStateIdle14HandleCommandLEi @ 223 NONAME
+	_ZThn16_N15CPhoneStateIdle15ProcessCommandLEi @ 224 NONAME
+	_ZThn16_N15CPhoneStateIdleD0Ev @ 225 NONAME
+	_ZThn16_N15CPhoneStateIdleD1Ev @ 226 NONAME
+	_ZThn16_N17CPhoneStateInCall14HandleCommandLEi @ 227 NONAME
+	_ZThn16_N17CPhoneStateInCallD0Ev @ 228 NONAME
+	_ZThn16_N17CPhoneStateInCallD1Ev @ 229 NONAME
+	_ZThn16_N18CPhoneStateStartupD0Ev @ 230 NONAME
+	_ZThn16_N18CPhoneStateStartupD1Ev @ 231 NONAME
+	_ZThn16_N18CPhoneUIController14HandleCommandLEi @ 232 NONAME
+	_ZThn16_N18CPhoneUIController15ProcessCommandLEi @ 233 NONAME
+	_ZThn16_N18CPhoneUIControllerD0Ev @ 234 NONAME
+	_ZThn16_N18CPhoneUIControllerD1Ev @ 235 NONAME
+	_ZThn16_N19CPhoneStateIncoming14HandleCommandLEi @ 236 NONAME
+	_ZThn16_N19CPhoneStateIncomingD0Ev @ 237 NONAME
+	_ZThn16_N19CPhoneStateIncomingD1Ev @ 238 NONAME
+	_ZThn16_N20CPhoneStateCallSetup14HandleCommandLEi @ 239 NONAME
+	_ZThn16_N20CPhoneStateCallSetupD0Ev @ 240 NONAME
+	_ZThn16_N20CPhoneStateCallSetupD1Ev @ 241 NONAME
+	_ZThn20_N11CPhoneState20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 242 NONAME
+	_ZThn20_N11CPhoneStateD0Ev @ 243 NONAME
+	_ZThn20_N11CPhoneStateD1Ev @ 244 NONAME
+	_ZThn20_N15CPhoneStateIdle20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 245 NONAME
+	_ZThn20_N15CPhoneStateIdleD0Ev @ 246 NONAME
+	_ZThn20_N15CPhoneStateIdleD1Ev @ 247 NONAME
+	_ZThn20_N17CPhoneStateInCallD0Ev @ 248 NONAME
+	_ZThn20_N17CPhoneStateInCallD1Ev @ 249 NONAME
+	_ZThn20_N18CPhoneStateStartupD0Ev @ 250 NONAME
+	_ZThn20_N18CPhoneStateStartupD1Ev @ 251 NONAME
+	_ZThn20_N19CPhoneStateIncomingD0Ev @ 252 NONAME
+	_ZThn20_N19CPhoneStateIncomingD1Ev @ 253 NONAME
+	_ZThn20_N20CPhoneStateCallSetupD0Ev @ 254 NONAME
+	_ZThn20_N20CPhoneStateCallSetupD1Ev @ 255 NONAME
+	_ZThn24_N11CPhoneState25HandleNumberEntryClearedLEv @ 256 NONAME
+	_ZThn24_N15CPhoneStateIdle25HandleNumberEntryClearedLEv @ 257 NONAME
+	_ZThn24_N17CPhoneStateInCall25HandleNumberEntryClearedLEv @ 258 NONAME
+	_ZThn24_N19CPhoneStateIncoming25HandleNumberEntryClearedLEv @ 259 NONAME
+	_ZThn24_N20CPhoneStateCallSetup25HandleNumberEntryClearedLEv @ 260 NONAME
+	_ZThn28_NK11CPhoneState12IsAutoLockOnEv @ 261 NONAME
+	_ZThn32_N11CPhoneState11SetEikonEnvEP9CEikonEnv @ 262 NONAME
+	_ZThn4_N11CPhoneState12HandleErrorLERK12TPEErrorInfo @ 263 NONAME
+	_ZThn4_N11CPhoneState25HandlePhoneEngineMessageLEii @ 264 NONAME
+	_ZThn4_N11CPhoneStateD0Ev @ 265 NONAME
+	_ZThn4_N11CPhoneStateD1Ev @ 266 NONAME
+	_ZThn4_N15CPhoneStateIdle25HandlePhoneEngineMessageLEii @ 267 NONAME
+	_ZThn4_N15CPhoneStateIdleD0Ev @ 268 NONAME
+	_ZThn4_N15CPhoneStateIdleD1Ev @ 269 NONAME
+	_ZThn4_N17CPhoneStateInCall25HandlePhoneEngineMessageLEii @ 270 NONAME
+	_ZThn4_N17CPhoneStateInCallD0Ev @ 271 NONAME
+	_ZThn4_N17CPhoneStateInCallD1Ev @ 272 NONAME
+	_ZThn4_N18CPhoneStateMachine11ChangeStateEi @ 273 NONAME
+	_ZThn4_N18CPhoneStateMachine11PhoneEngineEv @ 274 NONAME
+	_ZThn4_N18CPhoneStateMachine12PhoneStorageEv @ 275 NONAME
+	_ZThn4_N18CPhoneStateMachine14SetPhoneEngineEP13MPEPhoneModel @ 276 NONAME
+	_ZThn4_N18CPhoneStateMachine15PhoneEngineInfoEv @ 277 NONAME
+	_ZThn4_N18CPhoneStateMachine18CreatePhoneEngineLER14MEngineMonitor @ 278 NONAME
+	_ZThn4_N18CPhoneStateMachine22SendPhoneEngineMessageEi @ 279 NONAME
+	_ZThn4_N18CPhoneStateMachine5StateEv @ 280 NONAME
+	_ZThn4_N18CPhoneStateMachine9SetCallIdEi @ 281 NONAME
+	_ZThn4_N18CPhoneStateMachineD0Ev @ 282 NONAME
+	_ZThn4_N18CPhoneStateMachineD1Ev @ 283 NONAME
+	_ZThn4_N18CPhoneStateStartup25HandlePhoneEngineMessageLEii @ 284 NONAME
+	_ZThn4_N18CPhoneStateStartupD0Ev @ 285 NONAME
+	_ZThn4_N18CPhoneStateStartupD1Ev @ 286 NONAME
+	_ZThn4_N18CPhoneUIController11HandleErrorERK12TPEErrorInfo @ 287 NONAME
+	_ZThn4_N18CPhoneUIController13HandleMessageEii @ 288 NONAME
+	_ZThn4_N19CPhoneStateIncoming25HandlePhoneEngineMessageLEii @ 289 NONAME
+	_ZThn4_N19CPhoneStateIncomingD0Ev @ 290 NONAME
+	_ZThn4_N19CPhoneStateIncomingD1Ev @ 291 NONAME
+	_ZThn4_N20CPhoneStateCallSetup25HandlePhoneEngineMessageLEii @ 292 NONAME
+	_ZThn4_N20CPhoneStateCallSetupD0Ev @ 293 NONAME
+	_ZThn4_N20CPhoneStateCallSetupD1Ev @ 294 NONAME
+	_ZThn8_N11CPhoneState15HandleKeyEventLERK9TKeyEvent10TEventCode @ 295 NONAME
+	_ZThn8_N11CPhoneState17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 296 NONAME
+	_ZThn8_N11CPhoneState18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 297 NONAME
+	_ZThn8_N11CPhoneStateD0Ev @ 298 NONAME
+	_ZThn8_N11CPhoneStateD1Ev @ 299 NONAME
+	_ZThn8_N15CPhoneStateIdle15HandleKeyEventLERK9TKeyEvent10TEventCode @ 300 NONAME
+	_ZThn8_N15CPhoneStateIdle17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 301 NONAME
+	_ZThn8_N15CPhoneStateIdleD0Ev @ 302 NONAME
+	_ZThn8_N15CPhoneStateIdleD1Ev @ 303 NONAME
+	_ZThn8_N17CPhoneStateInCall17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 304 NONAME
+	_ZThn8_N17CPhoneStateInCallD0Ev @ 305 NONAME
+	_ZThn8_N17CPhoneStateInCallD1Ev @ 306 NONAME
+	_ZThn8_N18CPhoneStateStartup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 307 NONAME
+	_ZThn8_N18CPhoneStateStartup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 308 NONAME
+	_ZThn8_N18CPhoneStateStartup18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 309 NONAME
+	_ZThn8_N18CPhoneStateStartupD0Ev @ 310 NONAME
+	_ZThn8_N18CPhoneStateStartupD1Ev @ 311 NONAME
+	_ZThn8_N18CPhoneUIController15HandleKeyEventLERK9TKeyEvent10TEventCode @ 312 NONAME
+	_ZThn8_N18CPhoneUIControllerD0Ev @ 313 NONAME
+	_ZThn8_N18CPhoneUIControllerD1Ev @ 314 NONAME
+	_ZThn8_N19CPhoneStateIncoming15HandleKeyEventLERK9TKeyEvent10TEventCode @ 315 NONAME
+	_ZThn8_N19CPhoneStateIncoming17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 316 NONAME
+	_ZThn8_N19CPhoneStateIncomingD0Ev @ 317 NONAME
+	_ZThn8_N19CPhoneStateIncomingD1Ev @ 318 NONAME
+	_ZThn8_N20CPhoneStateCallSetup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 319 NONAME
+	_ZThn8_N20CPhoneStateCallSetup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 320 NONAME
+	_ZThn8_N20CPhoneStateCallSetupD0Ev @ 321 NONAME
+	_ZThn8_N20CPhoneStateCallSetupD1Ev @ 322 NONAME
 
--- a/phoneapp/phoneuicontrol/group/bld.inf	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuicontrol/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -26,7 +26,7 @@
 PRJ_EXPORTS
 
 // Stub SIS files:
-../group/phoneuicontrol_stub.sis                /epoc32/data/z/system/install/phoneuicontrol_stub.sis
+../rom/phoneuicontrol_stub.sis                /epoc32/data/z/system/install/phoneuicontrol_stub.sis
 
 PRJ_MMPFILES
 phoneuicontrol.mmp
--- a/phoneapp/phoneuicontrol/group/phoneuicontrol.mmp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuicontrol/group/phoneuicontrol.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -24,6 +24,8 @@
 // Assign Vendor ID.
 VENDORID VID_DEFAULT
 
+VERSION 10.0
+
 TARGET          phoneuicontrol.dll
 TARGETTYPE      dll
 UID             0x1000008d  0x101F4D0C
@@ -44,10 +46,8 @@
 SOURCE          cphonesystemeventhandler.cpp
 SOURCE          cphoneuicontroller.cpp
 SOURCE          cphoneaccessorybthandler.cpp
-SOURCE          tphonecallheaderparam.cpp
-SOURCE          cphonecallheadermanager.cpp 
 SOURCE          cphonenumberentrymanager.cpp
-SOURCE          cphonecbamanager.cpp 
+SOURCE          cphoneuicommandmanager.cpp 
 
 /* Languages */
 LANG SC
@@ -74,7 +74,6 @@
 LIBRARY         phonestringloader.lib
 LIBRARY         featmgr.lib // FeatureManager
 LIBRARY         connmon.lib // RConnectionMonitor
-LIBRARY         avkon.lib // AknTextUtils
 LIBRARY         hal.lib
 
 // RemCon
@@ -96,3 +95,6 @@
 LIBRARY         starterclient.lib
 
 LIBRARY         phonemediatorcenter.lib
+
+
+SMPSAFE
--- a/phoneapp/phoneuicontrol/group/phoneuicontrol_stub.pkg	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +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: For packing phoneuicontrol component.
-;
-; Languages
-&EN
-
-; Header
-#{"PhoneUIControl"}, (0x101F4D0C), 1, 0, 0, TYPE=SA
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Files
-;
-;  PhoneUIControl
-;
-"" - "z:\sys\bin\PhoneUIControl.dll"
Binary file phoneapp/phoneuicontrol/group/phoneuicontrol_stub.sis has changed
--- a/phoneapp/phoneuicontrol/inc/cphonecallheadermanager.h	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,178 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Bubble manager wrapper.
-*
-*/
-
-
-#ifndef CPHONECALLHEADERMANAGER_H
-#define CPHONECALLHEADERMANAGER_H
-
-//INCLUDES
-#include <e32base.h>
-#include "mphonecallheadermanagerutility.h"
-#include "mphonestatemachine.h"
-#include "mphoneviewcommandhandle.h"
-#include "mphonecustomization.h"
-
-class TPhoneCmdParamCallHeaderData;
-class TPhoneCallHeaderParam;
-
-/**
- * Class contains helper functions for bubble manager.
- *
- * @lib phoneuicontrol
- * @since S60 v9.1
- */
-NONSHARABLE_CLASS( CPhoneCallHeaderManager ) :  public CBase,
-                                                public MPhoneCallHeaderManagerUtility
-    {
-    public:
-        
-        /**
-        * Creates new instance of CPhoneCallHeaderManager
-        * @param aStateMachine: a state machine
-        * @param aViewCommandHandle: handle to the PhoneUIView
-        * @param aCustomization: handle to customization.
-        * @return CPhoneCallHeaderManager* object  
-        */
-        static CPhoneCallHeaderManager* NewL(
-                    MPhoneViewCommandHandle& aViewCommandHandle,
-                    MPhoneStateMachine& aStateMachine,
-                    MPhoneCustomization* aCustomization );
-        /**
-        * Destructor.
-        */
-        virtual ~CPhoneCallHeaderManager();
-        
-    public:
-        
-        /**
-        * Returns updated remote information data.
-        * @param aCallId - Call Id.
-        */
-        TPhoneCmdParamCallHeaderData UpdateCallHeaderInfoL( 
-                const TInt aCallId );
-        
-        void GetRemoteInfoDataL(  const TInt aCallId, TDes& aData ) const;
-       
-        /**
-        * Display call header for call coming in ( the remote info data 
-        * and picture is displayed immediately )
-        * @param aCallid call id
-        * @param aWaitingCall waiting call indication
-        */
-        void DisplayHeaderForCallComingInL(
-                const TInt aCallId, 
-                const TBool aWaitingCall );
-       
-        /**
-        * Display call header for outgoing call (the phone number is initially
-        * displayed)
-        * @param aCallid call id
-        */
-        void DisplayHeaderForOutgoingCallL(
-                const TInt aCallId );
-
-        /**
-        * Sets the call header type used in the call bubble.
-        * @param aCallHeaderType, call header type.
-        */
-        void SetCallHeaderType( 
-                TInt aCallHeaderType );
-        
-        /**
-        * Returns the set call header type.
-        */
-        TInt CallHeaderType() const;
-                
-        /**
-        * Sets divert indication to call header if necessary
-        * @param aCallId - Call Id.
-        * @param aCallHeaderData - Call header where indication will be set
-        *                          if needed.
-        */
-        void SetDivertIndication( const TBool aDivertIndication );
-        
-        /**
-        * Checks if call is waiting, returns ETrue if call is waiting
-        * otherwise EFalse.
-        * @param aCallId, call id.
-        */
-        TBool IsWaitingCallL( const TInt aCallId ) const;
-        
-        /**
-        * Checks if call is video, returns ETrue if call is video
-        * otherwise EFalse.
-        * @param aCallId, call id.
-        */
-        TBool IsVideoCall( const TInt aCallId ) const;
- 
-        /**
-        * Sets texts to call header
-        * @param aCallId - Call Id.
-        * @param aWaitingCall waiting call indication
-        * @param aCallHeaderData - Call header where indication will be set
-        *                          if needed.
-        */         
-        void SetCallHeaderTextsForCallComingIn(
-                const TInt aCallId, 
-                const TBool aWaitingCall,
-                TPhoneCmdParamCallHeaderData* aCallHeaderData );
-        
-    public:  // Functions from base class
-
-        /**
-        * @see MPhoneBubbleManagerUtility.
-        */
-        void LoadCallHeaderTexts(
-            const TInt aLabelId, 
-            const TInt aShortLabelId,
-            TPhoneCmdParamCallHeaderData* aCallHeaderData ); 
-        
-        /**
-        * @see MPhoneBubbleManagerUtility.
-        */
-        MPhoneCustomization* Customization(){ return iCustomization; }
-        
-        /**
-        * @see MPhoneBubbleManagerUtility.
-        */
-        void LoadResource( TDes& aData, const TInt aResource );
-        
-    private:
-    
-        /**
-        * C++ default constructor.
-        */
-        CPhoneCallHeaderManager(
-                MPhoneViewCommandHandle& aViewCommandHandle,
-                MPhoneStateMachine& aStateMachine,
-                MPhoneCustomization* aCustomization );
-        
-        /**
-        * Symbian constructor
-        */
-        void ConstructL();
-        
-    private:
-        
-        MPhoneViewCommandHandle& iViewCommandHandle;
-        MPhoneStateMachine& iStateMachine;
-        MPhoneCustomization* iCustomization;
-        TPhoneCallHeaderParam* iCallHeaderParam;
-    };
-
-
-#endif // CPHONECALLHEADERMANAGER_H
--- a/phoneapp/phoneuicontrol/inc/cphonecbamanager.h	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,150 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Class takes care of CBA's.
-*
-*/
-
-
-#ifndef CPHONECBAMANAGER_H
-#define CPHONECBAMANAGER_H
-
-//INCLUDES
-#include <e32base.h>
-
-//FORWARD
-class MPhoneViewCommandHandle;
-class MPhoneStateMachine;
-class CPhoneState;
-
-/**
- * Class takes care of CBA's.
- *
- * @lib phoneuicontrol
- * @since S60 v9.1
- */
-NONSHARABLE_CLASS( CPhoneCbaManager ) :  public CBase
-    {
-    public:
-        
-        /**
-        * Creates new instance of CPhoneCbaManager
-        * @param aStateMachine: a state machine
-        * @param aViewCommandHandle: handle to the PhoneUIView
-        * @return CPhoneCbaManager* object  
-        */
-        static CPhoneCbaManager* NewL(
-                    CPhoneState* aState,
-                    MPhoneViewCommandHandle& aViewCommandHandle,
-                    MPhoneStateMachine& aStateMachine );
-        /**
-        * Destructor.
-        */
-        virtual ~CPhoneCbaManager();
-        
-    public:
-
-        /**
-        * Update CBA
-        */
-        IMPORT_C void UpdateCbaL( TInt aResource );
-
-        /**
-        * Set CBA
-        */
-        IMPORT_C void SetCbaL( TInt aResource );
-        
-        /**
-        * Update incoming CBAs
-        */
-        IMPORT_C void UpdateIncomingCbaL( TInt aCallId );
-        
-    public:
-        
-        /**
-        * Update In Call CBA
-        */ 
-        void UpdateInCallCbaL();
-        
-        /**
-        * Sets the ringtone silenced status
-        * @param aSilenceStatus, new status
-        */
-        void SetRingtoneSilencedStatus( const TBool aSilenceStatus );
-        
-        /**
-        * Sets the soft reject status
-        * @param aSoftRejectStatus, new status
-        */
-        void SetSoftRejectStatus( TBool aSoftRejectStatus );
-        
-        /**
-        * Returns the soft reject status
-        * @return Soft reject status
-        */
-        TBool SoftRejectStatus();
-        
-    private:
-        
-        /*
-        * Updated Cba when Swivel state changes.
-        */
-        void UpdateCbaSwivelStateChangedL();
-        
-        /**
-        * Check is alerting or active voice call
-        */
-        TBool IsVoiceCallAlertingOrActiveL();
-        
-        /**
-        * Get silence cba resource when incomng call
-        * @param aSoftRejectActivated Is soft reject activated or not
-        * @return Resource id of CBA
-        */
-        TInt GetIncomingCallSilenceCBA( const TBool aSoftRejectActivated ); 
-
-        /**
-        * Sets soft reject flag
-        */
-        void SetSoftRejectDimmedFlag();
-        
-    private:
-    
-        /**
-        * C++ default constructor.
-        */
-        CPhoneCbaManager(
-                CPhoneState* aState,
-                MPhoneViewCommandHandle& aViewCommandHandle,
-                MPhoneStateMachine& aStateMachine );
-        
-    private:
-        
-        // Not owned:
-        CPhoneState* iState;
-        MPhoneViewCommandHandle& iViewCommandHandle;
-        MPhoneStateMachine& iStateMachine;
-        
-        // RingtoneSilenced flag.
-        // This is used to determine if the ringtone
-        // for incoming call is silenced. The information
-        // is used while updating softkeys in method
-        // UpdateIncomingCbaL only
-        TBool iRingtoneSilenced;
-        
-        // Soft reject status flag
-        TBool iSoftRejectStatus;
-    };
-
-
-#endif // CPHONECBAMANAGER_H
--- a/phoneapp/phoneuicontrol/inc/cphonenumberentrymanager.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuicontrol/inc/cphonenumberentrymanager.h	Mon Oct 04 00:16:48 2010 +0300
@@ -21,12 +21,10 @@
 
 //INCLUDES
 #include <e32base.h>
-
-#include "cphonestate.h"
 #include "tphonecmdparamboolean.h"
 #include "tphonecmdparamkeyevent.h"
 
-class CPhoneCbaManager;
+class CPhoneUiCommandManager;
 class MPhoneViewCommandHandle;
 class MPhoneStateMachine;
 class MPhoneCustomization;
@@ -40,7 +38,6 @@
  * @since S60 v9.1
  */
 NONSHARABLE_CLASS( CPhoneNumberEntryManager ) :  public CBase
-                                             
     {
     public:
         
@@ -50,7 +47,7 @@
         * @param aStateMachine: a state machine
         * @param aViewCommandHandle: Handle to the PhoneUIView.
         * @param aCustomization: Handle to customization.
-        * @param aCbaManager: Handle to cphonecbamanager.
+        * @param aUiCommandManager: Handle to cphoneuicommandmanager.
         * @return CPhoneNumberEntryManager* object  
         */
         static CPhoneNumberEntryManager* NewL(
@@ -58,7 +55,7 @@
                     MPhoneViewCommandHandle& aViewCommandHandle,
                     MPhoneStateMachine& aStateMachine,
                     MPhoneCustomization* aCustomization,
-                    CPhoneCbaManager& aCbaManager );
+                    CPhoneUiCommandManager& aUiCommandManager );
         /**
         * Destructor.
         */
@@ -69,7 +66,7 @@
         /**
         * Stores the number entry content to the cache
         */
-        void StoreNumberEntryContentL();
+        IMPORT_C void StoreNumberEntryContentL();
         
 
         /**
@@ -77,12 +74,12 @@
         * @param None
         * @return boolean value indicating that number entry content is stored
         */
-        TBool IsNumberEntryContentStored();
+        IMPORT_C TBool IsNumberEntryContentStored();
         
         /**
         * Clears the number entry content cache
         */        
-        void ClearNumberEntryContentCache();
+        IMPORT_C void ClearNumberEntryContentCache();
         
         /**
         * Set Number Entry visibility.
@@ -91,53 +88,60 @@
         *                 EFalse if numberentry isnt wanted to be shown
         *                 (Note EFalse doesnt affect to CBA's)
         */
-        void SetNumberEntryVisibilityL( TPhoneCmdParamBoolean aVisible );
+        IMPORT_C void SetNumberEntryVisibilityL( TBool aVisible );
         
         /**
         * Check if number entry is used
         * @return boolean value indicating that number entry is used
         */
-        TBool IsNumberEntryUsedL() const;
+        IMPORT_C TBool IsNumberEntryUsedL() const;
         
         /**
         * Check if number entry is visible
         * @return boolean value indicating that number entry is visible
         */
-        TBool IsNumberEntryVisibleL() const;
+        IMPORT_C TBool IsNumberEntryVisibleL() const;
         
         /**
          * Returns phone number from the phone number entry.
          * @return  Phone number
          */
-        HBufC* PhoneNumberFromEntryLC() const;
-        
-        
-        /**
-        * Returns ETrue if alphanumeric characters are supported.
-        * @param aKeyEvent Key event.
-        * @return ETrue if alphanumeric chars are supported.
-        */
-        TBool IsAlphanumericSupportedAndCharInput(
-                const TKeyEvent& aKeyEvent ) const;
-        
-        /**
-        * Handle state-specific behaviour when number entry is cleared
-        */
-        void HandleNumberEntryClearedL();
+        IMPORT_C HBufC* PhoneNumberFromEntryLC() const;
         
         /**
          * Internal number entry handling methods.
          */
-        void NumberEntryClearL() const;
+        IMPORT_C void NumberEntryClearL() const;
         
-    private:
+        /**
+         * Returns request status, if return value is true then number
+         * entry visibility was set according to aVisibility if false
+         * then nothing was done.
+         */
+        IMPORT_C TBool SetVisibilityIfNumberEntryUsedL( TBool aVisibility );
+        
+        /**
+         * Request causes number entry removal only if visibility is false.
+         */
+        IMPORT_C void RemoveNumberEntryIfVisibilityIsFalseL();
         
         /**
-        * Checks is given key contains numeric charaters or if customization is used
-        * alphanumeir letters
+         * Cache is cleared if there is some content in store.
+         */
+        IMPORT_C void ClearNumberEntryContentCacheIfContentStored();
+        
+        /**
+        * Create call if in numberentry more that 2 number and Send key
+        * Send manual control sequence
+        * if 1-2 number in numberentry and Send key
         */
-        TBool IsValidAlphaNumericKey( const TKeyEvent& aKeyEvent,
-                TEventCode aEventCode );
+        IMPORT_C void CallFromNumberEntryL();
+        
+        /**
+        * Checks whether customized dialer view is active,
+        * @return ETrue if customized dialer is active
+        */
+        IMPORT_C TBool IsCustomizedDialerVisibleL() const;
     
     private:
     
@@ -149,7 +153,7 @@
                 MPhoneViewCommandHandle& aViewCommandHandle,
                 MPhoneStateMachine& aStateMachine,
                 MPhoneCustomization* aCustomization,
-                CPhoneCbaManager& aCbaManager );
+                CPhoneUiCommandManager& aUiCommandManager );
         
         /**
         * Symbian constructor
@@ -162,8 +166,7 @@
         MPhoneViewCommandHandle& iViewCommandHandle;
         MPhoneStateMachine& iStateMachine;
         MPhoneCustomization* iCustomization;
-        CPhoneCbaManager& iCbaManager;
-        
+        CPhoneUiCommandManager& iUiCommandManager;
                 
         /**
         * Cache for the number entry content
--- a/phoneapp/phoneuicontrol/inc/cphonestate.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuicontrol/inc/cphonestate.h	Mon Oct 04 00:16:48 2010 +0300
@@ -22,27 +22,19 @@
 
 // INCLUDES
 #include <w32std.h>
+#include <eikenv.h>
 #include <remconcoreapitargetobserver.h>
 #include <MProfileEngine.h>
 #include "mphonestate.h"
 #include "mphoneviewcommandhandle.h"
-#include "cphonecbamanager.h"
+#include "cphoneuicommandmanager.h"
+#include "cphonenumberentrymanager.h"
 
 // FORWARD DECLARATIONS
 class MPhoneState;
 class MPhoneStateMachine;
-class CPhoneCallHeaderManager;
 class TPhoneCmdParamCallHeaderData;
 class MPhoneCustomization;
-class CPhoneNumberEntryManager;
-
-enum TStateTransEffectType
-    {
-    ENoneType,
-    ENumberEntryOpen,
-    ENumberEntryClose,
-    ENumberEntryCreate
-    };
 
 // CLASS DECLARATION
 
@@ -55,7 +47,12 @@
     public MPhoneState
     {
     public:
-
+        
+        enum TNumberEntrySetRule
+            {
+            ESetNEVisibilityFalse,
+            ECheckIfNEUsedBeforeSettingVisibilityFalse
+            };
         /**
         * Constructor
         */
@@ -65,7 +62,7 @@
             MPhoneCustomization* aCustomization);
 
         /**
-        * Creates CbaManager instance.
+        * Creates UiCommandManager instance.
         */
         IMPORT_C void BaseConstructL();
 
@@ -111,38 +108,6 @@
             TEventCode aEventCode );
 
         /**
-        * From CEikAppUi. For Idle indicator
-        */
-        IMPORT_C virtual void HandleSystemEventL(
-            const TWsEvent& aEvent );
-
-        /**
-        * From CAknAppUi, indicates when app ui is on the foreground.
-        * @param aForeground It is true if app is on the foreground.
-        */
-        IMPORT_C virtual void HandleForegroundEventL( TBool aForeground );
-
-        /**
-        * Indicates when the Phone app is in the foreground.
-        */
-        IMPORT_C virtual void HandlePhoneForegroundEventL();
-
-        /**
-        * Indicates when the Phone app is losing focus.
-        */
-        IMPORT_C virtual void HandlePhoneFocusLostEventL();
-
-        /**
-        * Indicates when the Idle app is in the foreground.
-        */
-        IMPORT_C virtual void HandleIdleForegroundEventL();
-
-        /**
-        * Indicates when the keylock events
-        */
-        IMPORT_C virtual void HandleKeyLockEnabled( TBool aKeylockEnabled );
-
-        /**
         * Handles startup of the phone application
         */
         IMPORT_C virtual void HandlePhoneStartupL();
@@ -159,15 +124,6 @@
             const TInt aValue );
 
         /**
-        * Handle the change of the setting from Central Repository
-        * @param aUid identifing the central repository UID.
-        * @param aId central repository ID.
-        */
-        IMPORT_C virtual void HandleCenRepChangeL(
-            const TUid& aUid,
-            const TUint aId );
-
-        /**
         * Handles commands.
         * @param aCommand It is the code of the command to be handled.
         * @returns boolean value was the command handled by the state
@@ -194,21 +150,6 @@
             TRemConCoreApiButtonAction aButtonAct);
 
         /**
-        * Setter for divert indication showing in bubble.
-        * @param aDivertIndication ETrue to show divert indication,
-        *          EFalse to not. Usually setting EFalse isn't necessary
-        *         as it's a default value in bubble creation.
-        */
-        IMPORT_C virtual void SetDivertIndication(
-            const TBool aDivertIndication );
-
-        /**
-        * Checks whether customized dialer view is active,
-        * @return ETrue if customized dialer is active
-        */
-        IMPORT_C TBool IsCustomizedDialerVisibleL() const;
-
-        /**
          * Plays DTMF tone for key event
          * */
         IMPORT_C void HandleDtmfKeyToneL( const TKeyEvent& aKeyEvent,
@@ -233,42 +174,6 @@
                 TBool aNotificationDialog = EFalse );
 
         /**
-         * Get blocked key list
-         * @returns RArray<TInt>& lsit of blocked keys 
-         */
-        IMPORT_C const RArray<TInt>& GetBlockedKeyList() const;
-
-        /**
-         * Disable HW Keys if needed
-         */
-        IMPORT_C void DisableHWKeysL();
-
-        /**
-         * Disable Call UI
-         */
-        IMPORT_C void DisableCallUIL();
-
-        /**
-         * Enable Call UI
-         */
-        IMPORT_C void EnableCallUIL();
-
-        /**
-         * Disable HW Keys and Call UI if needed
-         */
-        IMPORT_C void CheckDisableHWKeysAndCallUIL();
-
-        /**
-         * Handle hold switch key event when there is an incoming or waiting call
-         */
-        IMPORT_C void HandleHoldSwitchL();
-        
-        /**
-         * Enable HW Keys and Call UI if needed
-         */
-        IMPORT_C void CheckEnableHWKeysAndCallUIL();
-        
-        /**
         * Fetches autolock information - is it set on or not
         * @return is autolock set on (ETrue) or off (EFalse)
         */
@@ -279,43 +184,46 @@
         * @return ETrue if is sim ok, otherwise EFalse
         **/
         IMPORT_C TBool IsSimOk();
-
-        /**
-        * Checks Svivel state.
-        * @return ETrue if swivel is closed.
-        */
-        IMPORT_C TBool IsSwivelClosed() const;
-
-        /**
-        * Check if note, query or blockingDialog is visible
-        * @return boolean value indicating that note, query or
-        * blocking dialog is visible
-        */
-        IMPORT_C TBool IsAnyQueryActiveL();
-
-        /*
-        * If KFeatureIdFfSimlessOfflineSupport is undefined and
-        * UI shows note which will be closed by key event then
-        * method return ETrue otherwise EFalse.
-        */
-        TBool IsNoteDismissableL();
-
-        IMPORT_C void RetainPreviousKeylockStateL();
-        
-    public: // NumberEntry functions.
-
-        /**
-        * Check if number entry is used
-        * @return boolean value indicating that number entry is used
-        */
-        IMPORT_C virtual TBool IsNumberEntryUsedL();
-
-        /**
-        * Check if number entry is visible
-        * @return boolean value indicating that number entry is visible
-        */
-        IMPORT_C TBool IsNumberEntryVisibleL();
-
+          
+         /**
+         * Getter for CEikonEnv to avoid use of static system calls
+         * @return CEikonEnv handle
+         */
+         IMPORT_C CEikonEnv* EikonEnv() const;
+         
+         /**
+         * Setter for CEikonEnv to avoid use of static system calls
+         * @param CEikonEnv handle
+         */
+         IMPORT_C virtual void SetEikonEnv( CEikonEnv* aEnv );
+         
+         /**
+         * Dial CS voice call
+         */
+         IMPORT_C void DialVoiceCallL();
+         
+         /**
+         * Checks whether customized dialer view is active,
+         * @return ETrue if customized dialer is active
+         */
+         IMPORT_C TBool IsCustomizedDialerVisibleL() const;
+         
+         /**
+         * Handle state-specific behaviour when number entry is cleared
+         */
+         IMPORT_C virtual void HandleNumberEntryClearedL();
+         
+         /**
+         * Sets up call header.(removes phone dialogs, 
+         * sets dialer visibility according to aRule value and puts 
+         * phone on top of everything). Orders UiCommand manager to
+         * update CBS's etc.
+         * @param aCallId - call id to set up
+         * @param aRule - Number Entry visibility set option.
+         */ 
+          IMPORT_C void DisplayCallHeaderL( 
+                  TInt aCallId,
+                  TNumberEntrySetRule aRule );
     protected:
 
         /**
@@ -344,55 +252,16 @@
         IMPORT_C void DialMultimediaCallL();
 
         /**
-        * Dial CS voice call
-        */
-        IMPORT_C void DialVoiceCallL();
-
-        /**
         * Disconnect call
         */
         IMPORT_C TBool DisconnectCallL();
 
         /**
-        * Display idle screen
-        */
-        IMPORT_C void DisplayIdleScreenL();
-
-        /**
         * Set up the Idle screen in the background for the cases
         * where the phone is no longer the top application (eg. end
         * call when an external app is being displayed)
         */
-        IMPORT_C void SetupIdleScreenInBackgroundL();
-
-        /**
-        * Display call header for call coming in ( the remote info data
-        * and picture is displayed immediately )
-        * @param aCallid call id
-        * @param aWaitingCall waiting call indication
-        */
-        IMPORT_C void DisplayHeaderForCallComingInL(
-            TInt aCallId,
-            TInt aWaitingCall );
-
-        /**
-        * Sets call header texts for call coming in
-        * @param aCallid call id
-        * @param aWaitingCall waiting call indication
-        * @param aCallHeaderData - Call header parameter into which the text
-        *                          will be set.
-        */
-        IMPORT_C void SetCallHeaderTextsForCallComingInL(
-            TInt aCallId,
-            TBool aWaitingCall,
-            TPhoneCmdParamCallHeaderData* aCallHeaderData );
-
-        /**
-        * Display call header for outgoing call (the phone number is initially
-        * displayed)
-        * @param aCallid call id
-        */
-        IMPORT_C void DisplayHeaderForOutgoingCallL( TInt aCallId );
+        IMPORT_C void RemoveDialogsAndSendPhoneToBackgroundL();
 
         /**
         * Update Single Active Call
@@ -407,13 +276,6 @@
         IMPORT_C void UpdateRemoteInfoDataL( TInt aCallId );
 
         /**
-        * Return remote info data
-        * @param aCallid call id
-        * @param aData the returned remote info data
-        */
-        IMPORT_C void GetRemoteInfoDataL( TInt aCallId, TDes& aData );
-
-        /**
         * Show note
         * @param aResourceId resource id to be resolved
         */
@@ -439,19 +301,6 @@
             TInt aContentCbaResourceId,
             TDes* aDataText,
             TBool aSendKeyEnabled = EFalse );
-        
-        /**
-        * Check if the application needs to be sent to the background
-        * @return boolean value indicating that application needs to be
-        *  sent to the background
-        */
-        IMPORT_C TBool NeedToSendToBackgroundL() const;
-
-        /**
-        * Check if the top application is currently displayed in the foreground
-        * @return boolean value indicating that top app is displayed
-        */
-        IMPORT_C TBool TopAppIsDisplayedL() const;
 
         /**
         * Displays the call termination note, if required
@@ -517,23 +366,6 @@
         IMPORT_C void ShowNumberBusyNoteL();
 
         /**
-        * Fetches keylock information - is it set on or not
-        * @return is keylock set on (ETrue) or off (EFalse)
-        */
-        IMPORT_C TBool IsKeyLockOn() const;
-
-        /**
-        * Informs Phone Engine Sat request completion
-        * @param aCallId a call id
-        */
-        IMPORT_C void CompleteSatRequestL( const TInt aCallId );
-
-        /**
-        * Sets the call header type used in the call bubble.
-        */
-        IMPORT_C void SetCallHeaderType( TInt aCallHeaderType );
-
-        /**
         * Informs view that UI is being updated (call bubble or number editor).
         * EndUiUpdate() must be called when update is done.
         */
@@ -553,13 +385,6 @@
         IMPORT_C virtual TBool CheckIfShowCallTerminationNote( );
 
         /*
-        * Sets used touchpane buttons.
-        *
-        * @param touchpane resource id.
-        */
-        IMPORT_C void SetTouchPaneButtons( TInt aResourceId );
-
-        /*
         * Destroys touchpane buttons.
         */
         IMPORT_C void DeleteTouchPaneButtons();
@@ -570,12 +395,6 @@
         */
         IMPORT_C void SetDefaultFlagsL();
 
-        /**
-        * Check if contact info available and
-        * shown waiting note with or without caller name
-        */
-        IMPORT_C void CallWaitingNoteL( TInt aCallId );
-
         /*
         * Sets ringtone playback.
         * @param aCallId call id
@@ -592,86 +411,27 @@
         * Opens soft reject message editor.
         */
         IMPORT_C virtual void OpenSoftRejectMessageEditorL();
-
-    protected: // NumberEntry functions.
-
-        /**
-        * Set Number Entry visibility.
-        * @param aVisible ETrue if numberentry is wanted to be shown
-        *                 (Note ETrue will set NE CBA's)
-        *                 EFalse if numberentry isnt wanted to be shown
-        *                 (Note EFalse doesnt affact to CBA's)
-        */
-        IMPORT_C void SetNumberEntryVisibilityL( const TBool aVisible );
-
-        /**
-        * Create call if in numberentry more that 2 number and Send key
-        * Send manual control sequence
-        * if 1-2 number in numberentry and Send key
-        */
-        IMPORT_C void CallFromNumberEntryL();
-
-        /**
-         * Returns phone number from the phone number entry.
-         * @return  Phone number
-         */
-        IMPORT_C HBufC* PhoneNumberFromEntryLC();
-
-        /**
-        * Check if number entry content is stored
-        * @return boolean value indicating that number entry content is stored
-        */
-        IMPORT_C TBool IsNumberEntryContentStored();
-
-        /**
-        * Stores the number entry content to the cache
-        */
-        IMPORT_C void StoreNumberEntryContentL();
+        
+    protected:
 
         /**
-        * Clears the number entry content cache
+        * Sets toolbar loudspeaker button enabled.
         */
-        IMPORT_C void ClearNumberEntryContentCache();
-
+        IMPORT_C void SetToolbarButtonLoudspeakerEnabled();
+         
         /**
-         * Returns ETrue if alphanumeric characters are supported.
-         * @param aKeyEvent Key event.
-         * @return ETrue if alphanumeric chars are supported.
-         */
-         IMPORT_C TBool IsAlphanumericSupportedAndCharInput(
-                     const TKeyEvent& aKeyEvent );
-
-         /**
-         * Handle state-specific behaviour when number entry is cleared
-         */
-         IMPORT_C virtual void HandleNumberEntryClearedL();
+        * Sets state of TitleBar Back button 
+        */
+        IMPORT_C void SetBackButtonActive( TBool aActive );
 
          /**
-         * Internal number entry handling methods.
-         */
-         void NumberEntryClearL();
-
-         /**
-         * Sets toolbar loudspeaker button enabled.
-         */
-         IMPORT_C void SetToolbarButtonLoudspeakerEnabled();
-         
-         /**
-         * Sets state of TitleBar Back button 
+         * Updates ui commands 
          */
-         IMPORT_C void SetBackButtonActive( TBool aActive );
-
+         IMPORT_C void UpdateUiCommands();
+         
     protected:
 
        /**
-       * Returns updated remote information data.
-       * NOTE: This metohed is used when state receives
-       * EPEMessageRemotePartyInfoChanged from PhoneEngine.
-       * @param aCallId - Call Id.
-       */
-       TPhoneCmdParamCallHeaderData UpdateCallHeaderInfoL( TInt aCallId );
-
-       /**
        * Checks if call is waiting, returns ETrue if call is waiting
        * otherwise EFalse.
        * @param aCallId, call id.
@@ -746,11 +506,6 @@
         void HandleCallSecureStatusChangeL( TInt aCallId );
 
         /**
-        * Handles change als line command
-        */
-        void ChangeAlsLineL();
-
-        /**
         * Active call id
         */
         TInt GetActiveCallIdL();
@@ -759,12 +514,7 @@
         * Shows WLAN MAC address note
         */
         void ShowWlanMacAddressL();
-
-        /**
-        * Check if ALS line change is possible
-        */
-        TBool IsAlsLineChangePossible();
-
+        
         /**
         * A message handling function for message EPEMessageRemoteBusy
         * @param aCallId a call id
@@ -772,16 +522,6 @@
         void HandleRemoteBusyL( const TInt aCallId );
 
         /**
-        * Creates caller information. Sets CNAP, phone number, thumbnail image
-        * etc. into the call header parameter.
-        * @param aCallId - Call Id.
-        * @param aCallHeaderData - Call header parameter where modifications
-        *                          are made.
-        */
-        void CreateCallerInfoL( const TInt aCallId,
-            TPhoneCmdParamCallHeaderData* aCallHeaderData );
-
-        /**
         * TCleanupOperation to call EndUiUpdate(), if leave occurs
         * after BeginUiUpdate().
         */
@@ -814,33 +554,11 @@
         void HandleSimStateChangedL();
 
         /*
-         * Checks is given key contains numeric charaters or if customization is used
-         * alphanumeir letters
-        */
-        TBool IsValidAlphaNumericKey( const TKeyEvent& aKeyEvent,
-                TEventCode aEventCode );
-
-        /*
          * Checks if keyevent is from dtmf key and sends it to phone-engine
          */
         void SendDtmfKeyEventL( const TKeyEvent& aKeyEvent,
                 TEventCode aEventCode  );
 
-        /*
-         * Creates call header manager if needed.
-        */
-        CPhoneCallHeaderManager* CallheaderManagerL();
-
-        /*
-        * Creates number entry content if needed.
-        */
-        CPhoneNumberEntryManager* NumberEntryManagerL();
-
-        /*
-        * Updated Cba when Swivel state changes.
-        */
-        void UpdateCbaSwivelStateChangedL();
-
         /**
         * Loads data commonengine stringloader.
         * @param aData - The returned data including needed text.
@@ -848,7 +566,6 @@
         */
         void LoadResource( TDes& aData, const TInt aResource ) const;
 
-
     protected:  // Data
 
         /**
@@ -871,39 +588,20 @@
         MPhoneCustomization* iCustomization;
 
         // CBA key manager. Own.
-        CPhoneCbaManager* iCbaManager;
+        CPhoneUiCommandManager* iUiCommandManager;
+        
+        // Number entry manager
+        CPhoneNumberEntryManager* iNumberEntryManager;
+
 
     private:
 
-        /**
-         * Previously handled SIM card state.
-         */
+        // Previously handled SIM card state.
         TPESimState iPreviousSimState;
 
-        // Bitmap redraw counter
-        TInt iBitmapRedrawCounter;
-
         // Internal variable for EikonEnv to avoid
         // use of static system calls
-        CEikonEnv& iEnv;
-
-        // Call header manager.
-        CPhoneCallHeaderManager* iCallHeaderManager;
-
-        // Number entry manager
-        CPhoneNumberEntryManager* iNumberEntryManager;
-
-        // RingtoneSilenced flag.
-        // This is used to determine if the ringtone
-        // for incoming call is silenced. The information
-        // is used while updating softkeys in method
-        // UpdateIncomingCbaL only
-        TBool iRingtoneSilenced;
-
-        /**
-         * Handle to the Operator logo resource.
-         */
-        TInt iLogoHandle;
+        CEikonEnv* iEnv; // Not owned
         };
 
 #endif // CPHONESTATE_H
--- a/phoneapp/phoneuicontrol/inc/cphonestatecallsetup.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuicontrol/inc/cphonestatecallsetup.h	Mon Oct 04 00:16:48 2010 +0300
@@ -95,16 +95,6 @@
         */
         IMPORT_C virtual void ConstructL();
         
-        /**
-        * Upadated CBAs CallSetup case
-        */
-        IMPORT_C virtual void UpdateInCallCbaL();
-         
-        /**
-        * Upadated CBAs
-        */
-        IMPORT_C virtual void UpdateCbaL( TInt aResource );
-        
     private:
 
         /**
--- a/phoneapp/phoneuicontrol/inc/cphonestateidle.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuicontrol/inc/cphonestateidle.h	Mon Oct 04 00:16:48 2010 +0300
@@ -133,12 +133,6 @@
         IMPORT_C void DisplayIncomingCallL( TInt aCallId );
 
         /**
-        * Display Call Setup
-        * @param aCallid call id
-        */
-        IMPORT_C void DisplayCallSetupL( TInt aCallId );
-
-        /**
         * By default EPOC constructor is private.
         */
         IMPORT_C CPhoneStateIdle( 
@@ -227,6 +221,12 @@
         TBool RestoreOngoing();
 
         void HandleVoiceCallCommandL();
+        
+        /**
+       * Changes state to aState and resets iBubbleInitialized
+       * value to false.
+       */
+       void ChangeTo( TInt aState );
          
     private:
     
--- a/phoneapp/phoneuicontrol/inc/cphonestateincall.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuicontrol/inc/cphonestateincall.h	Mon Oct 04 00:16:48 2010 +0300
@@ -118,17 +118,6 @@
         * Search and release outgoingcall
         */
         IMPORT_C void DisconnectOutgoingCallL();
-        
-        /**
-        * Upadated CBAs Incall case
-        */
-        IMPORT_C virtual void UpdateInCallCbaL();
-        
-
-        /**
-        * Upadated CBAs
-        */
-        IMPORT_C virtual void UpdateCbaL( TInt aResource );
     
     private: // New functions
 
@@ -172,11 +161,6 @@
         * Sends command to view for launching DTMF list query
         */
         void LaunchDtmfListQueryL();
-              
-        /**
-        * Sends command to view for 'Lock keypad'
-        */
-        void LockKeypadL();
         
         /**
         * Update remote data and label to the call header.
@@ -184,9 +168,7 @@
         * @param aCallHeaderData - Call header parameters where modifications
         *                          are made.
         */
-        void UpdateRemoteInfoDataAndLabelL( 
-                TInt aCallId, 
-                TPhoneCmdParamCallHeaderData aCallHeaderParam );
+        void UpdateRemoteInfoDataAndLabelL( TInt aCallId );
         
         /**
         * Show dtmf text query
--- a/phoneapp/phoneuicontrol/inc/cphonestateincoming.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuicontrol/inc/cphonestateincoming.h	Mon Oct 04 00:16:48 2010 +0300
@@ -73,11 +73,6 @@
         * Handle state-specific behaviour when number entry is cleared
         */ 
         IMPORT_C void HandleNumberEntryClearedL();
-
-        /** 
-        * Handle keylock state change events
-        */ 
-        IMPORT_C void HandleKeyLockEnabled( TBool aKeylockEnabled );
         
     protected:
 
@@ -147,11 +142,6 @@
         TInt GetNumberEntryNotVisibleMenuBar();
         
         /**
-        * Updates incoming CBA's
-        */
-        void UpdateInCallCbaL( TInt aCallId );
-        
-        /**
         * Show disconnected note
         */        
         void ShowDisconnectingL( TInt aCallId ); 
@@ -159,17 +149,17 @@
         /**
         * Update remote data and label to the call header.
         * @param aCallId - Call Id.
-        * @param aCallHeaderData - Call header parameters where modifications
-        *                          are made.
         */
         void UpdateRemoteInfoDataAndLabelL( 
-                TInt aCallId, 
-                TPhoneCmdParamCallHeaderData aCallHeaderParam );
+                TInt aCallId );
        
     protected:
         // call id of ringing call
         TInt iRingingCallId;
         
+        // True if call is disconnected otherwise false
+        TBool iCallDisconnected;
+        
     };
 
 #endif // CPHONESTATEINCOMING
--- a/phoneapp/phoneuicontrol/inc/cphonestatemachine.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuicontrol/inc/cphonestatemachine.h	Mon Oct 04 00:16:48 2010 +0300
@@ -106,7 +106,13 @@
         * Instantiates phone storage.
         * @return storage instance    
         */    
-        IMPORT_C MPhoneStorage* PhoneStorage();        
+        IMPORT_C MPhoneStorage* PhoneStorage();
+        
+        /**
+       * Getter for CEikonEnv to avoid use of static system calls
+       * @return CEikonEnv handle
+       */
+       IMPORT_C CEikonEnv* EikonEnv() const;
 
     protected:
 
@@ -148,6 +154,11 @@
 
         // Phone's storage
         MPhoneStorage* iPhoneStorage;
+        
+        /** Internal variable for EikonEnv to avoid use of static system calls
+        * Not own.
+        */
+        CEikonEnv* iEnv;
     };
 
 #endif      // CPHONESTATEMACHINE_H
--- a/phoneapp/phoneuicontrol/inc/cphonesystemeventhandler.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuicontrol/inc/cphonesystemeventhandler.h	Mon Oct 04 00:16:48 2010 +0300
@@ -24,7 +24,6 @@
 #include <e32base.h>
 #include "mphonesystemeventhandler.h"
 #include "mphonepubsubobserver.h"
-#include "mphonecenrepobserver.h"
 
 // FORWARD DECLARATIONS
 class MPhoneStateMachine;
@@ -35,8 +34,7 @@
 class CPhoneSystemEventHandler : 
     public CBase, 
     public MPhoneSystemEventHandler,
-    public MPhonePubSubObserver,
-    public MPhoneCenRepObserver
+    public MPhonePubSubObserver
     {
     public:
 
@@ -53,20 +51,8 @@
 
     public: // From MPhoneSystemEvents
 
-        void HandleSystemEventL( const TWsEvent& aEvent );
-
-        void HandleForegroundEventL( TBool aForeground );
-
-        void HandlePhoneForegroundEventL();
-
-        void HandleIdleForegroundEventL();
-
         void HandlePhoneStartupL();
         
-        void HandlePhoneFocusLostEventL();
-
-        void HandleKeyLockEnabled( TBool aKeylockEnabled );
-        
     public: // From MPhonePubSubObserver
 
         /**
@@ -79,18 +65,6 @@
             const TUid& aCategory,
             const TUint aKey,
             const TInt aValue );
-
-    public: // From MPhoneCenRepObserver
-
-        /**
-        * Handle the change of the setting from Central Repository
-        * @param aUid identifing the central repository UID.
-        * @param aId central repository ID.
-        */
-        virtual void HandleCenRepChangeL( 
-            const TUid& aUid,
-            const TUint aId );
-
     private:
 
         /**
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/inc/cphoneuicommandmanager.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,140 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Class takes care of CBA's.
+*
+*/
+
+
+#ifndef CPHONEUICOMMANDMANAGER_H
+#define CPHONEUICOMMANDMANAGER_H
+
+//INCLUDES
+#include <e32base.h>
+
+//FORWARD
+class MPhoneViewCommandHandle;
+class MPhoneStateMachine;
+class CPhoneState;
+
+/**
+ * Class takes care of ui commands, soft buttons and tool bar.
+ *
+ * @lib phoneuicontrol
+ * @since S60 v10.1
+ */
+NONSHARABLE_CLASS( CPhoneUiCommandManager ) :  public CBase
+    {
+    public:
+        
+        /**
+        * Creates new instance of CPhoneUiCommandManager
+        * @param aStateMachine: a state machine
+        * @param aViewCommandHandle: handle to the PhoneUIView
+        * @return CPhoneUiCommandManager* object  
+        */
+        static CPhoneUiCommandManager* NewL(
+                    CPhoneState* aState,
+                    MPhoneViewCommandHandle& aViewCommandHandle,
+                    MPhoneStateMachine& aStateMachine );
+        /**
+        * Destructor.
+        */
+        virtual ~CPhoneUiCommandManager();
+        
+    public:
+
+        /**
+        * Updates UI commands, push buttons and toolbar buttons.
+        */
+        void UpdateUiCommands();
+        
+    public:
+        
+        /**
+        * Sets the soft reject status
+        * @param aSoftRejectStatus, new status
+        */
+        void SetSoftRejectStatus( TBool aSoftRejectStatus );
+        
+        /**
+        * Returns the soft reject status
+        * @return Soft reject status
+        */
+        TBool SoftRejectStatus();
+        
+    private:
+
+        /**
+        * Sets soft reject flag
+        */
+        void SetSoftRejectDimmedFlag();
+      
+        /**
+        * Sets button flags
+        */
+        void SetButtonFlags();
+        
+        /**
+        * Sets touch buttons.
+        */
+        void SetTouchButtons();
+        
+        /**
+        * Sets toolbar buttons.
+        */
+        void SetToolBarButtons();
+      
+        /**
+        * Returns toolbar resource id.
+        */
+        TInt ToolBarResource();
+        
+        /**
+        * Returns ringing call resource id.
+        */
+        TInt RingingCallResource();
+        
+        /**
+        * Returns single ringing call resource id.
+        */
+        TInt SingleRingingCallResource();
+        
+        /**
+        * Check is a emergency call ongoing
+        */
+        TBool IsEmergency();
+        
+    private:
+    
+        /**
+        * C++ default constructor.
+        */
+        CPhoneUiCommandManager(
+                CPhoneState* aState,
+                MPhoneViewCommandHandle& aViewCommandHandle,
+                MPhoneStateMachine& aStateMachine );
+        
+    private:
+        
+        // Not owned:
+        CPhoneState* iState;
+        MPhoneViewCommandHandle& iViewCommandHandle;
+        MPhoneStateMachine& iStateMachine;
+        
+        // Soft reject status flag
+        TBool iSoftRejectStatus;
+    };
+
+
+#endif // CPHONEUICOMMANDMANAGER_H
--- a/phoneapp/phoneuicontrol/inc/cphoneuicontroller.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuicontrol/inc/cphoneuicontroller.h	Mon Oct 04 00:16:48 2010 +0300
@@ -84,33 +84,6 @@
             TEventCode aEventCode );
 
         /**
-        * From CEikAppUi. For Idle indicator
-        */
-        IMPORT_C void HandleSystemEventL(
-            const TWsEvent& aEvent );
-
-        /**
-        * From CAknAppUi, indicates when app ui is on the foreground.
-        * @param aForeground It is true if app is on the foreground.
-        */
-        IMPORT_C void HandleForegroundEventL( TBool aForeground );
-
-        /**
-        * Indicates when the Phone app is in the foreground.
-        */
-        IMPORT_C virtual void HandlePhoneForegroundEventL();
-
-        /**
-        * Indicates when the Phone app is losing focus.
-        */
-        IMPORT_C virtual void HandlePhoneFocusLostEventL();
-        
-        /**
-        * Indicates when the Idle app is in the foreground.
-        */
-        IMPORT_C virtual void HandleIdleForegroundEventL();
-
-        /**
         * Handles startup of the phone application 
         */
         IMPORT_C void HandlePhoneStartupL();
@@ -130,12 +103,12 @@
         *          (ETrue) or not (EFalse)
         */
         IMPORT_C TBool ProcessCommandL( TInt aCommand );
-
+      
         /**
-        * Handles keylock events
-        * @param aCommand It is the code of the command to be handled.
+        * Returns engine info.
+        * @returns Engine info
         */
-        IMPORT_C void HandleKeyLockEnabled( TBool aKeylockEnabled );
+        IMPORT_C MPEEngineInfo* EngineInfo();
         
     private:
         
--- a/phoneapp/phoneuicontrol/inc/mphoneblockedkeys.h	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  An abstract class for get blocked key list.
-*
-*/
-
-
-#ifndef MPHONEBLOCKEDKEYS_H
-#define MPHONEBLOCKEDKEYS_H
-
-// INCLUDES
-#include <e32cmn.h>
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-/**
-*  An abstract class get blocked key list
-*
-*/
-class MPhoneBlockedKeys
-    {
-    public:
-
-        /**
-        * Get blocked key list
-        * @returns RArray<TInt>& lsit of blocked keys 
-        */
-        virtual const RArray<TInt>& GetBlockedKeyList() const = 0;
-        
-    };
-
-#endif // MPHONEBLOCKEDKEYS_H
-            
-// End of File
--- a/phoneapp/phoneuicontrol/inc/mphonedivertif.h	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +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: 
-*     Interface for manipulating divert information.
-*
-*/
-
-
-#ifndef MPHONEDIVERTIF_H
-#define MPHONEDIVERTIF_H
-
-//  INCLUDES
-#include <e32def.h>
-
-// CLASS DECLARATION
-
-/**
-*  Handle all possible messages from Phone Engine
-*/
-class MPhoneDivertIF
-    {
-    public:
-        
-        /**
-        * Destructor.
-        */
-        virtual ~MPhoneDivertIF() {};
-
-        /**
-        * Setter for divert indication showing in bubble.
-        * @param aDivertIndication ETrue to show divert indication,
-        *        EFalse to not. Usually setting EFalse isn't necessary
-        *        as it's a default value in bubble creation.
-        */
-        virtual void SetDivertIndication(
-            const TBool aDivertIndication ) = 0;            
-    };
-
-#endif      // MPHONEDIVERTIF_H   
-            
-// End of File
--- a/phoneapp/phoneuicontrol/inc/mphonekeyevents.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuicontrol/inc/mphonekeyevents.h	Mon Oct 04 00:16:48 2010 +0300
@@ -65,9 +65,6 @@
 
         virtual void HandleDtmfKeyToneL( const TKeyEvent& aKeyEvent,
                         TEventCode aEventCode ) = 0;
-        
-        virtual TBool IsAlphanumericSupportedAndCharInput( 
-                const TKeyEvent& aKeyEvent ) = 0 ;
 };
 
 #endif // __MPHONEKEYEVENTS_H
--- a/phoneapp/phoneuicontrol/inc/mphonelockinfo.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuicontrol/inc/mphonelockinfo.h	Mon Oct 04 00:16:48 2010 +0300
@@ -39,12 +39,6 @@
         * @return is autolock set on (ETrue) or off (EFalse)
         */
         virtual TBool IsAutoLockOn() const = 0;
-
-        /**
-        * Fetches keylock information - is it set on or not
-        * @return is keylock set on (ETrue) or off (EFalse)
-        */
-        virtual TBool IsKeyLockOn() const = 0;
         
     };
 
--- a/phoneapp/phoneuicontrol/inc/mphonestate.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuicontrol/inc/mphonestate.h	Mon Oct 04 00:16:48 2010 +0300
@@ -26,11 +26,10 @@
 #include "mphonesystemevents.h"
 #include "mphonemenuandcbaevents.h"
 #include "mphoneremotecontrolevents.h"
-#include "mphonedivertif.h"
 #include "mphoneneclearedhandler.h"
 #include "mphonenumberentryevents.h"
 #include "mphonelockinfo.h"
-#include "mphoneblockedkeys.h"
+#include "mphonestateproperties.h"
 
 // FORWARD DECLARATIONS
 
@@ -46,10 +45,9 @@
     public MPhoneSystemEvents,
     public MPhoneMenuAndCbaEvents,
     public MPhoneRemoteControlEvents,
-    public MPhoneDivertIF,
-    public MPhoneBlockedKeys,
     public MPhoneNEClearedHandler,
-    public MPhoneLockInfo
+    public MPhoneLockInfo,
+    public MPhoneStateProperties
     {
     public:
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/inc/mphonestateproperties.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,48 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors: Nokia
+*
+* Description: An abstract class for accessing generic state properties
+*
+*/
+
+
+#ifndef MPHONESTATEPROPERTIES_H
+#define MPHONESTATEPROPERTIES_H
+
+// INCLUDES
+#include <e32cmn.h>
+#include <eikenv.h>
+
+// FORWARD DECLARATIONS
+
+// CLASS DECLARATION
+
+/**
+*  An abstract class for accessing generic state properties
+*
+*/
+class MPhoneStateProperties
+    {
+    public:
+
+        /**
+        * Sets CEikonEnv handle to minimize static system calls
+        * @param CEikonEnv handle
+        */
+        virtual void SetEikonEnv( CEikonEnv* aEnv ) = 0;
+        
+    };
+
+#endif // MPHONESTATEPROPERTIES_H
+            
+// End of File
--- a/phoneapp/phoneuicontrol/inc/mphonesystemeventhandler.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuicontrol/inc/mphonesystemeventhandler.h	Mon Oct 04 00:16:48 2010 +0300
@@ -38,41 +38,9 @@
         virtual ~MPhoneSystemEventHandler(){};
 
         /**
-        * From CEikAppUi. For Idle indicator
-        */
-        virtual void HandleSystemEventL( const TWsEvent& aEvent ) = 0;
-
-        /**
-        * From CAknAppUi, indicates when app ui is on the foreground.
-        * @param aForeground It is true if app is on the foreground.
-        */
-        virtual void HandleForegroundEventL( TBool aForeground ) = 0;
-
-        /**
-        * Indicates when the Phone app is in the foreground.
-        */
-        virtual void HandlePhoneForegroundEventL() = 0;
-
-        /**
-        * Indicates when the Idle app is in the foreground.
-        */
-        virtual void HandleIdleForegroundEventL() = 0;
-
-        /**
-        * Indicates when the Phone app is is losing focus.
-        */
-        virtual void HandlePhoneFocusLostEventL() = 0;
-
-        /**
         * Handles startup of the phone application 
         */
         virtual void HandlePhoneStartupL() = 0;
-
-        /**
-        * Indicates when the keylock events
-        */
-        virtual void HandleKeyLockEnabled( TBool aKeylockEnabled ) = 0;
-        
     };
 
 #endif      // __MPHONESYSTEMEVENTHANDLER_H   
--- a/phoneapp/phoneuicontrol/inc/mphonesystemevents.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuicontrol/inc/mphonesystemevents.h	Mon Oct 04 00:16:48 2010 +0300
@@ -39,37 +39,6 @@
         virtual ~MPhoneSystemEvents(){};
 
         /**
-        * From CEikAppUi. For Idle indicator
-        */
-        virtual void HandleSystemEventL( const TWsEvent& aEvent ) = 0;
-
-        /**
-        * From CAknAppUi, indicates when app ui is on the foreground.
-        * @param aForeground It is true if app is on the foreground.
-        */
-        virtual void HandleForegroundEventL( TBool aForeground ) = 0;
-
-        /**
-        * Indicates when the Phone app is in the foreground.
-        */
-        virtual void HandlePhoneForegroundEventL() = 0;
-        
-        /**
-        * Indicates when the Phone app is is losing focus.
-        */
-        virtual void HandlePhoneFocusLostEventL() = 0;
-        
-        /**
-        * Indicates when the Idle app is in the foreground.
-        */
-        virtual void HandleIdleForegroundEventL() = 0;
-
-        /**
-        * Indicates when the keylock events
-        */
-        virtual void HandleKeyLockEnabled( TBool aKeylockEnabled ) = 0;
-
-        /**
         * Handles startup of the phone application 
         */
         virtual void HandlePhoneStartupL() = 0;
@@ -85,14 +54,6 @@
             const TUint aKey,
             const TInt aValue ) = 0;
 
-        /**
-        * Handle the change of the setting from Central Repository
-        * @param aUid identifing the central repository UID.
-        * @param aId central repository ID.
-        */
-        virtual void HandleCenRepChangeL( 
-            const TUid& aUid,
-            const TUint aId ) = 0;
     };
 
 #endif      // __MPHONESYSTEMEVENTS_H   
--- a/phoneapp/phoneuicontrol/inc/tphonecallheaderparam.h	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,230 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  A parameter class for setting call header information
-*
-*/
-
-
-#ifndef TPHONECALLHEADERPARAM_H
-#define TPHONECALLHEADERPARAM_H
-
-//INCLUDES
-#include    "mpeengineinfo.h"
-#include    "tphonecmdparamcallheaderdata.h"
-
-//FORWARD
-class MPhoneStateMachine;
-class MPhoneCallHeaderManagerUtility;
-class TPhoneCmdParamCallHeaderData;
-
-/**
- * A parameter class for setting call header information.
- *
- *  @since S60 v9.1
- */
-class TPhoneCallHeaderParam
-    {
-    public: // Constructors & destructors.
-            
-        /**
-        * C++ constructor.
-        */
-        TPhoneCallHeaderParam( 
-                MPhoneCallHeaderManagerUtility& aManagerUtility,
-                MPhoneStateMachine& aStateMachine );
-        
-    public: // New functions.
-        
-        /**
-        * Sets info to outgoing call header.
-        * @param aCallId - call id.
-        * @param aWaitingCall - if call is waiting value is ETrue otherwise EFalse.
-        * @param aVideoCall - if call is video value is ETrue otherwise EFalse.
-        * @param aCallHeaderData - Call header parameter into which the text/picture
-        *                          parameters will be set.
-        */           
-        void SetIncomingCallHeaderParamsL(
-                const TInt aCallId, 
-                const TBool aWaitingCall,
-                const TBool aVideoCall,
-                TPhoneCmdParamCallHeaderData* aCallHeaderData );
-        /**
-        * Sets info to outgoing call header.
-        * @param aCallId - call id.
-        * @param aCallHeaderData - Call header parameter into which the text/picture
-        *                          parameters will be set.
-        */
-        void SetOutgoingCallHeaderParamsL(
-                const TInt aCallId,
-                TPhoneCmdParamCallHeaderData* aCallHeaderData );
-        /**
-        * Updates call header info. 
-        * NOTE: This method is used when state receives
-        * EPEMessageRemotePartyInfoChanged from PhoneEngine.
-        * 
-        * @param aCallId - call id.
-        * @param aWaitingCall - if call is waiting value is ETrue otherwise EFalse.
-        * @param aVideoCall - if call is video value is ETrue otherwise EFalse.
-        * @param aCallHeaderData - Call header parameter into which the text/picture
-        *                          parameters will be set.
-        */             
-        void UpdateCallHeaderInfoL( 
-                const TInt aCallId,
-                const TBool aWaitingCall,
-                const TBool aVideoCall,
-                TPhoneCmdParamCallHeaderData* aCallHeaderData );
-
-        /**
-        * Sets the call header type used in the call bubble.
-        * @param aCallHeaderType, call header type.
-        */    
-        void SetCallHeaderType( 
-                TInt aCallHeaderType );
-        /**
-        * Returns the set call header type. Used for constructing right type
-        * of call bubble.
-        */
-        TInt CallHeaderType() const;
-            
-        /**
-        * Setter for divert indication showing in bubble.
-        * @param aDivertIndication ETrue to show divert indication,
-        *        EFalse to not. Usually setting EFalse isn't necessary
-        *        as it's a default value in bubble creation.
-        */
-        void SetDivertIndication( const TBool aDivertIndication );
-        
-        /**
-        * Return remote info data
-        * @return True if secondary CLI is used
-        * @param aCallid call id
-        * @param aData the returned remote info data
-        */
-        TBool GetRemoteInfoDataL( 
-                const TInt aCallId,
-                TDes& aData ) const;           
-    
-        /**
-        * Sets texts for voice call header.
-        * @param aCallId - Call Id.
-        * @param aWaitingCall - Waiting call indication.
-        * @param aCallHeaderData - Call header parameter into which the text
-        *                          will be set.
-        */
-        void SetCallHeaderTexts( 
-            const TInt aCallId, 
-            const TBool aWaitingCall,
-            const TBool aVideoCall,
-            TPhoneCmdParamCallHeaderData* aCallHeaderData );
-
-    private:
-        
-        
-        
-        /**
-        * Set basic info to call header.
-        * @param aCallId - call id.
-        * @param aCallHeaderData - Call header parameter into which the text/picture
-        *                          parameters will be set.
-        */
-        void SetBasicCallHeaderParamsL(
-            const TInt aCallId, 
-            TPhoneCmdParamCallHeaderData* aCallHeaderData );
-        
-        /**
-        * Sets divert indication to call header if necessary
-        * @param aCallId - Call Id.
-        * @param aCallHeaderData - Call header where indication will be set
-        *                          if needed.
-        */
-        void SetDivertIndicatorToCallHeader( 
-                const TInt aCallId, 
-                TPhoneCmdParamCallHeaderData* aCallHeaderData );
-        
-        /**
-        * Sets divert indication to call header if necessary
-        * @param aFeatureKey - feature key id Id.
-        * @param aCallId - Call Id.
-        */
-        TBool IsFeatureSupported( 
-                const TInt aFeatureKey, 
-                const TInt aCallId ) const;
-        
-        /**
-        * Return CNAP (Calling Name Presentation) text
-        * @param aCallid call id
-        * @param aData the returned CNAP text
-        * @param aDirection the returned CNAP clipping direction
-        */
-        void GetCNAPText( 
-               const TInt aCallId,
-               TDes& aData, 
-               TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection& aDirection ) const;
-        
-        /**
-        * Check if contact is available(RemoteName or RemoteCompanyName),
-        * if available ETrue is returned otherwise EFalse.
-        * @param aCallid call id
-        */
-        TBool ContactInfoAvailable( 
-                const TInt aCallId ) const;
-        
-        /**
-        * Returns call type and stores type to member variable.
-        * @param aCallId - Call Id.
-        * @param aCallHeaderData - Call header data.
-        */
-        TPECallType GetCallType( 
-                const TInt aCallId,
-                TPhoneCmdParamCallHeaderData* aCallHeaderData ); 
-        
-        /**
-        * Sets caller image. 
-        * @param aCallId - Call Id.
-        * @param aCallHeaderData - Call header parameter where modifications
-        *                          are made.
-        */
-        void SetCallerImage( 
-                const TInt aCallId, 
-                TPhoneCmdParamCallHeaderData* aCallHeaderData );
-        
-        /**
-        * Updates cli and cnap parameters to call header.
-        * @param aCallId - Call Id.
-        * @param aCallHeaderData - Call header parameter where modifications
-        *                          are made.
-        */
-        void SetCliAndCnapParamatersL( 
-                const TInt aCallId, 
-                TPhoneCmdParamCallHeaderData* aCallHeaderData  );
-        /**
-        * Updates cli parameter to call header.
-        * @param aCallId - Call Id.
-        * @param aCallHeaderData - Call header parameter where modifications
-        *                          are made.
-        */
-        void SetCliParamatersL(
-                const TInt aCallId, 
-                TPhoneCmdParamCallHeaderData* aCallHeaderData );
-                
-    private:
-        
-        MPhoneCallHeaderManagerUtility& iManagerUtility;
-        MPhoneStateMachine& iStateMachine;
-        TInt iCallHeaderType;
-        TBool iSetDivertIndication;
-            
-    };
-
-#endif // TPHONECALLHEADERPARAM_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/rom/phoneuicontrol_stub.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,32 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: For packing phoneuicontrol component.
+;
+; Languages
+&EN
+
+; Header
+#{"PhoneUIControl"}, (0x101F4D0C), 1, 0, 0, TYPE=SA
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+;Files
+;
+;  PhoneUIControl
+;
+"" - "z:\sys\bin\PhoneUIControl.dll"
Binary file phoneapp/phoneuicontrol/rom/phoneuicontrol_stub.sis has changed
--- a/phoneapp/phoneuicontrol/src/cphonecallheadermanager.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,321 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Bubble manager wrapper.
-*
-*/
-
-#include <mpeengineinfo.h>
-#include <StringLoader.h>
-#include "cphonecallheadermanager.h"
-#include "tphonecallheaderparam.h"
-#include "tphonecmdparamboolean.h"
-#include "tphonecmdparaminteger.h"
-#include "tphonecmdparamcallheaderdata.h"
-#include "cphonemainresourceresolver.h"
-#include "phonerssbase.h"
-#include "phoneui.pan"
-#include "phoneviewcommanddefinitions.h"
-#include "phonelogger.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CPhoneCallHeaderManager::CPhoneCallHeaderManager
-// ---------------------------------------------------------------------------
-//
-CPhoneCallHeaderManager::CPhoneCallHeaderManager(
-         MPhoneViewCommandHandle& aViewCommandHandle,
-         MPhoneStateMachine& aStateMachine,
-         MPhoneCustomization* aCustomization )
-   : iViewCommandHandle ( aViewCommandHandle ),
-     iStateMachine ( aStateMachine ),
-     iCustomization ( aCustomization )
-    {
-    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneCallHeaderManager::CPhoneCallHeaderManager() ");
-    }
-
- // ---------------------------------------------------------------------------
- // CPhoneCallHeaderManager::NewL
- // ---------------------------------------------------------------------------
- //
-CPhoneCallHeaderManager* CPhoneCallHeaderManager::NewL( 
-        MPhoneViewCommandHandle& aViewCommandHandle,
-        MPhoneStateMachine& aStateMachine,
-        MPhoneCustomization* aCustomization )
-     {
-     __LOGMETHODSTARTEND( EPhoneControl, "CPhoneCallHeaderManager::NewL() ");
-     CPhoneCallHeaderManager* self = new (ELeave) CPhoneCallHeaderManager(
-             aViewCommandHandle,
-             aStateMachine,
-             aCustomization );
-     
-     CleanupStack::PushL( self );
-     self->ConstructL();
-     CleanupStack::Pop( self );
-     
-     return self;
-     }
-
-// ---------------------------------------------------------------------------
-// CPhoneCallHeaderManager::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CPhoneCallHeaderManager::ConstructL()
-    {
-    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneCallHeaderManager::ConstructL() ");
-    if ( !iCallHeaderParam )
-        {
-        iCallHeaderParam = new (ELeave) TPhoneCallHeaderParam ( *this, iStateMachine );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//  CPhoneCallHeaderManager::~CPhoneCallHeaderManager
-// ---------------------------------------------------------------------------
-//
-CPhoneCallHeaderManager::~CPhoneCallHeaderManager()
-     {
-     __LOGMETHODSTARTEND( EPhoneControl, "CPhoneCallHeaderManager::~CPhoneCallHeaderManager() ");
-     delete iCallHeaderParam;
-     }
- 
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CPhoneCallHeaderManager::LoadResource
-// ---------------------------------------------------------------------------
-//
-void CPhoneCallHeaderManager::LoadResource( TDes& aData, const TInt aResource )
-    {
-    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneCallHeaderManager::LoadResource() ");
-    __PHONELOG1( EBasic, EPhoneControl, "CPhoneCallHeaderManager::LoadResource - aResource: %d", aResource );
-    StringLoader::Load(  
-            aData, CPhoneMainResourceResolver::Instance()->ResolveResourceID( aResource ), 
-            CCoeEnv::Static() );
-    }
-
-// ---------------------------------------------------------------------------
-//  CPhoneCallHeaderManager::UpdateCallHeaderInfoL
-// ---------------------------------------------------------------------------
-//
-TPhoneCmdParamCallHeaderData CPhoneCallHeaderManager::UpdateCallHeaderInfoL( 
-        const TInt aCallId )
-    {
-    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneCallHeaderManager::UpdateCallHeaderInfoL() ");
-    __ASSERT_DEBUG( iStateMachine.PhoneEngineInfo(), Panic( EPhoneCtrlInvariant ) );
-    TPhoneCmdParamCallHeaderData callHeaderParam;
-    iCallHeaderParam->UpdateCallHeaderInfoL( 
-                aCallId, 
-                IsWaitingCallL( aCallId ), 
-                IsVideoCall( aCallId ), 
-                &callHeaderParam );
-
-    callHeaderParam.SetCiphering(
-        iStateMachine.PhoneEngineInfo()->IsSecureCall( aCallId ) );
-    
-    callHeaderParam.SetCipheringIndicatorAllowed(
-        iStateMachine.PhoneEngineInfo()->SecureSpecified() );
-
-    return callHeaderParam;    
-    }
-
-// ---------------------------------------------------------------------------
-//  TPhoneCallHeaderParam::GetRemoteInfoDataL
-// ---------------------------------------------------------------------------
-//
-void CPhoneCallHeaderManager::GetRemoteInfoDataL( 
-        const TInt aCallId, 
-        TDes& aData ) const 
-    {
-    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneCallHeaderManager::GetRemoteInfoDataL() ");
-    iCallHeaderParam->GetRemoteInfoDataL( aCallId, aData);
-    }
-
-// ---------------------------------------------------------------------------
-//  CPhoneCallHeaderManager::SetCallHeaderTextsForCallComingIn
-// ---------------------------------------------------------------------------
-//
-void CPhoneCallHeaderManager::SetCallHeaderTextsForCallComingIn(
-        const TInt aCallId, 
-        const TBool aWaitingCall,
-        TPhoneCmdParamCallHeaderData* aCallHeaderData )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneCallHeaderManager::SetCallHeaderTextsForCallComingIn() ");
-    __ASSERT_DEBUG( iStateMachine.PhoneEngineInfo(), Panic( EPhoneCtrlInvariant ) );
-     
-    iCallHeaderParam->SetCallHeaderTexts( 
-            aCallId, 
-            aWaitingCall, 
-            IsVideoCall( aCallId ), 
-            aCallHeaderData );
-    }
-
-// ---------------------------------------------------------------------------
-//  CPhoneCallHeaderManager::DisplayHeaderForCallComingInL
-// ---------------------------------------------------------------------------
-//
-void CPhoneCallHeaderManager::DisplayHeaderForCallComingInL(
-        const TInt aCallId, 
-        const TBool aWaitingCall )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneCallHeaderManager::DisplayHeaderForCallComingInL() ");
-    __ASSERT_DEBUG( iStateMachine.PhoneEngineInfo(), Panic( EPhoneCtrlInvariant ) );
-    TPhoneCmdParamCallHeaderData callHeaderParam;
-    iCallHeaderParam->SetIncomingCallHeaderParamsL( 
-            aCallId, 
-            aWaitingCall, 
-            IsVideoCall( aCallId ), 
-            &callHeaderParam );
-
-    if( iCustomization )
-        {
-        // to do modifications to call header parameters
-        // if VoIP call in question
-        iCustomization->ModifyCallHeaderTexts( aCallId, &callHeaderParam,
-            KNullDesC );
-        }
-
-    // Display call header
-    iViewCommandHandle.ExecuteCommandL( 
-            EPhoneViewCreateCallHeader, 
-            aCallId, 
-            &callHeaderParam );    
-    }
-
-// ---------------------------------------------------------------------------
-//  CPhoneCallHeaderManager::DisplayHeaderForOutgoingCallL
-// ---------------------------------------------------------------------------
-//
-void CPhoneCallHeaderManager::DisplayHeaderForOutgoingCallL( const TInt aCallId )
-    {
-    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneCallHeaderManager::DisplayHeaderForOutgoingCallL() ");
-    __ASSERT_DEBUG( iStateMachine.PhoneEngineInfo(), Panic( EPhoneCtrlInvariant ) );
-    TPhoneCmdParamCallHeaderData callHeaderParam;
-    
-    iCallHeaderParam->SetOutgoingCallHeaderParamsL( 
-            aCallId,
-            &callHeaderParam );
-            
-    if( iCustomization )
-        {
-        // to do modifications to call header parameters
-        // if VoIP call in question
-        iCustomization->ModifyCallHeaderTexts( aCallId, &callHeaderParam,
-            KNullDesC );
-        }
-    
-    // Display call header for outgoing call
-    iViewCommandHandle.ExecuteCommandL( 
-            EPhoneViewCreateCallHeader, 
-            aCallId, 
-            &callHeaderParam );
-    }
-
-// ---------------------------------------------------------------------------
-//  CPhoneCallHeaderManager::IsWaitingCallL
-// ---------------------------------------------------------------------------
-//
-TBool CPhoneCallHeaderManager::IsWaitingCallL( const TInt aCallId  ) const
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneCallHeaderManager::IsWaitingCallL() ");
-    TBool waiting( EFalse );
-    if ( iStateMachine.PhoneEngineInfo()->CallState( aCallId ) == EPEStateRinging )
-        {
-        TPhoneCmdParamInteger activeCallCount;
-        iViewCommandHandle.ExecuteCommandL( 
-                EPhoneViewGetCountOfActiveCalls, 
-                &activeCallCount );
-        // if there is other calls then ringing call is waiting call.
-        if( activeCallCount.Integer() > 0 )
-            {
-            waiting = ETrue;
-            }
-        }
-    __PHONELOG1( EBasic, EPhoneControl, "CPhoneCallHeaderManager::IsWaitingCallL - waiting: %d", waiting );
-    return waiting;
-    }
-
-// ---------------------------------------------------------------------------
-//  CPhoneCallHeaderManager::IsVideoCall
-// ---------------------------------------------------------------------------
-//
-TBool CPhoneCallHeaderManager::IsVideoCall( const TInt aCallId ) const
-    {
-    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneCallHeaderManager::IsVideoCall() ");
-    if( aCallId < 0 )
-        {
-        // Illegal call id, check call type command
-        return ( iStateMachine.PhoneEngineInfo()->CallTypeCommand()
-            == EPECallTypeVideo );  
-        }
-    return ( iStateMachine.PhoneEngineInfo()->CallType( aCallId )
-            == EPECallTypeVideo );
-    }
-
-// ---------------------------------------------------------------------------
-//  CPhoneCallHeaderManager::SetCallHeaderType
-// ---------------------------------------------------------------------------
-//
-void CPhoneCallHeaderManager::SetCallHeaderType( 
-    TInt aCallHeaderType )
-    {
-    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneCallHeaderManager::SetCallHeaderType() ");
-    iCallHeaderParam->SetCallHeaderType( aCallHeaderType ); 
-    }
-
-// ---------------------------------------------------------------------------
-//  CPhoneCallHeaderManager::~CPhoneCallHeaderManager
-// ---------------------------------------------------------------------------
-//
-TInt CPhoneCallHeaderManager::CallHeaderType() const
-    {
-    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneCallHeaderManager::CallHeaderType() ");
-    return iCallHeaderParam->CallHeaderType();            
-    }
-
-// ---------------------------------------------------------------------------
-//  CPhoneCallHeaderManager::SetDivertIndication
-// ---------------------------------------------------------------------------
-//
-void CPhoneCallHeaderManager::SetDivertIndication( const TBool aDivertIndication )
-    {
-    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneCallHeaderManager::SetDivertIndication()");
-    iCallHeaderParam->SetDivertIndication( aDivertIndication );
-    }
-
-// -----------------------------------------------------------
-// CPhoneCallHeaderManager::LoadCallHeaderTexts
-// -----------------------------------------------------------
-//
-void CPhoneCallHeaderManager::LoadCallHeaderTexts(
-    const TInt aLabelId, 
-    const TInt aShortLabelId,
-    TPhoneCmdParamCallHeaderData* aCallHeaderData ) 
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneCallHeaderManager::LoadCallHeaderTexts( ) ");
-    if ( aLabelId != EPhoneStringList )
-        {
-        TBuf<KPhoneCallHeaderLabelMaxLength> labelText( KNullDesC );
-        LoadResource( labelText, aLabelId );
-        aCallHeaderData->SetLabelText( labelText );
-
-        if ( aShortLabelId != EPhoneStringList )
-            {
-            TBuf<KPhoneCallHeaderLabelMaxLength> shortLabelText( KNullDesC );
-            LoadResource( shortLabelText, aShortLabelId );       
-            aCallHeaderData->SetShortLabelText( shortLabelText );        
-            }
-        }
-    }
-
--- a/phoneapp/phoneuicontrol/src/cphonecbamanager.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,458 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Class takes care of CBA's.
-*
-*/
-
-#include "cphonecbamanager.h"
-
-#include "mpeengineinfo.h"
-#include "mphoneviewcommandhandle.h"
-#include "mphonestatemachine.h"
-
-#include <featmgr.h>
-
-#include "phonerssbase.h"
-#include "phoneui.pan"
-#include "phonelogger.h"
-
-#include "cphonestate.h"
-#include "cphonecenrepproxy.h"
-#include "cphonemainresourceresolver.h"
-
-#include "telephonyvariant.hrh"
-#include "phoneui.hrh"
-
-#include "tphonecmdparamboolean.h"
-#include "tphonecmdparaminteger.h"
-#include "tphonecmdparamcallstatedata.h"
-#include "tphonecmdparamboolean.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CPhoneCbaManager::CPhoneCbaManager
-// ---------------------------------------------------------------------------
-//
-CPhoneCbaManager::CPhoneCbaManager(
-         CPhoneState* aState,
-         MPhoneViewCommandHandle& aViewCommandHandle,
-         MPhoneStateMachine& aStateMachine )
-   : iState ( aState ), 
-     iViewCommandHandle ( aViewCommandHandle ),
-     iStateMachine ( aStateMachine ),
-     iSoftRejectStatus ( ETrue )
-    {
-    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneCbaManager::CPhoneCbaManager() ");
-    }
-
- // ---------------------------------------------------------------------------
- // CPhoneCbaManager::NewL
- // ---------------------------------------------------------------------------
- //
-CPhoneCbaManager* CPhoneCbaManager::NewL( 
-        CPhoneState* aState,
-        MPhoneViewCommandHandle& aViewCommandHandle,
-        MPhoneStateMachine& aStateMachine )
-     {
-     __LOGMETHODSTARTEND( EPhoneControl, "CPhoneCbaManager::NewL() ");
-     return new (ELeave) CPhoneCbaManager( aState, aViewCommandHandle, aStateMachine );
-     }
-
-// ---------------------------------------------------------------------------
-//  CPhoneCbaManager::~CPhoneCbaManager
-// ---------------------------------------------------------------------------
-//
-CPhoneCbaManager::~CPhoneCbaManager()
-     {
-     __LOGMETHODSTARTEND( EPhoneControl, "CPhoneCbaManager::~CPhoneCbaManager() ");
-     }
- 
-// ======== LOCAL FUNCTIONS ========
-
-// -----------------------------------------------------------
-// CPhoneCbaManager::UpdateInCallCbaL
-// -----------------------------------------------------------
-//
-void CPhoneCbaManager::UpdateInCallCbaL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneCbaManager::UpdateInCallCbaL() ");
-    UpdateCbaL( EPhoneCallHandlingInCallCBA );
-    }
-
-// -----------------------------------------------------------
-// CPhoneCbaManager::UpdateCbaL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneCbaManager::UpdateCbaL( TInt aResource )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneCbaManager::UpdateCbaL() ");
-    __ASSERT_DEBUG( iStateMachine.PhoneEngineInfo(),
-        Panic( EPhoneCtrlInvariant ) );
-    TInt resourceId = aResource;
-    TPhoneCmdParamBoolean hold;
-    iViewCommandHandle.ExecuteCommandL( EPhoneViewGetHoldFlag, &hold );
-
-    const TBool coverHideSendEndKey =
-        CPhoneCenRepProxy::Instance()->IsTelephonyFeatureSupported(
-            KTelephonyLVFlagCoverHideSendEndKey );
-
-    const TPEAudioOutput audioOutput =
-        iStateMachine.PhoneEngineInfo()->AudioOutput();
-
-    TBool btAvailable = iStateMachine.PhoneEngineInfo()->AudioOutputAvailable(
-        EPEBTAudioAccessory );
-    
-    TPhoneCmdParamBoolean btParam;
-    btParam.SetBoolean( audioOutput == EPEBTAudioAccessory );        
-    iViewCommandHandle.ExecuteCommand(EPhoneViewSetBlueToothFlag,&btParam);
-
-    SetSoftRejectDimmedFlag();
-    
-    TPhoneCmdParamBoolean btAvailableParam;
-    btAvailableParam.SetBoolean( btAvailable );        
-    iViewCommandHandle.ExecuteCommand(
-            EPhoneViewSetBluetoothAvailableFlag,&btAvailableParam);
-
-    // Check is Audio muted
-    if ( iStateMachine.PhoneEngineInfo()->AudioMute() )
-        {
-        resourceId = EPhoneCallHandlingInCallUnmuteCBA;
-        }
-    // Multicall swap
-    else if ( EPhoneCallHandlingNewCallSwapCBA == aResource )
-        {
-        resourceId = EPhoneCallHandlingNewCallSwapCBA;
-        }
-    // Call waiting cases
-    else if ( EPhoneCallHandlingCallWaitingCBA == aResource )
-        {
-        resourceId = EPhoneCallHandlingCallWaitingCBA;
-        if ( iState->IsSwivelClosed() )
-            {
-            TPhoneCmdParamInteger activeCallCount;
-            iViewCommandHandle.ExecuteCommandL(
-                    EPhoneViewGetCountOfActiveCalls, &activeCallCount );
-            if( activeCallCount.Integer() == EOneActiveCall )
-                {
-                resourceId = EPhoneCallHandlingWaitingAnswerSwivelClosedCBA;
-                }
-            else if( activeCallCount.Integer() == ETwoActiveCalls )
-                {
-                resourceId = EPhoneCallHandlingWaitingReplaceSwivelClosedCBA;
-                }
-            }
-        }
-    // Check is call in hold
-    else if ( hold.Boolean() )
-        {
-        resourceId = EPhoneCallHandlingInCallUnholdCBA;
-        }
-    // Is BT accessory connected
-    else if ( audioOutput == EPEBTAudioAccessory &&
-              IsVoiceCallAlertingOrActiveL() &&
-              !coverHideSendEndKey )
-        {
-        resourceId = EPhoneCallHandlingInCallHandsetCBA;
-        }
-    else if ( audioOutput == EPEWiredAudioAccessory ||
-              coverHideSendEndKey || iState->IsSwivelClosed() )
-        {
-        resourceId = EPhoneCallHandlingInCallNoIhfCBA;
-        }
-    // Check BT availability
-    else if ( audioOutput == EPELoudspeaker )
-        {
-        if ( btAvailable )
-            {
-            resourceId = EPhoneCallHandlingInCallBtaaCBA;
-            }
-        else
-            {
-            resourceId = EPhoneCallHandlingInCallHandsetCBA;
-            }
-        }
-    else if ( audioOutput == EPEHandset &&  btAvailable )
-        {
-        resourceId = EPhoneCallHandlingInCallBtaaCBA;
-        }
-    SetCbaL( resourceId );
-    }
-
-// -----------------------------------------------------------
-// CPhoneCbaManager::UpdateIncomingCbaL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneCbaManager::UpdateIncomingCbaL( TInt aCallId )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl,"CPhoneCbaManager::UpdateIncomingCbaL()" );
-    const TBool coverHideSendEndKey =
-        CPhoneCenRepProxy::Instance()->IsTelephonyFeatureSupported(
-            KTelephonyLVFlagCoverHideSendEndKey );
-
-    const TProfileRingingType ringingType =
-        iStateMachine.PhoneEngineInfo()->RingingType();
-
-    const TBool callIsAlerting =
-            !(( ringingType == EProfileRingingTypeSilent ) ||
-              ( ringingType == EProfileRingingTypeBeepOnce ));
-
-    // Update soft reject flag
-    iSoftRejectStatus = ETrue;
-    // VoIP calls do not support sms sending
-    if ( iStateMachine.PhoneEngineInfo()->CallType( aCallId ) == EPECallTypeVoIP 
-        || iStateMachine.PhoneEngineInfo()->RemotePhoneNumber( aCallId ).Length() == 0 )
-        {
-        iSoftRejectStatus = EFalse;
-        }
-    
-    TPhoneCmdParamBoolean dimSoftRejectParam;
-    dimSoftRejectParam.SetBoolean( !iSoftRejectStatus );        
-    iViewCommandHandle.ExecuteCommand(
-            EPhoneViewSetSoftRejectDimmed, &dimSoftRejectParam );
-    
-    TInt incomingCbaResourceId;
-
-    if ( iState->IsSwivelClosed() )
-        {
-        if ( !callIsAlerting || iRingtoneSilenced )
-            {
-            incomingCbaResourceId = EPhoneCallHandlingIncomingSilentSwivelClosedCBA;
-            }
-        else
-            {
-            incomingCbaResourceId = EPhoneCallHandlingIncomingSwivelClosedCBA;
-            }
-        }
-    else if ( coverHideSendEndKey )
-        {
-        if ( callIsAlerting )
-            {
-            // Set CBA to Options..Silence
-            incomingCbaResourceId = EPhoneCallHandlingIncomingSliderCBA;
-            }
-        else if ( iSoftRejectStatus )
-            {
-            // Set CBA for soft reject
-            incomingCbaResourceId = EPhoneCallHandlingIncomingSoftRejectSliderCBA;
-            }
-        else
-            {
-            // Set CBA to Options..Reject
-            incomingCbaResourceId = EPhoneCallHandlingIncomingSilentSliderCBA;
-            }
-        }
-    else
-        {
-        if ( callIsAlerting )
-            {
-            incomingCbaResourceId = GetIncomingCallSilenceCBA( iSoftRejectStatus );
-            }
-        else if ( iSoftRejectStatus )
-            {
-            // Set CBA for soft reject
-            incomingCbaResourceId = EPhoneCallHandlingIncomingSoftRejectCBA;
-            }
-        else
-            {
-            incomingCbaResourceId = EPhoneCallHandlingIncomingRejectCBA;
-            }
-        }
-    SetCbaL( incomingCbaResourceId );
-    }
-
-// -----------------------------------------------------------
-// CPhoneCbaManager::SetCbaL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneCbaManager::SetCbaL( TInt aResource )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl,"CPhoneCbaManager::SetCbaL()" );
-    __PHONELOG1( EBasic, EPhoneControl,
-            "CPhoneCbaManager::SetCbaL : %d",aResource );
-    if ( EPhoneCallHandlingIncomingRejectCBA == aResource ||
-         EPhoneCallHandlingIncomingSoftRejectCBA == aResource )
-        {
-        SetSoftRejectDimmedFlag();
-        }
-    
-    TPhoneCmdParamInteger integerParam;
-    integerParam.SetInteger(
-        CPhoneMainResourceResolver::Instance()->ResolveResourceID(
-        aResource ) );
-    iViewCommandHandle.ExecuteCommandL( EPhoneViewUpdateCba,
-        &integerParam );
-    }
-
-// -----------------------------------------------------------
-// CPhoneCbaManager::UpdateCbaSwivelStateChangedL
-// -----------------------------------------------------------
-//
-void CPhoneCbaManager::UpdateCbaSwivelStateChangedL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl,"CPhoneCbaManager::UpdateCbaSwivelStateChangedL()" );
-    TPhoneCmdParamCallStateData callStateData;
-    callStateData.SetCallState( EPEStateRinging );
-    iViewCommandHandle.HandleCommandL(
-        EPhoneViewGetCallIdByState, &callStateData );
-    TInt incomingCall = callStateData.CallId();
-
-    TPhoneCmdParamInteger activeCallCount;
-    iViewCommandHandle.ExecuteCommandL(
-            EPhoneViewGetCountOfActiveCalls, &activeCallCount );
-
-    if ( incomingCall > KErrNotFound )
-        {
-       if( activeCallCount.Integer() == ENoActiveCalls )
-            {
-            UpdateIncomingCbaL( incomingCall );
-            }
-        else
-            {
-            UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
-            }
-        }
-    else if ( activeCallCount.Integer() != ENoActiveCalls )
-        {
-        UpdateInCallCbaL();
-        }
-    }
-
-// -----------------------------------------------------------
-// CPhoneCbaManager::IsVoiceCallAlertingOrActiveL
-// -----------------------------------------------------------
-//
-TBool CPhoneCbaManager::IsVoiceCallAlertingOrActiveL()
-    {
-    __LOGMETHODSTARTEND( EPhoneControl,
-        "CPhoneCbaManager::IsVoiceCallAlertingOrActiveL()" );
-    TBool retVal = EFalse;
-    // Fetch alerting call's id from view
-    TPhoneCmdParamCallStateData callStateData;
-    callStateData.SetCallState( EPEStateConnecting );
-    iViewCommandHandle.HandleCommandL(
-        EPhoneViewGetCallIdByState, &callStateData );
-
-    if ( callStateData.CallId() > KErrNotFound )
-        {
-        TPECallType type = iStateMachine.PhoneEngineInfo()->CallType(
-            callStateData.CallId() );
-        if ( EPECallTypeCSVoice == type || EPECallTypeVoIP == type )
-            {
-            retVal = ETrue;
-            }
-        }
-    else
-        {
-        // Fetch active call's id from view
-        TPhoneCmdParamCallStateData callStateData;
-        callStateData.SetCallState( EPEStateConnected );
-        iViewCommandHandle.HandleCommandL(
-            EPhoneViewGetCallIdByState, &callStateData );
-        if ( callStateData.CallId() > KErrNotFound )
-            {
-            TPECallType type = iStateMachine.PhoneEngineInfo()->CallType(
-                 callStateData.CallId() );
-
-            if ( EPECallTypeCSVoice == type || EPECallTypeVoIP == type )
-                {
-                retVal = ETrue;
-                }
-            }
-        }
-    return retVal;
-    }
-
-// -----------------------------------------------------------
-// CPhoneCbaManager::SetRingtoneSilencedStatus
-// -----------------------------------------------------------
-//
-void CPhoneCbaManager::SetRingtoneSilencedStatus( const TBool aSilencedStatus )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneCbaManager::SetRingtoneSilencedStatus ()" );
-    // Set the internal TBool variable
-    iRingtoneSilenced = aSilencedStatus;
-    __PHONELOG1( 
-            EBasic, 
-            EPhoneControl, 
-            "CPhoneCbaManager::SetRingtoneSilencedStatus - iRingtoneSilenced =%d", 
-            iRingtoneSilenced  );
-    }
-
-// -----------------------------------------------------------
-// CPhoneCbaManager::SetSoftRejectStatus
-// -----------------------------------------------------------
-//
-void CPhoneCbaManager::SetSoftRejectStatus( TBool aSoftRejectStatus )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneCbaManager::SetSoftRejectStatus ()" );
-    // Set the internal TBool variable
-    iSoftRejectStatus = aSoftRejectStatus;
-    __PHONELOG1( 
-            EBasic, 
-            EPhoneControl, 
-            "CPhoneCbaManager::SetSoftRejectStatus - iSoftRejectStatus =%d", 
-            iSoftRejectStatus  );
-    }
-
-// -----------------------------------------------------------
-// CPhoneCbaManager::SoftRejectStatus
-// -----------------------------------------------------------
-//
-TBool CPhoneCbaManager::SoftRejectStatus()
-    {
-    return iSoftRejectStatus;
-    }
-
-// -----------------------------------------------------------
-// CPhoneCbaManager::GetIncomingCallSilenceCBA
-// -----------------------------------------------------------
-//
-TInt CPhoneCbaManager::GetIncomingCallSilenceCBA( 
-        const TBool /*aSoftRejectActivated*/ )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneCbaManager::GetIncomingCallSilenceCBA ()" );
-    return EPhoneCallHandlingIncomingCBA;
-    }
-
-// -----------------------------------------------------------
-// CPhoneCbaManager::SetSoftRejectDimmedFlag
-// -----------------------------------------------------------
-//
-void CPhoneCbaManager::SetSoftRejectDimmedFlag()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneCbaManager::GetIncomingCallSilenceCBA ()" );
-    TPhoneCmdParamCallStateData callStateData;
-    callStateData.SetCallState( EPEStateRinging );
-    iViewCommandHandle.HandleCommandL(
-        EPhoneViewGetCallIdByState, &callStateData );
-    TPhoneCmdParamBoolean dimSoftRejectParam;
-    if ( callStateData.CallId() > KErrNotFound )
-        {
-        TBool privateNumber = iStateMachine.PhoneEngineInfo()->
-                RemotePhoneNumber( callStateData.CallId() ).Length() == 0;
-        
-        dimSoftRejectParam.SetBoolean( privateNumber || !iSoftRejectStatus );        
-        }
-    else
-        {
-        iSoftRejectStatus = ETrue;
-        dimSoftRejectParam.SetBoolean( EFalse );
-        }
-    iViewCommandHandle.ExecuteCommand(
-            EPhoneViewSetSoftRejectDimmed, &dimSoftRejectParam );
-    }
-
-
--- a/phoneapp/phoneuicontrol/src/cphonenumberentrymanager.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuicontrol/src/cphonenumberentrymanager.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -25,8 +25,9 @@
 #include "mphoneviewcommandhandle.h"
 #include "mphonestatemachine.h"
 #include "mphonecustomization.h"
+#include "cphonestate.h"
 
-#include "cphonecbamanager.h"
+#include "cphoneuicommandmanager.h"
 #include "cphonepubsubproxy.h"
 #include "cphonekeys.h"
 #include "tphonecmdparamstring.h"
@@ -40,9 +41,6 @@
 #include "phoneappcommands.hrh"
 #include "phonelogger.h"
 
-const TInt  KPhoneKeyStart            = 33;
-const TInt  KPhoneKeyEnd              = 127;
-
 // ======== MEMBER FUNCTIONS ========
 
 // ---------------------------------------------------------------------------
@@ -54,27 +52,27 @@
          MPhoneViewCommandHandle& aViewCommandHandle,
          MPhoneStateMachine& aStateMachine,
          MPhoneCustomization* aCustomization,
-         CPhoneCbaManager& aCbaManager )
+         CPhoneUiCommandManager& aUiCommandManager )
    : iState ( aState ),
      iViewCommandHandle ( aViewCommandHandle ),
      iStateMachine ( aStateMachine ),
      iCustomization ( aCustomization ),
-     iCbaManager ( aCbaManager ),
+     iUiCommandManager ( aUiCommandManager ),
      iEnv( *CEikonEnv::Static() )
     {
     __LOGMETHODSTARTEND( EPhoneControl, "CPhoneNumberEntryManager::CPhoneNumberEntryManager() ");
     }
 
- // ---------------------------------------------------------------------------
- // CPhoneNumberEntryManager::NewL
- // ---------------------------------------------------------------------------
- //
+// ---------------------------------------------------------------------------
+// CPhoneNumberEntryManager::NewL
+// ---------------------------------------------------------------------------
+//
 CPhoneNumberEntryManager* CPhoneNumberEntryManager::NewL( 
         CPhoneState* aState,
         MPhoneViewCommandHandle& aViewCommandHandle,
         MPhoneStateMachine& aStateMachine,
         MPhoneCustomization* aCustomization,
-        CPhoneCbaManager& aCbaManager )
+        CPhoneUiCommandManager& aUiCommandManager )
      {
      __LOGMETHODSTARTEND( EPhoneControl, "CPhoneNumberEntryManager::NewL() ");
      CPhoneNumberEntryManager* self = new (ELeave) CPhoneNumberEntryManager(
@@ -82,7 +80,7 @@
              aViewCommandHandle,
              aStateMachine,
              aCustomization,
-             aCbaManager );
+             aUiCommandManager );
      
      CleanupStack::PushL( self );
      self->ConstructL();
@@ -116,7 +114,7 @@
 // CPhoneNumberEntryManager::StoreNumberEntryContentL
 // -----------------------------------------------------------
 //
-void CPhoneNumberEntryManager::StoreNumberEntryContentL()
+EXPORT_C void CPhoneNumberEntryManager::StoreNumberEntryContentL()
     {
     __LOGMETHODSTARTEND( EPhoneControl, "CPhoneNumberEntryManager::StoreNumberEntryContentL( ) ");
     // Store the number entry content to cache
@@ -147,7 +145,7 @@
 // CPhoneNumberEntryManager::IsNumberEntryContentStored
 // -----------------------------------------------------------
 //
-TBool CPhoneNumberEntryManager::IsNumberEntryContentStored()
+EXPORT_C TBool CPhoneNumberEntryManager::IsNumberEntryContentStored()
     {
     __LOGMETHODSTARTEND( EPhoneControl, "CPhoneNumberEntryManager::IsNumberEntryContentStored( ) ");
     return iNumberEntryContent ? ETrue : EFalse;
@@ -157,32 +155,37 @@
 // CPhoneNumberEntryManager::ClearNumberEntryContentCache
 // -----------------------------------------------------------
 //
-void CPhoneNumberEntryManager::ClearNumberEntryContentCache()
+EXPORT_C void CPhoneNumberEntryManager::ClearNumberEntryContentCache()
     {
     __LOGMETHODSTARTEND( EPhoneControl, "CPhoneNumberEntryManager::ClearNumberEntryContentCache( ) ");
     delete iNumberEntryContent;
     iNumberEntryContent = NULL;
     }
-
  
 // -----------------------------------------------------------
 // CPhoneNumberEntryManager::SetNumberEntryVisibilityL
 // -----------------------------------------------------------
 //
-void CPhoneNumberEntryManager::SetNumberEntryVisibilityL( TPhoneCmdParamBoolean aVisible )
+EXPORT_C void CPhoneNumberEntryManager::SetNumberEntryVisibilityL( TBool aVisible )
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneNumberEntryManager::SetNumberEntryVisibilityL( ) ");
     __PHONELOG1( EBasic, EPhoneControl, 
             "CPhoneNumberEntryManager::SetNumberEntryVisibilityL : aVisible =%d", 
-            aVisible.Boolean() );
-    iViewCommandHandle.ExecuteCommandL( EPhoneViewSetNumberEntryVisible, &aVisible );
+            aVisible );
+    TPhoneCmdParamBoolean booleanParam;
+    booleanParam.SetBoolean( ETrue );
+    if ( !aVisible )
+        {
+        booleanParam.SetBoolean( EFalse );
+        }
+    iViewCommandHandle.ExecuteCommandL( EPhoneViewSetNumberEntryVisible, &booleanParam );
     }
 
 // -----------------------------------------------------------
 // CPhoneNumberEntryManager::IsNumberEntryUsedL
 // -----------------------------------------------------------
 //
-TBool CPhoneNumberEntryManager::IsNumberEntryUsedL() const
+EXPORT_C TBool CPhoneNumberEntryManager::IsNumberEntryUsedL() const
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneNumberEntryManager::IsNumberEntryUsedL( ) ");
     return iViewCommandHandle.HandleCommandL(
@@ -194,7 +197,7 @@
 // CPhoneNumberEntryManager::IsNumberEntryVisibleL
 // -----------------------------------------------------------
 //
-TBool CPhoneNumberEntryManager::IsNumberEntryVisibleL() const
+EXPORT_C TBool CPhoneNumberEntryManager::IsNumberEntryVisibleL() const
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneNumberEntryManager::IsNumberEntryVisibleL( ) ");
     return iViewCommandHandle.HandleCommandL(
@@ -206,7 +209,7 @@
 // CPhoneNumberEntryManager::PhoneNumberFromEntryLC()
 // -----------------------------------------------------------
 //
-HBufC* CPhoneNumberEntryManager::PhoneNumberFromEntryLC() const
+EXPORT_C HBufC* CPhoneNumberEntryManager::PhoneNumberFromEntryLC() const
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneNumberEntryManager::PhoneNumberFromEntryLC( ) ");
     HBufC* phoneNumber = HBufC::NewLC( KPhoneNumberEntryBufferSize );
@@ -219,66 +222,109 @@
     return phoneNumber;
     }
 
-// -----------------------------------------------------------------------------
-// CPhoneNumberEntryManager::IsValidAlphaNumericKey
-// Checks is the key event a number, a special character
-// or if VoIP is enabled some other character
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneNumberEntryManager::IsValidAlphaNumericKey( 
-        const TKeyEvent& aKeyEvent,
-        TEventCode aEventCode )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneNumberEntryManager::IsValidAlphaNumericKey( ) ");
-    TBool ret(EFalse);
-    const TBool numericKeyEntered( 
-            CPhoneKeys::IsNumericKey( aKeyEvent, aEventCode ) );
-    // a numeric key (1,2,3,4,6,7,8,9,0,+,*,p,w )
-    // or
-    // a letter from fullscreen qwerty, miniqwerty or handwriting
-    // when voip is enabled.
-    if ( numericKeyEntered
-        || IsAlphanumericSupportedAndCharInput( aKeyEvent ) )
-        {
-        ret= ETrue;
-        }
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneNumberEntryManager::IsAlphanumericSupportedAndCharInput
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneNumberEntryManager::IsAlphanumericSupportedAndCharInput(
-        const TKeyEvent& aKeyEvent ) const
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneNumberEntryManager::IsAlphanumericSupportedAndCharInput( ) ");
-    TBool ret = ( ( iCustomization &&
-                 iCustomization->AllowAlphaNumericMode() ) &&
-                 ( ( aKeyEvent.iScanCode >= KPhoneKeyStart &&
-                     aKeyEvent.iScanCode <= KPhoneKeyEnd ) ||
-                     aKeyEvent.iModifiers & EModifierSpecial ) );
-    __PHONELOG1( EBasic, EPhoneControl, 
-            "CPhoneNumberEntryManager::IsAlphanumericSupportedAndCharInput: %d", ret );
-    return ret;
-    }
-
-// -----------------------------------------------------------
-// CPhoneNumberEntryManager::HandleNumberEntryClearedL
-// -----------------------------------------------------------
-//
-void CPhoneNumberEntryManager::HandleNumberEntryClearedL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneNumberEntryManager::HandleNumberEntryClearedL( ) ");
-    }
-
 // ---------------------------------------------------------
 // CPhoneNumberEntryManager::NumberEntryClearL
 // ---------------------------------------------------------
 //
-void CPhoneNumberEntryManager::NumberEntryClearL() const
+EXPORT_C void CPhoneNumberEntryManager::NumberEntryClearL() const
     {
     __LOGMETHODSTARTEND( EPhoneControl, "CPhoneNumberEntryManager::NumberEntryClearL( ) ");
     iViewCommandHandle.ExecuteCommandL( EPhoneViewClearNumberEntryContent );
     }
 
+// -----------------------------------------------------------
+// CPhoneNumberEntryManager::SetVisibilityIfNumberEntryUsedL
+// -----------------------------------------------------------
+//
+EXPORT_C TBool CPhoneNumberEntryManager::SetVisibilityIfNumberEntryUsedL(
+        TBool aVisibility )
+    {
+    __LOGMETHODSTARTEND(EPhoneControl, 
+            "CPhoneGsmInCall::SetVisibilityIfNumberEntryUsedL() ");
+    TBool retValue(EFalse);
+    if ( IsNumberEntryUsedL() )
+        {
+        TPhoneCmdParamBoolean booleanParam;
+        booleanParam.SetBoolean( EFalse );
+        if ( aVisibility )
+            {
+            booleanParam.SetBoolean( ETrue );
+            }
+        iViewCommandHandle.ExecuteCommandL( EPhoneViewSetNumberEntryVisible, &booleanParam );
+        __PHONELOG1( EBasic, EPhoneControl, 
+                    "SetVisibilityIfNumberEntryUsedL: %d", 
+                    aVisibility );
+        retValue = ETrue;
+        }
+    return retValue;
+    }
+
+// -----------------------------------------------------------
+// CPhoneNumberEntryManager::RemoveNumberEntryIfVisibilityIsFalseL
+// -----------------------------------------------------------
+//
+EXPORT_C void CPhoneNumberEntryManager::RemoveNumberEntryIfVisibilityIsFalseL()
+    {
+    __LOGMETHODSTARTEND(EPhoneControl, 
+                "CPhoneNumberEntryManager::RemoveNumberEntryIfVisibilityIsFalseL() ");
+    // Remove the number entry if it isn't DTMF dialer
+    if ( !IsNumberEntryVisibleL() )
+        {
+        iViewCommandHandle.ExecuteCommandL( EPhoneViewRemoveNumberEntry );
+        }
+    }
+
+// -----------------------------------------------------------
+// CPhoneNumberEntryManager::RemoveNumberEntryIfVisibilityIsFalseL
+// -----------------------------------------------------------
+//
+EXPORT_C void CPhoneNumberEntryManager::ClearNumberEntryContentCacheIfContentStored()
+    {
+    __LOGMETHODSTARTEND(EPhoneControl, 
+                    "CPhoneNumberEntryManager::ClearNumberEntryContentCacheIfContentStored() ");
+    if ( IsNumberEntryContentStored() )
+        {
+        ClearNumberEntryContentCache();
+        }
+    }
+
+// ---------------------------------------------------------
+// CPhoneNumberEntryManager::CallFromNumberEntryL
+// ---------------------------------------------------------
+//
+EXPORT_C void CPhoneNumberEntryManager::CallFromNumberEntryL()
+    {
+    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneNumberEntryManager::CallFromNumberEntryL( ) ");
+    __ASSERT_DEBUG( iStateMachine.PhoneEngineInfo(), Panic( EPhoneCtrlInvariant ) );
+    if ( IsCustomizedDialerVisibleL() )
+        {
+        return;
+        }
+    HBufC* phoneNumber = PhoneNumberFromEntryLC();
+    iStateMachine.PhoneEngineInfo()->SetPhoneNumber( *phoneNumber );
+    if ( phoneNumber->Des().Length() < KPhoneValidPhoneNumberLength )
+        {
+        iViewCommandHandle.ExecuteCommandL( EPhoneViewRemoveNumberEntry );
+        iState->HandleNumberEntryClearedL();
+        }
+    CleanupStack::PopAndDestroy( phoneNumber );
+
+    if ( !iCustomization ||
+         !iCustomization->HandleCallFromNumberEntryL() )
+        {
+        // Customization didn't handle call. Dial voice call
+        // as normally
+        iState->DialVoiceCallL();
+        }
+    }
+
+// -----------------------------------------------------------
+// CPhoneState::IsCustomizedDialerVisibleL()
+// -----------------------------------------------------------
+//
+EXPORT_C TBool CPhoneNumberEntryManager::IsCustomizedDialerVisibleL() const
+    {
+    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneNumberEntryManager::IsCustomizedDialerVisibleL( ) ");
+    return iViewCommandHandle.HandleCommandL(
+        EPhoneIsCustomizedDialerVisible ) == EPhoneViewResponseSuccess;
+    }
--- a/phoneapp/phoneuicontrol/src/cphonestate.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuicontrol/src/cphonestate.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -29,7 +29,6 @@
 #include <rconnmon.h>
 #include <Profile.hrh>
 #include <PUAcodes.hrh>
-#include <AknUtils.h>
 #include <telephonyvariant.hrh>
 #include <aknsoundsystem.h>
 #include <wlaninternalpskeys.h>
@@ -38,7 +37,6 @@
 #include <settingsinternalcrkeys.h>
 #include <starterclient.h>
 #include <rsssettings.h>
-#include <UikonInternalPSKeys.h>
 #include <telephonydomainpstypes.h>
 #include <telinformationpskeys.h>
 #include <coreapplicationuisdomainpskeys.h>
@@ -98,8 +96,6 @@
 #include "cphonemediatorsender.h"
 #include "cphonereleasecommand.h"
 #include "cphonecontinueemergencycallcommand.h"
-#include "cphonecallheadermanager.h"
-#include "cphonenumberentrymanager.h"
 #include "tphonecmdparamsfidata.h" 
 #include "mphonestorage.h"
 #include "phoneconstants.h"
@@ -113,8 +109,7 @@
     MPhoneCustomization* aCustomization) :
     iStateMachine( aStateMachine ),
     iViewCommandHandle( aViewCommandHandle ),
-    iCustomization( aCustomization ),
-    iEnv( *CEikonEnv::Static() )
+    iCustomization( aCustomization )
     {
     // Need to get current SimState for inherited classis
     iPreviousSimState = SimState();
@@ -126,20 +121,50 @@
 EXPORT_C void CPhoneState::BaseConstructL()
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::BaseConstructL() ");
-    if ( !iCbaManager )
+    if ( !iUiCommandManager )
         {
-        iCbaManager = CPhoneCbaManager::NewL(
+        iUiCommandManager = CPhoneUiCommandManager::NewL(
                         this,
                         *iViewCommandHandle,
                         *iStateMachine );
         }
+    
+    if ( !iNumberEntryManager )
+        {
+        iNumberEntryManager = CPhoneNumberEntryManager::NewL(
+                this,
+                *iViewCommandHandle,
+                *iStateMachine,
+                iCustomization,
+                *iUiCommandManager );
+        }
+    
     }
 
 EXPORT_C CPhoneState::~CPhoneState()
     {
     delete iNumberEntryManager;
-    delete iCallHeaderManager;
-    delete iCbaManager;
+    delete iUiCommandManager;
+    }
+
+// -----------------------------------------------------------
+// CPhoneState::EikonEnv
+// -----------------------------------------------------------
+//
+EXPORT_C CEikonEnv* CPhoneState::EikonEnv() const
+    {
+    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::EikonEnv( ) ");
+    return iEnv;
+    }
+
+// -----------------------------------------------------------
+// CPhoneState::SetEikonEnv
+// -----------------------------------------------------------
+//
+EXPORT_C void CPhoneState::SetEikonEnv( CEikonEnv* aEnv )
+    {
+    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::SetEikonEnv( ) ");
+    iEnv = aEnv;
     }
 
 // <-------------------------- PHONE ENGINE EVENTS --------------------------->
@@ -171,18 +196,14 @@
 
         case MEngineMonitor::EPEMessageAudioOutputChanged:
             HandleAudioOutputChangedL();
-            // Go to current state implementation
-            iCbaManager->UpdateInCallCbaL();
-            SetTouchPaneButtons(0);
+            UpdateUiCommands();
             break;
 
         case MEngineMonitor::EPEMessageAvailableAudioOutputsChanged:
             HandleAudioAvailableOutputChangedL();
             if ( iStateMachine->PhoneEngineInfo()->AudioOutput() != EPENotActive )
                 {
-                // Go to current state implementation
-                iCbaManager->UpdateInCallCbaL();
-                SetTouchPaneButtons(0);
+                UpdateUiCommands();
                 }
             break;
 
@@ -232,13 +253,12 @@
             iViewCommandHandle->ExecuteCommandL(
                 EPhoneViewSetGlobalNotifiersDisabled,
                 &globalNotifierParam );
-            NumberEntryClearL();
+            iNumberEntryManager->NumberEntryClearL();
             }
             break;
 
         case MEngineMonitor::EPEMessageIssuedUSSDRequest:
-            // Go to current state implementation
-            iCbaManager->UpdateInCallCbaL();
+            UpdateUiCommands();
             break;
 
         // *#9990#
@@ -332,7 +352,7 @@
     booleanParam.SetBoolean( audioMute );
     iViewCommandHandle->ExecuteCommandL( EPhoneViewActivateMuteUIChanges,
         &booleanParam );
-    SetTouchPaneButtons(0);
+    UpdateUiCommands();
     }
 
 // -----------------------------------------------------------
@@ -384,9 +404,7 @@
         }
     else if ( RouteParameters.iShowNote && audioOutput == EPELoudspeaker )
         {
-        CAknKeySoundSystem* keySounds =
-               static_cast<CAknAppUi*>( iEnv.EikAppUi() )->KeySounds();
-        keySounds->PlaySound( EAvkonSIDIHFActive );
+        // Avkon removal
         }
     }
 
@@ -455,30 +473,6 @@
     }
 
 // -----------------------------------------------------------------------------
-// CPhoneState::IsValidAlphaNumericKey
-// Checks is the key event a number, a special character
-// or if VoIP is enabled some other character
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneState::IsValidAlphaNumericKey( const TKeyEvent& aKeyEvent,
-        TEventCode aEventCode )
-    {
-    TBool ret(EFalse);
-    const TBool numericKeyEntered( CPhoneKeys::IsNumericKey(
-          aKeyEvent, aEventCode ) );
-    // a numeric key (1,2,3,4,6,7,8,9,0,+,*,p,w )
-    // or
-    // a letter from fullscreen qwerty, miniqwerty or handwriting
-    // when voip is enabled
-    if ( numericKeyEntered
-        || IsAlphanumericSupportedAndCharInput( aKeyEvent ) )
-        {
-        ret= ETrue;
-        }
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
 // CPhoneState::SendDtmfKeyEventL
 // send dtmf event when,
 // -touch dtmf dialer is NOT visible
@@ -489,11 +483,8 @@
 void CPhoneState::SendDtmfKeyEventL( const TKeyEvent& aKeyEvent,
                TEventCode aEventCode  )
     {
-    if ( !IsAnyQueryActiveL() )
-        {
-        // Send the key event to the phone engine.
-        SendKeyEventL( aKeyEvent, aEventCode );
-        }
+    // Send the key event to the phone engine.
+    SendKeyEventL( aKeyEvent, aEventCode );
     }
 
 // -----------------------------------------------------------
@@ -522,7 +513,7 @@
             break;
 
         case ECCPErrorSatControl:
-            NumberEntryClearL();
+            iNumberEntryManager->NumberEntryClearL();
             break;
 
         default:
@@ -577,32 +568,15 @@
 EXPORT_C void CPhoneState::HandleDisconnectingL( TInt aCallId )
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::HandleDisconnectingL( ) ");
-    TPhoneCmdParamCallHeaderData callHeaderParam;
-    callHeaderParam.SetCallState( EPEStateDisconnecting );
-    TBuf<KPhoneCallHeaderLabelMaxLength> labelText( KNullDesC );
-    LoadResource( labelText, EPhoneInCallDisconnected );
-    callHeaderParam.SetLabelText( labelText );
 
     iViewCommandHandle->ExecuteCommandL( EPhoneViewStopRingTone );
     iViewCommandHandle->ExecuteCommandL( 
             EPhoneViewUpdateBubble, 
-            aCallId,
-            &callHeaderParam );
+            aCallId);
 
     CPhoneClearBlacklist::Instance()->ClearBlackListOnNextKey();
     }
 
-// -----------------------------------------------------------
-// CPhoneState::IsCustomizedDialerVisibleL()
-// -----------------------------------------------------------
-//
-EXPORT_C TBool CPhoneState::IsCustomizedDialerVisibleL() const
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::IsCustomizedDialerVisibleL( ) ");
-    return iViewCommandHandle->HandleCommandL(
-        EPhoneIsCustomizedDialerVisible ) == EPhoneViewResponseSuccess;
-    }
-
 // <------------------------------- KEY EVENTS ------------------------------->
 // -----------------------------------------------------------
 // CPhoneState::HandleKeyMessageL( aMessage, aKeyCode )
@@ -658,64 +632,6 @@
     return onlySideVolumeKeySupported;
     }
 
-// -----------------------------------------------------------------------------
-// CPhoneState::IsAnyQueryActiveL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CPhoneState::IsAnyQueryActiveL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::IsAnyQueryActiveL( ) ");
-    TBool isActive( EFalse );
-    // If IsNoteDismissableL returns true then shown note is dismissable by key event
-    // and then there is no actual query and IsAnyQueryActiveL returns false.
-    if ( !IsNoteDismissableL() )
-        {
-        // Check is query displayed
-        TPhoneCmdParamBoolean isQueryDisplayed;
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewIsQuery, &isQueryDisplayed );
-        // Check is Blocking Dialog active ( e.g. RFS query )
-        TPhoneCmdParamBoolean blockingDialogStatus;
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewGetBlockingDialogStatus,
-            &blockingDialogStatus );
-        // Check is note displayed
-        TPhoneCmdParamBoolean isNoteActive;
-        iViewCommandHandle->ExecuteCommandL(
-            EPhoneViewIsNoteActive, &isNoteActive );
-
-        if ( isQueryDisplayed.Boolean() || blockingDialogStatus.Boolean() || isNoteActive.Boolean() )
-            {
-            isActive = ETrue;
-            }
-        }
-    __PHONELOG1( EBasic, EPhoneControl, "CPhoneState::IsAnyQueryActiveL: %d ", isActive );
-    return isActive;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneState::IsNoteDismissable
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneState::IsNoteDismissableL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::IsNoteDismissableL( ) ");
-    TBool dismiss = EFalse;
-    if ( !FeatureManager::FeatureSupported( KFeatureIdFfSimlessOfflineSupport ) ||
-         (FeatureManager::FeatureSupported( KFeatureIdFfSimlessOfflineSupport ) &&
-                  SimSecurityStatus() == ESimRejected )  )
-        {
-        // Check if note is dismissed by key event.
-        TPhoneCmdParamBoolean isNoteDismissed;
-        iViewCommandHandle->ExecuteCommandL(
-                EPhoneViewIsActiveNoteDissmissableByKeyEvent, &isNoteDismissed );
-        if ( isNoteDismissed.Boolean() )
-            {
-            dismiss = ETrue;
-            }
-        }
-    __PHONELOG1( EBasic, EPhoneControl, "CPhoneState::IsNoteDismissableL: %d ", dismiss );
-    return dismiss;
-    }
-
 // -----------------------------------------------------------
 // CPhoneState::SendKeyEventL
 // -----------------------------------------------------------
@@ -760,9 +676,9 @@
         aKeyEvent.iCode == EKeyBackspace )
         {
         // Get the number entry contents and store, if it exists
-        if ( IsNumberEntryUsedL() )
+        if ( iNumberEntryManager->IsNumberEntryUsedL() )
             {
-            HBufC* phoneNumber = PhoneNumberFromEntryLC();
+            HBufC* phoneNumber = iNumberEntryManager->PhoneNumberFromEntryLC();
             __PHONELOG1( EBasic, EPhoneControl, "SetPhoneNumber: %S ", phoneNumber );
             iStateMachine->PhoneEngineInfo()->SetPhoneNumber( *phoneNumber );
 
@@ -772,11 +688,7 @@
             __PHONELOG1( EBasic, EPhoneControl,
                 "CPhoneState::SendKeyPressL(%S)",
                 &buffer );
-            AknTextUtils::ConvertDigitsTo( buffer, EDigitTypeWestern );
-            __PHONELOG1( EBasic, EPhoneControl,
-                "CPhoneState::SendKeyPressL(%S)",
-                &buffer );
-
+            
             // Save the key code
             TLex code( buffer );
             iStateMachine->PhoneEngineInfo()->SetKeyCode( code.Peek() );
@@ -790,57 +702,6 @@
     }
 
 // <------------------------------ SYSTEM EVENTS ----------------------------->
-// -----------------------------------------------------------
-// CPhoneState::HandleSystemEventL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneState::HandleSystemEventL( const TWsEvent& /*aEvent*/ )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::HandleSystemEventL( ) ");
-    }
-
-// -----------------------------------------------------------
-// CPhoneState::HandleForegroundEventL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneState::HandleForegroundEventL( TBool aForeground )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::HandleForegroundEventL( ) ");
-    if ( !aForeground && IsNumberEntryUsedL() )
-        {
-        // Going out from foreground and number entry is open.
-        // Make sure that dtmf playing is stopped ( EEventKeyUp may be missed ).
-        iStateMachine->SendPhoneEngineMessage( MPEPhoneModel::EPEMessageEndDTMF );
-        }
-    }
-
-// -----------------------------------------------------------
-// CPhoneState::HandlePhoneForegroundEventL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneState::HandlePhoneForegroundEventL()
-    {
-    }
-
-// -----------------------------------------------------------
-// CPhoneState::HandlePhoneFocusLostEventL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneState::HandlePhoneFocusLostEventL()
-    {
-    // Notify that this method is called always when Idle is brought to foreground
-    // See implementation in CPhoneAppUI::HandleWsEventL
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::HandlePhoneFocusLostEventL( ) ");
-    }
-// ---------------------------------------------------------
-// CPhoneState::HandleIdleForegroundEventL
-// ---------------------------------------------------------
-//
-EXPORT_C void CPhoneState::HandleIdleForegroundEventL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::HandleIdleForegroundEventL( ) ");
-    // Empty implementation
-    }
 
 // -----------------------------------------------------------
 // CPhoneState::HandlePhoneStartupL
@@ -862,69 +723,19 @@
     const TInt aValue )
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::HandlePropertyChangedL( ) ");
-    __PHONELOG1( EBasic, EPhoneControl,
-            "CPhoneState::HandlePropertyChangedL - aCategory= %d", aCategory  );
-    __PHONELOG1( EBasic, EPhoneControl,
-            "CPhoneState::HandlePropertyChangedL - aKey= %d", aKey  );
-    __PHONELOG1( EBasic, EPhoneControl,
-            "CPhoneState::HandlePropertyChangedL - aValue= %d", aValue  );
-    if ( aCategory == KPSUidTelInformation && SimState() == EPESimUsable )
+    if ( ( aCategory == KPSUidStartup  ) && 
+         ( aKey == KStartupSimSecurityStatus ) && 
+         ( aValue == ESimRejected || aValue == ESimUnaccepted ) )
         {
-        if ( aKey == KTelDisplayInfo )
-            {
-            __PHONELOG( EBasic, EPhoneControl, 
-                    "CPhoneState::HandlePropertyChangedL - telephony display info received" );
-            }
-        }
-    else if ( aCategory == KPSUidStartup && aKey == KStartupSimSecurityStatus )
-        {
+       
+        __PHONELOG3( EBasic, EPhoneControl,
+                "CPhoneState::HandlePropertyChangedL -aCategory= %d, aKey= %d, aValue= %d",
+                aCategory, aKey, aValue );
         // Show security note, SIM is not valid.
-        if ( aValue == ESimRejected ||  aValue == ESimUnaccepted )
-            {
-            __PHONELOG( EBasic, EPhoneControl, "CPhoneStateStartup::HandlePropertyChangedL - SimSecurity status received" );
-            StartShowSecurityNoteL();
-            }
-        }
-    else if ( aCategory == KPSUidHWRM && aKey == KHWRMGripStatus )
-        {
-        UpdateCbaSwivelStateChangedL();
+        StartShowSecurityNoteL();
         }
     }
 
-// -----------------------------------------------------------
-// CPhoneState::HandleCenRepChangeL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneState::HandleCenRepChangeL(
-    const TUid& /*aUid*/,
-    const TUint /*aId*/ )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::HandleCenRepChangeL( ) ");
-    }
-
-// -----------------------------------------------------------
-// CPhoneState::NeedToSendToBackgroundL
-// -----------------------------------------------------------
-//
-EXPORT_C TBool CPhoneState::NeedToSendToBackgroundL() const
-    {
-    return iViewCommandHandle->HandleCommandL(
-        EPhoneViewGetNeedToSendToBackgroundStatus ) ==
-        EPhoneViewResponseSuccess;
-    }
-
-// -----------------------------------------------------------
-// CPhoneState::TopAppIsDisplayedL
-// -----------------------------------------------------------
-//
-EXPORT_C TBool CPhoneState::TopAppIsDisplayedL() const
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::TopAppIsDisplayedL( ) ");
-    return iViewCommandHandle->HandleCommandL(
-        EPhoneViewGetTopApplicationIsDisplayedStatus ) ==
-        EPhoneViewResponseSuccess;
-    }
-
 // <---------------------------- MENU AND CBA EVENTS ------------------------->
 EXPORT_C TBool CPhoneState::HandleCommandL( TInt aCommand )
     {
@@ -941,7 +752,6 @@
             break;
 
         case EPhoneDialerCmdTouchInput:
-        case EPhoneNumberAcqCmdSendMessage:
         case EPhoneNumberAcqCmdSave:
         case EPhoneNumberAcqCmdAddToName:
             break;
@@ -966,18 +776,6 @@
             DisconnectCallL();
             break;
 
-        case EPhoneCmdYesAlsLineChange:
-            if( IsAlsLineChangePossible() )
-                {
-                ChangeAlsLineL();
-                }
-            else
-                {
-                SendGlobalErrorNoteL( EPhoneLineBlockingNote );
-                HandleNumberEntryClearedL();
-                }
-            break;
-
         case EPhoneCmdYesBtDisconnectQuery:
         case EPhoneCmdNoBtDisconnectQuery:
             CPhoneBtaaDisconnectHandler::InstanceL()->HandleQueryDismissL( aCommand );
@@ -997,35 +795,13 @@
                  aCommand == EPhoneInCallCmdBtHandsfree );
             break;
 
-        case EPhoneCmdNoAlsLineChange:
         case EPhoneInCallCmdActivatEPhonebook:
         case EPhoneNumberAcqSecurityDialer:
         case EPhoneDialerCmdContacts:
         case EPhoneNumberAcqCmdToggleNeAlphaMode:
         case EPhoneNumberAcqCmdToggleNeNumericMode:
             break;
-
-        case EPhoneCmdYesVideoFailedNoMemorySwitchToVoice:
-            DialVoiceCallL();
-            break;
-
-        case EPhoneCmdNoVideoFailedNoMemorySwitchToVoice:
-            if ( IsNumberEntryUsedL() )
-                {
-                SetNumberEntryVisibilityL(ETrue);
-                }
-            else if ( NeedToSendToBackgroundL() )
-                {
-                // Continue displaying current app but set up the
-                // idle screen in the background
-                SetupIdleScreenInBackgroundL();
-                }
-            else
-                {
-                DisplayIdleScreenL();
-                }
-            break;
-
+        
         case EPhoneInCallCmdSetVolumeLevel:
             {
             // This command comes from ui control, no need to update
@@ -1231,7 +1007,7 @@
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::DisconnectCallL( ) ");
     TPhoneCmdParamInteger callIdParam;
-    iViewCommandHandle->ExecuteCommandL( 
+    iViewCommandHandle->ExecuteCommand( 
             EPhoneViewGetExpandedBubbleCallId, &callIdParam );
     TBool ret = EFalse;
     if( callIdParam.Integer() > KErrNotFound )
@@ -1266,121 +1042,15 @@
     }
 
 // -----------------------------------------------------------
-// CPhoneState::DisplayIdleScreenL
+// CPhoneState::RemoveDialogsAndSendPhoneToBackgroundL()
 // -----------------------------------------------------------
 //
-EXPORT_C void CPhoneState::DisplayIdleScreenL()
+EXPORT_C void CPhoneState::RemoveDialogsAndSendPhoneToBackgroundL()
     {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::DisplayIdleScreenL( ) ");
-
-     iViewCommandHandle->ExecuteCommandL( EPhoneViewRemovePhoneDialogs );
-
-    // Set Empty CBA
-    iCbaManager->SetCbaL( EPhoneEmptyCBA );
-    // Bring Idle app to the foreground
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewBringIdleToForeground );
-    }
-
-// -----------------------------------------------------------
-// CPhoneState::SetupIdleScreenInBackgroundL()
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneState::SetupIdleScreenInBackgroundL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::SetupIdleScreenInBackgroundL( ) ");
+    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::RemoveDialogsAndSendPhoneToBackgroundL( ) ");
     iViewCommandHandle->ExecuteCommandL( EPhoneViewRemovePhoneDialogs );
     iViewCommandHandle->ExecuteCommandL( EPhoneViewSendToBackground );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetIdleTopApplication );
-    iCbaManager->SetCbaL( EPhoneEmptyCBA );
-    }
-
-// ---------------------------------------------------------
-// CPhoneState::CallFromNumberEntryL
-// ---------------------------------------------------------
-//
-EXPORT_C void CPhoneState::CallFromNumberEntryL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::CallFromNumberEntryL( ) ");
-    __ASSERT_DEBUG( iStateMachine->PhoneEngineInfo(), Panic( EPhoneCtrlInvariant ) );
-    if ( IsCustomizedDialerVisibleL() )
-        {
-        return;
-        }
-    else if( IsNumberEntryUsedL() )
-        {
-        // IS query on top of dialer
-        if ( IsAnyQueryActiveL() )
-            {
-            return;
-            }
-        // Open recent calls list when the number entry is empty
-        TPhoneCmdParamInteger numberEntryCountParam;
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewGetNumberEntryCount,
-        &numberEntryCountParam );
-        TInt neLength( numberEntryCountParam.Integer() );
-        TBool startLogs = neLength == 0 ? ETrue : EFalse;
-
-        if ( startLogs )
-            {
-            iViewCommandHandle->HandleCommandL(
-            EPhoneDialerCmdLog );
-            return;
-            }
-        }
-
-    HBufC* phoneNumber = PhoneNumberFromEntryLC();
-    iStateMachine->PhoneEngineInfo()->SetPhoneNumber( *phoneNumber );
-    if ( phoneNumber->Des().Length() < KPhoneValidPhoneNumberLength )
-        {
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry );
-        HandleNumberEntryClearedL();
-        }
-    CleanupStack::PopAndDestroy( phoneNumber );
-
-    if ( !iCustomization ||
-         !iCustomization->HandleCallFromNumberEntryL() )
-        {
-        // Customization didn't handle call. Dial voice call
-        // as normally
-        DialVoiceCallL();
-        }
-
-    }
-
-// -----------------------------------------------------------
-// CPhoneState::DisplayHeaderForCallComingInL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneState::DisplayHeaderForCallComingInL(
-    TInt aCallId,
-    TBool aWaitingCall )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::DisplayHeaderForCallComingInL( ) ");
-    CallheaderManagerL()->DisplayHeaderForCallComingInL( aCallId, aWaitingCall );
-    }
-
-// -----------------------------------------------------------
-// CPhoneState::SetCallHeaderTextsForCallComingInL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneState::SetCallHeaderTextsForCallComingInL(
-        TInt aCallId,
-        TBool aWaitingCall,
-        TPhoneCmdParamCallHeaderData* aCallHeaderData )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::SetCallHeaderTextsForCallComingInL( ) ");
-    CallheaderManagerL()->SetCallHeaderTextsForCallComingIn( aCallId, aWaitingCall, aCallHeaderData );
-    }
-
-// -----------------------------------------------------------
-// CPhoneState::DisplayHeaderForOutgoingCallL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneState::DisplayHeaderForOutgoingCallL(
-    TInt aCallId )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::DisplayHeaderForOutgoingCallL( ) ");
-    CallheaderManagerL()->DisplayHeaderForOutgoingCallL(aCallId);
+    UpdateUiCommands();
     }
 
 // -----------------------------------------------------------
@@ -1391,10 +1061,8 @@
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::UpdateSingleActiveCallL( ) ");
     BeginUiUpdateLC();
-    TPhoneCmdParamCallHeaderData callHeaderParam;
-    callHeaderParam.SetCallState( EPEStateConnected );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId,
-        &callHeaderParam );
+
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId);
     
     UpdateRemoteInfoDataL( aCallId );
 
@@ -1409,14 +1077,14 @@
         {
         HandleChangedCallDurationL( aCallId );
         }
+    UpdateUiCommands();
     EndUiUpdate();
-
-    iCbaManager->UpdateInCallCbaL();
+    
     // If there is no need to send back ground and number entry is used then
     // we must show number entry.
-    if ( !NeedToSendToBackgroundL() && IsNumberEntryUsedL() && !IsAutoLockOn() )
+    if ( iNumberEntryManager->IsNumberEntryUsedL() && !IsAutoLockOn() )
         {
-        SetNumberEntryVisibilityL(ETrue);
+        iNumberEntryManager->SetNumberEntryVisibilityL(ETrue);
         }
     }
 
@@ -1427,17 +1095,21 @@
 TBool CPhoneState::IsWaitingCallL( const TInt aCallId  )
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::IsWaitingCallL( ) ");
-    return CallheaderManagerL()->IsWaitingCallL( aCallId );
-    }
-
-// -----------------------------------------------------------
-// CPhoneState::UpdateCallHeaderInfoL
-// -----------------------------------------------------------
-//
-TPhoneCmdParamCallHeaderData CPhoneState::UpdateCallHeaderInfoL( TInt aCallId )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::UpdateCallHeaderInfoL( ) ");
-    return CallheaderManagerL()->UpdateCallHeaderInfoL( aCallId );
+    TBool waiting( EFalse );
+    if ( aCallId >= 0 && 
+         iStateMachine->PhoneEngineInfo()->CallState( aCallId ) == EPEStateRinging )
+        {
+        TPhoneCmdParamInteger activeCallCount;
+        iViewCommandHandle->ExecuteCommandL(
+            EPhoneViewGetCountOfActiveCalls, &activeCallCount );
+        
+        if( activeCallCount.Integer() > 0 )
+            {
+            waiting = ETrue;
+            }
+        }
+    
+    return waiting;
     }
 
 // -----------------------------------------------------------
@@ -1447,7 +1119,7 @@
 EXPORT_C void CPhoneState::UpdateRemoteInfoDataL( TInt aCallId )
     {
     __LOGMETHODSTARTEND( EPhoneControl, "CPhoneState::UpdateRemoteInfoDataL() ");
-    TPhoneCmdParamCallHeaderData callHeaderParam = UpdateCallHeaderInfoL( aCallId );
+    /*TPhoneCmdParamCallHeaderData callHeaderParam = UpdateCallHeaderInfoL( aCallId );
     if( iCustomization )
         {
         TBuf<KCntMaxTextFieldLength> inCallNumberText( KNullDesC );
@@ -1455,90 +1127,13 @@
         // parameters if needed
         iCustomization->ModifyCallHeaderTexts( aCallId, &callHeaderParam,
             inCallNumberText );
-        }
+        }*/
+    //TODO
     // Update the remote info data in the call header
     iViewCommandHandle->ExecuteCommandL(
         EPhoneViewUpdateCallHeaderRemoteInfoData,
-        aCallId,
-        &callHeaderParam );
-    }
-
-// -----------------------------------------------------------
-// CPhoneState::SetCallHeaderType
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneState::SetCallHeaderType(
-    TInt aCallHeaderType )
-    {
-    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneState::SetCallHeaderType() ");
-    TRAP_IGNORE( CallheaderManagerL()->SetCallHeaderType( aCallHeaderType ) );
-    }
-
-// -----------------------------------------------------------
-// CPhoneState::GetRemoteInfoDataL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneState::GetRemoteInfoDataL(
-    TInt aCallId,
-    TDes& aData )
-    {
-    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneState::GetRemoteInfoDataL() ");
-    CallheaderManagerL()->GetRemoteInfoDataL( aCallId, aData );
-    }
-
-// -----------------------------------------------------------
-// CPhoneState::UpdateCbaSwivelStateChangedL
-// -----------------------------------------------------------
-//
-void CPhoneState::UpdateCbaSwivelStateChangedL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl,"CPhoneState::UpdateCbaSwivelStateChangedL()" );
-    TPhoneCmdParamCallStateData callStateData;
-    callStateData.SetCallState( EPEStateRinging );
-    iViewCommandHandle->HandleCommandL(
-        EPhoneViewGetCallIdByState, &callStateData );
-    TInt incomingCall = callStateData.CallId();
-
-    TPhoneCmdParamInteger activeCallCount;
-    iViewCommandHandle->ExecuteCommandL(
-            EPhoneViewGetCountOfActiveCalls, &activeCallCount );
-
-    if ( incomingCall > KErrNotFound )
-        {
-       if( activeCallCount.Integer() == ENoActiveCalls )
-            {
-            iCbaManager->UpdateIncomingCbaL( incomingCall );
-            }
-        else
-            {
-            iCbaManager->UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
-            }
-        }
-    else if ( activeCallCount.Integer() != ENoActiveCalls )
-        {
-        iCbaManager->UpdateInCallCbaL();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneState::IsSwivelClosed
-// This function checks from PubSubProxy that is
-// Swivel closed or not in product.
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CPhoneState::IsSwivelClosed() const
-    {
-    if( CPhoneCenRepProxy::Instance()->
-            IsTelephonyFeatureSupported( KTelephonyLVFlagSwivelInDevice ))
-        {
-        return CPhonePubSubProxy::Instance()->
-            Value( KPSUidHWRM, KHWRMGripStatus ) == EPSHWRMGripClosed;
-        }
-    else
-        {
-        return EFalse;
-        }
+        aCallId );
+    
     }
 
 // <-------------------------- CONTEXT MENU ------------------------->
@@ -1638,8 +1233,6 @@
         TBuf<KPhoneMaxTimeDisplayTextLength> timeString( KNullDesC );
         time.FormatL( timeString, durationFormat );
 
-        AknTextUtils::DisplayTextLanguageSpecificNumberConversion( timeString );
-
         noteText.Append( timeString );
 
         TPhoneCmdParamGlobalNote globalNoteParam;
@@ -1660,26 +1253,25 @@
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::SendGlobalInfoNoteL( ) ");
     __ASSERT_DEBUG( aResourceId, Panic( EPhoneCtrlParameterNotInitialized ) );
-    if ( CPhonePubSubProxy::Instance()->Value(
-            KPSUidUikon, KUikGlobalNotesAllowed ) == 1 )
-        {
-        TPhoneCmdParamBoolean globalNotifierParam;
-        globalNotifierParam.SetBoolean( EFalse );
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled,
-            &globalNotifierParam );
+    
+    // Avkon removal
+    TPhoneCmdParamBoolean globalNotifierParam;
+    globalNotifierParam.SetBoolean( EFalse );
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled,
+        &globalNotifierParam );
 
-        TPhoneCmdParamGlobalNote globalNoteParam;
-        PhoneNotificationType type = aNotificationDialog ? 
-            EPhoneNotificationDialog : EPhoneMessageBoxInformation;
-        globalNoteParam.SetType( type );
-        globalNoteParam.SetTextResourceId(
-            CPhoneMainResourceResolver::Instance()->
-            ResolveResourceID( aResourceId ) );
-        globalNoteParam.SetNotificationDialog( aNotificationDialog );
+    TPhoneCmdParamGlobalNote globalNoteParam;
+    PhoneNotificationType type = aNotificationDialog ? 
+        EPhoneNotificationDialog : EPhoneMessageBoxInformation;
+    globalNoteParam.SetType( type );
+    globalNoteParam.SetTextResourceId(
+        CPhoneMainResourceResolver::Instance()->
+        ResolveResourceID( aResourceId ) );
+    globalNoteParam.SetNotificationDialog( aNotificationDialog );
+    
+    iViewCommandHandle->ExecuteCommandL(
+        EPhoneViewShowGlobalNote, &globalNoteParam );
         
-        iViewCommandHandle->ExecuteCommandL(
-            EPhoneViewShowGlobalNote, &globalNoteParam );
-        }
     }
 
 // ---------------------------------------------------------
@@ -1691,9 +1283,7 @@
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::SendGlobalWarningNoteL( ) ");
     __ASSERT_DEBUG( aResourceId, Panic( EPhoneCtrlParameterNotInitialized ) );
-    if ( CPhonePubSubProxy::Instance()->Value(
-            KPSUidUikon, KUikGlobalNotesAllowed ) == 1 ||
-            SimState() == EPESimReadable )
+    if ( SimState() == EPESimReadable )
         {
         TPhoneCmdParamBoolean globalNotifierParam;
         globalNotifierParam.SetBoolean( EFalse );
@@ -1723,27 +1313,25 @@
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::SendGlobalErrorNoteL( ) ");
     __ASSERT_DEBUG( aResourceId, Panic( EPhoneCtrlParameterNotInitialized ) );
-    if ( CPhonePubSubProxy::Instance()->Value(
-            KPSUidUikon, KUikGlobalNotesAllowed ) == 1 )
-        {
-        TPhoneCmdParamBoolean globalNotifierParam;
-        globalNotifierParam.SetBoolean( EFalse );
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled,
-            &globalNotifierParam );
+
+    TPhoneCmdParamBoolean globalNotifierParam;
+    globalNotifierParam.SetBoolean( EFalse );
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled,
+        &globalNotifierParam );
 
-        TPhoneCmdParamGlobalNote globalNoteParam;
-        PhoneNotificationType type = aNotificationDialog ? 
-                    EPhoneNotificationDialog : EPhoneMessageBoxInformation;
-        globalNoteParam.SetType( type );
-        
-        globalNoteParam.SetTextResourceId(
-            CPhoneMainResourceResolver::Instance()->
-            ResolveResourceID( aResourceId ) );
-        globalNoteParam.SetNotificationDialog( aNotificationDialog );
+    TPhoneCmdParamGlobalNote globalNoteParam;
+    PhoneNotificationType type = aNotificationDialog ? 
+                EPhoneNotificationDialog : EPhoneMessageBoxInformation;
+    globalNoteParam.SetType( type );
+    
+    globalNoteParam.SetTextResourceId(
+        CPhoneMainResourceResolver::Instance()->
+        ResolveResourceID( aResourceId ) );
+    globalNoteParam.SetNotificationDialog( aNotificationDialog );
 
-        iViewCommandHandle->ExecuteCommandL(
-            EPhoneViewShowGlobalNote, &globalNoteParam );
-        }
+    iViewCommandHandle->ExecuteCommandL(
+        EPhoneViewShowGlobalNote, &globalNoteParam );
+
     }
 
 // ---------------------------------------------------------
@@ -1790,11 +1378,6 @@
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::HandleInitiatedEmergencyCallL( ) ");
     iViewCommandHandle->ExecuteCommandL( EPhoneViewRemovePhoneDialogs );
     iViewCommandHandle->ExecuteCommandL( EPhoneViewStopRingTone );
-
-    // Reset Hold flag to view
-    TPhoneCmdParamBoolean holdFlag;
-    holdFlag.SetBoolean( EFalse );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag );
     
     iStateMachine->ChangeState( EPhoneStateEmergency );
     }
@@ -1826,20 +1409,9 @@
 void CPhoneState::HandleCallSecureStatusChangeL( TInt aCallId )
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::HandleCallSecureStatusChangeL( ) ");
-    TBool ciphering( ETrue );
-    TBool secureSpecified( ETrue );
-    if ( aCallId > KErrNotFound )
-        {
-        ciphering = iStateMachine->PhoneEngineInfo()->IsSecureCall( aCallId );
-        secureSpecified = iStateMachine->PhoneEngineInfo()->SecureSpecified();
-        }
-    TPhoneCmdParamCallHeaderData callHeaderParam;
-    callHeaderParam.SetCiphering( ciphering );
-    callHeaderParam.SetCipheringIndicatorAllowed( secureSpecified );
     iViewCommandHandle->ExecuteCommandL(
         EPhoneViewCipheringInfoChange,
-        aCallId,
-        &callHeaderParam );
+        aCallId);
     }
 
 // ---------------------------------------------------------
@@ -1849,44 +1421,12 @@
 EXPORT_C TBool CPhoneState::IsVideoCall( const TInt aCallId )
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::IsVideoCall( ) ");
-    TBool isVideoCall( EFalse );
-    TRAP_IGNORE( isVideoCall = CallheaderManagerL()->IsVideoCall( aCallId ) );
-    __PHONELOG1( EBasic, EPhoneControl, 
-        "CPhoneState::IsVideoCall isVideoCall(%d)",
-        isVideoCall );
-    return isVideoCall;
-    }
-
-// ---------------------------------------------------------
-// CPhoneState::ChangeAlsLineL
-// ---------------------------------------------------------
-//
-void CPhoneState::ChangeAlsLineL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::ChangeAlsLineL( ) ");
-    CCCECallParameters::TCCELineType currentLine;
-    TSSSettingsAlsValue newLine( ESSSettingsAlsPrimary );
-    currentLine = iStateMachine->PhoneEngineInfo()->ALSLine();
-    if ( currentLine == CCCECallParameters::ECCELineTypePrimary )
+    if ( aCallId < 0 )
         {
-        newLine = ESSSettingsAlsAlternate;
-        }
-    else if ( currentLine == CCCECallParameters::ECCELineTypeAux )
-        {
-        newLine = ESSSettingsAlsPrimary;
+        return EFalse;
         }
 
-    RSSSettings ssSettings;
-    TInt retValue = ssSettings.Open();
-    __PHONELOG1( EBasic, EPhoneControl,
-            "CPhoneState::ChangeAlsLineL : Open %d", retValue );
-    if ( retValue == KErrNone )
-        {
-        retValue = ssSettings.Set( ESSSettingsAls, newLine );
-        __PHONELOG1( EBasic, EPhoneControl,
-            "CPhoneState::ChangeAlsLineL : Set %d", retValue );
-        ssSettings.Close();
-        }
+    return EPECallTypeVideo == iStateMachine->PhoneEngineInfo()->CallType( aCallId );
     }
 
 // ---------------------------------------------------------
@@ -2002,16 +1542,6 @@
     return retValue;
     }
 
-// ---------------------------------------------------------
-// CPhoneState::SetDivertIndication
-// ---------------------------------------------------------
-//
-EXPORT_C void CPhoneState::SetDivertIndication( const TBool aDivertIndication )
-    {
-    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneState::SetDivertIndication()");
-    TRAP_IGNORE( CallheaderManagerL()->SetDivertIndication( aDivertIndication ) );
-    }
-
 // -----------------------------------------------------------------------------
 // CPhoneState::StartShowSecurityNoteL
 // -----------------------------------------------------------------------------
@@ -2023,15 +1553,9 @@
     securityMode.SetBoolean( ETrue );
     iViewCommandHandle->ExecuteCommandL( EPhoneViewSetSecurityMode, &securityMode );
     iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry );
-    iCbaManager->UpdateCbaL( EPhoneEmptyCBA );
+    UpdateUiCommands();
     
-    TPhoneCmdParamInteger uidParam;
-    uidParam.SetInteger( KUidPhoneApplication.iUid );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewBringAppToForeground,
-        &uidParam );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetTopApplication,
-        &uidParam );
-
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewBringPhoneAppToForeground );
     TInt resourceId ( KErrNone );
     if ( SimSecurityStatus() == ESimRejected )
         {
@@ -2080,7 +1604,7 @@
 void CPhoneState::ShowWlanMacAddressL()
     {
     __LOGMETHODSTARTEND( EPhoneControl, "CPhoneState::ShowWlanMacAddressL()");
-    NumberEntryClearL();
+    iNumberEntryManager->NumberEntryClearL();
     // Fetch WLAN MAC address
     TBuf8<KPhoneWlanMacAddressLength> address;
     RProperty::Get(
@@ -2148,32 +1672,6 @@
             &outputParam );
     }
 
-
-// ---------------------------------------------------------
-// CPhoneState::IsAlsLineChangePossible
-// ---------------------------------------------------------
-//
-TBool CPhoneState::IsAlsLineChangePossible()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::IsAlsLineChangePossible( ) ");
-    TBool isAlsLineChangePossible( ETrue );
-    TSSSettingsAlsBlockingValue AlsBlockingValue( ESSSettingsAlsBlockingNotSupported );
-    TInt value( 0 );
-    RSSSettings ssSettings;
-    TInt retValue = ssSettings.Open();
-    if ( retValue == KErrNone )
-        {
-        ssSettings.Get( ESSSettingsAlsBlocking, value );
-        ssSettings.Close();
-        AlsBlockingValue = static_cast< TSSSettingsAlsBlockingValue > ( value );
-        if( AlsBlockingValue == ESSSettingsAlsAlternate )
-            {
-            isAlsLineChangePossible = EFalse;
-            }
-        }
-    return isAlsLineChangePossible;
-    }
-
 // ---------------------------------------------------------
 // CPhoneState::ShowNumberBusyNoteL
 // ---------------------------------------------------------
@@ -2223,81 +1721,15 @@
     }
 
 // ---------------------------------------------------------
-// CPhoneState::IsKeyLockOn
-// ---------------------------------------------------------
-//
-EXPORT_C TBool CPhoneState::IsKeyLockOn() const
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::IsKeyLockOn( ) ");
-    TPhoneCmdParamBoolean keyLockStatus;
-    keyLockStatus.SetBoolean( EFalse );
-    iViewCommandHandle->ExecuteCommand(
-            EPhoneViewGetKeyLockStatus,
-            &keyLockStatus );
-    __PHONELOG1( EBasic,
-            EPhoneControl,
-            "CPhoneState::IsKeyLockOn() Lock Status: %d",
-            keyLockStatus.Boolean() );
-    return keyLockStatus.Boolean();
-    }
-
-// ---------------------------------------------------------
-// CPhoneState::CompleteSatRequestL
-// ---------------------------------------------------------
-//
-EXPORT_C void CPhoneState::CompleteSatRequestL( const TInt aCallId )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::CompleteSatRequestL( ) ");
-    iStateMachine->SetCallId( aCallId );
-    iStateMachine->SendPhoneEngineMessage(
-        MPEPhoneModel::EPEMessageSatCallRequestCompleted );
-    }
-
-// ---------------------------------------------------------
-// CPhoneState::SetTouchPaneButtons
-// ---------------------------------------------------------
-//
-EXPORT_C void CPhoneState::SetTouchPaneButtons( TInt /*aResourceId*/ )
-    {
-    TPhoneCmdParamBoolean muteParam;
-    muteParam.SetBoolean( iStateMachine->PhoneEngineInfo()->AudioMute() );
-    iViewCommandHandle->ExecuteCommand(EPhoneViewSetMuteFlag,&muteParam);
-    
-    const TPEAudioOutput audioOutput =
-        iStateMachine->PhoneEngineInfo()->AudioOutput();
-
-    TBool btAvailable = iStateMachine->PhoneEngineInfo()->AudioOutputAvailable(
-        EPEBTAudioAccessory );
-    
-    TPhoneCmdParamBoolean btParam;
-    btParam.SetBoolean( audioOutput == EPEBTAudioAccessory );        
-    iViewCommandHandle->ExecuteCommand(EPhoneViewSetBlueToothFlag,&btParam);
-
-    TPhoneCmdParamBoolean btAvailableParam;
-    btAvailableParam.SetBoolean( btAvailable );        
-    iViewCommandHandle->ExecuteCommand(
-            EPhoneViewSetBluetoothAvailableFlag,&btAvailableParam);
-           
-    TBool emergency( EPEStateIdle != 
-        iStateMachine->PhoneEngineInfo()->CallState( KPEEmergencyCallId ) );
-    TPhoneCmdParamBoolean booleanParam;
-    booleanParam.SetBoolean( emergency );
-
-    TRAP_IGNORE( iViewCommandHandle->ExecuteCommandL(
-                 EPhoneViewSetTouchPaneButtons,
-                 &booleanParam ) );
-    }
-
-// ---------------------------------------------------------
 // CPhoneState::DeleteTouchPaneButtons
 // ---------------------------------------------------------
 //
 EXPORT_C void CPhoneState::DeleteTouchPaneButtons()
     {
-    TPhoneCmdParamBoolean boolParam;
-    TRAP_IGNORE( iViewCommandHandle->ExecuteCommandL(
+    /*TPhoneCmdParamBoolean boolParam;
+    TRAP_IGNORE( iViewCommandHandle->ExecuteCommand(
                     EPhoneViewSetTouchPaneButtons,
-                    &boolParam ) );
+                    &boolParam ) );*/
     }
 
 // -----------------------------------------------------------
@@ -2373,11 +1805,6 @@
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::SetDefaultFlagsL()");
     iViewCommandHandle->ExecuteCommandL( EPhoneViewHideNaviPaneAudioVolume );
     iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateFSW );
-
-    // Reset Hold flag to view
-    TPhoneCmdParamBoolean holdFlag;
-    holdFlag.SetBoolean( EFalse );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag );
     
     TPhoneCmdParamBoolean globalNotifierParam;
     globalNotifierParam.SetBoolean( EFalse );
@@ -2419,13 +1846,8 @@
     iViewCommandHandle->ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled,
         &globalNotifierParam );
     
-    TPhoneCmdParamInteger uidParam;
-    uidParam.SetInteger( KUidPhoneApplication.iUid );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewBringAppToForeground,
-        &uidParam );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetTopApplication,
-        &uidParam );
-
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewBringPhoneAppToForeground );
+    
     // Display error note
     SExtendedError ext;
     ext.iComponent = KUidPhoneApplication;
@@ -2452,55 +1874,6 @@
                     KPSUidStartup, KStartupSimSecurityStatus );
     }
 
-// -----------------------------------------------------------------------------
-// CPhoneState::CallWaitingNoteL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CPhoneState::CallWaitingNoteL( TInt aCallId )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::CallWaitingNoteL()" );
-    TBuf< KPhoneContactNameMaxLength > callText( KNullDesC );
-    // Set CLI text for the call header
-    const TBool contactInfoAvailable =
-        iStateMachine->PhoneEngineInfo()->RemoteName( aCallId ).Length() ||
-        iStateMachine->PhoneEngineInfo()->RemoteCompanyName( aCallId ).Length();
-
-    __PHONELOG1( EBasic, EPhoneControl,
-        "CPhoneState::CallWaitingNoteL - contactInfoAvailable(%d)", contactInfoAvailable );
-    __PHONELOG1( EBasic, EPhoneControl,
-        "CPhoneState::CallWaitingNoteL - remote name(%S)",
-        &iStateMachine->PhoneEngineInfo()->RemoteName( aCallId ) );
-    __PHONELOG1( EBasic, EPhoneControl,
-        "CPhoneState::CallWaitingNoteL - company name(%S)",
-        &iStateMachine->PhoneEngineInfo()->RemoteCompanyName( aCallId ) );
-    
-    if ( contactInfoAvailable )
-        {
-        // Set Call Text flag to waiting note
-        callText = iStateMachine->PhoneEngineInfo()->RemoteName( aCallId );
-
-        // if no remote name available then set company name
-        if ( callText == KNullDesC )
-            {
-            callText = iStateMachine->PhoneEngineInfo()->RemoteCompanyName( aCallId );
-            }
-
-        TPhoneCmdParamGlobalNote globalNoteParam;
-        globalNoteParam.SetText( callText );
-        globalNoteParam.SetType( EPhoneNotificationDialog );
-        globalNoteParam.SetTextResourceId(
-            CPhoneMainResourceResolver::Instance()->
-            ResolveResourceID( EPhoneCallWaitingWithLabel ) );
-        globalNoteParam.SetNotificationDialog( ETrue );
-        iViewCommandHandle->ExecuteCommandL(
-                EPhoneViewShowGlobalNote, &globalNoteParam );
-        }
-    else
-        {
-        SendGlobalInfoNoteL( EPhoneCallWaitingWithoutLabel, ETrue );
-        }
-    }
-
 // ----------------------------------------------------------------------------
 // CPhoneState::SetRingingTonePlaybackL()
 // ----------------------------------------------------------------------------
@@ -2625,23 +1998,6 @@
         }
     }
 
-// -----------------------------------------------------------
-// CPhoneState::CallheaderManagerL
-// -----------------------------------------------------------
-//
-CPhoneCallHeaderManager* CPhoneState::CallheaderManagerL()
-    {
-    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneState::CallheaderManagerL() ");
-    if ( !iCallHeaderManager )
-        {
-        iCallHeaderManager = CPhoneCallHeaderManager::NewL(
-                *iViewCommandHandle,
-                *iStateMachine,
-                iCustomization );
-        }
-    return iCallHeaderManager;
-    }
-
 // ---------------------------------------------------------------------------
 // CPhoneState::LoadResource
 // ---------------------------------------------------------------------------
@@ -2650,9 +2006,10 @@
     {
     __LOGMETHODSTARTEND( EPhoneControl, "CPhoneState::LoadResource() ");
     __PHONELOG1( EBasic, EPhoneControl, "CPhoneState::LoadResource - aResource: %d", aResource );
-    StringLoader::Load(  aData,
-                         CPhoneMainResourceResolver::Instance()->ResolveResourceID( aResource ),
-                         &iEnv  );
+    StringLoader::Load(  
+            aData,
+            CPhoneMainResourceResolver::Instance()->ResolveResourceID( aResource ),
+            EikonEnv() );
     }
 
 // -----------------------------------------------------------
@@ -2673,317 +2030,6 @@
     return connectedCall;
     }
 
-// -----------------------------------------------------------
-// CPhoneState::NumberEntryContentL
-// -----------------------------------------------------------
-//
-CPhoneNumberEntryManager* CPhoneState::NumberEntryManagerL()
-    {
-    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneState::NumberEntryContentL() ");
-    if ( !iNumberEntryManager )
-        {
-        iNumberEntryManager = CPhoneNumberEntryManager::NewL(
-                this,
-                *iViewCommandHandle,
-                *iStateMachine,
-                iCustomization,
-                *iCbaManager );
-        }
-    return iNumberEntryManager;
-    }
-
-// -----------------------------------------------------------
-// CPhoneState::PhoneNumberFromEntryLC()
-// -----------------------------------------------------------
-//
-EXPORT_C HBufC* CPhoneState::PhoneNumberFromEntryLC()
-    {
-    return NumberEntryManagerL()->PhoneNumberFromEntryLC();
-    }
-
-// -----------------------------------------------------------
-// CPhoneState::IsNumberEntryUsedL
-// -----------------------------------------------------------
-//
-EXPORT_C TBool CPhoneState::IsNumberEntryUsedL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::IsNumberEntryUsedL( ) ");
-    return NumberEntryManagerL()->IsNumberEntryUsedL();
-    }
-
-// -----------------------------------------------------------
-// CPhoneState::IsNumberEntryVisibleL
-// -----------------------------------------------------------
-//
-EXPORT_C TBool CPhoneState::IsNumberEntryVisibleL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::IsNumberEntryVisibleL( ) ");
-    return NumberEntryManagerL()->IsNumberEntryVisibleL();
-    }
-
-// -----------------------------------------------------------
-// CPhoneState::HandleNumberEntryClearedL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneState::HandleNumberEntryClearedL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::HandleNumberEntryClearedL( ) ");
-    NumberEntryManagerL()->HandleNumberEntryClearedL();
-    }
-
-// -----------------------------------------------------------
-// CPhoneState::SetNumberEntryVisibilityL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneState::SetNumberEntryVisibilityL( const TBool aVisible )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::SetNumberEntryVisibilityL( ) ");
-    TPhoneCmdParamBoolean booleanParam;
-    booleanParam.SetBoolean( ETrue );
-    if ( !aVisible )
-        {
-        booleanParam.SetBoolean( EFalse );
-        }
-    NumberEntryManagerL()->SetNumberEntryVisibilityL( booleanParam );
-    }
-
-// -----------------------------------------------------------
-// CPhoneState::IsNumberEntryContentStored
-// -----------------------------------------------------------
-//
-EXPORT_C TBool CPhoneState::IsNumberEntryContentStored()
-    {
-    TBool isNumberEntryContentStored( EFalse );
-    TRAP_IGNORE( isNumberEntryContentStored = NumberEntryManagerL()->IsNumberEntryContentStored() );
-    return isNumberEntryContentStored;
-    }
-
-// -----------------------------------------------------------
-// CPhoneState::StoreNumberEntryContentL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneState::StoreNumberEntryContentL()
-    {
-    NumberEntryManagerL()->StoreNumberEntryContentL();
-    }
-
-// -----------------------------------------------------------
-// CPhoneState::ClearNumberEntryContentCache
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneState::ClearNumberEntryContentCache()
-    {
-    TRAP_IGNORE( NumberEntryManagerL()->ClearNumberEntryContentCache() );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneState::IsAlphanumericSupportedAndCharInput
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CPhoneState::IsAlphanumericSupportedAndCharInput(
-        const TKeyEvent& aKeyEvent )
-    {
-    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneState::IsAlphanumericSupportedAndCharInput() ");
-    TBool alphaNumericSupport(EFalse);
-    TRAP_IGNORE( alphaNumericSupport = NumberEntryManagerL()->IsAlphanumericSupportedAndCharInput( aKeyEvent ) );
-    return alphaNumericSupport;
-    }
-
-// -----------------------------------------------------------
-// CPhoneState::NumberEntryClearL
-// -----------------------------------------------------------
-//
-void CPhoneState::NumberEntryClearL()
-    {
-    NumberEntryManagerL()->NumberEntryClearL();
-    }
-
-// -----------------------------------------------------------
-// CPhoneState::GetBlockedKeyList
-// -----------------------------------------------------------
-//
-EXPORT_C const RArray<TInt>& CPhoneState::GetBlockedKeyList() const
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::GetBlockedKeyList( ) ");
-    return iStateMachine->PhoneStorage()->GetBlockedKeyList();
-    }
-
-// -----------------------------------------------------------
-// CPhoneState::DisableHWKeysL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneState::DisableHWKeysL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::DisableHWKeysL( ) ");
-
-    if( iStateMachine->PhoneStorage()->IsBlockedKeysListEmpty() )
-        {
-        __PHONELOG( EBasic, EPhoneControl, " CPhoneState::DisableHWKeysL HW Keys Disabled " );
-        iStateMachine->PhoneStorage()->AppendBlockedKeysListL( EStdKeyNo );
-        iStateMachine->PhoneStorage()->AppendBlockedKeysListL( EStdKeyYes );
-        }
-    }
-
-// -----------------------------------------------------------
-// CPhoneState::DisableCallUIL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneState::DisableCallUIL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::DisableCallUIL( ) ");
-    // Set Call UI state to storage
-    if( !iStateMachine->PhoneStorage()->IsScreenLocked() )
-        {
-        __PHONELOG( EBasic, EPhoneControl, " CPhoneState::DisableCallUIL CallUI Disabled " );
-        // Show keys locked note
-        TPhoneCmdParamNote noteParam;
-        noteParam.SetType( EPhoneNoteUIDisabled );
-        noteParam.SetResourceId( CPhoneMainResourceResolver::Instance()->
-            ResolveResourceID( EPhoneInformationNote ) );
-    
-        HBufC* noteText = StringLoader::LoadLC( 
-            CPhoneMainResourceResolver::Instance()->
-                ResolveResourceID( EPhoneIncomingCallKeysLocked ) );
-        noteParam.SetText( *noteText );
-    
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewShowNote, &noteParam );
-        CleanupStack::PopAndDestroy( noteText );
-    
-        // Start capturing the key guard key
-        TPhoneCmdParamKeyCapture appKeyCaptureParam;
-        appKeyCaptureParam.SetKey( EStdKeyDevice7 );
-        appKeyCaptureParam.SetKeyCode( EKeyDeviceF );
-        appKeyCaptureParam.SetCaptureType( EPhoneKeyAllEvents );
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewStartCapturingKey, &appKeyCaptureParam );
-        // Set Call UI state to storage
-        iStateMachine->PhoneStorage()->SetScreenLocked( ETrue );
-        }
-    }
-
-// -----------------------------------------------------------
-// CPhoneState::EnableCallUIL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneState::EnableCallUIL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::EnableCallUIL( ) ");
-    if( iStateMachine->PhoneStorage()->IsScreenLocked() )
-        {
-        __PHONELOG( EBasic, EPhoneControl, " CPhoneState::EnableCallUIL CallUI Enabled " );
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNote );
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewDisableKeyLockWithoutNote );
-
-        // Stop capturing the key guard key
-        TPhoneCmdParamKeyCapture appKeyCaptureParam;
-        appKeyCaptureParam.SetKey( EStdKeyDevice7 );
-        appKeyCaptureParam.SetKeyCode( EKeyDeviceF );
-        appKeyCaptureParam.SetCaptureType( EPhoneKeyAllEvents );
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewStopCapturingKey, &appKeyCaptureParam );
-        
-        iStateMachine->PhoneStorage()->SetScreenLocked( EFalse );
-        }
-    }
-
-// -----------------------------------------------------------
-// CPhoneState::CheckDisableHWKeysAndCallUIL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneState::CheckDisableHWKeysAndCallUIL()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneState::CheckDisableHWKeysAndCallUIL( ) ");
-    if( IsKeyLockOn() || IsAutoLockOn() )
-        {
-        // Disable HW keys if needed
-        if( CPhoneCenRepProxy::Instance()->
-                IsTelephonyFeatureSupported( KTelephonyLVFlagDisableCallControlHardKeysWhileLocked ) )
-            {
-            DisableHWKeysL();
-            }
-
-        // Disable Call UI if needed
-        if( FeatureManager::FeatureSupported( KFeatureIdFfTouchUnlockStroke )
-                && !CPhoneCenRepProxy::Instance()->
-                IsTelephonyFeatureSupported( KTelephonyLVFlagAllowUnlockOnIncoming ) )
-            {
-            DisableCallUIL();
-            iStateMachine->PhoneStorage()->SetNeedToEnableKeylock( ETrue );
-            }
-        }
-    }
-
-// -----------------------------------------------------------
-// CPhoneState::HandleHoldSwitchL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneState::HandleHoldSwitchL()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneState::HandleHoldSwitchL( ) ");
-
-    if( CPhoneCenRepProxy::Instance()->
-            IsTelephonyFeatureSupported( KTelephonyLVFlagDisableCallControlHardKeysWhileLocked ) )
-        {
-        if( iStateMachine->PhoneStorage()->IsBlockedKeysListEmpty() )
-            {
-            DisableHWKeysL();
-            }
-        else
-            {
-            iStateMachine->PhoneStorage()->ResetBlockedKeysList();
-            }
-        }
-    
-    if( FeatureManager::FeatureSupported( KFeatureIdFfTouchUnlockStroke ) 
-            && !CPhoneCenRepProxy::Instance()->
-            IsTelephonyFeatureSupported( KTelephonyLVFlagAllowUnlockOnIncoming ) )
-        {
-        if( iStateMachine->PhoneStorage()->IsScreenLocked() )
-            {
-            EnableCallUIL();
-            }
-        else
-            {
-            iViewCommandHandle->ExecuteCommandL( EPhoneViewEnableKeyLockWithoutNote );
-            DisableCallUIL();
-            }
-        }
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewStopRingTone );
-    }
-
-// -----------------------------------------------------------
-// CPhoneState::RetainPreviousKeylockStateL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneState::RetainPreviousKeylockStateL()
-    {
-    // Lock keypad, if keylock was enabled before incoming call.
-    // Also reset PhoneStorage keylock status.
-    if ( FeatureManager::FeatureSupported( KFeatureIdFfTouchUnlockStroke ) &&
-        iStateMachine->PhoneStorage()->NeedToEnableKeylock() )
-        {
-        iStateMachine->PhoneStorage()->SetNeedToEnableKeylock( EFalse );
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewEnableKeyLockWithoutNote ); 
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneState::HandleKeyLockEnabledL
-// ---------------------------------------------------------
-//
-EXPORT_C void CPhoneState::HandleKeyLockEnabled( TBool aKeylockEnabled )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::HandleKeyLockEnabledL( ) ");
-    if( !FeatureManager::FeatureSupported( KFeatureIdFfTouchUnlockStroke )
-        && CPhoneCenRepProxy::Instance()->
-            IsTelephonyFeatureSupported( KTelephonyLVFlagDisableCallControlHardKeysWhileLocked ) )
-        {
-        if( !aKeylockEnabled )
-            {
-            // Reset blocked keys list
-            iStateMachine->PhoneStorage()->ResetBlockedKeysList();
-            }
-        }
-    }
-
 // ---------------------------------------------------------
 // CPhoneState::SetToolbarButtonLoudspeakerEnabled
 // ---------------------------------------------------------
@@ -3021,7 +2067,7 @@
     {
     __LOGMETHODSTARTEND(EPhoneControl,
         "CPhoneState::OpenSoftRejectMessageEditorL ()" );
-    iCbaManager->SetSoftRejectStatus( EFalse );
+    iUiCommandManager->SetSoftRejectStatus( EFalse );
     TPhoneCmdParamCallStateData callStateData;
     callStateData.SetCallState( EPEStateRinging );
     iViewCommandHandle->HandleCommandL(
@@ -3054,23 +2100,69 @@
                     iStateMachine->PhoneEngineInfo()->RemotePhoneNumber( ringingCallId ) );
             }
         }
-
-    TPhoneCmdParamInteger activeCallCount;
-    iViewCommandHandle->ExecuteCommandL(
-        EPhoneViewGetCountOfActiveCalls, &activeCallCount );
+    UpdateUiCommands();
+    iViewCommandHandle->ExecuteCommandL( 
+            EPhoneViewOpenSoftRejectEditor, 
+            &sfiDataParam );
+    }
 
-    switch( activeCallCount.Integer() )
-        {
-        case EOneActiveCall:
-            iCbaManager->UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
-            break;
-        default:
-            iCbaManager->UpdateCbaL( EPhoneCallHandlingIncomingRejectCBA );
-            break;
-        }
-    iViewCommandHandle->ExecuteCommandL( 
-            EPhoneViewOpenSoftRejectEditor, &sfiDataParam );
+// -----------------------------------------------------------
+// CPhoneState::DisplayCallHeaderL()
+// -----------------------------------------------------------
+//
+EXPORT_C void CPhoneState::DisplayCallHeaderL( 
+        TInt aCallId,
+        TNumberEntrySetRule aRule )
+    {
+    __LOGMETHODSTARTEND(EPhoneControl, 
+            "CPhoneState::BringIncomingCallHeaderToForegroundL( ) ");
+    BeginUiUpdateLC();
+    switch ( aRule )
+       {
+       case ESetNEVisibilityFalse:
+           iNumberEntryManager->
+               SetNumberEntryVisibilityL( EFalse );
+           break;
+       case ECheckIfNEUsedBeforeSettingVisibilityFalse:
+           iNumberEntryManager->
+               SetVisibilityIfNumberEntryUsedL(EFalse);
+           break;
+       default: // by default do nothing.
+           break;
+       }
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewRemovePhoneDialogs );
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewBringPhoneAppToForeground );
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewCreateCallHeader, aCallId );
+    UpdateUiCommands();
+    EndUiUpdate();
+    }
+
+// ---------------------------------------------------------
+// CPhoneState::SetTouchPaneButtons
+// ---------------------------------------------------------
+//
+EXPORT_C void CPhoneState::UpdateUiCommands()
+    {
+    iUiCommandManager->UpdateUiCommands();
+    }
+
+// -----------------------------------------------------------
+// CPhoneState::HandleNumberEntryClearedL
+// -----------------------------------------------------------
+//
+EXPORT_C void CPhoneState::HandleNumberEntryClearedL()
+    {
+    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::HandleNumberEntryClearedL( ) ");
+    }
+
+// -----------------------------------------------------------
+// CPhoneState::IsCustomizedDialerVisibleL()
+// -----------------------------------------------------------
+//
+EXPORT_C TBool CPhoneState::IsCustomizedDialerVisibleL() const
+    {
+    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::IsCustomizedDialerVisibleL( ) ");
+    return iNumberEntryManager->IsCustomizedDialerVisibleL();
     }
 
 //  End of File
-
--- a/phoneapp/phoneuicontrol/src/cphonestatecallsetup.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuicontrol/src/cphonestatecallsetup.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -19,7 +19,6 @@
 // INCLUDES
 #include <featmgr.h>
 #include <StringLoader.h>
-#include <AknUtils.h>
 #include <mpeengineinfo.h>
 #include <mpeclientinformation.h>
 
@@ -191,27 +190,7 @@
 EXPORT_C void CPhoneStateCallSetup::HandleNumberEntryClearedL()
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateCallSetup::HandleNumberEntryClearedL()" );
-    UpdateInCallCbaL();
-    }
-
-// -----------------------------------------------------------
-// CPhoneStateCallSetup::UpdateInCallCbaL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneStateCallSetup::UpdateInCallCbaL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateCallSetup::UpdateInCallCbaL() ");
-    UpdateCbaL( EPhoneCallHandlingCallSetupCBA );
-    }
-
-// -----------------------------------------------------------
-// CPhoneStateCallSetup::UpdateCbaL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneStateCallSetup::UpdateCbaL( TInt aResource )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateCallSetup::UpdateCbaL() ");
-    iCbaManager->UpdateCbaL( aResource );   
+    UpdateUiCommands();
     }
 
 // -----------------------------------------------------------
@@ -222,7 +201,7 @@
     const TKeyEvent& aKeyEvent, TEventCode aEventCode )
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateCallSetup::HandleKeyEventL( ) ");
-    if ( !IsNumberEntryVisibleL() )
+    if ( !iNumberEntryManager->IsNumberEntryVisibleL() )
         {
         // Send the key events to the phone engine
         switch( aEventCode )
@@ -267,8 +246,6 @@
     buffer.Append( aCode );
     __PHONELOG1( EBasic, EPhoneControl, "HandleKeyEventL(%S)", &buffer );
     // Convert key code to western.
-    AknTextUtils::ConvertDigitsTo( buffer, EDigitTypeWestern );
-    __PHONELOG1( EBasic, EPhoneControl, "ConvertDigitsTo(%S)", &buffer );
     TLex code( buffer ); 
     // Send the key press to the phone engine, if applicable
     iStateMachine->PhoneEngineInfo()->SetKeyCode( code.Peek() );
@@ -295,7 +272,7 @@
                     MPEPhoneModel::EPEMessageTerminateAllConnections );
                 
                 // Remove number entry if long press
-                if ( IsNumberEntryUsedL() )
+                if ( iNumberEntryManager->IsNumberEntryUsedL() )
                     {
                     iViewCommandHandle->ExecuteCommandL( 
                         EPhoneViewRemoveNumberEntry );
@@ -471,15 +448,10 @@
 void CPhoneStateCallSetup::HandleConnectedL( TInt aCallId )
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateCallSetup::HandleConnectedL()");
-    TPhoneCmdParamBoolean booleanParam;
-    booleanParam.SetBoolean( EFalse );
-    iViewCommandHandle->ExecuteCommandL( 
-        EPhoneViewSetNeedToSendToBackgroundStatus, &booleanParam );
     BeginUiUpdateLC();
     CPhoneState::UpdateSingleActiveCallL( aCallId );
-    SetTouchPaneButtons( EPhoneIncallButtons );
+    UpdateUiCommands();
     EndUiUpdate();
-    UpdateCbaL( EPhoneCallHandlingInCallCBA );
     iStateMachine->ChangeState( EPhoneStateSingle );
     }
 
@@ -500,7 +472,7 @@
     iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId );
     SetDefaultFlagsL();
     
-    if ( IsNumberEntryUsedL() )
+    if ( iNumberEntryManager->IsNumberEntryUsedL() )
         {
         iViewCommandHandle->ExecuteCommand(
                 EPhoneViewGetNumberFromEntry,
@@ -510,7 +482,7 @@
         }    
     else
         {
-        DisplayIdleScreenL();
+        RemoveDialogsAndSendPhoneToBackgroundL();
         }
     EndUiUpdate();
     CleanupStack::PopAndDestroy( phoneNumber );
@@ -526,8 +498,7 @@
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateCallSetup::HandleAudioOutputChangedL( ) ");
     CPhoneState::HandleAudioOutputChangedL();
     // Update the call setup CBA
-    UpdateInCallCbaL();
-    SetTouchPaneButtons(0);
+    UpdateUiCommands();
     }
  
 // -----------------------------------------------------------
--- a/phoneapp/phoneuicontrol/src/cphonestateidle.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuicontrol/src/cphonestateidle.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -139,7 +139,7 @@
         //  if still idle ( f.e not incoming call arrived when rfs )
         if ( iStateMachine->State() == this )
             {
-            DisplayIdleScreenL();
+            RemoveDialogsAndSendPhoneToBackgroundL();
             }
         }
    else
@@ -171,7 +171,7 @@
             break;
         // send-key
         case EKeyYes:
-            if ( IsNumberEntryUsedL() )
+            if ( iNumberEntryManager->IsNumberEntryUsedL() )
                 {
                 TPhoneCmdParamBoolean isSecurityMode;
                 iViewCommandHandle->ExecuteCommandL( EPhoneViewGetSecurityModeStatus, &isSecurityMode );
@@ -181,11 +181,7 @@
                 &numberEntryCountParam );
                 
                 TInt neLength( numberEntryCountParam.Integer() );
-                if ( IsAnyQueryActiveL() )
-                    {
-                    return;
-                    }
-                else if ( neLength == 0 && !isSecurityMode.Boolean())
+                if ( neLength == 0 && !isSecurityMode.Boolean())
                     {
                     // start logs
                     iViewCommandHandle->HandleCommandL( 
@@ -197,7 +193,7 @@
             // If dialer is not open but phone is in foreground and phone receives
             // send-key event we have to check if security mode is true and if it
             // is then open emergency dialer.
-            else if ( !IsNumberEntryUsedL() )
+            else
                 {
                 TPhoneCmdParamBoolean isSecurityMode;
                 iViewCommandHandle->ExecuteCommandL( EPhoneViewGetSecurityModeStatus, &isSecurityMode );
@@ -214,7 +210,7 @@
             // If dialer is not open but phone is in foreground and phone receives
             // applicaion-key event we have to open emergency dialer. No need own
             // securitymode check because Applicationkey only captured in securitymode.
-            if ( !IsNumberEntryUsedL() )
+            if ( !iNumberEntryManager->IsNumberEntryUsedL() )
                 {
                 HandleCommandL(EPhoneNumberAcqSecurityDialer);
                 }
@@ -222,7 +218,7 @@
             break;
 #ifdef RD_INTELLIGENT_TEXT_INPUT
         case EKeyEnter:
-            if ( IsNumberEntryVisibleL() )
+            if ( iNumberEntryManager->IsNumberEntryVisibleL() )
                 {
                 HandleCommandL( EPhoneCmdOptions );
                 }
@@ -259,21 +255,9 @@
         case MEngineMonitor::EPEMessageIssuedUSSDRequest:
             // Note that after the sending of SS 
             // strings the view stays in Dialer.
-            if ( IsNumberEntryUsedL() )
-                {
-                // Show the number entry if it exists
-                SetNumberEntryVisibilityL(ETrue);    
-                }    
-            else if ( NeedToSendToBackgroundL() )
+            if ( !iNumberEntryManager->SetVisibilityIfNumberEntryUsedL( ETrue ) )
                 {
-                // Continue displaying current app but set up the 
-                // idle screen in the background
-                SetupIdleScreenInBackgroundL();
-                }
-            else
-                {
-                 // Display idle screen
-                DisplayIdleScreenL();
+                RemoveDialogsAndSendPhoneToBackgroundL();
                 }
             break;
             
@@ -306,41 +290,32 @@
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIdle::HandleIncomingL( ) ");
     HandleAudioAvailableOutputChangedL();
     SetRingingTonePlaybackL( aCallId );
+    
     BeginUiUpdateLC();
-    
-    if ( IsNumberEntryUsedL() )
-        {
-        SetNumberEntryVisibilityL(EFalse);
-        }
-     
+    iNumberEntryManager->SetVisibilityIfNumberEntryUsedL(EFalse);
     DisplayIncomingCallL( aCallId );
-    SetTouchPaneButtons( EPhoneIncomingCallButtons );
-    CheckDisableHWKeysAndCallUIL();
     SetBackButtonActive(EFalse);
+    UpdateUiCommands();
     EndUiUpdate();
     
-    iCbaManager->UpdateIncomingCbaL( aCallId );
-    iViewCommandHandle->HandleCommandL( EPhoneViewShowToolbar );
-    iStateMachine->ChangeState( EPhoneStateIncoming );
-    SetDivertIndication( EFalse );
+    ChangeTo( EPhoneStateIncoming );
     }
 
 // -----------------------------------------------------------
-// CPhoneStateIdle::HandleDiallingL
+// CPhoneStateIdle::HandleDialingL
 // Default handling for dialling message
 // (other items were commented in a header).
 // -----------------------------------------------------------
 //
 EXPORT_C void CPhoneStateIdle::HandleDialingL( TInt aCallId )
     {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIdle::HandleDialingL( ) ");
-    BeginUiUpdateLC();
-    DisplayCallSetupL( aCallId );
-    SetTouchPaneButtons( EPhoneCallSetupButtons );
-    EndUiUpdate();
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewRemovePhoneDialogs );
-    iCbaManager->UpdateCbaL( EPhoneCallHandlingCallSetupCBA );
-    iStateMachine->ChangeState( EPhoneStateCallSetup );
+    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIdle::HandleDialingL( ) ");   
+    TPhoneCmdParamKeyCapture captureParam;
+    captureParam.SetKeyCode( EKeyNo );
+    iViewCommandHandle->ExecuteCommand( EPhoneViewStartCapturingKey, &captureParam );
+    DisplayCallHeaderL( aCallId, ESetNEVisibilityFalse );
+    SetToolbarButtonLoudspeakerEnabled();
+    ChangeTo( EPhoneStateCallSetup );
     }
 
 // -----------------------------------------------------------
@@ -356,23 +331,13 @@
 void CPhoneStateIdle::HandleConnectedL( TInt aCallId )
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIdle::HandleConnectedL( ) ");
-    // Keep Phone app in the foreground if it is external
-    if ( !TopAppIsDisplayedL() )
-        {
-        TPhoneCmdParamInteger uidParam;
-        uidParam.SetInteger( KUidPhoneApplication.iUid );
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewBringAppToForeground, 
-            &uidParam );
-        }
     BeginUiUpdateLC();
     iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry );
-    DisplayCallSetupL( aCallId );
+    DisplayCallHeaderL( aCallId, ESetNEVisibilityFalse );
     UpdateSingleActiveCallL( aCallId );
-    SetTouchPaneButtons( EPhoneIncallButtons );
+    UpdateUiCommands();
     EndUiUpdate();
-    
-    iCbaManager->UpdateCbaL( EPhoneCallHandlingInCallCBA );
-    iStateMachine->ChangeState( EPhoneStateSingle );
+    ChangeTo( EPhoneStateSingle );
     }
 
 // -----------------------------------------------------------
@@ -472,10 +437,10 @@
 void CPhoneStateIdle::DialVideoCallL()
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIdle::DialVideoCallL( ) ");
-    if ( IsNumberEntryUsedL() )
+    if ( iNumberEntryManager->IsNumberEntryUsedL() )
         {
         // get the number entry contents
-        HBufC* phoneNumber = PhoneNumberFromEntryLC();
+        HBufC* phoneNumber = iNumberEntryManager->PhoneNumberFromEntryLC();
 #ifdef _DEBUG
         if ( (*phoneNumber).Compare( KExit ) == 0 )
             {
@@ -507,22 +472,9 @@
     TPhoneCmdParamKeyCapture captureParam;
     captureParam.SetKeyCode( EKeyNo );
     iViewCommandHandle->ExecuteCommand( EPhoneViewStartCapturingKey, &captureParam );
-
-    // Indicate that the Phone needs to be sent to the background if
-    // an application other than the top application is in the foreground
-    TPhoneCmdParamBoolean booleanParam;
-    booleanParam.SetBoolean( !TopAppIsDisplayedL() );
-    iViewCommandHandle->ExecuteCommandL( 
-        EPhoneViewSetNeedToSendToBackgroundStatus,
-        &booleanParam );
-
-    TPhoneCmdParamInteger uidParam;
-    uidParam.SetInteger( KUidPhoneApplication.iUid );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewBringAppToForeground,
-        &uidParam );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetTopApplication,
-        &uidParam );
-        
+    
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewBringPhoneAppToForeground );
+    
     // Disable global notes when there is an incoming call
     TPhoneCmdParamBoolean globalNotifierParam;
     globalNotifierParam.SetBoolean( ETrue );
@@ -530,39 +482,7 @@
         &globalNotifierParam );
     iViewCommandHandle->ExecuteCommandL( EPhoneViewSetEikonNotifiersDisabled,
         &globalNotifierParam );
-    DisplayHeaderForCallComingInL( aCallId, EFalse ); //not waiting
-    }
-
-// -----------------------------------------------------------
-// CPhoneStateIdle::DisplayCallSetupL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneStateIdle::DisplayCallSetupL( TInt aCallId )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIdle::DisplayCallSetupL( ) ");
-    __ASSERT_DEBUG( aCallId > KErrNotFound, Panic( EPhoneCtrlParameterNotInitialized ) );
-
-    TPhoneCmdParamKeyCapture captureParam;
-    captureParam.SetKeyCode( EKeyNo );
-    iViewCommandHandle->ExecuteCommand( EPhoneViewStartCapturingKey, &captureParam );
-
-    // Indicate that the Phone needs to be sent to the background if
-    // an application other than the top application is in the foreground
-    TPhoneCmdParamBoolean booleanParam;
-    booleanParam.SetBoolean( !TopAppIsDisplayedL() );
-    iViewCommandHandle->ExecuteCommandL( 
-        EPhoneViewSetNeedToSendToBackgroundStatus,
-        &booleanParam );
-    
-    // Bring Phone app in the foreground
-    TPhoneCmdParamInteger uidParam;
-    uidParam.SetInteger( KUidPhoneApplication.iUid );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewBringAppToForeground,
-        &uidParam );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetTopApplication,
-        &uidParam ); 
-    
-    DisplayHeaderForOutgoingCallL( aCallId );
+    iViewCommandHandle->ExecuteCommandL(EPhoneViewCreateCallHeader, aCallId);
     }
 
 // -----------------------------------------------------------
@@ -572,17 +492,7 @@
 EXPORT_C void CPhoneStateIdle::HandleIdleForegroundEventL()
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIdle::HandleIdleForegroundEventL( ) ");
-    if ( IsNumberEntryUsedL() )
-        {
-        if ( IsNumberEntryVisibleL() )
-            {
-            iCbaManager->SetCbaL( EPhoneNumberAcqCBA );
-            }
-        }
-    else if ( !IsAnyQueryActiveL() )
-        {
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewBringIdleToForeground );
-        }
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewBringIdleToForeground );
     }
 
 // -----------------------------------------------------------
@@ -600,7 +510,7 @@
 EXPORT_C void CPhoneStateIdle::HandlePhoneFocusLostEventL()
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIdle::HandlePhoneFocusLostEventL( ) ");
-    if ( !IsNumberEntryUsedL() )
+    if ( !iNumberEntryManager->IsNumberEntryUsedL() )
          {
          // If dialer is open add icon to FSW list.
          iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateFSW );
@@ -637,19 +547,16 @@
 void CPhoneStateIdle::SendExitCommandL()
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIdle::SendExitCommand( ) ");
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry );
-
-    // Simulate exit command
-    CEikonEnv& eikEnv = *CEikonEnv::Static();
-    CCoeEnv& coeEnv = eikEnv;
-    RWsSession& wsSession=coeEnv.WsSession();
-    TKeyEvent keyEvent;
-    keyEvent.iCode = EEikCmdExit;
-    keyEvent.iScanCode = EEikCmdExit;
-    keyEvent.iModifiers = 0;
-    keyEvent.iRepeats = 0;
-    wsSession.SimulateKeyEvent( keyEvent );
-    wsSession.Flush();  
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry ); 
+    // Simulate exit command 
+    RWsSession& wsSession = EikonEnv()->WsSession(); 
+    TKeyEvent keyEvent; 
+    keyEvent.iCode = EEikCmdExit; 
+    keyEvent.iScanCode = EEikCmdExit; 
+    keyEvent.iModifiers = 0; 
+    keyEvent.iRepeats = 0; 
+    wsSession.SimulateKeyEvent( keyEvent ); 
+    wsSession.Flush(); 
 
     iViewCommandHandle->ExecuteCommandL( EPhoneAppShutDown );
     }
@@ -665,7 +572,7 @@
     RWsSession sess = CCoeEnv::Static()->WsSession();
     TApaTaskList appList( sess );
     TApaTask startup = appList.FindApp( KUidStartupApplication );
-    if ( !IsAutoLockOn() && !IsKeyLockOn() && !startup.Exists() )
+    if ( !IsAutoLockOn() && !startup.Exists() )
         {
         //Cancels e.g. USB notifier and Audio notifier.
         iViewCommandHandle->ExecuteCommandL( EPhoneViewCancelAllNotications );
@@ -683,7 +590,7 @@
                 {
                 iStateMachine->SendPhoneEngineMessage(
                         MPEPhoneModel::EPEMessageTerminateAllConnections );
-                if ( IsNumberEntryUsedL() )
+                if ( iNumberEntryManager->IsNumberEntryUsedL() )
                     {
                     iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry );
                     // Do state-specific operation when number entry is cleared
@@ -692,34 +599,15 @@
                     // dialer is closed, therefore tel.icon must be removed from FSW.
                     iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateFSW );
                     }
-                if ( !TopAppIsDisplayedL() )
-                    {
-                    DisplayIdleScreenL();
-                    }
                 }
-            else if ( IsNumberEntryUsedL() && TopAppIsDisplayedL() )
+            else if ( iNumberEntryManager->IsNumberEntryUsedL() )
                 {
                 iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry );
                 // Do state-specific operation when number entry is cleared
                 HandleNumberEntryClearedL();
                 }
-            else if ( !TopAppIsDisplayedL() )
-                {
-                // Phone might not be the topmost app since it has
-                // some dialog/query open therefore we need to check this
-                // and remove dialog/phone.
-                if ( IsAnyQueryActiveL()  )
-                    {
-                    if ( !IsSimStateNotPresentWithSecurityModeEnabled() )
-                        {
-                        iViewCommandHandle->ExecuteCommandL( EPhoneViewRemovePhoneDialogs );
-                        }
-                    iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry );
-                    }
-                iViewCommandHandle->ExecuteCommandL( EPhoneViewBringIdleToForeground );
-                }
             }
-        else if ( IsNumberEntryUsedL() )
+        else if ( iNumberEntryManager->IsNumberEntryUsedL() )
             {
             iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry );
             StartShowSecurityNoteL();
@@ -781,9 +669,9 @@
     {
     __LOGMETHODSTARTEND(
         EPhoneControl, "CPhoneStateIdle::HandleVoiceCallCommandL()" );
-    if ( IsNumberEntryUsedL() )
+    if ( iNumberEntryManager->IsNumberEntryUsedL() )
         {
-        HBufC* phoneNumber = PhoneNumberFromEntryLC();
+        HBufC* phoneNumber = iNumberEntryManager->PhoneNumberFromEntryLC();
         if ( !IsSimOk() )
             {
             iStateMachine->PhoneEngineInfo()->SetPhoneNumber( *phoneNumber ) ;
@@ -809,4 +697,16 @@
         }    
     }
 
+// -----------------------------------------------------------
+// CPhoneStateIdle::ChangeTo
+// -----------------------------------------------------------
+//
+void CPhoneStateIdle::ChangeTo( TInt aState )
+    {
+    __PHONELOG1( EBasic, EPhoneControl, 
+           "PhoneUIControl: CPhoneStateIdle::ChangeTo - aState =%d ",
+           aState );
+    iStateMachine->ChangeState( aState );
+    }
+
 // End of File
--- a/phoneapp/phoneuicontrol/src/cphonestateincall.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuicontrol/src/cphonestateincall.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -21,7 +21,6 @@
 #include <StringLoader.h>
 #include <PSVariables.h>
 #include <hwrmdomainpskeys.h>
-#include <UikonInternalPSKeys.h>
 #include <mpeengineinfo.h>
 #include <videotelcontrolmediatorapi.h>
 #include <MediatorDomainUIDs.h>
@@ -136,7 +135,7 @@
             
 #ifdef RD_INTELLIGENT_TEXT_INPUT
         case EKeyEnter:
-            if ( IsNumberEntryVisibleL() )
+            if ( iNumberEntryManager->IsNumberEntryVisibleL() )
                 {
                 HandleCommandL( EPhoneCmdOptions );
                 }
@@ -156,7 +155,7 @@
     __LOGMETHODSTARTEND(EPhoneControl,  
         "CPhoneStateInCall::HandleNumberEntryClearedL()" );
     // Update single call CBA when number entry is cleared
-     UpdateInCallCbaL();
+    UpdateUiCommands();
     }
 
 // -----------------------------------------------------------
@@ -220,7 +219,7 @@
             if ( IsWaitingCallL( aCallId ) )
                 {
                 // Update remote info data and label.
-                UpdateRemoteInfoDataAndLabelL( aCallId, UpdateCallHeaderInfoL( aCallId ) );
+                UpdateRemoteInfoDataAndLabelL( aCallId );
                 }
             else
                 {
@@ -239,15 +238,13 @@
 // -----------------------------------------------------------
 //
 void CPhoneStateInCall::UpdateRemoteInfoDataAndLabelL( 
-        TInt aCallId, 
-        TPhoneCmdParamCallHeaderData aCallHeaderParam )
+        TInt aCallId )
     {
     __LOGMETHODSTARTEND(EPhoneControl,
             "CPhoneStateInCall::UpdateRemoteInfoDataAndLabelL ()" );
     iViewCommandHandle->ExecuteCommandL( 
         EPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel, 
-        aCallId,
-        &aCallHeaderParam );
+        aCallId );
     }
 
 // -----------------------------------------------------------
@@ -263,13 +260,13 @@
     TPtr ptr( phoneNumber->Des() );
     TPhoneCmdParamString stringParam;
     stringParam.SetString( &ptr );
-    
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewHideToolbar );
+
     
     BeginUiUpdateLC();
     SetDefaultFlagsL();
-    if ( IsNumberEntryUsedL() )
+	iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId );
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewHideToolbar );
+    if ( iNumberEntryManager->IsNumberEntryUsedL() )
         {
         iViewCommandHandle->ExecuteCommand(
                 EPhoneViewGetNumberFromEntry,
@@ -278,20 +275,14 @@
         showDialer = ETrue;
         }
     
-    if ( !TopAppIsDisplayedL() || IsAutoLockOn() )
+    if ( IsAutoLockOn() || !showDialer )
         {
-        // Continue displaying current app but set up the 
-        // idle screen in the background
-        SetupIdleScreenInBackgroundL();
+        RemoveDialogsAndSendPhoneToBackgroundL();
         }
     else if ( showDialer )
         {
         iViewCommandHandle->ExecuteCommandL( EPhoneViewLaunchLogs, &stringParam );
         }
-    else 
-        {
-        DisplayIdleScreenL();
-        }
         
     DeleteTouchPaneButtons();
     EndUiUpdate();
@@ -305,26 +296,6 @@
     }
 
 // -----------------------------------------------------------
-// CPhoneStateInCall::UpdateInCallCbaL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneStateInCall::UpdateInCallCbaL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateInCall::UpdateInCallCbaL() ");
-    UpdateCbaL( EPhoneCallHandlingInCallCBA );
-    }
-
-// -----------------------------------------------------------
-// CPhoneStateInCall::UpdateCbaL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneStateInCall::UpdateCbaL( TInt aResource )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateInCall::UpdateCbaL() ");
-    iCbaManager->UpdateCbaL( aResource );
-    }
-
-// -----------------------------------------------------------
 // CPhoneStateInCall::HandleAudioMuteChangedL
 // -----------------------------------------------------------
 //
@@ -333,13 +304,7 @@
     __LOGMETHODSTARTEND(EPhoneControl,  
         "CPhoneStateInCall::HandleAudioMuteChangedL()" );
     CPhoneState::HandleAudioMuteChangedL();
-    // Update the single call CBA only if the number entry is not
-    // used
-    if ( !IsNumberEntryUsedL() )
-        {
-        // Go to current state implementation
-        UpdateInCallCbaL();
-        }
+    UpdateUiCommands();
     }
 
 // -----------------------------------------------------------
@@ -350,11 +315,8 @@
     {
     __LOGMETHODSTARTEND(EPhoneControl,  
         "CPhoneStateInCall::HandleAudioOutputChangedL()" );
-    CPhoneState::HandleAudioOutputChangedL();
-
-    UpdateInCallCbaL();
-    
-    SetTouchPaneButtons(0);
+    CPhoneState::HandleAudioOutputChangedL();    
+    UpdateUiCommands();
     }
 
 // -----------------------------------------------------------
@@ -555,7 +517,7 @@
                     {  
                     // Send a manual control sequence by providing number 
                     // information with dial command
-                    CallFromNumberEntryL();
+                    iNumberEntryManager->CallFromNumberEntryL();
                     }
                 else
                     {
@@ -566,7 +528,7 @@
                 }
             else
                 {
-                CallFromNumberEntryL();
+                iNumberEntryManager->CallFromNumberEntryL();
                 }
             break;
 
@@ -591,20 +553,15 @@
         case EPhoneNumberAcqCmdVideoCall:
             {// Create normal voice call, if number is emergency number.
             // Get the number entry contents
-            HBufC* phoneNumber = PhoneNumberFromEntryLC();
+            HBufC* phoneNumber = iNumberEntryManager->PhoneNumberFromEntryLC();
             iStateMachine->PhoneEngineInfo()->SetPhoneNumber( *phoneNumber );
             iStateMachine->SendPhoneEngineMessage(
                 MPEPhoneModel::EPEMessageCheckEmergencyNumber );
             CleanupStack::PopAndDestroy( phoneNumber );}
             break;
-            
-        case EPhoneInCallCmdLockKeypad:
-        case EPhoneInCallCmdLockScreen:
-            LockKeypadL();
-            break;
 
        case EPhoneViewOpenCallHandling:
-            if ( IsNumberEntryUsedL() )
+            if ( iNumberEntryManager->IsNumberEntryUsedL() )
                 {
                 iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry );
                 HandleNumberEntryClearedL();
@@ -612,11 +569,8 @@
             commandStatus = CPhoneState::HandleCommandL( aCommand );
             break;
             
-       case EPhoneInCallCmdNewCallFind:
        case EPhoneInCallCmdNewCall:
-       case EPhoneInCallCmdDtmfListViewSearch:
        case EPhoneInCallCmdDtmfManualQuery:
-       case EPhoneCmdDtmfSearch:
        case EPhoneDtmfDialerExit:
        case EPhoneCmdOptions:
            break;
@@ -825,10 +779,7 @@
             }
         else
             {
-            if ( IsNumberEntryUsedL() )
-                {
-                SetNumberEntryVisibilityL(ETrue);   
-                }
+            iNumberEntryManager->SetVisibilityIfNumberEntryUsedL(ETrue);
             }
         }
 
@@ -847,29 +798,6 @@
     }
 
 // -----------------------------------------------------------------------------
-// CPhoneStateInCall::LockKeysL
-// -----------------------------------------------------------------------------
-//
-void CPhoneStateInCall::LockKeypadL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateInCall::LockKeypadL()");
-    TInt state = EPSHWRMGripStatusUninitialized; 
-    if ( !FeatureManager::FeatureSupported( KFeatureIdKeypadNoSlider ) )
-        {
-        TInt err = RProperty::Get( KPSUidHWRM, KHWRMGripStatus, state );
-        if ( state == EPSHWRMGripOpen )
-            {
-            SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed, ETrue );
-            }
-        }
-    
-    if ( state != EPSHWRMGripOpen )
-        {
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewEnableKeyLock );
-        }
-    }
-
-// -----------------------------------------------------------------------------
 // CPhoneStateInCall::HandleEndKeyPressL
 // -----------------------------------------------------------------------------
 //    
@@ -900,27 +828,16 @@
             {
             iStateMachine->SendPhoneEngineMessage(
                 MPEPhoneModel::EPEMessageTerminateAllConnections );
-            if ( IsNumberEntryContentStored() )
-                {
-                ClearNumberEntryContentCache();
-                }
+            iNumberEntryManager->ClearNumberEntryContentCacheIfContentStored();
             }
 
-        if ( IsNumberEntryUsedL() )
+        if ( iNumberEntryManager->IsNumberEntryUsedL() )
             {
             iViewCommandHandle->ExecuteCommandL( 
                 EPhoneViewRemoveNumberEntry );
             // Do state-specific operation when number entry is cleared
             HandleNumberEntryClearedL();
             }
-
-        if ( !TopAppIsDisplayedL() )
-            {
-            TPhoneCmdParamInteger uidParam;
-            uidParam.SetInteger( KUidPhoneApplication.iUid );
-            iViewCommandHandle->ExecuteCommandL(
-                EPhoneViewBringAppToForeground, &uidParam );
-            }
         }
     else
         {        
--- a/phoneapp/phoneuicontrol/src/cphonestateincoming.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuicontrol/src/cphonestateincoming.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -147,7 +147,7 @@
     {
     __LOGMETHODSTARTEND(EPhoneControl,
         "CPhoneStateIncoming::HandleNumberEntryClearedL ()" );
-    iCbaManager->UpdateIncomingCbaL( iRingingCallId );
+    UpdateUiCommands();
     }
 
 // -----------------------------------------------------------
@@ -170,8 +170,7 @@
                 {
                 iStateMachine->SendPhoneEngineMessage(
                     MPEPhoneModel::EPEMessageTerminateAllConnections );
-                iViewCommandHandle->ExecuteCommandL( EPhoneViewCloseFSW );
-                if ( CPhoneState::IsNumberEntryUsedL() )
+                if ( iNumberEntryManager->IsNumberEntryUsedL() )
                     {
                     iViewCommandHandle->ExecuteCommandL(
                         EPhoneViewRemoveNumberEntry );
@@ -188,7 +187,7 @@
             break;
             
         case EKeyYes: // send-key
-            if( CPhoneState::IsNumberEntryVisibleL() )
+            if( iNumberEntryManager->IsNumberEntryVisibleL() )
                 {
                 HandleSendL();
                 }
@@ -205,12 +204,6 @@
                 }
             break;
 
-        case EKeyDeviceF:
-            __PHONELOG( EBasic, EPhoneUIStates,
-                "CPhoneConferenceAndSingleAndWaiting::HandleKeyMessageL-deviceF" );
-            HandleHoldSwitchL();
-            break;
-            
         default:
             break;
         }
@@ -222,7 +215,7 @@
 //
 void CPhoneStateIncoming::HandleSendL()
     {
-    HBufC* phoneNumber = PhoneNumberFromEntryLC();
+    HBufC* phoneNumber = iNumberEntryManager->PhoneNumberFromEntryLC();
     TPtr ptr( phoneNumber->Des() );
 
     iStateMachine->PhoneEngineInfo()->SetPhoneNumber( ptr );
@@ -234,7 +227,7 @@
         {
         // Send a manual control sequence by providing number
         // information with dial command
-        CPhoneState::CallFromNumberEntryL();
+        iNumberEntryManager->CallFromNumberEntryL();
         }
     else
         {
@@ -263,6 +256,11 @@
         case MEngineMonitor::EPEMessageConnected:
             HandleConnectedL( aCallId );
             break;
+            
+        case MEngineMonitor::EPEMessageDisconnecting:
+            iCallDisconnected = ETrue;
+            CPhoneState::HandlePhoneEngineMessageL( aMessage, aCallId );
+            break;
 
         case MEngineMonitor::EPEMessageInValidEmergencyNumber:
             AnswerCallL();
@@ -294,7 +292,10 @@
             break;
         
         case MEngineMonitor::EPEMessageRemotePartyInfoChanged:
-            UpdateRemoteInfoDataAndLabelL( aCallId, UpdateCallHeaderInfoL( aCallId ) );
+            if(!iCallDisconnected)
+                {
+                UpdateRemoteInfoDataAndLabelL( aCallId );
+                }
             break;
             
         default:
@@ -308,15 +309,13 @@
 // -----------------------------------------------------------
 //
 void CPhoneStateIncoming::UpdateRemoteInfoDataAndLabelL( 
-        TInt aCallId, 
-        TPhoneCmdParamCallHeaderData aCallHeaderParam )
+        TInt aCallId )
     {
     __LOGMETHODSTARTEND(EPhoneControl,
             "CPhoneStateIncoming::UpdateRemoteInfoDataAndLabelL ()" );
     iViewCommandHandle->ExecuteCommandL( 
         EPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel, 
-        aCallId,
-        &aCallHeaderParam );
+        aCallId );
     }
 
 // -----------------------------------------------------------
@@ -333,32 +332,16 @@
         &globalNotifierParam );
     iViewCommandHandle->ExecuteCommandL( EPhoneViewSetEikonNotifiersDisabled,
         &globalNotifierParam );
-    
+
     iViewCommandHandle->ExecuteCommandL( EPhoneViewStopRingTone );
-    
-    // For keeping video call on top!
-    if( IsVideoCall( aCallId ) && !IsAutoLockOn() )
-        {
-        TPhoneCmdParamBoolean booleanParam;
-        booleanParam.SetBoolean( EFalse );
-        iViewCommandHandle->ExecuteCommandL(
-            EPhoneViewSetNeedToSendToBackgroundStatus, &booleanParam );
-        }
 
-    if( FeatureManager::FeatureSupported( KFeatureIdFfTouchUnlockStroke ) 
-         && iStateMachine->PhoneStorage()->IsScreenLocked() )
-        {
-        EnableCallUIL();
-        }
-    iStateMachine->PhoneStorage()->ResetBlockedKeysList();
     BeginUiUpdateLC();
     UpdateSingleActiveCallL( aCallId );
 
-    SetTouchPaneButtons( EPhoneIncallButtons );
+    UpdateUiCommands();
     SetBackButtonActive(ETrue);
     EndUiUpdate();
 
-    iCbaManager->UpdateCbaL( EPhoneCallHandlingInCallCBA );
     iStateMachine->ChangeState( EPhoneStateSingle );
     }
 
@@ -370,11 +353,7 @@
     {
     __LOGMETHODSTARTEND(EPhoneControl,
         "CPhoneStateIncoming::HandleAudioPlayStoppedL ()" );
-    iCbaManager->SetRingtoneSilencedStatus( ETrue );
-    TInt resourceId = iCbaManager->SoftRejectStatus() ? 
-                            EPhoneCallHandlingIncomingSoftRejectCBA:
-                            EPhoneCallHandlingIncomingRejectCBA;
-    iCbaManager->SetCbaL( resourceId );
+    UpdateUiCommands();
     }
 
 // -----------------------------------------------------------
@@ -386,12 +365,6 @@
     __LOGMETHODSTARTEND(EPhoneControl,
         "CPhoneStateIncoming::HandleIdleL ()" );
     BeginUiUpdateLC();
-    if( FeatureManager::FeatureSupported( KFeatureIdFfTouchUnlockStroke ) 
-        && iStateMachine->PhoneStorage()->IsScreenLocked() )
-        {
-        EnableCallUIL();
-        }
-    iStateMachine->PhoneStorage()->ResetBlockedKeysList();
     
     iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId );
     iViewCommandHandle->ExecuteCommandL( EPhoneViewStopRingTone );
@@ -403,34 +376,15 @@
             &globalNotifierParam );
     SetDefaultFlagsL();
     
-     if ( IsNumberEntryUsedL() )
+     if ( !iNumberEntryManager->SetVisibilityIfNumberEntryUsedL( ETrue ) )
         {
-        if ( NeedToSendToBackgroundL() )
-            {
-            iViewCommandHandle->ExecuteCommandL( EPhoneViewSendToBackground );
-            iCbaManager->SetCbaL( EPhoneNumberAcqCBA );
-            }
-        else
-            {
-            SetNumberEntryVisibilityL(ETrue);
-            }
-        }
-    else if ( NeedToSendToBackgroundL() )
-        {
-        // Continue displaying current app but set up the
-        // idle screen in the background.
-        SetupIdleScreenInBackgroundL();
-        }
-    else
-        {
-        DisplayIdleScreenL();
+        RemoveDialogsAndSendPhoneToBackgroundL();
         }
  
     DeleteTouchPaneButtons();
     SetBackButtonActive(ETrue);
     
     EndUiUpdate();
-    iCbaManager->UpdateCbaL( EPhoneEmptyCBA );
     iStateMachine->ChangeState( EPhoneStateIdle );
     }
 
@@ -500,7 +454,6 @@
     __LOGMETHODSTARTEND(EPhoneControl,
         "CPhoneStateIncoming::AnswerCallL ()" );
     iViewCommandHandle->ExecuteCommandL( EPhoneViewMuteRingToneOnAnswer );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewCloseFSW );
     iStateMachine->SendPhoneEngineMessage( MPEPhoneModel::EPEMessageAnswer );
     }
 
@@ -513,7 +466,6 @@
     __LOGMETHODSTARTEND(EPhoneControl,
         "CPhoneStateIncoming::DisconnectWaitingCallL ()" );
     iViewCommandHandle->ExecuteCommandL( EPhoneViewStopRingTone );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewCloseFSW );
 
     // The ringing call might have changed
     TPhoneCmdParamCallStateData callStateData;
@@ -547,6 +499,8 @@
         iStateMachine->SendPhoneEngineMessage( MPEPhoneModel::EPEMessageRelease );
         }
     ShowDisconnectingL( iRingingCallId );
+    
+    iCallDisconnected = ETrue;
     }
 
 // -----------------------------------------------------------
@@ -561,7 +515,7 @@
     iStateMachine->SendPhoneEngineMessage(
         MPEPhoneModel::EPEMessageStopTonePlay );
     
-    iCbaManager->SetSoftRejectStatus( EFalse );
+    iUiCommandManager->SetSoftRejectStatus( EFalse );
     
     // Re-enable global notes. Otherwise message editor is not opened.
     TPhoneCmdParamBoolean globalNotifierParam;
@@ -569,7 +523,7 @@
     iViewCommandHandle->ExecuteCommandL( EPhoneViewSetEikonNotifiersDisabled,
         &globalNotifierParam );
 
-    iCbaManager->SetCbaL( EPhoneCallHandlingIncomingSoftRejectCBA );
+    UpdateUiCommands();
 
     TPhoneCmdParamSfiData sfiDataParam;
     if ( iStateMachine->PhoneEngineInfo()->RemoteName( iRingingCallId ).Length() )
@@ -622,42 +576,9 @@
 void CPhoneStateIncoming::ShowDisconnectingL( TInt aCallId )
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIncoming::ShowDisconnectingL( ) ");
-    TPhoneCmdParamCallHeaderData callHeaderParam;
-    callHeaderParam.SetCallState( EPEStateDisconnecting );
-    TBuf<KPhoneCallHeaderLabelMaxLength> labelText( KNullDesC );
-    TInt callLabelId = CPhoneMainResourceResolver::Instance()->
-        ResolveResourceID( EPhoneInCallDisconnected );
-    StringLoader::Load( labelText, callLabelId, CCoeEnv::Static() );
-    callHeaderParam.SetLabelText( labelText );
 
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId,
-        &callHeaderParam );
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId);
     }
 
-// ---------------------------------------------------------
-// CPhoneStateIncoming::HandleKeyLockEnabledL
-// ---------------------------------------------------------
-//
-EXPORT_C void CPhoneStateIncoming::HandleKeyLockEnabled( TBool aKeylockEnabled )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIncoming::HandleKeyLockEnabledL( ) ");
-    if( !FeatureManager::FeatureSupported( KFeatureIdFfTouchUnlockStroke )
-        && CPhoneCenRepProxy::Instance()->
-            IsTelephonyFeatureSupported( KTelephonyLVFlagDisableCallControlHardKeysWhileLocked ) )
-        {
-        if( aKeylockEnabled )
-            {
-            if( iStateMachine->PhoneStorage()->IsBlockedKeysListEmpty() )
-                {
-                DisableHWKeysL();
-                }
-            }
-        else
-            {
-            // Reset blocked keys list
-            iStateMachine->PhoneStorage()->ResetBlockedKeysList();
-            }
-        }
-    }
 
 // End of File
--- a/phoneapp/phoneuicontrol/src/cphonestatemachine.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuicontrol/src/cphonestatemachine.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -41,7 +41,8 @@
     MPhoneViewCommandHandle* aViewCommandHandle ) :
     iOldStateId( EPhoneStateNull ),
     iNewStateId( EPhoneStateNull ),
-    iViewCommandHandle( aViewCommandHandle )
+    iViewCommandHandle( aViewCommandHandle ),
+    iEnv( CEikonEnv::Static() ) // codescanner::eikonenvstatic
     {
     __ASSERT_ALWAYS( aViewCommandHandle,
         Panic( EPhoneCtrlParameterNotInitialized ) );
@@ -198,4 +199,13 @@
     return iPhoneStorage;
     }
 
+// -----------------------------------------------------------
+// CPhoneStateMachine::EikonEnv
+// -----------------------------------------------------------
+//
+EXPORT_C CEikonEnv* CPhoneStateMachine::EikonEnv() const
+    {
+    return iEnv;
+    }
+
 // End of File
--- a/phoneapp/phoneuicontrol/src/cphonestatestartup.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuicontrol/src/cphonestatestartup.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -128,7 +128,6 @@
             CreateAndShowNoteAfterIdle(); 
             }
         SetDefaultFlagsL();
-        iCbaManager->UpdateCbaL( EPhoneEmptyCBA );
         iStateMachine->ChangeState( EPhoneStateIdle );
         }
     }
@@ -196,7 +195,6 @@
             CreateAndShowNoteAfterIdle(); 
             }
         SetDefaultFlagsL();
-        iCbaManager->UpdateCbaL( EPhoneEmptyCBA );
         iStateMachine->ChangeState( EPhoneStateIdle );
         }
     }
--- a/phoneapp/phoneuicontrol/src/cphonesystemeventhandler.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuicontrol/src/cphonesystemeventhandler.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -19,7 +19,6 @@
 // INCLUDE FILES
 #include <telinformationpskeys.h>
 #include <telephonyvariant.hrh>
-#include <UikonInternalPSKeys.h>
 #include <startupdomainpskeys.h>
 #include <hwrmdomainpskeys.h>
 
@@ -75,28 +74,12 @@
         KPSUidCtsyCallInformation,
         KCTsyCallState,
         this );
-
-    // Set up notifications for displaying Telephony info on the title pane
-    CPhonePubSubProxy::Instance()->NotifyChangeL(
-        KPSUidTelInformation,
-        KTelDisplayInfo,
-        this );
-
+    
     // Set up notifications for Sim security state values.
     CPhonePubSubProxy::Instance()->NotifyChangeL(
         KPSUidStartup,
         KStartupSimSecurityStatus,
         this );
-
-    if ( CPhoneCenRepProxy::Instance()->IsTelephonyFeatureSupported(
-            KTelephonyLVFlagSwivelInDevice ))
-        {
-        // Set up notifications for Swivel state.
-        CPhonePubSubProxy::Instance()->NotifyChangeL(
-            KPSUidHWRM,
-            KHWRMGripStatus,
-            this );
-        }
     }
 
 // ---------------------------------------------------------
@@ -110,59 +93,6 @@
     }
 
 // ---------------------------------------------------------
-// CPhoneSystemEventHandler::HandleSystemEventL
-// ---------------------------------------------------------
-//
-void CPhoneSystemEventHandler::HandleSystemEventL( const TWsEvent& aEvent )
-    {
-    iStateMachine->State()->HandleSystemEventL( aEvent );
-    }
-
-// ---------------------------------------------------------
-// CPhoneSystemEventHandler::HandleForegroundEventL
-// ---------------------------------------------------------
-//
-void CPhoneSystemEventHandler::HandleForegroundEventL( TBool aForeground )
-    {
-    iStateMachine->State()->HandleForegroundEventL( aForeground );
-    }
-
-// ---------------------------------------------------------
-// CPhoneSystemEventHandler::HandlePhoneForegroundEventL
-// ---------------------------------------------------------
-//
-void CPhoneSystemEventHandler::HandlePhoneForegroundEventL()
-    {
-    iStateMachine->State()->HandlePhoneForegroundEventL();
-    }
-
- // ---------------------------------------------------------
-// CPhoneSystemEventHandler::HandlePhoneFocusLostEventL
-// ---------------------------------------------------------
-//
-void CPhoneSystemEventHandler::HandlePhoneFocusLostEventL()
-    {
-    iStateMachine->State()->HandlePhoneFocusLostEventL();
-    }
-// ---------------------------------------------------------
-// CPhoneSystemEventHandler::HandleIdleForegroundEventL
-// ---------------------------------------------------------
-//
-void CPhoneSystemEventHandler::HandleIdleForegroundEventL()
-    {
-    iStateMachine->State()->HandleIdleForegroundEventL();
-    }
-
-// ---------------------------------------------------------
-// CPhoneSystemEventHandler::HandleKeyLockEnabled
-// ---------------------------------------------------------
-//
-void CPhoneSystemEventHandler::HandleKeyLockEnabled( TBool aKeylockEnabled )
-    {
-    iStateMachine->State()->HandleKeyLockEnabled( aKeylockEnabled );
-    }
-
-// ---------------------------------------------------------
 // CPhoneSystemEventHandler::HandlePhoneStartupL
 // ---------------------------------------------------------
 //
@@ -183,15 +113,4 @@
     iStateMachine->State()->HandlePropertyChangedL( aCategory, aKey, aValue );
     }
 
-// -----------------------------------------------------------
-// CPhoneSystemEventHandler::HandleCenRepChangeL
-// -----------------------------------------------------------
-//
-void CPhoneSystemEventHandler::HandleCenRepChangeL(
-    const TUid& aUid,
-    const TUint aId )
-    {
-    iStateMachine->State()->HandleCenRepChangeL( aUid, aId );
-    }
-
 //  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/src/cphoneuicommandmanager.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,303 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Class takes care of CBA's.
+*
+*/
+
+#include "cphoneuicommandmanager.h"
+
+#include "mpeengineinfo.h"
+#include "mphoneviewcommandhandle.h"
+#include "mphonestatemachine.h"
+#include "phonerssbase.h"
+#include "phonelogger.h"
+#include "cphonemainresourceresolver.h"
+#include "tphonecmdparaminteger.h"
+#include "tphonecmdparamcallstatedata.h"
+#include "tphonecmdparamboolean.h"
+
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// CPhoneUiCommandManager::CPhoneUiCommandManager
+// ---------------------------------------------------------------------------
+//
+CPhoneUiCommandManager::CPhoneUiCommandManager(
+         CPhoneState* aState,
+         MPhoneViewCommandHandle& aViewCommandHandle,
+         MPhoneStateMachine& aStateMachine )
+   : iState ( aState ), 
+     iViewCommandHandle ( aViewCommandHandle ),
+     iStateMachine ( aStateMachine ),
+     iSoftRejectStatus ( ETrue )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneUiCommandManager::CPhoneUiCommandManager() ");
+    }
+
+ // ---------------------------------------------------------------------------
+ // CPhoneUiCommandManager::NewL
+ // ---------------------------------------------------------------------------
+ //
+CPhoneUiCommandManager* CPhoneUiCommandManager::NewL( 
+        CPhoneState* aState,
+        MPhoneViewCommandHandle& aViewCommandHandle,
+        MPhoneStateMachine& aStateMachine )
+     {
+     __LOGMETHODSTARTEND( EPhoneControl, "CPhoneUiCommandManager::NewL() ");
+     return new (ELeave) CPhoneUiCommandManager( aState, aViewCommandHandle, aStateMachine );
+     }
+
+// ---------------------------------------------------------------------------
+//  CPhoneUiCommandManager::~CPhoneUiCommandManager
+// ---------------------------------------------------------------------------
+//
+CPhoneUiCommandManager::~CPhoneUiCommandManager()
+     {
+     __LOGMETHODSTARTEND( EPhoneControl, "CPhoneUiCommandManager::~CPhoneUiCommandManager() ");
+     }
+ 
+// ======== LOCAL FUNCTIONS ========
+
+// -----------------------------------------------------------
+// CPhoneUiCommandManager::UpdateUiCommands
+// -----------------------------------------------------------
+//
+void CPhoneUiCommandManager::UpdateUiCommands()
+    {
+    SetButtonFlags();
+    
+    SetTouchButtons();
+    
+    SetToolBarButtons();
+    }
+
+// -----------------------------------------------------------
+// CPhoneUiCommandManager::SetSoftRejectStatus
+// -----------------------------------------------------------
+//
+void CPhoneUiCommandManager::SetSoftRejectStatus( TBool aSoftRejectStatus )
+    {
+    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneUiCommandManager::SetSoftRejectStatus ()" );
+    // Set the internal TBool variable
+    iSoftRejectStatus = aSoftRejectStatus;
+    __PHONELOG1( 
+            EBasic, 
+            EPhoneControl, 
+            "CPhoneUiCommandManager::SetSoftRejectStatus - iSoftRejectStatus =%d", 
+            iSoftRejectStatus  );
+    }
+
+// -----------------------------------------------------------
+// CPhoneUiCommandManager::SoftRejectStatus
+// -----------------------------------------------------------
+//
+TBool CPhoneUiCommandManager::SoftRejectStatus()
+    {
+    return iSoftRejectStatus;
+    }
+
+// -----------------------------------------------------------
+// CPhoneUiCommandManager::SetSoftRejectDimmedFlag
+// -----------------------------------------------------------
+//
+void CPhoneUiCommandManager::SetSoftRejectDimmedFlag()
+    {
+    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneUiCommandManager::GetIncomingCallSilenceCBA ()" );
+    TPhoneCmdParamCallStateData callStateData;
+    callStateData.SetCallState( EPEStateRinging );
+    TRAPD( err, iViewCommandHandle.HandleCommandL(
+        EPhoneViewGetCallIdByState, &callStateData ) );
+    TPhoneCmdParamBoolean dimSoftRejectParam;
+    
+    if ( err == KErrNone && callStateData.CallId() > KErrNotFound )
+        {
+        TBool privateNumber = iStateMachine.PhoneEngineInfo()->
+                RemotePhoneNumber( callStateData.CallId() ).Length() == 0;
+        
+        TBool voip = iStateMachine.PhoneEngineInfo()->
+                CallType( callStateData.CallId() ) == EPECallTypeVoIP;
+        
+        dimSoftRejectParam.SetBoolean( privateNumber || !iSoftRejectStatus || voip );        
+        }
+    else
+        {
+        iSoftRejectStatus = ETrue;
+        dimSoftRejectParam.SetBoolean( EFalse );
+        }
+    iViewCommandHandle.ExecuteCommand(
+            EPhoneViewSetSoftRejectDimmed, &dimSoftRejectParam );
+    }
+
+// -----------------------------------------------------------
+// CPhoneUiCommandManager::SetButtonFlags
+// -----------------------------------------------------------
+//
+void CPhoneUiCommandManager::SetButtonFlags()
+    {
+    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneUiCommandManager::SetButtonFlags() ");
+    SetSoftRejectDimmedFlag();
+    
+    TPhoneCmdParamBoolean muteParam;
+    muteParam.SetBoolean( iStateMachine.PhoneEngineInfo()->AudioMute() );
+    iViewCommandHandle.ExecuteCommand(EPhoneViewSetMuteFlag,&muteParam);
+    
+    const TPEAudioOutput audioOutput =
+        iStateMachine.PhoneEngineInfo()->AudioOutput();
+
+    TBool btAvailable = iStateMachine.PhoneEngineInfo()->AudioOutputAvailable(
+        EPEBTAudioAccessory );
+    
+    TPhoneCmdParamBoolean btParam;
+    btParam.SetBoolean( audioOutput == EPEBTAudioAccessory );        
+    iViewCommandHandle.ExecuteCommand(EPhoneViewSetBlueToothFlag,&btParam);
+
+    TPhoneCmdParamBoolean btAvailableParam;
+    btAvailableParam.SetBoolean( btAvailable );        
+    iViewCommandHandle.ExecuteCommand(
+            EPhoneViewSetBluetoothAvailableFlag,&btAvailableParam);
+    }
+
+// -----------------------------------------------------------
+// CPhoneUiCommandManager::SetTouchButtons
+// -----------------------------------------------------------
+//
+void CPhoneUiCommandManager::SetTouchButtons()
+    {
+    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneUiCommandManager::SetTouchButtons() ");
+    TPhoneCmdParamBoolean booleanParam;
+    booleanParam.SetBoolean( IsEmergency() );
+
+    iViewCommandHandle.ExecuteCommand(
+                 EPhoneViewSetTouchPaneButtons,
+                 &booleanParam );
+    }
+
+// -----------------------------------------------------------
+// CPhoneUiCommandManager::SetToolBarButtons
+// -----------------------------------------------------------
+//
+void CPhoneUiCommandManager::SetToolBarButtons()
+    {
+    
+    TInt resource( IsEmergency() ? 
+        EPhoneCallHandlingEmergencyCBA :
+        ToolBarResource() );
+    
+    if ( resource != KErrNotFound )
+        {
+        TPhoneCmdParamInteger integerParam;
+        integerParam.SetInteger(
+            CPhoneMainResourceResolver::Instance()->ResolveResourceID(
+                    resource ) );
+        iViewCommandHandle.ExecuteCommand( EPhoneViewUpdateCba,
+            &integerParam );
+        }
+    }
+
+// -----------------------------------------------------------
+// CPhoneUiCommandManager::ToolBarResource
+// -----------------------------------------------------------
+//
+TInt CPhoneUiCommandManager::ToolBarResource()
+    {
+    TInt ret( KErrNotFound );
+    TPhoneCmdParamInteger callIdParam;
+    iViewCommandHandle.ExecuteCommand( 
+            EPhoneViewGetExpandedBubbleCallId, &callIdParam );
+       
+    TInt callID = callIdParam.Integer();
+    
+    if ( callID != KErrNotFound )
+        {
+        TInt callState = iStateMachine.PhoneEngineInfo()->
+                CallState( callID );
+                                
+        if ( callState == EPEStateRinging ) 
+            {
+            ret = RingingCallResource();
+            }
+        else
+            {
+            ret = EPhoneCallHandlingInCallCBA;
+            }
+        }
+
+    return ret;
+    }
+
+// -----------------------------------------------------------
+// CPhoneUiCommandManager::RingingCallResource
+// -----------------------------------------------------------
+//
+TInt CPhoneUiCommandManager::RingingCallResource()
+    {
+    TInt ret( KErrNotFound );
+    TPhoneCmdParamInteger activeCallCountParam;
+    TRAP_IGNORE( iViewCommandHandle.ExecuteCommandL(
+            EPhoneViewGetCountOfActiveCalls, &activeCallCountParam ) );
+    TInt activeCallCount = activeCallCountParam.Integer();
+    
+    if ( 0 == activeCallCount ) 
+        {
+        ret = SingleRingingCallResource();
+        }
+    else if ( 2 == activeCallCount )
+        {
+        ret = ret = EPhoneCallHandlingIncomingRejectCBA;
+        }
+    else
+        {
+        ret = EPhoneCallHandlingCallWaitingCBA;
+        }
+    
+    return ret;
+    }
+
+// -----------------------------------------------------------
+// CPhoneUiCommandManager::SingleRingingCallResource
+// -----------------------------------------------------------
+//
+TInt CPhoneUiCommandManager::SingleRingingCallResource()
+    {
+    TInt ret( KErrNotFound );
+
+    TPhoneCmdParamBoolean ringingTonePlaying;
+    iViewCommandHandle.ExecuteCommand( 
+            EPhoneViewIsRingingTonePlaying, &ringingTonePlaying );
+    
+    if ( ringingTonePlaying.Boolean() )
+        {
+        ret = EPhoneCallHandlingIncomingCBA;
+        }
+    else
+        {
+        ret = EPhoneCallHandlingIncomingSoftRejectCBA;
+        }
+    
+    return ret;
+    }
+
+// -----------------------------------------------------------
+// CPhoneUiCommandManager::IsEmergency
+// -----------------------------------------------------------
+//
+TBool CPhoneUiCommandManager::IsEmergency()
+    {
+    TBool emergency( EPEStateIdle != 
+        iStateMachine.PhoneEngineInfo()->CallState( KPEEmergencyCallId ) );
+    
+    return emergency;
+    }
+
--- a/phoneapp/phoneuicontrol/src/cphoneuicontroller.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuicontrol/src/cphoneuicontroller.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -226,56 +226,6 @@
     }
 
 // ---------------------------------------------------------
-// CPhoneUIController::HandleSystemEventL
-// ---------------------------------------------------------
-//
-EXPORT_C void CPhoneUIController::HandleSystemEventL( const TWsEvent& aEvent )
-    {
-    __ASSERT_DEBUG( iSystemEventHandler, Panic( EPhoneCtrlInvariant ) );
-    iSystemEventHandler->HandleSystemEventL( aEvent );
-    }
-
-// ---------------------------------------------------------
-// CPhoneUIController::HandleForegroundEventL
-// ---------------------------------------------------------
-//
-EXPORT_C void CPhoneUIController::HandleForegroundEventL( TBool aForeground )
-    {
-    __ASSERT_DEBUG( iSystemEventHandler, Panic( EPhoneCtrlInvariant ) );
-    iSystemEventHandler->HandleForegroundEventL( aForeground );
-    }
-
-// ---------------------------------------------------------
-// CPhoneUIController::HandlePhoneForegroundEventL
-// ---------------------------------------------------------
-//
-EXPORT_C void CPhoneUIController::HandlePhoneForegroundEventL()
-    {
-    __ASSERT_DEBUG( iSystemEventHandler, Panic( EPhoneCtrlInvariant ) );
-    iSystemEventHandler->HandlePhoneForegroundEventL();
-    }
-
-// ---------------------------------------------------------
-// CPhoneUIController::HandlePhoneFocusLostEventL
-// ---------------------------------------------------------
-//
-EXPORT_C void CPhoneUIController::HandlePhoneFocusLostEventL()
-    {
-    __ASSERT_DEBUG( iSystemEventHandler, Panic( EPhoneCtrlInvariant ) );
-    iSystemEventHandler->HandlePhoneFocusLostEventL();
-    }
-
-// ---------------------------------------------------------
-// CPhoneUIController::HandleIdleForegroundEventL
-// ---------------------------------------------------------
-//
-EXPORT_C void CPhoneUIController::HandleIdleForegroundEventL()
-    {
-    __ASSERT_DEBUG( iSystemEventHandler, Panic( EPhoneCtrlInvariant ) );
-    iSystemEventHandler->HandleIdleForegroundEventL();
-    }
-
-// ---------------------------------------------------------
 // CPhoneUIController::HandlePhoneStartupL
 // ---------------------------------------------------------
 //
@@ -306,14 +256,13 @@
     return iStateMachine->State()->ProcessCommandL( aCommand );
     }
 
-
 // ---------------------------------------------------------
-// CPhoneUIController::HandleKeyLockEnabled
+// CPhoneUIController::EngineInfo
 // ---------------------------------------------------------
 //
-EXPORT_C void CPhoneUIController::HandleKeyLockEnabled( TBool aKeylockEnabled )
+EXPORT_C MPEEngineInfo* CPhoneUIController::EngineInfo()
     {
-    iSystemEventHandler->HandleKeyLockEnabled( aKeylockEnabled );
+    return iEngineInfo;
     }
 
 // ---------------------------------------------------------
--- a/phoneapp/phoneuicontrol/src/tphonecallheaderparam.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,688 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  A parameter class for setting call header information
-*
-*/
-
-
-#include <mpeclientinformation.h>
-#include <StringLoader.h>
-#include <bautils.h>
-
-#include "tphonecallheaderparam.h"
-#include "tphonecmdparamboolean.h"
-#include "mphonestatemachine.h"
-#include "mphonecallheadermanagerutility.h"
-#include "cphonemainresourceresolver.h"
-#include "phonerssbase.h"
-#include "phoneui.pan"
-#include "cphonecenrepproxy.h"
-#include "telephonyvariant.hrh"
-#include "phoneviewcommanddefinitions.h"
-#include "phonelogger.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// -----------------------------------------------------------------------------
-// TPhoneCallHeaderParam::TPhoneCallHeaderParam
-// -----------------------------------------------------------------------------
-//  
-TPhoneCallHeaderParam::TPhoneCallHeaderParam(
-        MPhoneCallHeaderManagerUtility& aManagerUtility,
-        MPhoneStateMachine& aStateMachine ) 
-        : iManagerUtility ( aManagerUtility ),
-          iStateMachine ( aStateMachine ),
-          iCallHeaderType ( EPECallTypeUninitialized ),
-          iSetDivertIndication ( EFalse )
-    {
-    }
-
-// -----------------------------------------------------------
-// TPhoneCallHeaderParam::SetCallHeaderTexts
-// -----------------------------------------------------------
-//
-void TPhoneCallHeaderParam::SetCallHeaderTexts(
-    const TInt aCallId, 
-    const TBool aWaitingCall,
-    const TBool aVideoCall,
-    TPhoneCmdParamCallHeaderData* aCallHeaderData )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "TPhoneCallHeaderParam::SetCallHeaderTexts( ) ");
-    
-    TInt labelId(KPhoneRssCommonFirst);
-    TInt shortLabelId( KPhoneRssCommonFirst );
-    
-    // Fetch engine info parameters.
-    const TBool auxLine( iStateMachine.PhoneEngineInfo()->CallALSLine( aCallId ) == CCCECallParameters::ECCELineTypeAux );
-    const TBool cli( iStateMachine.PhoneEngineInfo()->RemotePhoneNumber( aCallId ).Length());
-    const TBool cnap( iStateMachine.PhoneEngineInfo()->RemotePartyName( aCallId ).Length());
-    const TInt numberType( iStateMachine.PhoneEngineInfo()->RemotePhoneNumberType( aCallId ));
-    
-    __PHONELOG2( EBasic, EPhoneControl, "TPhoneCallHeaderParam::SetCallHeaderTexts - NumberType(%d), CLI(%d)", numberType, cli );
-    __PHONELOG2( EBasic, EPhoneControl, "TPhoneCallHeaderParam::SetCallHeaderTexts - CNAP(%d), AuxLine(%d)", cnap, auxLine );
-    
-    if ( !cli && !cnap && numberType != EPEPrivateNumber && numberType != EPEUnknownNumber )
-        {
-        if ( auxLine )
-            {
-            if ( aWaitingCall )
-                {
-                labelId = EPhoneIncomingLine2WaitingText; // waiting, line 2
-                shortLabelId = EPhoneIncomingLine2Text; // on line 2
-                }
-            else
-                {
-                labelId = EPhoneIncomingLine2Text; // on line 2
-                }
-            }
-        // If CLIR, but also network limitation(e.g. EPEUnknownNumber), then second line 
-        // should be empty in call bubble.
-        else
-            {
-            labelId = KPhoneRssCommonFirst; // No second line in call bubble
-            }
-        }
-    else  // Voice or video call with CLI or with CNAP.
-        {
-        if ( aWaitingCall )
-            {
-            if ( auxLine  )
-                {
-                labelId = EPhoneIncomingLine2WaitingText; // waiting, line 2
-                shortLabelId = EPhoneIncomingLine2Text; // on line 2
-                }
-            else
-                {
-                labelId = EPhoneCallWaitingLabel; // waiting
-                shortLabelId = EPhoneCallWaitingLabelShort; // waiting
-                }
-            }
-        else // Mo other calls
-            {
-            if ( auxLine )
-                {
-                labelId = EPhoneIncomingLine2CallingText; // calling, line 2
-                shortLabelId = EPhoneIncomingLine2Text; // on line 2
-                }
-            else
-                {
-                // If CLIR, but not network limitation, then second line 
-                // (calling or video call) should be shown in call bubble.
-                if ( aVideoCall )
-                    {
-                    labelId = EPhoneVideoCallIncoming; // video call
-                    shortLabelId = EPhoneVideoCallIncomingShort; // video call
-                    }
-                else
-                    {
-                    labelId = EPhoneIncomingCallLabel; // calling
-                    shortLabelId = EPhoneIncomingCallLabelShort; // calling
-                    }
-                }
-            }
-        }
-    __PHONELOG2( EBasic, EPhoneControl, 
-            "TPhoneCallHeaderParam::SetCallHeaderTexts - labelId(%d) , shortLabelId(%d)",
-            labelId, shortLabelId );
-    iManagerUtility.LoadCallHeaderTexts( labelId, shortLabelId, aCallHeaderData );
-    }
-    
-// -----------------------------------------------------------------------------
-// TPhoneCallHeaderParam::SetCliParamatersL
-// -----------------------------------------------------------------------------
-// 
-void TPhoneCallHeaderParam::SetCliParamatersL(
-        const TInt aCallId, 
-        TPhoneCmdParamCallHeaderData* aCallHeaderData )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "TPhoneCallHeaderParam::SetCliParamatersL( ) ");
-    
-    // Set call header number type
-    aCallHeaderData->SetNumberType( iStateMachine.PhoneEngineInfo()->RemotePhoneNumberType( aCallId ) );
-    
-    if ( ( iStateMachine.PhoneEngineInfo()->RemotePhoneNumber( aCallId ).Length() ) && 
-         ( !ContactInfoAvailable( aCallId ) ) )
-        {
-        // Set phonenumber/URI as the CLI text for the call header      
-       aCallHeaderData->SetCLIText( iStateMachine.PhoneEngineInfo()->RemotePhoneNumber( aCallId ),
-                 TPhoneCmdParamCallHeaderData::ELeft );
-            
-        // No contact name, use phonenumber when available.
-        aCallHeaderData->SetParticipantListCLI(
-                TPhoneCmdParamCallHeaderData::EPhoneParticipantCNAPText );
-        }
-    else
-        {
-        TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection cnapClippingDirection = TPhoneCmdParamCallHeaderData::ERight;
-        TBuf<KCntMaxTextFieldLength> remoteInfoText( KNullDesC );
- 
-        TBool secondaryCli = GetRemoteInfoDataL( aCallId, remoteInfoText );
-        cnapClippingDirection = TPhoneCmdParamCallHeaderData::ELeft;
-
-        aCallHeaderData->SetCLIText( remoteInfoText,  TPhoneCmdParamCallHeaderData::ERight );
-        
-        if (secondaryCli)
-            {
-            aCallHeaderData->SetCNAPText( iStateMachine.PhoneEngineInfo()->RemotePhoneNumber( aCallId ), 
-                cnapClippingDirection );
-            }
-        }
-    
-    SetCallerImage( aCallId, aCallHeaderData );
-
-    // Set the Caller text
-    if ( iStateMachine.PhoneEngineInfo()->CallerText( aCallId ).Length() > 0 )
-        {
-        aCallHeaderData->SetCallerText( iStateMachine.PhoneEngineInfo()->CallerText( aCallId ) );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// TPhoneCallHeaderParam::SetCallerImage
-// -----------------------------------------------------------------------------
-//     
-void TPhoneCallHeaderParam::SetCallerImage( 
-        const TInt aCallId, 
-        TPhoneCmdParamCallHeaderData* aCallHeaderData )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "TPhoneCallHeaderParam::SetCallerImage( ) ");
-    // Set the call header picture data if it is available
-    if ( ( iStateMachine.PhoneEngineInfo()->CallerImage( aCallId ).Length() > 0 )  && 
-         ( BaflUtils::FileExists( CCoeEnv::Static()->FsSession(), 
-                                  iStateMachine.PhoneEngineInfo()->CallerImage( aCallId ) ) ) )
-        {
-        aCallHeaderData->SetPicture( iStateMachine.PhoneEngineInfo()->CallerImage( aCallId ) );
-        }
-    else
-        {
-        // Set the thumbnail picture data if it is available
-        aCallHeaderData->SetHasThumbnail( iStateMachine.PhoneEngineInfo()->HasCallerThumbnail( aCallId ) );
-        CFbsBitmap* picture = iStateMachine.PhoneEngineInfo()->CallerThumbnail( aCallId );
-        if ( picture )
-            {
-            aCallHeaderData->SetThumbnail( picture );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//  TPhoneCallHeaderParam::SetBasicCallHeaderParamsL
-// ---------------------------------------------------------------------------
-//
-void TPhoneCallHeaderParam::SetBasicCallHeaderParamsL(
-        const TInt aCallId, 
-        TPhoneCmdParamCallHeaderData* aCallHeaderData )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "TPhoneCallHeaderParam::SetBasicCallHeaderParamsL( ) ");
-    // Set call header call state
-    aCallHeaderData->SetCallState( 
-        iStateMachine.PhoneEngineInfo()->CallState( aCallId ) );
-
-    // Set call header type            
-    aCallHeaderData->SetCallType( GetCallType( aCallId, aCallHeaderData ) );
-    
-    // Set call header voice privacy status
-    aCallHeaderData->SetCiphering( 
-        iStateMachine.PhoneEngineInfo()->IsSecureCall( aCallId ) );
-    aCallHeaderData->SetCipheringIndicatorAllowed( 
-        iStateMachine.PhoneEngineInfo()->SecureSpecified() );
-    
-    //see service provider settings API
-    aCallHeaderData->SetServiceId(
-       iStateMachine.PhoneEngineInfo()->ServiceId( aCallId ) );
-       
-    // Set contact link, see virtual phonebook API
-    aCallHeaderData->SetContactLink(
-       iStateMachine.PhoneEngineInfo()->ContactLink( aCallId ) );
-       
-    // Set remote phone number
-    aCallHeaderData->SetRemotePhoneNumber(
-       iStateMachine.PhoneEngineInfo()->RemotePhoneNumber( aCallId ) );
-    }
-
-// ---------------------------------------------------------------------------
-//  TPhoneCallHeaderParam::GetCallType
-// ---------------------------------------------------------------------------
-//
-TPECallType TPhoneCallHeaderParam::GetCallType( 
-        const TInt aCallId,
-        TPhoneCmdParamCallHeaderData* aCallHeaderData )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "TPhoneCallHeaderParam::GetCallType( ) ");
-    // Set call header type.
-    TPECallType callType = 
-        iStateMachine.PhoneEngineInfo()->CallType( aCallId );
-    SetCallHeaderType( callType );
-    
-    if ( iStateMachine.PhoneEngineInfo()->CallALSLine( aCallId ) 
-         == CCCECallParameters::ECCELineTypeAux )
-        {
-        aCallHeaderData->SetLine2( ETrue );
-        }
-
-    __PHONELOG1( EBasic, EPhoneControl, 
-                "TPhoneCallHeaderParam::GetCallType() - callType: %d ", 
-                callType )
-    return callType;
-    }
-
-// ---------------------------------------------------------------------------
-//  TPhoneCallHeaderParam::SetCallHeaderType
-// ---------------------------------------------------------------------------
-//
-void TPhoneCallHeaderParam::SetCallHeaderType( 
-    TInt aCallHeaderType )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "TPhoneCallHeaderParam::SetCallHeaderType( ) ");
-    iCallHeaderType = aCallHeaderType;
-    __PHONELOG1( EBasic, EPhoneControl, 
-                    "TPhoneCallHeaderParam::SetCallHeaderType() - iCallHeaderType: %d ", 
-                    iCallHeaderType )
-    }
-
-// ---------------------------------------------------------------------------
-//  TPhoneCallHeaderParam::CallHeaderType
-// ---------------------------------------------------------------------------
-//
-TInt TPhoneCallHeaderParam::CallHeaderType() const
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "TPhoneCallHeaderParam::CallHeaderType( ) ");
-    __PHONELOG1( EBasic, EPhoneControl, 
-                        "TPhoneCallHeaderParam::CallHeaderType() - iCallHeaderType: %d ", 
-                        iCallHeaderType )
-    return iCallHeaderType;            
-    }
-
-// ---------------------------------------------------------------------------
-//  TPhoneCallHeaderParam::ContactInfoAvailable
-// ---------------------------------------------------------------------------
-//
-TBool TPhoneCallHeaderParam::ContactInfoAvailable( const TInt aCallId ) const
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "TPhoneCallHeaderParam::ContactInfoAvailable( ) ");
-    TBool contactAvailable = EFalse;
-    if ( ( iStateMachine.PhoneEngineInfo()->RemoteName( aCallId ).Length() ) || 
-         ( iStateMachine.PhoneEngineInfo()->RemoteCompanyName( aCallId ).Length() ) )
-        {
-        contactAvailable = ETrue;
-        }
-    return contactAvailable;
-    }
-
-// -----------------------------------------------------------------------------
-// TPhoneCallHeaderParam::SetCliAndCnapParamatersL
-// -----------------------------------------------------------------------------
-// 
-void TPhoneCallHeaderParam::SetCliAndCnapParamatersL(
-        const TInt aCallId, 
-        TPhoneCmdParamCallHeaderData* aCallHeaderData )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "TPhoneCallHeaderParam::SetCliAndCnapParamatersL( ) ");
-    TBuf<KCntMaxTextFieldLength> cnapText( KNullDesC );
-
-    // Set call header number type
-    aCallHeaderData->SetNumberType( iStateMachine.PhoneEngineInfo()->RemotePhoneNumberType( aCallId ) );
-        
-    const MPEClientInformation& info = 
-        iStateMachine.PhoneEngineInfo()->CallClientInformation( aCallId );
-
-    if ( ( iStateMachine.PhoneEngineInfo()->RemotePhoneNumber( aCallId ).Length() ) && 
-         ( !ContactInfoAvailable( aCallId ) ) && 
-         ( !info.ShowNumber() ) )
-        {
-        // No contact info data available; use the phone number
-        aCallHeaderData->SetCLIText(
-                iStateMachine.PhoneEngineInfo()->RemotePhoneNumber( aCallId ),
-                TPhoneCmdParamCallHeaderData::ELeft);
-        
-        // No contact name, use phonenumber when available.
-        aCallHeaderData->SetParticipantListCLI( 
-                TPhoneCmdParamCallHeaderData::EPhoneParticipantCNAPText );
-        }
-    else
-        {
-        TBuf<KCntMaxTextFieldLength> remoteInfoText( KNullDesC );
-        
-        GetRemoteInfoDataL( aCallId, remoteInfoText );
-        aCallHeaderData->SetCLIText( remoteInfoText, TPhoneCmdParamCallHeaderData::ERight );
-        }
-
-    // Fetch CNAP text and clipping direction
-    TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection cnapClippingDirection;
-    GetCNAPText( aCallId, cnapText, cnapClippingDirection );
-    
-    // Set CNAP data 
-    aCallHeaderData->SetCNAPText( cnapText, cnapClippingDirection );
-    
-    // Set caller image 
-    SetCallerImage( aCallId, aCallHeaderData );
-
-    // Set the Caller text
-    if ( iStateMachine.PhoneEngineInfo()->CallerText( aCallId ).Length() > 0 )
-        {
-        aCallHeaderData->SetCallerText( iStateMachine.PhoneEngineInfo()->CallerText( aCallId ) );
-        }        
-    
-    // Set the call header CNAP data ( Contains possible CNAP name or received skype identification ).
-    if ( IsFeatureSupported( KTelephonyLVFlagUUS, aCallId ) )
-        {
-        aCallHeaderData->SetCNAPText( iStateMachine.PhoneEngineInfo()->RemotePartyName( aCallId ), 
-                TPhoneCmdParamCallHeaderData::ERight );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//  TPhoneCallHeaderParam::GetCNAPText
-// ---------------------------------------------------------------------------
-//
-void TPhoneCallHeaderParam::GetCNAPText( 
-    const TInt aCallId,
-       TDes& aData, 
-       TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection& aDirection ) const
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "TPhoneCallHeaderParam::GetCNAPText( ) ");
-    
-    // Set clipping direction  
-    aDirection = TPhoneCmdParamCallHeaderData::ERight;
-    
-    // If it's not a private number show further info
-    if ( iStateMachine.PhoneEngineInfo()->RemotePhoneNumberType( aCallId ) != 
-        EPEPrivateNumber )
-        {
-        if ( ( iStateMachine.PhoneEngineInfo()->RemoteName( aCallId ).Length() ||
-            iStateMachine.PhoneEngineInfo()->RemotePartyName( aCallId ).Length() || 
-            iStateMachine.PhoneEngineInfo()->RemoteCompanyName( aCallId ).Length() ) &&
-            iStateMachine.PhoneEngineInfo()->RemotePhoneNumber( aCallId ).Length() )
-            {
-            // Use the phone number for the CNAP display
-            aData.Copy( iStateMachine.PhoneEngineInfo()->RemotePhoneNumber( aCallId ) );
-            
-            // Clipping direction for non-private number
-            aDirection = TPhoneCmdParamCallHeaderData::ELeft;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//  TPhoneCallHeaderParam::IsFeatureSupported
-// ---------------------------------------------------------------------------
-//
-TBool TPhoneCallHeaderParam::IsFeatureSupported( 
-        const TInt aFeatureKey, 
-        const TInt aCallId ) const
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "TPhoneCallHeaderParam::IsFeatureSupported( ) ");
-    TBool featureSupport(EFalse);
-    switch( aFeatureKey )
-        {
-        case KTelephonyLVFlagUUS:
-            {
-            if( ( CPhoneCenRepProxy::Instance()->IsTelephonyFeatureSupported( aFeatureKey ) ) &&
-                ( iStateMachine.PhoneEngineInfo()->RemotePartyName( aCallId ).Length() ) )
-                {
-                featureSupport = ETrue;
-                }
-            }
-            break;
-        default:
-            //Do nothing.
-            break;
-        }
-    __PHONELOG1( EBasic, EPhoneControl, 
-            "TPhoneCallHeaderParam::IsFeatureSupported() - featureSupport: %d ", 
-            featureSupport )
-    
-    return featureSupport;
-    }
-
-// ---------------------------------------------------------------------------
-// TPhoneCallHeaderParam::SetDivertIndicatorToCallHeader
-// ---------------------------------------------------------------------------
-//
-void TPhoneCallHeaderParam::SetDivertIndicatorToCallHeader( 
-    const TInt aCallId, 
-    TPhoneCmdParamCallHeaderData* aCallHeaderData )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "TPhoneCallHeaderParam::SetDivertIndicatorToCallHeader( ) ");
-    if( iSetDivertIndication )
-        {
-        aCallHeaderData->SetDiverted( ETrue );
-        }
-    
-    if ( iStateMachine.PhoneEngineInfo()->CallALSLine( aCallId ) == CCCECallParameters::ECCELineTypeAux )
-        {
-        __PHONELOG( EBasic, EPhoneControl, 
-                "TPhoneCallHeaderParam::SetDivertIndicatorToCallHeader - CallALSLine() == CCCECallParameters::ECCELineTypeAux");
-        aCallHeaderData->SetLine2( ETrue );    
-        }        
-    }
-
-// ---------------------------------------------------------------------------
-// TPhoneCallHeaderParam::SetDivertIndication
-// ---------------------------------------------------------------------------
-//
-void TPhoneCallHeaderParam::SetDivertIndication( const TBool aDivertIndication )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "TPhoneCallHeaderParam::SetDivertIndication( ) ");
-    iSetDivertIndication = aDivertIndication;           
-    __PHONELOG1( EBasic, EPhoneControl, 
-                "TPhoneCallHeaderParam::SetDivertIndication() - iSetDivertIndication: %d ", 
-                iSetDivertIndication )
-    }
-
-// ---------------------------------------------------------------------------
-//  TPhoneCallHeaderParam::SetIncomingCallHeaderParamsL
-// ---------------------------------------------------------------------------
-//
-void TPhoneCallHeaderParam::SetIncomingCallHeaderParamsL(
-        const TInt aCallId, 
-        const TBool aWaitingCall,
-        const TBool aVideoCall,
-        TPhoneCmdParamCallHeaderData* aCallHeaderData )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "TPhoneCallHeaderParam::SetIncomingCallHeaderParamsL( ) ");
-    // Set basic params must be called before update is called.
-    SetBasicCallHeaderParamsL( aCallId, aCallHeaderData );
-    
-    // Set call header labels
-    SetCallHeaderTexts( 
-            aCallId, 
-            aWaitingCall, 
-            aVideoCall, 
-            aCallHeaderData );
-    
-    SetCliAndCnapParamatersL( aCallId, aCallHeaderData );
-    
-    // Set divert indication to call header if needed.
-    SetDivertIndicatorToCallHeader( aCallId, aCallHeaderData );
-    }
-
-// ---------------------------------------------------------------------------
-//  TPhoneCallHeaderParam::SetOutgoingCallHeaderParamsL
-// ---------------------------------------------------------------------------
-//
-void TPhoneCallHeaderParam::SetOutgoingCallHeaderParamsL(
-        const TInt aCallId,
-        TPhoneCmdParamCallHeaderData* aCallHeaderData )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "TPhoneCallHeaderParam::SetOutgoingCallHeaderParamsL( ) ");
-    // Set basic params must be called before update is called.
-    SetBasicCallHeaderParamsL( aCallId, aCallHeaderData );
-    
-    // Set call header labels
-    if ( aCallHeaderData->CallType() == EPECallTypeVideo )
-        {
-        iManagerUtility.LoadCallHeaderTexts( 
-                EPhoneOutgoingVideoCallLabel, 
-                EPhoneOutgoingVideoCallLabelShort, 
-                aCallHeaderData );
-        }
-    else
-        {
-        iManagerUtility.LoadCallHeaderTexts( 
-                EPhoneOutgoingCallLabel, 
-                EPhoneOutgoingCallLabelShort, 
-                aCallHeaderData );
-        }
-    
-    SetCliParamatersL( aCallId, aCallHeaderData );
-    }
-
-// ---------------------------------------------------------------------------
-//  TPhoneCallHeaderParam::UpdateCallHeaderInfoL
-// ---------------------------------------------------------------------------
-//
-void TPhoneCallHeaderParam::UpdateCallHeaderInfoL( 
-        const TInt aCallId,
-        const TBool aWaitingCall,
-        const TBool aVideoCall,
-        TPhoneCmdParamCallHeaderData* aCallHeaderData )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "TPhoneCallHeaderParam::UpdateCallHeaderInfoL( ) ");
-    __ASSERT_DEBUG( iStateMachine.PhoneEngineInfo(), Panic( EPhoneCtrlInvariant ) );
-    TBuf<KCntMaxTextFieldLength> remoteInfoText( KNullDesC );
-    
-    // Set call header type
-    GetCallType( aCallId, aCallHeaderData );
-    
-    // Set CLI text for the call header
-    TBool secondaryCli = GetRemoteInfoDataL( aCallId, remoteInfoText );
-    if ( remoteInfoText != KNullDesC )
-        {
-        aCallHeaderData->SetCLIText( remoteInfoText, TPhoneCmdParamCallHeaderData::ERight );
-        if ( secondaryCli )
-            {
-            aCallHeaderData->SetCNAPText( iStateMachine.PhoneEngineInfo()->
-                RemotePhoneNumber( aCallId ), TPhoneCmdParamCallHeaderData::ELeft );       
-            }
-        }
-    else
-        {
-        aCallHeaderData->SetCLIText( 
-            iStateMachine.PhoneEngineInfo()->RemotePhoneNumber( aCallId ),
-            TPhoneCmdParamCallHeaderData::ELeft );
-        }
-
-    // If KTelephonyLVFlagUUS is enabled it will over write RemotePartyName setting.
-    // Contains possible CNAP name or received skype identification
-    if ( IsFeatureSupported( KTelephonyLVFlagUUS, aCallId ) )
-        {
-        TBuf<KCntMaxTextFieldLength> remotePartyName( KNullDesC );
-        remotePartyName.Copy( iStateMachine.PhoneEngineInfo()->RemotePartyName( aCallId ) );
-       
-        if ( iStateMachine.PhoneEngineInfo()->CallState( aCallId ) == EPEStateRinging )
-            {
-            // Set CNAP text  
-            aCallHeaderData->SetCNAPText( remotePartyName, TPhoneCmdParamCallHeaderData::ERight );
-            }
-        else
-            {
-            aCallHeaderData->SetCLIText( remotePartyName, TPhoneCmdParamCallHeaderData::ERight );
-            }
-        }   
-    
-    // Set call header labels
-    SetCallHeaderTexts( 
-            aCallId, 
-            aWaitingCall, 
-            aVideoCall, 
-            aCallHeaderData );
-            
-    // Update caller image
-    SetCallerImage( 
-            aCallId, 
-            aCallHeaderData ); 
-    }
-
-
-
-// ---------------------------------------------------------------------------
-//  TPhoneCallHeaderParam::GetRemoteInfoDataL
-// ---------------------------------------------------------------------------
-//
-TBool TPhoneCallHeaderParam::GetRemoteInfoDataL( 
-        const TInt aCallId, 
-        TDes& aData ) const 
-    {
-    __LOGMETHODSTARTEND( EPhoneControl, "TPhoneCallHeaderParam::GetRemoteInfoDataL() ");
-    __PHONELOG1( EBasic, EPhoneControl, "TPhoneCallHeaderParam::GetRemoteInfoDataL() - call id =%d ", aCallId);
-    __ASSERT_DEBUG( iStateMachine.PhoneEngineInfo(), Panic( EPhoneCtrlInvariant ) );
-    
-    TBool secondaryCli(EFalse);
-        
-    if ( aCallId == KEmergencyCallId )
-        {
-        // Set emergency label text
-        iManagerUtility.LoadResource( aData, EPhoneEmergencyCallHeader );
-        }
-    else
-        {
-        const RMobileCall::TMobileCallRemoteIdentityStatus identity = iStateMachine.PhoneEngineInfo()->RemoteIdentity( aCallId );
-        // Note next if-statements are in priority order so be careful if you change order
-        // or add new if-statements.
-        if ( iStateMachine.PhoneEngineInfo()->RemoteName( aCallId ).Length() )
-            {
-            // Display the contact name if it is available
-            aData.Copy( iStateMachine.PhoneEngineInfo()->RemoteName( aCallId ) );
-            secondaryCli = ETrue;
-            }
-        else if ( iStateMachine.PhoneEngineInfo()->RemotePartyName( aCallId ).Length() )
-            {
-            // Display the CNAP or UUS info if it is available.
-            aData.Copy( iStateMachine.PhoneEngineInfo()->RemotePartyName( aCallId ) );
-            secondaryCli = ETrue;
-            }
-        else if ( iStateMachine.PhoneEngineInfo()->RemoteCompanyName( aCallId ).Length() )
-            {
-            // Display the company name if it is available
-            aData.Copy( iStateMachine.PhoneEngineInfo()->RemoteCompanyName( aCallId ) );
-            }
-        else if ( iStateMachine.PhoneEngineInfo()->CallDirection( aCallId ) == RMobileCall::EMobileTerminated )
-            {
-            if ( EPEPrivateNumber == iStateMachine.PhoneEngineInfo()->RemotePhoneNumberType( aCallId ) )
-                {
-                if ( EPECallTypeVoIP == CallHeaderType() )
-                    {
-                    iManagerUtility.LoadResource( aData, iManagerUtility.Customization()->CustomizeCallHeaderText() );
-                    }
-                else
-                    {
-                    // private number
-                    iManagerUtility.LoadResource( aData, EPhoneCLIWithheld );
-                    }
-                }
-            else if ( identity == RMobileCall::ERemoteIdentityUnavailableNoCliCoinOrPayphone || 
-                    identity == RMobileCall::ERemoteIdentityAvailableNoCliCoinOrPayphone )
-                {
-                __PHONELOG( EBasic, EPhoneControl, "GetRemoteInfoDataL : payphone" );
-                // Display "Payphone".
-                iManagerUtility.LoadResource( aData, EPhoneCLIPayphone );
-                }
-            else if ( identity == RMobileCall::ERemoteIdentityUnknown )
-                {
-                __PHONELOG( EBasic, EPhoneControl, "GetRemoteInfoDataL : unknown number" );
-                // Display "Unknown Number".
-                iManagerUtility.LoadResource( aData, EPhoneCallCLIUnknown );
-                }
-            else if ( iStateMachine.PhoneEngineInfo()->RemotePhoneNumber( aCallId ).Length() )
-                {
-                // Display the number if it is available
-                aData.Copy( iStateMachine.PhoneEngineInfo()->RemotePhoneNumber( aCallId ) );
-                }            
-            }
-
-        }
-    return secondaryCli;
-    }
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphoneaccessorybthandler/BWINS/ut_cphoneaccessorybthandleru.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,3 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * __cdecl CreateTestSuiteL(void)
+	
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphoneaccessorybthandler/Src/ut_cphoneaccessorybthandler.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,314 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "UT_CPhoneAccessoryBTHandler.h"
+#include "FeatMgr.h"
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+#include <btengdomainpskeys.h>
+#include <e32property.h>
+
+#include <csmcmockcontext.h>
+#include <smcdefaultvalue.h>
+#include <msmcmockspecbuilder.h>
+#include <smcobjecttotypemapper.h>
+
+#include <coemain.h>
+
+#include "cpeengineinfo.h"
+#include "cpeengineinfoimpl.h"
+#include "cphonemainresourceresolver.h"
+#include "tphonecmdparamnote.h"
+
+#include "cphonestatemachinegsm.h"
+#include "mock_cphoneviewcommandhandle.h"
+#include "cphoneaccessorybthandler.h"
+
+
+// needed for mocking CPhoneMainResourceResolver::Instance()
+class CPhoneMainResourceResolverMock : public CPhoneMainResourceResolver
+    {
+    };
+
+// - Construction -----------------------------------------------------------
+
+UT_CPhoneAccessoryBTHandler* UT_CPhoneAccessoryBTHandler::NewL()
+    {
+    UT_CPhoneAccessoryBTHandler* self = UT_CPhoneAccessoryBTHandler::NewLC();
+    CleanupStack::Pop();
+    return self;
+    }
+
+UT_CPhoneAccessoryBTHandler* UT_CPhoneAccessoryBTHandler::NewLC()
+    {
+    UT_CPhoneAccessoryBTHandler* self = new( ELeave ) UT_CPhoneAccessoryBTHandler();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+UT_CPhoneAccessoryBTHandler::~UT_CPhoneAccessoryBTHandler()
+    {
+    CSmcMockContext::Release();
+    }
+
+UT_CPhoneAccessoryBTHandler::UT_CPhoneAccessoryBTHandler()
+    {
+    }
+
+void UT_CPhoneAccessoryBTHandler::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    iMockContext = CSmcMockContext::InstanceL();
+    } 
+
+// - Test methods -----------------------------------------------------------
+void UT_CPhoneAccessoryBTHandler::SetupL(  )
+    {
+    iEntryCleared = EFalse;
+    iMockContext->InitializeL();
+    
+    iCPhoneMainResourceResolverMock = new ( ELeave ) CPhoneMainResourceResolverMock();
+           SmcDefaultValue<CPhoneMainResourceResolver*>::SetL( iCPhoneMainResourceResolverMock );
+           
+    SmcDefaultValue<const TPEAudioOutput&>::SetL( EPENotActive );
+    
+    iViewCmdHandleMock = new CPhoneViewCommandHandleMock();
+    iStateMachineMock = CPhoneStateMachineGSM::NewL( iViewCmdHandleMock );
+    
+    iCoeEnvMock = new (ELeave ) CCoeEnv();
+    SmcDefaultValue<CCoeEnv*>::SetL( iCoeEnvMock );
+
+    iEngineInfoMock = CPEEngineInfo::NewL();
+            SmcDefaultValue<MPEEngineInfo*>::SetL( iEngineInfoMock );
+    
+    iCPhoneAccessoryBTHandler = 
+        CPhoneAccessoryBTHandler::NewLC( 
+        iViewCmdHandleMock,
+        iStateMachineMock,
+        this );
+
+    }
+
+void UT_CPhoneAccessoryBTHandler::Teardown(  )
+    {
+    delete iCPhoneMainResourceResolverMock;
+    iCPhoneMainResourceResolverMock = NULL;
+            
+    CleanupStack::PopAndDestroy( iCPhoneAccessoryBTHandler ); 
+    iCPhoneAccessoryBTHandler = NULL;
+    
+    delete iViewCmdHandleMock;
+    iViewCmdHandleMock = NULL;
+    
+    delete iStateMachineMock;
+    iStateMachineMock = NULL;
+    
+    delete iCoeEnvMock;
+    iCoeEnvMock = NULL;
+    SmcDefaultValue<CCoeEnv*>::Reset();
+    
+    delete iEngineInfoMock;
+    iEngineInfoMock = NULL;
+    
+    SmcDefaultValue<const TPEAudioOutput&>::Reset();
+    
+    iMockContext->Reset();
+    }
+    
+void UT_CPhoneAccessoryBTHandler::HandleNumberEntryClearedL()
+    {
+    iEntryCleared = ETrue;
+    }
+  
+void UT_CPhoneAccessoryBTHandler::UT_SetBTHandsfreeModeL_ONL(  )
+    {
+    iMockContext->ExpectCallL( "CPEEngineInfoImpl::AudioOutput" );
+    iMockContext->ExpectCallL( "CPEEngineInfoImpl::SetAudioOutputCommand" ).
+            WithL<TPEAudioOutput, TInt>(EPEBTAudioAccessory, ETrue);
+    iCPhoneAccessoryBTHandler->SetBTHandsfreeModeL(ETrue );
+    
+    EUNIT_ASSERT_EQUALS( ETrue, iCPhoneAccessoryBTHandler->SetBTHandsfreeModeL( ETrue ) );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() ); 
+    }
+
+void UT_CPhoneAccessoryBTHandler::UT_SetBTHandsfreeModeL_OFFL(  )
+    {
+    iMockContext->ExpectCallL( "CPEEngineInfoImpl::AudioOutput" );
+    iMockContext->ExpectCallL( "CPEEngineInfoImpl::SetAudioOutputCommand" ).
+            WithL<TPEAudioOutput, TInt>(EPEHandset, EFalse);
+    
+    EUNIT_ASSERT_EQUALS( ETrue, iCPhoneAccessoryBTHandler->SetBTHandsfreeModeL( EFalse ) );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() ); 
+    }
+
+void UT_CPhoneAccessoryBTHandler::UT_SetBTHandsfreeModeL_ON_AudioRoutedToWiredAudioAccessoryL(  )
+    {
+    SmcDefaultValue<const TPEAudioOutput&>::SetL( EPEWiredAudioAccessory );
+    iMockContext->ExpectCallL( "CPEEngineInfoImpl::AudioOutput" ).TimesL(1);
+    iMockContext->ExpectCallL( "CPEEngineInfoImpl::SetAudioOutputCommand" ).TimesL(0);
+    
+    EUNIT_ASSERT_EQUALS( EFalse, iCPhoneAccessoryBTHandler->SetBTHandsfreeModeL( ETrue ) );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() ); 
+    }
+    
+void UT_CPhoneAccessoryBTHandler::UT_SetHandsfreeModeL_ONL(  )
+    {
+    iMockContext->ExpectCallL( "CPEEngineInfoImpl::AudioOutput" ).
+            ReturnsL( EPENotActive );
+    iMockContext->ExpectCallL( "CPEEngineInfoImpl::SetAudioOutputCommand" ).
+            WithL<TPEAudioOutput, TInt>(EPELoudspeaker, ETrue);
+    iCPhoneAccessoryBTHandler->SetBTHandsfreeModeL( ETrue );
+    
+    EUNIT_ASSERT_EQUALS( ETrue, iCPhoneAccessoryBTHandler->SetHandsfreeModeL( ETrue ) );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() ); 
+    }
+
+void UT_CPhoneAccessoryBTHandler::UT_SetHandsfreeModeL_OFFL(  )
+    {
+    iMockContext->ExpectCallL( "CPEEngineInfoImpl::AudioOutput" ).
+            ReturnsL( EPENotActive );
+    iMockContext->ExpectCallL( "CPEEngineInfoImpl::SetAudioOutputCommand" ).
+            WithL<TPEAudioOutput, TInt>(EPEHandset, EFalse);
+    
+    EUNIT_ASSERT_EQUALS( ETrue, iCPhoneAccessoryBTHandler->SetHandsfreeModeL( EFalse ) );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() ); 
+    }
+
+void UT_CPhoneAccessoryBTHandler::UT_SetHandsfreeModeL_ON_AudioRoutedToWiredAudioAccessoryL(  )
+    {
+    SmcDefaultValue<const TPEAudioOutput&>::SetL( EPEWiredAudioAccessory );
+    iMockContext->ExpectCallL( "CPEEngineInfoImpl::AudioOutput" ).TimesL(1);
+    iMockContext->ExpectCallL( "CPEEngineInfoImpl::SetAudioOutputCommand" ).TimesL(0);
+    
+    EUNIT_ASSERT_EQUALS( EFalse, iCPhoneAccessoryBTHandler->SetHandsfreeModeL( ETrue ) );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() ); 
+    }
+    
+void UT_CPhoneAccessoryBTHandler::UT_ShowBTAddressLL(  )
+    {
+    // dummy test.
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+            WithL( EPhoneViewClearNumberEntryContent );
+    
+    TPhoneCmdParamNote noteParam;
+    noteParam.SetType( EPhoneNoteCustom );
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+            WithL<TPhoneViewCommandId, TPhoneCommandParam&> ( EPhoneViewShowNote, noteParam );
+    
+    iCPhoneAccessoryBTHandler->ShowBTAddressL();
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() ); 
+    }
+    
+void UT_CPhoneAccessoryBTHandler::UT_ShowBTLoopbackL(  )
+    {
+    // dummy test.
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+            WithL( EPhoneViewClearNumberEntryContent );
+    
+    TPhoneCmdParamNote noteParam;
+    noteParam.SetType( EPhoneNoteCustom );
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+            WithL<TPhoneViewCommandId, TPhoneCommandParam&> ( EPhoneViewShowNote, noteParam );
+    
+    iCPhoneAccessoryBTHandler->ShowBTLoopbackL();
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() ); 
+    }
+    
+void UT_CPhoneAccessoryBTHandler::UT_ShowBTActivatedL(  )
+    {
+    // dummy test.
+    TPhoneCmdParamNote noteParam;
+    noteParam.SetType( EPhoneNoteConfirmation );
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+            WithL<TPhoneViewCommandId, TPhoneCommandParam&> ( EPhoneViewShowNote, noteParam );
+    
+    iCPhoneAccessoryBTHandler->ShowBTActivatedL();
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() ); 
+    }
+
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+    UT_CPhoneAccessoryBTHandler,
+    "Add test suite description here.",
+    "UNIT" )
+    
+EUNIT_TEST(
+    "SetBTHandsfreeModeL_ONL - test1",
+    "CPhoneAccessoryBTHandler",
+    "SetBTHandsfreeModeL_ONL - test1",
+    "FUNCTIONALITY",
+    SetupL, UT_SetBTHandsfreeModeL_ONL, Teardown)
+    
+EUNIT_TEST(
+    "SetBTHandsfreeModeL_OFFL - test2",
+    "CPhoneAccessoryBTHandler",
+    "SetBTHandsfreeModeL_OFFL - test2",
+    "FUNCTIONALITY",
+    SetupL, UT_SetBTHandsfreeModeL_OFFL, Teardown)
+    
+EUNIT_TEST(
+    "SetBTHandsfreeModeL_ON_AudioRoutedToWiredAudioAccessoryL - test3",
+    "CPhoneAccessoryBTHandler",
+    "SetBTHandsfreeModeL_ON_AudioRoutedToWiredAudioAccessoryL - test3",
+    "FUNCTIONALITY",
+    SetupL, UT_SetBTHandsfreeModeL_ON_AudioRoutedToWiredAudioAccessoryL, Teardown)
+    
+EUNIT_TEST(
+    "SetHandsfreeModeL_ONL - test4",
+    "CPhoneAccessoryBTHandler",
+    "SetHandsfreeModeL_ONL - test4",
+    "FUNCTIONALITY",
+    SetupL, UT_SetHandsfreeModeL_ONL, Teardown)
+    
+EUNIT_TEST(
+    "SetHandsfreeModeL_OFFL - test5",
+    "CPhoneAccessoryBTHandler",
+    "SetHandsfreeModeL_OFFL - test5",
+    "FUNCTIONALITY",
+    SetupL, UT_SetHandsfreeModeL_OFFL, Teardown)
+    
+EUNIT_TEST(
+    "SetHandsfreeModeL_ON_AudioRoutedToWiredAudioAccessoryL - test6",
+    "CPhoneAccessoryBTHandler",
+    "SetHandsfreeModeL_ON_AudioRoutedToWiredAudioAccessoryL - test6",
+    "FUNCTIONALITY",
+    SetupL, UT_SetHandsfreeModeL_ON_AudioRoutedToWiredAudioAccessoryL, Teardown)
+    
+EUNIT_TEST(
+    "ShowBTAddressLL - test7",
+    "CPhoneAccessoryBTHandler",
+    "ShowBTAddressLL - test7",
+    "FUNCTIONALITY",
+    SetupL, UT_ShowBTAddressLL, Teardown)
+    
+EUNIT_TEST(
+    "ShowBTLoopbackL - test8",
+    "CPhoneAccessoryBTHandler",
+    "ShowBTLoopbackL - test8",
+    "FUNCTIONALITY",
+    SetupL, UT_ShowBTLoopbackL, Teardown)
+    
+EUNIT_TEST(
+    "ShowBTActivatedL - test9",
+    "CPhoneAccessoryBTHandler",
+    "ShowBTActivatedL - test9",
+    "FUNCTIONALITY",
+    SetupL, UT_ShowBTActivatedL, Teardown)
+
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphoneaccessorybthandler/Src/ut_cphoneaccessorybthandler.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,92 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __UT_CPHONEACCESSORYBTHANDLER_H__
+#define __UT_CPHONEACCESSORYBTHANDLER_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+
+#include "MPhoneNEClearedHandler.h"
+
+// FORWARD DECLARATIONS
+class CPhoneMainResourceResolverMock;
+class CSmcMockContext;
+class CCoeEnv;
+class CPEEngineInfo;
+class CPhoneAccessoryBTHandler;
+class CPhoneViewCommandHandleMock;
+class CPhoneStateMachineGSM;
+class MPhoneNEClearedHandler;
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( UT_CPhoneAccessoryBTHandler )
+    : public CEUnitTestSuiteClass,
+    public MPhoneNEClearedHandler
+    {
+    public:  // Constructors and destructor
+
+        static UT_CPhoneAccessoryBTHandler* NewL();
+        static UT_CPhoneAccessoryBTHandler* NewLC();
+        ~UT_CPhoneAccessoryBTHandler();
+   
+    private: // MPhoneNEClearedHandler
+        
+        void HandleNumberEntryClearedL();  
+
+    private: // Constructors
+
+        UT_CPhoneAccessoryBTHandler();
+        void ConstructL();
+        
+    private: // New methods
+
+         void SetupL();
+         void Teardown();
+        
+         void UT_SetBTHandsfreeModeL_ONL();
+         void UT_SetBTHandsfreeModeL_OFFL();
+         void UT_SetBTHandsfreeModeL_ON_AudioRoutedToWiredAudioAccessoryL();
+         
+         void UT_SetHandsfreeModeL_ONL();
+         void UT_SetHandsfreeModeL_OFFL();
+         void UT_SetHandsfreeModeL_ON_AudioRoutedToWiredAudioAccessoryL();
+        
+         void UT_ShowBTAddressLL();
+         void UT_ShowBTLoopbackL();
+         void UT_ShowBTActivatedL();
+
+    private: // Data
+         
+         CPhoneMainResourceResolverMock* iCPhoneMainResourceResolverMock;
+         CPhoneViewCommandHandleMock* iViewCmdHandleMock;
+         CPhoneStateMachineGSM* iStateMachineMock;
+         CCoeEnv* iCoeEnvMock;
+         CSmcMockContext* iMockContext;
+         CPhoneAccessoryBTHandler* iCPhoneAccessoryBTHandler;
+         TBool iEntryCleared;
+         CPEEngineInfo* iEngineInfoMock;
+
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __UT_CPHONEACCESSORYBTHANDLER_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphoneaccessorybthandler/Src/ut_cphoneaccessorybthandler_dllmain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "UT_CPhoneAccessoryBTHandler.h"
+#include <CEUnitTestSuite.h>
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return UT_CPhoneAccessoryBTHandler::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphoneaccessorybthandler/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+PRJ_PLATFORMS
+    WINSCW
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+
+PRJ_TESTMMPFILES
+ut_cphoneaccessorybthandler.mmp
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphoneaccessorybthandler/group/ut_cphoneaccessorybthandler.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,126 @@
+/*
+* Copyright (c) 2005-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:  
+*
+*/
+
+
+#include <platform_paths.hrh>
+#include <digia/eunit/eunitcaps.h>
+
+TARGET          ut_cphoneaccessorybthandler.dll
+TARGETTYPE      dll
+UID             0x1000af5a 0x01700900
+
+CAPABILITY      EUNIT_CAPS
+VENDORID        VID_DEFAULT
+
+SOURCEPATH              ../Src
+SOURCE                  ut_cphoneaccessorybthandler.cpp
+
+
+// Sources required by the test suite
+SOURCEPATH              ../../../src
+SOURCE                  cphoneaccessorybthandler.cpp
+
+SOURCEPATH              ../../../../../phoneengine/engineinfo/src
+SOURCE                  cpeengineinfo.cpp
+
+SOURCEPATH              ../../../../internal/mocks/
+SOURCE                  mock_StringLoader.cpp
+
+SOURCEPATH              ../Src
+SOURCE                  ut_cphoneaccessorybthandler_dllmain.cpp
+
+SOURCEPATH              ../../../../internal/mocks/phoneuistates
+SOURCE                  mock_cphonegsmincall.cpp
+SOURCE                  mock_cphonestatemachinegsm.cpp
+
+SOURCEPATH              ../../../../internal/mocks/phoneuicontrol
+SOURCE                  mock_cphonestatemachine.cpp
+
+SOURCEPATH              ../../../../internal/mocks/phoneuiview
+SOURCE                  mock_cphoneviewcommandhandle.cpp
+
+SOURCEPATH              ../../../../internal/mocks/phoneuiutils
+SOURCE                  mock_tphonecmdparamnote.cpp
+SOURCE                  mock_cphonemainresourceresolver.cpp
+SOURCE                  mock_cphonelogger.cpp
+SOURCE                  mock_cphonestorage.cpp
+SOURCE                  mock_cphonepubsubproxy.cpp
+SOURCE                  mock_cphonecenrepproxy.cpp
+
+
+SOURCEPATH              ../../../../../internal/mocks/phoneengine/engineinfo
+SOURCE                  mock_cpeengineinfoimpl.cpp
+
+SOURCEPATH              ../../../../internal/mocks/
+SOURCE                  mock_featmgr.cpp
+
+SOURCEPATH              ../../../../../internal/mocks/eikmenupane
+SOURCE                  mock_eikmenup.cpp
+SOURCE                  mock_eikmenub.cpp
+SOURCE                  mock_coecntrl.cpp
+SOURCE                  mock_eikbctrl.cpp
+SOURCE                  mock_coemop.cpp
+SOURCE                  mock_coeinput.cpp
+SOURCE                  mock_gulbordr.cpp
+SOURCE                  mock_akncontrol.cpp
+SOURCE                  mock_eikcmobs.cpp
+SOURCE                  mock_coemain.cpp
+SOURCE                  mock_eikenv.cpp
+SOURCE                  mock_eikvcurs.cpp
+
+USERINCLUDE             ../Src
+
+// User include folders required by the tested code
+USERINCLUDE             ../../../../../phoneengine/engineinfo/inc
+USERINCLUDE             ../../../../internal/mocks/phoneengine
+USERINCLUDE             ../../../../phoneui2/srcdata
+USERINCLUDE             ../../../../phoneuiutils/inc
+USERINCLUDE             ../../../../phoneuiview2/inc
+USERINCLUDE             ../../../../phoneuistates/inc
+USERINCLUDE             ../../../../phoneuiqtviewadapter/inc
+USERINCLUDE             ../../../inc
+USERINCLUDE             ../../../src
+USERINCLUDE             ../../../../internal/mocks/phoneuiview
+
+SYSTEMINCLUDE           /epoc32/include/Digia/EUnit
+
+// System include folders required by the tested code
+
+APP_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE           /epoc32/include/platform/mw/graphics/uigraphicsutils/
+SYSTEMINCLUDE           ../../../../../inc    // phone inc
+
+LIBRARY         phoneuiutils.lib
+LIBRARY                 EUnit.lib
+LIBRARY                 EUnitUtil.lib
+LIBRARY                 euser.lib
+LIBRARY                 SSSettings.lib
+LIBRARY                 cone.lib
+LIBRARY                 symbianmock.lib
+LIBRARY                 apgrfx.lib
+LIBRARY                 FeatMgr.lib // FeatureManager
+LIBRARY                 fbscli.lib
+LIBRARY                 efsrv.lib
+LIBRARY                 bafl.lib // Descriptor arrays
+LIBRARY                 charconv.lib
+LIBRARY                 gdi.lib          // TZoomFactor
+LIBRARY                 ws32.lib         // RWsSession
+
+// Libraries required by the tested code
+
+LIBRARY                 CommonEngine.lib
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonenumberentrymanager/Src/ut_cphonenumberentrymanager.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,490 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphonenumberentrymanager.h"
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+#include <coemain.h>
+
+#include "CPhoneStateMachineGSM.h"
+#include "mock_cphoneviewcommandhandle.h"
+#include "CPhoneCenRepProxy.h"
+#include "TPhoneCmdParamInteger.h"
+#include "TPhoneCmdParamString.h"
+#include "phonerssbase.h"
+#include "phoneappcommands.hrh"
+#include "cpeengineinfo.h"
+#include "cpeengineinfoimpl.h"
+
+CPhoneCenRepProxy* GlobalCPhoneCenRepProxy;
+HBufC* GlobalHBufC;
+
+#include <csmcmockcontext.h>
+#include <msmcmockspecbuilder.h>
+
+// needed for mocking CPhoneMainResourceResolver::Instance()
+class CPhoneMainResourceResolverMock : public CPhoneMainResourceResolver
+    {
+    
+    };
+
+//CONSTANS
+_LIT( KTestString, "050123456" );
+
+// this is set true if there is no need check param id value.
+TBool doNotCheckParamId;
+
+// -----------------------------------------------------------------------------
+// operator for comparing parameter expected and result value.
+// -
+// -----------------------------------------------------------------------------
+//
+TBool operator==(const TPhoneCommandParam& param1, const TPhoneCommandParam& param2 )
+    {
+    TBool ret( ETrue );
+    
+    if ( param1.ParamId() == param2.ParamId() )
+        {
+    
+        if ( TPhoneCommandParam::EPhoneParamIdInteger == param1.ParamId() )
+            {
+            const TPhoneCmdParamInteger  &value1 = static_cast<const TPhoneCmdParamInteger&> (param1);
+            const TPhoneCmdParamInteger  &value2 = static_cast<const TPhoneCmdParamInteger&> (param2);
+            if ( value1.Integer() != value2.Integer() )
+                {
+                ret = EFalse;
+                }
+            }
+        else if ( TPhoneCommandParam::EPhoneParamIdBoolean == param1.ParamId() && !doNotCheckParamId )
+            {
+            const TPhoneCmdParamBoolean  &value1 = static_cast<const TPhoneCmdParamBoolean&> (param1);
+            const TPhoneCmdParamBoolean  &value2 = static_cast<const TPhoneCmdParamBoolean&> (param2);
+            if ( value1.Boolean() != value2.Boolean() )
+                {
+                ret = EFalse;
+                }
+            } 
+        else
+            {
+            ret = ETrue;  // just paramiId compared
+            }
+        }
+    return ret;
+    }
+
+// - Construction -----------------------------------------------------------
+
+ut_cphonenumberentrymanager* ut_cphonenumberentrymanager::NewL()
+    {
+    ut_cphonenumberentrymanager* self = ut_cphonenumberentrymanager::NewLC();
+    CleanupStack::Pop();
+    return self;
+    }
+
+ut_cphonenumberentrymanager* ut_cphonenumberentrymanager::NewLC()
+    {
+    ut_cphonenumberentrymanager* self = new( ELeave ) ut_cphonenumberentrymanager();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+ut_cphonenumberentrymanager::~ut_cphonenumberentrymanager()
+    {
+    CSmcMockContext::Release();
+    }
+
+ut_cphonenumberentrymanager::ut_cphonenumberentrymanager()
+    {
+    }
+
+void ut_cphonenumberentrymanager::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    iMockContext = CSmcMockContext::InstanceL();
+    }
+
+// - Test methods -----------------------------------------------------------
+
+
+void ut_cphonenumberentrymanager::SetupL(  )
+    {
+    iCPhoneMainResourceResolverMock = new ( ELeave ) CPhoneMainResourceResolverMock();
+    SmcDefaultValue<CPhoneMainResourceResolver*>::SetL( iCPhoneMainResourceResolverMock );
+    
+    iCoeEnvMock = new (ELeave ) CCoeEnv();
+    SmcDefaultValue<CCoeEnv*>::SetL( iCoeEnvMock );
+    
+    iViewCommandHandle = new CPhoneViewCommandHandleMock();
+    iStateMachine = CPhoneStateMachineGSM::NewL( iViewCommandHandle );
+    
+    iCustomization = NULL;
+    iCPhoneNumberEntryManager = NULL;
+    
+    iPhoneStateMock = new (ELeave) CPhoneState(iStateMachine, iViewCommandHandle, iCustomization );
+    
+    iEngineInfoMock = CPEEngineInfo::NewL();
+    SmcDefaultValue<MPEEngineInfo*>::SetL( iEngineInfoMock );
+    
+    iCmdManagerMock = CPhoneUiCommandManager::NewL(
+            iPhoneStateMock,
+            *iViewCommandHandle,
+            *iStateMachine );
+    
+    iCPhoneNumberEntryManager = CPhoneNumberEntryManager::NewL(
+                    iPhoneStateMock,
+                    *iViewCommandHandle,
+                    *iStateMachine,
+                    iCustomization,
+                    *iCmdManagerMock );
+    
+    GlobalCPhoneCenRepProxy = NULL;
+    
+    doNotCheckParamId = EFalse;
+    }
+    
+
+void ut_cphonenumberentrymanager::Teardown(  )
+    {
+    delete iCPhoneNumberEntryManager;
+    iCPhoneNumberEntryManager = NULL;
+    
+    delete iViewCommandHandle;
+    iViewCommandHandle = NULL;
+    
+    delete iStateMachine;
+    iStateMachine = NULL;
+    
+    delete iPhoneStateMock;
+    iPhoneStateMock = NULL;
+    
+    delete iCmdManagerMock;
+    iCmdManagerMock = NULL;
+    
+    delete iCustomization;
+    iCustomization = NULL;
+    
+    delete iCoeEnvMock;
+    iCoeEnvMock = NULL;
+    SmcDefaultValue<CCoeEnv*>::Reset();
+    
+    delete iEngineInfoMock;
+    iEngineInfoMock = NULL;
+    SmcDefaultValue<MPEEngineInfo*>::Reset();
+    
+    delete GlobalHBufC;
+    GlobalHBufC = NULL;
+    
+    delete GlobalCPhoneCenRepProxy;
+    GlobalCPhoneCenRepProxy = NULL;
+    
+    delete iCPhoneMainResourceResolverMock;
+    iCPhoneMainResourceResolverMock = NULL;
+    SmcDefaultValue<CPhoneMainResourceResolver*>::Reset();
+    
+    iMockContext->Reset();
+    }
+    
+void ut_cphonenumberentrymanager::T_EmptyL(  )
+    {
+    //EMPTY CASE
+    }
+
+
+void ut_cphonenumberentrymanager::GetNumberEntryCount(
+        TPhoneViewCommandId /*aCmdId*/,
+        TPhoneCommandParam* aCommandParam )
+      {
+      if ( aCommandParam->ParamId() ==
+              TPhoneCommandParam::EPhoneParamIdInteger )
+          {
+          TPhoneCmdParamInteger* intParam =
+              static_cast<TPhoneCmdParamInteger*>( aCommandParam );
+          intParam->SetInteger(9);
+          }
+      }
+
+void ut_cphonenumberentrymanager::GetNumberFromEntry(
+        TPhoneViewCommandId /*aCmdId*/,
+        TPhoneCommandParam* aCommandParam )
+      {
+      if ( aCommandParam->ParamId() ==
+              TPhoneCommandParam::EPhoneParamIdString )
+          {
+          TPhoneCmdParamString* stringParam =
+              static_cast<TPhoneCmdParamString*>( aCommandParam );
+          GlobalHBufC->Des().Copy(KTestString);
+          stringParam->SetString(&GlobalHBufC->Des());
+          }
+      }
+
+void ut_cphonenumberentrymanager::SaveNumberToStoreL()
+    {
+    GlobalHBufC = HBufC::NewL( KPhoneNumberEntryBufferSize );
+    GlobalHBufC->Des().Copy(KTestString);
+    
+    TPhoneCmdParamInteger intParam;
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL(int, TPhoneCommandParam *)" ).
+        WithL<TPhoneViewCommandId, TPhoneCommandParam&> ( EPhoneViewGetNumberEntryCount, intParam ).
+        WillOnceL( InvokeL( this, &GetNumberEntryCount));
+    
+    TPhoneCmdParamString stringParam;
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL(int, TPhoneCommandParam *)" ).
+            WithL<TPhoneViewCommandId, TPhoneCommandParam&> ( EPhoneViewGetNumberFromEntry, stringParam ).
+            WillOnceL( InvokeL( this, &GetNumberFromEntry));
+    iCPhoneNumberEntryManager->StoreNumberEntryContentL();
+    }
+
+void ut_cphonenumberentrymanager::T_StoreNumberEntryContentAndCheckStoreL()
+    {
+    /*Check that there is no number stored.*/
+    EUNIT_ASSERT_EQUALS( EFalse, iCPhoneNumberEntryManager->IsNumberEntryContentStored() );
+    SaveNumberToStoreL();
+    /*Check that number was stored.*/
+    EUNIT_ASSERT_EQUALS( ETrue, iCPhoneNumberEntryManager->IsNumberEntryContentStored() );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+void ut_cphonenumberentrymanager::T_ClearNumberEntryContentCacheL()
+    {
+    /*Save number to store.*/
+    SaveNumberToStoreL();
+    /*Check that number was stored.*/
+    EUNIT_ASSERT_EQUALS( ETrue, iCPhoneNumberEntryManager->IsNumberEntryContentStored() );
+    iCPhoneNumberEntryManager->ClearNumberEntryContentCache();
+    /*Check that number was cleared from store.*/
+    EUNIT_ASSERT_EQUALS( EFalse, iCPhoneNumberEntryManager->IsNumberEntryContentStored() );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+void ut_cphonenumberentrymanager::T_SetNumberEntryVisibilityL()
+    {
+    TPhoneCmdParamBoolean booleanParam;
+    booleanParam.SetBoolean( ETrue );
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+            WithL<TPhoneViewCommandId, TPhoneCommandParam&> ( EPhoneViewSetNumberEntryVisible, booleanParam );
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::HandleCommandL" ).
+            WithL<TPhoneViewCommandId> ( EPhoneViewGetNumberEntryIsVisibleStatus ).
+            ReturnsL(EPhoneViewResponseSuccess);
+    iCPhoneNumberEntryManager->SetNumberEntryVisibilityL(ETrue);
+    EUNIT_ASSERT_EQUALS( ETrue, iCPhoneNumberEntryManager->IsNumberEntryVisibleL());
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    
+    booleanParam.SetBoolean( EFalse );
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+            WithL<TPhoneViewCommandId, TPhoneCommandParam&> ( EPhoneViewSetNumberEntryVisible, booleanParam );
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::HandleCommandL" ).
+            WithL<TPhoneViewCommandId> ( EPhoneViewGetNumberEntryIsVisibleStatus ).
+            ReturnsL(EPhoneViewResponseFailed);
+    iCPhoneNumberEntryManager->SetNumberEntryVisibilityL(EFalse);
+    EUNIT_ASSERT_EQUALS( EFalse, iCPhoneNumberEntryManager->IsNumberEntryVisibleL());
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+void ut_cphonenumberentrymanager::T_SetVisibilityIfNumberEntryUsedL()
+    {
+    /*1- NumberEntry is used and client sets number entry visibility to true*/
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::HandleCommandL" ).
+           WithL<TPhoneViewCommandId> ( EPhoneViewGetNumberEntryIsUsedStatus ).
+           ReturnsL(EPhoneViewResponseSuccess);
+    TPhoneCmdParamBoolean booleanParam;
+    booleanParam.SetBoolean( ETrue );
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+           WithL<TPhoneViewCommandId, TPhoneCommandParam&> ( EPhoneViewSetNumberEntryVisible, booleanParam );
+    /*SetVisibilityIfNumberEntryUsedL should return true*/
+    EUNIT_ASSERT_EQUALS( ETrue, iCPhoneNumberEntryManager->SetVisibilityIfNumberEntryUsedL(ETrue));
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    
+    /*2- NumberEntry is used and client sets number entry visibility to false*/
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::HandleCommandL" ).
+           WithL<TPhoneViewCommandId> ( EPhoneViewGetNumberEntryIsUsedStatus ).
+           ReturnsL(EPhoneViewResponseSuccess);
+    booleanParam.SetBoolean( EFalse );
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+           WithL<TPhoneViewCommandId, TPhoneCommandParam&> ( EPhoneViewSetNumberEntryVisible, booleanParam );
+    /*SetVisibilityIfNumberEntryUsedL should return true*/
+    EUNIT_ASSERT_EQUALS( ETrue, iCPhoneNumberEntryManager->SetVisibilityIfNumberEntryUsedL(EFalse));
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    
+    /*3- NumberEntry is not used and client sets number entry visibility to true*/
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::HandleCommandL" ).
+           WithL<TPhoneViewCommandId> ( EPhoneViewGetNumberEntryIsUsedStatus ).
+           ReturnsL(EPhoneViewResponseFailed);
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+           WithL<TPhoneViewCommandId, TPhoneCommandParam&> ( EPhoneViewSetNumberEntryVisible, booleanParam ).
+           TimesL(0); // EPhoneViewSetNumberEntryVisible should not be called at all.
+    /*SetVisibilityIfNumberEntryUsedL should return false*/
+    EUNIT_ASSERT_EQUALS( EFalse, iCPhoneNumberEntryManager->SetVisibilityIfNumberEntryUsedL(ETrue));
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+void ut_cphonenumberentrymanager::T_RemoveNumberEntryIfVisibilityIsFalseL()
+    {
+    /*1- Number entry is not visible so EPhoneViewRemoveNumberEntry command should occure*/
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::HandleCommandL" ).
+           WithL<TPhoneViewCommandId> ( EPhoneViewGetNumberEntryIsVisibleStatus ).
+           ReturnsL(EPhoneViewResponseFailed);
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+           WithL<TPhoneViewCommandId> ( EPhoneViewRemoveNumberEntry ).
+           TimesL(1);
+    iCPhoneNumberEntryManager->RemoveNumberEntryIfVisibilityIsFalseL();
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    
+    /*2- Number entry is visible so EPhoneViewRemoveNumberEntry command shouldnt occure*/
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::HandleCommandL" ).
+            WithL<TPhoneViewCommandId> ( EPhoneViewGetNumberEntryIsVisibleStatus ).
+            ReturnsL(EPhoneViewResponseSuccess);
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+           WithL<TPhoneViewCommandId> ( EPhoneViewRemoveNumberEntry ).
+           TimesL(0);
+    iCPhoneNumberEntryManager->RemoveNumberEntryIfVisibilityIsFalseL();
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+void ut_cphonenumberentrymanager::T_ClearNumberEntryContentCacheIfContentStoredL()
+    {
+    /*Check that there is no number stored.*/
+    EUNIT_ASSERT_EQUALS( EFalse, iCPhoneNumberEntryManager->IsNumberEntryContentStored() );
+    SaveNumberToStoreL();
+    /*Check that number was stored.*/
+    EUNIT_ASSERT_EQUALS( ETrue, iCPhoneNumberEntryManager->IsNumberEntryContentStored() );
+    
+    iCPhoneNumberEntryManager->ClearNumberEntryContentCacheIfContentStored();
+    /*Check that store is empty.*/
+    EUNIT_ASSERT_EQUALS( EFalse, iCPhoneNumberEntryManager->IsNumberEntryContentStored() );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+void ut_cphonenumberentrymanager::T_CallFromNumberEntryL()
+    {
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::HandleCommandL" ).
+           WithL<TPhoneViewCommandId> ( EPhoneIsCustomizedDialerVisible ).
+           ReturnsL(EPhoneViewResponseFailed);
+    
+    GlobalHBufC = HBufC::NewL( KPhoneNumberEntryBufferSize );
+    TPhoneCmdParamString stringParam;
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommand" ).
+            WithL<TPhoneViewCommandId, TPhoneCommandParam&>( EPhoneViewGetNumberFromEntry, stringParam ).
+            WillOnceL( InvokeL( this, &GetNumberFromEntry));
+    
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+            WithL(EPhoneViewRemoveNumberEntry);
+    iMockContext->ExpectCallL( "CPhoneState::HandleNumberEntryClearedL" );
+    iMockContext->ExpectCallL( "CPhoneState::DialVoiceCallL" );
+    
+    iCPhoneNumberEntryManager->CallFromNumberEntryL();
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+void ut_cphonenumberentrymanager::T_PhoneNumberFromEntryLC()
+    {
+    GlobalHBufC = HBufC::NewL( KPhoneNumberEntryBufferSize );
+    TPhoneCmdParamString stringParam;
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommand" ).
+            WithL<TPhoneViewCommandId, TPhoneCommandParam&>( EPhoneViewGetNumberFromEntry, stringParam ).
+            WillOnceL( InvokeL( this, &GetNumberFromEntry));
+    HBufC* number = iCPhoneNumberEntryManager->PhoneNumberFromEntryLC();
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    CleanupStack::PopAndDestroy( number );
+    }
+
+void ut_cphonenumberentrymanager::T_NumberEntryClearL()
+    {
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+            WithL(EPhoneViewClearNumberEntryContent);
+    iCPhoneNumberEntryManager->NumberEntryClearL();
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+    ut_cphonenumberentrymanager,
+    "Add test suite description here.",
+    "UNIT" )
+
+EUNIT_TEST(
+    "test0 - CPhoneNumberEntryManager - const./desct",
+    "CPhoneNumberEntryManager",
+    "test0 - Setup-teardown",
+    "FUNCTIONALITY",
+    SetupL, T_EmptyL, Teardown)
+ 
+EUNIT_TEST(
+    "test1 - StoreNumberEntryContentAndCheckStoreL",
+    "CPhoneNumberEntryManager",
+    "test1 - StoreNumberEntryContentAndCheckStoreL",
+    "FUNCTIONALITY",
+    SetupL, T_StoreNumberEntryContentAndCheckStoreL, Teardown)
+    
+EUNIT_TEST(
+    "test2 - ClearNumberEntryContentCacheL",
+    "CPhoneNumberEntryManager",
+    "test2 - ClearNumberEntryContentCacheL",
+    "FUNCTIONALITY",
+    SetupL, T_ClearNumberEntryContentCacheL, Teardown)
+ 
+EUNIT_TEST(
+    "test3 - SetNumberEntryVisibilityL",
+    "CPhoneNumberEntryManager",
+    "test3 - SetNumberEntryVisibilityL",
+    "FUNCTIONALITY",
+    SetupL, T_SetNumberEntryVisibilityL, Teardown)
+    
+EUNIT_TEST(
+    "test4 - SetVisibilityIfNumberEntryUsedL",
+    "CPhoneNumberEntryManager",
+    "test4 - SetVisibilityIfNumberEntryUsedL",
+    "FUNCTIONALITY",
+    SetupL, T_SetVisibilityIfNumberEntryUsedL, Teardown)
+    
+EUNIT_TEST(
+    "test5 - RemoveNumberEntryIfVisibilityIsFalseL",
+    "CPhoneNumberEntryManager",
+    "test5 - RemoveNumberEntryIfVisibilityIsFalseL",
+    "FUNCTIONALITY",
+    SetupL, T_RemoveNumberEntryIfVisibilityIsFalseL, Teardown)
+    
+EUNIT_TEST(
+    "test6 - ClearNumberEntryContentCacheIfContentStoredL",
+    "CPhoneNumberEntryManager",
+    "test6 - ClearNumberEntryContentCacheIfContentStoredL",
+    "FUNCTIONALITY",
+    SetupL, T_ClearNumberEntryContentCacheIfContentStoredL, Teardown)
+    
+EUNIT_TEST(
+    "test7 - CallFromNumberEntryL",
+    "CPhoneNumberEntryManager",
+    "test7 - CallFromNumberEntryL",
+    "FUNCTIONALITY",
+    SetupL, T_CallFromNumberEntryL, Teardown)
+    
+EUNIT_TEST(
+    "test8 - PhoneNumberFromEntryLC",
+    "CPhoneNumberEntryManager",
+    "test8 - PhoneNumberFromEntryLC",
+    "FUNCTIONALITY",
+    SetupL, T_PhoneNumberFromEntryLC, Teardown)
+
+EUNIT_TEST(
+    "test9 - NumberEntryClearL",
+    "CPhoneNumberEntryManager",
+    "test9 - NumberEntryClearL",
+    "FUNCTIONALITY",
+    SetupL, T_NumberEntryClearL, Teardown)
+
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonenumberentrymanager/Src/ut_cphonenumberentrymanager.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,106 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __UT_CPHONENUMBERENTRYMANAGER_H__
+#define __UT_CPHONENUMBERENTRYMANAGER_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+
+#include "cphonenumberentrymanager.h"
+#include "mphonecustomization.h"
+#include "cphonemainresourceresolver.h"
+#include "TPhoneCmdParamCallHeaderData.h"
+#include "TPhoneCommandParam.h"
+#include "CPhoneState.h"
+#include "CPhoneUiCommandManager.h"
+
+// FORWARD DECLARATIONS
+class CPhoneViewCommandHandleMock;
+class CPhoneStateMachineGSM;
+class CBubbleManager;
+class CCoeEnv;
+class CPhoneMainResourceResolverMock;
+class CSmcMockContext;
+class CPhoneState;
+class CPEEngineInfo;
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( ut_cphonenumberentrymanager )
+	: public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static ut_cphonenumberentrymanager* NewL();
+        static ut_cphonenumberentrymanager* NewLC();
+        ~ut_cphonenumberentrymanager();
+
+    private: // Constructors
+
+        ut_cphonenumberentrymanager();
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+         void Teardown();
+         void T_EmptyL();
+         
+         void T_StoreNumberEntryContentAndCheckStoreL();
+         void T_ClearNumberEntryContentCacheL();
+         void T_SetNumberEntryVisibilityL();
+         void T_SetVisibilityIfNumberEntryUsedL();
+         void T_RemoveNumberEntryIfVisibilityIsFalseL();
+         void T_ClearNumberEntryContentCacheIfContentStoredL();
+         void T_CallFromNumberEntryL();
+         void T_PhoneNumberFromEntryLC();
+         void T_NumberEntryClearL();
+         
+    private:
+         
+         void GetNumberEntryCount(
+             TPhoneViewCommandId aCmdId,
+             TPhoneCommandParam* aCommandParam );
+         
+         void GetNumberFromEntry(
+                 TPhoneViewCommandId aCmdId,
+                 TPhoneCommandParam* aCommandParam );
+         
+         void SaveNumberToStoreL();
+        
+    private: // Data
+
+        CPhoneNumberEntryManager* iCPhoneNumberEntryManager;
+        CPhoneViewCommandHandleMock* iViewCommandHandle;
+        CPhoneStateMachineGSM* iStateMachine;
+        CPhoneState* iPhoneStateMock;
+        CPEEngineInfo* iEngineInfoMock;
+        CPhoneUiCommandManager* iCmdManagerMock;
+        CCoeEnv* iCoeEnvMock;
+        MPhoneCustomization* iCustomization;
+        CSmcMockContext* iMockContext;
+        CPhoneMainResourceResolverMock* iCPhoneMainResourceResolverMock;
+        
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __UT_CPHONENUMBERENTRYMANAGER_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonenumberentrymanager/Src/ut_cphonenumberentrymanager_dllmain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphonenumberentrymanager.h"
+#include <CEUnitTestSuite.h>
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return ut_cphonenumberentrymanager::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonenumberentrymanager/bwins/ut_cphonenumberentrymanageru.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonenumberentrymanager/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+PRJ_PLATFORMS
+    WINSCW
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+
+PRJ_TESTMMPFILES
+ut_cphonenumberentrymanager.mmp
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonenumberentrymanager/group/ut_cphonenumberentrymanager.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,114 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <platform_paths.hrh>
+#include <digia/eunit/eunitcaps.h>
+
+TARGET                  ut_cphonenumberentrymanager.dll
+TARGETTYPE              dll
+UID                     0x1000af5a 0x01700000
+
+CAPABILITY              EUNIT_CAPS
+VENDORID                VID_DEFAULT
+
+SOURCEPATH              ../src
+SOURCE                  ut_cphonenumberentrymanager.cpp
+SOURCE                  ut_cphonenumberentrymanager_DllMain.cpp
+
+SOURCEPATH              ../../../../../internal/mocks/phoneengine/engineinfo
+SOURCE                  mock_cpeengineinfoimpl.cpp
+
+SOURCEPATH              ../../../../internal/mocks/phoneuiutils
+SOURCE                  mock_cphonemainresourceresolver.cpp
+SOURCE                  mock_cphonepubsubproxy.cpp
+SOURCE                  mock_cphonelogger.cpp
+
+SOURCEPATH              ../../../../internal/mocks/phoneuiview
+SOURCE                  mock_cphoneviewcommandhandle.cpp
+
+SOURCEPATH              ../../../../internal/mocks/phoneuicontrol
+SOURCE                  mock_cphonestate.cpp
+SOURCE                  mock_cphonestateincall.cpp
+SOURCE                  mock_cphonestatemachine.cpp
+
+SOURCEPATH      ../../../../../internal/mocks/phoneapp/phoneuicontrol
+SOURCE          mock_cphoneuicommandmanager.cpp
+ 
+SOURCEPATH              ../../../../internal/mocks/phoneuistates
+SOURCE                  mock_cphonegsmincall.cpp
+SOURCE                  mock_cphonestatemachinegsm.cpp
+
+SOURCEPATH              ../../../../../internal/mocks/eikmenupane
+SOURCE                  mock_eikmenup.cpp
+SOURCE                  mock_eikmenub.cpp
+SOURCE                  mock_coecntrl.cpp
+SOURCE                  mock_eikbctrl.cpp
+SOURCE                  mock_coemop.cpp
+SOURCE                  mock_coeinput.cpp
+SOURCE                  mock_gulbordr.cpp
+SOURCE                  mock_akncontrol.cpp
+SOURCE                  mock_eikcmobs.cpp
+SOURCE                  mock_coemain.cpp
+SOURCE                  mock_eikenv.cpp
+SOURCE                  mock_eikvcurs.cpp
+
+// Sources under testing & required by the test suite
+SOURCEPATH                ../../../src
+SOURCE                    cphonenumberentrymanager.cpp
+
+SOURCEPATH                ../../../../../phoneengine/engineinfo/src
+SOURCE                    cpeengineinfo.cpp
+ 
+USERINCLUDE             ../Src
+
+// User include folders required by the tested code
+// Application layer domain APIs
+APP_LAYER_SYSTEMINCLUDE         
+SYSTEMINCLUDE           /epoc32/include/platform/mw/graphics/uigraphicsutils/
+SYSTEMINCLUDE           /epoc32/include/Digia/EUnit
+USERINCLUDE             ../../../inc        // phoneuicontrol inc
+USERINCLUDE             ../../../../../inc
+USERINCLUDE             ../../../../internal/mocks/phoneengine
+USERINCLUDE             ../../../../../phoneengine/engineinfo/inc
+USERINCLUDE             ../../../../phoneuiview/inc
+USERINCLUDE             ../../../../phoneuiutils/inc
+USERINCLUDE             ../../../../phoneui2/srcdata
+USERINCLUDE             ../../../../phoneuistates/inc
+USERINCLUDE             ../../../../phonemediatorcenter/inc
+USERINCLUDE             ../../../../phoneuiqtviewadapter/inc
+USERINCLUDE             ../../../../internal/mocks/phoneuiview
+SYSTEMINCLUDE           ../../../../../inc    // phone internal headers
+
+LIBRARY                 phoneuiutils.lib
+LIBRARY                 apgrfx.lib
+LIBRARY                 EUnit.lib
+LIBRARY                 EUnitUtil.lib
+LIBRARY                 euser.lib
+LIBRARY                 FeatMgr.lib // FeatureManager
+LIBRARY                 fbscli.lib
+LIBRARY                 efsrv.lib
+LIBRARY                 CommonEngine.lib //StringLoader 
+LIBRARY                 ConnMon.lib // RConnectionMonitor
+LIBRARY                 avkon.lib // AknTextUtils
+LIBRARY                 sendui.lib // CMessageData
+LIBRARY                 bafl.lib // Descriptor arrays
+LIBRARY                 starterclient.lib
+LIBRARY                 CentralRepository.lib
+LIBRARY                 charconv.lib
+LIBRARY                 symbianmock.lib
+LIBRARY                 gdi.lib          // TZoomFactor
+LIBRARY                 ws32.lib         // RWsSession
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonenumberentrymanager/run_auto_tests.bat	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,230 @@
+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
+
+@echo off
+setlocal
+goto :startup 
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function DEFAULT
+::
+:: Modify this function
+::  - TESTED_SRC can be changed to match tested code.
+::    Specifies path from testcode group directory to
+::    tested code
+::  - Add test directories to be runned
+::    ie. "call :build ut_projectdirectory" or use
+::    "for /f %%a in ('dir /b ut_*') do call :build %%a"
+::    which compiles, instruments and runs all test directories
+::    starting with "ut_".
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:DEFAULT
+set TESTED_SRC=..\..\..\src\*
+
+call :build .
+
+
+if [%DOMODULESTESTS%] EQU [TRUE] (
+for /f %%a in ('dir /b mt_*') do call :build %%a
+)
+
+
+call :finish
+goto :END
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function STARTUP
+::
+:: Initializing script
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:STARTUP
+
+set BUILDTESTS=TRUE
+set RUNTESTS=TRUE
+set REMOVETESTS=TRUE
+set INSTRUMENT=FALSE
+set REMOVEINSTRUMENT=TRUE
+set DOMODULESTESTS=TRUE
+set SBS_CALL=sbs --config winscw_udeb.test --keepgoing BUILD
+set PATH_TO_DLL=\epoc32\release\winscw\udeb
+set PATH_TO_MOVE_DLL=\epoc32\release\winscw\udeb\z\sys\bin
+set PATH_TO_COVERAGE_DATA=\coverage_data
+
+
+if not exist %PATH_TO_DLL%\eunitexerunner.exe  ( 
+echo EUnit not installed! 
+goto end
+)
+
+if not exist %PATH_TO_COVERAGE_DATA% (
+mkdir %PATH_TO_COVERAGE_DATA%
+)
+
+if [%1] EQU [] ( goto default )
+
+call :%1
+call :%2
+call :%3
+call :%4
+call :%5
+echo Running tests = %RUNTESTS%
+echo Instrumenting tests = %INSTRUMENT%
+goto default
+
+:/NOCLEANUP
+set REMOVEINSTRUMENT=FALSE
+set REMOVETESTS=FALSE
+goto end
+
+:/NORUN
+set RUNTESTS=FALSE
+set REMOVEINSTRUMENT=FALSE
+set REMOVETESTS=FALSE
+goto end
+
+:/NOINSTRUMENT
+set INSTRUMENT=FALSE
+goto end
+
+:/NOBUILD
+set BUILDTESTS=FALSE
+goto end
+
+:/ONLYUNITTESTS
+set DOMODULESTESTS=FALSE
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function FINISH
+::
+:: Finishes run_auto_tests.bat
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:FINISH
+call :move
+
+if [%RUNTESTS%] EQU [TRUE] (
+call :runtests
+)
+
+if [%REMOVETESTS%] EQU [TRUE] (
+call :removetests
+)
+
+if [%INSTRUMENT%] EQU [TRUE] (
+call :calculatecoverage
+)
+
+if [%REMOVEINSTRUMENT%] EQU [TRUE] (
+call :removecoverage
+)
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function BUILD
+::    param directory
+::
+:: builds test from given directory
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:BUILD
+setlocal
+if [%BUILDTESTS%] EQU [FALSE] ( goto end )
+echo Building %1
+if not exist %1 ( 
+echo %1 Not found! 
+goto end
+)
+
+pushd .
+call cd %1\group
+call sbs --config winscw_udeb.test --keepgoing CLEAN
+if [%INSTRUMENT%] EQU [TRUE] (
+call ctcwrap -2comp -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" "%SBS_CALL%"
+) else (
+call %SBS_CALL%
+)
+
+popd
+endlocal
+goto end
+
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function MOVE
+::
+:: moves compiled tests to eunit directory
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:MOVE
+echo Moving tests
+call move %PATH_TO_DLL%\ut_*.dll %PATH_TO_MOVE_DLL%
+call move %PATH_TO_DLL%\mt_*.dll %PATH_TO_MOVE_DLL%
+goto end
+
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function RUNTESTS
+::
+:: Runs tests in eunit directory
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:RUNTESTS
+echo Running tests
+call %PATH_TO_DLL%\eunitexerunner.exe -dtextshell --
+copy \epoc32\winscw\c\shared\EUnit\Logs\EUnit_log.xml \lastrun_EUnit_log.xml
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function CALCULATECOVERAGE
+::
+:: Calculates test coverage. Generates html
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:CALCULATECOVERAGE
+echo Calculating coverage
+ctcpost %PATH_TO_COVERAGE_DATA%\*.sym | ctcmerge -i - -o profile.txt
+call ctc2html -t 70 -i profile.txt -o \coverage_result -nsb
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function REMOVETESTS
+::
+:: Removes tests from eunit directory
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:REMOVETESTS
+echo Removing Test dlls
+call sleep 3
+call del %PATH_TO_MOVE_DLL%\t_*.dll
+call del %PATH_TO_MOVE_DLL%\mt_*.dll
+call del %PATH_TO_MOVE_DLL%\ut_*.dll
+call del %PATH_TO_MOVE_DLL%\it_*.dll
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function REMOVECOVERAGE
+::
+:: Removes data from coverage directory
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:REMOVECOVERAGE
+echo Removing deleting coverage data
+call del %PATH_TO_COVERAGE_DATA%\*.sym
+call del %PATH_TO_COVERAGE_DATA%\*.dat
+call del profile.txt
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function END
+::
+:: Prints done
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:END
+echo Done!
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestate/bwins/ut_cphonestateu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestate/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+PRJ_PLATFORMS
+    WINSCW
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+
+PRJ_TESTMMPFILES
+ut_cphonestate.mmp
+
+GNUMAKEFILE test_mover.make  // moves the test DLL to /sys/bin
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestate/group/test_mover.make	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,6 @@
+FINAL :
+	echo Copying test DLL to z\sys\bin
+	copy %epocroot%epoc32\release\winscw\udeb\ut_cphonestate.dll %epocroot%epoc32\release\winscw\UDEB\z\sys\bin /y
+
+MAKMAKE FREEZE LIB CLEANLIB RESOURCE RELEASABLES CLEAN BLD SAVESPACE :
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestate/group/ut_cphonestate.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,133 @@
+/*
+* Copyright (c) 2005-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:  
+*
+*/
+
+
+#include <platform_paths.hrh>
+#include <digia/eunit/eunitcaps.h>
+
+TARGET          ut_cphonestate.dll
+TARGETTYPE      dll
+UID             0x1000af5a 0x01710000
+
+CAPABILITY      EUNIT_CAPS
+VENDORID        VID_DEFAULT
+
+SOURCEPATH        ../src
+SOURCE          ut_cphonestate.cpp           // need to be first because of == operator
+
+// Sources required by the test suite
+SOURCEPATH      ../src
+SOURCE          ut_cphonestate_DllMain.cpp
+
+
+SOURCEPATH      ../../../../../internal/mocks/phoneengine/engineinfo
+SOURCE          mock_cpeengineinfoimpl.cpp
+ 
+SOURCEPATH      ../../../../internal/mocks/phoneuicontrol
+SOURCE          mock_cphonestateincall.cpp
+SOURCE          mock_cphonestatemachine.cpp
+SOURCE          mock_cphoneaccessorybthandler.cpp
+ 
+SOURCEPATH      ../../../../../internal/mocks/phoneapp/phoneuicontrol
+SOURCE          mock_cphoneuicommandmanager.cpp
+SOURCE          mock_cphonenumberentrymanager.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuistates
+SOURCE          mock_cphonegsmincall.cpp
+SOURCE          mock_cphonestatemachinegsm.cpp
+ 
+SOURCEPATH      ../../../../internal/mocks/phoneuiutils
+SOURCE          mock_cphonelogger.cpp
+SOURCE          mock_cphonepubsubproxy.cpp
+SOURCE          mock_cphonecenrepproxy.cpp
+SOURCE          mock_cphonemainresourceresolver.cpp
+SOURCE          mock_cphonekeys.cpp
+SOURCE          mock_tphonecmdparamglobalnote.cpp
+SOURCE          mock_tphonecmdparamcallstatedata.cpp
+SOURCE          mock_tphonecmdparamnote.cpp
+SOURCE          mock_cphoneclearblacklist.cpp
+
+SOURCEPATH      ../../../../../internal/mocks/eikmenupane
+SOURCE          mock_eikmenup.cpp
+SOURCE          mock_eikmenub.cpp
+SOURCE          mock_coecntrl.cpp
+SOURCE          mock_eikbctrl.cpp
+SOURCE          mock_coemop.cpp
+SOURCE          mock_coeinput.cpp
+SOURCE          mock_gulbordr.cpp
+SOURCE          mock_akncontrol.cpp
+SOURCE          mock_eikcmobs.cpp
+SOURCE          mock_coemain.cpp
+SOURCE          mock_eikenv.cpp
+SOURCE          mock_eikvcurs.cpp
+
+SOURCEPATH      ../../../../internal/mocks/
+SOURCE          mock_featmgr.cpp
+SOURCE          mock_StringLoader.cpp
+SOURCE          mock_cphonebtaadisconnecthandler.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phonemediatorcenter
+SOURCE          mock_cphonemediatorfactory.cpp
+SOURCE          mock_cphonemediatorsender.cpp
+SOURCE          mock_cphonereleasecommand.cpp
+SOURCE          mock_cphonecontinueemergencycallcommand.cpp
+ 
+// Code under test
+SOURCEPATH      ../../../src
+SOURCE          CPhoneState.cpp
+SOURCE          CPhoneStateHandle.cpp
+
+SOURCEPATH      ../../../../../phoneengine/engineinfo/src
+SOURCE          cpeengineinfo.cpp
+ 
+  
+USERINCLUDE     ../../../../../phoneengine/engineinfo/inc
+USERINCLUDE     ../inc
+USERINCLUDE     ../../../../internal/mocks/phoneengine
+USERINCLUDE     ../../../../phoneuiview/inc
+USERINCLUDE     ../../../../phoneuicontrol/inc
+USERINCLUDE     ../../../../phoneuistates/inc
+USERINCLUDE     ../../../../phonemediatorcenter/inc
+USERINCLUDE     ../../../../phoneuiutils/inc
+USERINCLUDE     ../../../../phoneui2/srcdata
+USERINCLUDE     ../../../../phoneuivoipextension/inc
+USERINCLUDE     ../../../../phoneuiqtviewadapter/inc
+
+APP_LAYER_SYSTEMINCLUDE // Application layer domain APIs
+SYSTEMINCLUDE   /epoc32/include/platform/mw/graphics/uigraphicsutils/
+SYSTEMINCLUDE   ../../../inc        // phoneuicontrol internal headers
+SYSTEMINCLUDE   ../../../../../inc    // phone internal headers
+SYSTEMINCLUDE   /epoc32/include/Digia/EUnit 
+
+LIBRARY         phoneuiutils.lib
+LIBRARY         gdi.lib          // TZoomFactor
+LIBRARY         ws32.lib         // RWsSession
+LIBRARY         apgrfx.lib
+LIBRARY         EUnit.lib
+LIBRARY         EUnitUtil.lib
+LIBRARY         euser.lib
+LIBRARY         fbscli.lib
+LIBRARY         ConnMon.lib // RConnectionMonitor
+LIBRARY         avkon.lib // AknTextUtils
+LIBRARY         SSSettings.lib
+LIBRARY         bafl.lib // Descriptor arrays
+LIBRARY         starterclient.lib
+LIBRARY         charconv.lib
+LIBRARY         efsrv.lib
+LIBRARY         symbianmock.lib
+LIBRARY         hal.lib
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestate/inc/cphonestate_tester.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,124 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef cphonestate_tester_h
+#define cphonestate_tester_h
+
+#include <CPhoneState.h>
+#include "TPhoneCmdParamCallHeaderData.h"
+
+NONSHARABLE_CLASS( cphonestate_tester ) : public CPhoneState
+    {
+public:
+        
+    cphonestate_tester(  
+            MPhoneStateMachine* aStateMachine, 
+            MPhoneViewCommandHandle* aViewCommandHandle,
+            MPhoneCustomization* aCustomization );
+
+    ~cphonestate_tester();
+    
+    void T_DisplayCallTerminationNoteL();
+    
+    TBool T_iDialRequest();
+    
+    void T_HandleVideoCallSetupFailedCreateVoiceCallToTheSameContactL();
+    
+    void T_DialVoiceCallL();
+    
+    void T_HandlePhoneEngineMessageL(
+                const TInt aMessage, 
+                TInt aCallId );  
+    
+    TBool CheckIfShowCallTerminationNote()
+        {
+        return ETrue;
+        }
+    
+    void T_ShowNumberBusyNoteL();
+        
+    void T_UpdateRemoteInfoDataL( TInt aCallId );
+    
+    void T_StartShowSecurityNoteL();
+    
+    void T_UpdateSingleActiveCallL( TInt aCallId );
+    
+    void T_HandleDisconnectingL( TInt aCallId );
+    
+private:
+
+    // Data
+     
+    };
+
+cphonestate_tester::cphonestate_tester(  
+            MPhoneStateMachine* aStateMachine, 
+            MPhoneViewCommandHandle* aViewCommandHandle,
+            MPhoneCustomization* aCustomization ) : CPhoneState(aStateMachine, aViewCommandHandle, aCustomization)
+    {
+    }
+            
+cphonestate_tester::~cphonestate_tester() 
+    {
+    }
+
+void cphonestate_tester::T_DisplayCallTerminationNoteL()
+    {
+    DisplayCallTerminationNoteL();
+    }
+
+void cphonestate_tester::T_DialVoiceCallL()
+    {
+    DialVoiceCallL();
+    }
+
+void cphonestate_tester::T_HandlePhoneEngineMessageL(
+            const TInt aMessage, 
+            TInt aCallId )
+    {
+    HandlePhoneEngineMessageL( aMessage, aCallId );
+    }
+
+void cphonestate_tester::T_ShowNumberBusyNoteL()
+    {
+    ShowNumberBusyNoteL();
+    }
+
+void cphonestate_tester::T_UpdateRemoteInfoDataL( TInt aCallId )
+    {
+    UpdateRemoteInfoDataL( aCallId );
+    }
+
+void cphonestate_tester::T_StartShowSecurityNoteL()
+    {
+    StartShowSecurityNoteL();
+    }
+
+void cphonestate_tester::T_UpdateSingleActiveCallL( TInt aCallId )
+    {
+    UpdateSingleActiveCallL( aCallId );
+    }
+
+void cphonestate_tester::T_HandleDisconnectingL( TInt aCallId )
+    {
+    HandleDisconnectingL( aCallId );
+    }
+
+
+#endif // cphonestate_tester_h
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestate/inc/ut_cphonestate.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,130 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __UT_CPHONESTATE_H__
+#define __UT_CPHONESTATE_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+
+
+
+// FORWARD DECLARATIONS
+
+
+// CLASS DEFINITION
+class CSmcMockContext;
+class CPhoneStateMachineGSM;
+class CPhoneViewController;
+class CPhoneMainResourceResolverMock;
+class CPEEngineInfo;
+class MPhoneViewCommandHandle;
+class TPhoneCommandParam;
+class CPhoneCustomizationVoip;
+class cphonestate_tester;
+ 
+
+TBool operator==(const TPhoneCommandParam& param1, const TPhoneCommandParam& param2 );
+ 
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( ut_cphonestate )
+	: public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static ut_cphonestate* NewL();
+        static ut_cphonestate* NewLC();
+        ~ut_cphonestate();
+
+    private: // Constructors
+
+        ut_cphonestate();
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+         
+        
+         void Teardown();
+        
+         void T_ConstructionL();
+         void T_DisplayCallTerminationNoteL();
+         //key event tests
+         void T_HandleKeyEventRightArrowL();
+         void T_HandleKeyEventUpArrowNENotVisibleL();
+         void T_HandleKeyEventDownArrowNENotVisibleL();
+         
+         //HandleDtmfKeyTone tests
+         void T_HandleDtmfKeyToneStarkeyL();
+         void T_HandleDtmfKeyTone1KeyL();
+
+         // other
+         void T_HandleAudioOutputChangedL();
+         
+         void T_HandlePhoneFocusLostEventL();
+         
+         void T_StartShowSecurityNoteL();
+         void T_HandleDtmfKeyToneL_ModeChange();
+         
+         void T_HandleDisconnectingL();
+         
+         void T_HandleBTActivatedL();
+         
+         void T_OnlySideVolumeKeySupported_VolumeKeysFALSEandSideVolumeKeysTRUE_L();
+         void T_OnlySideVolumeKeySupported_VolumeKeysFALSEandSideVolumeKeysFALSE_L();
+         void T_OnlySideVolumeKeySupported_VolumeKeysTRUEandSideVolumeKeysFALSE_L();
+         
+         void T_DisplayCallSetup_SetNEVisibilityFalseL();
+         void T_DisplayCallSetup_CheckIfNEUsedBeforeSettingVisibilityFalseL();
+         
+         /* old voip related test cases
+         void SetupWithVoipL();
+         void T_HandleCommandL_CallsPhoneCustomization_L();
+         void T_HandlePhoneEngineMessage_EPEMessageCallSecureStatusChanged_L();
+         void T_HandlePhoneEngineMessage_CallsPhoneCustomization_L();
+         void T_ShowNumberBusyNoteL_CallsCustomizeBusyNoteText_L();
+         void T_PhoneNumberFromEntryLC();
+         void T_UpdateRemoteInfoDataL();
+         void T_UpdateSingleActiveCallL_VoIPcallL();*/
+         
+    private: // Data
+
+
+        EUNIT_DECLARE_TEST_TABLE;
+        
+        MPhoneViewCommandHandle* iViewCmdHandleMock;
+
+        CPhoneStateMachineGSM* iStateMachineMock;
+        
+        CSmcMockContext* iMockContext;
+                
+        CPhoneMainResourceResolverMock* iCPhoneMainResourceResolverMock;
+        
+        CPEEngineInfo* iEngineInfoMock;
+        
+        CPhoneCustomizationVoip* iCustomizationMock;
+        
+        cphonestate_tester* iPhoneState;
+  
+
+    };
+
+#endif      //  __UT_CPHONESTATE_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestate/src/ut_cphonestate.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,1033 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <csmcmockcontext.h>
+#include <smcdefaultvalue.h>
+#include <msmcmockspecbuilder.h>
+#include <smcobjecttotypemapper.h>
+#include <smcmacros.h>
+#include <msmcmockaction.h>
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+#include <featmgr.h>
+#include <eikmenup.h>
+#include <eikmenub.h> 
+#include <HWRMDomainPSKeys.h>
+#include <PhoneUI.rsg>
+#include <StartupDomainPSKeys.h>
+#include <coreapplicationuisdomainpskeys.h>
+
+#include "ut_cphonestate.h"
+#include "CPhoneMainResourceResolver.h"
+#include "CPhoneStateMachineGSM.h"
+#include "PEVirtualEngine.h"
+#include "MPhoneKeyEvents.h"
+#include "TPhoneCommandParam.h"
+#include "TPhoneCmdParamCallHeaderData.h"
+#include "TPhoneCmdParamAudioOutput.h"
+#include "cpeengineinfo.h"
+#include "cpeengineinfoimpl.h"
+#include "phonerssbase.h"
+#include "phonestatedefinitionsgsm.h"
+#include "TPhoneCmdParamInteger.h"
+#include "TPhoneCmdParamKeyEvent.h"
+#include "TPhoneCmdParamGlobalNote.h"
+#include "TPhoneCmdParamBoolean.h"
+#include "TPhoneCmdParamString.h"
+#include "TPhoneCmdParamCallStateData.h"
+#include "mphonecustomization.h"
+#include "telephonyvariant.hrh"
+#include "phoneappcommands.hrh"
+#include "phoneconstants.h"
+#include "cphonecustomizationvoip.h"
+#include "tphonecmdparamglobalnote.h"
+
+#define private friend class ut_cphonestate;private
+#include "cphonestate_tester.h"
+
+// needed for mocking CPhoneMainResourceResolver::Instance()
+class CPhoneMainResourceResolverMock : public CPhoneMainResourceResolver
+    {
+    };
+
+TPEPhoneAudioRouteParameters routeParameters;
+
+// this is set true if there is no need check param id value.
+TBool doNotCheckParamId;
+
+// -----------------------------------------------------------------------------
+// operator for comparing parameter expected and result value.
+// -
+// -----------------------------------------------------------------------------
+//
+TBool operator==(const TPhoneCommandParam& param1, const TPhoneCommandParam& param2 )
+    {
+    TBool ret( ETrue );
+    
+    if ( param1.ParamId() == param2.ParamId() )
+        {
+    
+        if ( TPhoneCommandParam::EPhoneParamIdInteger == param1.ParamId() )
+            {
+            const TPhoneCmdParamInteger  &value1 = static_cast<const TPhoneCmdParamInteger&> (param1);
+            const TPhoneCmdParamInteger  &value2 = static_cast<const TPhoneCmdParamInteger&> (param2);
+            if ( value1.Integer() != value2.Integer() )
+                {
+                ret = EFalse;
+                }
+            }
+        else if ( TPhoneCommandParam::EPhoneParamIdKeyEvent == param1.ParamId() )
+            {
+            const TPhoneCmdParamKeyEvent  &value1 = static_cast<const TPhoneCmdParamKeyEvent&> (param1);
+            const TPhoneCmdParamKeyEvent  &value2 = static_cast<const TPhoneCmdParamKeyEvent&> (param2);
+            if ( value1.EventCode() != value2.EventCode() )
+                {
+                ret = EFalse;
+                }
+            }
+        else if ( TPhoneCommandParam::EPhoneParamIdGlobalNote == param1.ParamId() )
+            {
+            const TPhoneCmdParamGlobalNote  &value1 = static_cast<const TPhoneCmdParamGlobalNote&> (param1);
+            const TPhoneCmdParamGlobalNote  &value2 = static_cast<const TPhoneCmdParamGlobalNote&> (param2);
+            if ( value1.Type() != value2.Type() )
+                {
+                ret = EFalse;
+                }
+            }
+        else if ( TPhoneCommandParam::EPhoneParamIdBoolean == param1.ParamId() && !doNotCheckParamId )
+            {
+            const TPhoneCmdParamBoolean  &value1 = static_cast<const TPhoneCmdParamBoolean&> (param1);
+            const TPhoneCmdParamBoolean  &value2 = static_cast<const TPhoneCmdParamBoolean&> (param2);
+            if ( value1.Boolean() != value2.Boolean() )
+                {
+                ret = EFalse;
+                }
+            } 
+        else
+            {
+            ret = ETrue;  // just paramiId compared
+            }
+        }
+    return ret;
+    }
+
+class CPhoneViewController : public CBase, public MPhoneViewCommandHandle
+{
+public:
+    CPhoneViewController() {}
+    ~CPhoneViewController() {}
+
+    void ExecuteCommandL( 
+        TPhoneViewCommandId aCmdId )
+    {
+        SMC_MOCK_METHOD1(void, TPhoneViewCommandId, aCmdId);
+    }
+
+
+    void ExecuteCommandL( 
+        TPhoneViewCommandId aCmdId, 
+        TInt aCallId )
+    {
+        SMC_MOCK_METHOD2(void, TPhoneViewCommandId, aCmdId, TInt, aCallId);
+    }
+
+
+    void ExecuteCommandL( 
+        TPhoneViewCommandId aCmdId, 
+        TPhoneCommandParam* aCommandParam )
+    {
+        SMC_MOCK_METHOD2(void, 
+            TPhoneViewCommandId, aCmdId, 
+            TPhoneCommandParam*, aCommandParam);
+    }
+
+    void ExecuteCommandL( 
+        TPhoneViewCommandId aCmdId, 
+        TInt aCallId, 
+        TPhoneCommandParam* aCommandParam )
+    {
+        SMC_MOCK_METHOD3(void, 
+            TPhoneViewCommandId, aCmdId,
+            TInt, aCallId, 
+            TPhoneCommandParam*, aCommandParam);
+    }
+
+    void ExecuteCommandL( 
+        TPhoneViewCommandId aCmdId, 
+        TInt aCallId, 
+        TDesC& aMessage )
+    {
+        SMC_MOCK_METHOD3(void, 
+            TPhoneViewCommandId, aCmdId,
+            TInt, aCallId, 
+            TDesC&, aMessage);
+    }
+
+    TPhoneViewResponseId HandleCommandL( 
+        TPhoneViewCommandId aCmdId )
+    {
+        SMC_MOCK_METHOD1(TPhoneViewResponseId, 
+            TPhoneViewCommandId, aCmdId);
+    }
+
+    TPhoneViewResponseId HandleCommandL( 
+        TPhoneViewCommandId aCmdId, 
+        TPhoneCommandParam* aCommandParam )
+    {
+        SMC_MOCK_METHOD2(TPhoneViewResponseId, 
+            TPhoneViewCommandId, aCmdId,
+            TPhoneCommandParam*, aCommandParam);
+    }
+
+    void ExecuteCommand( 
+        TPhoneViewCommandId aCmdId )
+    {
+        SMC_MOCK_METHOD1(void, 
+            TPhoneViewCommandId, aCmdId);
+    }
+        
+    void ExecuteCommand( 
+        TPhoneViewCommandId aCmdId, 
+        TPhoneCommandParam* aCommandParam )
+    {
+        SMC_MOCK_METHOD2(void, 
+            TPhoneViewCommandId, aCmdId,
+            TPhoneCommandParam*, aCommandParam);
+    }
+    
+    const TDesC& FetchContent() 
+    {
+        SMC_MOCK_METHOD0(const TDesC&);
+    };
+};
+
+// - Construction -----------------------------------------------------------
+
+ut_cphonestate* ut_cphonestate::NewL()
+    {
+    ut_cphonestate* self = ut_cphonestate::NewLC();
+    CleanupStack::Pop();
+    return self;
+    }
+
+ut_cphonestate* ut_cphonestate::NewLC()
+    {
+    ut_cphonestate* self = new( ELeave ) ut_cphonestate();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+ut_cphonestate::~ut_cphonestate()
+    {
+    CSmcMockContext::Release();
+    }
+
+ut_cphonestate::ut_cphonestate()
+    {
+    }
+
+void ut_cphonestate::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    iMockContext = CSmcMockContext::InstanceL();
+    }
+
+// - Test methods -----------------------------------------------------------
+
+void ut_cphonestate::SetupL()
+    {
+    iMockContext->InitializeL();
+    
+    SmcDefaultValue<const TPESimState&>::SetL( EPESimUsable );
+    SmcDefaultValue<const TPEAudioOutput&>::SetL( EPENotActive );
+    SmcDefaultValue<const TPEPhoneAudioRouteParameters&>::SetL( routeParameters );
+    SmcDefaultValue<const TBool&>::SetL( EFalse );
+    SmcDefaultValue<const TProfileRingingType&>::SetL( EProfileRingingTypeRinging );
+     
+      
+    iCPhoneMainResourceResolverMock = new ( ELeave ) CPhoneMainResourceResolverMock();
+        SmcDefaultValue<CPhoneMainResourceResolver*>::SetL( iCPhoneMainResourceResolverMock );
+
+    iViewCmdHandleMock = new (ELeave) CPhoneViewController();
+
+    iStateMachineMock = CPhoneStateMachineGSM::NewL( iViewCmdHandleMock );
+
+    iEngineInfoMock = CPEEngineInfo::NewL();
+        SmcDefaultValue<MPEEngineInfo*>::SetL( iEngineInfoMock );
+        
+    iPhoneState = new( ELeave ) cphonestate_tester( iStateMachineMock, iViewCmdHandleMock, NULL );
+    iPhoneState->BaseConstructL();
+       
+    doNotCheckParamId = EFalse;
+    }
+
+void ut_cphonestate::Teardown(  )
+    {
+    delete iViewCmdHandleMock;
+        iViewCmdHandleMock = NULL;
+        
+    delete iCustomizationMock;
+        iCustomizationMock = NULL;
+            
+    delete iPhoneState;
+        iPhoneState = NULL;
+        
+    delete iStateMachineMock;
+        iStateMachineMock = NULL;
+        
+    delete iEngineInfoMock;
+        iEngineInfoMock = NULL;
+        
+    delete iCPhoneMainResourceResolverMock;
+        iCPhoneMainResourceResolverMock = NULL;
+        
+    SmcDefaultValue<const TPESimState&>::Reset();
+    SmcDefaultValue<const TPEAudioOutput&>::Reset();
+    SmcDefaultValue<const TPEPhoneAudioRouteParameters&>::Reset();
+    SmcDefaultValue<const TBool&>::Reset();
+    SmcDefaultValue<const TProfileRingingType&>::Reset();
+
+    iMockContext->Reset();
+    }
+    
+/**
+ *  Test name: Construction and destruct.
+ *  Use case: Construction and destruct.
+ *  Motivation: None.
+ *  stif ref: None.
+ */
+void ut_cphonestate::T_ConstructionL(  )
+    {
+    // SetupL and Teardown does the test.
+    }
+
+/**
+ *  Test name: Test method DisplayCallTerminationNoteL.
+ *  Use case: Test method DisplayCallTerminationNoteL.
+ *  Motivation: BDJR-7JLF76
+ *  stif ref: None.
+ */
+void ut_cphonestate::T_DisplayCallTerminationNoteL( )
+    {
+    
+    TPhoneCmdParamGlobalNote globalNoteParam;
+        globalNoteParam.SetType( EPhoneMessageBoxInformation );
+   
+    iMockContext->ExpectCallL( "CPhoneViewController::ExecuteCommandL" ).
+        WithL<TPhoneViewCommandId, TPhoneCommandParam&> ( 
+                EPhoneViewShowGlobalNote, 
+                globalNoteParam );
+      
+    iPhoneState->T_DisplayCallTerminationNoteL();
+    
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() ); 
+    }
+
+/**
+ *  Test name: T_HandleKeyEventUpArrowNENotVisibleL
+ *  Use case: NumberEntry is not in use and "->" key is pressed. -> volume is increased  
+ *  Motivation: TTEN-7LYF76
+ *  stif ref: None.
+ * */
+void ut_cphonestate::T_HandleKeyEventUpArrowNENotVisibleL( )
+    {
+    TInt volume( KPhoneDefaultVolume );
+    TKeyEvent keyEvent;
+    keyEvent.iScanCode = EStdKeyUpArrow; //
+    keyEvent.iCode = EKeyUpArrow;
+    keyEvent.iRepeats = 0;
+    TEventCode eventCode(EEventKey);
+    iMockContext->ExpectCallL( "CPEEngineInfoImpl::AudioVolume" ).
+            ReturnsL( volume );
+    TPhoneCmdParamInteger volumeParam;
+    volumeParam.SetInteger( volume+1 );
+    iMockContext->ExpectCallL( "CPhoneViewController::ExecuteCommandL" ).
+        WithL<TPhoneViewCommandId, TPhoneCommandParam&> ( EPhoneViewSetNaviPaneAudioVolume, volumeParam );
+         
+    iPhoneState->HandleKeyEventL( keyEvent, eventCode );
+     
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() ); 
+    }
+
+/**
+ *  Test name: T_HandleKeyEventDownArrowNENotVisibleL
+ *  Use case: NumberEntry is not in use and "<-" key is pressed. -> volume is decreased  
+ *  Motivation: test coverage.
+ *  stif ref: None.
+ * */
+void ut_cphonestate::T_HandleKeyEventDownArrowNENotVisibleL( )
+    {
+    TInt volume( KPhoneDefaultVolume );
+    TKeyEvent keyEvent;
+    keyEvent.iScanCode = EStdKeyDownArrow; //
+    keyEvent.iCode = EKeyDownArrow;
+    keyEvent.iRepeats = 0;
+    TEventCode eventCode(EEventKey);
+    iMockContext->ExpectCallL( "CPEEngineInfoImpl::AudioVolume" ).
+            ReturnsL( volume );
+    TPhoneCmdParamInteger volumeParam;
+    volumeParam.SetInteger( volume-1 );
+    iMockContext->ExpectCallL( "CPhoneViewController::ExecuteCommandL" ).
+        WithL<TPhoneViewCommandId, TPhoneCommandParam&> ( EPhoneViewSetNaviPaneAudioVolume, volumeParam );
+         
+    iPhoneState->HandleKeyEventL( keyEvent, eventCode );
+     
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() ); 
+    }
+
+/**
+ *  Test name: T_HandleDtmfKeyToneStarkeyL
+ *  Use case: send event to phoneengine that DTMF tone for "*" key is played
+ *  Motivation: TTEN-7LYF76
+ *  stif ref: None.
+ */
+void ut_cphonestate::T_HandleDtmfKeyToneStarkeyL()
+    {
+    TKeyEvent keyEvent;
+    keyEvent.iScanCode = EStdKeyNkpAsterisk; //key:'*'
+    keyEvent.iCode = KPhoneDtmfStarCharacter;
+    keyEvent.iRepeats = 0;
+    keyEvent.iModifiers = 0;
+    TEventCode eventCode(EEventKey);
+    
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::IsNumberEntryUsedL" ).
+        ReturnsL( ETrue );
+    _LIT( KPhoneNumber, "12345" );
+    HBufC* phoneNumber = KPhoneNumber().AllocL();
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::PhoneNumberFromEntryLC" ).
+         ReturnsL(phoneNumber);
+           
+    //phone-engine receives message
+    iMockContext->ExpectCallL( "CPEEngineInfoImpl::SetPhoneNumber" );
+     
+    iMockContext->ExpectCallL( "CPhoneKeys::IsDtmfTone" ).
+        WithL( keyEvent, eventCode ).
+        ReturnsL( ETrue );
+       
+    iPhoneState->HandleDtmfKeyToneL( keyEvent, eventCode );
+       
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+/**
+ *  Test name: T_HandleDtmfKeyTone1KeyL 
+ *  Use case: do not send event to phoneengine 
+ *  Motivation: TTEN-7LYF76
+ *  stif ref: None.
+ */
+void ut_cphonestate::T_HandleDtmfKeyTone1KeyL()
+    {
+     
+    TKeyEvent keyEvent;
+    keyEvent.iScanCode = EStdKeyNkp1; //key:'1'
+    keyEvent.iCode = KPhoneDtmf1Character;
+    keyEvent.iRepeats = 0;
+    keyEvent.iModifiers = 0;
+    TEventCode eventCode(EEventKey);
+    TChar expChar(keyEvent.iCode);
+    
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::IsNumberEntryUsedL" ).
+            ReturnsL( ETrue );
+    _LIT( KPhoneNumber, "12345" );
+    HBufC* phoneNumber = KPhoneNumber().AllocL();
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::PhoneNumberFromEntryLC" ).
+         ReturnsL(phoneNumber);
+    //phone-engine receives message
+    iMockContext->ExpectCallL( "CPEEngineInfoImpl::SetPhoneNumber" );
+     
+    iMockContext->ExpectCallL( "CPhoneKeys::IsDtmfTone" ).
+        WithL( keyEvent, eventCode ).
+        ReturnsL( ETrue );
+      
+    iPhoneState->HandleDtmfKeyToneL( keyEvent, eventCode );
+      
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    
+    }
+ 
+/**
+ *  Test name: T_HandleAudioOutputChangedL 
+ *  Use case: Call audio route output has been changed
+ *  Motivation: EBNI-7KM8N4
+ *  stif ref: -
+ */
+void ut_cphonestate::T_HandleAudioOutputChangedL()
+    {        
+    iMockContext->ExpectCallL( "CPhoneUiCommandManager::UpdateUiCommands" );
+    
+  
+    iPhoneState->HandlePhoneEngineMessageL(
+        MEngineMonitor::EPEMessageAudioOutputChanged, 
+        0 );
+    
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+/**
+ *  Test name:Test method StartShowSecurityNoteL 
+ *  Use case: StartShowSecurityNoteL called EPhoneViewSetSecurityMode gets called.
+ *  Motivation: TRLM-7Q3HVZ 
+ */
+void ut_cphonestate::T_StartShowSecurityNoteL()
+    {
+    TPhoneCmdParamBoolean securityMode;
+    securityMode.SetBoolean( ETrue );
+    iMockContext->ExpectCallL( "CPhoneViewController::ExecuteCommandL" ).
+        WithL<TPhoneViewCommandId, TPhoneCommandParam&> ( 
+                EPhoneViewSetSecurityMode, 
+                securityMode );
+        
+    iPhoneState->T_StartShowSecurityNoteL();
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+
+/**
+ *  Test name: T_HandleDtmfKeyToneL_ModeChange
+ *  Use case: DTMF tone is played when number entry in numeric mode and not played in alpha mode 
+ *  Motivation: EDXU-7T69N4
+ *  stif ref: None.
+ **/
+void ut_cphonestate::T_HandleDtmfKeyToneL_ModeChange()
+    {
+    TKeyEvent keyEvent;
+    keyEvent.iScanCode = EStdKeyNkp1; //key:'1'
+    keyEvent.iCode = KPhoneDtmf1Character;  
+    keyEvent.iRepeats = 0;
+    keyEvent.iModifiers = 0;
+    TEventCode eventCode( EEventKey );
+    
+    iMockContext->ExpectCallL( "CPhoneKeys::IsDtmfTone" ).
+           WithL( keyEvent, eventCode ).
+           ReturnsL( ETrue );
+    
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::IsNumberEntryUsedL" ).
+            ReturnsL( ETrue );
+    _LIT( KPhoneNumber, "12345" );
+    HBufC* phoneNumber = KPhoneNumber().AllocL();
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::PhoneNumberFromEntryLC" ).
+         ReturnsL(phoneNumber);
+    iMockContext->ExpectCallL( "CPhoneStateMachine::SendPhoneEngineMessage" ).
+        WithL( MPEPhoneModel::EPEMessagePlayDTMF ).
+        TimesL( 1 );   
+  
+    iPhoneState->HandleDtmfKeyToneL( keyEvent, eventCode ); 
+    
+    iMockContext->ExpectCallL( "CPhoneStateMachine::SendPhoneEngineMessage" ).
+        TimesL( 0 );
+    
+    iPhoneState->HandleDtmfKeyToneL( keyEvent, eventCode ); 
+    
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+/**
+ *  Test name: T_HandleDisconnectingL
+ *  Use case: 
+ *  Motivation: 
+ *  stif ref: None.
+ **/
+void ut_cphonestate::T_HandleDisconnectingL()
+    {
+    iMockContext->ExpectCallL( "CPhoneViewController::ExecuteCommandL" ).
+        WithL( EPhoneViewStopRingTone );
+    iMockContext->ExpectCallL( "CPhoneClearBlacklist::ClearBlackListOnNextKey" );
+    TInt callId = 0;
+    iPhoneState->T_HandleDisconnectingL(callId);
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+/**
+ *  Test name: T_HandleBTActivatedL 
+ *  Use case: Call audio route output has been changed to bt 
+ *  Motivation: ou1cimx1#218924
+ *  stif ref: -
+ */
+void ut_cphonestate::T_HandleBTActivatedL()
+    {        
+    
+    iMockContext->ExpectCallL( "CPEEngineInfoImpl::AudioOutput" ).
+        ReturnsL( EPEBTAudioAccessory );
+    
+    const TPEAudioOutput audioOutput = EPEBTAudioAccessory;
+    const TPEAudioOutput previousOutput = EPEHandset;
+    TPEPhoneAudioRouteParameters routeParameters;
+    routeParameters.iAudioOutput = audioOutput;
+    routeParameters.iPreviousOutput = previousOutput;
+
+    iMockContext->ExpectCallL( "CPEEngineInfoImpl::RouteParameters" ).
+        ReturnsL( routeParameters );
+
+    iMockContext->ExpectCallL( "CPEEngineInfoImpl::AudioOutputAvailable" ).
+        WithL( EPEBTAudioAccessory ).
+        ReturnsL( ETrue );
+
+    iMockContext->ExpectCallL( "CPhoneAccessoryBTHandler::ShowBTActivatedL" );
+    
+    iPhoneState->HandlePhoneEngineMessageL(
+        MEngineMonitor::EPEMessageAudioOutputChanged, 
+        0 );
+    
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+/**
+ * Test name: T_OnlySideVolumeKeySupported_VolumeKeysFALSEandSideVolumeKeysTRUE_L
+ * PreConditions set in this case:
+ *          KTelephonyLVFlagScrollVolumeKeys = EFalse
+ *          KFeatureIdSideVolumeKeys         = ETRue
+ *          
+ * Motivation: REQ 417-4164
+ */
+void ut_cphonestate::T_OnlySideVolumeKeySupported_VolumeKeysFALSEandSideVolumeKeysTRUE_L()
+    {
+    iMockContext->ExpectCallL( "CPhoneCenRepProxy::IsTelephonyFeatureSupported" ).
+        WithL(KTelephonyLVFlagScrollVolumeKeys).
+        ReturnsL(EFalse);
+    iMockContext->ExpectCallL( "FeatureManager::FeatureSupported" ).
+        WithL(KFeatureIdSideVolumeKeys).
+        ReturnsL(ETrue);
+    EUNIT_ASSERT_EQUALS( ETrue, iPhoneState->OnlySideVolumeKeySupported() );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+/**
+ * Test name: T_OnlySideVolumeKeySupported_VolumeKeysFALSEandSideVolumeKeysFALSE_L * 
+ * PreConditions set in this case:
+ *          KTelephonyLVFlagScrollVolumeKeys = EFalse
+ *          KFeatureIdSideVolumeKeys         = EFalse
+ *          
+ * Motivation: REQ 417-4164
+ */
+void ut_cphonestate::T_OnlySideVolumeKeySupported_VolumeKeysFALSEandSideVolumeKeysFALSE_L()
+    {
+    iMockContext->ExpectCallL( "CPhoneCenRepProxy::IsTelephonyFeatureSupported" ).
+        WithL(KTelephonyLVFlagScrollVolumeKeys).
+        ReturnsL(EFalse);
+    iMockContext->ExpectCallL( "FeatureManager::FeatureSupported" ).
+        WithL(KFeatureIdSideVolumeKeys).
+        ReturnsL(EFalse);
+    EUNIT_ASSERT_EQUALS( EFalse, iPhoneState->OnlySideVolumeKeySupported() );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+/**
+ * Test name: T_OnlySideVolumeKeySupported_VolumeKeysTRUEandSideVolumeKeysFALSE_L
+ * PreConditions set in this case:
+ *          KTelephonyLVFlagScrollVolumeKeys = ETrue
+ *          KFeatureIdSideVolumeKeys         = EFalse
+ *          
+ * Motivation: REQ 417-4164
+ */
+void ut_cphonestate::T_OnlySideVolumeKeySupported_VolumeKeysTRUEandSideVolumeKeysFALSE_L()
+    {    
+    iMockContext->ExpectCallL( "CPhoneCenRepProxy::IsTelephonyFeatureSupported" ).
+        WithL(KTelephonyLVFlagScrollVolumeKeys).
+        ReturnsL(ETrue);
+    EUNIT_ASSERT_EQUALS( EFalse, iPhoneState->OnlySideVolumeKeySupported() );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+/**
+ * Test name: T_DisplayCallSetup_SetNEVisibilityFalseL
+ * Motivation: Refactor & Test Coverage
+ */
+void ut_cphonestate::T_DisplayCallSetup_SetNEVisibilityFalseL()
+    {
+    TInt magicCallId(1);
+    iMockContext->ExpectCallL( 
+            "CPhoneViewController::ExecuteCommand" ).
+            WithL( EPhoneViewBeginUpdate );
+    iMockContext->ExpectCallL( 
+            "CPhoneNumberEntryManager::SetNumberEntryVisibilityL" ).
+            WithL( EFalse );
+    iMockContext->ExpectCallL( 
+            "CPhoneViewController::ExecuteCommandL" ).
+            WithL( EPhoneViewRemovePhoneDialogs );
+    iMockContext->ExpectCallL( 
+            "CPhoneViewController::ExecuteCommandL" ).
+            WithL( EPhoneViewBringPhoneAppToForeground );
+    
+    iMockContext->ExpectCallL( 
+            "CPhoneViewController::ExecuteCommandL" ).
+            WithL<TPhoneViewCommandId, TInt> 
+                ( EPhoneViewCreateCallHeader, magicCallId );
+    
+    iMockContext->ExpectCallL( 
+            "CPhoneUiCommandManager::UpdateUiCommands" );
+    
+    iPhoneState->DisplayCallHeaderL(magicCallId, CPhoneState::ESetNEVisibilityFalse);
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+/**
+ * Test name: T_DisplayCallSetup_CheckIfNEUsedBeforeSettingVisibilityFalseL
+ * Motivation: Refactor & Test Coverage
+ */
+void ut_cphonestate::T_DisplayCallSetup_CheckIfNEUsedBeforeSettingVisibilityFalseL()
+    {
+    TInt magicCallId(1);
+    iMockContext->ExpectCallL( 
+            "CPhoneViewController::ExecuteCommand" ).
+            WithL( EPhoneViewBeginUpdate );
+    iMockContext->ExpectCallL( 
+            "CPhoneNumberEntryManager::SetVisibilityIfNumberEntryUsedL" ).
+            WithL( EFalse );
+    iMockContext->ExpectCallL( 
+            "CPhoneViewController::ExecuteCommandL" ).
+            WithL( EPhoneViewRemovePhoneDialogs );
+    iMockContext->ExpectCallL( 
+            "CPhoneViewController::ExecuteCommandL" ).
+            WithL( EPhoneViewBringPhoneAppToForeground );
+    
+    iMockContext->ExpectCallL( 
+            "CPhoneViewController::ExecuteCommandL" ).
+            WithL<TPhoneViewCommandId, TInt> 
+                ( EPhoneViewCreateCallHeader, magicCallId );
+    
+    iMockContext->ExpectCallL( 
+            "CPhoneUiCommandManager::UpdateUiCommands" );
+    
+    iPhoneState->DisplayCallHeaderL(
+            magicCallId, 
+            CPhoneState::ECheckIfNEUsedBeforeSettingVisibilityFalse);
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+// Old VOIP related test cases.
+/*void ut_cphonestate::SetupWithVoipL(  )
+    {
+    iMockContext->InitializeL();
+        
+    SmcDefaultValue<const TPESimState&>::SetL( EPESimUsable );
+    SmcDefaultValue<const TPEAudioOutput&>::SetL( EPENotActive );
+    SmcDefaultValue<const TPEPhoneAudioRouteParameters&>::SetL( routeParameters );
+    SmcDefaultValue<const TBool&>::SetL( EFalse );
+    SmcDefaultValue<const TProfileRingingType&>::SetL( EProfileRingingTypeRinging );
+      
+    iCPhoneMainResourceResolverMock = new ( ELeave ) CPhoneMainResourceResolverMock();
+        SmcDefaultValue<CPhoneMainResourceResolver*>::SetL( iCPhoneMainResourceResolverMock );
+
+    iViewCmdHandleMock = new (ELeave) CPhoneViewController();
+
+    iStateMachineMock = CPhoneStateMachineGSM::NewL( iViewCmdHandleMock );
+
+    iEngineInfoMock = CPEEngineInfo::NewL();
+        SmcDefaultValue<MPEEngineInfo*>::SetL( iEngineInfoMock );
+    
+    iCustomizationMock = 
+          CPhoneCustomizationVoip::NewL( *iStateMachineMock, *iViewCmdHandleMock );
+        
+    iPhoneState = new( ELeave ) cphonestate_tester( iStateMachineMock, iViewCmdHandleMock, iCustomizationMock );
+    
+    doNotCheckParamId = EFalse;
+    }*/
+/**
+ * Test name: T_HandleCommandL_CallsPhoneCustomization_L
+ * Use case: Command is handled in phone customization
+ * Motivation: 
+ */
+/*void ut_cphonestate::T_HandleCommandL_CallsPhoneCustomization_L()
+    {
+    const TInt KCommand = 1000000;
+    iMockContext->ExpectCallL( "CPhoneCustomizationVoip::HandleCommandL" ).
+        WithL( KCommand );
+    iPhoneState->HandleCommandL( KCommand ); 
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }*/
+/**
+ * Test name: T_HandlePhoneEngineMessage_EPEMessageCallSecureStatusChanged_L
+ * Use case: Secure status of call changes 
+ * Motivation: 
+ */
+/*void ut_cphonestate::T_HandlePhoneEngineMessage_EPEMessageCallSecureStatusChanged_L()
+    {
+    const TInt KCallId = 1;
+    iMockContext->ExpectCallL( "CPhoneCustomizationVoip::HandlePhoneEngineMessageL" ).
+        WithL( MEngineMonitor::EPEMessageCallSecureStatusChanged, KCallId );
+    iPhoneState->HandlePhoneEngineMessageL( 
+        MEngineMonitor::EPEMessageCallSecureStatusChanged, KCallId ); 
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }*/
+/**
+ * Test name: T_HandlePhoneEngineMessage_CallsPhoneCustomization_L
+ * Use case: Phoneengine message is handled by phone customization
+ * Motivation: 
+ */
+/*void ut_cphonestate::T_HandlePhoneEngineMessage_CallsPhoneCustomization_L()
+    {
+    const TInt KMessage = 1000000;
+    const TInt KCallId = 1;
+    iMockContext->ExpectCallL( "CPhoneCustomizationVoip::HandlePhoneEngineMessageL" ).
+        WithL( KMessage, KCallId ).
+        ReturnsL( ETrue );
+    iPhoneState->HandlePhoneEngineMessageL( KMessage,KCallId ); 
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }*/
+/**
+ * Test name: T_ShowNumberBusyNoteL_CallsCustomizeBusyNoteText_L
+ * Use case: Number busy note text gets customized
+ * Motivation: 
+ */
+/*void ut_cphonestate::T_ShowNumberBusyNoteL_CallsCustomizeBusyNoteText_L()
+    {
+    iMockContext->ExpectCallL( "CPhoneCustomizationVoip::CustomizeBusyNoteText" );
+    iPhoneState->T_ShowNumberBusyNoteL(); 
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }*/
+/**
+ * Test name: T_PhoneNumberFromEntryLC
+ * Use case:
+ * Motivation: 
+ */
+/*void ut_cphonestate::T_PhoneNumberFromEntryLC()
+    {
+    TPhoneCmdParamString stringParam;
+      
+    iMockContext->ExpectCallL( "CPhoneViewController::ExecuteCommand" ).
+        WithL<TPhoneViewCommandId, TPhoneCommandParam&>(
+                   EPhoneViewGetNumberFromEntry,
+                   stringParam );
+    
+    HBufC* number = iPhoneState->T_PhoneNumberFromEntryLC();
+      
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    CleanupStack::PopAndDestroy( number );
+    }*/
+/**
+ * Test name: T_UpdateRemoteInfoDataL
+ * Use case: 
+ * Motivation: 
+ */
+/*void ut_cphonestate::T_UpdateRemoteInfoDataL()
+    {
+    const TInt KCallId = 1;
+    TPhoneCmdParamCallHeaderData callHeaderData;
+    iMockContext->ExpectCallL( "CPhoneCallHeaderManager::UpdateCallHeaderInfoL" ).
+        WithL( KCallId ).
+        ReturnsL( callHeaderData );
+    iMockContext->ExpectCallL( "CPhoneCallHeaderManager::GetInCallNumberTextL" ).
+        WithL( KCallId, KNullDesC() );
+        
+    iMockContext->ExpectCallL( "CPhoneCustomizationVoip::ModifyCallHeaderTexts" );
+  
+    
+    TPhoneCmdParamCallHeaderData callHeaderParam;
+
+    iMockContext->ExpectCallL( "CPhoneViewController::ExecuteCommandL" ).
+           WithL<TPhoneViewCommandId, TInt, TPhoneCommandParam&> ( EPhoneViewUpdateCallHeaderRemoteInfoData, 
+                   KCallId, callHeaderParam );
+    
+    iPhoneState->T_UpdateRemoteInfoDataL( KCallId );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }*/
+// CaptureKeysDuringCallNotificationL( it callsAknLayoutUtils::PenEnabled(), which crash some reason)
+// call crash this case.
+/*void ut_cphonestate::T_UpdateSingleActiveCallL_VoIPcallL( )
+    {
+    SmcDefaultValue<TPECallType>::SetL( EPECallTypeVoIP );
+    TInt callId = 0;
+    TPhoneCmdParamCallHeaderData callHeaderData;
+    
+    iMockContext->ExpectCallL( "CPhoneCallHeaderManager::UpdateCallHeaderInfoL" ).
+          WithL<TInt>( callId ).
+          ReturnsL( callHeaderData );
+    
+    iMockContext->ExpectCallL( "CPhoneCallHeaderManager::GetInCallNumberTextL" );
+  //      WithL( callId, KNullDesC() );
+    
+    iMockContext->ExpectCallL( "CPhoneCustomizationVoip::ModifyCallHeaderTexts" );
+      
+    iPhoneState->T_UpdateSingleActiveCallL( callId );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );   
+    
+    SmcDefaultValue<TPECallType>::Reset();
+    }*/
+
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+    ut_cphonestate,
+    "Add test suite description here.",
+    "UNIT" )
+
+EUNIT_TEST(
+    "T_ConstructionL",
+    "",
+    "T_ConstructionL",
+    "FUNCTIONALITY",
+    SetupL, T_ConstructionL, Teardown)
+
+EUNIT_TEST(
+    "DisplayCallTerminationNoteL",
+    "",
+    "DisplayCallTerminationNoteL",
+    "FUNCTIONALITY",
+    SetupL, T_DisplayCallTerminationNoteL, Teardown)
+
+EUNIT_TEST(
+    "T_HandleKeyEventUpArrowNENotVisibleL",
+    "",
+    "T_HandleKeyEventUpArrowNENotVisibleL",
+    "FUNCTIONALITY",
+    SetupL,  T_HandleKeyEventUpArrowNENotVisibleL, Teardown)
+   
+EUNIT_TEST(
+    "T_HandleKeyEventDownArrowNENotVisibleL",
+    "",
+    "T_HandleKeyEventDownArrowNENotVisibleL",
+    "FUNCTIONALITY",
+    SetupL,  T_HandleKeyEventDownArrowNENotVisibleL, Teardown)
+
+EUNIT_TEST(
+    "T_HandleDtmfKeyToneStarkeyL",
+    "",
+    "T_HandleDtmfKeyToneStarkeyL",
+    "FUNCTIONALITY",
+    SetupL, T_HandleDtmfKeyToneStarkeyL, Teardown)
+
+EUNIT_TEST(
+    "T_HandleDtmfKeyTone1KeyL",
+    "",
+    "T_HandleDtmfKeyTone1KeyL",
+    "FUNCTIONALITY",
+    SetupL, T_HandleDtmfKeyTone1KeyL, Teardown)
+
+EUNIT_TEST(
+    "T_HandleAudioOutputChangedL",
+    "",
+    "T_HandleAudioOutputChangedL",
+    "FUNCTIONALITY",
+    SetupL, T_HandleAudioOutputChangedL, Teardown)
+
+EUNIT_TEST(
+    "T_OnlySideVolumeKeySupported_VolumeKeysFALSEandSideVolumeKeysTRUE_L",
+    "",
+    "T_OnlySideVolumeKeySupported_VolumeKeysFALSEandSideVolumeKeysTRUE_L",
+    "FUNCTIONALITY",
+    SetupL, T_OnlySideVolumeKeySupported_VolumeKeysFALSEandSideVolumeKeysTRUE_L, Teardown)
+    
+EUNIT_TEST(
+    "T_OnlySideVolumeKeySupported_VolumeKeysFALSEandSideVolumeKeysFALSE_L",
+    "",
+    "T_OnlySideVolumeKeySupported_VolumeKeysFALSEandSideVolumeKeysFALSE_L",
+    "FUNCTIONALITY",
+    SetupL, T_OnlySideVolumeKeySupported_VolumeKeysFALSEandSideVolumeKeysFALSE_L, Teardown)
+    
+EUNIT_TEST(
+    "T_OnlySideVolumeKeySupported_VolumeKeysTRUEandSideVolumeKeysFALSE_L",
+    "",
+    "T_OnlySideVolumeKeySupported_VolumeKeysTRUEandSideVolumeKeysFALSE_L",
+    "FUNCTIONALITY",
+    SetupL, T_OnlySideVolumeKeySupported_VolumeKeysTRUEandSideVolumeKeysFALSE_L, Teardown)
+
+EUNIT_TEST(
+    "T_StartShowSecurityNoteL",
+    "",
+    "T_StartShowSecurityNoteL",
+    "FUNCTIONALITY",
+    SetupL, T_StartShowSecurityNoteL, Teardown)
+
+EUNIT_TEST(
+    "T_HandleDtmfKeyToneL_ModeChange",
+    "",
+    "T_HandleDtmfKeyToneL_ModeChange",
+    "FUNCTIONALITY",
+    SetupL, T_HandleDtmfKeyToneL_ModeChange, Teardown)
+
+EUNIT_TEST(
+    "T_HandleDisconnectingL",
+    "",
+    "T_HandleDisconnectingL",
+    "FUNCTIONALITY",
+    SetupL, T_HandleDisconnectingL, Teardown)
+
+EUNIT_TEST(
+    "T_HandleBTActivatedL",
+    "",
+    "T_HandleBTActivatedL",
+    "FUNCTIONALITY",
+    SetupL, T_HandleBTActivatedL, Teardown)
+    
+EUNIT_TEST(
+    "T_DisplayCallSetup_SetNEVisibilityFalseL",
+    "",
+    "T_DisplayCallSetup_SetNEVisibilityFalseL",
+    "FUNCTIONALITY",
+    SetupL, T_DisplayCallSetup_SetNEVisibilityFalseL, Teardown)
+    
+EUNIT_TEST(
+    "T_DisplayCallSetup_CheckIfNEUsedBeforeSettingVisibilityFalseL",
+    "",
+    "T_DisplayCallSetup_CheckIfNEUsedBeforeSettingVisibilityFalseL",
+    "FUNCTIONALITY",
+    SetupL, T_DisplayCallSetup_CheckIfNEUsedBeforeSettingVisibilityFalseL, Teardown)
+
+/*    
+// Cannot run because call AknLayoutUtils::PenEnabled()( called by CPhoneState::CaptureKeysDuringCallNotificationL)
+// call crash this case.
+/*EUNIT_TEST(
+    "T_UpdateSingleActiveCallL_VoIPcallL",
+    "",
+    "T_UpdateSingleActiveCallL_VoIPcallL",
+    "FUNCTIONALITY",
+    SetupWithVoipL, T_UpdateSingleActiveCallL_VoIPcallL, Teardown) */
+/*
+EUNIT_TEST(
+    "T_HandleCommandL_CallsPhoneCustomization_L",
+    "",
+    "T_HandleCommandL_CallsPhoneCustomization_L",
+    "FUNCTIONALITY",
+    SetupWithVoipL, T_HandleCommandL_CallsPhoneCustomization_L, Teardown)
+    
+EUNIT_TEST(
+    "T_HandlePhoneEngineMessage_EPEMessageCallSecureStatusChanged_L",
+    "",
+    "T_HandlePhoneEngineMessage_EPEMessageCallSecureStatusChanged_L",
+    "FUNCTIONALITY",
+    SetupWithVoipL, T_HandlePhoneEngineMessage_EPEMessageCallSecureStatusChanged_L, Teardown)
+
+EUNIT_TEST(
+    "T_HandlePhoneEngineMessage_CallsPhoneCustomization_L",
+    "",
+    "T_HandlePhoneEngineMessage_CallsPhoneCustomization_L",
+    "FUNCTIONALITY",
+    SetupWithVoipL, T_HandlePhoneEngineMessage_CallsPhoneCustomization_L, Teardown)
+
+EUNIT_TEST(
+    "T_ShowNumberBusyNoteL_CallsCustomizeBusyNoteText_L",
+    "",
+    "T_ShowNumberBusyNoteL_CallsCustomizeBusyNoteText_L",
+    "FUNCTIONALITY",
+    SetupWithVoipL, T_ShowNumberBusyNoteL_CallsCustomizeBusyNoteText_L, Teardown)
+    
+EUNIT_TEST(
+    "T_PhoneNumberFromEntryLC",
+    "",
+    "T_PhoneNumberFromEntryLC",
+    "FUNCTIONALITY",
+    SetupWithVoipL, T_PhoneNumberFromEntryLC, Teardown)
+    
+EUNIT_TEST(
+    "T_UpdateRemoteInfoDataL",
+    "",
+    "T_UpdateRemoteInfoDataL",
+    "FUNCTIONALITY",
+    SetupWithVoipL, T_UpdateRemoteInfoDataL, Teardown)
+*/
+
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestate/src/ut_cphonestate_DllMain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphonestate.h"
+#include <CEUnitTestSuite.h>
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return ut_cphonestate::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestatecallsetup/bwins/ut_cphonestatecallsetupu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestatecallsetup/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+PRJ_PLATFORMS
+    WINSCW
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+
+PRJ_TESTMMPFILES
+ut_cphonestatecallsetup.mmp
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestatecallsetup/group/ut_cphonestatecallsetup.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,106 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*
+*/
+
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+#include <digia/eunit/eunitcaps.h>
+
+TARGET          ut_cphonestatecallsetup.dll
+TARGETTYPE      dll
+UID             0x1000af5a 0x01700000
+
+CAPABILITY      EUNIT_CAPS
+VENDORID        VID_DEFAULT
+
+
+SOURCEPATH      ../../../../../internal/mocks/phoneengine/engineinfo
+SOURCE          mock_cpeengineinfoimpl.cpp
+ 
+SOURCEPATH      ../../../../internal/mocks/phoneuicontrol
+SOURCE          mock_cphonestate.cpp
+SOURCE          mock_cphonestatemachine.cpp
+SOURCE          mock_cphonestateincall.cpp
+SOURCE          mock_cphonedtmfwaitchartimer.cpp
+
+SOURCEPATH     ../../../../../internal/mocks/phoneapp/phoneuicontrol
+SOURCE         mock_cphonenumberentrymanager.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuistates
+SOURCE         mock_cphonegsmincall.cpp
+SOURCE         mock_cphonestatemachinegsm.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuiutils
+SOURCE          mock_cphonelogger.cpp
+SOURCE          mock_cphonepubsubproxy.cpp
+SOURCE          mock_cphonemainresourceresolver.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuiview
+SOURCE          mock_cphoneviewcommandhandle.cpp
+
+SOURCEPATH      ../../../../../internal/mocks/eikmenupane
+SOURCE          mock_coemain.cpp
+SOURCE          mock_coecntrl.cpp
+
+SOURCEPATH      ../../../../internal/mocks/
+SOURCE          mock_featmgr.cpp
+SOURCE          mock_StringLoader.cpp
+
+SOURCEPATH      ../src
+SOURCE          ut_cphonestatecallsetup.cpp
+
+SOURCEPATH      ../../../src     // phoneuicontrol src
+SOURCE          cphonestatecallsetup.cpp
+
+// Sources required by the test suite
+SOURCEPATH      ../src
+SOURCE          ut_cphonestatecallsetup_dllmain.cpp
+
+SOURCEPATH		../../../../../phoneengine/engineinfo/src
+SOURCE			cpeengineinfo.cpp
+
+USERINCLUDE    	../../../../../phoneengine/engineinfo/inc
+USERINCLUDE     ../../../../internal/mocks/phoneengine
+USERINCLUDE     ../../../../phoneuiview/inc
+USERINCLUDE     ../../../../phoneuicontrol/inc
+USERINCLUDE     ../../../../phoneuistates/inc
+USERINCLUDE     ../../../../phonemediatorcenter/inc
+USERINCLUDE     ../../../../phoneuiutils/inc
+USERINCLUDE     ../../../../phoneui2/srcdata
+USERINCLUDE     ../../../../phoneuiqtviewadapter/inc
+USERINCLUDE     ../../../../internal/mocks/phoneuiview
+
+
+APP_LAYER_SYSTEMINCLUDE
+
+SYSTEMINCLUDE   /epoc32/include/Digia/EUnit
+SYSTEMINCLUDE	../../../../../inc       // phone inc
+
+
+LIBRARY         EUnit.lib
+LIBRARY         EUnitUtil.lib
+LIBRARY         euser.lib
+LIBRARY         avkon.lib       // AknTextUtils
+LIBRARY         cone.lib
+LIBRARY         phoneuiutils.lib
+LIBRARY         apgrfx.lib
+LIBRARY         symbianmock.lib
+LIBRARY         efsrv.lib
+LIBRARY         ws32.lib        // RWsSession
+LIBRARY         gdi.lib         // TZoomFactor
+LIBRARY         bafl.lib        // CBaActiveScheduler
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestatecallsetup/src/ut_cphonestatecallsetup.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,204 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <csmcmockcontext.h>
+#include <smcdefaultvalue.h>
+#include <msmcmockspecbuilder.h>
+#include <smcobjecttotypemapper.h>
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+#include <featmgr.h>
+#include "ut_cphonestatecallsetup.h"
+#include "cphonestatecallsetup.h"
+#include "cphonemainresourceresolver.h"
+#include "cphonestatemachinegsm.h"
+#include "pevirtualengine.h" 
+#include "mphonekeyevents.h"
+#include "tphonecommandparam.h"
+#include "tphonecmdparamcallheaderdata.h"
+#include "tphonecmdparamaudiooutput.h"
+#include "cpeengineinfo.h"
+#include "cpeengineinfoimpl.h"
+#include "mock_cphoneviewcommandhandle.h"
+
+//test
+#include "TPhoneCmdParamInteger.h"
+#include "tphonecmdparamboolean.h"
+
+// needed for mocking CPhoneMainResourceResolver::Instance()
+class CPhoneMainResourceResolverMock : public CPhoneMainResourceResolver
+    {
+    };
+
+// -----------------------------------------------------------------------------
+// operator for comparing parameter expected and result value.   
+// -
+// -----------------------------------------------------------------------------
+//
+TBool operator==(const TPhoneCommandParam& param1, const TPhoneCommandParam& param2 )
+    {
+    TBool ret( EFalse );
+    
+    if ( param1.ParamId() == param2.ParamId() )
+        {
+        if ( TPhoneCommandParam::EPhoneParamIdBoolean == param1.ParamId() )
+            {
+            const TPhoneCmdParamBoolean  &value1 = static_cast<const TPhoneCmdParamBoolean&> (param1);
+            const TPhoneCmdParamBoolean  &value2 = static_cast<const TPhoneCmdParamBoolean&> (param2);
+            if (  value1.Boolean() == value2.Boolean() )
+                {
+                ret = ETrue;
+                }
+            }
+        else if ( TPhoneCommandParam::EPhoneParamIdCallHeaderData == param1.ParamId() )
+            {
+            const TPhoneCmdParamCallHeaderData  &value1 = static_cast<const TPhoneCmdParamCallHeaderData&> (param1);
+            const TPhoneCmdParamCallHeaderData  &value2 = static_cast<const TPhoneCmdParamCallHeaderData&> (param2);
+            if ( value1.CallState() == value2.CallState() )
+                {
+                ret = ETrue;
+                }
+            }
+        else if ( TPhoneCommandParam::EPhoneParamIdInteger == param1.ParamId() )
+            {
+            const TPhoneCmdParamInteger  &value1 = static_cast<const TPhoneCmdParamInteger&> (param1);
+            const TPhoneCmdParamInteger  &value2 = static_cast<const TPhoneCmdParamInteger&> (param2);
+            if ( value1.Integer() == value2.Integer() )
+                {
+                ret = ETrue;
+                }
+            }
+        else if ( TPhoneCommandParam::EPhoneParamIdAudioOutput == param1.ParamId() )
+            {
+            const TPhoneCmdParamAudioOutput  &value1 = static_cast<const TPhoneCmdParamAudioOutput&> (param1);
+            const TPhoneCmdParamAudioOutput  &value2 = static_cast<const TPhoneCmdParamAudioOutput&> (param2);
+            if ( value1.AudioOutput() == value2.AudioOutput() )
+                {
+                ret = ETrue;
+                }
+            }
+        else  
+            {
+            ret = ETrue;  // just paramiId compared
+            }
+        }
+    return ret;
+    }
+
+// - Construction -----------------------------------------------------------
+ut_cphonestatecallsetup* ut_cphonestatecallsetup::NewL()
+    {
+    ut_cphonestatecallsetup* self = ut_cphonestatecallsetup::NewLC();
+    CleanupStack::Pop();
+    return self;
+    }
+	
+ut_cphonestatecallsetup* ut_cphonestatecallsetup::NewLC()
+    {
+    ut_cphonestatecallsetup* self = new( ELeave ) ut_cphonestatecallsetup();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+ut_cphonestatecallsetup::~ut_cphonestatecallsetup()
+    {
+    CSmcMockContext::Release();
+    }
+
+ut_cphonestatecallsetup::ut_cphonestatecallsetup()
+    {
+    }
+
+void ut_cphonestatecallsetup::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    iMockContext = CSmcMockContext::InstanceL();
+    }
+
+// - Test methods -----------------------------------------------------------
+
+
+
+void ut_cphonestatecallsetup::SetupL(  )
+    {
+    iMockContext->InitializeL();
+
+    iCPhoneMainResourceResolverMock = new ( ELeave ) CPhoneMainResourceResolverMock();
+          SmcDefaultValue<CPhoneMainResourceResolver*>::SetL( iCPhoneMainResourceResolverMock );
+    
+    iViewCmdHandleMock = new CPhoneViewCommandHandleMock();
+  
+    iStateMachineMock = CPhoneStateMachineGSM::NewL( iViewCmdHandleMock ); 
+  
+  	// Have to be here otherwise execution will stop to ASSERT_DEBUG when 
+	// construct the CPhoneStateCallSetup-object.
+    iEngineInfoMock = CPEEngineInfo::NewL();
+    SmcDefaultValue<MPEEngineInfo*>::SetL( iEngineInfoMock );
+    
+    iStateCallSetup  = CPhoneStateCallSetup::NewL(
+            iStateMachineMock, iViewCmdHandleMock, NULL );
+      
+    SmcDefaultValue<TPESimState>::SetL( EPESimStatusUninitialized );
+    SmcDefaultValue<const TPEAudioOutput&>::SetL( EPENotActive );
+    }
+    
+
+void ut_cphonestatecallsetup::Teardown(  )
+    {
+    delete iViewCmdHandleMock;
+    iViewCmdHandleMock = NULL;
+    delete iStateCallSetup;
+    iStateCallSetup = NULL;
+    delete iStateMachineMock;
+    iStateMachineMock = NULL;
+    delete iEngineInfoMock;
+    iEngineInfoMock = NULL;
+    delete iCPhoneMainResourceResolverMock;
+    iCPhoneMainResourceResolverMock = NULL;
+    
+    SmcDefaultValue<TPESimState>::Reset();
+    SmcDefaultValue<const TPEAudioOutput&>::Reset();
+    
+    iMockContext->Reset();
+    }
+    
+
+// -----------------------------------------------------------------------------
+// ut_cphonestatecallsetup::T_EmptyL
+// -check commands
+// -----------------------------------------------------------------------------
+// 
+void ut_cphonestatecallsetup::T_EmptyL()
+    {
+    }
+ 
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+    ut_cphonestatecallsetup,
+    "Add test suite description here.",
+    "UNIT" )
+
+EUNIT_TEST(
+    "1- Constrcution & destruction.",
+    "CPhoneStateCallSetup",
+    "1- Constrcution & destruction.",
+    "FUNCTIONALITY",
+    SetupL, T_EmptyL, Teardown)
+    
+EUNIT_END_TEST_TABLE
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestatecallsetup/src/ut_cphonestatecallsetup.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,78 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __UT_CPHONESTATECALLSETUP_H
+#define __UT_CPHONESTATECALLSETUP_H
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+
+
+
+// FORWARD DECLARATIONS
+class CSmcMockContext;
+class CPhoneStateCallSetup;
+class CPhoneStateMachineGSM;
+class CPhoneViewCommandHandleMock;
+class CPhoneMainResourceResolverMock;
+class CPEEngineInfo;
+class MPhoneViewCommandHandle;
+class TPhoneCommandParam;
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+
+
+TBool operator==(const TPhoneCommandParam& param1, const TPhoneCommandParam& param2 ); 
+
+NONSHARABLE_CLASS( ut_cphonestatecallsetup )
+	: public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static ut_cphonestatecallsetup* NewL();
+        static ut_cphonestatecallsetup* NewLC();
+        ~ut_cphonestatecallsetup();
+
+    private: // Constructors
+
+        ut_cphonestatecallsetup();
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+         void Teardown();
+         void T_EmptyL();
+
+    private: // Data
+    
+        CPhoneViewCommandHandleMock* iViewCmdHandleMock;
+        CPhoneStateMachineGSM* iStateMachineMock; 
+        CPhoneStateCallSetup* iStateCallSetup;
+        CSmcMockContext* iMockContext;
+        CPhoneMainResourceResolverMock* iCPhoneMainResourceResolverMock;
+        CPEEngineInfo* iEngineInfoMock;
+        
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __UT_CPHONESTATECALLSETUP_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestatecallsetup/src/ut_cphonestatecallsetup_dllmain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <CEUnitTestSuite.h>
+#include "ut_cphonestatecallsetup.h"
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    { 
+    return ut_cphonestatecallsetup::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestateidle/BWINS/ut_cphonestateidleu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestateidle/Src/CPhoneStateIdle_Inherited.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,66 @@
+/*
+* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  CCPhoneStateIdle_Inherited implementation. 
+*
+*/
+
+#include "CPhoneStateIdle_Inherited.h"
+
+
+CPhoneStateIdle_Inherited::CPhoneStateIdle_Inherited(
+    MPhoneStateMachine* aStateMachine, 
+    MPhoneViewCommandHandle* aViewCommandHandle,
+    MPhoneCustomization* aPhoneCustomization )
+    : CPhoneStateIdle( aStateMachine, aViewCommandHandle, aPhoneCustomization )
+    {
+    // No implementation required
+    }
+
+CPhoneStateIdle_Inherited::~CPhoneStateIdle_Inherited()
+    {
+    }
+
+CPhoneStateIdle_Inherited* CPhoneStateIdle_Inherited::NewLC(
+    MPhoneStateMachine* aStateMachine, 
+    MPhoneViewCommandHandle* aViewCommandHandle,
+    MPhoneCustomization* aPhoneCustomization )
+    {
+    CPhoneStateIdle_Inherited* self = new ( ELeave )
+        CPhoneStateIdle_Inherited( aStateMachine, aViewCommandHandle, aPhoneCustomization );
+    CleanupStack::PushL(self);
+    self->ConstructL();     // base class
+    return self;
+    }
+
+CPhoneStateIdle_Inherited* CPhoneStateIdle_Inherited::NewL(
+    MPhoneStateMachine* aStateMachine, 
+    MPhoneViewCommandHandle* aViewCommandHandle,
+    MPhoneCustomization* aPhoneCustomization )
+    {
+    CPhoneStateIdle_Inherited* self = CPhoneStateIdle_Inherited::NewLC(
+        aStateMachine, aViewCommandHandle, aPhoneCustomization );
+    CleanupStack::Pop(); // self;
+    return self;
+    }
+
+void CPhoneStateIdle_Inherited::DialL_UserL( const TDesC& aNumber, 
+        TPhoneNumberType aNumberType, TDialInitiationMethod aDialMethod )
+    {
+    DialL( aNumber, aNumberType, aDialMethod );
+    }
+
+void CPhoneStateIdle_Inherited::HandleNumberEntryClearedL_UserL()
+    {
+    HandleNumberEntryClearedL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestateidle/Src/CPhoneStateIdle_Inherited.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,74 @@
+/*
+* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  CCPhoneStateIdle_Inherited declaration. 
+*
+*/
+
+#ifndef CPHONESTATEIDLE_INHERITED_H
+#define CPHONESTATEIDLE_INHERITED_H
+
+// INCLUDES
+#include <e32std.h>
+#include "CPhoneStateIdle.h"
+
+// CLASS DECLARATION
+
+/**
+ *  CPhoneStateIdle_Inherited
+ * 
+ */
+class CPhoneStateIdle_Inherited : public CPhoneStateIdle
+    {
+public:
+    // Constructors and destructor
+
+    /**
+     * Destructor.
+     */
+    ~CPhoneStateIdle_Inherited();
+
+    /**
+     * Two-phased constructor.
+     */
+    static CPhoneStateIdle_Inherited* NewL(
+            MPhoneStateMachine* aStateMachine, 
+            MPhoneViewCommandHandle* aViewCommandHandle,
+            MPhoneCustomization* aPhoneCustomization );
+
+    /**
+     * Two-phased constructor.
+     */
+    static CPhoneStateIdle_Inherited* NewLC(
+            MPhoneStateMachine* aStateMachine, 
+            MPhoneViewCommandHandle* aViewCommandHandle,
+            MPhoneCustomization* aPhoneCustomization );
+
+    void DialL_UserL( const TDesC& aNumber, 
+        TPhoneNumberType aNumberType, TDialInitiationMethod aDialMethod );
+    
+    void HandleNumberEntryClearedL_UserL();
+    
+private:
+
+    /**
+     * Constructor for performing 1st stage construction
+     */
+    CPhoneStateIdle_Inherited(
+            MPhoneStateMachine* aStateMachine, 
+            MPhoneViewCommandHandle* aViewCommandHandle,
+            MPhoneCustomization* aPhoneCustomization );
+
+    };
+
+#endif // CPHONESTATEIDLE_INHERITED_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestateidle/Src/ut_cphonestateidle.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,592 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphonestateidle.h"
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+
+#include <featmgr.h>
+#include <coemain.h>
+#include "cpeengineinfo.h"
+#include "cphonestatemachinegsm.h"
+#include "PEVirtualEngine.h"
+#include "mock_cphoneviewcommandhandle.h"
+#include "CPhoneStateMachine.h"
+#include "MPhoneKeyEvents.h"
+#include "CPhoneMainResourceResolver.h"
+#include "phoneappcommands.hrh"
+#include "cphonecustomizationvoip.h"
+
+#include "CPhoneStateIdle.h"
+#include "CPhoneStateIdle_Inherited.h"
+
+#include <csmcmockcontext.h>
+#include <msmcmockspecbuilder.h>
+#include <MProfileEngine.h>
+
+#include "phonerssbase.h"
+#include <PhoneUI.rsg>
+#include "TPhoneCmdParamInteger.h"
+#include "tphonecmdparamkeycapture.h"
+
+
+MProfileEngine * CreateProfileEngineL() {}
+
+#include <w32std.h>
+void RWsSession::SimulateKeyEvent(TKeyEvent) {}
+void RWsSession::Flush() {}
+RWsSession::RWsSession() {}
+
+RWindowGroup::RWindowGroup() {}
+
+MWsClientClass::MWsClientClass() {}
+RWindowTreeNode::RWindowTreeNode() {}
+
+#include <APGTASK.h>
+TApaTaskList::TApaTaskList(RWsSession &aSession ) : iWsSession( aSession ) {}
+TApaTask TApaTaskList::FindApp(TUid) {}
+TInt TApaTask::Exists() const {return EFalse;}
+
+// needed for mocking CPhoneMainResourceResolver::Instance()
+class CPhoneMainResourceResolverMock : public CPhoneMainResourceResolver
+    {
+
+    };
+
+
+// -----------------------------------------------------------------------------
+// operator for comparing parameter expected and result value.
+// -
+// -----------------------------------------------------------------------------
+//
+
+TBool operator==(const TPhoneCommandParam& param1, const TPhoneCommandParam& param2 )
+    {
+    TBool ret( ETrue );
+
+    if ( param1.ParamId() == param2.ParamId() )
+        {
+
+        if ( TPhoneCommandParam::EPhoneParamIdInteger == param1.ParamId() )
+            {
+            const TPhoneCmdParamInteger  &value1 = static_cast<const TPhoneCmdParamInteger&> (param1);
+            const TPhoneCmdParamInteger  &value2 = static_cast<const TPhoneCmdParamInteger&> (param2);
+            if ( value1.Integer() != value2.Integer() )
+                {
+                ret = EFalse;
+                }
+            }
+        else
+            {
+            ret = ETrue;  // just paramiId compared
+            }
+        }
+    return ret;
+    }
+
+// - Construction -----------------------------------------------------------
+
+ut_cphonestateidle* ut_cphonestateidle::NewL()
+    {
+    ut_cphonestateidle* self = ut_cphonestateidle::NewLC();
+    CleanupStack::Pop();
+    return self;
+    }
+
+ut_cphonestateidle* ut_cphonestateidle::NewLC()
+    {
+    ut_cphonestateidle* self = new( ELeave ) ut_cphonestateidle();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+ut_cphonestateidle::~ut_cphonestateidle()
+    {
+    CSmcMockContext::Release();
+    }
+
+ut_cphonestateidle::ut_cphonestateidle()
+    {
+    }
+
+void ut_cphonestateidle::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    iMockContext = CSmcMockContext::InstanceL();
+    }
+
+// - Test methods -----------------------------------------------------------
+
+
+
+void ut_cphonestateidle::SetupL(  )
+    {
+    iMockContext->InitializeL();
+
+    iCoeEnvMock = new (ELeave ) CCoeEnv();
+    SmcDefaultValue<CCoeEnv*>::SetL( iCoeEnvMock );
+
+    iEngineInfoMock = CPEEngineInfo::NewL();
+    SmcDefaultValue<MPEEngineInfo*>::SetL( iEngineInfoMock );
+
+    iCPhoneMainResourceResolverMock = new ( ELeave ) CPhoneMainResourceResolverMock();
+    SmcDefaultValue<CPhoneMainResourceResolver*>::SetL( iCPhoneMainResourceResolverMock );
+
+    iViewCmdHandleMock = new CPhoneViewCommandHandleMock();
+
+    iStateMachineGsmMock = CPhoneStateMachineGSM::NewL( iViewCmdHandleMock );
+
+    iCustomizationMock =
+        CPhoneCustomizationVoip::NewL( *iStateMachineGsmMock, *iViewCmdHandleMock );
+
+    iStateIdle = CPhoneStateIdle_Inherited::NewL(
+        iStateMachineGsmMock, iViewCmdHandleMock, iCustomizationMock);
+    }
+
+
+void ut_cphonestateidle::Teardown(  )
+    {
+    delete iStateIdle;
+    iStateIdle = NULL;
+    delete iStateMachineGsmMock;
+    iStateMachineGsmMock = NULL;
+    delete iViewCmdHandleMock;
+    iViewCmdHandleMock = NULL;
+    delete iCustomizationMock;
+    iCustomizationMock = NULL;
+
+    delete iCPhoneMainResourceResolverMock;
+    iCPhoneMainResourceResolverMock = NULL;
+    SmcDefaultValue<CPhoneMainResourceResolver*>::Reset();
+
+    delete iEngineInfoMock;
+    iEngineInfoMock = NULL;
+    SmcDefaultValue<MPEEngineInfo*>::Reset();
+    iMockContext->Reset();
+    delete iCoeEnvMock;
+    iCoeEnvMock = NULL;
+    SmcDefaultValue<CCoeEnv*>::Reset();
+    }
+
+
+void ut_cphonestateidle::T_IdlePhoneFocusLost_DiallerNotUsedL(  )
+    {
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::IsNumberEntryUsedL" ).
+            ReturnsL( EFalse );
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+            WithL( EPhoneViewUpdateFSW );
+    iStateIdle->HandlePhoneFocusLostEventL();
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+void ut_cphonestateidle::T_IdlePhoneFocusLost_DiallerUsedL(  )
+    {
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::IsNumberEntryUsedL" ).
+            ReturnsL( ETrue );
+    // check that T_IdlePhoneFocusLost_DiallerUsedL is not called.
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+            WithL( T_IdlePhoneFocusLost_DiallerUsedL ).
+            TimesL(0);
+    iStateIdle->HandlePhoneFocusLostEventL();
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+void ut_cphonestateidle::T_IdleEndKeyPressGeneratesCancelNotificationsL(  )
+    {
+    iMockContext->ExpectCallL( "CPhoneState::IsAutoLockOn" ).
+        ReturnsL( EFalse );
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+        WithL( EPhoneViewCancelAllNotications ).
+        TimesL(1);
+    iMockContext->ExpectCallL( "CPhoneState::IsSimOk" ).
+        ReturnsL( ETrue ).
+        TimesL(1);
+    iStateIdle->HandleKeyMessageL( MPhoneKeyEvents::EPhoneKeyLongPress, EKeyNo );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+void ut_cphonestateidle::T_HandleIdleForegroundEventL(  )
+    {
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+            WithL( EPhoneViewBringIdleToForeground ).
+            TimesL(1);
+    iStateIdle->HandleIdleForegroundEventL();
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+void ut_cphonestateidle::T_HandlePhoneForegroundEventL(  )
+    {
+    iStateIdle->HandlePhoneForegroundEventL();
+    }
+
+void ut_cphonestateidle::T_HandleKeyMessageL(  )
+    {
+    _LIT( KPhoneNumber, "12345" );
+    HBufC* phoneNumber = KPhoneNumber().AllocLC();
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::IsNumberEntryUsedL" ).
+        ReturnsL( ETrue ).
+        TimesL(2);
+    iMockContext->ExpectCallL( "TPhoneCmdParamBoolean::Boolean" ).
+        ReturnsL( ETrue );
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::PhoneNumberFromEntryLC" ).
+        ReturnsL( phoneNumber );
+    iMockContext->ExpectCallL( "CPhoneState::IsSimOk" ).
+        ReturnsL( ETrue );
+
+    iStateIdle->HandleKeyMessageL( MPhoneKeyEvents::EPhoneKeyShortPress, EKeyYes );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    CleanupStack::Pop( phoneNumber );
+    }
+
+void ut_cphonestateidle::T_HandleKeyMessageL_AppKeyL(  )
+    {
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::IsNumberEntryUsedL" ).
+        ReturnsL( EFalse );
+    iMockContext->ExpectCallL( "CPhoneState::HandleCommandL" ).
+        WithL( EPhoneNumberAcqSecurityDialer );
+
+    iStateIdle->HandleKeyMessageL( MPhoneKeyEvents::EPhoneKeyShortPress, EKeyApplication0 );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+
+void ut_cphonestateidle::T_HandleKeyMessageL_AppKeyL_NEOpen(  )
+    {
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::IsNumberEntryUsedL" ).
+        ReturnsL( ETrue );
+    iMockContext->ExpectCallL( "CPhoneState::HandleCommandL" ).
+            TimesL( 0 );
+
+    iStateIdle->HandleKeyMessageL( MPhoneKeyEvents::EPhoneKeyShortPress, EKeyApplication0 );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+void ut_cphonestateidle::T_HandleCommand_NumberAcqCmdCallL()
+    {
+    _LIT( KPhoneNumber, "12345" );
+    HBufC* phoneNumber = KPhoneNumber().AllocLC();
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::IsNumberEntryUsedL" ).
+        ReturnsL( ETrue );
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::PhoneNumberFromEntryLC" ).
+        ReturnsL( phoneNumber );
+    // SIM NOK
+    iMockContext->ExpectCallL( "CPhoneState::IsSimOk" ).
+        ReturnsL( EFalse );
+    iMockContext->ExpectCallL( "CPhoneStateMachine::SendPhoneEngineMessage" ).
+        WithL( MPEPhoneModel::EPEMessageCheckEmergencyNumber );
+    iStateIdle->HandleCommandL( EPhoneNumberAcqCmdCall );
+    
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::IsNumberEntryUsedL" ).
+        ReturnsL( ETrue );
+    HBufC* phoneNumber2 = KPhoneNumber().AllocLC();
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::PhoneNumberFromEntryLC" ).
+        ReturnsL( phoneNumber2 );
+    // SIM OK
+    iMockContext->ExpectCallL( "CPhoneState::IsSimOk" ).
+            ReturnsL( ETrue );
+    iMockContext->ExpectCallL( "CPhoneState::DialVoiceCallL" );
+
+    iStateIdle->HandleCommandL( EPhoneNumberAcqCmdCall );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    CleanupStack::Pop( phoneNumber2 );
+    CleanupStack::Pop( phoneNumber );
+    }
+
+void ut_cphonestateidle::T_HandleCommand_NumberAcqCmdSendCommandL()
+    {
+    _LIT( KPhoneNumber, "12345" );
+    HBufC* phoneNumber = KPhoneNumber().AllocLC();
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::IsNumberEntryUsedL" ).
+        ReturnsL( ETrue );
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::PhoneNumberFromEntryLC" ).
+        ReturnsL( phoneNumber );
+    // SIM NOK
+    iMockContext->ExpectCallL( "CPhoneState::IsSimOk" ).
+        ReturnsL( EFalse );
+    iMockContext->ExpectCallL( "CPhoneStateMachine::SendPhoneEngineMessage" ).
+        WithL( MPEPhoneModel::EPEMessageCheckEmergencyNumber );
+    iStateIdle->HandleCommandL( EPhoneNumberAcqCmdCall );
+    
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::IsNumberEntryUsedL" ).
+        ReturnsL( ETrue );
+    HBufC* phoneNumber2 = KPhoneNumber().AllocLC();
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::PhoneNumberFromEntryLC" ).
+        ReturnsL( phoneNumber2 );
+    // SIM OK
+    iMockContext->ExpectCallL( "CPhoneState::IsSimOk" ).
+            ReturnsL( ETrue );
+    iMockContext->ExpectCallL( "CPhoneState::DialVoiceCallL" );
+
+    iStateIdle->HandleCommandL( EPhoneNumberAcqCmdSendCommand );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    CleanupStack::Pop( phoneNumber2 );
+    CleanupStack::Pop( phoneNumber );
+    }
+
+void ut_cphonestateidle::T_DialL()
+    {
+    _LIT( KPhoneNumber, "23322" );
+    iMockContext->ExpectCallL( "CPEEngineInfoImpl::SetPhoneNumber" ).
+        WithL( KPhoneNumber() );
+    iMockContext->ExpectCallL( "FeatureManager::FeatureSupported" ).
+        WithL( KFeatureIdCsVideoTelephony ).
+        ReturnsL( ETrue );
+
+    iStateIdle->DialL_UserL( 
+            KPhoneNumber, 
+            CPhoneStateIdle::EPhoneNumberTypeVideo,
+            CPhoneStateIdle::EDialMethodUnknown );
+
+    iMockContext->ExpectCallL( "CPEEngineInfoImpl::SetPhoneNumber" ).
+        WithL( KPhoneNumber() );
+
+    iStateIdle->DialL_UserL( 
+            KPhoneNumber, 
+            CPhoneStateIdle::EPhoneNumberTypeCS,
+            CPhoneStateIdle::EDialMethodUnknown );
+
+    iMockContext->ExpectCallL( "CPEEngineInfoImpl::SetPhoneNumber" ).
+        WithL( KPhoneNumber() );
+    iMockContext->ExpectCallL( "CPhoneCustomizationVoip::HandleDialL" ).
+        WithL( KPhoneNumber() );
+
+    iStateIdle->DialL_UserL( 
+            KPhoneNumber, 
+            CPhoneStateIdle::EPhoneNumberTypeVoip,
+            CPhoneStateIdle::EDialMethodUnknown );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+void ut_cphonestateidle::T_DialVideoCallL()
+    {
+    _LIT( KPhoneNumber, "123456" );
+    HBufC* phoneNumber = KPhoneNumber().AllocLC();
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::IsNumberEntryUsedL" ).
+            ReturnsL( ETrue );
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::PhoneNumberFromEntryLC" ).
+            ReturnsL( phoneNumber );
+    iMockContext->ExpectCallL( "CPEEngineInfoImpl::SetPhoneNumber" ).
+            WithL( KPhoneNumber() );
+    iMockContext->ExpectCallL( "CPhoneState::DialMultimediaCallL" );
+
+    //DialVideoCallL is used via handlecommand because it's private method.
+    iStateIdle->HandleCommandL( EPhoneNumberAcqCmdVideoCall );
+
+    _LIT( KSpeedDialNumber, "2" );
+    HBufC* phoneNumber2 = KSpeedDialNumber().AllocLC();
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::IsNumberEntryUsedL" ).
+           ReturnsL( ETrue );
+   iMockContext->ExpectCallL( "CPhoneNumberEntryManager::PhoneNumberFromEntryLC" ).
+           ReturnsL( phoneNumber2 );
+
+    //DialVideoCallL is used via handlecommand because it's private method.
+    iStateIdle->HandleCommandL( EPhoneNumberAcqCmdVideoCall );
+
+    iMockContext->ExpectCallL( "CPhoneState::DialMultimediaCallL" ).
+        TimesL(0);
+
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    CleanupStack::Pop( phoneNumber2 );
+    CleanupStack::Pop( phoneNumber );
+    }
+
+// -----------------------------------------------------------------------------
+// ut_cphonestateidle::T_HandleEndKeyPressSecurityNoteShownSimlessOfflineUndefL
+// -check commands
+// TRLM-7Q3HVZ
+// -----------------------------------------------------------------------------
+//
+void ut_cphonestateidle::T_HandleEndKeyPressSecurityNoteShownSimlessOfflineUndefL(  )
+    {
+    iMockContext->ExpectCallL( "CPhoneState::IsSimStateNotPresentWithSecurityModeEnabled" ).
+            TimesL(1).
+            ReturnsL(ETrue);
+    iMockContext->ExpectCallL( "FeatureManager::FeatureSupported" ).
+            TimesL(1).
+            ReturnsL(EFalse);
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::IsNumberEntryUsedL" ).
+               TimesL(1).
+               ReturnsL(ETrue);
+    // ExecuteCommandL is expected to be called only 2 times because SecutiryNote is shown and
+    // SimlessOffline is Undefined.
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+            TimesL(2);
+    iMockContext->ExpectCallL( "CPhoneState::IsSimOk" ).
+            ReturnsL( ETrue ).
+            TimesL(1);
+
+    iStateIdle->HandleKeyMessageL( MPhoneKeyEvents::EPhoneKeyLongPress, EKeyNo );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+// -----------------------------------------------------------------------------
+// ut_cphonestateidle::T_HandleEndKeyPressSecurityNoteShownSimlessOfflineDefinedL
+// -check commands
+// TRLM-7Q3HVZ
+// -----------------------------------------------------------------------------
+//
+void ut_cphonestateidle::T_HandleEndKeyPressSecurityNoteShownSimlessOfflineDefinedL(  )
+    {
+    iMockContext->ExpectCallL( "CPhoneState::IsSimStateNotPresentWithSecurityModeEnabled" ).
+            TimesL(1).
+            ReturnsL(ETrue);
+    iMockContext->ExpectCallL( "FeatureManager::FeatureSupported" ).
+            TimesL(1).
+            ReturnsL(ETrue);
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+            WithL(EPhoneViewRemovePhoneDialogs);
+    iMockContext->ExpectCallL( "CPhoneState::IsSimOk" ).
+            ReturnsL( ETrue ).
+            TimesL(1);
+
+    iStateIdle->HandleKeyMessageL( MPhoneKeyEvents::EPhoneKeyLongPress, EKeyNo );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+// -----------------------------------------------------------------------------
+// ut_cphonestateidle::T_HandleNumberEntryClearedL
+// -check commands
+// EAYG-7N4BGE
+// -----------------------------------------------------------------------------
+//
+void ut_cphonestateidle::T_HandleNumberEntryClearedL()
+    {
+    iMockContext->ExpectCallL( "CPhoneState::IsSimOk" ).
+            ReturnsL( ETrue );
+    iMockContext->ExpectCallL( "CPhoneStateMachineGSM::State" ).
+            ReturnsL<MPhoneState*>( iStateIdle );
+    iMockContext->ExpectCallL( "CPhoneState::RemoveDialogsAndSendPhoneToBackgroundL" );
+
+    iStateIdle->HandleNumberEntryClearedL_UserL();
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+
+    }
+
+// - EUnit test table -------------------------------------------------------
+EUNIT_BEGIN_TEST_TABLE(
+     ut_cphonestateidle,
+    "Add test suite description here.",
+    "UNIT" )
+
+EUNIT_TEST(
+    "Test0 - T_IdlePhoneFocusLost_DiallerNotUsedL",
+    "",
+    "Test0",
+    "FUNCTIONALITY",
+    SetupL, T_IdlePhoneFocusLost_DiallerNotUsedL, Teardown)
+    
+EUNIT_TEST(
+    "Test1 - T_IdlePhoneFocusLost_DiallerUsedL",
+    "",
+    "Test1",
+    "FUNCTIONALITY",
+    SetupL, T_IdlePhoneFocusLost_DiallerUsedL, Teardown)
+
+EUNIT_TEST(
+    "Test2 - End key generates cancel notification message",
+    "CPhoneIdleState",
+    "Test2",
+    "FUNCTIONALITY",
+    SetupL, T_IdleEndKeyPressGeneratesCancelNotificationsL, Teardown)
+    
+EUNIT_TEST(
+    "Test4 - T_HandleIdleForegroundEventL",
+    "CPhoneIdleState",
+    "Test4",
+    "FUNCTIONALITY",
+    SetupL, T_HandleIdleForegroundEventL, Teardown)
+ 
+
+EUNIT_TEST(
+    "Test6 - HandlePhoneForegroundEventL",
+    "CPhoneIdleState",
+    "Test6",
+    "FUNCTIONALITY",
+    SetupL, T_HandlePhoneForegroundEventL, Teardown)
+
+EUNIT_TEST(
+    "Test7 - HandleKeyMessageL",
+    "CPhoneIdleState",
+    "Test7",
+    "FUNCTIONALITY",
+    SetupL, T_HandleKeyMessageL, Teardown)
+
+EUNIT_TEST(
+    "Test8 - HandleKeyMessageL_AppKeyL",
+    "CPhoneIdleState",
+    "Test8",
+    "FUNCTIONALITY",
+    SetupL, T_HandleKeyMessageL_AppKeyL, Teardown )
+
+EUNIT_TEST(
+    "Test9 - HandleKeyMessageL_AppKeyL_NEOpen",
+    "CPhoneIdleState",
+    "Test9",
+    "FUNCTIONALITY",
+    SetupL, T_HandleKeyMessageL_AppKeyL_NEOpen, Teardown )
+
+EUNIT_TEST(
+    "Test10 - HandleCommand_NumberAcqCmdCall",
+    "CPhoneIdleState",
+    "Test10",
+    "FUNCTIONALITY",
+    SetupL, T_HandleCommand_NumberAcqCmdCallL, Teardown)
+
+EUNIT_TEST(
+    "Test11 - HandleCommand_NumberAcqCmdSendCommand",
+    "CPhoneIdleState",
+    "Test11",
+    "FUNCTIONALITY",
+    SetupL, T_HandleCommand_NumberAcqCmdSendCommandL, Teardown)
+
+EUNIT_TEST(
+    "Test12 - DialL",
+    "CPhoneIdleState",
+    "Test12",
+    "FUNCTIONALITY",
+    SetupL, T_DialL, Teardown)
+
+EUNIT_TEST(
+    "Test13 - DialVideoCallL",
+    "CPhoneIdleState",
+    "Test13",
+    "FUNCTIONALITY",
+    SetupL, T_DialVideoCallL, Teardown)
+
+EUNIT_TEST(
+    "Test14 - HandleEndKeyPressSecurityNoteShownSimlessOfflineUndefL",
+    "CPhoneIdleState",
+    "Test14",
+    "FUNCTIONALITY",
+    SetupL, T_HandleEndKeyPressSecurityNoteShownSimlessOfflineUndefL, Teardown)
+
+EUNIT_TEST(
+    "Test15 - HandleEndKeyPressSecurityNoteShownSimlessOfflineDefinedL",
+    "CPhoneIdleState",
+    "Test15",
+    "FUNCTIONALITY",
+    SetupL, T_HandleEndKeyPressSecurityNoteShownSimlessOfflineDefinedL, Teardown)
+
+EUNIT_TEST(
+    "Test16 - HandleNumberEntryClearedL",
+    "CPhoneIdleState",
+    "Test16",
+    "FUNCTIONALITY",
+    SetupL, T_HandleNumberEntryClearedL, Teardown)
+
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestateidle/Src/ut_cphonestateidle.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,95 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __UT_CPHONESTATEIDLE_H__
+#define __UT_CPHONESTATEIDLE_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+
+// FORWARD DECLARATIONS
+
+class CPhoneStateIdle_Inherited;
+class CPhoneViewCommandHandleMock;
+class CPhoneStateMachine;
+class CPhoneMainResourceResolverMock;
+class CPEEngineInfo;
+class CPhoneStateMachineGSM;
+class CSmcMockContext;
+class CCoeEnv;
+class CPhoneCustomizationVoip;
+class TPhoneCommandParam;
+
+TBool operator==(const TPhoneCommandParam& param1, const TPhoneCommandParam& param2 );
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( ut_cphonestateidle )
+    : public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static ut_cphonestateidle* NewL();
+        static ut_cphonestateidle* NewLC();
+        ~ut_cphonestateidle();
+
+    private: // Constructors
+
+        ut_cphonestateidle();
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+         void Teardown();
+
+         void T_IdlePhoneFocusLost_DiallerNotUsedL();
+         void T_IdlePhoneFocusLost_DiallerUsedL();
+         void T_IdleEndKeyPressGeneratesCancelNotificationsL();
+         void T_HandleIdleForegroundEventL();
+         void T_HandlePhoneForegroundEventL();
+         void T_HandleKeyMessageL();
+         void T_HandleKeyMessageL_AppKeyL();
+         void T_HandleKeyMessageL_AppKeyL_SecurityModeOff();
+         void T_HandleKeyMessageL_AppKeyL_NEOpen();
+         void T_HandleCommand_NumberAcqCmdCallL();
+         void T_HandleCommand_NumberAcqCmdSendCommandL();
+         void T_DialL();
+         void T_DialVideoCallL();
+         void T_HandleEndKeyPressSecurityNoteShownSimlessOfflineUndefL();
+         void T_HandleEndKeyPressSecurityNoteShownSimlessOfflineDefinedL();
+         void T_HandleNumberEntryClearedL();
+
+    private: // Data
+
+         CPhoneViewCommandHandleMock* iViewCmdHandleMock;
+        CPhoneStateMachineGSM* iStateMachineGsmMock;
+        CPhoneStateIdle_Inherited* iStateIdle;
+        CSmcMockContext* iMockContext;
+        CPhoneMainResourceResolverMock* iCPhoneMainResourceResolverMock;
+        CPEEngineInfo* iEngineInfoMock;
+        CCoeEnv* iCoeEnvMock;
+        CPhoneCustomizationVoip* iCustomizationMock;
+
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __UT_CPHONESTATEIDLE_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestateidle/Src/ut_cphonestateidle_DllMain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphonestateidle.h"
+#include <CEUnitTestSuite.h>
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return ut_cphonestateidle::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestateidle/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+PRJ_PLATFORMS
+    DEFAULT
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+ 
+PRJ_TESTMMPFILES
+ut_cphonestateidle.mmp
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestateidle/group/ut_cphonestateidle.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,112 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*
+*/
+
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+#include <digia/eunit/eunitcaps.h>
+
+TARGET          ut_cphonestateidle.dll
+TARGETTYPE      dll
+UID             0x1000af5a 0x01700000
+
+CAPABILITY      EUNIT_CAPS
+VENDORID        VID_DEFAULT
+
+SOURCEPATH      ../Src
+SOURCE          ut_cphonestateidle.cpp
+
+// Sources required by the test suite
+SOURCEPATH      ../src
+SOURCE          ut_cphonestateidle_DllMain.cpp
+
+SOURCEPATH      ../../../../../internal/mocks/phoneengine/engineinfo
+SOURCE          mock_cpeengineinfoimpl.cpp
+ 
+// Code under test
+SOURCEPATH      ../../../src
+SOURCE          CPhoneStateIdle.cpp
+SOURCEPATH      ../src
+SOURCE          CPhoneStateIdle_Inherited.cpp
+
+// Mocks
+SOURCEPATH      ../../../../internal/mocks/phoneuiutils
+SOURCE          mock_cphonemainresourceresolver.cpp
+SOURCE          mock_cphonelogger.cpp
+SOURCE          mock_cphonestorage.cpp
+SOURCE          mock_cphonepubsubproxy.cpp
+SOURCE          mock_cphonecenrepproxy.cpp
+SOURCE          mock_cphonekeys.cpp
+SOURCE          mock_tphonecmdparamboolean.cpp
+SOURCE          mock_tphonecmdparaminteger.cpp
+SOURCE          mock_tphonecmdparamKeycapture.cpp
+SOURCE          mock_tphonecommandparam.cpp
+SOURCE          mock_tphonecmdparamappinfo.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuiview
+SOURCE          mock_cphoneviewcommandhandle.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuicontrol
+SOURCE          mock_cphonestate.cpp
+SOURCE          mock_cphonestatemachine.cpp
+
+SOURCEPATH      ../../../../../internal/mocks/phoneapp/phoneuicontrol
+SOURCE          mock_cphonenumberentrymanager.cpp
+
+SOURCEPATH      ../../../../internal/mocks
+SOURCE          mock_featmgr.cpp
+SOURCE          mock_basched.cpp
+
+SOURCEPATH      ../../../../../internal/mocks/eikmenupane
+SOURCE          mock_coemain.cpp
+SOURCE          mock_coemop.cpp
+SOURCE          mock_eikenv.cpp
+SOURCE          mock_eikvcurs.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuistates
+SOURCE          mock_cphonestatemachinegsm.cpp
+
+
+SOURCEPATH      ../../../../internal/mocks/phoneuivoipextension
+SOURCE          mock_cphonecustomizationvoip.cpp
+
+SOURCEPATH		../../../../../phoneengine/engineinfo/src
+SOURCE			cpeengineinfo.cpp
+ 
+USERINCLUDE    	../../../../../phoneengine/engineinfo/inc
+USERINCLUDE    	../../../../internal/mocks/phoneengine
+USERINCLUDE     ../../../../phoneuiview/inc
+USERINCLUDE     ../../../../phoneuicontrol/inc
+USERINCLUDE     ../../../../phoneuiutils/inc
+USERINCLUDE     ../../../../phoneui2/srcdata
+USERINCLUDE     ../../../../phonemediatorcenter/inc
+USERINCLUDE     ../../../../phoneuistates/inc
+USERINCLUDE     ../../../../phoneuivoipextension/inc
+USERINCLUDE     ../../../../phoneuiqtviewadapter/inc
+USERINCLUDE     ../../../../internal/mocks/phoneuiview
+
+APP_LAYER_SYSTEMINCLUDE         // Application layer domain APIs
+SYSTEMINCLUDE   ../../../inc		// phoneuicontrol internal headers
+SYSTEMINCLUDE   ../../../../../inc    // phone internal headers
+SYSTEMINCLUDE   /epoc32/include/Digia/EUnit 
+
+LIBRARY         EUnit.lib
+LIBRARY         EUnitUtil.lib
+LIBRARY         efsrv.lib
+LIBRARY         euser.lib
+LIBRARY         gdi.lib
+LIBRARY         symbianmock.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestateincall/BWINS/ut_cphonestateincallU.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * __cdecl CreateTestSuiteL(void)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestateincall/Src/ut_cphonestateincall.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,195 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphonestateincall.h"
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+
+#include "CPhoneStateMachineGSM.h"
+#include "mock_cphoneviewcommandhandle.h"
+#include "CPEEngineInfo.h"
+#include "cphonestateincall.h"
+#include "CPhoneCenRepProxy.h"
+#include "CPhoneMainResourceResolver.h"
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+#include "phoneui.hrh"
+#include <csmcmockcontext.h>
+#include <msmcmockspecbuilder.h>
+#include <coemain.h>
+#include <PhoneUI.rsg>
+#include "phoneresourceids.h"
+#include "phonerssbase.h"
+#include "CPhoneTerminateAllConnectionsCommand.h"
+
+// needed for mocking CPhoneMainResourceResolver::Instance()
+class CPhoneMainResourceResolverMock : public CPhoneMainResourceResolver{};
+CPhoneCenRepProxy* GlobalCPhoneCenRepProxy;
+HBufC* GlobalHBufC;
+
+// - Construction -----------------------------------------------------------
+
+ut_cphonestateincall* ut_cphonestateincall::NewL()
+    {
+    ut_cphonestateincall* self = ut_cphonestateincall::NewLC();
+    CleanupStack::Pop();
+    return self;
+    }
+
+ut_cphonestateincall* ut_cphonestateincall::NewLC()
+    {
+    ut_cphonestateincall* self = new( ELeave ) ut_cphonestateincall();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+ut_cphonestateincall::~ut_cphonestateincall()
+    {
+    CSmcMockContext::Release();
+    }
+
+ut_cphonestateincall::ut_cphonestateincall()
+    {
+    }
+
+void ut_cphonestateincall::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    iMockContext = CSmcMockContext::InstanceL();
+    }
+
+// - Test methods -----------------------------------------------------------
+
+void ut_cphonestateincall::SetupL(  )
+    {
+    GlobalCPhoneCenRepProxy = NULL;
+    GlobalHBufC = NULL;
+    iCPhoneMainResourceResolverMock = new ( ELeave ) CPhoneMainResourceResolverMock();
+    SmcDefaultValue<CPhoneMainResourceResolver*>::SetL( iCPhoneMainResourceResolverMock );
+    
+    iCoeEnvMock = new (ELeave ) CCoeEnv();
+    SmcDefaultValue<CCoeEnv*>::SetL( iCoeEnvMock );
+    
+    iViewCommandHandle = new CPhoneViewCommandHandleMock();
+
+    iStateMachine = CPhoneStateMachineGSM::NewL( iViewCommandHandle );
+    
+    iEngineInfoMock = CPEEngineInfo::NewL();
+        SmcDefaultValue<MPEEngineInfo*>::SetL( iEngineInfoMock );
+        
+    iStateInCall =  CPhoneStateInCall::NewL( iStateMachine, iViewCommandHandle, NULL );
+    }
+
+void ut_cphonestateincall::Teardown(  )
+    {
+    delete iStateInCall;
+    iStateInCall = NULL;
+    delete iStateMachine;
+    iStateMachine = NULL;
+    delete iViewCommandHandle;
+    iViewCommandHandle = NULL;
+    
+    delete iEngineInfoMock;
+    iEngineInfoMock = NULL;
+    SmcDefaultValue<MPEEngineInfo*>::Reset();
+    
+    delete iCoeEnvMock;
+    iCoeEnvMock = NULL;
+    SmcDefaultValue<CCoeEnv*>::Reset();
+    
+    delete GlobalCPhoneCenRepProxy;
+    GlobalCPhoneCenRepProxy = NULL;
+
+    delete GlobalHBufC;
+    GlobalHBufC = NULL;
+    delete iCPhoneMainResourceResolverMock;
+    iCPhoneMainResourceResolverMock = NULL;
+    SmcDefaultValue<CPhoneMainResourceResolver*>::Reset();
+    
+    iMockContext->Reset();
+    }
+    
+void ut_cphonestateincall::T_ConstructionL(  )
+    {
+    // SetupL and Teardown does the test.
+    }
+
+void ut_cphonestateincall::T_NumberAcqCmdVideoCall(  )
+    {
+    _LIT( KPhoneNumber, "12345" );
+    HBufC* phoneNumber = KPhoneNumber().AllocL();
+    
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::PhoneNumberFromEntryLC" ).
+                  ReturnsL(phoneNumber);
+    
+    iStateInCall->HandleCommandL( EPhoneNumberAcqCmdVideoCall );
+    
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+void ut_cphonestateincall::T_HandleStoppedDTMFL(  )
+    {         
+    iMockContext->ExpectCallL( "CPEEngineInfoImpl::DtmfString" ).
+                      ReturnsL(KNullDesC);
+    
+    iMockContext->ExpectCallL( "CPhoneMainResourceResolver::ResolveResourceID" ).
+               WithL( EPhoneDtmfNumberQuery ).
+               ReturnsL(R_PHONEUI_SEND_DTMF_QUERY);
+                
+    iMockContext->ExpectCallL( "CPhoneMainResourceResolver::ResolveResourceID" ).
+                   WithL( EPhoneSendDtmfEmptyEditBoxCBA ).
+                   ReturnsL(R_PHONEUI_SEND_DTMF_EMPTY_EDIT_BOX_CBA);
+   
+    iMockContext->ExpectCallL( "CPhoneMainResourceResolver::ResolveResourceID" ).
+                   WithL( EPhoneSendDtmfNormalEditBoxCBA ).
+                   ReturnsL(R_PHONEUI_SEND_DTMF_NORMAL_EDIT_BOX_CBA);
+            
+    iStateInCall->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageStoppedDTMF, -1 );
+    
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+    ut_cphonestateincall,
+    "Add test suite description here.",
+    "UNIT" )
+
+EUNIT_TEST(
+    "Test0",
+    "T_ConstructionL",
+    "Test0",
+    "FUNCTIONALITY",
+    SetupL, T_ConstructionL, Teardown)
+
+EUNIT_TEST(
+    "Test1",
+    "EPhoneNumberAcqCmdVideoCall",
+    "Test1",
+    "FUNCTIONALITY",
+    SetupL, T_NumberAcqCmdVideoCall, Teardown)
+    
+EUNIT_TEST(
+    "Test2",
+    "T_HandleStoppedDTMFL",
+    "Test2",
+    "FUNCTIONALITY",
+    SetupL, T_HandleStoppedDTMFL, Teardown)
+    
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestateincall/Src/ut_cphonestateincall.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,78 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __UT_CPHONESTATEINCALL_H__
+#define __UT_CPHONESTATEINCALL_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+
+
+
+// FORWARD DECLARATIONS
+class CPhoneViewCommandHandleMock;
+class CCoeEnv;
+class CPhoneStateMachineGSM;
+class CPhoneStateInCall;
+class CPEEngineInfo;
+class CPhoneMainResourceResolverMock;
+class CSmcMockContext;
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( ut_cphonestateincall )
+	: public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static ut_cphonestateincall* NewL();
+        static ut_cphonestateincall* NewLC();
+        ~ut_cphonestateincall();
+
+    private: // Constructors
+
+        ut_cphonestateincall();
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+         void Teardown();
+        
+         void T_ConstructionL();
+         void T_NumberAcqCmdVideoCall();
+         void T_HandleStoppedDTMFL();
+        
+
+    private: // Data
+
+        CPhoneViewCommandHandleMock* iViewCommandHandle;
+        CCoeEnv* iCoeEnvMock;
+        CPhoneStateMachineGSM* iStateMachine;
+        CPhoneStateInCall* iStateInCall;
+        CPEEngineInfo* iEngineInfoMock;
+        CSmcMockContext* iMockContext;
+        CPhoneMainResourceResolverMock* iCPhoneMainResourceResolverMock;
+
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __UT_CPHONESTATEINCALL_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestateincall/Src/ut_cphonestateincall_DllMain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphonestateincall.h"
+#include <CEUnitTestSuite.h>
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return ut_cphonestateincall::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestateincall/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+PRJ_PLATFORMS
+    DEFAULT
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+
+PRJ_TESTMMPFILES
+ut_cphonestateincall.mmp
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestateincall/group/ut_cphonestateincall.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,129 @@
+/*
+* Copyright (c) 2005-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:  
+*
+*/
+
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+#include <digia/eunit/eunitcaps.h>
+ 
+TARGET          ut_cphonestateincall.dll
+TARGETTYPE      dll
+UID             0x1000af5a 0x01700000
+
+CAPABILITY      EUNIT_CAPS
+VENDORID        VID_DEFAULT
+
+SOURCEPATH              ../Src
+SOURCE                  ut_cphonestateincall.cpp
+
+// Sources required by the test suite
+SOURCEPATH              ../Src
+SOURCE                  ut_cphonestateincall_DllMain.cpp
+
+SOURCEPATH              ../../../../../phoneengine/engineinfo/src
+SOURCE                  cpeengineinfo.cpp
+
+// Code under test
+SOURCEPATH              ../../../src
+SOURCE                  CPhoneStateInCall.cpp
+SOURCE                  Cphonedtmfwaitchartimer.cpp
+
+SOURCEPATH              ../../../../internal/mocks/phoneuicontrol
+SOURCE                  mock_cphonestate.cpp
+SOURCE                  mock_cphonestatemachine.cpp
+
+SOURCEPATH              ../../../../../internal/mocks/phoneapp/phoneuicontrol
+SOURCE                  mock_cphonenumberentrymanager.cpp
+
+SOURCEPATH              ../../../../internal/mocks/phoneuistates
+SOURCE                  mock_cphonestatemachinegsm.cpp
+
+SOURCEPATH              ../../../../internal/mocks/phoneuiview
+SOURCE                  mock_cphoneviewcommandhandle.cpp
+
+SOURCEPATH              ../../../../../internal/mocks/phoneengine/engineinfo
+SOURCE                  mock_cpeengineinfoimpl.cpp
+
+SOURCEPATH              ../../../../internal/mocks/phoneuiutils
+SOURCE                  mock_cphonemainresourceresolver.cpp
+SOURCE                  mock_cphonelogger.cpp
+SOURCE                  mock_cphonepubsubproxy.cpp
+SOURCE                  mock_cphonecenrepproxy.cpp
+SOURCE                  mock_cphonekeys.cpp
+SOURCE                  mock_tphonecmdparamboolean.cpp
+SOURCE                  mock_tphonecmdparaminteger.cpp
+SOURCE                  mock_tphonecommandparam.cpp
+SOURCE                  mock_tphonecmdparamappinfo.cpp
+
+SOURCEPATH              ../../../../internal/mocks/
+SOURCE                  mock_featmgr.cpp
+SOURCE                  mock_StringLoader.cpp
+SOURCE                  mock_basched.cpp
+
+SOURCEPATH              ../../../../internal/mocks/phonemediatorcenter
+SOURCE                  mock_cphoneterminateallconnectionscommand.cpp
+SOURCE                  mock_cphonemediatorfactory.cpp
+SOURCE                  mock_cphonemediatorsender.cpp
+SOURCE                  mock_cphonereleasecommand.cpp
+SOURCE                  mock_cphonecontinueemergencycallcommand.cpp
+
+SOURCEPATH              ../../../../../internal/mocks/eikmenupane
+SOURCE                  mock_eikmenup.cpp
+SOURCE                  mock_eikmenub.cpp
+SOURCE                  mock_coecntrl.cpp
+SOURCE                  mock_eikbctrl.cpp
+SOURCE                  mock_coemop.cpp
+SOURCE                  mock_coeinput.cpp
+SOURCE                  mock_gulbordr.cpp
+SOURCE                  mock_akncontrol.cpp
+SOURCE                  mock_eikcmobs.cpp
+SOURCE                  mock_coemain.cpp
+SOURCE                  mock_eikenv.cpp
+SOURCE                  mock_eikvcurs.cpp
+
+USERINCLUDE             ../../../../../phoneengine/engineinfo/inc
+USERINCLUDE             ../../../../phoneuiview/inc
+USERINCLUDE             ../../../../phoneuicontrol/inc
+USERINCLUDE             ../../../../phoneuistates/inc
+USERINCLUDE             ../../../../phoneuiutils/inc
+USERINCLUDE             ../../../../phoneui2/srcdata
+USERINCLUDE             ../../../../phonemediatorcenter/inc
+USERINCLUDE             ../../../../phoneuiqtviewadapter/inc
+USERINCLUDE             ../../../../internal/mocks/phoneuiview
+
+APP_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE           /epoc32/include/platform/mw/graphics/uigraphicsutils/
+SYSTEMINCLUDE           ../../../inc                 // phoneuicontrol inc
+SYSTEMINCLUDE           /epoc32/include/Digia/EUnit
+SYSTEMINCLUDE           ../../../../../inc           // phone internal headers
+
+LIBRARY                 phoneuiutils.lib
+LIBRARY                 EUnit.lib
+LIBRARY                 EUnitUtil.lib
+LIBRARY                 euser.lib
+LIBRARY                 CentralRepository.lib
+LIBRARY                 symbianmock.lib
+LIBRARY                 efsrv.lib
+LIBRARY                 gdi.lib          // TZoomFactor
+LIBRARY                 ws32.lib         // RWsSession
+LIBRARY                 apgrfx.lib
+LIBRARY                 fbscli.lib
+LIBRARY                 ConnMon.lib // RConnectionMonitor
+LIBRARY                 sendui.lib // CMessageData
+LIBRARY                 charconv.lib
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestateincoming/bwins/ut_cphonestateincomingu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestateincoming/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+PRJ_PLATFORMS
+     WINSCW
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+PRJ_TESTMMPFILES
+ut_cphonestateincoming.mmp
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestateincoming/group/ut_cphonestateincoming.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,136 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*
+*/
+
+#include <platform_paths.hrh>
+#include <digia/eunit/eunitcaps.h>
+
+TARGET          ut_cphonestateincoming.dll
+TARGETTYPE      dll
+UID             0x1000af5a 0x01700000
+
+CAPABILITY      EUNIT_CAPS
+VENDORID        VID_DEFAULT
+
+SOURCEPATH      ../src
+SOURCE          ut_cphonestateincoming.cpp
+SOURCE          ut_cphonestateincoming_dllmain.cpp
+
+SOURCEPATH      ../../../../../internal/mocks/phoneengine/engineinfo
+SOURCE          mock_cpeengineinfoimpl.cpp
+ 
+
+// Code under test
+SOURCEPATH      ../../../src
+SOURCE          cphonestateincoming.cpp
+
+// Mocks
+SOURCEPATH      ../../../../internal/mocks/phoneuiutils
+SOURCE          mock_cphonemainresourceresolver.cpp
+SOURCE          mock_cphonelogger.cpp
+SOURCE          mock_cphonestorage.cpp
+SOURCE          mock_cphonepubsubproxy.cpp
+SOURCE          mock_cphonecenrepproxy.cpp
+SOURCE          mock_cphonekeys.cpp
+SOURCE          mock_tphonecmdparamboolean.cpp
+SOURCE          mock_tphonecmdparaminteger.cpp
+SOURCE          mock_tphonecommandparam.cpp
+SOURCE          mock_tphonecmdparamsfidata.cpp
+SOURCE          mock_tphonecmdparamdynmenu.cpp
+SOURCE          mock_tphonecmdparamcallstatedata.cpp
+
+SOURCEPATH      ../../../../../internal/mocks/phoneapp/phoneuicontrol
+SOURCE          mock_cphonenumberentrymanager.cpp
+SOURCE          mock_cphoneuicommandmanager.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuistates
+SOURCE          mock_cphonestatemachinegsm.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuiview
+SOURCE          mock_cphoneviewcommandhandle.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuivoipextension
+SOURCE          mock_cphonecustomizationvoip.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuicontrol
+SOURCE          mock_cphonestate.cpp
+SOURCE          mock_cphonestatemachine.cpp
+
+SOURCEPATH      ../../../../../internal/mocks/eikmenupane
+SOURCE          mock_coemain.cpp
+SOURCE          mock_coemop.cpp
+SOURCE          mock_eikmenup.cpp
+SOURCE          mock_eikbctrl.cpp
+SOURCE          mock_coecntrl.cpp
+SOURCE          mock_gulbordr.cpp
+SOURCE          mock_coeinput.cpp
+SOURCE          mock_akncontrol.cpp
+
+SOURCEPATH      ../../../../internal/mocks/
+SOURCE          mock_featmgr.cpp
+SOURCE          mock_stringloader.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phonemediatorcenter
+SOURCE          mock_cphonemediatorfactory.cpp
+SOURCE          mock_cphonemediatorsender.cpp
+SOURCE          mock_cphonereleasecommand.cpp
+
+SOURCEPATH      ../../../../../phoneengine/engineinfo/src
+SOURCE          cpeengineinfo.cpp
+
+USERINCLUDE     ../../../../../phoneengine/engineinfo/inc
+
+USERINCLUDE     ../src
+
+// User include folders required by the tested code
+USERINCLUDE     ../../../inc        // phoneuicontrol inc
+USERINCLUDE     ../../../../phoneuiview/inc
+USERINCLUDE     ../../../../phoneuiutils/inc
+USERINCLUDE     ../../../../phoneui2/srcdata
+USERINCLUDE     ../../../../phoneuistates/inc
+USERINCLUDE     ../../../../phoneuivoipextension/inc
+USERINCLUDE     ../../../../phonemediatorcenter/inc
+USERINCLUDE     ../../../../../phoneengine/phonemodel/inc
+USERINCLUDE     ../../../../phoneuiqtviewadapter/inc
+USERINCLUDE     ../../../../internal/mocks/phoneuiview
+
+APP_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE   /epoc32/include/platform/mw/graphics/uigraphicsutils/
+SYSTEMINCLUDE   /epoc32/include/Digia/EUnit
+SYSTEMINCLUDE   ../../../../../inc          // phone internal headers
+
+LIBRARY         phoneuiutils.lib
+LIBRARY         EUnit.lib
+LIBRARY         EUnitUtil.lib
+LIBRARY         euser.lib
+LIBRARY         efsrv.lib 
+LIBRARY         ws32.lib 
+LIBRARY         fbscli.lib
+LIBRARY         ConnMon.lib        // RConnectionMonitor
+LIBRARY         RemConCoreApi.lib // RemCon
+LIBRARY         RemConInterfaceBase.lib
+LIBRARY         PhoneCmdHandler.lib
+LIBRARY         eikcore.lib        // CCharFormatLayer, CParaFormatLayer
+LIBRARY         sendui.lib         // CMessageData
+LIBRARY         ProfileEng.lib
+LIBRARY         SSSettings.lib
+LIBRARY         bafl.lib           // Descriptor arrays
+LIBRARY         apgrfx.lib
+LIBRARY         serviceprovidersettings.lib
+LIBRARY         starterclient.lib
+LIBRARY         gdi.lib
+LIBRARY         symbianmock.lib
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestateincoming/src/ut_cphonestateincoming.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,338 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "UT_CPhoneStateIncoming.h"
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+#include <EIKMENUP.H>
+#include <featmgr.h>
+#include "cphonemainresourceresolver.h"
+#include "mock_cphoneviewcommandhandle.h"
+#include "cphonestatemachinegsm.h"
+#include "cphonecustomizationvoip.h"
+#include "cpeengineinfo.h"
+
+#include "phoneappcommands.hrh"
+
+#include <csmcmockcontext.h>
+#include <msmcmockspecbuilder.h>
+
+// Allow testing of protected methods
+#define protected public
+#include "cphonestateincoming.h"
+// needed for mocking CPhoneMainResourceResolver::Instance()
+class CPhoneMainResourceResolverMock : public CPhoneMainResourceResolver
+    {
+    
+    };
+// -----------------------------------------------------------------------------
+// operator for comparing parameter expected and result value.   
+// -
+// -----------------------------------------------------------------------------
+//
+TBool operator==(const TPhoneCommandParam& param1, const TPhoneCommandParam& param2 )
+    {
+    TBool ret( EFalse );
+    if ( param1.ParamId() == param2.ParamId() )
+        {
+        /*if ( TPhoneCommandParam::EPhoneParamIdCallHeaderData == param1.ParamId() )
+            {
+            const TPhoneCmdParamCallHeaderData &value1 = static_cast<const TPhoneCmdParamCallHeaderData&> (param1);
+            const TPhoneCmdParamCallHeaderData &value2 = static_cast<const TPhoneCmdParamCallHeaderData&> (param2);
+            if ( value1.CallState() == value2.CallState() )
+                {
+                ret = ETrue;
+                }
+            }
+        else  
+            {*/
+            ret = ETrue;  // just paramiId compared
+            //}
+        }
+    return ret;
+    }
+
+// - Construction -----------------------------------------------------------
+
+UT_CPhoneStateIncoming* UT_CPhoneStateIncoming::NewL()
+    {
+    UT_CPhoneStateIncoming* self = UT_CPhoneStateIncoming::NewLC();
+    CleanupStack::Pop();
+    return self;
+    }
+
+UT_CPhoneStateIncoming* UT_CPhoneStateIncoming::NewLC()
+    {
+    UT_CPhoneStateIncoming* self = new( ELeave ) UT_CPhoneStateIncoming();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+UT_CPhoneStateIncoming::~UT_CPhoneStateIncoming()
+    {
+    CSmcMockContext::Release();
+    }
+
+UT_CPhoneStateIncoming::UT_CPhoneStateIncoming()
+    {
+    }
+
+void UT_CPhoneStateIncoming::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    iMockContext = CSmcMockContext::InstanceL();
+    }
+
+// - Test methods -----------------------------------------------------------
+
+void UT_CPhoneStateIncoming::SetupL(  )
+    {
+    iMockContext->InitializeL();
+    
+    iCPhoneMainResourceResolverMock = new ( ELeave ) CPhoneMainResourceResolverMock();
+    SmcDefaultValue<CPhoneMainResourceResolver*>::SetL( iCPhoneMainResourceResolverMock );
+    
+    iEngineInfoMock = CPEEngineInfo::NewL();
+    SmcDefaultValue<MPEEngineInfo*>::SetL( iEngineInfoMock );
+    
+    iViewCmdHandleMock = new CPhoneViewCommandHandleMock();
+    iStateMachineMock = CPhoneStateMachineGSM::NewL( iViewCmdHandleMock );
+    iCustomizationMock = 
+        CPhoneCustomizationVoip::NewL( *iStateMachineMock, *iViewCmdHandleMock );
+       
+    iCPhoneStateIncoming = CPhoneStateIncoming::NewL(
+        iStateMachineMock, iViewCmdHandleMock, iCustomizationMock );
+    }
+    
+
+void UT_CPhoneStateIncoming::Teardown(  )
+    {
+    delete iCPhoneMainResourceResolverMock;
+    iCPhoneMainResourceResolverMock = NULL;
+    SmcDefaultValue<CPhoneMainResourceResolver*>::Reset();
+
+    delete iEngineInfoMock;
+    iEngineInfoMock = NULL;
+    
+    delete iCPhoneStateIncoming;
+    iCPhoneStateIncoming = NULL;
+    
+    delete iViewCmdHandleMock;
+    iViewCmdHandleMock = NULL;
+        
+    delete iStateMachineMock;
+    iStateMachineMock = NULL;
+    
+    delete iCustomizationMock;
+    iCustomizationMock = NULL;
+       
+    iMockContext->Reset();
+    }
+    
+void UT_CPhoneStateIncoming::T_HandleKeyMessageL(  )
+    {
+    _LIT( KPhoneNumber, "12" );
+    _LIT( KPhoneNumber2, "123" );
+    HBufC* phoneNumber = KPhoneNumber().AllocLC();
+   
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::IsNumberEntryVisibleL" ).
+       ReturnsL( ETrue );
+    
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::PhoneNumberFromEntryLC" ).
+       ReturnsL( phoneNumber );
+
+    iMockContext->ExpectCallL( "CPEEngineInfoImpl::SetPhoneNumber" );
+
+    iMockContext->ExpectCallL( "CPhoneStateMachine::SendPhoneEngineMessage").
+        WithL( MPEPhoneModel::EPEMessagePhoneNumberEdited );
+    
+    iMockContext->ExpectCallL( "CPEEngineInfoImpl::PhoneNumberIsServiceCode" ).
+		ReturnsL( EFalse );
+    
+    iMockContext->ExpectCallL( "CPhoneStateMachine::SendPhoneEngineMessage").
+        WithL( MPEPhoneModel::EPEMessageCheckEmergencyNumber );
+       
+    iCPhoneStateIncoming->HandleKeyMessageL(
+       MPhoneKeyEvents::EPhoneKeyShortPress, EKeyYes );
+
+    HBufC* phoneNumber2 = KPhoneNumber2().AllocLC();
+    
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::IsNumberEntryVisibleL" ).
+        ReturnsL( ETrue );
+    
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::PhoneNumberFromEntryLC" ).
+        ReturnsL( phoneNumber2 );
+    
+    iMockContext->ExpectCallL( "CPEEngineInfoImpl::SetPhoneNumber" );
+
+    iMockContext->ExpectCallL( "CPhoneStateMachine::SendPhoneEngineMessage").
+        WithL( MPEPhoneModel::EPEMessagePhoneNumberEdited );
+    
+    iMockContext->ExpectCallL( "CPhoneStateMachine::SendPhoneEngineMessage").
+        WithL( MPEPhoneModel::EPEMessageCheckEmergencyNumber );
+    
+    iCPhoneStateIncoming->HandleKeyMessageL(
+        MPhoneKeyEvents::EPhoneKeyShortPress, EKeyYes );
+    
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+
+    CleanupStack::Pop( phoneNumber2 );
+    CleanupStack::Pop( phoneNumber );
+    }
+
+void UT_CPhoneStateIncoming::T_HandleCommandL(  )
+    {
+    _LIT( KPhoneNumber, "123" );
+    HBufC* phoneNumber = KPhoneNumber().AllocLC();
+    
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::PhoneNumberFromEntryLC" ).
+        ReturnsL( phoneNumber );
+    
+    iMockContext->ExpectCallL( "CPEEngineInfoImpl::SetPhoneNumber" );
+
+    iMockContext->ExpectCallL( "CPhoneStateMachine::SendPhoneEngineMessage").
+        WithL( MPEPhoneModel::EPEMessagePhoneNumberEdited );
+    
+    iMockContext->ExpectCallL( "CPhoneStateMachine::SendPhoneEngineMessage").
+        WithL( MPEPhoneModel::EPEMessageCheckEmergencyNumber );
+    
+    iCPhoneStateIncoming->HandleCommandL(EPhoneNumberAcqCmdSendCommand );
+    
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+
+    CleanupStack::Pop( phoneNumber );
+    }
+    
+void UT_CPhoneStateIncoming::T_HandleAudioPlayStoppedL()
+    {
+    iCPhoneStateIncoming->HandleAudioPlayStoppedL();
+    }
+    
+void UT_CPhoneStateIncoming::T_HandleConnectedL()
+    {    
+    const TInt callId = 1;
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+        WithL( EPhoneViewStopRingTone );
+     
+    // HandleConnectedL() is tested through HandlePhoneEngineMessageL()
+    iCPhoneStateIncoming->HandlePhoneEngineMessageL(
+            MEngineMonitor::EPEMessageConnected, callId );
+    
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+void UT_CPhoneStateIncoming::T_HandleSendKeyAnswerL()
+	{
+    _LIT( KPhoneNumber, "p1" );
+    HBufC* phoneNumber = KPhoneNumber().AllocLC();    
+    
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::PhoneNumberFromEntryLC" ).
+        ReturnsL( phoneNumber );
+
+    iMockContext->ExpectCallL( "CPEEngineInfoImpl::SetPhoneNumber" );
+
+    iMockContext->ExpectCallL( "CPhoneStateMachine::SendPhoneEngineMessage").
+        WithL( MPEPhoneModel::EPEMessagePhoneNumberEdited );
+    
+    iMockContext->ExpectCallL( "CPEEngineInfoImpl::PhoneNumberIsServiceCode" ).
+		ReturnsL( EFalse );
+    
+    iMockContext->ExpectCallL( "CPhoneStateMachine::SendPhoneEngineMessage").
+        WithL( MPEPhoneModel::EPEMessageCheckEmergencyNumber );
+
+    
+    iCPhoneStateIncoming->HandleCommandL( EPhoneNumberAcqCmdSendCommand );
+    
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    CleanupStack::Pop( phoneNumber );
+	}
+
+void UT_CPhoneStateIncoming::T_HandleSendKeyRejectL()
+	{
+    _LIT( KPhoneNumber, "0" );
+    HBufC* phoneNumber = KPhoneNumber().AllocLC();    
+    
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::PhoneNumberFromEntryLC" ).
+        ReturnsL( phoneNumber );
+
+    iMockContext->ExpectCallL( "CPEEngineInfoImpl::SetPhoneNumber" );
+
+    iMockContext->ExpectCallL( "CPhoneStateMachine::SendPhoneEngineMessage").
+        WithL( MPEPhoneModel::EPEMessagePhoneNumberEdited );
+    
+    iMockContext->ExpectCallL( "CPEEngineInfoImpl::PhoneNumberIsServiceCode" ).
+		ReturnsL( ETrue );
+
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::CallFromNumberEntryL" );
+    
+    iCPhoneStateIncoming->HandleCommandL( EPhoneNumberAcqCmdSendCommand );
+    
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    CleanupStack::Pop( phoneNumber );
+	}
+
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+    UT_CPhoneStateIncoming,
+    "Add test suite description here.",
+    "UNIT" )
+
+EUNIT_TEST(
+    "HandleKeyMessageL",
+    "CPhoneStateIncoming",
+    "HandleKeyMessageL",
+    "FUNCTIONALITY",
+    SetupL, T_HandleKeyMessageL, Teardown)
+  
+EUNIT_TEST(
+    "HandleCommandL",
+    "CPhoneStateIncoming",
+    "HanddleCommandL",
+    "FUNCTIONALITY",
+    SetupL, T_HandleCommandL, Teardown)
+
+EUNIT_TEST(
+    "HandleAudioPlayStoppedL",
+    "CPhoneStateIncoming",
+    "HandleAudioPlayStoppedL",
+    "FUNCTIONALITY",
+    SetupL, T_HandleAudioPlayStoppedL, Teardown)
+ 
+EUNIT_TEST(
+    "HandleConnectedL",
+    "CPhoneStateIncoming",
+    "HandleConnectedL",
+    "FUNCTIONALITY",
+    SetupL, T_HandleConnectedL, Teardown)
+
+EUNIT_TEST(
+    "HandleSendKeyAnswerL",
+    "CPhoneStateIncoming",
+    "HandleSendKeyAnswerL",
+    "FUNCTIONALITY",
+    SetupL, T_HandleSendKeyAnswerL, Teardown)
+
+EUNIT_TEST(
+    "HandleSendKeyRejectL",
+    "CPhoneStateIncoming",
+    "HandleSendKeyRejectL",
+    "FUNCTIONALITY",
+    SetupL, T_HandleSendKeyRejectL, Teardown)
+
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestateincoming/src/ut_cphonestateincoming.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,79 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __UT_CPhoneStateIncoming_H__
+#define __UT_CPhoneStateIncoming_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+#include "TPhoneCommandParam.h"
+
+// FORWARD DECLARATIONS
+class CPhoneViewCommandHandleMock;
+class CPhoneStateIncoming;
+class CPhoneMainResourceResolverMock;
+class CSmcMockContext;
+class MPhoneViewCommandHandle;
+class CPhoneCustomizationVoip;
+class MPhoneStateMachine;
+class CPEEngineInfo;
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( UT_CPhoneStateIncoming )
+	: public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static UT_CPhoneStateIncoming* NewL();
+        static UT_CPhoneStateIncoming* NewLC();
+        ~UT_CPhoneStateIncoming();
+
+    private: // Constructors
+
+        UT_CPhoneStateIncoming();
+        void ConstructL();
+             
+    private: // New methods
+
+         void SetupL();
+         void Teardown();
+        
+         void T_HandleKeyMessageL();
+         void T_HandleCommandL(); 
+         void T_HandleConnectedL();
+         void T_HandleAudioPlayStoppedL();
+         void T_HandleSendKeyAnswerL();
+         void T_HandleSendKeyRejectL();
+         
+    private: // Data
+
+        CPhoneStateIncoming* iCPhoneStateIncoming; 
+        MPhoneStateMachine* iStateMachineMock;
+        CPhoneViewCommandHandleMock* iViewCmdHandleMock;
+        CPhoneCustomizationVoip* iCustomizationMock;
+        CSmcMockContext* iMockContext;
+        CPhoneMainResourceResolverMock* iCPhoneMainResourceResolverMock;   
+        CPEEngineInfo* iEngineInfoMock;
+        
+        EUNIT_DECLARE_TEST_TABLE;
+    };
+
+#endif      //  __UT_CPhoneStateIncoming_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestateincoming/src/ut_cphonestateincoming_dllmain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "UT_CPhoneStateIncoming.h"
+#include <CEUnitTestSuite.h>
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return UT_CPhoneStateIncoming::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestatestartup/bwins/ut_cphonestatestartupu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestatestartup/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+PRJ_PLATFORMS
+    WINSCW
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+ 
+PRJ_TESTMMPFILES
+ut_cphonestatestartup.mmp
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestatestartup/group/ut_cphonestatestartup.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,99 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*
+*/
+
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+#include <digia/eunit/eunitcaps.h>
+
+TARGET          ut_cphonestatestartup.dll
+TARGETTYPE      dll
+UID             0x1000af5a 0x01700000
+
+CAPABILITY      EUNIT_CAPS
+VENDORID        VID_DEFAULT
+
+SOURCEPATH      ../../../../../internal/mocks/phoneengine/engineinfo
+SOURCE          mock_cpeengineinfoimpl.cpp
+ 
+SOURCEPATH      ../../../../internal/mocks/phoneuicontrol
+SOURCE          mock_cphonestate.cpp
+SOURCE          mock_cphonestatemachine.cpp
+SOURCE          mock_cphonestateincall.cpp
+SOURCE          mock_cphonedtmfwaitchartimer.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuistates
+SOURCE         mock_cphonegsmincall.cpp
+SOURCE         mock_cphonestatemachinegsm.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuiutils
+SOURCE          mock_cphonelogger.cpp
+SOURCE          mock_cphonepubsubproxy.cpp
+SOURCE          mock_cphonemainresourceresolver.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuiview
+SOURCE          mock_cphoneviewcommandhandle.cpp
+
+SOURCEPATH      ../../../../../internal/mocks/eikmenupane
+SOURCE          mock_coemain.cpp
+SOURCE          mock_coecntrl.cpp
+
+SOURCEPATH      ../../../../internal/mocks/
+SOURCE          mock_featmgr.cpp
+SOURCE          mock_StringLoader.cpp
+
+SOURCEPATH      ../src
+SOURCE          ut_cphonestatestartup.cpp
+
+SOURCEPATH      ../../../src     // phoneuicontrol src
+SOURCE          cphonestatestartup.cpp
+
+SOURCEPATH      ../../../../../phoneengine/engineinfo/src
+SOURCE          cpeengineinfo.cpp
+
+// Sources required by the test suite
+SOURCEPATH      ../src
+SOURCE          ut_cphonestatestartup_dllmain.cpp
+
+USERINCLUDE     ../../../../../phoneengine/engineinfo/inc
+USERINCLUDE     ../../../../phoneuiview/inc
+USERINCLUDE     ../../../../phoneuicontrol/inc
+USERINCLUDE     ../../../../phoneuistates/inc
+USERINCLUDE     ../../../../phonemediatorcenter/inc
+USERINCLUDE     ../../../../phoneuiutils/inc
+USERINCLUDE     ../../../../phoneui2/srcdata
+USERINCLUDE     ../../../../phoneuiqtviewadapter/inc
+USERINCLUDE     ../../../../internal/mocks/phoneuiview
+
+APP_LAYER_SYSTEMINCLUDE
+
+SYSTEMINCLUDE   /epoc32/include/Digia/EUnit
+SYSTEMINCLUDE	../../../../../inc       // phone inc
+
+LIBRARY         EUnit.lib
+LIBRARY         EUnitUtil.lib
+LIBRARY         euser.lib
+LIBRARY         avkon.lib       // AknTextUtils
+LIBRARY         cone.lib
+LIBRARY         phoneuiutils.lib
+LIBRARY         apgrfx.lib
+LIBRARY         symbianmock.lib
+LIBRARY         efsrv.lib
+LIBRARY         ws32.lib        // RWsSession
+LIBRARY         gdi.lib         // TZoomFactor
+LIBRARY         bafl.lib        // CBaActiveScheduler
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestatestartup/src/ut_cphonestatestartup.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,214 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <csmcmockcontext.h>
+#include <smcdefaultvalue.h>
+#include <msmcmockspecbuilder.h>
+#include <smcobjecttotypemapper.h>
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+#include <featmgr.h>
+
+#include "cphonestatemachinegsm.h"
+#include "ut_cphonestatestartup.h"
+#include "cphonestatestartup.h"
+#include "cphonemainresourceresolver.h"
+#include "pevirtualengine.h" 
+#include "mphonekeyevents.h"
+#include "tphonecommandparam.h"
+#include "tphonecmdparamcallheaderdata.h"
+#include "tphonecmdparamaudiooutput.h"
+#include "cpeengineinfo.h"
+#include "mock_cphoneviewcommandhandle.h"
+
+//test
+#include "TPhoneCmdParamInteger.h"
+#include "tphonecmdparamboolean.h"
+
+// needed for mocking CPhoneMainResourceResolver::Instance()
+class CPhoneMainResourceResolverMock : public CPhoneMainResourceResolver
+    {
+    };
+
+// -----------------------------------------------------------------------------
+// operator for comparing parameter expected and result value.   
+// -
+// -----------------------------------------------------------------------------
+//
+TBool operator==(const TPhoneCommandParam& param1, const TPhoneCommandParam& param2 )
+    {
+    TBool ret( EFalse );
+    
+    if ( param1.ParamId() == param2.ParamId() )
+        {
+        if ( TPhoneCommandParam::EPhoneParamIdBoolean == param1.ParamId() )
+            {
+            const TPhoneCmdParamBoolean  &value1 = static_cast<const TPhoneCmdParamBoolean&> (param1);
+            const TPhoneCmdParamBoolean  &value2 = static_cast<const TPhoneCmdParamBoolean&> (param2);
+            if (  value1.Boolean() == value2.Boolean() )
+                {
+                ret = ETrue;
+                }
+            }
+        else if ( TPhoneCommandParam::EPhoneParamIdCallHeaderData == param1.ParamId() )
+            {
+            const TPhoneCmdParamCallHeaderData  &value1 = static_cast<const TPhoneCmdParamCallHeaderData&> (param1);
+            const TPhoneCmdParamCallHeaderData  &value2 = static_cast<const TPhoneCmdParamCallHeaderData&> (param2);
+            if ( value1.CallState() == value2.CallState() )
+                {
+                ret = ETrue;
+                }
+            }
+        else if ( TPhoneCommandParam::EPhoneParamIdInteger == param1.ParamId() )
+            {
+            const TPhoneCmdParamInteger  &value1 = static_cast<const TPhoneCmdParamInteger&> (param1);
+            const TPhoneCmdParamInteger  &value2 = static_cast<const TPhoneCmdParamInteger&> (param2);
+            if ( value1.Integer() == value2.Integer() )
+                {
+                ret = ETrue;
+                }
+            }
+        else if ( TPhoneCommandParam::EPhoneParamIdAudioOutput == param1.ParamId() )
+            {
+            const TPhoneCmdParamAudioOutput  &value1 = static_cast<const TPhoneCmdParamAudioOutput&> (param1);
+            const TPhoneCmdParamAudioOutput  &value2 = static_cast<const TPhoneCmdParamAudioOutput&> (param2);
+            if ( value1.AudioOutput() == value2.AudioOutput() )
+                {
+                ret = ETrue;
+                }
+            }
+        else  
+            {
+            ret = ETrue;  // just paramiId compared
+            }
+        }
+    return ret;
+    }
+
+// - Construction -----------------------------------------------------------
+ut_cphonestatestartup* ut_cphonestatestartup::NewL()
+    {
+    ut_cphonestatestartup* self = ut_cphonestatestartup::NewLC();
+    CleanupStack::Pop();
+    return self;
+    }
+	
+ut_cphonestatestartup* ut_cphonestatestartup::NewLC()
+    {
+    ut_cphonestatestartup* self = new( ELeave ) ut_cphonestatestartup();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+ut_cphonestatestartup::~ut_cphonestatestartup()
+    {
+    CSmcMockContext::Release();
+    }
+
+ut_cphonestatestartup::ut_cphonestatestartup()
+    {
+    }
+
+void ut_cphonestatestartup::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    iMockContext = CSmcMockContext::InstanceL();
+    }
+
+// - Test methods -----------------------------------------------------------
+
+
+
+void ut_cphonestatestartup::SetupL(  )
+    {
+    iMockContext->InitializeL();
+
+    iCPhoneMainResourceResolverMock = new ( ELeave ) CPhoneMainResourceResolverMock();
+          SmcDefaultValue<CPhoneMainResourceResolver*>::SetL( iCPhoneMainResourceResolverMock );
+    
+    iViewCmdHandleMock = new CPhoneViewCommandHandleMock();
+  
+    iStateMachineMock = CPhoneStateMachineGSM::NewL( iViewCmdHandleMock ); 
+  
+  	// Have to be here otherwise execution will stop to ASSERT_DEBUG when 
+	// construct the CPhoneStateStartup-object.
+    iEngineInfoMock = CPEEngineInfo::NewL();
+    SmcDefaultValue<MPEEngineInfo*>::SetL( iEngineInfoMock );
+    
+    iStateStartup  = CPhoneStateStartup::NewL(
+            iStateMachineMock, iViewCmdHandleMock, NULL );
+      
+    SmcDefaultValue<TPESimState>::SetL( EPESimStatusUninitialized );
+    SmcDefaultValue<const TPEAudioOutput&>::SetL( EPENotActive );
+        
+    }
+    
+
+void ut_cphonestatestartup::Teardown(  )
+    {
+    delete iViewCmdHandleMock;
+    iViewCmdHandleMock = NULL;
+    delete iStateStartup;
+    iStateStartup = NULL;
+    delete iStateMachineMock;
+    iStateMachineMock = NULL;
+    delete iEngineInfoMock;
+    iEngineInfoMock = NULL;
+    delete iCPhoneMainResourceResolverMock;
+    iCPhoneMainResourceResolverMock = NULL;
+    
+    SmcDefaultValue<TPESimState>::Reset();
+    SmcDefaultValue<const TPEAudioOutput&>::Reset();
+    
+    iMockContext->Reset();
+    }
+
+
+// -----------------------------------------------------------------------------
+// ut_cphonestatestartup::T_HandleDtmfKeyToneL
+// -check commands
+// -----------------------------------------------------------------------------
+// 
+void ut_cphonestatestartup::T_HandleDtmfKeyToneL()
+    {     
+    MPhoneState* stateStateStartup= iStateStartup; 
+    TKeyEvent keyEvent;
+    TEventCode eventCode;
+    iMockContext->ExpectCallL( "CPhoneState::HandleDtmfKeyToneL" ).
+        TimesL (0);
+     
+    stateStateStartup->HandleDtmfKeyToneL( keyEvent, eventCode );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+    ut_cphonestatestartup,
+    "Add test suite description here.",
+    "UNIT" )
+
+EUNIT_TEST(
+    "1- Handle Dtmf key tone method override",
+    "CPhoneStateStartup",
+    "Test1",
+    "FUNCTIONALITY",
+    SetupL, T_HandleDtmfKeyToneL, Teardown)
+    
+    
+EUNIT_END_TEST_TABLE
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestatestartup/src/ut_cphonestatestartup.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,78 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef __UT_CPHONESTATESTARTUP_H
+#define __UT_CPHONESTATESTARTUP_H
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+
+
+// FORWARD DECLARATIONS
+class CSmcMockContext;
+class CPhoneStateStartup;
+class CPhoneStateMachineGSM;
+class CPhoneViewCommandHandleMock;
+class CPhoneMainResourceResolverMock;
+class CPEEngineInfo;
+class MPhoneViewCommandHandle;
+class TPhoneCommandParam;
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+
+
+TBool operator==(const TPhoneCommandParam& param1, const TPhoneCommandParam& param2 ); 
+
+NONSHARABLE_CLASS( ut_cphonestatestartup )
+	: public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static ut_cphonestatestartup* NewL();
+        static ut_cphonestatestartup* NewLC();
+        ~ut_cphonestatestartup();
+
+    private: // Constructors
+
+        ut_cphonestatestartup();
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+         void Teardown();
+         void T_HandleDtmfKeyToneL ();
+         
+    private: // Data
+    
+         CPhoneViewCommandHandleMock* iViewCmdHandleMock;
+        CPhoneStateMachineGSM* iStateMachineMock;
+        CPhoneStateStartup* iStateStartup;
+        CSmcMockContext* iMockContext;
+        CPhoneMainResourceResolverMock* iCPhoneMainResourceResolverMock;
+        CPEEngineInfo* iEngineInfoMock;
+        
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __UT_CPHONESTATESTARTUP_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestatestartup/src/ut_cphonestatestartup_dllmain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <CEUnitTestSuite.h>
+#include "ut_cphonestatestartup.h"
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    { 
+    return ut_cphonestatestartup::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphoneuicommandmanager/Src/ut_cphoneuicommandmanager.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,231 @@
+
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <csmcmockcontext.h>
+#include <smcdefaultvalue.h>
+#include <msmcmockspecbuilder.h>
+#include <smcobjecttotypemapper.h>
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+
+#include <phoneui.rsg>
+
+#include "mock_cphoneviewcommandhandle.h"
+#include "cphonestatemachine.h"
+#include "ut_cphoneuicommandmanager.h"
+#include "CPhoneCenRepProxy.h"
+#include "cpeengineinfo.h"
+#include "phonerssbase.h"
+#include "CPhoneMainResourceResolver.h"
+
+#include <csmcmockcontext.h>
+#include <msmcmockspecbuilder.h>
+
+#include "telephonyvariant.hrh"
+#include "TPhoneCmdParamInteger.h"
+#include "TPhoneCmdParamBoolean.h"
+#include <startupdomainpskeys.h>
+#include <hwrmdomainpskeys.h>
+#include "tphonecmdparamcallstatedata.h"
+#include "phoneresourceids.h"
+
+CPhoneCenRepProxy* GlobalCPhoneCenRepProxy;
+TPEPhoneAudioRouteParameters routeParameters;
+
+// needed for mocking CPhoneMainResourceResolver::Instance()
+class CPhoneMainResourceResolverMock : public CPhoneMainResourceResolver
+    {
+    
+    };
+
+// Class to access protected constructor
+class CPhoneStateMachineMock : public CPhoneStateMachine
+    {
+public:
+    CPhoneStateMachineMock( MPhoneViewCommandHandle* aViewCommandHandle )
+        : CPhoneStateMachine( aViewCommandHandle )
+        {
+            
+        }
+    };
+
+//---------------------------------------------------------------------------
+
+//CONSTANS
+_LIT( KTestString, "test_string" );
+
+// - Construction -----------------------------------------------------------
+
+ut_cphoneuicommandmanager* ut_cphoneuicommandmanager::NewL()
+    {
+    ut_cphoneuicommandmanager* self = ut_cphoneuicommandmanager::NewLC();
+    CleanupStack::Pop();
+    return self;
+    }
+
+ut_cphoneuicommandmanager* ut_cphoneuicommandmanager::NewLC()
+    {
+    ut_cphoneuicommandmanager* self = new( ELeave ) ut_cphoneuicommandmanager();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+ut_cphoneuicommandmanager::~ut_cphoneuicommandmanager()
+    {
+    CSmcMockContext::Release();
+    }
+
+ut_cphoneuicommandmanager::ut_cphoneuicommandmanager()
+    {
+    }
+
+void ut_cphoneuicommandmanager::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    iMockContext = CSmcMockContext::InstanceL();
+    }
+
+// - Test methods -----------------------------------------------------------
+
+
+
+void ut_cphoneuicommandmanager::SetupL(  )
+    {    
+    iViewCmdHandleMock = new CPhoneViewCommandHandleMock();
+    iStateMachineMock = new (ELeave) CPhoneStateMachineMock( iViewCmdHandleMock );
+    iCustomization = NULL;
+    iPhoneStateMock = new (ELeave) CPhoneState(iStateMachineMock, iViewCmdHandleMock, iCustomization );
+    iCmdManager = CPhoneUiCommandManager::NewL(
+                iPhoneStateMock,
+                *iViewCmdHandleMock,
+                *iStateMachineMock );
+    
+    iCPhoneMainResourceResolverMock = new ( ELeave ) CPhoneMainResourceResolverMock();
+    SmcDefaultValue<CPhoneMainResourceResolver*>::SetL( iCPhoneMainResourceResolverMock );
+        
+    GlobalCPhoneCenRepProxy = NULL;      
+    
+    iEngineInfoMock = CPEEngineInfo::NewL();    
+    SmcDefaultValue<MPEEngineInfo*>::SetL( iEngineInfoMock );
+    
+    SmcDefaultValue<const TPESimState&>::SetL( EPESimUsable );
+    SmcDefaultValue<const TPEAudioOutput&>::SetL( EPENotActive );
+    SmcDefaultValue<const TPEPhoneAudioRouteParameters&>::SetL( routeParameters );
+    SmcDefaultValue<const TBool&>::SetL( EFalse );
+    }
+
+void ut_cphoneuicommandmanager::Teardown(  )
+    {
+    delete iCmdManager;
+    iCmdManager = NULL;
+    delete iPhoneStateMock;
+    iPhoneStateMock = NULL;
+    delete iViewCmdHandleMock;
+    iViewCmdHandleMock = NULL;
+    delete iStateMachineMock;
+    iStateMachineMock = NULL;
+    delete iCustomization;
+    iCustomization = NULL;
+    delete iCPhoneMainResourceResolverMock;
+    iCPhoneMainResourceResolverMock = NULL;
+    SmcDefaultValue<CPhoneMainResourceResolver*>::Reset();
+    iMockContext->Reset();
+    delete iEngineInfoMock;
+    iEngineInfoMock = NULL;
+    
+    SmcDefaultValue<MPEEngineInfo*>::Reset();
+    SmcDefaultValue<const TPESimState&>::Reset();
+    SmcDefaultValue<const TPEAudioOutput&>::Reset();
+    SmcDefaultValue<const TPEPhoneAudioRouteParameters&>::Reset();
+    SmcDefaultValue<const TBool&>::Reset();
+    }
+    
+void ut_cphoneuicommandmanager::T_CPhoneUiCommandManager__EmptyL(  )
+    {
+    //EMPTY CASE
+    }
+
+/**
+ *  Test name: T_UpdateUiCommands
+ *      
+ *  Use case: Client calls UpdateUiCommands check that SetButtonFlags/SetTouchButtons/SetToolBarButtons gets called. 
+ *  Motivation: 
+ */
+void ut_cphoneuicommandmanager::T_UpdateUiCommands(  )
+    {
+    /*expect call from SetButtonFlags*/
+    TPhoneCmdParamBoolean muteParam;
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommand" ).
+            WithL<TPhoneViewCommandId, TPhoneCommandParam&> ( EPhoneViewSetMuteFlag, muteParam ); 
+    
+    /*expect call from SetTouchButtons*/
+    TPhoneCmdParamBoolean booleanParam;
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommand" ).
+            WithL<TPhoneViewCommandId, TPhoneCommandParam&> ( EPhoneViewSetTouchPaneButtons, booleanParam ); 
+        
+    /*expect call from SetToolBarButtons*/
+    TPhoneCmdParamInteger integerParam;
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommand" ).
+           WithL<TPhoneViewCommandId, TPhoneCommandParam&> ( EPhoneViewUpdateCba, integerParam ); 
+    
+    iCmdManager->UpdateUiCommands();
+    
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+/**
+ *  Test name: T_UpdateUiCommands
+ *      
+ *  Use case: Client calls UpdateUiCommands check that SetButtonFlags/SetTouchButtons/SetToolBarButtons gets called. 
+ *  Motivation: 
+ */
+void ut_cphoneuicommandmanager::T_Set_Get_SoftRejectStatus(  )
+    {
+    iCmdManager->SetSoftRejectStatus(ETrue);
+    EUNIT_ASSERT_EQUALS( ETrue, iCmdManager->SoftRejectStatus() );
+    }
+
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+    ut_cphoneuicommandmanager,
+    "Add test suite description here.",
+    "UNIT" )
+
+EUNIT_TEST(
+    "1- ut_cphoneuicommandmanager",
+    "ut_cphoneuicommandmanager",
+    "1- Setup-teardown",
+    "FUNCTIONALITY",
+    SetupL, T_CPhoneUiCommandManager__EmptyL, Teardown)
+    
+EUNIT_TEST(
+    "2- ut_cphoneuicommandmanager",
+    "ut_cphoneuicommandmanager",
+    "2- T_UpdateUiCommands",
+    "FUNCTIONALITY",
+    SetupL, T_UpdateUiCommands, Teardown)
+    
+EUNIT_TEST(
+    "3- ut_cphoneuicommandmanager",
+    "ut_cphoneuicommandmanager",
+    "3- T_Set_Get_SoftRejectStatus",
+    "FUNCTIONALITY",
+    SetupL, T_Set_Get_SoftRejectStatus, Teardown)
+
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphoneuicommandmanager/Src/ut_cphoneuicommandmanager.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,82 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __UT_CPHONEUIMANAGER_H__
+#define __UT_CPHONEUIMANAGER_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+
+#include "cphoneuicommandmanager.h"
+#include "mphonecustomization.h"
+#include "cphonemainresourceresolver.h"
+#include "TPhoneCommandParam.h"
+#include "CPhoneState.h"
+
+// FORWARD DECLARATIONS
+class CPhoneViewCommandHandleMock;
+class CPhoneStateMachine;
+class CPhoneMainResourceResolverMock;
+class CSmcMockContext;
+class CPEEngineInfo;
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( ut_cphoneuicommandmanager )
+	: public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static ut_cphoneuicommandmanager* NewL();
+        static ut_cphoneuicommandmanager* NewLC();
+        ~ut_cphoneuicommandmanager();
+
+    private: // Constructors
+
+        ut_cphoneuicommandmanager();
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+         void Teardown();
+         
+    private: // Test Cases.
+        
+         void T_CPhoneUiCommandManager__EmptyL();
+         void T_UpdateUiCommands();
+         void T_Set_Get_SoftRejectStatus();
+        
+    private: // Data
+
+        CPhoneUiCommandManager* iCmdManager;
+        CPhoneViewCommandHandleMock* iViewCmdHandleMock;
+        CPhoneStateMachine* iStateMachineMock;
+        MPhoneCustomization* iCustomization;
+        TInt iCallId;
+        CSmcMockContext* iMockContext;
+        CPhoneMainResourceResolverMock* iCPhoneMainResourceResolverMock;
+        CPEEngineInfo* iEngineInfoMock;
+        CPhoneState* iPhoneStateMock;
+
+        EUNIT_DECLARE_TEST_TABLE;
+    };
+
+#endif      //  __UT_CPHONEUIMANAGER_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphoneuicommandmanager/Src/ut_cphoneuicommandmanager_dllmain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphoneuicommandmanager.h"
+#include <CEUnitTestSuite.h>
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return ut_cphoneuicommandmanager::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphoneuicommandmanager/bwins/ut_cphoneuicommandmanageru.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphoneuicommandmanager/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+PRJ_PLATFORMS
+    WINSCW
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+
+PRJ_TESTMMPFILES
+ut_cphoneuicommandmanager.mmp
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphoneuicommandmanager/group/ut_cphoneuicommandmanager.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,97 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*
+*/
+
+
+#include <data_caging_paths.hrh>
+#include <digia/eunit/eunitcaps.h>
+
+TARGET                  ut_cphoneuicommandmanager.dll
+TARGETTYPE              dll
+UID                     0x1000af5a 0x01700199
+
+CAPABILITY              EUNIT_CAPS
+VENDORID                VID_DEFAULT
+
+SOURCEPATH      ../../../../../internal/mocks/phoneengine/engineinfo
+SOURCE          mock_cpeengineinfoimpl.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuicontrol
+SOURCE          mock_cphonestatemachine.cpp
+SOURCE          mock_cphonestate.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuiutils
+SOURCE          mock_cphonelogger.cpp
+SOURCE          mock_cphonemainresourceresolver.cpp
+SOURCE          mock_cphonecenrepproxy.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuiview
+SOURCE          mock_cphoneviewcommandhandle.cpp
+
+SOURCEPATH      ../../../../../internal/mocks/eikmenupane
+SOURCE          mock_coemain.cpp
+SOURCE          mock_coecntrl.cpp
+
+SOURCEPATH      ../../../../internal/mocks/
+SOURCE          mock_featmgr.cpp
+SOURCE          mock_StringLoader.cpp
+
+SOURCEPATH      ../src
+SOURCE          ut_cphoneuicommandmanager.cpp
+
+// Code under test
+SOURCEPATH      ../../../src
+SOURCE          cphoneuicommandmanager.cpp
+
+SOURCEPATH		../../../../../phoneengine/engineinfo/src
+SOURCE			cpeengineinfo.cpp
+
+// Sources required by the test suite
+SOURCEPATH      ../src
+SOURCE          ut_cphoneuicommandmanager_DllMain.cpp
+
+USERINCLUDE    	../../../../../phoneengine/engineinfo/inc
+USERINCLUDE     ../../../../../phoneengine/phonemodel/inc
+USERINCLUDE     ../../../../internal/mocks/phoneengine
+USERINCLUDE     ../../../../phoneuiview/inc
+USERINCLUDE     ../../../../phoneuicontrol/inc
+USERINCLUDE     ../../../../phoneuistates/inc
+USERINCLUDE     ../../../../phonemediatorcenter/inc
+USERINCLUDE     ../../../../phoneuiutils/inc
+USERINCLUDE     ../../../../phoneui2/srcdata
+USERINCLUDE     ../../../../phoneuiqtviewadapter/inc
+USERINCLUDE     ../../../../internal/mocks/phoneuiview
+
+
+APP_LAYER_SYSTEMINCLUDE
+
+SYSTEMINCLUDE   /epoc32/include/Digia/EUnit
+SYSTEMINCLUDE   ../../../../../inc       // phone inc
+
+
+LIBRARY         EUnit.lib
+LIBRARY         EUnitUtil.lib
+LIBRARY         euser.lib
+LIBRARY         avkon.lib       // AknTextUtils
+LIBRARY         cone.lib
+LIBRARY         phoneuiutils.lib
+LIBRARY         apgrfx.lib
+LIBRARY         symbianmock.lib
+LIBRARY         efsrv.lib
+LIBRARY         ws32.lib        // RWsSession
+LIBRARY         gdi.lib         // TZoomFactor
+LIBRARY         bafl.lib        // CBaActiveScheduler 
+
--- a/phoneapp/phoneuiqtviewadapter/bwins/phoneuiqtviewadapteru.def	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiqtviewadapter/bwins/phoneuiqtviewadapteru.def	Mon Oct 04 00:16:48 2010 +0300
@@ -1,36 +1,36 @@
 EXPORTS
 	?removeDialpad@PhoneUIQtViewAdapter@@AAEXXZ @ 1 NONAME ; void PhoneUIQtViewAdapter::removeDialpad(void)
 	?defaultToolbarResourceId@PhoneResourceAdapter@@QBEHXZ @ 2 NONAME ; int PhoneResourceAdapter::defaultToolbarResourceId(void) const
-	?openContacts@PhoneUIQtViewAdapter@@AAEXXZ @ 3 NONAME ; void PhoneUIQtViewAdapter::openContacts(void)
-	??1PhoneUIQtViewAdapter@@UAE@XZ @ 4 NONAME ; PhoneUIQtViewAdapter::~PhoneUIQtViewAdapter(void)
-	?createEmergencyCallHeader@PhoneUIQtViewAdapter@@AAEXHPAVTPhoneCommandParam@@@Z @ 5 NONAME ; void PhoneUIQtViewAdapter::createEmergencyCallHeader(int, class TPhoneCommandParam *)
-	??0PhoneResourceAdapter@@IAE@PAVQObject@@@Z @ 6 NONAME ; PhoneResourceAdapter::PhoneResourceAdapter(class QObject *)
-	?addToConference@PhoneUIQtViewAdapter@@AAEXXZ @ 7 NONAME ; void PhoneUIQtViewAdapter::addToConference(void)
-	?convertDuration@PhoneUIQtViewAdapter@@AAE?AVQString@@H@Z @ 8 NONAME ; class QString PhoneUIQtViewAdapter::convertDuration(int)
-	?setBubbleSelectionFlag@PhoneUIQtViewAdapter@@AAEXXZ @ 9 NONAME ; void PhoneUIQtViewAdapter::setBubbleSelectionFlag(void)
-	?createConferenceBubble@PhoneUIQtViewAdapter@@AAEXHPAVTPhoneCommandParam@@@Z @ 10 NONAME ; void PhoneUIQtViewAdapter::createConferenceBubble(int, class TPhoneCommandParam *)
-	?convertToStringWithParam@PhoneResourceAdapter@@QBE?AVQString@@HABV2@@Z @ 11 NONAME ; class QString PhoneResourceAdapter::convertToStringWithParam(int, class QString const &) const
-	?callsExists@PhoneUIQtViewAdapter@@AAE_NHH@Z @ 12 NONAME ; bool PhoneUIQtViewAdapter::callsExists(int, int)
-	?ExecuteCommandL@PhoneUIQtViewAdapter@@UAEXHHAAVTDesC16@@@Z @ 13 NONAME ; void PhoneUIQtViewAdapter::ExecuteCommandL(int, int, class TDesC16 &)
-	?tr@PhoneResourceAdapter@@SA?AVQString@@PBD0H@Z @ 14 NONAME ; class QString PhoneResourceAdapter::tr(char const *, char const *, int)
-	?convert@PhoneResourceAdapter@@QAA?AV?$QMap@W4ActionType@PhoneAction@@PAV2@@@HZZ @ 15 NONAME ; class QMap<enum PhoneAction::ActionType, class PhoneAction *> PhoneResourceAdapter::convert(int, ...)
-	?convertToHbActions@PhoneResourceAdapter@@QBE?AV?$QList@PAVHbAction@@@@H@Z @ 16 NONAME ; class QList<class HbAction *> PhoneResourceAdapter::convertToHbActions(int) const
-	?ExecuteCommandL@PhoneUIQtViewAdapter@@UAEXHH@Z @ 17 NONAME ; void PhoneUIQtViewAdapter::ExecuteCommandL(int, int)
-	?noteController@PhoneUIQtViewAdapter@@QBEPAVPhoneNoteController@@XZ @ 18 NONAME ; class PhoneNoteController * PhoneUIQtViewAdapter::noteController(void) const
-	??_EPhoneResourceAdapter@@UAE@I@Z @ 19 NONAME ; PhoneResourceAdapter::~PhoneResourceAdapter(unsigned int)
-	?tr@PhoneResourceAdapter@@SA?AVQString@@PBD0@Z @ 20 NONAME ; class QString PhoneResourceAdapter::tr(char const *, char const *)
-	?trUtf8@PhoneResourceAdapter@@SA?AVQString@@PBD0@Z @ 21 NONAME ; class QString PhoneResourceAdapter::trUtf8(char const *, char const *)
-	?getStaticMetaObject@PhoneResourceAdapter@@SAABUQMetaObject@@XZ @ 22 NONAME ; struct QMetaObject const & PhoneResourceAdapter::getStaticMetaObject(void)
-	?getDialpadStringLength@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 23 NONAME ; void PhoneUIQtViewAdapter::getDialpadStringLength(class TPhoneCommandParam *)
-	?trUtf8@PhoneResourceAdapter@@SA?AVQString@@PBD0H@Z @ 24 NONAME ; class QString PhoneResourceAdapter::trUtf8(char const *, char const *, int)
-	?convertCommandToString@PhoneResourceAdapter@@QBE?AVQString@@H@Z @ 25 NONAME ; class QString PhoneResourceAdapter::convertCommandToString(int) const
-	?activeCallCount@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 26 NONAME ; void PhoneUIQtViewAdapter::activeCallCount(class TPhoneCommandParam *)
-	?setTouchButtons@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 27 NONAME ; void PhoneUIQtViewAdapter::setTouchButtons(class TPhoneCommandParam *)
-	?setExpandActions@PhoneUIQtViewAdapter@@AAEXXZ @ 28 NONAME ; void PhoneUIQtViewAdapter::setExpandActions(void)
-	?qt_metacast@PhoneUIQtViewAdapter@@UAEPAXPBD@Z @ 29 NONAME ; void * PhoneUIQtViewAdapter::qt_metacast(char const *)
-	?Instance@PhoneResourceAdapter@@SAPAV1@PAVQObject@@@Z @ 30 NONAME ; class PhoneResourceAdapter * PhoneResourceAdapter::Instance(class QObject *)
-	?handleCipheringInfoChange@PhoneUIQtViewAdapter@@AAEXHPAVTPhoneCommandParam@@@Z @ 31 NONAME ; void PhoneUIQtViewAdapter::handleCipheringInfoChange(int, class TPhoneCommandParam *)
-	?setTopApplication@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 32 NONAME ; void PhoneUIQtViewAdapter::setTopApplication(class TPhoneCommandParam *)
+	?createEmergencyCallHeader@PhoneUIQtViewAdapter@@AAEXH@Z @ 3 NONAME ; void PhoneUIQtViewAdapter::createEmergencyCallHeader(int)
+	?openContacts@PhoneUIQtViewAdapter@@AAEXXZ @ 4 NONAME ; void PhoneUIQtViewAdapter::openContacts(void)
+	??1PhoneUIQtViewAdapter@@UAE@XZ @ 5 NONAME ; PhoneUIQtViewAdapter::~PhoneUIQtViewAdapter(void)
+	?createConferenceBubble@PhoneUIQtViewAdapter@@AAEXH@Z @ 6 NONAME ; void PhoneUIQtViewAdapter::createConferenceBubble(int)
+	??0PhoneResourceAdapter@@IAE@PAVQObject@@@Z @ 7 NONAME ; PhoneResourceAdapter::PhoneResourceAdapter(class QObject *)
+	?onFocusLost@PhoneUIQtViewAdapter@@AAEXXZ @ 8 NONAME ; void PhoneUIQtViewAdapter::onFocusLost(void)
+	?addToConference@PhoneUIQtViewAdapter@@AAEXXZ @ 9 NONAME ; void PhoneUIQtViewAdapter::addToConference(void)
+	?convertDuration@PhoneUIQtViewAdapter@@AAE?AVQString@@H@Z @ 10 NONAME ; class QString PhoneUIQtViewAdapter::convertDuration(int)
+	?setBubbleSelectionFlag@PhoneUIQtViewAdapter@@AAEXXZ @ 11 NONAME ; void PhoneUIQtViewAdapter::setBubbleSelectionFlag(void)
+	?convertToStringWithParam@PhoneResourceAdapter@@QBE?AVQString@@HABV2@@Z @ 12 NONAME ; class QString PhoneResourceAdapter::convertToStringWithParam(int, class QString const &) const
+	?callsExists@PhoneUIQtViewAdapter@@AAE_NHH@Z @ 13 NONAME ; bool PhoneUIQtViewAdapter::callsExists(int, int)
+	?ExecuteCommandL@PhoneUIQtViewAdapter@@UAEXHHAAVTDesC16@@@Z @ 14 NONAME ; void PhoneUIQtViewAdapter::ExecuteCommandL(int, int, class TDesC16 &)
+	?tr@PhoneResourceAdapter@@SA?AVQString@@PBD0H@Z @ 15 NONAME ; class QString PhoneResourceAdapter::tr(char const *, char const *, int)
+	?convert@PhoneResourceAdapter@@QAA?AV?$QMap@W4ActionType@PhoneAction@@PAV2@@@HZZ @ 16 NONAME ; class QMap<enum PhoneAction::ActionType, class PhoneAction *> PhoneResourceAdapter::convert(int, ...)
+	?convertToHbActions@PhoneResourceAdapter@@QBE?AV?$QList@PAVHbAction@@@@H@Z @ 17 NONAME ; class QList<class HbAction *> PhoneResourceAdapter::convertToHbActions(int) const
+	?handleCipheringInfoChange@PhoneUIQtViewAdapter@@AAEXH@Z @ 18 NONAME ; void PhoneUIQtViewAdapter::handleCipheringInfoChange(int)
+	?ExecuteCommandL@PhoneUIQtViewAdapter@@UAEXHH@Z @ 19 NONAME ; void PhoneUIQtViewAdapter::ExecuteCommandL(int, int)
+	?noteController@PhoneUIQtViewAdapter@@QBEPAVPhoneNoteController@@XZ @ 20 NONAME ; class PhoneNoteController * PhoneUIQtViewAdapter::noteController(void) const
+	??_EPhoneResourceAdapter@@UAE@I@Z @ 21 NONAME ; PhoneResourceAdapter::~PhoneResourceAdapter(unsigned int)
+	?tr@PhoneResourceAdapter@@SA?AVQString@@PBD0@Z @ 22 NONAME ; class QString PhoneResourceAdapter::tr(char const *, char const *)
+	?trUtf8@PhoneResourceAdapter@@SA?AVQString@@PBD0@Z @ 23 NONAME ; class QString PhoneResourceAdapter::trUtf8(char const *, char const *)
+	?getStaticMetaObject@PhoneResourceAdapter@@SAABUQMetaObject@@XZ @ 24 NONAME ; struct QMetaObject const & PhoneResourceAdapter::getStaticMetaObject(void)
+	?getDialpadStringLength@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 25 NONAME ; void PhoneUIQtViewAdapter::getDialpadStringLength(class TPhoneCommandParam *)
+	?trUtf8@PhoneResourceAdapter@@SA?AVQString@@PBD0H@Z @ 26 NONAME ; class QString PhoneResourceAdapter::trUtf8(char const *, char const *, int)
+	?convertCommandToString@PhoneResourceAdapter@@QBE?AVQString@@H@Z @ 27 NONAME ; class QString PhoneResourceAdapter::convertCommandToString(int) const
+	?activeCallCount@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 28 NONAME ; void PhoneUIQtViewAdapter::activeCallCount(class TPhoneCommandParam *)
+	?setTouchButtons@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 29 NONAME ; void PhoneUIQtViewAdapter::setTouchButtons(class TPhoneCommandParam *)
+	?setExpandActions@PhoneUIQtViewAdapter@@AAEXXZ @ 30 NONAME ; void PhoneUIQtViewAdapter::setExpandActions(void)
+	?qt_metacast@PhoneUIQtViewAdapter@@UAEPAXPBD@Z @ 31 NONAME ; void * PhoneUIQtViewAdapter::qt_metacast(char const *)
+	?Instance@PhoneResourceAdapter@@SAPAV1@PAVQObject@@@Z @ 32 NONAME ; class PhoneResourceAdapter * PhoneResourceAdapter::Instance(class QObject *)
 	?getNumberFromDialpad@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 33 NONAME ; void PhoneUIQtViewAdapter::getNumberFromDialpad(class TPhoneCommandParam *)
 	?openLogs@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 34 NONAME ; void PhoneUIQtViewAdapter::openLogs(class TPhoneCommandParam *)
 	?isConference@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 35 NONAME ; void PhoneUIQtViewAdapter::isConference(class TPhoneCommandParam *)
@@ -38,66 +38,65 @@
 	?qt_metacast@PhoneResourceAdapter@@UAEPAXPBD@Z @ 37 NONAME ; void * PhoneResourceAdapter::qt_metacast(char const *)
 	??0PhoneUIQtViewAdapter@@QAE@AAVPhoneUIQtViewIF@@PAVQObject@@@Z @ 38 NONAME ; PhoneUIQtViewAdapter::PhoneUIQtViewAdapter(class PhoneUIQtViewIF &, class QObject *)
 	?ExecuteCommand@PhoneUIQtViewAdapter@@UAEXHPAVTPhoneCommandParam@@@Z @ 39 NONAME ; void PhoneUIQtViewAdapter::ExecuteCommand(int, class TPhoneCommandParam *)
-	?keyReleased@PhoneUIQtViewAdapter@@AAEXPAVQKeyEvent@@@Z @ 40 NONAME ; void PhoneUIQtViewAdapter::keyReleased(class QKeyEvent *)
-	?setCommonButtonFlags@PhoneUIQtViewAdapter@@AAEXXZ @ 41 NONAME ; void PhoneUIQtViewAdapter::setCommonButtonFlags(void)
-	?bringToForeground@PhoneUIQtViewAdapter@@AAEXXZ @ 42 NONAME ; void PhoneUIQtViewAdapter::bringToForeground(void)
-	??_EPhoneUIQtViewAdapter@@UAE@I@Z @ 43 NONAME ; PhoneUIQtViewAdapter::~PhoneUIQtViewAdapter(unsigned int)
-	?buttonsController@PhoneResourceAdapter@@QAEPAVPhoneUIQtButtonsController@@XZ @ 44 NONAME ; class PhoneUIQtButtonsController * PhoneResourceAdapter::buttonsController(void)
-	?convertKey@PhoneUIQtViewAdapter@@AAE_NW4TKeyCode@@AAW4Key@Qt@@@Z @ 45 NONAME ; bool PhoneUIQtViewAdapter::convertKey(enum TKeyCode, enum Qt::Key &)
-	?updateCallHeaderState@PhoneUIQtViewAdapter@@AAEXHPAVTPhoneCommandParam@@@Z @ 46 NONAME ; void PhoneUIQtViewAdapter::updateCallHeaderState(int, class TPhoneCommandParam *)
-	?setExpandedConferenceCallHeader@PhoneUIQtViewAdapter@@AAEXXZ @ 47 NONAME ; void PhoneUIQtViewAdapter::setExpandedConferenceCallHeader(void)
-	?HandleCommandL@PhoneUIQtViewAdapter@@UAEHHPAVTPhoneCommandParam@@@Z @ 48 NONAME ; int PhoneUIQtViewAdapter::HandleCommandL(int, class TPhoneCommandParam *)
-	?setHidden@PhoneUIQtViewAdapter@@AAEX_N@Z @ 49 NONAME ; void PhoneUIQtViewAdapter::setHidden(bool)
-	?setDialpadMenu@PhoneUIQtViewAdapter@@AAEXXZ @ 50 NONAME ; void PhoneUIQtViewAdapter::setDialpadMenu(void)
-	?callIdByState@PhoneUIQtViewAdapter@@AAEHPAVTPhoneCommandParam@@@Z @ 51 NONAME ; int PhoneUIQtViewAdapter::callIdByState(class TPhoneCommandParam *)
-	?ExecuteCommandL@PhoneUIQtViewAdapter@@UAEXHPAVTPhoneCommandParam@@@Z @ 52 NONAME ; void PhoneUIQtViewAdapter::ExecuteCommandL(int, class TPhoneCommandParam *)
-	?setDialpadVisibility@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 53 NONAME ; void PhoneUIQtViewAdapter::setDialpadVisibility(class TPhoneCommandParam *)
-	?ExecuteCommandL@PhoneUIQtViewAdapter@@UAEXHHPAVTPhoneCommandParam@@@Z @ 54 NONAME ; void PhoneUIQtViewAdapter::ExecuteCommandL(int, int, class TPhoneCommandParam *)
-	?removeConferenceBubble@PhoneUIQtViewAdapter@@AAEXXZ @ 55 NONAME ; void PhoneUIQtViewAdapter::removeConferenceBubble(void)
-	?showGlobalNote@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 56 NONAME ; void PhoneUIQtViewAdapter::showGlobalNote(class TPhoneCommandParam *)
-	?handleWindowDeactivated@PhoneUIQtViewAdapter@@AAEXXZ @ 57 NONAME ; void PhoneUIQtViewAdapter::handleWindowDeactivated(void)
-	?getSelectedConferenceMember@PhoneUIQtViewAdapter@@AAEHPAVTPhoneCommandParam@@@Z @ 58 NONAME ; int PhoneUIQtViewAdapter::getSelectedConferenceMember(class TPhoneCommandParam *)
-	?metaObject@PhoneUIQtViewAdapter@@UBEPBUQMetaObject@@XZ @ 59 NONAME ; struct QMetaObject const * PhoneUIQtViewAdapter::metaObject(void) const
-	?dialpadClosed@PhoneUIQtViewAdapter@@AAEXXZ @ 60 NONAME ; void PhoneUIQtViewAdapter::dialpadClosed(void)
-	?removeAllCallHeaders@PhoneUIQtViewAdapter@@AAEXXZ @ 61 NONAME ; void PhoneUIQtViewAdapter::removeAllCallHeaders(void)
-	?setCallHoldFlag@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 62 NONAME ; void PhoneUIQtViewAdapter::setCallHoldFlag(class TPhoneCommandParam *)
-	?SetHiddenL@PhoneUIQtViewAdapter@@AAEX_N@Z @ 63 NONAME ; void PhoneUIQtViewAdapter::SetHiddenL(bool)
-	?hideDeviceDialogs@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 64 NONAME ; void PhoneUIQtViewAdapter::hideDeviceDialogs(class TPhoneCommandParam *)
-	?idleAppUid@PhoneUIQtViewAdapter@@AAEHXZ @ 65 NONAME ; int PhoneUIQtViewAdapter::idleAppUid(void)
-	?setPrivateFromConference@PhoneUIQtViewAdapter@@AAEXH@Z @ 66 NONAME ; void PhoneUIQtViewAdapter::setPrivateFromConference(int)
-	?setCallMenu@PhoneUIQtViewAdapter@@AAEXXZ @ 67 NONAME ; void PhoneUIQtViewAdapter::setCallMenu(void)
-	?setAudioVolumeSliderValue@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 68 NONAME ; void PhoneUIQtViewAdapter::setAudioVolumeSliderValue(class TPhoneCommandParam *)
-	?qt_metacall@PhoneUIQtViewAdapter@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 69 NONAME ; int PhoneUIQtViewAdapter::qt_metacall(enum QMetaObject::Call, int, void * *)
-	??1PhoneResourceAdapter@@UAE@XZ @ 70 NONAME ; PhoneResourceAdapter::~PhoneResourceAdapter(void)
-	?removeCallFromConference@PhoneUIQtViewAdapter@@AAEXH@Z @ 71 NONAME ; void PhoneUIQtViewAdapter::removeCallFromConference(int)
-	?tr@PhoneUIQtViewAdapter@@SA?AVQString@@PBD0H@Z @ 72 NONAME ; class QString PhoneUIQtViewAdapter::tr(char const *, char const *, int)
-	?staticMetaObject@PhoneResourceAdapter@@2UQMetaObject@@B @ 73 NONAME ; struct QMetaObject const PhoneResourceAdapter::staticMetaObject
-	?staticMetaObject@PhoneUIQtViewAdapter@@2UQMetaObject@@B @ 74 NONAME ; struct QMetaObject const PhoneUIQtViewAdapter::staticMetaObject
-	?ExecuteCommandL@PhoneUIQtViewAdapter@@UAEXH@Z @ 75 NONAME ; void PhoneUIQtViewAdapter::ExecuteCommandL(int)
-	?trUtf8@PhoneUIQtViewAdapter@@SA?AVQString@@PBD0H@Z @ 76 NONAME ; class QString PhoneUIQtViewAdapter::trUtf8(char const *, char const *, int)
-	?setMuteIndication@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 77 NONAME ; void PhoneUIQtViewAdapter::setMuteIndication(class TPhoneCommandParam *)
-	?convertToToolBarCommandList@PhoneResourceAdapter@@QBE?AV?$QList@VToolBarItem@PhoneAction@@@@H@Z @ 78 NONAME ; class QList<class PhoneAction::ToolBarItem> PhoneResourceAdapter::convertToToolBarCommandList(int) const
-	?HandleCommandL@PhoneUIQtViewAdapter@@UAEHH@Z @ 79 NONAME ; int PhoneUIQtViewAdapter::HandleCommandL(int)
-	?showNote@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 80 NONAME ; void PhoneUIQtViewAdapter::showNote(class TPhoneCommandParam *)
-	?FetchContent@PhoneUIQtViewAdapter@@UAEABVTDesC16@@XZ @ 81 NONAME ; class TDesC16 const & PhoneUIQtViewAdapter::FetchContent(void)
-	?writeAudioVolumeLevel@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 82 NONAME ; void PhoneUIQtViewAdapter::writeAudioVolumeLevel(class TPhoneCommandParam *)
-	?conferenceCallId@PhoneUIQtViewAdapter@@AAEXHPAVTPhoneCommandParam@@@Z @ 83 NONAME ; void PhoneUIQtViewAdapter::conferenceCallId(int, class TPhoneCommandParam *)
-	?setMenu@PhoneUIQtViewAdapter@@AAEXXZ @ 84 NONAME ; void PhoneUIQtViewAdapter::setMenu(void)
-	?trUtf8@PhoneUIQtViewAdapter@@SA?AVQString@@PBD0@Z @ 85 NONAME ; class QString PhoneUIQtViewAdapter::trUtf8(char const *, char const *)
-	?tr@PhoneUIQtViewAdapter@@SA?AVQString@@PBD0@Z @ 86 NONAME ; class QString PhoneUIQtViewAdapter::tr(char const *, char const *)
-	?getStaticMetaObject@PhoneUIQtViewAdapter@@SAABUQMetaObject@@XZ @ 87 NONAME ; struct QMetaObject const & PhoneUIQtViewAdapter::getStaticMetaObject(void)
-	?updateCallHeaderRemoteInfoAndLabel@PhoneUIQtViewAdapter@@AAEXHPAVTPhoneCommandParam@@@Z @ 88 NONAME ; void PhoneUIQtViewAdapter::updateCallHeaderRemoteInfoAndLabel(int, class TPhoneCommandParam *)
-	?updateCallHeaderRemoteInfo@PhoneUIQtViewAdapter@@AAEXHPAVTPhoneCommandParam@@@Z @ 89 NONAME ; void PhoneUIQtViewAdapter::updateCallHeaderRemoteInfo(int, class TPhoneCommandParam *)
-	?qt_metacall@PhoneResourceAdapter@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 90 NONAME ; int PhoneResourceAdapter::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?callHoldFlag@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 91 NONAME ; void PhoneUIQtViewAdapter::callHoldFlag(class TPhoneCommandParam *)
+	?onFocusGained@PhoneUIQtViewAdapter@@AAEXXZ @ 40 NONAME ; void PhoneUIQtViewAdapter::onFocusGained(void)
+	?keyReleased@PhoneUIQtViewAdapter@@AAEXPAVQKeyEvent@@@Z @ 41 NONAME ; void PhoneUIQtViewAdapter::keyReleased(class QKeyEvent *)
+	?setEngineInfo@PhoneUIQtViewAdapter@@QAEXPAVMPEEngineInfo@@@Z @ 42 NONAME ; void PhoneUIQtViewAdapter::setEngineInfo(class MPEEngineInfo *)
+	?setCommonButtonFlags@PhoneUIQtViewAdapter@@AAEXXZ @ 43 NONAME ; void PhoneUIQtViewAdapter::setCommonButtonFlags(void)
+	?bringToForeground@PhoneUIQtViewAdapter@@AAEXXZ @ 44 NONAME ; void PhoneUIQtViewAdapter::bringToForeground(void)
+	??_EPhoneUIQtViewAdapter@@UAE@I@Z @ 45 NONAME ; PhoneUIQtViewAdapter::~PhoneUIQtViewAdapter(unsigned int)
+	?buttonsController@PhoneResourceAdapter@@QAEPAVPhoneUIQtButtonsController@@XZ @ 46 NONAME ; class PhoneUIQtButtonsController * PhoneResourceAdapter::buttonsController(void)
+	?convertKey@PhoneUIQtViewAdapter@@AAE_NW4TKeyCode@@AAW4Key@Qt@@@Z @ 47 NONAME ; bool PhoneUIQtViewAdapter::convertKey(enum TKeyCode, enum Qt::Key &)
+	?setExpandedConferenceCallHeader@PhoneUIQtViewAdapter@@AAEXXZ @ 48 NONAME ; void PhoneUIQtViewAdapter::setExpandedConferenceCallHeader(void)
+	?HandleCommandL@PhoneUIQtViewAdapter@@UAEHHPAVTPhoneCommandParam@@@Z @ 49 NONAME ; int PhoneUIQtViewAdapter::HandleCommandL(int, class TPhoneCommandParam *)
+	?updateCallHeaderRemoteInfo@PhoneUIQtViewAdapter@@AAEXH@Z @ 50 NONAME ; void PhoneUIQtViewAdapter::updateCallHeaderRemoteInfo(int)
+	?setHidden@PhoneUIQtViewAdapter@@AAEX_N@Z @ 51 NONAME ; void PhoneUIQtViewAdapter::setHidden(bool)
+	?setDialpadMenu@PhoneUIQtViewAdapter@@AAEXXZ @ 52 NONAME ; void PhoneUIQtViewAdapter::setDialpadMenu(void)
+	?createCallHeader@PhoneUIQtViewAdapter@@AAEXH@Z @ 53 NONAME ; void PhoneUIQtViewAdapter::createCallHeader(int)
+	?callIdByState@PhoneUIQtViewAdapter@@AAEHPAVTPhoneCommandParam@@@Z @ 54 NONAME ; int PhoneUIQtViewAdapter::callIdByState(class TPhoneCommandParam *)
+	?ExecuteCommandL@PhoneUIQtViewAdapter@@UAEXHPAVTPhoneCommandParam@@@Z @ 55 NONAME ; void PhoneUIQtViewAdapter::ExecuteCommandL(int, class TPhoneCommandParam *)
+	?setDialpadVisibility@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 56 NONAME ; void PhoneUIQtViewAdapter::setDialpadVisibility(class TPhoneCommandParam *)
+	?updateCallHeaderState@PhoneUIQtViewAdapter@@AAEXH@Z @ 57 NONAME ; void PhoneUIQtViewAdapter::updateCallHeaderState(int)
+	?ExecuteCommandL@PhoneUIQtViewAdapter@@UAEXHHPAVTPhoneCommandParam@@@Z @ 58 NONAME ; void PhoneUIQtViewAdapter::ExecuteCommandL(int, int, class TPhoneCommandParam *)
+	?removeConferenceBubble@PhoneUIQtViewAdapter@@AAEXXZ @ 59 NONAME ; void PhoneUIQtViewAdapter::removeConferenceBubble(void)
+	?showGlobalNote@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 60 NONAME ; void PhoneUIQtViewAdapter::showGlobalNote(class TPhoneCommandParam *)
+	?handleWindowDeactivated@PhoneUIQtViewAdapter@@AAEXXZ @ 61 NONAME ; void PhoneUIQtViewAdapter::handleWindowDeactivated(void)
+	?getSelectedConferenceMember@PhoneUIQtViewAdapter@@AAEHPAVTPhoneCommandParam@@@Z @ 62 NONAME ; int PhoneUIQtViewAdapter::getSelectedConferenceMember(class TPhoneCommandParam *)
+	?metaObject@PhoneUIQtViewAdapter@@UBEPBUQMetaObject@@XZ @ 63 NONAME ; struct QMetaObject const * PhoneUIQtViewAdapter::metaObject(void) const
+	?dialpadClosed@PhoneUIQtViewAdapter@@AAEXXZ @ 64 NONAME ; void PhoneUIQtViewAdapter::dialpadClosed(void)
+	?removeAllCallHeaders@PhoneUIQtViewAdapter@@AAEXXZ @ 65 NONAME ; void PhoneUIQtViewAdapter::removeAllCallHeaders(void)
+	?SetHiddenL@PhoneUIQtViewAdapter@@AAEX_N@Z @ 66 NONAME ; void PhoneUIQtViewAdapter::SetHiddenL(bool)
+	?hideDeviceDialogs@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 67 NONAME ; void PhoneUIQtViewAdapter::hideDeviceDialogs(class TPhoneCommandParam *)
+	?setPrivateFromConference@PhoneUIQtViewAdapter@@AAEXH@Z @ 68 NONAME ; void PhoneUIQtViewAdapter::setPrivateFromConference(int)
+	?setCallMenu@PhoneUIQtViewAdapter@@AAEXXZ @ 69 NONAME ; void PhoneUIQtViewAdapter::setCallMenu(void)
+	?setAudioVolumeSliderValue@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 70 NONAME ; void PhoneUIQtViewAdapter::setAudioVolumeSliderValue(class TPhoneCommandParam *)
+	?qt_metacall@PhoneUIQtViewAdapter@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 71 NONAME ; int PhoneUIQtViewAdapter::qt_metacall(enum QMetaObject::Call, int, void * *)
+	??1PhoneResourceAdapter@@UAE@XZ @ 72 NONAME ; PhoneResourceAdapter::~PhoneResourceAdapter(void)
+	?removeCallFromConference@PhoneUIQtViewAdapter@@AAEXH@Z @ 73 NONAME ; void PhoneUIQtViewAdapter::removeCallFromConference(int)
+	?tr@PhoneUIQtViewAdapter@@SA?AVQString@@PBD0H@Z @ 74 NONAME ; class QString PhoneUIQtViewAdapter::tr(char const *, char const *, int)
+	?staticMetaObject@PhoneResourceAdapter@@2UQMetaObject@@B @ 75 NONAME ; struct QMetaObject const PhoneResourceAdapter::staticMetaObject
+	?staticMetaObject@PhoneUIQtViewAdapter@@2UQMetaObject@@B @ 76 NONAME ; struct QMetaObject const PhoneUIQtViewAdapter::staticMetaObject
+	?ExecuteCommandL@PhoneUIQtViewAdapter@@UAEXH@Z @ 77 NONAME ; void PhoneUIQtViewAdapter::ExecuteCommandL(int)
+	?trUtf8@PhoneUIQtViewAdapter@@SA?AVQString@@PBD0H@Z @ 78 NONAME ; class QString PhoneUIQtViewAdapter::trUtf8(char const *, char const *, int)
+	?setMuteIndication@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 79 NONAME ; void PhoneUIQtViewAdapter::setMuteIndication(class TPhoneCommandParam *)
+	?convertToToolBarCommandList@PhoneResourceAdapter@@QBE?AV?$QList@VToolBarItem@PhoneAction@@@@H@Z @ 80 NONAME ; class QList<class PhoneAction::ToolBarItem> PhoneResourceAdapter::convertToToolBarCommandList(int) const
+	?HandleCommandL@PhoneUIQtViewAdapter@@UAEHH@Z @ 81 NONAME ; int PhoneUIQtViewAdapter::HandleCommandL(int)
+	?showNote@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 82 NONAME ; void PhoneUIQtViewAdapter::showNote(class TPhoneCommandParam *)
+	?FetchContent@PhoneUIQtViewAdapter@@UAEABVTDesC16@@XZ @ 83 NONAME ; class TDesC16 const & PhoneUIQtViewAdapter::FetchContent(void)
+	?writeAudioVolumeLevel@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 84 NONAME ; void PhoneUIQtViewAdapter::writeAudioVolumeLevel(class TPhoneCommandParam *)
+	?conferenceCallId@PhoneUIQtViewAdapter@@AAEXHPAVTPhoneCommandParam@@@Z @ 85 NONAME ; void PhoneUIQtViewAdapter::conferenceCallId(int, class TPhoneCommandParam *)
+	?clearDialpad@PhoneUIQtViewAdapter@@AAEXXZ @ 86 NONAME ; void PhoneUIQtViewAdapter::clearDialpad(void)
+	?setMenu@PhoneUIQtViewAdapter@@AAEXXZ @ 87 NONAME ; void PhoneUIQtViewAdapter::setMenu(void)
+	?trUtf8@PhoneUIQtViewAdapter@@SA?AVQString@@PBD0@Z @ 88 NONAME ; class QString PhoneUIQtViewAdapter::trUtf8(char const *, char const *)
+	?tr@PhoneUIQtViewAdapter@@SA?AVQString@@PBD0@Z @ 89 NONAME ; class QString PhoneUIQtViewAdapter::tr(char const *, char const *)
+	?getStaticMetaObject@PhoneUIQtViewAdapter@@SAABUQMetaObject@@XZ @ 90 NONAME ; struct QMetaObject const & PhoneUIQtViewAdapter::getStaticMetaObject(void)
+	?qt_metacall@PhoneResourceAdapter@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 91 NONAME ; int PhoneResourceAdapter::qt_metacall(enum QMetaObject::Call, int, void * *)
 	?setToolbarButtons@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 92 NONAME ; void PhoneUIQtViewAdapter::setToolbarButtons(class TPhoneCommandParam *)
 	?setAudioPath@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 93 NONAME ; void PhoneUIQtViewAdapter::setAudioPath(class TPhoneCommandParam *)
 	?expandedBubbleCallId@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 94 NONAME ; void PhoneUIQtViewAdapter::expandedBubbleCallId(class TPhoneCommandParam *)
 	?openDialpad@PhoneUIQtViewAdapter@@AAEXXZ @ 95 NONAME ; void PhoneUIQtViewAdapter::openDialpad(void)
 	?handleWindowActivated@PhoneUIQtViewAdapter@@AAEXXZ @ 96 NONAME ; void PhoneUIQtViewAdapter::handleWindowActivated(void)
-	?createCallHeader@PhoneUIQtViewAdapter@@AAEXHPAVTPhoneCommandParam@@@Z @ 97 NONAME ; void PhoneUIQtViewAdapter::createCallHeader(int, class TPhoneCommandParam *)
-	?ExecuteCommand@PhoneUIQtViewAdapter@@UAEXH@Z @ 98 NONAME ; void PhoneUIQtViewAdapter::ExecuteCommand(int)
-	?metaObject@PhoneResourceAdapter@@UBEPBUQMetaObject@@XZ @ 99 NONAME ; struct QMetaObject const * PhoneResourceAdapter::metaObject(void) const
+	?ExecuteCommand@PhoneUIQtViewAdapter@@UAEXH@Z @ 97 NONAME ; void PhoneUIQtViewAdapter::ExecuteCommand(int)
+	?metaObject@PhoneResourceAdapter@@UBEPBUQMetaObject@@XZ @ 98 NONAME ; struct QMetaObject const * PhoneResourceAdapter::metaObject(void) const
+	?updateCallHeaderRemoteInfoAndLabel@PhoneUIQtViewAdapter@@AAEXH@Z @ 99 NONAME ; void PhoneUIQtViewAdapter::updateCallHeaderRemoteInfoAndLabel(int)
 	?setParticipantListActions@PhoneUIQtViewAdapter@@AAEXXZ @ 100 NONAME ; void PhoneUIQtViewAdapter::setParticipantListActions(void)
-	?clearDialpad@PhoneUIQtViewAdapter@@AAEXXZ @ 101 NONAME ; void PhoneUIQtViewAdapter::clearDialpad(void)
 
--- a/phoneapp/phoneuiqtviewadapter/eabi/phoneuiqtviewadapteru.def	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiqtviewadapter/eabi/phoneuiqtviewadapteru.def	Mon Oct 04 00:16:48 2010 +0300
@@ -13,46 +13,46 @@
 	_ZN20PhoneResourceAdapterD2Ev @ 12 NONAME
 	_ZN20PhoneUIQtViewAdapter10SetHiddenLEb @ 13 NONAME
 	_ZN20PhoneUIQtViewAdapter10convertKeyE8TKeyCodeRN2Qt3KeyE @ 14 NONAME
-	_ZN20PhoneUIQtViewAdapter10idleAppUidEv @ 15 NONAME
-	_ZN20PhoneUIQtViewAdapter11callsExistsEii @ 16 NONAME
-	_ZN20PhoneUIQtViewAdapter11keyReleasedEP9QKeyEvent @ 17 NONAME
+	_ZN20PhoneUIQtViewAdapter11callsExistsEii @ 15 NONAME
+	_ZN20PhoneUIQtViewAdapter11keyReleasedEP9QKeyEvent @ 16 NONAME
+	_ZN20PhoneUIQtViewAdapter11onFocusLostEv @ 17 NONAME
 	_ZN20PhoneUIQtViewAdapter11openDialpadEv @ 18 NONAME
 	_ZN20PhoneUIQtViewAdapter11qt_metacallEN11QMetaObject4CallEiPPv @ 19 NONAME
 	_ZN20PhoneUIQtViewAdapter11qt_metacastEPKc @ 20 NONAME
 	_ZN20PhoneUIQtViewAdapter11setCallMenuEv @ 21 NONAME
 	_ZN20PhoneUIQtViewAdapter12FetchContentEv @ 22 NONAME
-	_ZN20PhoneUIQtViewAdapter12callHoldFlagEP18TPhoneCommandParam @ 23 NONAME
+	_ZN20PhoneUIQtViewAdapter12clearDialpadEv @ 23 NONAME
 	_ZN20PhoneUIQtViewAdapter12isConferenceEP18TPhoneCommandParam @ 24 NONAME
 	_ZN20PhoneUIQtViewAdapter12openContactsEv @ 25 NONAME
 	_ZN20PhoneUIQtViewAdapter12setAudioPathEP18TPhoneCommandParam @ 26 NONAME
 	_ZN20PhoneUIQtViewAdapter13callIdByStateEP18TPhoneCommandParam @ 27 NONAME
 	_ZN20PhoneUIQtViewAdapter13dialpadClosedEv @ 28 NONAME
-	_ZN20PhoneUIQtViewAdapter13removeDialpadEv @ 29 NONAME
-	_ZN20PhoneUIQtViewAdapter14ExecuteCommandEi @ 30 NONAME
-	_ZN20PhoneUIQtViewAdapter14ExecuteCommandEiP18TPhoneCommandParam @ 31 NONAME
-	_ZN20PhoneUIQtViewAdapter14HandleCommandLEi @ 32 NONAME
-	_ZN20PhoneUIQtViewAdapter14HandleCommandLEiP18TPhoneCommandParam @ 33 NONAME
-	_ZN20PhoneUIQtViewAdapter14setDialpadMenuEv @ 34 NONAME
-	_ZN20PhoneUIQtViewAdapter14showGlobalNoteEP18TPhoneCommandParam @ 35 NONAME
-	_ZN20PhoneUIQtViewAdapter15ExecuteCommandLEi @ 36 NONAME
-	_ZN20PhoneUIQtViewAdapter15ExecuteCommandLEiP18TPhoneCommandParam @ 37 NONAME
-	_ZN20PhoneUIQtViewAdapter15ExecuteCommandLEii @ 38 NONAME
-	_ZN20PhoneUIQtViewAdapter15ExecuteCommandLEiiP18TPhoneCommandParam @ 39 NONAME
-	_ZN20PhoneUIQtViewAdapter15ExecuteCommandLEiiR7TDesC16 @ 40 NONAME
-	_ZN20PhoneUIQtViewAdapter15activeCallCountEP18TPhoneCommandParam @ 41 NONAME
-	_ZN20PhoneUIQtViewAdapter15addToConferenceEv @ 42 NONAME
-	_ZN20PhoneUIQtViewAdapter15convertDurationEi @ 43 NONAME
-	_ZN20PhoneUIQtViewAdapter15setCallHoldFlagEP18TPhoneCommandParam @ 44 NONAME
-	_ZN20PhoneUIQtViewAdapter15setTouchButtonsEP18TPhoneCommandParam @ 45 NONAME
-	_ZN20PhoneUIQtViewAdapter16conferenceCallIdEiP18TPhoneCommandParam @ 46 NONAME
-	_ZN20PhoneUIQtViewAdapter16createCallHeaderEiP18TPhoneCommandParam @ 47 NONAME
-	_ZN20PhoneUIQtViewAdapter16setExpandActionsEv @ 48 NONAME
-	_ZN20PhoneUIQtViewAdapter16staticMetaObjectE @ 49 NONAME DATA 16
-	_ZN20PhoneUIQtViewAdapter17bringToForegroundEv @ 50 NONAME
-	_ZN20PhoneUIQtViewAdapter17hideDeviceDialogsEP18TPhoneCommandParam @ 51 NONAME
-	_ZN20PhoneUIQtViewAdapter17setMuteIndicationEP18TPhoneCommandParam @ 52 NONAME
-	_ZN20PhoneUIQtViewAdapter17setToolbarButtonsEP18TPhoneCommandParam @ 53 NONAME
-	_ZN20PhoneUIQtViewAdapter17setTopApplicationEP18TPhoneCommandParam @ 54 NONAME
+	_ZN20PhoneUIQtViewAdapter13onFocusGainedEv @ 29 NONAME
+	_ZN20PhoneUIQtViewAdapter13removeDialpadEv @ 30 NONAME
+	_ZN20PhoneUIQtViewAdapter13setEngineInfoEP13MPEEngineInfo @ 31 NONAME
+	_ZN20PhoneUIQtViewAdapter14ExecuteCommandEi @ 32 NONAME
+	_ZN20PhoneUIQtViewAdapter14ExecuteCommandEiP18TPhoneCommandParam @ 33 NONAME
+	_ZN20PhoneUIQtViewAdapter14HandleCommandLEi @ 34 NONAME
+	_ZN20PhoneUIQtViewAdapter14HandleCommandLEiP18TPhoneCommandParam @ 35 NONAME
+	_ZN20PhoneUIQtViewAdapter14setDialpadMenuEv @ 36 NONAME
+	_ZN20PhoneUIQtViewAdapter14showGlobalNoteEP18TPhoneCommandParam @ 37 NONAME
+	_ZN20PhoneUIQtViewAdapter15ExecuteCommandLEi @ 38 NONAME
+	_ZN20PhoneUIQtViewAdapter15ExecuteCommandLEiP18TPhoneCommandParam @ 39 NONAME
+	_ZN20PhoneUIQtViewAdapter15ExecuteCommandLEii @ 40 NONAME
+	_ZN20PhoneUIQtViewAdapter15ExecuteCommandLEiiP18TPhoneCommandParam @ 41 NONAME
+	_ZN20PhoneUIQtViewAdapter15ExecuteCommandLEiiR7TDesC16 @ 42 NONAME
+	_ZN20PhoneUIQtViewAdapter15activeCallCountEP18TPhoneCommandParam @ 43 NONAME
+	_ZN20PhoneUIQtViewAdapter15addToConferenceEv @ 44 NONAME
+	_ZN20PhoneUIQtViewAdapter15convertDurationEi @ 45 NONAME
+	_ZN20PhoneUIQtViewAdapter15setTouchButtonsEP18TPhoneCommandParam @ 46 NONAME
+	_ZN20PhoneUIQtViewAdapter16conferenceCallIdEiP18TPhoneCommandParam @ 47 NONAME
+	_ZN20PhoneUIQtViewAdapter16createCallHeaderEi @ 48 NONAME
+	_ZN20PhoneUIQtViewAdapter16setExpandActionsEv @ 49 NONAME
+	_ZN20PhoneUIQtViewAdapter16staticMetaObjectE @ 50 NONAME DATA 16
+	_ZN20PhoneUIQtViewAdapter17bringToForegroundEv @ 51 NONAME
+	_ZN20PhoneUIQtViewAdapter17hideDeviceDialogsEP18TPhoneCommandParam @ 52 NONAME
+	_ZN20PhoneUIQtViewAdapter17setMuteIndicationEP18TPhoneCommandParam @ 53 NONAME
+	_ZN20PhoneUIQtViewAdapter17setToolbarButtonsEP18TPhoneCommandParam @ 54 NONAME
 	_ZN20PhoneUIQtViewAdapter19getStaticMetaObjectEv @ 55 NONAME
 	_ZN20PhoneUIQtViewAdapter20expandedBubbleCallIdEP18TPhoneCommandParam @ 56 NONAME
 	_ZN20PhoneUIQtViewAdapter20getNumberFromDialpadEP18TPhoneCommandParam @ 57 NONAME
@@ -60,23 +60,23 @@
 	_ZN20PhoneUIQtViewAdapter20setCommonButtonFlagsEv @ 59 NONAME
 	_ZN20PhoneUIQtViewAdapter20setDialpadVisibilityEP18TPhoneCommandParam @ 60 NONAME
 	_ZN20PhoneUIQtViewAdapter21handleWindowActivatedEv @ 61 NONAME
-	_ZN20PhoneUIQtViewAdapter21updateCallHeaderStateEiP18TPhoneCommandParam @ 62 NONAME
+	_ZN20PhoneUIQtViewAdapter21updateCallHeaderStateEi @ 62 NONAME
 	_ZN20PhoneUIQtViewAdapter21writeAudioVolumeLevelEP18TPhoneCommandParam @ 63 NONAME
-	_ZN20PhoneUIQtViewAdapter22createConferenceBubbleEiP18TPhoneCommandParam @ 64 NONAME
+	_ZN20PhoneUIQtViewAdapter22createConferenceBubbleEi @ 64 NONAME
 	_ZN20PhoneUIQtViewAdapter22getDialpadStringLengthEP18TPhoneCommandParam @ 65 NONAME
 	_ZN20PhoneUIQtViewAdapter22removeConferenceBubbleEv @ 66 NONAME
 	_ZN20PhoneUIQtViewAdapter22setBubbleSelectionFlagEv @ 67 NONAME
 	_ZN20PhoneUIQtViewAdapter23handleWindowDeactivatedEv @ 68 NONAME
 	_ZN20PhoneUIQtViewAdapter24removeCallFromConferenceEi @ 69 NONAME
 	_ZN20PhoneUIQtViewAdapter24setPrivateFromConferenceEi @ 70 NONAME
-	_ZN20PhoneUIQtViewAdapter25createEmergencyCallHeaderEiP18TPhoneCommandParam @ 71 NONAME
-	_ZN20PhoneUIQtViewAdapter25handleCipheringInfoChangeEiP18TPhoneCommandParam @ 72 NONAME
+	_ZN20PhoneUIQtViewAdapter25createEmergencyCallHeaderEi @ 71 NONAME
+	_ZN20PhoneUIQtViewAdapter25handleCipheringInfoChangeEi @ 72 NONAME
 	_ZN20PhoneUIQtViewAdapter25setAudioVolumeSliderValueEP18TPhoneCommandParam @ 73 NONAME
 	_ZN20PhoneUIQtViewAdapter25setParticipantListActionsEv @ 74 NONAME
-	_ZN20PhoneUIQtViewAdapter26updateCallHeaderRemoteInfoEiP18TPhoneCommandParam @ 75 NONAME
+	_ZN20PhoneUIQtViewAdapter26updateCallHeaderRemoteInfoEi @ 75 NONAME
 	_ZN20PhoneUIQtViewAdapter27getSelectedConferenceMemberEP18TPhoneCommandParam @ 76 NONAME
 	_ZN20PhoneUIQtViewAdapter31setExpandedConferenceCallHeaderEv @ 77 NONAME
-	_ZN20PhoneUIQtViewAdapter34updateCallHeaderRemoteInfoAndLabelEiP18TPhoneCommandParam @ 78 NONAME
+	_ZN20PhoneUIQtViewAdapter34updateCallHeaderRemoteInfoAndLabelEi @ 78 NONAME
 	_ZN20PhoneUIQtViewAdapter7setMenuEv @ 79 NONAME
 	_ZN20PhoneUIQtViewAdapter8openLogsEP18TPhoneCommandParam @ 80 NONAME
 	_ZN20PhoneUIQtViewAdapter8showNoteEP18TPhoneCommandParam @ 81 NONAME
@@ -111,5 +111,4 @@
 	_ZThn8_N20PhoneUIQtViewAdapter15ExecuteCommandLEiiR7TDesC16 @ 110 NONAME
 	_ZThn8_N20PhoneUIQtViewAdapterD0Ev @ 111 NONAME
 	_ZThn8_N20PhoneUIQtViewAdapterD1Ev @ 112 NONAME
-	_ZN20PhoneUIQtViewAdapter12clearDialpadEv @ 113 NONAME
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/inc/phonecallheadermanager.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,178 @@
+/*!
+* 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:  Phone UI's symbian adapter for Qt view.
+*
+*/
+
+#ifndef PHONECALLHEADERMANAGER_H
+#define PHONECALLHEADERMANAGER_H
+
+
+#include <QObject>
+
+class PhoneUIQtViewIF;
+class PhoneBubbleWrapper;
+class PhoneResourceAdapter;
+class PhoneCallHeaderUtil;
+class MPEEngineInfo;
+
+class PhoneCallHeaderManager : 
+    public QObject
+{
+    Q_OBJECT
+
+public:
+
+    /**
+     * Constructor
+     */
+    explicit PhoneCallHeaderManager(
+            PhoneBubbleWrapper &m_bubbleWrapper, 
+            PhoneUIQtViewIF &view,
+            QObject *parent = 0);
+    
+    /**
+     * Destructor
+     */
+    virtual ~PhoneCallHeaderManager();
+
+    
+public:
+
+    void setEngineInfo(MPEEngineInfo* engineInfo);
+    
+    /*!
+        \fn int PhoneUIQtViewAdapter::createCallHeader()
+        
+        This method creates new call header.
+    */
+    void createCallHeader(int callId);
+    
+    /*!
+        \fn int PhoneUIQtViewAdapter::createCallHeader()
+        
+        This method creates new call header.
+    */
+    void createEmergencyCallHeader(int callId);
+    
+    /*!
+        \fn int PhoneUIQtViewAdapter::removeCallHeader()
+        
+        This method removes a call header.
+    */
+    void removeCallHeader(int callId);
+
+    /*!
+        \fn int PhoneUIQtViewAdapter::updateCallHeader()
+        
+        This method updates call state information in call header.
+    */
+    void updateCallHeaderState(int callId);
+    
+    /*!
+        \fn int PhoneUIQtViewAdapter::updateCallHeaderRemoteInfo()
+        
+        This method updates remote information in call header.
+    */
+    void updateCallHeaderRemoteInfo (int callId);
+    
+    /*!
+        \fn int PhoneUIQtViewAdapter::updateCallHeaderRemoteInfo()
+        
+        This method updates remote information in call header and label.
+    */
+    void updateCallHeaderRemoteInfoAndLabel (int callId);    
+    
+    /*!
+        \fn int PhoneUIQtViewAdapter::handleCipheringInfoChange()
+        
+        This method updates ciphering indicators.
+    */
+    void handleCipheringInfoChange(int callId);
+    
+    /*!
+        \fn int PhoneUIQtViewAdapter::createConference()
+        
+        This method creates conference bubble.
+    */
+    void createConferenceBubble(int callId);
+
+    /*!
+        \fn int PhoneUIQtViewAdapter::removeConferenceBubble()
+        
+        This method removes conference bubble.
+    */
+    void removeConferenceBubble();
+
+    /*!
+        \fn int PhoneUIQtViewAdapter::removeCallFromConference()
+        
+        This method removes a call from conference.
+    */
+    void removeCallFromConference(int callId);
+    
+    /*!
+        \fn void PhoneUIQtViewAdapter::setPrivateFromConference()
+        
+        This method removes call from converence bubble.
+        Used in private command. 
+    */   
+    void setPrivateFromConference(int callId);
+    
+    /*!
+        \fn void PhoneUIQtViewAdapter::setExpandedConferenceCallHeader()
+        
+        This method sets conference call header expanded if needed. 
+    */
+    void setExpandedConferenceCallHeader();
+    
+    /*!
+        \fn void PhoneUIQtViewAdapter::removeAllCallHeaders()
+        
+        This method removes all call headers.
+    */
+    void removeAllCallHeaders();
+    
+    /*!
+        \fn void PhoneUIQtViewAdapter::removeAllCallHeaders()
+        
+        This method checks is the call a voice call.
+    */
+    bool isVoiceCall(int callId) const;
+    
+    /*!
+        \fn void PhoneUIQtViewAdapter::removeAllCallHeaders()
+        
+        This method checks is the call a video call.
+    */
+    bool isVideoCall( int callId ) const;
+    
+private:
+    
+    bool isIncoming(int callId) const;
+    
+    bool isWaitingCall(int callId) const;
+    
+    PhoneCallHeaderUtil *callHeaderUtil();
+    
+private:
+
+    PhoneBubbleWrapper &m_bubbleWrapper;
+    PhoneUIQtViewIF &m_view;
+    PhoneCallHeaderUtil *m_callHeaderUtil;
+    PhoneResourceAdapter *m_resourceAdapter;
+    MPEEngineInfo*  m_engineInfo;
+};
+
+#endif // PHONECALLHEADERMANAGER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/inc/phonecallheaderutil.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,256 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  A parameter class for setting call header information
+*
+*/
+
+
+#ifndef PHONECALLHEADERUTIL_H
+#define PHONECALLHEADERUTIL_H
+
+//INCLUDES
+#include    "mpeengineinfo.h"
+#include    "tphonecmdparamcallheaderdata.h"
+
+//FORWARD
+class MPEEngineInfo;
+
+/**
+ * A parameter class for setting call header information.
+ *
+ *  @since S60 v10.1
+ */
+class PhoneCallHeaderUtil
+    {
+    public: // Constructors & destructors.
+            
+        /**
+        * C++ constructor.
+        */
+        PhoneCallHeaderUtil( MPEEngineInfo& engineInfo );
+        
+        virtual ~PhoneCallHeaderUtil();
+        
+    public: // New functions.
+        
+        /**
+        * Sets info to outgoing call header.
+        * @param aCallId - call id.
+        * @param aWaitingCall - if call is waiting value is ETrue otherwise EFalse.
+        * @param aVideoCall - if call is video value is ETrue otherwise EFalse.
+        * @param aCallHeaderData - Call header parameter into which the text/picture
+        *                          parameters will be set.
+        */           
+        void SetIncomingCallHeaderParams(
+                const TInt aCallId, 
+                const TBool aWaitingCall,
+                const TBool aVideoCall,
+                TPhoneCmdParamCallHeaderData* aCallHeaderData );
+        /**
+        * Sets info to outgoing call header.
+        * @param aCallId - call id.
+        * @param aCallHeaderData - Call header parameter into which the text/picture
+        *                          parameters will be set.
+        */
+        void SetOutgoingCallHeaderParams(
+                const TInt aCallId,
+                TPhoneCmdParamCallHeaderData* aCallHeaderData );
+        /**
+        * Updates call header info. 
+        * NOTE: This method is used when state receives
+        * EPEMessageRemotePartyInfoChanged from PhoneEngine.
+        * 
+        * @param aCallId - call id.
+        * @param aWaitingCall - if call is waiting value is ETrue otherwise EFalse.
+        * @param aVideoCall - if call is video value is ETrue otherwise EFalse.
+        * @param aCallHeaderData - Call header parameter into which the text/picture
+        *                          parameters will be set.
+        */             
+        void UpdateCallHeaderInfo( 
+                const TInt aCallId,
+                const TBool aWaitingCall,
+                const TBool aVideoCall,
+                TPhoneCmdParamCallHeaderData* aCallHeaderData );
+
+        /**
+        * Sets the call header type used in the call bubble.
+        * @param aCallHeaderType, call header type.
+        */    
+        void SetCallHeaderType( 
+                TInt aCallHeaderType );
+        /**
+        * Returns the set call header type. Used for constructing right type
+        * of call bubble.
+        */
+        TInt CallHeaderType() const;
+            
+        /**
+        * Setter for divert indication showing in bubble.
+        * @param aDivertIndication ETrue to show divert indication,
+        *        EFalse to not. Usually setting EFalse isn't necessary
+        *        as it's a default value in bubble creation.
+        */
+        void SetDivertIndication( const TBool aDivertIndication );
+        
+        /**
+        * Return remote info data
+        * @return True if secondary CLI is used
+        * @param aCallid call id
+        * @param aData the returned remote info data
+        */
+        TBool GetRemoteInfoData( 
+                const TInt aCallId,
+                TDes& aData ) const;           
+    
+        /**
+        * Sets texts for voice call header.
+        * @param aCallId - Call Id.
+        * @param aWaitingCall - Waiting call indication.
+        * @param aCallHeaderData - Call header parameter into which the text
+        *                          will be set.
+        */
+        void SetCallHeaderTexts( 
+            const TInt aCallId, 
+            const TBool aWaitingCall,
+            const TBool aVideoCall,
+            TPhoneCmdParamCallHeaderData* aCallHeaderData );
+        
+        /**
+        * Returns the call header label text
+        * @return Returns the label
+        */
+        const TDesC& LabelText( TInt aCallId );
+
+        const TDesC& EmergencyHeaderText();
+        
+        const TDesC& AttemptingEmergencyText();
+        
+        /**
+        * Returns the call header call state.
+        * @return Returns the call state
+        */
+        TInt CallState( TInt aCallId ) const;
+        
+        void LoadResource( TDes& aData, const TInt aResource ) const;
+                
+        HBufC* LoadResource( const TInt aResource ) const;
+        
+    private:
+        
+        
+        
+        /**
+        * Set basic info to call header.
+        * @param aCallId - call id.
+        * @param aCallHeaderData - Call header parameter into which the text/picture
+        *                          parameters will be set.
+        */
+        void SetBasicCallHeaderParams(
+            const TInt aCallId, 
+            TPhoneCmdParamCallHeaderData* aCallHeaderData );
+        
+        /**
+        * Sets divert indication to call header if necessary
+        * @param aCallId - Call Id.
+        * @param aCallHeaderData - Call header where indication will be set
+        *                          if needed.
+        */
+        void SetDivertIndicatorToCallHeader( 
+                const TInt aCallId, 
+                TPhoneCmdParamCallHeaderData* aCallHeaderData );
+        
+        /**
+        * Sets divert indication to call header if necessary
+        * @param aFeatureKey - feature key id Id.
+        * @param aCallId - Call Id.
+        */
+        TBool IsFeatureSupported( 
+                const TInt aFeatureKey, 
+                const TInt aCallId ) const;
+        
+        /**
+        * Return CNAP (Calling Name Presentation) text
+        * @param aCallid call id
+        * @param aData the returned CNAP text
+        * @param aDirection the returned CNAP clipping direction
+        */
+        void GetCNAPText( 
+               const TInt aCallId,
+               TDes& aData, 
+               TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection& aDirection ) const;
+        
+        /**
+        * Check if contact is available(RemoteName or RemoteCompanyName),
+        * if available ETrue is returned otherwise EFalse.
+        * @param aCallid call id
+        */
+        TBool ContactInfoAvailable( 
+                const TInt aCallId ) const;
+        
+        /**
+        * Returns call type and stores type to member variable.
+        * @param aCallId - Call Id.
+        * @param aCallHeaderData - Call header data.
+        */
+        TPECallType GetCallType( 
+                const TInt aCallId,
+                TPhoneCmdParamCallHeaderData* aCallHeaderData ); 
+        
+        /**
+        * Sets caller image. 
+        * @param aCallId - Call Id.
+        * @param aCallHeaderData - Call header parameter where modifications
+        *                          are made.
+        */
+        void SetCallerImage( 
+                const TInt aCallId, 
+                TPhoneCmdParamCallHeaderData* aCallHeaderData );
+        
+        /**
+        * Updates cli and cnap parameters to call header.
+        * @param aCallId - Call Id.
+        * @param aCallHeaderData - Call header parameter where modifications
+        *                          are made.
+        */
+        void SetCliAndCnapParamaters( 
+                const TInt aCallId, 
+                TPhoneCmdParamCallHeaderData* aCallHeaderData  );
+        /**
+        * Updates cli parameter to call header.
+        * @param aCallId - Call Id.
+        * @param aCallHeaderData - Call header parameter where modifications
+        *                          are made.
+        */
+        void SetCliParamaters(
+                const TInt aCallId, 
+                TPhoneCmdParamCallHeaderData* aCallHeaderData );
+        
+        void LoadCallHeaderTexts(
+            const TInt aLabelId, 
+            TPhoneCmdParamCallHeaderData* aCallHeaderData );
+        
+        TBool IsVideoCall(int aCallId ) const;
+        
+    private:
+        
+        MPEEngineInfo& m_engineInfo;
+        TInt iCallHeaderType;
+        TBool iSetDivertIndication;
+        HBufC *iLabelText;
+        HBufC *iEmergencyHeaderText;
+        HBufC *iAttemptingEmergencyText;
+            
+    };
+
+#endif // PHONECALLHEADERUTIL_H
--- a/phoneapp/phoneuiqtviewadapter/inc/phoneindicatorcontroller.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiqtviewadapter/inc/phoneindicatorcontroller.h	Mon Oct 04 00:16:48 2010 +0300
@@ -52,6 +52,7 @@
 private:
     void updateDiverIndicator(bool activeDiverts);
     inline bool compareKeys(const XQSettingsKey &first, const XQSettingsKey &second);
+    void fetchMissedCalls(int count);
     
 private:
     HbIndicator         m_indicator;
@@ -63,6 +64,8 @@
     QString             m_callImage;
     XQAiwRequest*       m_request;
     PhoneVisibilityHandler& m_phoneVisibilityHandler;
+    
+    friend class UT_PhoneIndicatorController;
     };
 
 #endif /* PHONEINDICATORCONTROLLER_H_ */
--- a/phoneapp/phoneuiqtviewadapter/inc/phoneuiqtviewadapter.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiqtviewadapter/inc/phoneuiqtviewadapter.h	Mon Oct 04 00:16:48 2010 +0300
@@ -43,6 +43,8 @@
 class PhoneIndicatorController;
 class PhoneVisibilityHandler;
 class PhoneAppLauncher;
+class MPEEngineInfo;
+class PhoneCallHeaderManager;
 
 class PHONEUIQTVIEWADAPTER_EXPORT PhoneUIQtViewAdapter : 
     public QObject, 
@@ -149,6 +151,12 @@
     */
     PhoneNoteController* noteController() const;
 
+    /*!
+        \fn void PhoneUIQtViewAdapter::setEngineInfo ()
+        
+        Sets engine info.
+    */
+    void setEngineInfo(MPEEngineInfo* engineInfo);
 
 private slots:
 
@@ -181,64 +189,64 @@
     */
     void handleWindowDeactivated();
     
-private:
-
     /*!
-        \fn void PhoneUIQtViewAdapter::setTopApplication (TPhoneCommandParam *)
-        
-        This method is called when EPhoneViewSetTopApplication or
-        EPhoneViewSetIdleTopApplication command is received.
-    */
-    void setTopApplication (TPhoneCommandParam *commandParam);
+       \ fn void PhoneUIQtViewAdapter::onFocusLost();
+     
+         This method is called when the foreground application changes.
+     */
+    void onFocusLost();
     
     /*!
-        \fn int PhoneUIQtViewAdapter::idleAppUid()
-        
-        This method fetches Idle application's Id from PubSub and returns it.
-    */
-    int idleAppUid();
+       \ fn void PhoneUIQtViewAdapter::onFocusGained();
+       
+       This method is called when the foreground application changes.
+     */
+    void onFocusGained();
+    
+private:
 
     /*!
         \fn int PhoneUIQtViewAdapter::createCallHeader()
         
-        This method creates new call header.
+        This method creates new call header by call id.
     */
-    void createCallHeader (int callId, TPhoneCommandParam *commandParam);
-    
+    void createCallHeader(int callId);
+
     /*!
         \fn int PhoneUIQtViewAdapter::createCallHeader()
         
-        This method creates new call header.
+        This method creates new emergency call header.
     */
-    void createEmergencyCallHeader (int callId, TPhoneCommandParam *commandParam);
+    void createEmergencyCallHeader(int callId);
 
     /*!
         \fn int PhoneUIQtViewAdapter::updateCallHeader()
         
         This method updates call state information in call header.
     */
-    void updateCallHeaderState (int callId, TPhoneCommandParam *commandParam);
+    void updateCallHeaderState(int callId);
     
     /*!
         \fn int PhoneUIQtViewAdapter::updateCallHeaderRemoteInfo()
         
         This method updates remote information in call header.
     */
-    void updateCallHeaderRemoteInfo (int callId, TPhoneCommandParam *commandParam);
-    
+    void updateCallHeaderRemoteInfo(int callId);
+     
+
     /*!
         \fn int PhoneUIQtViewAdapter::updateCallHeaderRemoteInfo()
         
         This method updates remote information in call header and label.
     */
-    void updateCallHeaderRemoteInfoAndLabel (int callId, TPhoneCommandParam *commandParam);    
-
+    void updateCallHeaderRemoteInfoAndLabel(int callId);  
+    
     /*!
         \fn int PhoneUIQtViewAdapter::handleCipheringInfoChange()
         
         This method updates ciphering indicators.
     */
-    void handleCipheringInfoChange(int callId, TPhoneCommandParam *commandParam);    
+    void handleCipheringInfoChange(int callId);
     
     /*!
         \fn int PhoneUIQtViewAdapter::callIdByState()
@@ -264,21 +272,6 @@
         This method sets buttons to toolbar.        
     */
     void setToolbarButtons (TPhoneCommandParam *commandParam);
-    
-    /*!
-        \fn void PhoneUIQtViewAdapter::setCallHoldFlag (TPhoneCmdParam *commandParam)
-        
-        This method sets flag telling is the call hold or not.
-    */
-    void setCallHoldFlag (TPhoneCommandParam *commandParam);
-    
-    /*!
-        \fn void PhoneUIQtViewAdapter::callHoldFlag (TPhoneCmdParam *commandParam)
-        
-        This method retrieves flag telling is the call hold or not and writes
-        it into given command parameter.
-    */
-    void callHoldFlag (TPhoneCommandParam *commandParam);
 
     /*!
         \fn void PhoneUIQtViewAdapter::writeAudioVolumeLevel (TPhoneCmdParam *commandParam)
@@ -330,14 +323,14 @@
         This method opens dialpad.
     */
     void openDialpad();
-    
+
     /*!
         \fn int PhoneUIQtViewAdapter::createConference()
         
         This method creates conference bubble.
     */
-    void createConferenceBubble(int callId, TPhoneCommandParam *commandParam);
-
+    void createConferenceBubble(int callId);
+    
     /*!
         \fn int PhoneUIQtViewAdapter::conferenceCallId()
         
@@ -564,12 +557,15 @@
     PhoneUiCommandController *m_uiCommandController;
     PhoneMessageController *m_messageController;
     PhoneIndicatorController *m_indicatorController;
+    PhoneCallHeaderManager *m_phoneCallHeaderManager;
     bool m_dialpadAboutToClose;
     bool m_homeScreenToForeground;
 	PhoneVisibilityHandler *m_visibilityHandler;
 	PhoneAppLauncher *m_appLauncher;
 	bool m_clearDialpadOnClose;
 	bool m_speakerAsDefaultButton;
+	bool m_ringingTonePlaying;
+    MPEEngineInfo*  m_engineInfo;
 };
 
 #endif // PHONEUIQTVIEWADAPTER_H
--- a/phoneapp/phoneuiqtviewadapter/inc/phoneviewcommanddefinitions.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiqtviewadapter/inc/phoneviewcommanddefinitions.h	Mon Oct 04 00:16:48 2010 +0300
@@ -56,18 +56,13 @@
     EPhoneViewShowQuery,
     EPhoneViewSetListQueryString, 
     EPhoneViewRemoveQuery,
-    EPhoneViewSetTopApplication,
-    EPhoneViewBringAppToForeground,
+    EPhoneViewBringPhoneAppToForeground,
     EPhoneViewSendToBackground,
-    EPhoneViewSetNeedToSendToBackgroundStatus, 
-    EPhoneViewGetNeedToSendToBackgroundStatus,
     EPhoneViewGetTopApplicationIsDisplayedStatus, 
     EPhoneViewGetForegroundApplication, 
     EPhoneViewStartCapturingKey,
     EPhoneViewStopCapturingKey,
     EPhoneViewSetGlobalNotifiersDisabled,
-    EPhoneViewGetHoldFlag,
-    EPhoneViewSetHoldFlag,
     EPhoneViewRemovePhoneDialogs,
     EPhoneViewCreateConference,
     EPhoneViewAddToConference,
@@ -86,7 +81,6 @@
     EPhoneViewStopRingTone,
     EPhoneViewMuteRingToneOnAnswer,
     EPhoneViewCipheringInfoChange,
-    EPhoneViewCloseFSW, 
     EPhoneViewLaunchRfsDeep, 
     EPhoneViewLaunchRfsNormal, 
     EPhoneViewOpenSoftRejectEditor,
@@ -95,15 +89,11 @@
     EPhoneViewEnableKeyLock, 
     EPhoneViewEnableKeyLockWithoutNote, 
     EPhoneViewUpdateFSW,
-    EPhoneViewIsQuery, 
     EPhoneViewBringIdleToForeground, 
-    EPhoneViewSetIdleTopApplication,  
     EPhoneViewBeginUpdate,
     EPhoneViewEndUpdate,
     EPhoneViewRemoveConferenceBubble,
     EPhoneViewSetTouchPaneButtons, 
-    EPhoneViewGetBlockingDialogStatus, 
-    EPhoneViewIsNoteActive, 
     EPhoneViewOpenCallHandling, 
     EPhoneViewGetAudioVolumeLevel,
     EPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel,
@@ -114,9 +104,6 @@
     EPhoneViewSendAiwCommand, 
     
     EPhoneViewCipheringInfoChangePlayTone, 
-    EPhoneViewDisableKeyLockWithoutNote, 
-    
-    EPhoneViewGetKeyLockStatus, 
     
     EPhoneViewRemoveGlobalWaitNote,
     EPhoneViewSetPhoneCustomization, 
@@ -126,8 +113,6 @@
     EPhoneViewUpdateContactByString, 
     EPhoneViewAddContactByString, 
     
-    EPhoneViewIsActiveNoteDissmissableByKeyEvent, 
-    
     EPhoneViewEnableToolbarButton, 
     EPhoneViewHideToolbar, 
     EPhoneViewShowToolbar, 
@@ -144,6 +129,7 @@
     EPhoneViewSetBlueToothFlag,
     EPhoneViewSetBluetoothAvailableFlag,
     EPhoneViewSetSoftRejectDimmed,
+    EPhoneViewIsRingingTonePlaying,
     EPhoneAmountOfCommands, // Don't remove this, this should always be the last in list.
 };
 
--- a/phoneapp/phoneuiqtviewadapter/phoneuiqtviewadapter.pri	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiqtviewadapter/phoneuiqtviewadapter.pri	Mon Oct 04 00:16:48 2010 +0300
@@ -29,6 +29,8 @@
 HEADERS += ./inc/phonevisibilityhandler.h
 HEADERS += ./inc/phoneapplauncher.h
 HEADERS += ./inc/phoneglobalnotes.h
+HEADERS += ./inc/phonecallheadermanager.h
+HEADERS += ./inc/phonecallheaderutil.h
 
 SOURCES += ./src/phoneuiqtviewadapter.cpp
 SOURCES += ./src/phoneuiqtbuttonscontroller.cpp
@@ -43,4 +45,6 @@
 SOURCES += ./src/phonevisibilityhandler.cpp
 SOURCES += ./src/phoneapplauncher.cpp
 SOURCES += ./src/phoneglobalnotes.cpp
+SOURCES += ./src/phonecallheadermanager.cpp
+SOURCES += ./src/phonecallheaderutil.cpp
 
--- a/phoneapp/phoneuiqtviewadapter/phoneuiqtviewadapter.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiqtviewadapter/phoneuiqtviewadapter.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -26,6 +26,7 @@
     TARGET.UID3 = 0x20029F86
     DEFINES += FT_SYMBIAN_INTEGRATION
     DEFINES += BUILD_PHONEUIQTVIEWADAPTER
+    VERSION = 10.0
     
     INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
     INCLUDEPATH += ../../inc \
@@ -50,9 +51,11 @@
         -llockclient \
         -ltelephonyservice \
         -lapgrfx \
-        -lavkon \
         -lws32 \
-        -lcone
+        -lcone \
+        -lengineinfo \
+        -lphonestringloader \
+        -lbafl
         
     defFiles = "$${LITERAL_HASH}ifdef WINS" \
         "DEFFILE bwins/phoneuiqtviewadapter.def" \
@@ -62,13 +65,17 @@
     
     MMP_RULES += defFiles
 
-    #qcrml export
+#qcrml export
     BLD_INF_RULES.prj_exports += "./conf/carmode.qcrml  c:/resource/qt/crml/carmode.qcrml "
     crml.sources = ./conf/carmode.qcrml
     crml.path = c:/resource/qt/crml
     DEPLOYMENT += crml
 
+    BLD_INF_RULES.prj_exports += "./rom/phoneuiqtviewadapter_stub.sis /epoc32/data/z/system/install/phoneuiqtviewadapter_stub.sis"
 }
 
 # Input
 include(phoneuiqtviewadapter.pri)
+
+
+symbian:MMP_RULES += SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/rom/phoneuiqtviewadapter_stub.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,28 @@
+;
+; 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: For packing phoneuicontrol component.
+;
+; Languages
+&EN
+
+; SIS header: name, uid, version
+#{"phoneuiqtviewadapter"},(0x20029F86),1,0,0,TYPE=SA
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+                                  
+"" - "z:\sys\bin\phoneuiqtviewadapter.dll"
Binary file phoneapp/phoneuiqtviewadapter/rom/phoneuiqtviewadapter_stub.sis has changed
--- a/phoneapp/phoneuiqtviewadapter/src/phonebubblewrapper.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiqtviewadapter/src/phonebubblewrapper.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -15,7 +15,6 @@
 *
 */
 
-#include <hbaction.h>
 #include <pevirtualengine.h>
 
 #include "bubblemanagerif.h"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/src/phonecallheadermanager.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,386 @@
+/*!
+* 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:  Phone UI's symbian adapter for Qt view.
+*
+*/
+
+#include "phonecallheadermanager.h"
+#include "phonecallheaderutil.h"
+#include "phoneuiqtviewif.h"
+#include "phonebubblewrapper.h"
+#include "tphonecmdparaminteger.h"
+#include "tphonecmdparamboolean.h"
+#include "tphonecmdparamaudioavailability.h"
+#include "tphonecmdparamaudiooutput.h"
+#include "tphonecmdparamcallstatedata.h"
+#include "tphonecmdparamcallheaderdata.h"
+#include "tphonecmdparamemergencycallheaderdata.h"
+#include "tphonecmdparamstring.h"
+#include "phonerssbase.h"
+#include "cphonemediatorfactory.h"
+#include "cphonemediatorsender.h"
+#include "phoneviewcommanddefinitions.h"
+
+#include <bubblemanagerif.h>
+#include <pevirtualengine.h>
+#include <mpeengineinfo.h>
+
+
+//CONSTANTS
+
+
+inline Qt::TextElideMode clipToElide(
+    TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection clip)
+    {
+    return clip == TPhoneCmdParamCallHeaderData::ELeft ? 
+                   Qt::ElideLeft : Qt::ElideRight;
+    }
+
+PhoneCallHeaderManager::PhoneCallHeaderManager(PhoneBubbleWrapper &bubbleWrapper, 
+        PhoneUIQtViewIF &view, QObject *parent) :
+    QObject(parent),
+    m_bubbleWrapper(bubbleWrapper),
+    m_view(view),
+    m_callHeaderUtil(0),
+    m_resourceAdapter(0)
+{
+    
+}
+
+PhoneCallHeaderManager::~PhoneCallHeaderManager ()
+{
+    delete m_callHeaderUtil;
+}
+
+
+
+void PhoneCallHeaderManager::setEngineInfo(MPEEngineInfo* engineInfo)
+{
+    m_engineInfo = engineInfo;
+}
+
+void PhoneCallHeaderManager::createCallHeader(
+    int callId)
+{
+    TPhoneCmdParamCallHeaderData data;
+    
+    if (isIncoming(callId)) {
+        callHeaderUtil()->SetIncomingCallHeaderParams( 
+                callId, 
+                isWaitingCall(callId),
+                isVideoCall(callId),  
+                &data );
+    } else {
+        callHeaderUtil()->SetOutgoingCallHeaderParams(
+                callId,
+                &data);
+    }
+
+    m_bubbleWrapper.bubbleManager().startChanges ();
+
+    if (m_bubbleWrapper.bubbleManager().isConferenceExpanded())
+        {
+        m_bubbleWrapper.bubbleManager().setExpandedConferenceCallHeader(false);
+        }
+
+    int bubble = m_bubbleWrapper.createCallHeader(callId);
+    m_bubbleWrapper.setState(callId, bubble, data.CallState ());        
+    m_bubbleWrapper.setCli(bubble, data.CLIText(), clipToElide(data.CLITextClippingDirection()));
+    m_bubbleWrapper.setServiceId(callId, data.ServiceId());
+    m_bubbleWrapper.setSecondaryCli(bubble, data.CNAPText (), clipToElide(data.CNAPTextClippingDirection()));
+    m_bubbleWrapper.setLabel(bubble, data.LabelText ());
+    m_bubbleWrapper.setCallType(bubble, data.CallType ());
+    m_bubbleWrapper.setDivert(bubble, data.Diverted ());
+    m_bubbleWrapper.setCiphering(bubble, data.CipheringIndicatorAllowed(), data.Ciphering());
+
+    if (data.Picture().Length()) {
+        QString imagePath =
+            QString::fromUtf16(data.Picture().Ptr(),data.Picture().Length());
+        m_bubbleWrapper.bubbleManager().setCallObjectImage(bubble,imagePath);
+    } else {
+        m_bubbleWrapper.bubbleManager().setCallObjectFromTheme(bubble);
+    }
+    m_bubbleWrapper.bubbleManager().endChanges ();
+
+    CPhoneMediatorFactory::Instance()->Sender()->SendEvent(EPhoneViewCreateCallHeader, callId, data);
+}
+
+void PhoneCallHeaderManager::createEmergencyCallHeader(int callId)
+{
+    m_bubbleWrapper.bubbleManager().startChanges ();
+    int bubble = m_bubbleWrapper.createCallHeader (callId);
+    m_bubbleWrapper.setLabel(bubble, callHeaderUtil()->AttemptingEmergencyText());
+    m_bubbleWrapper.setCli (bubble, callHeaderUtil()->EmergencyHeaderText(), Qt::ElideRight);
+    m_bubbleWrapper.setState(callId, bubble, EPEStateDialing);
+    m_bubbleWrapper.setCiphering(bubble, m_engineInfo->SecureSpecified(), m_engineInfo->ServiceId(callId));
+    m_bubbleWrapper.bubbleManager().endChanges ();
+
+}
+
+void PhoneCallHeaderManager::removeCallHeader(int callId)
+{
+    m_bubbleWrapper.bubbleManager().startChanges();
+    int bubble = m_bubbleWrapper.bubbles().value(callId, -1);
+    if ( bubble != -1 ) {
+        m_view.clearBubbleCommands(bubble);
+        m_view.removeExpandAction(bubble);
+        m_bubbleWrapper.removeCallHeader(callId);
+    }
+    m_bubbleWrapper.bubbleManager().endChanges();
+}
+
+void PhoneCallHeaderManager::updateCallHeaderState(int callId)
+{
+
+    int bubble = m_bubbleWrapper.bubbleId(callId);
+    if ( -1 != bubble ) {
+        m_bubbleWrapper.bubbleManager ().startChanges ();
+        m_bubbleWrapper.setState(callId, bubble, callHeaderUtil()->CallState(callId));
+        m_bubbleWrapper.setLabel(bubble, callHeaderUtil()->LabelText(callId));
+        m_bubbleWrapper.setDivert(bubble, m_engineInfo->IncomingCallForwarded(callId));
+        m_bubbleWrapper.bubbleManager().endChanges ();
+    }
+}
+
+void PhoneCallHeaderManager::updateCallHeaderRemoteInfo(int callId)
+{
+
+    TPhoneCmdParamCallHeaderData data;
+
+     int bubble = m_bubbleWrapper.bubbleId(callId);
+     if ( -1 != bubble ) {
+         callHeaderUtil()->UpdateCallHeaderInfo( 
+                 callId, 
+                 isWaitingCall(callId),
+                 isVideoCall(callId),  
+                 &data );
+         
+         m_bubbleWrapper.bubbleManager().startChanges();
+         m_bubbleWrapper.setCli(bubble, data.CLIText(),
+             clipToElide(data.CLITextClippingDirection()));
+         m_bubbleWrapper.setSecondaryCli(bubble, data.CNAPText (),
+             clipToElide(data.CNAPTextClippingDirection()));
+         m_bubbleWrapper.setDivert(bubble, m_engineInfo->IncomingCallForwarded(callId));
+         m_bubbleWrapper.bubbleManager().endChanges ();
+     }
+
+}
+
+void PhoneCallHeaderManager::updateCallHeaderRemoteInfoAndLabel (int callId)
+{
+    TPhoneCmdParamCallHeaderData data;
+
+     int bubble = m_bubbleWrapper.bubbleId(callId);
+     if ( -1 != bubble ) {
+         callHeaderUtil()->UpdateCallHeaderInfo( 
+                 callId, 
+                 isWaitingCall(callId),
+                 isVideoCall(callId),  
+                 &data );
+         
+         m_bubbleWrapper.bubbleManager().startChanges ();
+         m_bubbleWrapper.setCli(bubble, data.CLIText (),
+             clipToElide(data.CLITextClippingDirection()));
+         m_bubbleWrapper.setSecondaryCli(bubble, data.CNAPText (),
+             clipToElide(data.CNAPTextClippingDirection()));
+         m_bubbleWrapper.setLabel(bubble, data.LabelText ());
+         m_bubbleWrapper.setDivert(bubble, data.Diverted ());
+         m_bubbleWrapper.bubbleManager().endChanges ();
+     }
+}
+
+void PhoneCallHeaderManager::handleCipheringInfoChange(int callId)
+{
+    if (callId == KPEConferenceCallID) {
+        bool secure(true);
+        for (int i=0; i<m_bubbleWrapper.conferenceCallList().count(); i++) {
+            if ( false == m_engineInfo->IsSecureCall(m_bubbleWrapper.conferenceCallList().at(i)) ) {
+                secure = false;
+                break;
+            }
+        }
+        m_bubbleWrapper.bubbleManager().startChanges();
+        m_bubbleWrapper.setCiphering(m_bubbleWrapper.bubbleId(callId),
+                                     m_engineInfo->SecureSpecified(),
+                                     secure);
+        m_bubbleWrapper.bubbleManager().endChanges();
+    } else {
+        int bubble = m_bubbleWrapper.bubbleId(callId);        
+        if ( -1 != bubble ) {        
+            m_bubbleWrapper.bubbleManager().startChanges();
+            m_bubbleWrapper.setCiphering(bubble,
+                                         m_engineInfo->SecureSpecified(),
+                                         m_engineInfo->IsSecureCall(callId));
+            m_bubbleWrapper.bubbleManager().endChanges();
+        }
+    }
+}
+
+
+
+
+void PhoneCallHeaderManager::createConferenceBubble(int callId)
+{
+    m_bubbleWrapper.bubbleManager().startChanges();
+    TBuf<KPhoneCallHeaderLabelMaxLength> conferenceText( KNullDesC );
+    callHeaderUtil()->LoadResource(conferenceText, EPhoneCLIConferenceCall);
+    int bubble = m_bubbleWrapper.createConferenceBubble(
+            callId, callHeaderUtil()->CallState(callId), callHeaderUtil()->LabelText(callId), conferenceText);
+    
+    m_bubbleWrapper.setServiceId(callId, m_engineInfo->ServiceId(callId));
+    m_bubbleWrapper.setCiphering(bubble, m_engineInfo->SecureSpecified(), m_engineInfo->IsSecureCall(callId));
+    m_bubbleWrapper.bubbleManager().endChanges();
+}
+
+
+void PhoneCallHeaderManager::removeConferenceBubble()
+{
+    m_bubbleWrapper.bubbleManager().startChanges();
+    m_view.removeExpandAction(m_bubbleWrapper.bubbleId(KConferenceCallId));
+    m_view.clearParticipantListActions();
+    m_bubbleWrapper.removeConferenceBubble();
+    m_bubbleWrapper.bubbleManager().endChanges();
+}
+
+void PhoneCallHeaderManager::removeCallFromConference(int callId)
+{
+    m_bubbleWrapper.bubbleManager().startChanges();
+    m_bubbleWrapper.removeCallFromConference(callId);
+    int bubbleId = m_bubbleWrapper.bubbles().value(callId);
+    m_view.clearBubbleCommands(bubbleId);
+    m_view.removeExpandAction(bubbleId);
+    m_bubbleWrapper.removeCallHeader(callId);
+    m_bubbleWrapper.bubbleManager().endChanges();
+}
+
+
+void PhoneCallHeaderManager::setPrivateFromConference(int callId)
+{
+    m_bubbleWrapper.bubbleManager().startChanges();
+    m_bubbleWrapper.bubbleManager().setExpandedConferenceCallHeader(false);
+    m_bubbleWrapper.removeCallFromConference(callId);
+    m_view.clearBubbleCommands(m_bubbleWrapper.bubbles().value(callId));
+    m_bubbleWrapper.bubbleManager().endChanges();
+}
+
+
+void PhoneCallHeaderManager::setExpandedConferenceCallHeader()
+{
+    int callId = -1;
+
+    if ( 1==m_bubbleWrapper.bubbles().keys().size()
+         || (1<m_bubbleWrapper.bubbles().keys().size()
+         && false == m_bubbleWrapper.callStates().values().contains(EPEStateRinging)
+         && false == m_bubbleWrapper.callStates().values().contains(EPEStateDialing)
+         && false == m_bubbleWrapper.callStates().values().contains(EPEStateConnecting)
+         && false == m_bubbleWrapper.callStates().values().contains(EPEStateHeldConference))) {
+
+        int bubbleId = m_bubbleWrapper.bubbleManager().expandedBubble();
+        callId = m_bubbleWrapper.callIdByBubbleId(bubbleId);
+    }
+
+    m_bubbleWrapper.bubbleManager().startChanges();
+    m_bubbleWrapper.bubbleManager().setExpandedConferenceCallHeader(
+            (KConferenceCallId == callId));
+    m_bubbleWrapper.bubbleManager().endChanges();
+}
+
+
+void PhoneCallHeaderManager::removeAllCallHeaders()
+{
+    if (m_bubbleWrapper.conferenceCallList().size()) {
+        removeConferenceBubble();
+    }
+
+    QList<int> callIds = m_bubbleWrapper.bubbles().keys();
+
+    for (int i=0; i<callIds.size(); ++i) {
+        int callId = callIds.at(i);
+        if (KEmergencyCallId != callId) {
+            m_bubbleWrapper.bubbleManager().startChanges();
+            int bubble = m_bubbleWrapper.bubbles().value(callId);
+            m_view.clearBubbleCommands(bubble);
+            m_view.removeExpandAction(bubble);
+            m_bubbleWrapper.removeCallHeader (callId);
+            m_bubbleWrapper.bubbleManager().endChanges();
+        }
+    }
+}
+
+// ---------------------------------------------------------------------------
+//  PhoneCallHeaderUtil::IsVoiceCall
+// ---------------------------------------------------------------------------
+//
+bool PhoneCallHeaderManager::isVoiceCall(int callId) const
+    {
+    if( callId < 0 )
+        {
+        return ( m_engineInfo->CallTypeCommand()
+                    == EPECallTypeCSVoice ||
+                m_engineInfo->CallTypeCommand()
+                    == EPECallTypeVoIP );  
+        }
+    
+    return ( m_engineInfo->CallType( callId )
+                == EPECallTypeCSVoice ||
+             m_engineInfo->CallType( callId )
+                == EPECallTypeVoIP );
+    }
+
+
+// ---------------------------------------------------------------------------
+//  PhoneCallHeaderUtil::IsVideoCall
+// ---------------------------------------------------------------------------
+//
+bool PhoneCallHeaderManager::isVideoCall(int callId) const
+    {
+    if( callId < 0 )
+        {
+        return ( m_engineInfo->CallTypeCommand()
+            == EPECallTypeVideo );  
+        }
+    return ( m_engineInfo->CallType( callId )
+            == EPECallTypeVideo );
+    }
+
+bool PhoneCallHeaderManager::isIncoming(int callId) const
+    {
+    return callId >= 0 && 
+           m_engineInfo->CallState( callId ) == EPEStateRinging;
+    }
+
+bool PhoneCallHeaderManager::isWaitingCall(int callId) const
+    {
+    bool waiting( EFalse );
+    if ( callId >= 0 && 
+         m_engineInfo->CallState( callId ) == EPEStateRinging )
+        {
+        if( m_bubbleWrapper.activeCallCount() > 0 )
+            {
+            waiting = ETrue;
+            }
+        }
+    return waiting;
+    }
+
+PhoneCallHeaderUtil *PhoneCallHeaderManager::callHeaderUtil()
+{
+    if (!m_callHeaderUtil) {
+        m_callHeaderUtil = new PhoneCallHeaderUtil(*m_engineInfo);
+    }
+
+    return m_callHeaderUtil;
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/src/phonecallheaderutil.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,833 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  A parameter class for setting call header information
+*
+*/
+
+
+#include <mpeclientinformation.h>
+#include <StringLoader.h>
+#include <bautils.h>
+
+#include "phonecallheaderutil.h"
+#include "tphonecmdparamboolean.h"
+#include "cphonemainresourceresolver.h"
+#include "phonerssbase.h"
+#include "phoneui.pan"
+#include "cphonecenrepproxy.h"
+#include "telephonyvariant.hrh"
+#include "phoneviewcommanddefinitions.h"
+#include "phonelogger.h"
+
+// ======== MEMBER FUNCTIONS ========
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderUtil::PhoneCallHeaderUtil
+// -----------------------------------------------------------------------------
+//  
+PhoneCallHeaderUtil::PhoneCallHeaderUtil(
+        MPEEngineInfo& engineInfo ) 
+        : m_engineInfo( engineInfo),
+          iCallHeaderType( EPECallTypeUninitialized ),
+          iSetDivertIndication( EFalse ),
+          iLabelText( NULL ),
+          iEmergencyHeaderText( NULL ),
+          iAttemptingEmergencyText( NULL )
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderUtil::~PhoneCallHeaderUtil
+// -----------------------------------------------------------------------------
+//  
+PhoneCallHeaderUtil::~PhoneCallHeaderUtil()
+    {
+    delete iLabelText;
+    
+    delete iEmergencyHeaderText;
+    
+    delete iAttemptingEmergencyText;
+    }
+
+// -----------------------------------------------------------
+// PhoneCallHeaderUtil::SetCallHeaderTexts
+// -----------------------------------------------------------
+//
+void PhoneCallHeaderUtil::SetCallHeaderTexts(
+    const TInt aCallId, 
+    const TBool aWaitingCall,
+    const TBool aVideoCall,
+    TPhoneCmdParamCallHeaderData* aCallHeaderData )
+    {
+    __LOGMETHODSTARTEND(EPhoneControl, "PhoneCallHeaderUtil::SetCallHeaderTexts( ) ");
+    
+    TInt labelId(KPhoneRssCommonFirst);
+    
+    // Fetch engine info parameters.
+    const TBool auxLine( m_engineInfo.CallALSLine( aCallId ) == CCCECallParameters::ECCELineTypeAux );
+    const TBool cli( m_engineInfo.RemotePhoneNumber( aCallId ).Length());
+    const TBool cnap( m_engineInfo.RemotePartyName( aCallId ).Length());
+    const TInt numberType( m_engineInfo.RemotePhoneNumberType( aCallId ));
+    
+    __PHONELOG2( EBasic, EPhoneControl, "PhoneCallHeaderUtil::SetCallHeaderTexts - NumberType(%d), CLI(%d)", numberType, cli );
+    __PHONELOG2( EBasic, EPhoneControl, "PhoneCallHeaderUtil::SetCallHeaderTexts - CNAP(%d), AuxLine(%d)", cnap, auxLine );
+    
+    if ( !cli && !cnap && numberType != EPEPrivateNumber && numberType != EPEUnknownNumber )
+        {
+        if ( auxLine )
+            {
+            if ( aWaitingCall )
+                {
+                labelId = EPhoneIncomingLine2WaitingText; // waiting, line 2
+                }
+            else
+                {
+                labelId = EPhoneIncomingLine2Text; // on line 2
+                }
+            }
+        // If CLIR, but also network limitation(e.g. EPEUnknownNumber), then second line 
+        // should be empty in call bubble.
+        else
+            {
+            labelId = KPhoneRssCommonFirst; // No second line in call bubble
+            }
+        }
+    else  // Voice or video call with CLI or with CNAP.
+        {
+        if ( aWaitingCall )
+            {
+            if ( auxLine  )
+                {
+                labelId = EPhoneIncomingLine2WaitingText; // waiting, line 2
+                }
+            else
+                {
+                labelId = EPhoneCallWaitingLabel; // waiting
+                }
+            }
+        else // Mo other calls
+            {
+            if ( auxLine )
+                {
+                labelId = EPhoneIncomingLine2CallingText; // calling, line 2
+                }
+            else
+                {
+                // If CLIR, but not network limitation, then second line 
+                // (calling or video call) should be shown in call bubble.
+                if ( aVideoCall )
+                    {
+                    labelId = EPhoneVideoCallIncoming; // video call
+                    }
+                else
+                    {
+                    labelId = EPhoneIncomingCallLabel; // calling
+                    }
+                }
+            }
+        }
+    __PHONELOG1( EBasic, EPhoneControl, "PhoneCallHeaderUtil::SetCallHeaderTexts - labelId(%d)", labelId );
+    LoadCallHeaderTexts( labelId, aCallHeaderData );
+    }
+ 
+// -----------------------------------------------------------
+// PhoneCallHeaderUtil::LabelText
+// -----------------------------------------------------------
+//
+const TDesC& PhoneCallHeaderUtil::LabelText( TInt aCallId )
+    {
+
+    if (iLabelText)
+        {
+        delete iLabelText;
+        iLabelText = NULL;
+        }
+    
+    switch (m_engineInfo.CallState(aCallId))
+        {
+        case EPEStateDisconnecting:
+            {
+            iLabelText = LoadResource(EPhoneInCallDisconnected);
+            break;
+            }
+        case EPEStateHeld:
+        case EPEStateHeldConference:
+            {
+            iLabelText = LoadResource(EPhoneCallOnHold);
+            break;
+            }
+        case EPEStateConnectedConference:
+            {
+            iLabelText = LoadResource(EPhoneCLIConferenceCall);
+            break;
+            }
+        case EPEStateRinging:
+            {
+            TPhoneCmdParamCallHeaderData callHeaderData;
+            SetCallHeaderTexts(
+                aCallId, 
+                EFalse,
+                IsVideoCall( aCallId ),
+                &callHeaderData );           
+
+            if (callHeaderData.LabelText().Length())
+                {
+                iLabelText = callHeaderData.LabelText().Alloc();
+                }
+            break;
+            }
+        default:
+            break;
+        }
+    
+    return iLabelText ? *iLabelText : KNullDesC();
+    }
+
+// -----------------------------------------------------------
+// PhoneCallHeaderUtil::EmergencyHeaderText
+// -----------------------------------------------------------
+//
+const TDesC& PhoneCallHeaderUtil::EmergencyHeaderText()
+    {
+    if (!iEmergencyHeaderText)
+        {
+        iEmergencyHeaderText = LoadResource(EPhoneEmergencyCallHeader);
+        }
+     
+    return iEmergencyHeaderText ? *iEmergencyHeaderText : KNullDesC();
+    }
+
+// -----------------------------------------------------------
+// PhoneCallHeaderUtil::AttemptingEmergencyText
+// -----------------------------------------------------------
+//
+const TDesC& PhoneCallHeaderUtil::AttemptingEmergencyText()
+    {
+    if (!iAttemptingEmergencyText)
+        {
+        iAttemptingEmergencyText = LoadResource(EPhoneAttemptingEmergencyText);
+        }
+     
+    return iAttemptingEmergencyText ? *iAttemptingEmergencyText : KNullDesC();
+    }
+
+// -----------------------------------------------------------
+// PhoneCallHeaderUtil::CallState
+// -----------------------------------------------------------
+//
+TInt PhoneCallHeaderUtil::CallState( TInt aCallId ) const
+    {
+    return m_engineInfo.CallState(aCallId);
+    }
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderUtil::SetCliParamatersL
+// -----------------------------------------------------------------------------
+// 
+void PhoneCallHeaderUtil::SetCliParamaters(
+        const TInt aCallId, 
+        TPhoneCmdParamCallHeaderData* aCallHeaderData )
+    {
+    __LOGMETHODSTARTEND(EPhoneControl, "PhoneCallHeaderUtil::SetCliParamatersL( ) ");
+    
+    // Set call header number type
+    aCallHeaderData->SetNumberType( m_engineInfo.RemotePhoneNumberType( aCallId ) );
+    
+    if ( ( m_engineInfo.RemotePhoneNumber( aCallId ).Length() ) && 
+         ( !ContactInfoAvailable( aCallId ) ) )
+        {
+        // Set phonenumber/URI as the CLI text for the call header      
+       aCallHeaderData->SetCLIText( m_engineInfo.RemotePhoneNumber( aCallId ),
+                 TPhoneCmdParamCallHeaderData::ELeft );
+            
+        // No contact name, use phonenumber when available.
+        aCallHeaderData->SetParticipantListCLI(
+                TPhoneCmdParamCallHeaderData::EPhoneParticipantCNAPText );
+        }
+    else
+        {
+        TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection cnapClippingDirection = TPhoneCmdParamCallHeaderData::ERight;
+        TBuf<KCntMaxTextFieldLength> remoteInfoText( KNullDesC );
+ 
+        TBool secondaryCli = GetRemoteInfoData( aCallId, remoteInfoText );
+        cnapClippingDirection = TPhoneCmdParamCallHeaderData::ELeft;
+
+        aCallHeaderData->SetCLIText( remoteInfoText,  TPhoneCmdParamCallHeaderData::ERight );
+        
+        if (secondaryCli)
+            {
+            aCallHeaderData->SetCNAPText( m_engineInfo.RemotePhoneNumber( aCallId ), 
+                cnapClippingDirection );
+            }
+        }
+    
+    SetCallerImage( aCallId, aCallHeaderData );
+
+    // Set the Caller text
+    if ( m_engineInfo.CallerText( aCallId ).Length() > 0 )
+        {
+        aCallHeaderData->SetCallerText( m_engineInfo.CallerText( aCallId ) );
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderUtil::SetCallerImage
+// -----------------------------------------------------------------------------
+//     
+void PhoneCallHeaderUtil::SetCallerImage( 
+        const TInt aCallId, 
+        TPhoneCmdParamCallHeaderData* aCallHeaderData )
+    {
+    __LOGMETHODSTARTEND(EPhoneControl, "PhoneCallHeaderUtil::SetCallerImage( ) ");
+    // Set the call header picture data if it is available
+    if ( ( m_engineInfo.CallerImage( aCallId ).Length() > 0 )  && 
+         ( BaflUtils::FileExists( CCoeEnv::Static()->FsSession(), 
+                 m_engineInfo.CallerImage( aCallId ) ) ) )
+        {
+        aCallHeaderData->SetPicture( m_engineInfo.CallerImage( aCallId ) );
+        }
+    else
+        {
+        // Set the thumbnail picture data if it is available
+        aCallHeaderData->SetHasThumbnail( m_engineInfo.HasCallerThumbnail( aCallId ) );
+        CFbsBitmap* picture = m_engineInfo.CallerThumbnail( aCallId );
+        if ( picture )
+            {
+            aCallHeaderData->SetThumbnail( picture );
+            }
+        }
+    }
+
+// ---------------------------------------------------------------------------
+//  PhoneCallHeaderUtil::SetBasicCallHeaderParamsL
+// ---------------------------------------------------------------------------
+//
+void PhoneCallHeaderUtil::SetBasicCallHeaderParams(
+        const TInt aCallId, 
+        TPhoneCmdParamCallHeaderData* aCallHeaderData )
+    {
+    __LOGMETHODSTARTEND(EPhoneControl, "PhoneCallHeaderUtil::SetBasicCallHeaderParamsL( ) ");
+    // Set call header call state
+    aCallHeaderData->SetCallState( 
+            m_engineInfo.CallState( aCallId ) );
+
+    // Set call header type            
+    aCallHeaderData->SetCallType( GetCallType( aCallId, aCallHeaderData ) );
+    
+    // Set call header voice privacy status
+    aCallHeaderData->SetCiphering( 
+            m_engineInfo.IsSecureCall( aCallId ) );
+    aCallHeaderData->SetCipheringIndicatorAllowed( 
+            m_engineInfo.SecureSpecified() );
+    
+    //see service provider settings API
+    aCallHeaderData->SetServiceId(
+            m_engineInfo.ServiceId( aCallId ) );
+       
+    // Set contact link, see virtual phonebook API
+    aCallHeaderData->SetContactLink(
+            m_engineInfo.ContactLink( aCallId ) );
+       
+    // Set remote phone number
+    aCallHeaderData->SetRemotePhoneNumber(
+            m_engineInfo.RemotePhoneNumber( aCallId ) );
+    }
+
+// ---------------------------------------------------------------------------
+//  PhoneCallHeaderUtil::GetCallType
+// ---------------------------------------------------------------------------
+//
+TPECallType PhoneCallHeaderUtil::GetCallType( 
+        const TInt aCallId,
+        TPhoneCmdParamCallHeaderData* aCallHeaderData )
+    {
+    __LOGMETHODSTARTEND(EPhoneControl, "PhoneCallHeaderUtil::GetCallType( ) ");
+    // Set call header type.
+    TPECallType callType = 
+            m_engineInfo.CallType( aCallId );
+    SetCallHeaderType( callType );
+    
+    if ( m_engineInfo.CallALSLine( aCallId ) 
+         == CCCECallParameters::ECCELineTypeAux )
+        {
+        aCallHeaderData->SetLine2( ETrue );
+        }
+
+    __PHONELOG1( EBasic, EPhoneControl, 
+                "PhoneCallHeaderUtil::GetCallType() - callType: %d ", 
+                callType )
+    return callType;
+    }
+
+// ---------------------------------------------------------------------------
+//  PhoneCallHeaderUtil::SetCallHeaderType
+// ---------------------------------------------------------------------------
+//
+void PhoneCallHeaderUtil::SetCallHeaderType( 
+    TInt aCallHeaderType )
+    {
+    __LOGMETHODSTARTEND(EPhoneControl, "PhoneCallHeaderUtil::SetCallHeaderType( ) ");
+    iCallHeaderType = aCallHeaderType;
+    __PHONELOG1( EBasic, EPhoneControl, 
+                    "PhoneCallHeaderUtil::SetCallHeaderType() - iCallHeaderType: %d ", 
+                    iCallHeaderType )
+    }
+
+// ---------------------------------------------------------------------------
+//  PhoneCallHeaderUtil::CallHeaderType
+// ---------------------------------------------------------------------------
+//
+TInt PhoneCallHeaderUtil::CallHeaderType() const
+    {
+    __LOGMETHODSTARTEND(EPhoneControl, "PhoneCallHeaderUtil::CallHeaderType( ) ");
+    __PHONELOG1( EBasic, EPhoneControl, 
+                        "PhoneCallHeaderUtil::CallHeaderType() - iCallHeaderType: %d ", 
+                        iCallHeaderType )
+    return iCallHeaderType;            
+    }
+
+// ---------------------------------------------------------------------------
+//  PhoneCallHeaderUtil::ContactInfoAvailable
+// ---------------------------------------------------------------------------
+//
+TBool PhoneCallHeaderUtil::ContactInfoAvailable( const TInt aCallId ) const
+    {
+    __LOGMETHODSTARTEND(EPhoneControl, "PhoneCallHeaderUtil::ContactInfoAvailable( ) ");
+    TBool contactAvailable = EFalse;
+    if ( ( m_engineInfo.RemoteName( aCallId ).Length() ) || 
+         ( m_engineInfo.RemoteCompanyName( aCallId ).Length() ) )
+        {
+        contactAvailable = ETrue;
+        }
+    return contactAvailable;
+    }
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderUtil::SetCliAndCnapParamatersL
+// -----------------------------------------------------------------------------
+// 
+void PhoneCallHeaderUtil::SetCliAndCnapParamaters(
+        const TInt aCallId, 
+        TPhoneCmdParamCallHeaderData* aCallHeaderData )
+    {
+    __LOGMETHODSTARTEND(EPhoneControl, "PhoneCallHeaderUtil::SetCliAndCnapParamatersL( ) ");
+    TBuf<KCntMaxTextFieldLength> cnapText( KNullDesC );
+
+    // Set call header number type
+    aCallHeaderData->SetNumberType( m_engineInfo.RemotePhoneNumberType( aCallId ) );
+        
+    const MPEClientInformation& info = 
+            m_engineInfo.CallClientInformation( aCallId );
+
+    if ( ( m_engineInfo.RemotePhoneNumber( aCallId ).Length() ) && 
+         ( !ContactInfoAvailable( aCallId ) ) && 
+         ( !info.ShowNumber() ) )
+        {
+        // No contact info data available; use the phone number
+        aCallHeaderData->SetCLIText(
+                m_engineInfo.RemotePhoneNumber( aCallId ),
+                TPhoneCmdParamCallHeaderData::ELeft);
+        
+        // No contact name, use phonenumber when available.
+        aCallHeaderData->SetParticipantListCLI( 
+                TPhoneCmdParamCallHeaderData::EPhoneParticipantCNAPText );
+        }
+    else
+        {
+        TBuf<KCntMaxTextFieldLength> remoteInfoText( KNullDesC );
+        
+        GetRemoteInfoData( aCallId, remoteInfoText );
+        aCallHeaderData->SetCLIText( remoteInfoText, TPhoneCmdParamCallHeaderData::ERight );
+        }
+
+    // Fetch CNAP text and clipping direction
+    TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection cnapClippingDirection;
+    GetCNAPText( aCallId, cnapText, cnapClippingDirection );
+    
+    // Set CNAP data 
+    aCallHeaderData->SetCNAPText( cnapText, cnapClippingDirection );
+    
+    // Set caller image 
+    SetCallerImage( aCallId, aCallHeaderData );
+
+    // Set the Caller text
+    if ( m_engineInfo.CallerText( aCallId ).Length() > 0 )
+        {
+        aCallHeaderData->SetCallerText( m_engineInfo.CallerText( aCallId ) );
+        }        
+    
+    // Set the call header CNAP data ( Contains possible CNAP name or received skype identification ).
+    if ( IsFeatureSupported( KTelephonyLVFlagUUS, aCallId ) )
+        {
+        aCallHeaderData->SetCNAPText( m_engineInfo.RemotePartyName( aCallId ), 
+                TPhoneCmdParamCallHeaderData::ERight );
+        }
+    }
+
+// ---------------------------------------------------------------------------
+//  PhoneCallHeaderUtil::GetCNAPText
+// ---------------------------------------------------------------------------
+//
+void PhoneCallHeaderUtil::GetCNAPText( 
+    const TInt aCallId,
+       TDes& aData, 
+       TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection& aDirection ) const
+    {
+    __LOGMETHODSTARTEND(EPhoneControl, "PhoneCallHeaderUtil::GetCNAPText( ) ");
+    
+    // Set clipping direction  
+    aDirection = TPhoneCmdParamCallHeaderData::ERight;
+    
+    // If it's not a private number show further info
+    if ( m_engineInfo.RemotePhoneNumberType( aCallId ) != 
+        EPEPrivateNumber )
+        {
+        if ( ( m_engineInfo.RemoteName( aCallId ).Length() ||
+               m_engineInfo.RemotePartyName( aCallId ).Length() || 
+               m_engineInfo.RemoteCompanyName( aCallId ).Length() ) &&
+               m_engineInfo.RemotePhoneNumber( aCallId ).Length() )
+            {
+            // Use the phone number for the CNAP display
+            aData.Copy( m_engineInfo.RemotePhoneNumber( aCallId ) );
+            
+            // Clipping direction for non-private number
+            aDirection = TPhoneCmdParamCallHeaderData::ELeft;
+            }
+        }
+    }
+
+// ---------------------------------------------------------------------------
+//  PhoneCallHeaderUtil::IsFeatureSupported
+// ---------------------------------------------------------------------------
+//
+TBool PhoneCallHeaderUtil::IsFeatureSupported( 
+        const TInt aFeatureKey, 
+        const TInt aCallId ) const
+    {
+    __LOGMETHODSTARTEND(EPhoneControl, "PhoneCallHeaderUtil::IsFeatureSupported( ) ");
+    TBool featureSupport(EFalse);
+    switch( aFeatureKey )
+        {
+        case KTelephonyLVFlagUUS:
+            {
+            if( ( CPhoneCenRepProxy::Instance()->IsTelephonyFeatureSupported( aFeatureKey ) ) &&
+                ( m_engineInfo.RemotePartyName( aCallId ).Length() ) )
+                {
+                featureSupport = ETrue;
+                }
+            }
+            break;
+        default:
+            //Do nothing.
+            break;
+        }
+    __PHONELOG1( EBasic, EPhoneControl, 
+            "PhoneCallHeaderUtil::IsFeatureSupported() - featureSupport: %d ", 
+            featureSupport )
+    
+    return featureSupport;
+    }
+
+// ---------------------------------------------------------------------------
+// PhoneCallHeaderUtil::SetDivertIndicatorToCallHeader
+// ---------------------------------------------------------------------------
+//
+void PhoneCallHeaderUtil::SetDivertIndicatorToCallHeader( 
+    const TInt aCallId, 
+    TPhoneCmdParamCallHeaderData* aCallHeaderData )
+    {
+    __LOGMETHODSTARTEND(EPhoneControl, "PhoneCallHeaderUtil::SetDivertIndicatorToCallHeader( ) ");
+    if( m_engineInfo.IncomingCallForwarded( aCallId ) )
+        {
+        aCallHeaderData->SetDiverted( ETrue );
+        }
+    
+    if ( m_engineInfo.CallALSLine( aCallId ) == CCCECallParameters::ECCELineTypeAux )
+        {
+        __PHONELOG( EBasic, EPhoneControl, 
+                "PhoneCallHeaderUtil::SetDivertIndicatorToCallHeader - CallALSLine() == CCCECallParameters::ECCELineTypeAux");
+        aCallHeaderData->SetLine2( ETrue );    
+        }        
+    }
+
+// ---------------------------------------------------------------------------
+// PhoneCallHeaderUtil::SetDivertIndication
+// ---------------------------------------------------------------------------
+//
+void PhoneCallHeaderUtil::SetDivertIndication( const TBool aDivertIndication )
+    {
+    __LOGMETHODSTARTEND(EPhoneControl, "PhoneCallHeaderUtil::SetDivertIndication( ) ");
+    iSetDivertIndication = aDivertIndication;           
+    __PHONELOG1( EBasic, EPhoneControl, 
+                "PhoneCallHeaderUtil::SetDivertIndication() - iSetDivertIndication: %d ", 
+                iSetDivertIndication )
+    }
+
+// ---------------------------------------------------------------------------
+//  PhoneCallHeaderUtil::SetIncomingCallHeaderParams
+// ---------------------------------------------------------------------------
+//
+void PhoneCallHeaderUtil::SetIncomingCallHeaderParams(
+        const TInt aCallId, 
+        const TBool aWaitingCall,
+        const TBool aVideoCall,
+        TPhoneCmdParamCallHeaderData* aCallHeaderData )
+    {
+    __LOGMETHODSTARTEND(EPhoneControl, "PhoneCallHeaderUtil::SetIncomingCallHeaderParamsL( ) ");
+    // Set basic params must be called before update is called.
+    SetBasicCallHeaderParams( aCallId, aCallHeaderData );
+    
+    // Set call header labels
+    SetCallHeaderTexts( 
+            aCallId, 
+            aWaitingCall, 
+            aVideoCall, 
+            aCallHeaderData );
+    
+    SetCliAndCnapParamaters( aCallId, aCallHeaderData );
+    
+    // Set divert indication to call header if needed.
+    SetDivertIndicatorToCallHeader( aCallId, aCallHeaderData );
+    }
+
+// ---------------------------------------------------------------------------
+//  PhoneCallHeaderUtil::SetOutgoingCallHeaderParams
+// ---------------------------------------------------------------------------
+//
+void PhoneCallHeaderUtil::SetOutgoingCallHeaderParams(
+        const TInt aCallId,
+        TPhoneCmdParamCallHeaderData* aCallHeaderData )
+    {
+    __LOGMETHODSTARTEND(EPhoneControl, "PhoneCallHeaderUtil::SetOutgoingCallHeaderParams( ) ");
+    // Set basic params must be called before update is called.
+    SetBasicCallHeaderParams( aCallId, aCallHeaderData );
+    
+    // Set call header labels
+    if ( aCallHeaderData->CallType() == EPECallTypeVideo )
+        {
+        LoadCallHeaderTexts( 
+                EPhoneOutgoingVideoCallLabel, 
+                aCallHeaderData );
+        }
+    else
+        {
+        LoadCallHeaderTexts( 
+                EPhoneOutgoingCallLabel, 
+                aCallHeaderData );
+        }
+    
+    SetCliParamaters( aCallId, aCallHeaderData );
+    }
+
+// ---------------------------------------------------------------------------
+//  PhoneCallHeaderUtil::UpdateCallHeaderInfo
+// ---------------------------------------------------------------------------
+//
+void PhoneCallHeaderUtil::UpdateCallHeaderInfo( 
+        const TInt aCallId,
+        const TBool aWaitingCall,
+        const TBool aVideoCall,
+        TPhoneCmdParamCallHeaderData* aCallHeaderData )
+    {
+    __LOGMETHODSTARTEND(EPhoneControl, "PhoneCallHeaderUtil::UpdateCallHeaderInfoL( ) ");
+    TBuf<KCntMaxTextFieldLength> remoteInfoText( KNullDesC );
+    
+    // Set call header type
+    GetCallType( aCallId, aCallHeaderData );
+    
+    // Set CLI text for the call header
+    TBool secondaryCli = GetRemoteInfoData( aCallId, remoteInfoText );
+    if ( remoteInfoText != KNullDesC )
+        {
+        aCallHeaderData->SetCLIText( remoteInfoText, TPhoneCmdParamCallHeaderData::ERight );
+        if ( secondaryCli )
+            {
+            aCallHeaderData->SetCNAPText( m_engineInfo.
+                RemotePhoneNumber( aCallId ), TPhoneCmdParamCallHeaderData::ELeft );       
+            }
+        }
+    else
+        {
+        aCallHeaderData->SetCLIText( 
+            m_engineInfo.RemotePhoneNumber( aCallId ),
+                TPhoneCmdParamCallHeaderData::ELeft );
+        }
+
+    // If KTelephonyLVFlagUUS is enabled it will over write RemotePartyName setting.
+    // Contains possible CNAP name or received skype identification
+    if ( IsFeatureSupported( KTelephonyLVFlagUUS, aCallId ) )
+        {
+        TBuf<KCntMaxTextFieldLength> remotePartyName( KNullDesC );
+        remotePartyName.Copy( m_engineInfo.RemotePartyName( aCallId ) );
+       
+        if ( m_engineInfo.CallState( aCallId ) == EPEStateRinging )
+            {
+            // Set CNAP text  
+            aCallHeaderData->SetCNAPText( remotePartyName, TPhoneCmdParamCallHeaderData::ERight );
+            }
+        else
+            {
+            aCallHeaderData->SetCLIText( remotePartyName, TPhoneCmdParamCallHeaderData::ERight );
+            }
+        }   
+    
+    // Set call header labels
+    SetCallHeaderTexts( 
+            aCallId, 
+            aWaitingCall, 
+            aVideoCall, 
+            aCallHeaderData );
+            
+    // Update caller image
+    SetCallerImage( 
+            aCallId, 
+            aCallHeaderData ); 
+    }
+
+
+
+// ---------------------------------------------------------------------------
+//  PhoneCallHeaderUtil::GetRemoteInfoDataL
+// ---------------------------------------------------------------------------
+//
+TBool PhoneCallHeaderUtil::GetRemoteInfoData( 
+        const TInt aCallId, 
+        TDes& aData ) const 
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "PhoneCallHeaderUtil::GetRemoteInfoDataL() ");
+    __PHONELOG1( EBasic, EPhoneControl, "PhoneCallHeaderUtil::GetRemoteInfoDataL() - call id =%d ", aCallId);
+    
+    TBool secondaryCli(EFalse);
+        
+    if ( aCallId == KEmergencyCallId )
+        {
+        // Set emergency label text
+        LoadResource( aData, EPhoneEmergencyCallHeader );
+        }
+    else
+        {
+        const RMobileCall::TMobileCallRemoteIdentityStatus identity = 
+                m_engineInfo.RemoteIdentity( aCallId );
+        // Note next if-statements are in priority order so be careful if you change order
+        // or add new if-statements.
+        if ( m_engineInfo.RemoteName( aCallId ).Length() )
+            {
+            // Display the contact name if it is available
+            aData.Copy( m_engineInfo.RemoteName( aCallId ) );
+            secondaryCli = ETrue;
+            }
+        else if ( m_engineInfo.RemotePartyName( aCallId ).Length() )
+            {
+            // Display the CNAP or UUS info if it is available.
+            aData.Copy( m_engineInfo.RemotePartyName( aCallId ) );
+            secondaryCli = ETrue;
+            }
+        else if ( m_engineInfo.RemoteCompanyName( aCallId ).Length() )
+            {
+            // Display the company name if it is available
+            aData.Copy( m_engineInfo.RemoteCompanyName( aCallId ) );
+            }
+        else if ( m_engineInfo.CallDirection( aCallId ) == RMobileCall::EMobileTerminated )
+            {
+            if ( EPEPrivateNumber == m_engineInfo.RemotePhoneNumberType( aCallId ) )
+                {
+                if ( EPECallTypeVoIP == CallHeaderType() )
+                    {
+                    // TODO LoadResource( aData, iManagerUtility.Customization()->CustomizeCallHeaderText() );
+                    }
+                else
+                    {
+                    // private number
+                    LoadResource( aData, EPhoneCLIWithheld );
+                    }
+                }
+            else if ( identity == RMobileCall::ERemoteIdentityUnavailableNoCliCoinOrPayphone || 
+                    identity == RMobileCall::ERemoteIdentityAvailableNoCliCoinOrPayphone )
+                {
+                // Display "Payphone".
+                LoadResource( aData, EPhoneCLIPayphone );
+                }
+            else if ( identity == RMobileCall::ERemoteIdentityUnknown )
+                {
+                __PHONELOG( EBasic, EPhoneControl, "GetRemoteInfoDataL : unknown number" );
+                // Display "Unknown Number".
+                LoadResource( aData, EPhoneCallCLIUnknown );
+                }
+            else if ( m_engineInfo.RemotePhoneNumber( aCallId ).Length() )
+                {
+                // Display the number if it is available
+                aData.Copy( m_engineInfo.RemotePhoneNumber( aCallId ) );
+                }            
+            }
+
+        }
+    return secondaryCli;
+    }
+
+// -----------------------------------------------------------
+// PhoneCallHeaderUtil::LoadCallHeaderTexts
+// -----------------------------------------------------------
+//
+void PhoneCallHeaderUtil::LoadCallHeaderTexts(
+    const TInt aLabelId, 
+    TPhoneCmdParamCallHeaderData* aCallHeaderData ) 
+    {
+    if ( aLabelId != EPhoneStringList )
+        {
+        TBuf<KPhoneCallHeaderLabelMaxLength> labelText( KNullDesC );
+        LoadResource( labelText, aLabelId );
+        aCallHeaderData->SetLabelText( labelText );
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// PhoneCallHeaderUtil::LoadResource
+// ---------------------------------------------------------------------------
+//
+void PhoneCallHeaderUtil::LoadResource( TDes& aData, const TInt aResource ) const
+    {
+    StringLoader::Load(  
+            aData, CPhoneMainResourceResolver::Instance()->ResolveResourceID( aResource ), 
+            CCoeEnv::Static() );
+    }
+
+// ---------------------------------------------------------------------------
+// PhoneCallHeaderUtil::LoadResource
+// ---------------------------------------------------------------------------
+//
+HBufC* PhoneCallHeaderUtil::LoadResource( const TInt aResource ) const
+    {
+    HBufC* ret = NULL;
+    
+    TRAP_IGNORE( ret = StringLoader::LoadL(  
+            CPhoneMainResourceResolver::Instance()->ResolveResourceID( aResource ), 
+            CCoeEnv::Static() ) );
+    
+    return ret;
+    }
+
+// ---------------------------------------------------------------------------
+//  PhoneCallHeaderUtil::IsVideoCall
+// ---------------------------------------------------------------------------
+//
+TBool PhoneCallHeaderUtil::IsVideoCall(int aCallId ) const
+    {
+    if( aCallId < 0 )
+        {
+        return ( m_engineInfo.CallTypeCommand()
+            == EPECallTypeVideo );  
+        }
+    return ( m_engineInfo.CallType( aCallId )
+            == EPECallTypeVideo );
+    }
--- a/phoneapp/phoneuiqtviewadapter/src/phoneindicatorcontroller.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiqtviewadapter/src/phoneindicatorcontroller.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -69,6 +69,10 @@
                 this, SLOT(updateDivertIndicator(XQSettingsKey, 
                         QVariant)));
     
+    fetchMissedCalls(
+            m_setManager->readItemValue(
+                    PhoneIndicatorControllerKeys::missedCallsSettingsKey).toInt());
+    
     m_setManager->startMonitoring( PhoneIndicatorControllerKeys::missedCallsSettingsKey );
     m_setManager->startMonitoring( PhoneIndicatorControllerKeys::unconditionalCFKey, 
             XQSettingsManager::TypeByteArray);
@@ -84,7 +88,6 @@
         updateDiverIndicator(cfStatus & KCFVoiceForwarded);
     }
 #endif
-    
     connect(&m_indicator,SIGNAL(userActivated(QString,QVariantMap)),
             this,SLOT(handleInteraction(QString,QVariantMap)));
 }
@@ -104,12 +107,14 @@
 
 void PhoneIndicatorController::setActiveCallData()
 {
+    PHONE_TRACE
     m_cli = hbTrId("txt_phone_dblist_ongoing_call");
-    m_callImage = "qtg_mono_call";//QString::fromUtf16 (icon.Ptr (), icon.Length ());
+    m_callImage = "qtg_mono_call";
 }
 
 void PhoneIndicatorController::clearActiveCallData()
 {
+    PHONE_TRACE
     m_cli.clear();
     m_callImage.clear();
     disableActiveCallIndicator();
@@ -117,6 +122,7 @@
 
 void PhoneIndicatorController::enableActiveCallIndicator()
 {
+    PHONE_TRACE
     if (!m_cli.isEmpty()){
         QString indicatorType(indicatorName(PhoneActiveCallIndicator));
         QVariantMap parameters;
@@ -133,6 +139,7 @@
 }
 void PhoneIndicatorController::disableActiveCallIndicator()
 {
+    PHONE_TRACE
     QString indicatorType(indicatorName(PhoneActiveCallIndicator));
     m_indicator.deactivate(indicatorType);
 }
@@ -141,29 +148,17 @@
         const XQSettingsKey &key, const QVariant &value)
 { 
 #ifdef Q_OS_SYMBIAN
-
+    PHONE_TRACE
     if (compareKeys(key, PhoneIndicatorControllerKeys::missedCallsSettingsKey) ){
-        if ( value.toInt() == 0 ){
-            QString indicatorType(indicatorName(PhoneMissedCallIndicator));
-            m_indicator.deactivate(indicatorType);
-            delete m_missedCallsFilter;
-            m_missedCallsFilter = NULL;
-            delete m_logsModel;
-            m_logsModel = NULL;
-        } else {
-            if(!m_logsModel){
-                m_logsModel = new LogsModel(LogsModel::LogsFullModel);
-            }
-            if(!m_missedCallsFilter){
-                m_missedCallsFilter = new LogsFilter(LogsFilter::Missed);
-                connect( m_missedCallsFilter, 
-                    SIGNAL(rowsInserted(const QModelIndex &, int, int )),
-                        this, SLOT(setMissedallIndicatorData()));
-                m_missedCallsFilter->setSourceModel(m_logsModel);
-            }
-            m_missedCallsFilter->setMaxSize(value.toInt() + 1);            
-        }
-    }
+        QString indicatorType(indicatorName(PhoneMissedCallIndicator));
+        m_indicator.deactivate(indicatorType);
+        // deleting null pointer has no effect.
+        delete m_missedCallsFilter;
+        m_missedCallsFilter = NULL;
+        delete m_logsModel;
+        m_logsModel = NULL;
+        fetchMissedCalls(value.toInt());
+    }   
 #endif  
 }
 
@@ -188,7 +183,7 @@
 void PhoneIndicatorController::setMissedallIndicatorData()
 {
 #ifdef Q_OS_SYMBIAN
-
+    PHONE_TRACE
     QString indicatorType(indicatorName(PhoneMissedCallIndicator));
     
     int missedCallCount = m_setManager->readItemValue( 
@@ -225,10 +220,7 @@
                     iconName );
         }
         m_indicator.activate(indicatorType, parameters);
-    } else {
-        m_indicator.deactivate( indicatorType );
     }
-   
 #endif
 }
 
@@ -283,7 +275,7 @@
                 service = "logs";
                 interface = XQI_LOGS_VIEW;
                 operation = XQOP_LOGS_SHOW;
-                map.insert(XQLOGS_VIEW_INDEX , QVariant((int)XQService::LogsViewAll));
+                map.insert(XQLOGS_VIEW_INDEX , QVariant((int)XQService::LogsViewMissed));
                 map.insert(XQLOGS_SHOW_DIALPAD, QVariant(false));
                 map.insert(XQLOGS_DIALPAD_TEXT, QVariant(QString()));
                 args.append(QVariant(map));
@@ -311,7 +303,25 @@
             return;       
         }   
         m_request->setArguments(args);
-        m_request->send();    
-        
+        m_request->send();
     }
 }
+
+void PhoneIndicatorController::fetchMissedCalls(int count)
+{
+    PHONE_TRACE1(count)
+    
+    if(count > 0 ){
+        if(!m_logsModel){
+            m_logsModel = new LogsModel(LogsModel::LogsFullModel);
+        }
+        if(!m_missedCallsFilter){
+            m_missedCallsFilter = new LogsFilter(LogsFilter::Missed);
+            connect( m_missedCallsFilter, 
+                SIGNAL(rowsInserted(const QModelIndex &, int, int )),
+                    this, SLOT(setMissedallIndicatorData()));
+            m_missedCallsFilter->setSourceModel(m_logsModel);
+        }
+        m_missedCallsFilter->setMaxSize(count + 1);
+    }
+}
--- a/phoneapp/phoneuiqtviewadapter/src/phoneresourceadapter.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiqtviewadapter/src/phoneresourceadapter.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -68,10 +68,16 @@
     switch (symbianResourceId) {
 	
     case R_PHONEUI_MTCAL_INCOMING_CALL:
+        {
+        PhoneAction *text = new PhoneAction;
+        text->setText(hbTrId("txt_phone_other_incoming_call"));
+        translatedActions[PhoneAction::Text] = text;
+        }
+        break;
     case R_PHONEUI_VIDEO_CALL_INCOMING:
         {
         PhoneAction *text = new PhoneAction;
-        text->setText (hbTrId("txt_phone_other_incoming_call"));
+        text->setText (hbTrId("txt_phone_other_incoming_video_call"));
         translatedActions [PhoneAction::Text] = text;
         }
         break;
@@ -98,8 +104,7 @@
         text->setText (hbTrId("txt_phone_other_waiting"));
         translatedActions [PhoneAction::Text] = text;
         }
-        break; 
-
+        break;
        
     case R_PHONEUI_TIME_DURAT_LONG_WITH_ZERO:
         {
@@ -109,59 +114,54 @@
         // for formatting later on.
         text->setText ("%:0%H%:1%T%:2%S%:3");
         translatedActions [PhoneAction::Text] = text;
+        }
         break;
-        }
         
     case R_PHONEUI_OUT_GOING_CALL:
-    case R_PHONEUI_OUT_GOING_VIDEO_CALL:
         {
         PhoneAction *text = new PhoneAction;
         text->setText (hbTrId("txt_phone_other_calling"));
         translatedActions [PhoneAction::Text] = text;
+        }
         break;
+    case R_PHONEUI_OUT_GOING_VIDEO_CALL:
+        {
+        PhoneAction *text = new PhoneAction;
+        text->setText (hbTrId("txt_phone_other_calling_video_call"));
+        translatedActions [PhoneAction::Text] = text;
         }
+        break;
         
     case R_PHONEUI_MTCAL_CLI_WITHHELD:
         {
         PhoneAction *text = new PhoneAction;
         text->setText (hbTrId("txt_phone_other_private_number"));
         translatedActions [PhoneAction::Text] = text;
+        }
         break;
-        }
     case R_PHONEUI_MTCAL_CLI_UNKNOWN:
         {
         PhoneAction *text = new PhoneAction;
         text->setText (hbTrId("txt_phone_other_unknown_number"));
         translatedActions [PhoneAction::Text] = text;
+        }
         break;
-        }
-        
     case R_PHONE_MTCAL_CLI_PAYPHONE:
         {
         PhoneAction *text = new PhoneAction;
         text->setText (hbTrId("Payphone number"));
         translatedActions [PhoneAction::Text] = text;
+        }
         break;
-        }
 
     case R_PHONEUI_EMERGENCY_CALL_HEADER:
         {
         PhoneAction *text = new PhoneAction;
         text->setText (hbTrId("txt_phone_other_emergency_call"));
         translatedActions [PhoneAction::Text] = text;            
-        break;            
         }
-        
-    case R_PHONEUI_EMERGENCY_CALL_BUTTONS:
-        {
-        PhoneAction *button = new PhoneAction;
-        button->setText (hbTrId("txt_phone_button_end_call"));
-        button->setIcon (HbIcon("qtg_mono_end_call"));
-        button->setCommand (EPhoneCmdEnd);
-        translatedActions [PhoneAction::LeftButton] = button;
-        }
-        break;
-        
+        break;  
+     
     case R_PHONEUI_ATTEMPTING_EMERGENCY_CALL_TEXT:
         {
         PhoneAction *text = new PhoneAction;
--- a/phoneapp/phoneuiqtviewadapter/src/phoneuicommandcontroller.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiqtviewadapter/src/phoneuicommandcontroller.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -187,11 +187,7 @@
     // No menu items if an emergency call ongoing.
     if (false == isEmergencyCall) {
         switch(callStates.values().count()) {
-        case 1: {
-            // No logical string for switch to video option	
-            /*if (callStates.values().contains(EPEStateConnected)) {
-                commands.append(PhoneInCallCmdSwitchToVideo);
-            }*/
+        case 1: {            
         }
         break;
         case 2: {
@@ -211,7 +207,15 @@
         }
         break;
         case 3: {
-            commands.append(PhoneInCallCmdEndAllCalls);    
+            commands.append(PhoneInCallCmdEndAllCalls);
+            
+            if (callStates.values().contains(EPEStateConnected) &&
+                callStates.values().contains(EPEStateHeld) &&
+                callStates.values().contains(EPEStateRinging)) {
+                if (sameServices) {
+                    commands.append(PhoneInCallCmdTransfer);
+                }
+            }
         }
         break;
         default:
@@ -253,10 +257,7 @@
         break;     
     case PhoneInCallCmdTransfer:
         ret = EPhoneInCallCmdTransfer;
-        break;    
-    case PhoneInCallCmdSwitchToVideo:
-        ret = EPhoneInCallCmdSwitchToVideo;
-        break;  
+        break;
     case PhoneInCallCmdHandoverToWlan:
         ret = EPhoneCmdHandoverToWlan;
         break;
--- a/phoneapp/phoneuiqtviewadapter/src/phoneuiqtviewadapter.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiqtviewadapter/src/phoneuiqtviewadapter.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -44,8 +44,8 @@
 #include "phonevisibilityhandler.h"
 #include "phoneapplauncher.h"
 #include "cphonecenrepproxy.h"
+#include "phonecallheadermanager.h"
 
-#include <UikonInternalPSKeys.h>
 #include <bubblemanagerif.h>
 #include <hbaction.h>
 #include <pevirtualengine.h>
@@ -58,9 +58,8 @@
 #include <eikenv.h>
 #include <w32std.h>
 #include <hbstringutil.h>
-#include <AknSgcc.h>
-#include <AknCapServerClient.h>
 #include <xqaiwdecl.h>
+#include <mpeengineinfo.h>
 
 
 //CONSTANTS
@@ -80,7 +79,6 @@
 PhoneUIQtViewAdapter::PhoneUIQtViewAdapter (PhoneUIQtViewIF &view, QObject *parent) :
     QObject (parent),
     m_view (view),
-    m_idleUid(-1),
     m_bubbleWrapper(0),
     m_ringingtonecontroller(0),
     m_resourceAdapter(0),
@@ -89,16 +87,19 @@
     m_uiCommandController(0),
     m_messageController(0),
     m_indicatorController(0),
+    m_phoneCallHeaderManager(0),
     m_dialpadAboutToClose(false),
     m_homeScreenToForeground(false),
     m_visibilityHandler(0),
     m_appLauncher(0),
     m_clearDialpadOnClose(true),
-    m_speakerAsDefaultButton(false)
+    m_speakerAsDefaultButton(false),
+    m_ringingTonePlaying(false)
 {
-    m_bubbleWrapper = new PhoneBubbleWrapper(m_view.bubbleManager (), this);
+    m_bubbleWrapper = new PhoneBubbleWrapper(m_view.bubbleManager(), this);
     m_noteController = new PhoneNoteController(this);
     m_uiCommandController = new PhoneUiCommandController(view, this);
+    m_phoneCallHeaderManager = new PhoneCallHeaderManager(*m_bubbleWrapper, m_view, this);
 
     TRAPD( error, m_ringingtonecontroller = CPhoneRingingToneController::NewL () );
     qt_symbian_throwIfError(error);
@@ -141,23 +142,21 @@
         }
         break;
 
-    case EPhoneViewSetIdleTopApplication:
-        {
-            TPhoneCmdParamInteger uidParam;
-            uidParam.SetInteger (idleAppUid());
-            setTopApplication (&uidParam);
-        }
+    case EPhoneViewBringPhoneAppToForeground:
+        bringToForeground();
         break;
-
+        
     case EPhoneViewMuteRingToneOnAnswer:
         m_ringingtonecontroller->MuteRingingToneOnAnswer();
         break;
 
     case EPhoneViewStopRingTone:
+        m_ringingTonePlaying = false;
         m_ringingtonecontroller->StopPlaying();
         break;
 
     case EPhoneViewMuteRingTone:
+        m_ringingTonePlaying = false;
         m_ringingtonecontroller->MuteRingingTone();
         break;
 
@@ -221,16 +220,11 @@
     switch (aCmdId) {
     case EPhoneViewRemoveCallHeader:
         {
-        m_bubbleWrapper->bubbleManager().startChanges();
-        int bubble = m_bubbleWrapper->bubbles().value(aCallId);
-        m_view.clearBubbleCommands(bubble);
-        m_view.removeExpandAction(bubble);
-        m_bubbleWrapper->removeCallHeader (aCallId);
-        m_bubbleWrapper->bubbleManager().endChanges();
+	        m_phoneCallHeaderManager->removeCallHeader(aCallId);
         
-        if (!m_bubbleWrapper->bubbles().count()) {
-            m_indicatorController->clearActiveCallData();
-        }
+	        if (!m_bubbleWrapper->bubbles().count()) {
+	            m_indicatorController->clearActiveCallData();
+	        }
         }
         break;
     case EPhoneViewRemoveFromConference:
@@ -239,6 +233,28 @@
     case EPhoneViewPrivateFromConference:
         setPrivateFromConference(aCallId);
         break;
+    case EPhoneViewCreateCallHeader:
+        createCallHeader(aCallId);
+        break;
+    case EPhoneViewUpdateBubble:
+        updateCallHeaderState(aCallId);
+        setExpandActions();
+        break;
+    case EPhoneViewUpdateCallHeaderRemoteInfoData:
+        updateCallHeaderRemoteInfo(aCallId);
+        break;
+    case EPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel:
+        updateCallHeaderRemoteInfoAndLabel(aCallId);
+        break;
+    case EPhoneViewCreateConference:
+        createConferenceBubble(aCallId);
+        break;
+    case EPhoneViewCipheringInfoChange:
+        handleCipheringInfoChange(aCallId);
+        break;
+    case EPhoneViewCreateEmergencyCallHeader:
+        createEmergencyCallHeader(aCallId);
+        break;
     default:
         break;
     }
@@ -248,25 +264,10 @@
 void PhoneUIQtViewAdapter::ExecuteCommandL (TPhoneViewCommandId aCmdId, TPhoneCommandParam* aCommandParam)
 {
     switch (aCmdId) {
-    case EPhoneViewSetTopApplication:
-        setTopApplication (aCommandParam);
-        break;
     case EPhoneViewPlayRingTone:
+        m_ringingTonePlaying = true;
         m_ringingtonecontroller->PlayRingToneL( aCommandParam );
         break;
-    case EPhoneViewSetTouchPaneButtons:
-        setTouchButtons (aCommandParam);
-        setExpandActions();
-        break;
-    case EPhoneViewUpdateCba:
-        setToolbarButtons (aCommandParam);
-        break;
-    case EPhoneViewSetHoldFlag:
-        setCallHoldFlag (aCommandParam);
-        break;
-    case EPhoneViewGetHoldFlag:
-        callHoldFlag (aCommandParam);
-        break;
     case EPhoneViewSetNaviPaneAudioVolume:
         setAudioVolumeSliderValue (aCommandParam);
         break;
@@ -279,15 +280,9 @@
     case EPhoneViewActivateAudioPathUIChanges:
         setAudioPath(aCommandParam);
         break;
-    case EPhoneViewGetExpandedBubbleCallId:
-        expandedBubbleCallId(aCommandParam);
-        break;
     case EPhoneViewGetIsConference:
         isConference(aCommandParam);
-        break;
-    case EPhoneViewBringAppToForeground:
-        bringToForeground();
-        break;
+        break;    
     case EPhoneViewShowGlobalNote:
         showGlobalNote(aCommandParam);
         break;
@@ -326,25 +321,6 @@
     TPhoneCommandParam *aCommandParam)
 {
     switch (aCmdId) {
-    case EPhoneViewCreateCallHeader:
-        createCallHeader (aCallId, aCommandParam);
-        break;
-    case EPhoneViewCreateEmergencyCallHeader:
-        createEmergencyCallHeader (aCallId, aCommandParam);
-        break;
-    case EPhoneViewUpdateBubble:
-        updateCallHeaderState (aCallId, aCommandParam);
-        setExpandActions();
-        break;
-    case EPhoneViewUpdateCallHeaderRemoteInfoData:
-        updateCallHeaderRemoteInfo (aCallId, aCommandParam);
-        break;
-    case EPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel:
-        updateCallHeaderRemoteInfoAndLabel(aCallId, aCommandParam);
-        break;
-    case EPhoneViewCreateConference:
-        createConferenceBubble(aCallId, aCommandParam);
-        break;
     case EPhoneViewGetCallExistsInConference:
         conferenceCallId(aCallId, aCommandParam);
         break;
@@ -361,12 +337,6 @@
         break;
     }
 
-    case EPhoneViewCipheringInfoChange:
-    {
-        handleCipheringInfoChange(aCallId, aCommandParam);
-        break;
-    }
-
     default:
         break;
     }
@@ -391,7 +361,6 @@
     switch (aCmdId) {
     case EPhoneIsDTMFDialerVisible:
     case EPhoneIsCustomizedDialerVisible:
-    case EPhoneViewGetNeedToSendToBackgroundStatus:
         // TODO: currently not supported
         response = EPhoneViewResponseFailed;
         break;
@@ -531,16 +500,37 @@
         }
     }
     break;
+    case EPhoneViewIsRingingTonePlaying: {
+        TPhoneCmdParamBoolean *param = static_cast<TPhoneCmdParamBoolean *>(aCommandParam);
+        param->SetBoolean(m_ringingTonePlaying);
+        }
+    break;
+    case EPhoneViewUpdateCba:
+        setToolbarButtons(aCommandParam);
+        break;
+    case EPhoneViewGetExpandedBubbleCallId:
+        expandedBubbleCallId(aCommandParam);
+        break;
+    case EPhoneViewSetTouchPaneButtons:
+        setTouchButtons (aCommandParam);
+        setExpandActions();
+        break;
     default:
         break;
     }
 }
 
-const TDesC& PhoneUIQtViewAdapter::FetchContent ()
+const TDesC& PhoneUIQtViewAdapter::FetchContent()
 {
     return KNullDesC;
 }
 
+void PhoneUIQtViewAdapter::setEngineInfo(MPEEngineInfo* engineInfo)
+{
+    m_phoneCallHeaderManager->setEngineInfo(engineInfo);
+    m_engineInfo = engineInfo;
+}
+
 void PhoneUIQtViewAdapter::dialpadClosed()
 {
     if (m_clearDialpadOnClose) {
@@ -566,184 +556,71 @@
 
 void PhoneUIQtViewAdapter::handleWindowActivated()
 {
-    m_indicatorController->disableActiveCallIndicator();
     m_view.captureKey(Qt::Key_Yes, true);
 }
 
 void PhoneUIQtViewAdapter::handleWindowDeactivated()
 {
-    m_indicatorController->enableActiveCallIndicator();
     m_view.captureKey(Qt::Key_Yes, false);
 }
 
-void PhoneUIQtViewAdapter::setTopApplication (TPhoneCommandParam *commandParam)
+void PhoneUIQtViewAdapter::onFocusLost()
 {
-    TPhoneCmdParamInteger *integerParam = static_cast<TPhoneCmdParamInteger *> (commandParam);
-    CPhonePubSubProxy::Instance()->ChangePropertyValue(
-        KPSUidUikon,
-        KUikVideoCallTopApp,
-        integerParam->Integer() );
-
-    // Hide the Phone icon if it is not the top application
-    // TODO: how to do this?
+    m_indicatorController->enableActiveCallIndicator();
 }
 
-int PhoneUIQtViewAdapter::idleAppUid ()
+void PhoneUIQtViewAdapter::onFocusGained()
 {
-// <-- QT HS START -->
-   /* if ( m_idleUid == -1 ) {
-        // Get Idle's UID from PubSub.
-        m_idleUid = CPhonePubSubProxy::Instance()->Value (KPSUidAiInformation,
-            KActiveIdleUid );
-    }*/
-    m_idleUid=0x20022F35;
-// <-- QT HS END -->
-    return m_idleUid;
+    m_indicatorController->disableActiveCallIndicator();
 }
 
 void PhoneUIQtViewAdapter::createCallHeader(
-    int callId,
-    TPhoneCommandParam *commandParam )
+    int callId )
 {
-    PHONE_DEBUG("PhoneUIQtViewAdapter::createCallHeader");
-    Q_ASSERT (commandParam->ParamId () == TPhoneCommandParam::EPhoneParamIdCallHeaderData);
-
-    TPhoneCmdParamCallHeaderData &data =
-        static_cast<TPhoneCmdParamCallHeaderData &> (*commandParam);
-
-    m_bubbleWrapper->bubbleManager ().startChanges ();
-
-    if (m_bubbleWrapper->bubbleManager().isConferenceExpanded())
-        {
-        m_bubbleWrapper->bubbleManager().setExpandedConferenceCallHeader(false);
-        }
-
-    int bubble = m_bubbleWrapper->createCallHeader (callId);
-    m_bubbleWrapper->setState (callId, bubble, data.CallState ());        
-    m_bubbleWrapper->setCli (bubble, data.CLIText (), clipToElide(data.CLITextClippingDirection()));
-    m_bubbleWrapper->setServiceId(callId, data.ServiceId());
-    m_bubbleWrapper->setSecondaryCli (bubble, data.CNAPText (), clipToElide(data.CNAPTextClippingDirection()));
-    m_bubbleWrapper->setLabel (bubble, data.LabelText ());
-    m_bubbleWrapper->setCallType (bubble, data.CallType ());
-    m_bubbleWrapper->setDivert (bubble, data.Diverted ());
-    m_bubbleWrapper->setCiphering(bubble, data.CipheringIndicatorAllowed(), data.Ciphering());
-
-    if (data.Picture().Length()) {
-        QString imagePath =
-            QString::fromUtf16(data.Picture().Ptr(),data.Picture().Length());
-        m_bubbleWrapper->bubbleManager().setCallObjectImage(bubble,imagePath);
-    } else {
-        m_bubbleWrapper->bubbleManager().setCallObjectFromTheme(bubble);
-    }
-    m_bubbleWrapper->bubbleManager ().endChanges ();
+    m_phoneCallHeaderManager->createCallHeader(callId);
     
     if (1 == m_bubbleWrapper->bubbles().keys().count()) {
         setHidden(false);
     }
-    if( EPECallTypeVideo != data.CallType() ){
+
+    if( m_phoneCallHeaderManager->isVoiceCall(callId) ){
         m_indicatorController->setActiveCallData();
     }
-    
+
 }
 
-void PhoneUIQtViewAdapter::createEmergencyCallHeader(
-    int callId,
-    TPhoneCommandParam *commandParam)
+void PhoneUIQtViewAdapter::createEmergencyCallHeader(int callId)
 {
-    PHONE_DEBUG("PhoneUIQtViewAdapter::createEmergencyCallHeader");
-    Q_ASSERT (commandParam->ParamId () == TPhoneCommandParam::EPhoneParamIdEmergencyCallHeaderData);
-
-    TPhoneCmdParamEmergencyCallHeaderData &data =
-        static_cast<TPhoneCmdParamEmergencyCallHeaderData &> (*commandParam);
-
-    m_bubbleWrapper->bubbleManager ().startChanges ();
-    int bubble = m_bubbleWrapper->createCallHeader (callId);
-    m_bubbleWrapper->setLabel (bubble, data.LabelText ());
-    m_bubbleWrapper->setCli (bubble, data.HeaderText (), Qt::ElideRight);
-    m_bubbleWrapper->setCiphering(bubble, data.CipheringIndicatorAllowed(), data.Ciphering());
-    m_bubbleWrapper->bubbleManager ().endChanges ();
-    
+    m_phoneCallHeaderManager->createEmergencyCallHeader(callId);    
     m_indicatorController->setActiveCallData();
 }
 
-void PhoneUIQtViewAdapter::updateCallHeaderState (
-    int callId,
-    TPhoneCommandParam *commandParam)
+void PhoneUIQtViewAdapter::updateCallHeaderState(int callId)
 {
     PHONE_DEBUG("PhoneUIQtViewAdapter::updateCallHeaderState");
-    Q_ASSERT (commandParam->ParamId () == TPhoneCommandParam::EPhoneParamIdCallHeaderData);
 
-    TPhoneCmdParamCallHeaderData &data =
-            static_cast<TPhoneCmdParamCallHeaderData &> (*commandParam);
+    m_phoneCallHeaderManager->updateCallHeaderState(callId);
+}
 
-    int bubble = m_bubbleWrapper->bubbleId (callId);
-    if ( -1 != bubble ) {
-        m_bubbleWrapper->bubbleManager ().startChanges ();
-        m_bubbleWrapper->setState (callId, bubble, data.CallState ());
-        m_bubbleWrapper->setLabel (bubble, data.LabelText ());
-        m_bubbleWrapper->setDivert (bubble, data.Diverted ());
-        m_bubbleWrapper->bubbleManager ().endChanges ();
+void PhoneUIQtViewAdapter::updateCallHeaderRemoteInfo(int callId)
+{
+    PHONE_DEBUG("PhoneUIQtViewAdapter::updateCallHeaderRemoteInfo");
+    m_phoneCallHeaderManager->updateCallHeaderRemoteInfo(callId);
+    
+    if ( m_phoneCallHeaderManager->isVoiceCall(callId) ) {
+         m_indicatorController->setActiveCallData();
     }
 }
 
-void PhoneUIQtViewAdapter::updateCallHeaderRemoteInfo (int callId, TPhoneCommandParam *commandParam)
-{
-    PHONE_DEBUG("PhoneUIQtViewAdapter::updateCallHeaderRemoteInfo");
-    Q_ASSERT (commandParam->ParamId () == TPhoneCommandParam::EPhoneParamIdCallHeaderData);
-
-    TPhoneCmdParamCallHeaderData &data =
-         static_cast<TPhoneCmdParamCallHeaderData &> (*commandParam);
-
-
-     int bubble = m_bubbleWrapper->bubbleId (callId);
-     if ( -1 != bubble ) {
-         m_bubbleWrapper->bubbleManager ().startChanges ();
-         m_bubbleWrapper->setCli (bubble, data.CLIText (),
-             clipToElide(data.CLITextClippingDirection()));
-         m_bubbleWrapper->setSecondaryCli (bubble, data.CNAPText (),
-             clipToElide(data.CNAPTextClippingDirection()));
-         m_bubbleWrapper->setDivert (bubble, data.Diverted ());
-         m_bubbleWrapper->bubbleManager ().endChanges ();
-     }
-     if ( EPECallTypeVideo != data.CallType() ) {
-         m_indicatorController->setActiveCallData();
-     }
-}
-
-void PhoneUIQtViewAdapter::updateCallHeaderRemoteInfoAndLabel (int callId, TPhoneCommandParam *commandParam)
+void PhoneUIQtViewAdapter::updateCallHeaderRemoteInfoAndLabel(int callId)
 {
     PHONE_DEBUG("PhoneUIQtViewAdapter::updateCallHeaderRemoteInfoAndLabel");
-    Q_ASSERT (commandParam->ParamId () == TPhoneCommandParam::EPhoneParamIdCallHeaderData);
-
-    TPhoneCmdParamCallHeaderData &data =
-         static_cast<TPhoneCmdParamCallHeaderData &> (*commandParam);
-
-     int bubble = m_bubbleWrapper->bubbleId (callId);
-     if ( -1 != bubble ) {
-         m_bubbleWrapper->bubbleManager ().startChanges ();
-         m_bubbleWrapper->setCli (bubble, data.CLIText (),
-             clipToElide(data.CLITextClippingDirection()));
-         m_bubbleWrapper->setSecondaryCli (bubble, data.CNAPText (),
-             clipToElide(data.CNAPTextClippingDirection()));
-         m_bubbleWrapper->setLabel (bubble, data.LabelText ());
-         m_bubbleWrapper->setDivert (bubble, data.Diverted ());
-         m_bubbleWrapper->bubbleManager ().endChanges ();
-     }
+    m_phoneCallHeaderManager->updateCallHeaderRemoteInfoAndLabel(callId);
 }
 
-void PhoneUIQtViewAdapter::handleCipheringInfoChange(int callId, TPhoneCommandParam *commandParam)
+void PhoneUIQtViewAdapter::handleCipheringInfoChange(int callId)
 {
-    TPhoneCmdParamCallHeaderData *param =
-        static_cast<TPhoneCmdParamCallHeaderData*>(commandParam);
-
-    int bubble = m_bubbleWrapper->bubbleId(callId);        
-    if ( -1 != bubble ) {        
-        m_bubbleWrapper->bubbleManager().startChanges();
-        m_bubbleWrapper->setCiphering(m_bubbleWrapper->bubbleId(callId),
-                                      param->CipheringIndicatorAllowed(),
-                                      param->Ciphering());
-        m_bubbleWrapper->bubbleManager().endChanges();
-    }
+    m_phoneCallHeaderManager->handleCipheringInfoChange(callId);
 }
 
 TPhoneViewResponseId PhoneUIQtViewAdapter::callIdByState (TPhoneCommandParam *commandParam)
@@ -837,26 +714,6 @@
     qDeleteAll(actions);
 }
 
-void PhoneUIQtViewAdapter::setCallHoldFlag (TPhoneCommandParam *commandParam)
-{
-    Q_ASSERT (commandParam->ParamId () == TPhoneCommandParam::EPhoneParamIdBoolean);
-
-    TPhoneCmdParamBoolean &boolParam =
-        static_cast<TPhoneCmdParamBoolean &>(*commandParam);
-
-    m_resourceAdapter->buttonsController()->setButtonFlags(PhoneUIQtButtonsController::Hold,
-                                                           boolParam.Boolean ());
-}
-
-void PhoneUIQtViewAdapter::callHoldFlag (TPhoneCommandParam *commandParam)
-{
-    Q_ASSERT (commandParam->ParamId () == TPhoneCommandParam::EPhoneParamIdBoolean);
-
-    TPhoneCmdParamBoolean &boolParam =
-        static_cast<TPhoneCmdParamBoolean &>(*commandParam);
-    boolParam.SetBoolean (m_resourceAdapter->buttonsController()->getButtonFlags(PhoneUIQtButtonsController::Hold));
-}
-
 void PhoneUIQtViewAdapter::writeAudioVolumeLevel (TPhoneCommandParam *commandParam)
 {
     Q_ASSERT (commandParam->ParamId () == TPhoneCommandParam::EPhoneParamIdInteger);
@@ -934,21 +791,12 @@
     setDialpadMenu();
     }
 
-void PhoneUIQtViewAdapter::createConferenceBubble(int callId, TPhoneCommandParam *commandParam)
+void PhoneUIQtViewAdapter::createConferenceBubble(int callId)
 {
-    PHONE_DEBUG("PhoneUIQtViewAdapter::createConferenceBubble");
-    Q_ASSERT (commandParam->ParamId () == TPhoneCommandParam::EPhoneParamIdCallHeaderData);
-
-    TPhoneCmdParamCallHeaderData &data =
-         static_cast<TPhoneCmdParamCallHeaderData &> (*commandParam);
-
-    int bubble = m_bubbleWrapper->createConferenceBubble(
-            callId, data.CallState(), data.LabelText(), data.CLIText());
-
-    m_bubbleWrapper->setServiceId(callId,data.ServiceId());
-    m_bubbleWrapper->setCiphering(bubble, data.CipheringIndicatorAllowed(), data.Ciphering());
-    
+    m_bubbleWrapper->bubbleManager().startChanges();
+    m_phoneCallHeaderManager->createConferenceBubble(callId);
     setParticipantListActions();
+    m_bubbleWrapper->bubbleManager().endChanges();
 }
 
 void PhoneUIQtViewAdapter::conferenceCallId(int callId, TPhoneCommandParam *commandParam)
@@ -965,11 +813,7 @@
 
 void PhoneUIQtViewAdapter::removeConferenceBubble()
 {
-    m_bubbleWrapper->bubbleManager().startChanges();
-    m_view.removeExpandAction(m_bubbleWrapper->bubbleId(KConferenceCallId));
-    m_view.clearParticipantListActions();
-    m_bubbleWrapper->removeConferenceBubble();
-    m_bubbleWrapper->bubbleManager().endChanges();
+    m_phoneCallHeaderManager->removeConferenceBubble();
     if (!m_bubbleWrapper->bubbles().count()) {
         m_indicatorController->clearActiveCallData();
     }
@@ -989,13 +833,7 @@
 
 void PhoneUIQtViewAdapter::removeCallFromConference(int callId)
 {
-    m_bubbleWrapper->bubbleManager().startChanges();
-    m_bubbleWrapper->removeCallFromConference(callId);
-    int bubbleId = m_bubbleWrapper->bubbles().value(callId);
-    m_view.clearBubbleCommands(bubbleId);
-    m_view.removeExpandAction(bubbleId);
-    m_bubbleWrapper->removeCallHeader(callId);
-    m_bubbleWrapper->bubbleManager().endChanges();
+    m_phoneCallHeaderManager->removeCallFromConference(callId);
 }
 
 TPhoneViewResponseId PhoneUIQtViewAdapter::getSelectedConferenceMember(
@@ -1021,11 +859,7 @@
 
 void PhoneUIQtViewAdapter::setPrivateFromConference(int callId)
 {
-    m_bubbleWrapper->bubbleManager().startChanges();
-    m_bubbleWrapper->bubbleManager().setExpandedConferenceCallHeader(false);
-    m_bubbleWrapper->removeCallFromConference(callId);
-    m_view.clearBubbleCommands(m_bubbleWrapper->bubbles().value(callId));
-    m_bubbleWrapper->bubbleManager().endChanges();
+    m_phoneCallHeaderManager->setPrivateFromConference(callId);
 }
 
 void PhoneUIQtViewAdapter::setExpandActions()
@@ -1085,21 +919,7 @@
 
 void PhoneUIQtViewAdapter::setExpandedConferenceCallHeader()
 {
-    int callId = PHONE_CALL_NOT_FOUND;
-
-    if ( 1==m_bubbleWrapper->bubbles().keys().size()
-         || (1<m_bubbleWrapper->bubbles().keys().size()
-         && false == m_bubbleWrapper->callStates().values().contains(EPEStateRinging)
-         && false == m_bubbleWrapper->callStates().values().contains(EPEStateDialing)
-         && false == m_bubbleWrapper->callStates().values().contains(EPEStateConnecting)
-         && false == m_bubbleWrapper->callStates().values().contains(EPEStateHeldConference))) {
-
-        int bubbleId = m_bubbleWrapper->bubbleManager().expandedBubble();
-        callId = m_bubbleWrapper->callIdByBubbleId(bubbleId);
-    }
-
-    m_bubbleWrapper->bubbleManager().setExpandedConferenceCallHeader(
-            (KConferenceCallId == callId));
+    m_phoneCallHeaderManager->setExpandedConferenceCallHeader();
 }
 
 void PhoneUIQtViewAdapter::bringToForeground()
@@ -1139,23 +959,7 @@
 
 void PhoneUIQtViewAdapter::removeAllCallHeaders()
 {
-    if (m_bubbleWrapper->conferenceCallList().size()) {
-        removeConferenceBubble();
-    }
-
-    QList<int> callIds = m_bubbleWrapper->bubbles().keys();
-
-    for (int i=0; i<callIds.size(); ++i) {
-        int callId = callIds.at(i);
-        if (KEmergencyCallId != callId) {
-            m_bubbleWrapper->bubbleManager().startChanges();
-            int bubble = m_bubbleWrapper->bubbles().value(callId);
-            m_view.clearBubbleCommands(bubble);
-            m_view.removeExpandAction(bubble);
-            m_bubbleWrapper->removeCallHeader (callId);
-            m_bubbleWrapper->bubbleManager().endChanges();
-        }
-    }
+    m_phoneCallHeaderManager->removeAllCallHeaders();
     if (!m_bubbleWrapper->bubbles().count()) {
         m_indicatorController->clearActiveCallData();
     }
@@ -1281,8 +1085,8 @@
                         env->RootWin() ) );
         
         CleanupStack::PopAndDestroy( windowGroupName );
-
-        CAknSgcClient::AknSrv()->UpdateTaskList();
+        
+        // Avkon removal
     }
 }
 void PhoneUIQtViewAdapter::openContacts()
--- a/phoneapp/phoneuiqtviewadapter/src/telephonyservice.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiqtviewadapter/src/telephonyservice.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -39,17 +39,12 @@
     PHONE_DEBUG2("TelephonyService::start:", serviceId);
     switch (serviceId) {
         case 0: {
-            TPhoneCmdParamInteger uidParam;
-            uidParam.SetInteger( KUidPhoneApplication.iUid );
-            m_viewAdapter->ExecuteCommandL(EPhoneViewBringAppToForeground, &uidParam);
+            m_viewAdapter->ExecuteCommandL(EPhoneViewBringPhoneAppToForeground);
             break;
         }
         case 1: {
             m_viewAdapter->ExecuteCommandL( EPhoneViewOpenDialer );
-
-            TPhoneCmdParamInteger uidParam;
-            uidParam.SetInteger( KUidPhoneApplication.iUid );
-            m_viewAdapter->ExecuteCommandL(EPhoneViewBringAppToForeground, &uidParam);
+            m_viewAdapter->ExecuteCommandL(EPhoneViewBringPhoneAppToForeground);
             break;
         }
         default: {
--- a/phoneapp/phoneuiqtviewadapter/tsrc/u_carmodetester/u_carmodetester.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/u_carmodetester/u_carmodetester.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -47,3 +47,6 @@
 # Input
 SOURCES += main.cpp
 
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneapp/phoneuiqtviewadapter/tsrc/unit.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/unit.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -26,3 +26,4 @@
 SUBDIRS += ut_phoneuiqtviewadapter
 SUBDIRS += ut_phonevisibilityhandler
 SUBDIRS += ut_telephonyservice
+SUBDIRS += ut_phoneindicatorcontroller
\ No newline at end of file
--- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonebubblewrapper/unit_tests.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonebubblewrapper/unit_tests.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -17,10 +17,8 @@
 
 #include <QtTest/QtTest>
 #include <QtGui>
-#include <hbapplication.h>
 #include <QSignalSpy>
-#include <hbmainwindow.h>
-//#include <hbglobal_p.h>
+#include "qtestmains60.h"
 #include "phonebubblewrapper.h"
 #include "bubblemanagerif.h"
 #include "pevirtualengine.h"
@@ -551,5 +549,5 @@
     
 }
 
-QTEST_MAIN(TestPhoneBubbleWrapper)
+QTEST_MAIN_S60(TestPhoneBubbleWrapper)
 #include "unit_tests.moc"
--- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonebubblewrapper/ut_phonebubblewrapper.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonebubblewrapper/ut_phonebubblewrapper.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -16,28 +16,28 @@
 #
 
 TEMPLATE = app
-TARGET = 
 TARGET.UID3 = 0xEACF41FE
 DEPENDPATH += .
 INCLUDEPATH += .
-CONFIG += hb
 CONFIG += qtestlib
 
-symbian {
+INCLUDEPATH += /epoc32/include/platform/mw \
+               /epoc32/include/platform \
+               /epoc32/include/mw \
+               ../../../phoneuiutils/inc/ \
+               ../../../phoneuiview2/inc \
+               ../../../../inc \
+               ../../../../tsrc/common
 
-    INCLUDEPATH += \epoc32\include\platform\mw \
-                   \epoc32\include\platform \
-                   \epoc32\include\mw \
-                   ../../../phoneuiutils/inc/ \
-                   ../../../phoneuiview2/inc \
-                   ../../../../inc
+LIBS += -lphoneuiutils
 
-    LIBS += -lphoneuiutils
-
-    TARGET.CAPABILITY = ALL -TCB
-}
+TARGET.CAPABILITY = ALL -TCB
 
 # Input
 HEADERS += ../../inc/phonebubblewrapper.h
 SOURCES += ../../src/phonebubblewrapper.cpp
 SOURCES += unit_tests.cpp
+
+include(../../../../tsrc/common/phonetest.pri)
+
+symbian:MMP_RULES += SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecallheadermanager/bubblemanagerif_stub.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,272 @@
+/*!
+* 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:  Bubble manager's interface.
+*
+*/
+
+#ifndef BUBBLEMANAGERIF_STUB_H
+#define BUBBLEMANAGERIF_STUB_H
+
+#include <QtCore>
+#include <bubblemanagerif.h>
+
+bool mSetExpandedConferenceCalled;
+bool mIsExpandedConference;
+bool mIsConferenceExpanded;
+
+class BubbleManagerIFStub : public BubbleManagerIF
+{
+
+public:
+
+    BubbleManagerIFStub() {};
+    virtual ~BubbleManagerIFStub() {};
+
+    void startChanges (){};
+    void endChanges (){};
+
+    int createCallHeader () {};
+
+    void removeCallHeader (int bubbleId){};
+
+    /**
+    * Sets call state to header.
+    */
+    void setState (int bubbleId, PhoneCallState state) {};
+
+    /**
+    * Sets text label to header. For conf also.
+    * Text to be seen in bubble ( e.g. 'on hold' )
+    */
+    void setLabel (
+        int bubbleId,
+        const QString& text,
+        Qt::TextElideMode clipDirection){};
+
+    /**
+    * Sets caller's line identification ( name or number) to header.
+    * For conf also. Caller's CLI ( e.g. 'Mother' )
+    */
+    void setCli (int bubbleId,
+                 const QString& cliText,
+                 Qt::TextElideMode clipDirection) {};
+
+    /**
+    * Updates caller's line identification ( name or number) to header.
+    * Caller's CLI ( e.g. 'Daddy' )-
+    */
+    void updateCLI (
+        int bubbleId,
+        const QString& cliText,
+        Qt::TextElideMode clipDirection) {};
+
+    /**
+    * Number or voip adress, when phonebook name takes Cli.
+    */
+    void setSecondaryCli (
+        int bubbleId,
+        const QString& cliText,
+        Qt::TextElideMode clipDirection = Qt::ElideLeft) {};
+
+    /**
+    * Sets call time or cost text to header. For conf also.
+    */
+    void setCallTime (int bubbleId, const QString& callTime) {};
+
+    /**
+    * Updates call time or cost text to header.  For conf also.
+    * Timer or cost text ( e.g. '00:12:34' or '£01.23' ).
+    */
+    void updateCallTime (int bubbleId, const QString& callTime){};
+
+    /**
+    * Attach a call image to header.
+    */
+    void setCallObjectImage (int bubbleId, const QString &fileName) {};
+
+    /**
+    * Attach the theme call image to header.
+    */
+    void setCallObjectFromTheme (int bubbleId) {};
+
+    /**
+    * Sets call flags to header.
+    */
+    void setCallFlags (int bubbleId, int flags){};
+
+    /**
+    * Sets call flags to header.
+    */
+    void setCallFlag (int bubbleId, BubbleManagerIF::PhoneCallFlags callFlags, bool set) {};
+
+    /**
+    * Sets number type.
+    */
+    void setNumberType (int bubbleId, PhoneNumberType type){};
+
+    // ====================================================
+    // For all bubbles
+    // ====================================================
+    //
+
+    /**
+    * Sets phone muted/unmuted.
+    * @param aIsMuted ETrue if phone is muted.
+    */
+    void setPhoneMuted (bool muted){};
+
+
+    // ====================================================
+    // For conference call
+    // ====================================================
+    //
+
+    /**
+    * Creates a conference call based upon two calls. Bubbles must be
+    * created first.
+    */
+    int createConference (int bubble1, int bubble2) {};
+
+    /**
+    * Splits conference call into invidual two calls. Call headers stays
+    * in use. Headers' state will not be changed.
+    */
+    void removeConference (){};
+
+    /**
+    * Adds new call to conference call.
+    */
+    void addRowToConference (int bubbleId) {};
+
+    /**
+    * Takes specified call out of conference. Use RemoveConference if
+    * conference has only two calls in it. Header's state is same as
+    * before adding it to conference (if not changed inside the conf).
+    */
+    void removeRowFromConference (int bubbleId) {};
+
+    /**
+    * Counts calls in conference call.
+    */
+    int conferenceRowCount () const {};
+
+    /**
+    * Sets highlight to specified line in conference.
+    */
+    void setSelectionInConference (int rowNumber){};
+
+    /**
+    * Sets highlight to specified bubble id in conference.
+    */
+    void setSelectionIdInConference (int bubbleId){};
+
+    /**
+    * Gets highlighted item in conference.
+    */
+    int selectionInConference () const {};
+
+    /**
+    * Gets highlighted item in conference.
+    */
+    int selectionIdInConference () const {};
+
+    /**
+    * Moves highligh one up if possible
+    */
+    void moveHighlightOneUpInConference () {};
+
+    /**
+    * Moves highligh one down if possible
+    */
+    void moveHighlightOneDownInConference () {};
+
+    /**
+    * Use this function to expand or shrink conference bubble.
+    */
+    void setExpandedConferenceCallHeader (bool expanded) { mSetExpandedConferenceCalled = true;
+                                                           mIsExpandedConference = expanded; };
+
+    /**
+    * Query: is conference expanded?
+    */
+    bool isConferenceExpanded () const { return mIsConferenceExpanded;};
+
+    /**
+    * Number of headers shown on the screen.
+    */
+    int shownHeaderCount () const {};
+
+    /**
+    * Set CLI used in participant list (text or phonenumber).
+    */
+    void setParticipantListCli (int aBubbleId, ParticipantListCli aParticipantCli) {};
+
+
+    // ====================================================
+    // Call bubble actions
+    // ====================================================
+    //
+
+    /**
+    * Appends new action to call bubble
+    */
+    void addAction (int bubble, HbAction *action) {};
+
+    /**
+    * Removes all actions from call bubble
+    */
+    void clearActions (int bubble){};
+    
+    /**
+    * Gets graphics widget for action
+    */
+    QGraphicsWidget* graphicsWidgetForAction (HbAction *action) const {};
+
+    /**
+    * Appends new action to participant list in conference call bubble.
+    */
+    void addParticipantListAction (HbAction *action){};
+
+    /**
+    * Removes participant list actions from conference call bubble.
+    */
+    void clearParticipantListActions () {};
+
+
+    // ====================================================
+    // Bubble state related (multicall)
+    // ====================================================
+    //
+
+    /**
+    * Bubble shown in expanded position.
+    */
+    int expandedBubble() const {};
+
+    /**
+    * Sets action that is triggered when user taps collapsed
+    * call bubble and it changes to expanded. Setting null
+    * pointer removes expand action.
+    */
+    void setExpandAction(int bubble, HbAction* action) {};
+
+    /**
+    * Bubble state (expanded/collapsed) cannot be changed when
+    * disabled is set true.
+    */
+    void setBubbleSelectionDisabled(bool disabled){};
+};
+
+
+#endif // BUBBLEMANAGERIF_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecallheadermanager/phoneuiqtviewif_stub.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,236 @@
+/*!
+* 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:  Phone UI Qt view's interface.
+*
+*/
+
+#ifndef PHONEUIQTVIEWIF_STUB_H
+#define PHONEUIQTVIEWIF_STUB_H
+
+#include <bubblemanagerif.h>
+#include <phoneuiqtviewif.h>
+
+class QKeyEvent;
+class QString;
+class HbIcon;
+class HbAction;
+class HbMenu;
+class PhoneAction;
+
+class PhoneUIQtViewIFStub : public PhoneUIQtViewIF
+{
+
+public:
+    
+    PhoneUIQtViewIFStub(BubbleManagerIF& bubbleManager):mBubbleManager(bubbleManager) {};
+    
+    virtual ~PhoneUIQtViewIFStub() {};
+        
+    /*!
+        \fn void PhoneUIQtViewIF::bubbleManager ()
+        
+        Returns reference to BubbleManager's interface.
+    */
+    BubbleManagerIF& bubbleManager () {return mBubbleManager;};
+    
+    /*!
+        \fn void PhoneUIQtViewIF::addBubbleCommand ()
+        
+        Adds new command to bubble. Command id will be emitted as
+        a parameter from view's command(int) signal.
+    */
+    void addBubbleCommand ( 
+        int bubbleId,
+        const PhoneAction& action ) {};
+    
+    /*!
+        \fn void PhoneUIQtViewIF::clearBubbleCommands ()
+        
+        Clears commands from bubble.
+    */
+    void clearBubbleCommands (int bubbleId){};
+
+    /*!
+        \fn void PhoneUIQtView::addParticipantListAction ()
+        
+        Adds new patricipant list command to conference bubble. 
+    */
+    void addParticipantListAction(
+            int commandId,  
+            const QString &text, 
+            const HbIcon &icon) {};
+
+    /*!
+        \fn void PhoneUIQtView::clearBubbleCommands ()
+        
+        Clears participant list commands from conference bubble.
+    */
+    void clearParticipantListActions() {};
+    
+    /*!
+        \fn void PhoneUIQtViewIF::setToolbarActions()
+        
+        Sets toolbar actions.
+    */
+    void setToolbarActions(const QList<PhoneAction*>& actions) {};    
+    
+    /*!
+        \fn void PhoneUIQtViewIF::hideToolbar ()
+        
+        Hides toolbar.
+    */
+    void hideToolbar () {};
+    
+    /*!
+        \fn void PhoneUIQtViewIF::showToolbar ()
+        
+        Shows toolbar.
+    */
+    void showToolbar (){};
+    
+    /*!
+        \fn int PhoneUIQtViewIF::volumeSliderValue ()
+        
+        Returns HbVolumeSliderPopup's volume value.
+        If this volume slider isn't active -1 is returned.
+    */
+    int volumeSliderValue () {};
+    
+    /*!
+        \fn void PhoneUIQtViewIF::removeVolumeSlider ()
+        
+        Removes HbVolumeSliderPopup.
+    */
+    void removeVolumeSlider () {};
+
+    /*!
+        \fn void PhoneUIQtViewIF::setVolumeSliderValue (int value)
+        
+        Sets slider value to HbVolumeSliderPopup.
+    */
+    void setVolumeSliderValue (
+            int value, 
+            int commandId, 
+            int maxVolumeValue, 
+            int minVolumeValue){};
+
+    /*!
+        \fn void PhoneUIQtViewIF::setExpandAction ()
+        
+        Sets expand action.
+    */
+    void setExpandAction(int bubbleId, int commandId) {};
+    
+    /*!
+        \fn void PhoneUIQtViewIF::removeExpandAction ()
+        
+        Removes expand action.
+    */      
+    void removeExpandAction(int bubbleId){};
+
+    /*!
+        \fn void PhoneUIQtView::showDialpad()
+        
+        Shows dialpad widget.
+    */    
+    void showDialpad() {};
+    
+    /*!
+        \fn void PhoneUIQtView::hideDialpad()
+        
+        Hides dialpad widget.
+    */    
+    void hideDialpad(){};
+    
+    /*!
+        \fn void PhoneUIQtView::isDialpadVisible()
+        
+        Check is dialpad visible.
+    */    
+    bool isDialpadVisible() {};
+
+    /*!
+        \fn void PhoneUIQtView::dialpadString()
+        
+        Returns content of the dialpad.
+    */  
+    QString dialpadText(){};
+    
+    /*!
+        \fn void PhoneUIQtView::dialpadString()
+        
+        Clears and hides dialpad.
+    */
+    void clearAndHideDialpad() {};
+    
+    /*!
+        \fn void PhoneUIQtView::clearDialpad()
+        
+        Clears text from dialpad.
+    */
+    void clearDialpad(){};
+    
+    /*!
+        \fn void PhoneUIQtView::bringToForeground()
+        
+        Brings to foreground.
+    */
+    void bringToForeground() {};
+    
+    /*!
+        \fn void PhoneUIQtViewIF::setToolbarActions()
+        
+       Sets menu actions.
+    */
+    void setMenuActions(const QList<PhoneAction*>& actions) {};
+      
+    /*!
+        \fn void PhoneUIQtView::shutdownPhoneApp()
+        
+        Shutdown phone application.
+    */
+    void shutdownPhoneApp(){};
+    
+    /*
+       \fn void PhoneUIQtView::setBackButtonVisible()
+       
+       Set the Back command visibility in TitleBar
+    */
+    void setBackButtonVisible(bool visible){};
+	    
+    /*!
+        \fn void PhoneUIQtViewIF::setToolbarActions()
+        
+       Returns HbMenu reference.
+    */
+    HbMenu &menuReference() {};
+    
+    /*!
+        \fn void PhoneUIQtViewIF::captureKey()
+        
+        Captures key.
+    */
+    void captureKey(Qt::Key key, bool capture){};
+    
+    /*
+        \fn void setRestrictedMode()
+        
+        Sets Ui to restricted mode. Decides which keyevent are allowed.
+     */
+    void setRestrictedMode(bool restrictedMode){};
+    
+    BubbleManagerIF& mBubbleManager;
+};
+
+#endif // PHONEUIQTVIEWIF_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecallheadermanager/unit_tests.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,342 @@
+/*!
+* 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:  Unit tests for PhoneResourceAdapter.
+*
+*/
+
+#include <QtTest/QtTest>
+#include <QtGui>
+#include <hbapplication.h>
+#include <QSignalSpy>
+#include <QVariant>
+#include <mockservice.h>
+#include <cpeengineinfo.h>
+#include <pevirtualengine.h>
+#include "qtestmains60.h"
+#include "phonecallheadermanager.h"
+#include "phoneuiqtviewif_stub.h"
+#include "bubblemanagerif_stub.h"
+#include "phonebubblewrapper.h"
+#include "phonecallheaderutil.h"
+
+class TestPhoneCallHeaderManager : public QObject, MockService
+{
+    Q_OBJECT
+public:
+    TestPhoneCallHeaderManager();
+    virtual ~TestPhoneCallHeaderManager();
+
+public slots:
+    void initTestCase();
+    void cleanupTestCase();
+    void init();
+    void cleanup(); 
+    
+private slots:
+    void testCreateCallHeader();
+    void testCreateEmergencyCallHeader();
+    void testRemoveCallHeader();
+    void testUpdateCallHeaderState();
+    void testUpdateCallHeaderRemoteInfo();
+    void testUpdateCallHeaderRemoteInfoAndLabel();
+    void testHandleCipheringInfoChange();
+    void testConferenceBubble();
+    void testExpandedConferenceCallHeader();
+    void testRemoveAllCallHeaders();
+    void testIsVideoCall();
+
+private:
+    
+private:
+    BubbleManagerIFStub *mBubbleManagerIFStub;
+    PhoneUIQtViewIFStub *mPhoneUIQtViewIFStub;
+    PhoneBubbleWrapper *mPhoneBubbleWrapper;
+    CPEEngineInfo *iEngineInfo;
+    PhoneCallHeaderManager *mCallHeaderManager; // class under test
+};
+
+TestPhoneCallHeaderManager::TestPhoneCallHeaderManager ()
+{
+}
+
+TestPhoneCallHeaderManager::~TestPhoneCallHeaderManager ()
+{
+}
+
+void TestPhoneCallHeaderManager::initTestCase ()
+{
+    mBubbleManagerIFStub =  new BubbleManagerIFStub();
+    mPhoneUIQtViewIFStub = new PhoneUIQtViewIFStub(*mBubbleManagerIFStub);
+    TRAP_IGNORE( iEngineInfo = CPEEngineInfo::NewL());
+    mPhoneBubbleWrapper = new PhoneBubbleWrapper(*mBubbleManagerIFStub);
+    mCallHeaderManager = new PhoneCallHeaderManager(
+            *mPhoneBubbleWrapper, *mPhoneUIQtViewIFStub);
+    
+    mCallHeaderManager->setEngineInfo(iEngineInfo);
+}
+
+void TestPhoneCallHeaderManager::cleanupTestCase ()
+{
+    delete mCallHeaderManager;
+    delete mPhoneUIQtViewIFStub;
+    delete mBubbleManagerIFStub;
+    delete mPhoneBubbleWrapper;
+    delete iEngineInfo;
+}
+
+void TestPhoneCallHeaderManager::init ()
+{
+    initialize();
+}
+
+void TestPhoneCallHeaderManager::cleanup ()
+{
+    reset();
+}
+
+void TestPhoneCallHeaderManager::testCreateCallHeader ()
+{
+    int callId = 1;
+    iEngineInfo->SetCallState(EPEStateRinging, callId );
+    
+    EXPECT( PhoneCallHeaderUtil, SetIncomingCallHeaderParams);
+    EXPECT( PhoneBubbleWrapper, createCallHeader);
+    mCallHeaderManager->createCallHeader(callId);
+    QVERIFY(verify());
+    
+    iEngineInfo->SetCallState(EPEStateConnecting, callId );
+    mIsConferenceExpanded = true;
+    mSetExpandedConferenceCalled = false;
+    
+    EXPECT( PhoneCallHeaderUtil, SetOutgoingCallHeaderParams);
+    mCallHeaderManager->createCallHeader(callId);
+    QVERIFY(verify());
+    QVERIFY(mSetExpandedConferenceCalled);
+    
+    mSetExpandedConferenceCalled = false;
+    mIsConferenceExpanded = false;
+}
+
+void TestPhoneCallHeaderManager::testCreateEmergencyCallHeader()
+{
+    int callId = 1;
+
+    EXPECT( PhoneBubbleWrapper, createCallHeader);
+    EXPECT( PhoneBubbleWrapper, setLabel);
+    EXPECT( PhoneBubbleWrapper, setCli);
+    EXPECT( PhoneBubbleWrapper, setCiphering);
+    mCallHeaderManager->createEmergencyCallHeader(callId);
+    QVERIFY(verify());
+}
+
+void TestPhoneCallHeaderManager::testRemoveCallHeader()
+{
+    int callId = 1;
+    int bubbleId = 1;
+    QMap<int,int> bubbleMap;
+    EXPECT( PhoneBubbleWrapper, bubbles).returns(bubbleMap);
+    EXPECT( PhoneBubbleWrapper, removeCallHeader).times(0);
+    mCallHeaderManager->removeCallHeader(callId);
+    QVERIFY(verify());
+    reset();
+    
+    bubbleMap.insert(callId, bubbleId);
+
+    EXPECT( PhoneBubbleWrapper, bubbles).returns(bubbleMap);
+    EXPECT( PhoneBubbleWrapper, removeCallHeader).with(callId);
+    mCallHeaderManager->removeCallHeader(callId);
+    QVERIFY(verify());
+    reset();
+}
+
+void TestPhoneCallHeaderManager::testUpdateCallHeaderState()
+{
+    int callId = 1;
+    int bubbleId = -1;
+    EXPECT( PhoneBubbleWrapper, bubbleId).returns(bubbleId);
+    EXPECT( PhoneBubbleWrapper, setState).times(0);
+    mCallHeaderManager->updateCallHeaderState(callId);
+    QVERIFY(verify());
+    reset();
+    
+    bubbleId = 1;
+
+    EXPECT( PhoneBubbleWrapper, bubbleId).returns(bubbleId);
+    EXPECT( PhoneBubbleWrapper, setState).times(1);
+    mCallHeaderManager->updateCallHeaderState(callId);
+    QVERIFY(verify());
+    reset();
+}
+
+void TestPhoneCallHeaderManager::testUpdateCallHeaderRemoteInfo()
+{
+    int callId = 1;
+    int bubbleId = -1;
+    EXPECT( PhoneBubbleWrapper, bubbleId).returns(bubbleId);
+    EXPECT( PhoneBubbleWrapper, setCli).times(0);
+    mCallHeaderManager->updateCallHeaderRemoteInfo(callId);
+    QVERIFY(verify());
+    reset();
+    
+    bubbleId = 1;
+
+    EXPECT( PhoneBubbleWrapper, bubbleId).returns(bubbleId);
+    EXPECT( PhoneBubbleWrapper, setCli).times(1);
+    mCallHeaderManager->updateCallHeaderRemoteInfo(callId);
+    QVERIFY(verify());
+    reset();
+}
+
+void TestPhoneCallHeaderManager::testUpdateCallHeaderRemoteInfoAndLabel()
+{
+    int callId = 1;
+    int bubbleId = -1;
+    EXPECT( PhoneBubbleWrapper, bubbleId).returns(bubbleId);
+    EXPECT( PhoneBubbleWrapper, setLabel).times(0);
+    mCallHeaderManager->updateCallHeaderRemoteInfoAndLabel(callId);
+    QVERIFY(verify());
+    reset();
+    
+    bubbleId = 1;
+
+    EXPECT( PhoneBubbleWrapper, bubbleId).returns(bubbleId);
+    EXPECT( PhoneBubbleWrapper, setLabel).times(1);
+    mCallHeaderManager->updateCallHeaderRemoteInfoAndLabel(callId);
+    QVERIFY(verify());
+    reset();
+}
+
+void TestPhoneCallHeaderManager::testHandleCipheringInfoChange()
+{
+    iEngineInfo->SetCallSecureStatus( ETrue, 0 );
+    iEngineInfo->SetCallSecureStatus( EFalse, 1 );
+    int callId = KPEConferenceCallID;
+    int bubbleId = -1;
+    QList<int> conferenceList;
+    conferenceList.append(0);
+    conferenceList.append(1);
+    EXPECT( PhoneBubbleWrapper, conferenceCallList).returns(conferenceList);
+    EXPECT( PhoneBubbleWrapper, conferenceCallList).returns(conferenceList);
+    EXPECT( PhoneBubbleWrapper, conferenceCallList).returns(conferenceList);
+    EXPECT( PhoneBubbleWrapper, conferenceCallList).returns(conferenceList);
+    EXPECT( PhoneBubbleWrapper, setCiphering);
+    mCallHeaderManager->handleCipheringInfoChange(callId);
+    QVERIFY(verify());
+    reset();
+    
+    callId = 1;
+
+    EXPECT( PhoneBubbleWrapper, bubbleId).returns(bubbleId);
+    EXPECT( PhoneBubbleWrapper, setCiphering).times(0);
+    mCallHeaderManager->handleCipheringInfoChange(callId);
+    QVERIFY(verify());
+    reset();
+    
+    bubbleId = 1;
+    
+    EXPECT( PhoneBubbleWrapper, bubbleId).returns(bubbleId);
+    EXPECT( PhoneBubbleWrapper, setCiphering);
+    mCallHeaderManager->handleCipheringInfoChange(callId);
+    QVERIFY(verify());
+    reset();
+}
+
+void TestPhoneCallHeaderManager::testConferenceBubble()
+{
+    int callId = 7;
+    EXPECT( PhoneBubbleWrapper, createConferenceBubble);
+    mCallHeaderManager->createConferenceBubble(callId);
+    QVERIFY(verify());
+    reset();
+    
+    EXPECT( PhoneBubbleWrapper, removeConferenceBubble);
+    mCallHeaderManager->removeConferenceBubble();
+    QVERIFY(verify());
+    reset();
+    
+    QMap<int,int> bubbleMap;
+    EXPECT( PhoneBubbleWrapper, bubbles).returns(bubbleMap);
+    EXPECT( PhoneBubbleWrapper, removeCallHeader).with(callId);
+    mCallHeaderManager->removeCallFromConference(callId);
+    QVERIFY(verify());
+    reset();
+    
+    EXPECT( PhoneBubbleWrapper, removeCallFromConference).with(callId);
+    EXPECT( PhoneBubbleWrapper, bubbles).returns(bubbleMap);
+    mCallHeaderManager->setPrivateFromConference(callId);
+    QVERIFY(verify());
+    reset();
+}
+
+void TestPhoneCallHeaderManager::testExpandedConferenceCallHeader()
+{
+
+    QMap<int,int> bubbleMap;
+    EXPECT( PhoneBubbleWrapper, bubbles).returns(bubbleMap).times(2);    
+    mCallHeaderManager->setExpandedConferenceCallHeader();
+    QVERIFY(verify());
+    QVERIFY(false == mIsExpandedConference);
+    reset();
+    
+    bubbleMap.insert(1, 2);
+    EXPECT( PhoneBubbleWrapper, bubbles).returns(bubbleMap);
+    EXPECT( PhoneBubbleWrapper, callIdByBubbleId).returns(KConferenceCallId);
+    mCallHeaderManager->setExpandedConferenceCallHeader();
+    QVERIFY(verify());
+    QVERIFY(true == mIsExpandedConference);
+    reset();
+}
+
+void TestPhoneCallHeaderManager::testRemoveAllCallHeaders()
+{
+
+    QList<int> conferenceListMap;
+    QMap<int,int> bubbleMap;
+    EXPECT( PhoneBubbleWrapper, conferenceCallList).returns(conferenceListMap);
+    EXPECT( PhoneBubbleWrapper, bubbles).returns(bubbleMap);    
+    mCallHeaderManager->removeAllCallHeaders();
+    QVERIFY(verify());
+    reset();
+    
+    conferenceListMap.append(1);
+    bubbleMap.insert(1,1);
+    bubbleMap.insert(KEmergencyCallId, KEmergencyCallId);
+    
+    EXPECT( PhoneBubbleWrapper, conferenceCallList).returns(conferenceListMap);
+    EXPECT( PhoneBubbleWrapper, removeConferenceBubble);
+    EXPECT( PhoneBubbleWrapper, bubbles).returns(bubbleMap).times(2);
+    EXPECT( PhoneBubbleWrapper, removeCallHeader).with(1);
+    mCallHeaderManager->removeAllCallHeaders();
+    QVERIFY(verify());
+    reset();
+}
+
+void TestPhoneCallHeaderManager::testIsVideoCall()
+{
+    iEngineInfo->SetCallTypeCommand(EPECallTypeVideo);
+    QVERIFY(mCallHeaderManager->isVideoCall( -1 ));
+    
+    iEngineInfo->SetCallTypeCommand(EPECallTypeVoIP);
+    QVERIFY(false == mCallHeaderManager->isVideoCall( -1 ));
+
+    int callId = 1;
+    iEngineInfo->SetCallType(EPECallTypeVoIP, callId);
+    QVERIFY(false == mCallHeaderManager->isVideoCall( callId ));
+    
+    iEngineInfo->SetCallType(EPECallTypeVideo, callId);
+    QVERIFY(mCallHeaderManager->isVideoCall( callId ));
+}
+
+QTEST_MAIN_S60(TestPhoneCallHeaderManager)
+#include "unit_tests.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecallheadermanager/ut_phonecallheadermanager.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,57 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description: Project file for building unit test component
+#
+#
+
+TEMPLATE = app
+TARGET.UID3 = 0xEDA69435
+DEPENDPATH += .
+INCLUDEPATH += .
+CONFIG += hb
+CONFIG += qtestlib
+
+INCLUDEPATH += /epoc32/include/platform/mw \
+               /epoc32/include/platform \
+               /epoc32/include/platform/app \
+               ../../../phoneuiutils/inc/ \
+               ../../../phoneuiview2/inc \
+               ../../../../inc \
+               ../../../../phoneengine/inc \
+               ../../../phoneui2/srcdata \
+               ../../../../tsrc/common \
+               ../../../phonemediatorcenter/inc \
+               ../../../phoneuicontrol/inc
+
+LIBS += -lphoneuiutils \
+        -lmocklib \
+        -lsymbianmock \
+        -lengineinfo
+
+TARGET.CAPABILITY = ALL -TCB
+DEFINES += FT_SYMBIAN_INTEGRATION
+DEFINES += BUILD_PHONEUIQTVIEWADAPTER
+
+# Input
+HEADERS += ../../inc/phonecallheadermanager.h
+HEADERS += ../../inc/phonebubblewrapper.h
+HEADERS += bubblemanagerif_stub.h
+HEADERS += phoneuiqtviewif_stub.h
+SOURCES += ../../src/phonecallheadermanager.cpp
+SOURCES += ../../../../tsrc/mocks/phoneuiqtviewadapter/mock_phonebubblewrapper.cpp
+SOURCES += ../../../../tsrc/mocks/phoneuiqtviewadapter/mock_phonecallheaderutil.cpp
+SOURCES += ../../../../tsrc/stubs/stubs.cpp
+SOURCES += unit_tests.cpp
+
+INCLUDE(../../../../tsrc/common/phonetest.pri)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecallheaderutil/unit_tests.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,313 @@
+/*!
+* 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:  Unit tests for PhoneUIQtButtonsController.
+*
+*/
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+#include "qtestmains60.h"
+#include "phonecallheaderutil.h"
+#include "pevirtualengine.h"
+#include "cpeengineinfo.h"
+#include "tphonecmdparamcallheaderdata.h"
+#include "cphonemainresourceresolver.h"
+#include "cphonecenrepproxy.h"
+#include "phonerssbase.h"
+#include <StringLoader.h>
+#include <coemain.h>
+
+_LIT(KSimulatedStringLoaderString,"1234567890");
+
+class CPhoneMainResourceResolverMock : public CPhoneMainResourceResolver
+    {    
+    };
+
+class CPhoneCenRepProxyMock : public CPhoneCenRepProxy
+    { 
+public:
+    CPhoneCenRepProxyMock() {};
+    };
+
+void simulateStringLoad(TDes& buf, TInt /*id*/, CCoeEnv* /*coeenv*/)
+{
+    buf.Append(KSimulatedStringLoaderString());
+}
+
+class TestPhoneCallHeaderUtil : public QObject, MockService
+{
+    Q_OBJECT
+public:
+    TestPhoneCallHeaderUtil();
+    virtual ~TestPhoneCallHeaderUtil();
+
+public slots:
+    void initTestCase ();
+    void cleanupTestCase ();
+    void init ();
+    void cleanup (); 
+    
+private slots:
+    void testSetIncomingCallHeaderParams();
+    void testSetOutgoingCallHeaderParams();
+    void testUpdateCallHeaderInfo();
+    void testSetCallHeaderType();
+    void testSetDivertIndication();
+    void testGetRemoteInfoData();
+    void testSetCallHeaderTexts();
+    void testLabelText();
+    void testEmergencyHeaderText();
+    void testAttemptingEmergencyText();
+    void testCallState();            
+    void testLoadResource();
+    
+private:
+    CPEEngineInfo* m_engineInfo;
+    PhoneCallHeaderUtil* m_util;
+    CPhoneMainResourceResolverMock* m_resourceResolverMock;
+    CPhoneCenRepProxyMock* m_cenrepProxyMock;
+};
+
+TestPhoneCallHeaderUtil::TestPhoneCallHeaderUtil ()
+{
+    
+}
+
+TestPhoneCallHeaderUtil::~TestPhoneCallHeaderUtil ()
+{
+}
+
+void TestPhoneCallHeaderUtil::initTestCase ()
+{
+    m_engineInfo = CPEEngineInfo::NewL();
+    m_util = new PhoneCallHeaderUtil(*m_engineInfo);
+    
+    m_resourceResolverMock = new CPhoneMainResourceResolverMock();
+    SmcDefaultValue<CPhoneMainResourceResolver*>::SetL( m_resourceResolverMock );
+    
+    m_cenrepProxyMock = new CPhoneCenRepProxyMock();
+    SmcDefaultValue<CPhoneCenRepProxy*>::SetL( m_cenrepProxyMock );
+}
+
+void TestPhoneCallHeaderUtil::cleanupTestCase ()
+{
+    delete m_util;
+    delete m_engineInfo;
+    delete m_resourceResolverMock;
+}
+
+void TestPhoneCallHeaderUtil::init ()
+{
+    initialize();
+}
+
+void TestPhoneCallHeaderUtil::cleanup ()
+{
+    reset();
+}
+
+void TestPhoneCallHeaderUtil::testSetIncomingCallHeaderParams()
+{
+    TPhoneCmdParamCallHeaderData data;       
+    
+    const int callId = 1;
+    const int serviceId = 100;
+    _LIT(KPhoneNumber,"123456");
+    _LIT(KCallerImage,"image.jpg");
+    
+    m_engineInfo->SetCallState(EPEStateRinging, callId);
+    m_engineInfo->SetCallType(EPECallTypeCSVoice, callId);
+    m_engineInfo->SetCallSecureStatus(EFalse, callId);
+    m_engineInfo->SetSecureSpecified(ETrue);
+    m_engineInfo->SetServiceId(callId, serviceId);
+    m_engineInfo->SetRemotePhoneNumber(KPhoneNumber(), callId);
+    m_engineInfo->SetRemotePhoneNumberType(EPEMobileNumber, callId);
+    m_engineInfo->SetCallerImage(KCallerImage(), callId);
+    m_engineInfo->SetIncomingCallForwarded(ETrue, callId);
+    
+    EXPECT(CPhoneMainResourceResolver,ResolveResourceID).with(EPhoneIncomingCallLabel);    
+    m_util->SetIncomingCallHeaderParams(callId,EFalse,EFalse,&data);
+    QVERIFY(verify());
+    
+    QVERIFY(data.CallState()==EPEStateRinging);
+    QVERIFY(data.CallType()==EPECallTypeCSVoice);
+    QVERIFY(data.Ciphering()==EFalse);
+    QVERIFY(data.CipheringIndicatorAllowed()==ETrue);
+    QVERIFY(data.ServiceId()==serviceId);
+    QVERIFY(data.RemotePhoneNumber()==KPhoneNumber);
+    QVERIFY(data.NumberType()==EPEMobileNumber);
+    QVERIFY(data.Picture()==KCallerImage);
+    QVERIFY(data.Diverted()==ETrue);
+}
+
+void TestPhoneCallHeaderUtil::testSetOutgoingCallHeaderParams()
+{
+    TPhoneCmdParamCallHeaderData data;
+    
+    const int callId = 1;
+    const int serviceId = 100;
+    _LIT(KPhoneNumber,"123456");
+    _LIT(KCallerImage,"image.jpg");
+    
+    m_engineInfo->SetCallState(EPEStateDialing, callId);
+    m_engineInfo->SetCallType(EPECallTypeCSVoice, callId);
+    m_engineInfo->SetCallSecureStatus(EFalse, callId);
+    m_engineInfo->SetSecureSpecified(ETrue);
+    m_engineInfo->SetServiceId(callId, serviceId);
+    m_engineInfo->SetRemotePhoneNumber(KPhoneNumber(), callId);
+    m_engineInfo->SetRemotePhoneNumberType(EPEMobileNumber, callId);
+    m_engineInfo->SetCallerImage(KCallerImage(), callId);
+    
+    EXPECT(CPhoneMainResourceResolver,ResolveResourceID).with(EPhoneOutgoingCallLabel);    
+    m_util->SetOutgoingCallHeaderParams(callId,&data);
+    QVERIFY(verify());
+    
+    QVERIFY(data.CallState()==EPEStateDialing);
+    QVERIFY(data.CallType()==EPECallTypeCSVoice);
+    QVERIFY(data.Ciphering()==EFalse);
+    QVERIFY(data.CipheringIndicatorAllowed()==ETrue);
+    QVERIFY(data.ServiceId()==serviceId);
+    QVERIFY(data.RemotePhoneNumber()==KPhoneNumber);
+    QVERIFY(data.NumberType()==EPEMobileNumber);
+    QVERIFY(data.Picture()==KCallerImage);
+}
+
+void TestPhoneCallHeaderUtil::testUpdateCallHeaderInfo()
+{
+    TPhoneCmdParamCallHeaderData data;
+    
+    const int callId = 1;
+    const int serviceId = 100;
+    _LIT(KPhoneNumber,"123456");
+    _LIT(KCallerImage,"image.jpg");
+    
+    m_engineInfo->SetRemotePhoneNumber(KPhoneNumber(), callId);
+    m_engineInfo->SetRemotePhoneNumberType(EPEMobileNumber, callId);
+    m_engineInfo->SetRemoteIdentity(RMobileCall::ERemoteIdentityAvailable, callId);
+    m_engineInfo->SetCallerImage(KCallerImage(), callId);
+    
+    EXPECT(CPhoneMainResourceResolver,ResolveResourceID).with(EPhoneIncomingCallLabel);    
+    m_util->UpdateCallHeaderInfo(1,0,0,&data);
+    QVERIFY(verify());
+    
+    QVERIFY(data.CLIText()==KPhoneNumber);
+    QVERIFY(data.Picture()==KCallerImage);          
+}
+
+void TestPhoneCallHeaderUtil::testSetCallHeaderType()
+{
+    m_util->SetCallHeaderType(EPECallTypeCSVoice);
+    QVERIFY(m_util->CallHeaderType()==EPECallTypeCSVoice);
+}
+
+void TestPhoneCallHeaderUtil::testSetDivertIndication()
+{
+    m_util->SetDivertIndication(ETrue);
+}
+
+void TestPhoneCallHeaderUtil::testGetRemoteInfoData()
+{
+    TBuf<100> buf;
+    const int callId = 1;
+    _LIT(KPhoneNumber,"123456");
+    
+    m_engineInfo->SetRemotePhoneNumber(KPhoneNumber(), callId);
+    m_engineInfo->SetRemotePhoneNumberType(EPEMobileNumber, callId);
+    m_engineInfo->SetCallDirection(RMobileCall::EMobileTerminated, callId);
+    m_engineInfo->SetRemoteIdentity(RMobileCall::ERemoteIdentityAvailable, callId);
+    
+    m_util->GetRemoteInfoData(callId,buf);
+    QVERIFY(buf==KPhoneNumber());
+}
+
+void TestPhoneCallHeaderUtil::testSetCallHeaderTexts()
+{
+    TPhoneCmdParamCallHeaderData data;    
+    
+    const int callId = 1;
+    const int serviceId = 100;
+    _LIT(KPhoneNumber,"123456");
+        
+    m_engineInfo->SetRemotePhoneNumber(KPhoneNumber(), callId);
+    m_engineInfo->SetRemotePhoneNumberType(EPEMobileNumber, callId);
+    m_engineInfo->SetALSLine(CCCECallParameters::ECCELineTypePrimary);
+    
+    EXPECT(CPhoneMainResourceResolver,ResolveResourceID).with(EPhoneIncomingCallLabel);
+    m_util->SetCallHeaderTexts(1,0,0,&data);
+
+    QVERIFY(verify());                
+}
+
+void TestPhoneCallHeaderUtil::testLabelText()
+{
+    const int callId = 1;
+   
+    m_engineInfo->SetCallState(EPEStateHeld, callId);
+    m_engineInfo->SetCallType(EPECallTypeCSVoice, callId);
+    
+    TBuf<100> label = m_util->LabelText(1);
+    EXPECT(CPhoneMainResourceResolver,ResolveResourceID).with(EPhoneCallOnHold);
+}
+
+void TestPhoneCallHeaderUtil::testEmergencyHeaderText()
+{
+    _LIT( KResourceText, "emergency" );
+    HBufC* text = KResourceText().AllocLC();
+    EXPECT(StringLoader,LoadL).returns<HBufC*>(0);
+    QVERIFY(m_util->EmergencyHeaderText()==KNullDesC);
+    verify();
+    EXPECT(StringLoader,LoadL).returns(text);   
+    QVERIFY(m_util->EmergencyHeaderText()==text->Des());
+    verify();
+}
+
+void TestPhoneCallHeaderUtil::testAttemptingEmergencyText()
+{
+    _LIT( KResourceText, "attempting" );
+    HBufC* text = KResourceText().AllocLC();
+    EXPECT(StringLoader,LoadL).returns<HBufC*>(0);
+    QVERIFY(m_util->AttemptingEmergencyText()==KNullDesC);
+    verify();
+    EXPECT(StringLoader,LoadL).returns(text);   
+    QVERIFY(m_util->AttemptingEmergencyText()==text->Des());
+    verify();
+}
+
+void TestPhoneCallHeaderUtil::testCallState()
+{
+    m_engineInfo->SetCallState(EPEStateDialing,1);
+    QVERIFY(m_util->CallState(1)==EPEStateDialing);    
+}
+
+void TestPhoneCallHeaderUtil::testLoadResource()
+{
+    TBuf<100> buf;
+    
+    EXPECT(CPhoneMainResourceResolver,ResolveResourceID).with(1).returns(1);
+    EXPECT(StringLoader,Load).willOnce(invoke(simulateStringLoad));
+    m_util->LoadResource(buf,1);
+    QVERIFY(verify());
+    QVERIFY(buf==KSimulatedStringLoaderString());
+    
+    _LIT( KResourceText, "resource" );
+    HBufC* text = KResourceText().AllocLC();
+    EXPECT(CPhoneMainResourceResolver,ResolveResourceID).with(1).returns(1);
+    EXPECT(StringLoader,LoadL).returns(text);   
+    HBufC* ret = m_util->LoadResource(1);
+    QVERIFY(ret==text);
+    delete text;
+}
+
+QTEST_MAIN_S60(TestPhoneCallHeaderUtil)
+#include "unit_tests.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecallheaderutil/ut_phonecallheaderutil.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,45 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description: Project file for building unit test component
+#
+#
+
+TEMPLATE = app
+TARGET.UID3 = 0xE37786C5
+DEPENDPATH += . \
+    ../../src
+INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+INCLUDEPATH += . \
+    ../../inc \
+    ../../../phoneuiutils/inc \
+    ../../../phoneui2/srcdata \
+    ../../../../tsrc/common \
+    ../../../../inc \
+    ../../../../phoneengine/inc
+    
+CONFIG += qtestlib engineinfo
+
+LIBS += -lengineinfo -lphoneuiutils \
+        -lmocklib -lsymbianmock 
+
+SOURCES += unit_tests.cpp \
+           ../../src/phonecallheaderutil.cpp \
+           ../../../internal/mocks/mock_stringloader.cpp \
+           ../../../internal/mocks/phoneuiutils/mock_cphonelogger.cpp \
+           ../../../internal/mocks/phoneuiutils/mock_cphonemainresourceresolver.cpp \
+           ../../../internal/mocks/phoneuiutils/mock_cphonecenrepproxy.cpp \
+           ut_phonecallheaderutilstubs.cpp \
+           
+           
+include(../../../../tsrc/common/phonetest.pri)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecallheaderutil/ut_phonecallheaderutilstubs.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,40 @@
+#include "coemain.h"
+CCoeEnv *CCoeEnv::Static(  )
+    {
+    return 0;
+    }
+
+CCoeStatic *CCoeEnv::Static(TUid /*aUid*/)
+    {
+    return 0;
+    }
+
+CCoeStatic::CCoeStatic()
+    {    
+    }
+
+CCoeStatic::~CCoeStatic()
+    {    
+    }
+
+CCoeStatic::CCoeStatic(TUid /*aUid*/, TScope /*aScope*/)
+    {    
+    }
+
+CCoeStatic::CCoeStatic(TUid /*aUid*/, TInt /*aDestructionPriority*/, TScope /*aScope*/ )
+    {    
+    }
+
+void CCoeStatic::CCoeStatic_Reserved1(  )
+    {
+    }
+
+void CCoeStatic::CCoeStatic_Reserved2(  )
+    {
+    }
+    
+#include <bautils.h>
+TBool BaflUtils::FileExists(const RFs& /*aFs*/,const TDesC& /*aFileName*/)
+{
+    return ETrue;
+}
--- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecommandextensionwrapper/unit_tests.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecommandextensionwrapper/unit_tests.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -24,6 +24,7 @@
 #include "phonecommandextensionwrapper.h"
 #include "pevirtualengine.h"
 #include "menuextension_stub.h"
+#include "qtestmains60.h"
 
 extern bool m_modifyMenuCommandListCalled;
 extern bool m_modifyPushButtonCommandListCalled;
@@ -33,22 +34,6 @@
 extern bool m_releaseCalled;
 extern bool m_useExtensionStub;
 
-#define PHONE_QT_VIEW_ADAPTER_TEST_MAIN(TestObject) \
-int main(int argc, char *argv[]) \
-    { \
-        HbApplication app(argc, argv); \
-        TestObject tc; \
-        QResource::registerResource("../hbcore.rcc"); \
-        int ret = QTest::qExec(&tc, argc, argv); \
-        /* Core dump if HbIconLoader instance is not destroyed before the application instance. */ \
-        /* HbIconLoader uses QCoreApplication::aboutToQuit() signal to destroy itself. */ \
-        /* app.exec() where the signal is normally emitted is not called here. */ \
-        /* So, invoking the signal explicitly. */ \
-        QMetaObject::invokeMethod(&app, "aboutToQuit", Qt::DirectConnection); \
-        return ret; \
-    }
-
-
 class TestPhoneCommandExtensionWrapper : public QObject
 {
     Q_OBJECT
@@ -266,5 +251,5 @@
 }
 
 
-PHONE_QT_VIEW_ADAPTER_TEST_MAIN(TestPhoneCommandExtensionWrapper)
+QTEST_MAIN_S60(TestPhoneCommandExtensionWrapper)
 #include "unit_tests.moc"
--- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecommandextensionwrapper/ut_phonecommandextensionwrapper.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecommandextensionwrapper/ut_phonecommandextensionwrapper.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -16,7 +16,6 @@
 #
 
 TEMPLATE = app
-TARGET = 
 TARGET.UID3 = 0xEFF8FEA4
 DEPENDPATH += .
 INCLUDEPATH += .
@@ -24,25 +23,23 @@
 CONFIG += qtestlib
 DEFINES += BUILD_XQPLUGINS_DLL
 
-symbian {
+INCLUDEPATH += \epoc32\include\platform\mw \
+               \epoc32\include\platform \
+               \epoc32\include\platform\app \
+                 \epoc32\include\mw \
+               \sf\app\phone\inc \
+               ../../../phoneuiutils/inc/ \
+               ../../../phonemediatorcenter/inc/ \
+               ../../../phoneuiview2/inc \
+               ../../../../inc \
+               ../../../phoneui2/srcdata \
+               ../../../../tsrc/common
 
-    INCLUDEPATH += \epoc32\include\platform\mw \
-                   \epoc32\include\platform \
-                   \epoc32\include\platform\app \
-	                 \epoc32\include\mw \
-                   \sf\app\phone\inc \
-                   ../../../phoneuiutils/inc/ \
-                   ../../../phonemediatorcenter/inc/ \
-                   ../../../phoneuiview2/inc \
-                   ../../../../inc \
-                   ../../../phoneui2/srcdata
+HEADERS += /epoc32/include/mw/xqpluginloader.h
 
-	HEADERS += /epoc32/include/mw/xqpluginloader.h
-
-    TARGET.CAPABILITY = ALL -TCB
-    DEFINES += FT_SYMBIAN_INTEGRATION
-    DEFINES += BUILD_PHONEUIQTVIEWADAPTER
-}
+TARGET.CAPABILITY = ALL -TCB
+DEFINES += FT_SYMBIAN_INTEGRATION
+DEFINES += BUILD_PHONEUIQTVIEWADAPTER
 
 # Input
 HEADERS += ../../inc/phonecommandextensionwrapper.h
@@ -52,3 +49,6 @@
 SOURCES += xqpluginloader_stub.cpp
 SOURCES += unit_tests.cpp
 
+INCLUDE(../../../../tsrc/common/phonetest.pri)
+
+symbian:MMP_RULES += SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneindicatorcontroller/hbindicator_stub.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,47 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*/
+
+#include "hbindicatorstubhelper.h"
+#include <qglobal.h>
+#include <hbindicator.h>
+
+bool testIndicatorActive = false;
+
+void HbIndicatorStubHelper::reset()
+{
+    testIndicatorActive = false;
+}
+
+bool HbIndicatorStubHelper::indicatorActive()
+{
+    return testIndicatorActive;
+}
+
+bool HbIndicator::activate(const QString &indicatorType, const QVariant &parameter)
+{
+    Q_UNUSED(indicatorType)
+    Q_UNUSED(parameter)
+    testIndicatorActive = true;
+    return true;
+}
+
+bool HbIndicator::deactivate(const QString &indicatorType, const QVariant &parameter)
+{
+    Q_UNUSED(indicatorType)
+    Q_UNUSED(parameter)
+    testIndicatorActive = false;
+    return true;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneindicatorcontroller/hbindicatorstubhelper.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,31 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*/
+
+#ifndef HBINDICATORSTUBHELPER_H_
+#define HBINDICATORSTUBHELPER_H_
+
+/**
+* Helper class to control stub behavior
+*
+*/ 
+class HbIndicatorStubHelper
+{
+    public:
+        static void reset();
+        static bool indicatorActive();
+};
+
+#endif /* HBINDICATORSTUBHELPER_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneindicatorcontroller/logsevent.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,39 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*/
+
+#ifndef LOGSEVENT_H_
+#define LOGSEVENT_H_
+
+#include <QObject>
+/*!
+ * Mock
+ */
+class LogsEvent: public QObject
+{
+Q_OBJECT
+ 
+public:
+ 
+    LogsEvent();
+    virtual ~LogsEvent();
+    
+    int duplicates();
+    bool isRemotePartyPrivate()const ;
+    const QString& remoteParty() const;
+    const QString& number() const;
+};
+
+#endif /* LOGSEVENT_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneindicatorcontroller/logsevent_stub.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,44 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*/
+
+#include "logsevent.h"
+
+LogsEvent::LogsEvent()
+{
+    
+}
+    
+LogsEvent::~LogsEvent()
+{
+}
+    
+int LogsEvent::duplicates()
+{
+    return 345;
+}
+
+bool LogsEvent::isRemotePartyPrivate()const 
+{
+    return false;
+}
+const QString& LogsEvent::remoteParty() const
+{
+    return QString();
+}
+const QString& LogsEvent::number() const
+{
+    return QString();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneindicatorcontroller/logsfilter.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,51 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*/
+
+#ifndef LOGSFILTER_H_
+#define LOGSFILTER_H_
+
+#include <QObject>
+#include "logsmodel.h"
+
+class QModelIndex;
+
+
+/*!
+ * Mock
+ */
+
+class LogsFilter: public QObject
+{
+    Q_OBJECT
+public:
+    enum FilterType{
+        Missed
+    };
+
+ 
+
+    LogsFilter(FilterType type);
+    virtual ~LogsFilter();
+     
+    void setSourceModel( LogsModel *model );
+    void setMaxSize(int maxSize);
+     
+    QVariant data(const QModelIndex &proxyIndex, int role = Qt::DisplayRole) const;
+    QModelIndex index(int row, int column) const;
+    
+};
+
+#endif /* LOGSFILTER_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneindicatorcontroller/logsfilter_stub.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,55 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*/
+
+#include "logsfilter.h"
+#include "logsevent.h"
+#include <QVariant>
+#include <QModelIndex>
+#include <logsmodel.h>
+
+int m_modelMaxSize = 0;
+
+LogsFilter::LogsFilter( FilterType /*type*/ )
+{
+}
+
+/**
+ * Destructor
+ */
+LogsFilter::~LogsFilter()
+{
+}
+
+void LogsFilter::setMaxSize(int maxSize)
+{
+    m_modelMaxSize = maxSize;
+}
+
+QVariant LogsFilter::data(const QModelIndex &proxyIndex, int role) const
+{   
+    return QVariant();
+}
+
+QModelIndex LogsFilter::index(int row, int column) const
+{
+return QModelIndex();
+}
+
+void LogsFilter::setSourceModel(LogsModel *sourceModel)
+{
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneindicatorcontroller/logsmodel.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,38 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*/
+
+#ifndef LOGSMODEL_H_
+#define LOGSMODEL_H_
+
+#include<QObject>
+ /*!
+ * Mock
+  */
+class LogsModel: public QObject
+{
+public:
+    enum LogsModelType
+        {
+        LogsFullModel
+        };
+Q_OBJECT
+public:
+    LogsModel( LogsModel::LogsModelType type );
+    virtual ~LogsModel();
+   
+};
+
+#endif /* LOGSMODEL_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneindicatorcontroller/logsmodel_stub.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,26 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*/
+
+#include "logsmodel.h"
+bool m_logsModelCreated = false;
+LogsModel::LogsModel( LogsModel::LogsModelType type )
+{
+    m_logsModelCreated = true;
+}
+LogsModel::~LogsModel()
+{
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneindicatorcontroller/phoneuiqtviewif_stub.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,238 @@
+/*!
+* 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:  Phone UI Qt view's interface.
+*
+*/
+
+#ifndef PHONEUIQTVIEWIF_STUB_H
+#define PHONEUIQTVIEWIF_STUB_H
+
+
+#include <phoneuiqtviewif.h>
+
+class QKeyEvent;
+class QString;
+class HbIcon;
+class HbAction;
+class HbMenu;
+class PhoneAction;
+class BubbleManagerIF;
+
+
+
+class PhoneUIQtViewIFStub : public PhoneUIQtViewIF
+{
+
+public:
+    
+    PhoneUIQtViewIFStub(){};
+    
+    virtual ~PhoneUIQtViewIFStub() {};
+        
+    /*!
+        \fn void PhoneUIQtViewIF::bubbleManager ()
+        
+        Returns reference to BubbleManager's interface.
+    */
+    BubbleManagerIF& bubbleManager () {};
+    
+    /*!
+        \fn void PhoneUIQtViewIF::addBubbleCommand ()
+        
+        Adds new command to bubble. Command id will be emitted as
+        a parameter from view's command(int) signal.
+    */
+    void addBubbleCommand ( 
+        int bubbleId,
+        const PhoneAction& action ) {};
+    
+    /*!
+        \fn void PhoneUIQtViewIF::clearBubbleCommands ()
+        
+        Clears commands from bubble.
+    */
+    void clearBubbleCommands (int bubbleId){};
+
+    /*!
+        \fn void PhoneUIQtView::addParticipantListAction ()
+        
+        Adds new patricipant list command to conference bubble. 
+    */
+    void addParticipantListAction(
+            int commandId,  
+            const QString &text, 
+            const HbIcon &icon) {};
+
+    /*!
+        \fn void PhoneUIQtView::clearBubbleCommands ()
+        
+        Clears participant list commands from conference bubble.
+    */
+    void clearParticipantListActions() {};
+    
+    /*!
+        \fn void PhoneUIQtViewIF::setToolbarActions()
+        
+        Sets toolbar actions.
+    */
+    void setToolbarActions(const QList<PhoneAction*>& actions) {};    
+    
+    /*!
+        \fn void PhoneUIQtViewIF::hideToolbar ()
+        
+        Hides toolbar.
+    */
+    void hideToolbar () {};
+    
+    /*!
+        \fn void PhoneUIQtViewIF::showToolbar ()
+        
+        Shows toolbar.
+    */
+    void showToolbar (){};
+    
+    /*!
+        \fn int PhoneUIQtViewIF::volumeSliderValue ()
+        
+        Returns HbVolumeSliderPopup's volume value.
+        If this volume slider isn't active -1 is returned.
+    */
+    int volumeSliderValue () {};
+    
+    /*!
+        \fn void PhoneUIQtViewIF::removeVolumeSlider ()
+        
+        Removes HbVolumeSliderPopup.
+    */
+    void removeVolumeSlider () {};
+
+    /*!
+        \fn void PhoneUIQtViewIF::setVolumeSliderValue (int value)
+        
+        Sets slider value to HbVolumeSliderPopup.
+    */
+    void setVolumeSliderValue (
+            int value, 
+            int commandId, 
+            int maxVolumeValue, 
+            int minVolumeValue){};
+
+    /*!
+        \fn void PhoneUIQtViewIF::setExpandAction ()
+        
+        Sets expand action.
+    */
+    void setExpandAction(int bubbleId, int commandId) {};
+    
+    /*!
+        \fn void PhoneUIQtViewIF::removeExpandAction ()
+        
+        Removes expand action.
+    */      
+    void removeExpandAction(int bubbleId){};
+
+    /*!
+        \fn void PhoneUIQtView::showDialpad()
+        
+        Shows dialpad widget.
+    */    
+    void showDialpad() {};
+    
+    /*!
+        \fn void PhoneUIQtView::hideDialpad()
+        
+        Hides dialpad widget.
+    */    
+    void hideDialpad(){};
+    
+    /*!
+        \fn void PhoneUIQtView::isDialpadVisible()
+        
+        Check is dialpad visible.
+    */    
+    bool isDialpadVisible() {};
+
+    /*!
+        \fn void PhoneUIQtView::dialpadString()
+        
+        Returns content of the dialpad.
+    */  
+    QString dialpadText(){};
+    
+    /*!
+        \fn void PhoneUIQtView::dialpadString()
+        
+        Clears and hides dialpad.
+    */
+    void clearAndHideDialpad() {};
+    
+    /*!
+        \fn void PhoneUIQtView::clearDialpad()
+        
+        Clears text from dialpad.
+    */
+    void clearDialpad(){};
+    
+    /*!
+        \fn void PhoneUIQtView::bringToForeground()
+        
+        Brings to foreground.
+    */
+    void bringToForeground(){}; 
+    
+    /*!
+        \fn void PhoneUIQtViewIF::setToolbarActions()
+        
+       Sets menu actions.
+    */
+    void setMenuActions(const QList<PhoneAction*>& actions) {};
+      
+    /*!
+        \fn void PhoneUIQtView::shutdownPhoneApp()
+        
+        Shutdown phone application.
+    */
+    void shutdownPhoneApp(){};
+    
+    /*
+       \fn void PhoneUIQtView::setBackButtonVisible()
+       
+       Set the Back command visibility in TitleBar
+    */
+    void setBackButtonVisible(bool visible){};
+	    
+    /*!
+        \fn void PhoneUIQtViewIF::setToolbarActions()
+        
+       Returns HbMenu reference.
+    */
+    HbMenu &menuReference() {};
+    
+    /*!
+        \fn void PhoneUIQtViewIF::captureKey()
+        
+        Captures key.
+    */
+    void captureKey(Qt::Key key, bool capture){};
+    
+    /*
+        \fn void setRestrictedMode()
+        
+        Sets Ui to restricted mode. Decides which keyevent are allowed.
+     */
+    void setRestrictedMode(bool restrictedMode){};
+   
+};
+
+#endif // PHONEUIQTVIEWIF_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneindicatorcontroller/phonevisibilityhandler_stub.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,126 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*/
+
+#include <xqcallinfo.h>
+#include <MediatorDomainUIDs.h>
+#include <callinformation.h>
+#include <eikenv.h>
+#include <xqserviceutil.h>
+#include <devicelockaccessapi.h>
+#include <qdebug.h>
+#include <telinformationpskeys.h>
+#include <coreapplicationuisdomainpskeys.h>
+#include <apgtask.h>
+#include "phonevisibilityhandler.h"
+#include "cphonepubsubproxy.h"
+#include "phoneconstants.h"
+#include "phoneuiqtviewif.h"
+
+bool m_bringToForegroundCalled;
+bool m_sendToBackgroundCalled;
+bool m_ordinalPositionCalled;
+bool m_phoneVisibleReturnValue;
+
+/*!
+    PhoneVisibilityHandler::PhoneVisibilityHandler.
+ */
+PhoneVisibilityHandler::PhoneVisibilityHandler(PhoneUIQtViewIF &view, QObject *parent)
+    : 
+    QObject(parent),
+    m_view(view),
+    m_eikonEnv(0),
+    m_carModeEnabled(false),
+    m_hideDeviceDialogs(false)
+{
+    m_phoneVisibleReturnValue = false;
+}
+
+
+/*!
+    PhoneVisibilityHandler::~PhoneVisibilityHandler.
+ */
+PhoneVisibilityHandler::~PhoneVisibilityHandler()
+{
+
+}
+
+/*!
+    PhoneVisibilityHandler::bringToForeground.
+ */
+void PhoneVisibilityHandler::bringToForeground()
+{
+    m_bringToForegroundCalled = true;
+}
+
+/*!
+    PhoneVisibilityHandler::sendToBackground.
+ */
+void PhoneVisibilityHandler::sendToBackground(bool homeScreenForeground)
+{
+    m_sendToBackgroundCalled = true;
+}
+
+/*!
+    PhoneVisibilityHandler::hideDeviceDialogs.
+ */
+void PhoneVisibilityHandler::hideDeviceDialogs(bool hide)
+{
+    Q_UNUSED(hide)
+}
+
+/*!
+    PhoneVisibilityHandler::ordinalPosition.
+ */
+bool PhoneVisibilityHandler::phoneVisible()
+{
+    m_ordinalPositionCalled = true;
+    return m_phoneVisibleReturnValue;
+}
+
+/*!
+    PhoneVisibilityHandler::checkCorrectVisibility.
+ */
+void PhoneVisibilityHandler::checkCorrectVisibility()
+{
+    
+}
+
+/*!
+    PhoneVisibilityHandler::HandlePropertyChangedL.
+ */
+void PhoneVisibilityHandler::HandlePropertyChangedL(const TUid& aCategory, 
+    const TUint aKey, const TInt aValue)
+{
+    Q_UNUSED(aCategory)
+    Q_UNUSED(aKey)
+    Q_UNUSED(aValue)
+}
+
+/*!
+    PhoneVisibilityHandler::adjustVisibility.
+ */
+void PhoneVisibilityHandler::adjustVisibility(AdjustAction action)
+{
+    Q_UNUSED(action)
+}
+
+/*!
+    PhoneVisibilityHandler::carModeChanged.
+ */
+void PhoneVisibilityHandler::carModeChanged()
+{
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneindicatorcontroller/unit_tests.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,244 @@
+/*!
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Unit tests for PhoneIndicatorController.
+*
+*/
+
+#include <QtTest/QtTest>
+#include <QtGui>
+#include <HbGlobal>
+#include <HbMenu>
+#include <mockservice.h>
+
+#include <QByteArray>
+#include <QKeyEvent>
+#include <QSignalSpy>
+#include <HbApplication>
+#include <xqcallinfo.h>
+#include <callinformation.h>
+#include <MediatorDomainUIDs.h>
+#include <telinformationpskeys.h>
+#include <coreapplicationuisdomainpskeys.h>
+#include <ccallinfoiter.h>
+#include <keyguardaccessapi.h>
+
+#include <LogsDomainCRKeys.h>
+#include <ctsydomaincrkeys.h>
+
+#include "phonevisibilityhandler.h"
+#include "phoneuiqtviewif_stub.h"
+
+#include <logsmodel.h>
+#include "phoneindicatorcontroller.h"
+#include "phoneindicators.h"
+#include "hbindicatorstubhelper.h"
+
+
+extern bool m_logsModelCreated;
+extern bool m_serviceCreated;
+extern bool m_aiwRequestCreated;
+extern bool m_aiwRequestSended;
+extern int m_modelMaxSize;
+extern bool m_bringToForegroundCalled;
+
+#define PHONE_QT_INDICATOR_CONTROLLER_TEST_MAIN(TestObject) \
+int main(int argc, char *argv[]) \
+{ \
+    HbApplication app(argc, argv); \
+    TestObject tc; \
+    QResource::registerResource("../hbcore.rcc"); \
+    int ret = QTest::qExec(&tc, argc, argv); \
+    /* Core dump if HbIconLoader instance is not destroyed before the application instance. */ \
+    /* HbIconLoader uses QCoreApplication::aboutToQuit() signal to destroy itself. */ \
+    /* app.exec() where the signal is normally emitted is not called here. */ \
+    /* So, invoking the signal explicitly. */ \
+    QMetaObject::invokeMethod(&app, "aboutToQuit", Qt::DirectConnection); \
+    return ret; \
+}
+
+class UT_PhoneIndicatorController : public QObject, public MockService
+{
+    Q_OBJECT
+public:
+    UT_PhoneIndicatorController();
+    virtual ~UT_PhoneIndicatorController();
+    
+signals:
+    void valueChanged(const XQSettingsKey &key ,const QVariant &value);
+    void userActivated(QString,QVariantMap data);
+    void rowsInserted(const QModelIndex &, int, int );
+    
+public slots:
+    void initTestCase();
+    void cleanupTestCase();
+    void init();
+    void cleanup();
+    
+private slots:
+    void testIndicatorController();
+    void t_setActiveCallData();
+    void t_clearActiveCallData();
+    void t_enableActiveCallIndicator();
+    
+    void t_updateMissedCallIndicator();
+    void t_updateDivertIndicator();
+    void t_setMissedallIndicatorData();
+    void t_handleInteraction(); 
+    void t_handleInteraction1(); 
+    void t_handleInteraction2(); 
+
+private:
+    PhoneUIQtViewIFStub *mPhoneUIQtViewIFStub;
+    PhoneVisibilityHandler *m_handler;
+    PhoneIndicatorController *m_phoneIndicatorController; // class under test
+    HbMenu m_menu;  
+};
+
+UT_PhoneIndicatorController::UT_PhoneIndicatorController():
+        m_phoneIndicatorController(NULL)
+{
+}
+
+UT_PhoneIndicatorController::~UT_PhoneIndicatorController()
+{
+    delete m_phoneIndicatorController;
+}
+
+void UT_PhoneIndicatorController::initTestCase()
+{
+    mPhoneUIQtViewIFStub = new PhoneUIQtViewIFStub();
+    m_handler = new PhoneVisibilityHandler(*mPhoneUIQtViewIFStub, this);
+    m_phoneIndicatorController = new PhoneIndicatorController(*m_handler, this);
+}
+
+void UT_PhoneIndicatorController::cleanupTestCase()
+{
+    delete m_phoneIndicatorController;
+    delete m_handler;
+    delete mPhoneUIQtViewIFStub;
+}
+
+void UT_PhoneIndicatorController::init()
+{
+}
+
+void UT_PhoneIndicatorController::cleanup()
+{
+    reset();
+}
+
+void UT_PhoneIndicatorController::testIndicatorController()
+{
+    QVERIFY(m_phoneIndicatorController);
+}
+
+void UT_PhoneIndicatorController::t_setActiveCallData()
+{
+    QVERIFY(m_phoneIndicatorController->m_cli.isEmpty());
+    m_phoneIndicatorController->setActiveCallData();
+    QVERIFY(!m_phoneIndicatorController->m_cli.isEmpty());
+}
+
+void UT_PhoneIndicatorController::t_clearActiveCallData()
+{
+    m_phoneIndicatorController->clearActiveCallData();
+    QVERIFY(m_phoneIndicatorController->m_cli.isEmpty());
+}
+
+void UT_PhoneIndicatorController::t_enableActiveCallIndicator()
+{   
+    m_phoneIndicatorController->enableActiveCallIndicator();
+    QVERIFY(!HbIndicatorStubHelper::indicatorActive());
+    m_phoneIndicatorController->setActiveCallData();
+    m_phoneIndicatorController->enableActiveCallIndicator();
+    QVERIFY(HbIndicatorStubHelper::indicatorActive());
+    m_phoneIndicatorController->disableActiveCallIndicator();
+    QVERIFY(!HbIndicatorStubHelper::indicatorActive());    
+}
+
+void UT_PhoneIndicatorController::t_updateMissedCallIndicator()
+{
+    QObject::connect( this, SIGNAL( valueChanged(const XQSettingsKey & ,const QVariant &)),
+            m_phoneIndicatorController, SLOT(updateMissedCallIndicator(XQSettingsKey, 
+                    QVariant)));
+    const XQSettingsKey key(XQSettingsKey::TargetCentralRepository, 
+            KCRUidLogs.iUid, 
+            KLogsNewMissedCalls );
+    emit valueChanged(key, QVariant(1));
+    QVERIFY(m_logsModelCreated); 
+    QVERIFY(m_modelMaxSize = 2);
+}
+
+void UT_PhoneIndicatorController::t_updateDivertIndicator()
+{
+    QObject::connect( this, SIGNAL( valueChanged(const XQSettingsKey & ,const QVariant &)),
+                m_phoneIndicatorController, SLOT(updateDivertIndicator(XQSettingsKey, 
+                        QVariant)));
+    const XQSettingsKey key(XQSettingsKey::TargetCentralRepository, 
+            KCRUidCtsyCallForwardingIndicator.iUid, 
+            KCtsyUnconditionalCFStatus);
+    int x(KCFVoiceForwarded);
+    emit valueChanged( key, QVariant(x).toByteArray());
+    QVERIFY(HbIndicatorStubHelper::indicatorActive());
+    emit valueChanged( key, QVariant(0).toByteArray());
+    QVERIFY(!HbIndicatorStubHelper::indicatorActive());
+}
+
+void UT_PhoneIndicatorController::t_setMissedallIndicatorData()
+{
+    // TODO:
+    QObject::connect( this, SIGNAL(rowsInserted(const QModelIndex &, int, int )),
+                this, SLOT(setMissedallIndicatorData()));  
+    QModelIndex index; 
+    emit(rowsInserted(index,0,0));
+}
+
+void UT_PhoneIndicatorController::t_handleInteraction()
+{
+    QObject::connect(this,SIGNAL(userActivated(QString,QVariantMap)),
+            m_phoneIndicatorController,SLOT(handleInteraction(QString,QVariantMap)));
+    
+    QVariantMap data;
+    data.insert(QLatin1String("interaction"), OpenMissedCallView);
+    emit userActivated(QString(),data);
+    QVERIFY(m_serviceCreated);
+    QVERIFY(m_aiwRequestCreated);
+    QVERIFY(m_aiwRequestSended);
+}
+void UT_PhoneIndicatorController::t_handleInteraction1()
+{
+    QObject::connect(this,SIGNAL(userActivated(QString,QVariantMap)),
+                    m_phoneIndicatorController,SLOT(handleInteraction(QString,QVariantMap)));
+    QVariantMap data;
+    data.insert(QLatin1String("interaction"), OpenCallUi);
+    emit userActivated(QString(),data);
+    QVERIFY(m_bringToForegroundCalled);
+    
+}
+void UT_PhoneIndicatorController::t_handleInteraction2()
+{
+    QObject::connect(this,SIGNAL(userActivated(QString,QVariantMap)),
+                m_phoneIndicatorController,SLOT(handleInteraction(QString,QVariantMap)));
+        
+    QVariantMap data;
+    data.insert(QLatin1String("interaction"), OpenDiverSettingsView);
+    emit userActivated(QString(),data);
+    QVERIFY(m_serviceCreated);
+    QVERIFY(m_aiwRequestCreated);
+    QVERIFY(m_aiwRequestSended);
+}
+
+PHONE_QT_INDICATOR_CONTROLLER_TEST_MAIN(UT_PhoneIndicatorController)
+#include "unit_tests.moc"
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneindicatorcontroller/ut_phoneindicatorcontroller.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,57 @@
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+# Contributors:
+# Description: Project file for building unit test component
+
+TEMPLATE = app
+TARGET.UID3 = 0xEDA69234
+DEPENDPATH += .
+INCLUDEPATH += .
+CONFIG += hb
+CONFIG += qtestlib
+INCLUDEPATH += \epoc32\include\platform\mw \
+    \epoc32\include\platform \
+    \epoc32\include\platform\app \
+    ../../../../tsrc/common \
+    ../../../../inc \
+    ../../../phoneuiutils/inc/ \
+    ../../../phoneuiview2/inc \
+    ../../../../phoneplugins/phoneindicatorplugin/inc
+LIBS += -lmocklib \
+    -lsymbianmock \
+    -lxqsettingsmanager \
+
+TARGET.CAPABILITY = ALL \
+    -TCB
+DEFINES += FT_SYMBIAN_INTEGRATION
+DEFINES += BUILD_PHONEUIQTVIEWADAPTER
+
+# Input
+HEADERS += ../../inc/phoneindicatorcontroller.h
+SOURCES += ../../src/phoneindicatorcontroller.cpp
+HEADERS += ../../inc/phonevisibilityhandler.h
+SOURCES += phonevisibilityhandler_stub.cpp
+HEADERS += phoneuiqtviewif_stub.h
+HEADERS += logsmodel.h
+SOURCES += logsmodel_stub.cpp
+HEADERS += logsevent.h
+SOURCES += logsevent_stub.cpp
+HEADERS += logsfilter.h
+SOURCES += logsfilter_stub.cpp
+HEADERS += xqappmanager.h
+SOURCES += xqappmanager_stub.cpp
+HEADERS += xqaiwrequest.h
+SOURCES += xqaiwrequest_stub.cpp
+HEADERS += hbindicatorstubhelper.h
+SOURCES += hbindicator_stub.cpp
+SOURCES += unit_tests.cpp
+
+# MOCKED DEPENDENCIES
+HEADERS += 
+include(../../../../tsrc/common/phonetest.pri)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneindicatorcontroller/xqaiwrequest.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,48 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*/
+
+#ifndef XQAIWREQUETS_H_
+#define XQAIWREQUETS_H_
+
+ 
+#include <QObject>
+ 
+/*!
+ * Mock
+ */
+class XQAiwRequest: public QObject
+{
+Q_OBJECT
+ 
+public:
+ 
+     XQAiwRequest();
+     virtual ~XQAiwRequest();
+     
+ 
+ public slots:
+    void setArguments(const QList<QVariant> &/*arguments*/);
+     
+     bool send();
+     
+ 
+     int lastError() const;
+     
+    
+ 
+};
+
+#endif // XQAIWREQUEST_H_
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneindicatorcontroller/xqaiwrequest_stub.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,46 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*/
+
+ 
+#include "xqaiwrequest.h"
+ 
+bool m_aiwRequestCreated = false;
+bool m_aiwRequestSended = false;
+
+XQAiwRequest::XQAiwRequest() :
+    QObject()
+{
+}
+XQAiwRequest::~XQAiwRequest()
+{
+}
+
+void XQAiwRequest::setArguments(const QList<QVariant> &/*arguments*/)
+{
+    m_aiwRequestCreated = true;
+}
+
+bool XQAiwRequest::send()
+{
+    m_aiwRequestSended = true;
+    return true;
+}
+ 
+int XQAiwRequest::lastError() const
+{
+    return 0;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneindicatorcontroller/xqappmanager.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,40 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*/
+
+#ifndef XQAPPMANAGER_H_
+#define XQAPPMANAGER_H_
+
+#include<QObject>
+#include<QDebug>
+#include "xqaiwrequest.h"
+#include "qservicefilter.h"
+#include "qserviceinterfacedescriptor.h"
+ 
+ /*!
+ * Mock
+  */
+class XQApplicationManager: public QObject
+{
+Q_OBJECT
+public:
+    XQApplicationManager();
+     virtual ~XQApplicationManager();
+ 
+    XQAiwRequest* create(const QString& /*interface*/, const QString& /*operation*/, bool embedded = true);
+    XQAiwRequest* create(const QString& /*service*/, const QString& /*interface*/, const QString& /*operation*/, bool embedded = true);
+};
+
+#endif /* XQAPPMANAGER_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneindicatorcontroller/xqappmanager_stub.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,44 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*/
+
+#include "xqappmgr.h"
+bool m_serviceCreated = false;
+
+XQApplicationManager::XQApplicationManager()
+{
+}
+XQApplicationManager::~XQApplicationManager()
+{
+}
+
+XQAiwRequest* XQApplicationManager::create(const QString& /*interface*/, 
+        const QString& /*operation*/,
+        bool embedded)
+{
+    Q_UNUSED(embedded);
+    m_serviceCreated = true;
+    return new XQAiwRequest;
+}
+
+XQAiwRequest* XQApplicationManager::create(const QString& /*service*/, 
+        const QString& /*interface*/,
+        const QString& /*operation*/,
+        bool embedded)
+{
+    Q_UNUSED(embedded);
+    m_serviceCreated = true;
+    return new XQAiwRequest;
+}
--- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonemessagecontroller/unit_tests.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonemessagecontroller/unit_tests.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -20,6 +20,7 @@
 #include <HbGlobal>
 #include <mockservice.h>
 #include <settingsinternalcrkeys.h>
+#include "qtestmains60.h"
 #include "phoneapplauncher.h"
 #include "phonemessagecontroller.h"
 #include "tphonecmdparamsfidata.h"
@@ -156,12 +157,5 @@
 }
 
 
-int main(int argc, char *argv[])
-{
-    QCoreApplication(argc, argv);
-    UT_PhoneMessageController tc;
-    int ret = QTest::qExec(&tc, argc, argv); \
-    return ret;
-}
-
+QTEST_MAIN_S60(UT_PhoneMessageController)
 #include "unit_tests.moc"
--- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonemessagecontroller/ut_phonemessagecontroller.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonemessagecontroller/ut_phonemessagecontroller.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -16,29 +16,26 @@
 #
 
 TEMPLATE = app
-TARGET = 
 TARGET.UID3 = 0xEDA69234
 DEPENDPATH += .
 INCLUDEPATH += .
 CONFIG += hb
 CONFIG += qtestlib
 
-symbian {
+INCLUDEPATH += \epoc32\include\platform\mw \
+               \epoc32\include\platform \
+               \epoc32\include\platform\app \
+               ../../../phoneuiutils/inc/ \
+               ../../../phoneuiview2/inc \
+               ../../../../inc \
+               ../../../phoneui2/srcdata \
+               ../../../../tsrc/common
 
-    INCLUDEPATH += \epoc32\include\platform\mw \
-                   \epoc32\include\platform \
-                   \epoc32\include\platform\app \
-                   ../../../phoneuiutils/inc/ \
-                   ../../../phoneuiview2/inc \
-                   ../../../../inc \
-                   ../../../phoneui2/srcdata
+LIBS += -lmocklib -lsymbianmock -lphoneuiutils
 
-    LIBS += -lmocklib -lsymbianmock -lphoneuiutils
-
-    TARGET.CAPABILITY = ALL -TCB
-    DEFINES += FT_SYMBIAN_INTEGRATION
-    DEFINES += BUILD_PHONEUIQTVIEWADAPTER
-}
+TARGET.CAPABILITY = ALL -TCB
+DEFINES += FT_SYMBIAN_INTEGRATION
+DEFINES += BUILD_PHONEUIQTVIEWADAPTER
 
 # Input
 HEADERS += ../../inc/phonemessagecontroller.h
@@ -49,3 +46,7 @@
 HEADERS += ../../inc/phoneapplauncher.h
 SOURCES += ../mocks/mock_phoneapplauncher.cpp
 SOURCES += ../../../../internal/mocks/phoneapp/phoneuiutils/mock_cphonecenrepproxy.cpp
+
+include(../../../../tsrc/common/phonetest.pri)
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonenotecontroller/ut_phonenotecontroller.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonenotecontroller/ut_phonenotecontroller.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -51,3 +51,6 @@
 HEADERS += ../../inc/phoneglobalnotes.h
 SOURCES += ../../src/phoneglobalnotes.cpp
 SOURCES += unit_tests.cpp
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneresourceadapter/unit_tests.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneresourceadapter/unit_tests.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -23,27 +23,14 @@
 #include <hbaction.h>
 #include <phoneappvoipcommands.hrh>
 #include <xqphoneappcommands.h>
+#include <mockservice.h>
+#include "qtestmains60.h"
 #include "phoneresourceadapter.h"
 #include "phoneuiqtbuttonscontroller.h"
 #include "phoneresourceids.h"
 #include "phoneui.hrh"
 
-#define PHONE_QT_RESOURCE_ADAPTER_TEST_MAIN(TestObject) \
-int main(int argc, char *argv[]) \
-{ \
-    HbApplication app(argc, argv); \
-    TestObject tc; \
-    QResource::registerResource("../hbcore.rcc"); \
-    int ret = QTest::qExec(&tc, argc, argv); \
-    /* Core dump if HbIconLoader instance is not destroyed before the application instance. */ \
-    /* HbIconLoader uses QCoreApplication::aboutToQuit() signal to destroy itself. */ \
-    /* app.exec() where the signal is normally emitted is not called here. */ \
-    /* So, invoking the signal explicitly. */ \
-    QMetaObject::invokeMethod(&app, "aboutToQuit", Qt::DirectConnection); \
-    return ret; \
-}
-
-class TestPhoneResourceAdapter : public QObject
+class TestPhoneResourceAdapter : public QObject, MockService
 {
     Q_OBJECT
 public:
@@ -93,10 +80,12 @@
 
 void TestPhoneResourceAdapter::init ()
 {
+    initialize();
 }
 
 void TestPhoneResourceAdapter::cleanup ()
 {
+    reset();
 }
 
 void TestPhoneResourceAdapter::testConvert ()
@@ -106,88 +95,80 @@
     PhoneUIQtButtonsController* buttonsController = 
         m_resourceAdapter->buttonsController ();
     
-
     QMap<PhoneAction::ActionType, PhoneAction *> map;
     PhoneAction *action = map [PhoneAction::LeftButton];
     
-    map = m_resourceAdapter->convert (R_PHONEUI_MTCAL_INCOMING_CALL);
-    QCOMPARE (map.size (), 1);
-    action = map [PhoneAction::Text];
-    QVERIFY( false == action->text().isEmpty() );
-
-    map = m_resourceAdapter->convert (R_PHONEUI_INCALL_CALL_DISCONNECTED);
+    EXPECT( PhoneAction, setText).with ( QString("txt_phone_other_incoming_call") );        
+    map = m_resourceAdapter->convert(R_PHONEUI_MTCAL_INCOMING_CALL);
+    QVERIFY(verify());
     QCOMPARE (map.size (), 1);
-    action = map [PhoneAction::Text];
-    QVERIFY( false == action->text().isEmpty() );
+
+    EXPECT( PhoneAction, setText).with ( QString("txt_phone_other_disconnected") );
+    map = m_resourceAdapter->convert (R_PHONEUI_INCALL_CALL_DISCONNECTED);
+    QVERIFY(verify());
+    QCOMPARE (map.size (), 1);
     
+    EXPECT( PhoneAction, setText).with ( QString("txt_phone_other_on_hold") );
     map = m_resourceAdapter->convert (R_PHONEUI_INCALL_CALL_HELD);
+    QVERIFY(verify());
     QCOMPARE (map.size (), 1);
-    action = map [PhoneAction::Text];
-    QVERIFY( false == action->text().isEmpty() );
 
+    EXPECT( PhoneAction, setText).with ( QString("txt_phone_other_waiting") );
     map = m_resourceAdapter->convert (R_PHONEUI_MULTC_WAITING);
-    QCOMPARE (map.size (), 1);
-    action = map [PhoneAction::Text];
-    QVERIFY( false == action->text().isEmpty() );
-
-    map = m_resourceAdapter->convert (R_PHONEUI_TIME_DURAT_LONG_WITH_ZERO);
+    QVERIFY(verify());
     QCOMPARE (map.size (), 1);
-    action = map [PhoneAction::Text];
-    QVERIFY( false == action->text().isEmpty() );
+
+    EXPECT( PhoneAction, setText).with ( QString("%:0%H%:1%T%:2%S%:3") );
+    map = m_resourceAdapter->convert (R_PHONEUI_TIME_DURAT_LONG_WITH_ZERO);
+    QVERIFY(verify());
+    QCOMPARE (map.size (), 1);
     
+    EXPECT( PhoneAction, setText).with ( QString("txt_phone_other_calling") );
     map = m_resourceAdapter->convert (R_PHONEUI_OUT_GOING_CALL);
+    QVERIFY(verify());
     QCOMPARE (map.size (), 1);
-    action = map [PhoneAction::Text];
-    QVERIFY( false == action->text().isEmpty() );
 
+    EXPECT( PhoneAction, setText).with ( QString("txt_phone_other_private_number") );
     map = m_resourceAdapter->convert (R_PHONEUI_MTCAL_CLI_WITHHELD);
+    QVERIFY(verify());
     QCOMPARE (map.size (), 1);
-    action = map [PhoneAction::Text];
-    QVERIFY( false == action->text().isEmpty() );
 
+    EXPECT( PhoneAction, setText).with ( QString("txt_phone_other_unknown_number") );
     map = m_resourceAdapter->convert (R_PHONEUI_MTCAL_CLI_UNKNOWN);
+    QVERIFY(verify());
     QCOMPARE (map.size (), 1);
-    action = map [PhoneAction::Text];
-    QVERIFY( false == action->text().isEmpty() );
 
+    EXPECT( PhoneAction, setText).with ( QString("txt_phone_other_emergency_call") );
     map = m_resourceAdapter->convert (R_PHONEUI_EMERGENCY_CALL_HEADER);
+    QVERIFY(verify());
     QCOMPARE (map.size (), 1);
-    action = map [PhoneAction::Text];
-    QVERIFY( false == action->text().isEmpty() );
 
+    EXPECT( PhoneAction, setText).with ( QString("txt_phone_other_attempting") );
     map = m_resourceAdapter->convert (R_PHONEUI_ATTEMPTING_EMERGENCY_CALL_TEXT);
-    QCOMPARE (map.size (), 1);
-    action = map [PhoneAction::Text];
-    QVERIFY( false == action->text().isEmpty() );
-    
-    map = m_resourceAdapter->convert (R_PHONEUI_EMERGENCY_CALL_BUTTONS);
+    QVERIFY(verify());
     QCOMPARE (map.size (), 1);
-    action = map [PhoneAction::LeftButton];
-    QVERIFY( false == action->text().isEmpty() );
-    QCOMPARE (action->icon (), HbIcon("qtg_mono_end_call"));
-    QCOMPARE (action->command (), (int)EPhoneCmdEnd);   
-    
+        
+    EXPECT( PhoneAction, setText).with ( QString("txt_phone_other_conference_call") );
     map = m_resourceAdapter->convert (R_PHONEUI_CONFERENCE_CALL);
+    QVERIFY(verify());
     QCOMPARE (map.size (), 1);
-    action = map [PhoneAction::Text];
-    QVERIFY( false == action->text().isEmpty() );
     
     TBuf<10> buffer(_L("123"));
+    EXPECT( PhoneAction, setText).with ( QString("txt_phone_info_sending") );
     map = m_resourceAdapter->convert (R_PHONEUI_SENDING_DTMF_WAIT_NOTE_TEXT, &buffer);
+    QVERIFY(verify());
     QCOMPARE (map.size(), 1);
-    action = map[PhoneAction::Text];
-    QVERIFY( false == action->text().isEmpty() );
     
+    EXPECT( PhoneAction, setText).with ( QString("txt_phone_info_send_string") );
     map = m_resourceAdapter->convert(R_PHONEUI_DTMF_WAIT_CHARACTER_CONFIRMATION_QUERY_TEXT, &buffer);
+    QVERIFY(verify());
     QCOMPARE(map.size(), 1);
-    action = map[PhoneAction::Text];
-    QVERIFY( false == action->text().isEmpty() );
     
     // TODO
     map = m_resourceAdapter->convert (R_PHONEUI_CALLHANDLING_INCALL_HANDSET_CBA);
     
     map = m_resourceAdapter->convert (0);
-    QCOMPARE (map.size (), 0);
+    // QCOMPARE (map.size (), 0);
 }
 
 void TestPhoneResourceAdapter::testConvertToString ()
@@ -597,18 +578,6 @@
     // Set flag multi call
     buttonsController->setButtonFlags(PhoneUIQtButtonsController::MultiCall,true);
     
-    testList = m_resourceAdapter->convertToToolBarCommandList(R_PHONEUI_CALLHANDLING_INCALL_UNHOLD_CBA);
-    QCOMPARE(4,testList.count());
-    QVERIFY(PhoneInCallCmdDeactivateIhf == testList.at(0).mCommandId);
-    QVERIFY(PhoneInCallCmdSwap == testList.at(1).mCommandId);
-    QVERIFY(PhoneInCallCmdCreateConference == testList.at(2).mCommandId);
-    QVERIFY(PhoneInCallCmdOpenDialer == testList.at(3).mCommandId);
-    QVERIFY(true == testList.at(0).mEnabled);
-    QVERIFY(true == testList.at(1).mEnabled);
-    QVERIFY(true == testList.at(2).mEnabled);
-    QVERIFY(true == testList.at(3).mEnabled);
-    testList.clear(); 
-    
     testList = m_resourceAdapter->convertToToolBarCommandList(R_PHONEUI_CALLHANDLING_CALLSETUP_EMPTY_DTMFDIALER_CBA);
     QCOMPARE(4,testList.count());
     QVERIFY(PhoneInCallCmdDeactivateIhf == testList.at(0).mCommandId);
@@ -674,5 +643,5 @@
     testList.clear(); 
 }
 
-PHONE_QT_RESOURCE_ADAPTER_TEST_MAIN(TestPhoneResourceAdapter)
+QTEST_MAIN_S60(TestPhoneResourceAdapter)
 #include "unit_tests.moc"
--- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneresourceadapter/ut_phoneresourceadapter.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneresourceadapter/ut_phoneresourceadapter.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -16,34 +16,38 @@
 #
 
 TEMPLATE = app
-TARGET = 
 TARGET.UID3 = 0xEDA69235
 DEPENDPATH += .
 INCLUDEPATH += .
 CONFIG += hb
 CONFIG += qtestlib
 
-symbian {
+INCLUDEPATH += \epoc32\include\platform\mw \
+               \epoc32\include\platform \
+               \epoc32\include\platform\app \
+               ../../../phoneuiutils/inc/ \
+               ../../../phoneuiview2/inc \
+               ../../../../inc \
+               ../../../phoneui2/srcdata \
+               ../../../../tsrc/common
 
-    INCLUDEPATH += \epoc32\include\platform\mw \
-                   \epoc32\include\platform \
-                   \epoc32\include\platform\app \
-                   ../../../phoneuiutils/inc/ \
-                   ../../../phoneuiview2/inc \
-                   ../../../../inc \
-                   ../../../phoneui2/srcdata
+LIBS += -lphoneuiutils \
+         -lmocklib \
+        -lsymbianmock
 
-    LIBS += -lphoneuiutils
-    LIBS += -lphoneuiqtview
-
-    TARGET.CAPABILITY = ALL -TCB
-    DEFINES += FT_SYMBIAN_INTEGRATION
-    DEFINES += BUILD_PHONEUIQTVIEWADAPTER
-}
+TARGET.CAPABILITY = ALL -TCB
+DEFINES += FT_SYMBIAN_INTEGRATION
+DEFINES += BUILD_PHONEUIQTVIEWADAPTER
 
 # Input
 HEADERS += ../../inc/phoneresourceadapter.h
 SOURCES += ../../src/phoneresourceadapter.cpp
 HEADERS += ../../inc/phoneuiqtbuttonscontroller.h
 SOURCES += ../../src/phoneuiqtbuttonscontroller.cpp
+SOURCES += ../../../../tsrc/mocks/orbit/mock_hbicon.cpp
+SOURCES += ../../../../tsrc/mocks/phoneuiview2/mock_phoneaction.cpp
+SOURCES += ../../../../tsrc/mocks/orbit/mock_hbaction.cpp
 SOURCES += unit_tests.cpp
+
+include(../../../../tsrc/common/phonetest.pri)
+symbian:MMP_RULES += SMPSAFE
--- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuicommandcontroller/ut_phoneuicommandcontroller.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuicommandcontroller/ut_phoneuicommandcontroller.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -57,3 +57,6 @@
 SOURCES += phonecommandextensionwrapper_stub.cpp
 SOURCES += unit_tests.cpp
 
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtbuttonscontroller/unit_tests.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtbuttonscontroller/unit_tests.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -19,7 +19,7 @@
 #include <QtGui>
 #include <hbapplication.h>
 #include <QSignalSpy>
-//#include <hbglobal_p.h>
+#include "qtestmains60.h"
 #include "phoneuiqtbuttonscontroller.h"
 
 class TestPhoneUIQtButtonsController : public QObject
@@ -278,5 +278,5 @@
     m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Btaa,btaa);    
 }
 
-QTEST_MAIN(TestPhoneUIQtButtonsController)
+QTEST_MAIN_S60(TestPhoneUIQtButtonsController)
 #include "unit_tests.moc"
--- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtbuttonscontroller/ut_phoneuiqtbuttonscontroller.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtbuttonscontroller/ut_phoneuiqtbuttonscontroller.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -16,12 +16,12 @@
 #
 
 TEMPLATE = app
-TARGET = 
 TARGET.UID3 = 0xE37686c5
 DEPENDPATH += . \
     ../../src
 INCLUDEPATH += . \
-    ../../inc
+    ../../inc \
+    ../../../../tsrc/common
 CONFIG += hb
 CONFIG += qtestlib
 symbian:
@@ -35,3 +35,5 @@
 SOURCES += unit_tests.cpp \
     ../../src/phoneuiqtbuttonscontroller.cpp
 HEADERS += ../../inc/phoneuiqtbuttonscontroller.h
+
+include(../../../../tsrc/common/phonetest.pri)
--- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/phonebubblewrapper.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/phonebubblewrapper.h	Mon Oct 04 00:16:48 2010 +0300
@@ -30,7 +30,6 @@
 extern bool m_setCliCalled;
 extern bool m_setSecondaryCliCalled;
 extern bool m_setCallTypeCalled;
-extern bool m_createCallHeaderCalled;
 extern int m_createCallHeaderInt;
 extern int m_setStateCallId;
 extern int m_setStateBubbleId;
--- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/phonebubblewrapper_stub.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/phonebubblewrapper_stub.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -25,7 +25,6 @@
 bool m_setCliCalled;
 bool m_setSecondaryCliCalled;
 bool m_setCallTypeCalled;
-bool m_createCallHeaderCalled;
 int m_createCallHeaderInt;
 int m_setStateCallId;
 int m_setStateBubbleId;
@@ -63,7 +62,6 @@
     m_setCliCalled = false;
     m_setSecondaryCliCalled = false;
     m_setCallTypeCalled = false;
-    m_createCallHeaderCalled = false;
     m_createCallHeaderInt = false;
     m_setStateCallId = -1;
     m_setStateBubbleId = -1;
@@ -99,7 +97,6 @@
 
 int PhoneBubbleWrapper::createCallHeader (int callId) 
 {
-    m_createCallHeaderCalled = true;
     m_createCallHeaderInt = callId;
     return 1; 
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/phonecallheadermanager_stub.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,197 @@
+/*!
+* 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:  Phone UI's symbian adapter for Qt view.
+*
+*/
+
+#include "phonecallheadermanager.h"
+#include "phonecallheaderutil.h"
+#include "phoneuiqtviewif.h"
+#include "phonebubblewrapper.h"
+#include "tphonecmdparaminteger.h"
+#include "tphonecmdparamboolean.h"
+#include "tphonecmdparamaudioavailability.h"
+#include "tphonecmdparamaudiooutput.h"
+#include "tphonecmdparamcallstatedata.h"
+#include "tphonecmdparamcallheaderdata.h"
+#include "tphonecmdparamemergencycallheaderdata.h"
+#include "tphonecmdparamstring.h"
+#include "phonerssbase.h"
+
+bool m_createCallHeaderCalled;
+bool m_createEmergencyCallHeaderCalled;
+int m_createCallHeaderCallId;
+int m_updateCallHeaderCallId;
+int m_updateCallHeaderRemoteInfoCallId;
+int m_updateCallHeaderRemoteInfoAndLabelCallId;
+int m_handleCipheringInfoChangeCallId;
+int m_createConferenceBubbleCallId;
+bool m_removeAllCallHeadersCalled;
+bool m_removeConferenceBubbleCalled;
+int m_removeCallFromConferenceCallId;
+int m_setPrivateFromConferenceCallId;
+int m_removeCallHeaderCallId;
+bool m_isVoiceCall;
+
+#include <bubblemanagerif.h>
+#include <pevirtualengine.h>
+#include <mpeengineinfo.h>
+
+
+//CONSTANTS
+
+
+inline Qt::TextElideMode clipToElide(
+    TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection clip)
+    {
+    return clip == TPhoneCmdParamCallHeaderData::ELeft ? 
+                   Qt::ElideLeft : Qt::ElideRight;
+    }
+
+PhoneCallHeaderManager::PhoneCallHeaderManager(PhoneBubbleWrapper &bubbleWrapper, 
+        PhoneUIQtViewIF &view, QObject *parent) :
+    QObject(parent),
+    m_bubbleWrapper(bubbleWrapper),
+    m_view(view),
+    m_callHeaderUtil(0),
+    m_resourceAdapter(0)
+{
+    
+}
+
+PhoneCallHeaderManager::~PhoneCallHeaderManager ()
+{
+    //delete m_callHeaderUtil;
+}
+
+
+
+void PhoneCallHeaderManager::setEngineInfo(MPEEngineInfo* engineInfo)
+{
+    //m_engineInfo = engineInfo;
+}
+
+void PhoneCallHeaderManager::createCallHeader(
+    int callId)
+{
+    m_createCallHeaderCalled = true;
+    m_createCallHeaderCallId = callId;
+}
+
+void PhoneCallHeaderManager::createEmergencyCallHeader(int callId)
+{
+    m_createEmergencyCallHeaderCalled = true;
+    m_createCallHeaderCallId = callId;
+}
+
+void PhoneCallHeaderManager::removeCallHeader(int callId)
+{
+    m_removeCallHeaderCallId = callId;
+}
+
+void PhoneCallHeaderManager::updateCallHeaderState(int callId)
+{
+    m_updateCallHeaderCallId = callId;
+}
+
+void PhoneCallHeaderManager::updateCallHeaderRemoteInfo(int callId)
+{
+    m_updateCallHeaderRemoteInfoCallId = callId;
+}
+
+void PhoneCallHeaderManager::updateCallHeaderRemoteInfoAndLabel (int callId)
+{
+    m_updateCallHeaderRemoteInfoAndLabelCallId = callId;
+}
+
+void PhoneCallHeaderManager::handleCipheringInfoChange(int callId)
+{
+    m_handleCipheringInfoChangeCallId = callId;
+}
+
+
+void PhoneCallHeaderManager::createConferenceBubble(int callId)
+{
+    m_createConferenceBubbleCallId = callId;;
+}
+
+
+void PhoneCallHeaderManager::removeConferenceBubble()
+{
+    m_removeConferenceBubbleCalled = true;
+}
+
+void PhoneCallHeaderManager::removeCallFromConference(int callId)
+{
+    m_removeCallFromConferenceCallId = callId;
+}
+
+
+void PhoneCallHeaderManager::setPrivateFromConference(int callId)
+{
+    m_setPrivateFromConferenceCallId = callId;
+}
+
+
+void PhoneCallHeaderManager::setExpandedConferenceCallHeader()
+{
+
+}
+
+
+void PhoneCallHeaderManager::removeAllCallHeaders()
+{
+    m_removeAllCallHeadersCalled = true;
+}
+
+// ---------------------------------------------------------------------------
+//  PhoneCallHeaderUtil::IsVoiceCall
+// ---------------------------------------------------------------------------
+//
+bool PhoneCallHeaderManager::isVoiceCall(int callId) const
+    {
+    return m_isVoiceCall;
+    }
+
+// ---------------------------------------------------------------------------
+//  PhoneCallHeaderUtil::IsVideoCall
+// ---------------------------------------------------------------------------
+//
+bool PhoneCallHeaderManager::isVideoCall(int callId) const
+    {
+    return false;
+    }
+
+bool PhoneCallHeaderManager::isIncoming(int callId) const
+    {
+    return false;
+    }
+
+bool PhoneCallHeaderManager::isWaitingCall(int callId) const
+    {
+    bool waiting( EFalse );
+
+    return waiting;
+    }
+
+PhoneCallHeaderUtil *PhoneCallHeaderManager::callHeaderUtil()
+{
+    /*if (!m_callHeaderUtil) {
+        m_callHeaderUtil = new PhoneCallHeaderUtil(*m_engineInfo);
+    }*/
+
+    return 0;
+}
+
+
--- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/unit_tests.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/unit_tests.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -24,7 +24,7 @@
 #include <hbmainwindow.h>
 #include <phoneappcommands.hrh>
 #include <hbmenu.h>
-//#include <hbglobal_p.h>
+#include "qtestmains60.h"
 #include "phoneuiqtviewadapter.h"
 #include "tphonecmdparaminteger.h"
 #include "tphonecmdparamaudiooutput.h"
@@ -61,6 +61,20 @@
 extern bool m_ordinalPositionCalled;
 extern bool m_sendToBackgroundCalled;
 extern bool m_phoneVisibleReturnValue;
+extern bool m_createCallHeaderCalled;
+extern int m_createCallHeaderCallId;
+extern bool m_createEmergencyCallHeaderCalled;
+extern int m_updateCallHeaderCallId;
+extern int m_updateCallHeaderRemoteInfoCallId;
+extern int m_updateCallHeaderRemoteInfoAndLabelCallId;
+extern int m_handleCipheringInfoChangeCallId;
+extern int m_createConferenceBubbleCallId;
+extern bool m_removeAllCallHeadersCalled;
+extern bool m_removeConferenceBubbleCalled;
+extern int m_removeCallFromConferenceCallId;
+extern int m_setPrivateFromConferenceCallId;
+extern int m_removeCallHeaderCallId;
+extern bool m_isVoiceCall;
 
 #define PHONE_QT_VIEW_ADAPTER_TEST_MAIN(TestObject) \
 int main(int argc, char *argv[]) \
@@ -193,6 +207,8 @@
     void keyPressReleased(QKeyEvent *event);
     void windowActivated();
     void windowDeactivated();
+    void focusLost();
+    void focusGained();
 
 public slots:
     void initTestCase ();
@@ -201,17 +217,15 @@
     void cleanup ();
     
 private slots:
-    void testEPhoneViewSetTopApplicationCommand ();
-    void testEPhoneViewSetIdleTopApplicationCommand ();
     void testEPhoneViewUpdateCallHeaderCallDurationCommand ();
     void testEPhoneViewCreateCallHeaderCommand ();
+    void testEPhoneViewCreateCallHeaderCommand2 ();
     void testEPhoneViewCreateEmergencyCallHeader ();
     void testEPhoneViewUpdateBubble ();
     void testEPhoneViewUpdateCallHeaderRemoteInfoData ();
     void testEPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel();
     void testCallIdByState ();
     void testSetToolbarButtons ();
-    void testHoldFlag ();
     void testEPhoneViewHideNaviPaneAudioVolume ();
     void testEPhoneViewSetNaviPaneAudioVolume ();
     void testEPhoneViewGetAudioVolumeLevel ();
@@ -307,6 +321,7 @@
     m_startChangesCalled = false;
     m_endChangesCalled = false;
     m_setCipheringCalled = false;
+    m_isVoiceCall = true;
 }
 
 void TestPhoneUIQtViewAdapter::cleanup ()
@@ -353,18 +368,6 @@
     mParticipantListActions.clear();
 }
 
-void TestPhoneUIQtViewAdapter::testEPhoneViewSetTopApplicationCommand ()
-{
-    TPhoneCmdParamInteger intParam;
-    intParam.SetInteger (12345);
-    m_adapter->ExecuteCommandL (EPhoneViewSetTopApplication, &intParam);
-}
-
-void TestPhoneUIQtViewAdapter::testEPhoneViewSetIdleTopApplicationCommand ()
-{
-    m_adapter->ExecuteCommandL (EPhoneViewSetIdleTopApplication);
-}
-
 void TestPhoneUIQtViewAdapter::testEPhoneViewUpdateCallHeaderCallDurationCommand ()
 {
     TPhoneCmdParamInteger time;
@@ -377,218 +380,67 @@
 
 void TestPhoneUIQtViewAdapter::testEPhoneViewCreateCallHeaderCommand ()
 {
-    TPhoneCmdParamCallHeaderData callHeader;
-    callHeader.SetDiverted (ETrue);
-    callHeader.SetCallState (3);
-    callHeader.SetLabelText (_L("Foo"));
-    callHeader.SetCLIText (_L("Bar"), TPhoneCmdParamCallHeaderData::ERight);
-    callHeader.SetCNAPText (_L("CNAP"), TPhoneCmdParamCallHeaderData::ERight);
-    callHeader.SetCallType (3);
-    callHeader.SetCipheringIndicatorAllowed(true);
-    callHeader.SetCiphering(false);
-    m_adapter->ExecuteCommandL (EPhoneViewCreateCallHeader, 2, &callHeader);
-
-    QVERIFY (m_startChangesCalled == true);
+    int callId = 2;
+    m_createCallHeaderCalled = false;
+    m_adapter->ExecuteCommandL(EPhoneViewCreateCallHeader, callId);
 
     QVERIFY (m_createCallHeaderCalled == true);
-    QCOMPARE (m_createCallHeaderInt, 2);
+    QCOMPARE (m_createCallHeaderCallId, callId);
+
+}
 
-    QVERIFY (m_setStateCalled == true); 
-    QCOMPARE (m_setStateCallId, 2);
-    QCOMPARE (m_setStateBubbleId, 1);
-    QCOMPARE (m_setStateCallState, 3); 
-    
-    QVERIFY (m_setLabelCalled == true);
-    QString labelText = QString::fromUtf16 (m_setLabelText->Ptr (), m_setLabelText->Length ());
-    QCOMPARE (m_setLabelBubbleId, 1);
-    QCOMPARE (labelText, QString("Foo"));
+void TestPhoneUIQtViewAdapter::testEPhoneViewCreateCallHeaderCommand2 ()
+{
+    m_isVoiceCall = false;
+    m_setActiveCallCalled = false;
+    m_adapter->ExecuteCommandL (EPhoneViewCreateCallHeader, 2 );
 
-    QVERIFY (m_setCliCalled == true);
-    QString cliText = QString::fromUtf16 (m_setCliText->Ptr (), m_setCliText->Length ());
-    QCOMPARE (m_setCliBubbleId, 1);
-    QCOMPARE (cliText, QString("Bar"));
+    QVERIFY (m_setActiveCallCalled == false);
     
-    QVERIFY (m_setSecondaryCliCalled == true);
-    QString cnapText = QString::fromUtf16 (m_setSecondaryCliText->Ptr (), m_setSecondaryCliText->Length ());
-    QCOMPARE (m_setSecondaryCliBubbleId, 1);
-    QCOMPARE (cnapText, QString("CNAP"));
-    
-    QVERIFY (m_setCallTypeCalled == true);
-    QCOMPARE (m_setCallTypeBubbleId, 1);
-    QCOMPARE (m_setCallTypeType, 3);
-    
-    QVERIFY (m_setDivertCalled == true);
-    QVERIFY (m_bubblewrapperbool == true);
-    QCOMPARE (m_bubblewrapperint, 1);
-    
-    QVERIFY (m_setCipheringCalled == true);
-    
-    QVERIFY (m_endChangesCalled == true);
-    
+    m_isVoiceCall = true;
+    m_adapter->ExecuteCommandL (EPhoneViewCreateCallHeader, 2 );
     QVERIFY (m_setActiveCallCalled == true);
-    
-    
 }
 
 void TestPhoneUIQtViewAdapter::testEPhoneViewCreateEmergencyCallHeader ()
 {
-    TPhoneCmdParamEmergencyCallHeaderData callHeader;
-    callHeader.SetLabelText (_L("Attempting"));
-    callHeader.SetHeaderText (_L("emergency") );
-    m_adapter->ExecuteCommandL (EPhoneViewCreateEmergencyCallHeader, 2, &callHeader);
-    callHeader.SetCipheringIndicatorAllowed(true);
-    callHeader.SetCiphering(false);    
-
-    QVERIFY (m_startChangesCalled == true);
-
-    QVERIFY (m_createCallHeaderCalled == true);
-    QCOMPARE (m_createCallHeaderInt, 2);
+    int callId = 9;
+    m_createEmergencyCallHeaderCalled = false;
+    m_adapter->ExecuteCommandL (EPhoneViewCreateEmergencyCallHeader, callId);
 
-    QVERIFY (m_setLabelCalled == true);
-    QString labelText = QString::fromUtf16 (m_setLabelText->Ptr (), m_setLabelText->Length ());
-    QCOMPARE (m_setLabelBubbleId, 1);
-    QCOMPARE (labelText, QString("Attempting"));
-
-    QVERIFY (m_setCliCalled == true);
-    QString cliText = QString::fromUtf16 (m_setCliText->Ptr (), m_setCliText->Length ());
-    QCOMPARE (m_setCliBubbleId, 1);
-    QCOMPARE (cliText, QString("emergency"));
-    
-    QVERIFY (m_setCipheringCalled == true);
-    
-    QVERIFY (m_endChangesCalled == true);
-    
-    QVERIFY (m_setActiveCallCalled == true);
+    QVERIFY(m_createEmergencyCallHeaderCalled == true);
+    QCOMPARE(callId, m_createCallHeaderCallId);
 }
 
-void TestPhoneUIQtViewAdapter::testEPhoneViewUpdateBubble ()
+void TestPhoneUIQtViewAdapter::testEPhoneViewUpdateBubble()
 {
-    // Bubble id will return -1
-    m_bubble_id = -1;
-    
-    TPhoneCmdParamCallHeaderData callHeader;
-    callHeader.SetCallState (2);
-    callHeader.SetLabelText (_L("Foo2"));
-    callHeader.SetDiverted (EFalse);
-    m_adapter->ExecuteCommandL (EPhoneViewUpdateBubble, 3, &callHeader);
-    QVERIFY (m_startChangesCalled == false);
-    
-    //Test with available bubble id
-    m_bubble_id = -2;
-    
-    m_adapter->ExecuteCommandL (EPhoneViewUpdateBubble, 3, &callHeader);
-    
-    QVERIFY (m_startChangesCalled == true);
-    
-    QVERIFY (m_bubbleIdCalled == true);
-    QCOMPARE (m_bubbleIdCallId, 3);
+    int callId = 4;
+    m_adapter->ExecuteCommandL(EPhoneViewUpdateBubble, callId);
 
-    QVERIFY (m_setStateCalled == true); 
-    QCOMPARE (m_setStateCallId, 3);
-    QCOMPARE (m_setStateBubbleId, 2);
-    QCOMPARE (m_setStateCallState, 2); 
+    QCOMPARE (callId, m_updateCallHeaderCallId);
 
-    QVERIFY (m_setLabelCalled == true);
-    QString labelText = QString::fromUtf16 (m_setLabelText->Ptr (), m_setLabelText->Length ());
-    QCOMPARE (m_setLabelBubbleId, 2);
-    QCOMPARE (labelText, QString("Foo2"));
-
-    QVERIFY (m_setDivertCalled == true);
-    QVERIFY (m_bubblewrapperbool == false);
-    QCOMPARE (m_bubblewrapperint, 2);
-
-    QVERIFY (m_endChangesCalled == true);	
 }
 
-void TestPhoneUIQtViewAdapter::testEPhoneViewUpdateCallHeaderRemoteInfoData ()
+void TestPhoneUIQtViewAdapter::testEPhoneViewUpdateCallHeaderRemoteInfoData()
 {
-    // Bubble id will return -1
-    m_bubble_id = -1;
-    TPhoneCmdParamCallHeaderData callHeader;
-    callHeader.SetCLIText (_L("Bar3"), TPhoneCmdParamCallHeaderData::ERight);
-    callHeader.SetCNAPText (_L("CNAP3"), TPhoneCmdParamCallHeaderData::ERight);
-    callHeader.SetDiverted (ETrue);
-    m_adapter->ExecuteCommandL (EPhoneViewUpdateCallHeaderRemoteInfoData, 4, &callHeader);
-    QVERIFY (m_startChangesCalled == false);
-    
-    //Test with available bubble id
-    m_bubble_id = -2;
-    
-    m_adapter->ExecuteCommandL (EPhoneViewUpdateCallHeaderRemoteInfoData, 4, &callHeader);
-    
-    QVERIFY (m_startChangesCalled == true);
+    int callId = 3;
+    m_adapter->ExecuteCommandL(EPhoneViewUpdateCallHeaderRemoteInfoData, callId);
 
-    QVERIFY (m_bubbleIdCalled == true);
-    QCOMPARE (m_bubbleIdCallId, 4);
-
-    QVERIFY (m_setCliCalled == true);
-    QString cliText = QString::fromUtf16 (m_setCliText->Ptr (), m_setCliText->Length ());
-    QCOMPARE (m_setCliBubbleId, 2);
-    QCOMPARE (cliText, QString("Bar3"));
+    QCOMPARE(m_updateCallHeaderRemoteInfoCallId, callId);
 
-    QVERIFY (m_setSecondaryCliCalled == true);
-    QString cnapText = QString::fromUtf16 (m_setSecondaryCliText->Ptr (), m_setSecondaryCliText->Length ());
-    QCOMPARE (m_setSecondaryCliBubbleId, 2);
-    QCOMPARE (cnapText, QString("CNAP3"));
-
-    QVERIFY (m_setDivertCalled == true);
-    QVERIFY (m_bubblewrapperbool == true);
-    QCOMPARE (m_bubblewrapperint, 2);
-
-    QVERIFY (m_endChangesCalled == true);	
 }
 
 void TestPhoneUIQtViewAdapter::testEPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel ()
 {
-    // Bubble id will return -1
-    m_bubble_id = -1;
-    TPhoneCmdParamCallHeaderData callHeader;
-    callHeader.SetLabelText (_L("Foo4"));
-    callHeader.SetCLIText (_L("Bar4"), TPhoneCmdParamCallHeaderData::ERight);
-    callHeader.SetCNAPText (_L("CNAP4"), TPhoneCmdParamCallHeaderData::ERight);
-    callHeader.SetDiverted (ETrue);
-    m_adapter->ExecuteCommandL (EPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel, 4, &callHeader);
-
-    QVERIFY (m_startChangesCalled == false);
-    
-    
-    //Test with available bubble id
-    m_bubble_id = -2;    
-    m_adapter->ExecuteCommandL (EPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel, 4, &callHeader);
-
-    QVERIFY (m_startChangesCalled == true);
-
-    QVERIFY (m_bubbleIdCalled == true);
-    QCOMPARE (m_bubbleIdCallId, 4);
+    int callId = 3;
+    m_adapter->ExecuteCommandL(EPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel, callId);
 
-    QVERIFY (m_setLabelCalled == true);
-    QString labelText = QString::fromUtf16 (m_setLabelText->Ptr (), m_setLabelText->Length ());
-    QCOMPARE (m_setLabelBubbleId, 2);
-    QCOMPARE (labelText, QString("Foo4"));
-
-    QVERIFY (m_setCliCalled == true);
-    QString cliText = QString::fromUtf16 (m_setCliText->Ptr (), m_setCliText->Length ());
-    QCOMPARE (m_setCliBubbleId, 2);
-    QCOMPARE (cliText, QString("Bar4"));
-
-    QVERIFY (m_setSecondaryCliCalled == true);
-    QString cnapText = QString::fromUtf16 (m_setSecondaryCliText->Ptr (), m_setSecondaryCliText->Length ());
-    QCOMPARE (m_setSecondaryCliBubbleId, 2);
-    QCOMPARE (cnapText, QString("CNAP4"));
-
-    QVERIFY (m_setDivertCalled == true);
-    QVERIFY (m_bubblewrapperbool == true);
-    QCOMPARE (m_bubblewrapperint, 2);
-
-    QVERIFY (m_endChangesCalled == true);   
+    QCOMPARE(m_updateCallHeaderRemoteInfoAndLabelCallId, callId);
 }
 
 void TestPhoneUIQtViewAdapter::testCallIdByState ()
 {
-    TPhoneCmdParamCallHeaderData callHeader;
     TPhoneCmdParamCallStateData data;
-    callHeader.SetCallState (EPEStateConnected);
-    m_adapter->ExecuteCommandL (EPhoneViewUpdateBubble, 0, &callHeader);
     data.SetCallState (EPEStateConnected);
     m_adapter->HandleCommandL (EPhoneViewGetCallIdByState, &data);
     QCOMPARE (data.CallId(), 0);
@@ -599,32 +451,15 @@
     m_toolbarActionCount = 0;
     TPhoneCmdParamInteger intParam;
     intParam.SetInteger (R_PHONEUI_CALLHANDLING_INCOMINGCALL_CBA);
-    m_adapter->ExecuteCommandL (EPhoneViewUpdateCba, &intParam);
+    m_adapter->ExecuteCommand (EPhoneViewUpdateCba, &intParam);
     QCOMPARE(m_toolbarActionCount,2);
 
     m_toolbarActionCount = 0;
     intParam.SetInteger (R_PHONEUI_DIALER_CBA);
-    m_adapter->ExecuteCommandL (EPhoneViewUpdateCba, &intParam);
+    m_adapter->ExecuteCommand (EPhoneViewUpdateCba, &intParam);
     QCOMPARE(m_toolbarActionCount,4);
 }
 
-void TestPhoneUIQtViewAdapter::testHoldFlag ()
-{
-    TPhoneCmdParamBoolean boolParam;
-    m_adapter->ExecuteCommandL (EPhoneViewGetHoldFlag, &boolParam);
-    QCOMPARE ((bool)boolParam.Boolean (), false);
-
-    boolParam.SetBoolean (ETrue);
-    m_adapter->ExecuteCommandL (EPhoneViewSetHoldFlag, &boolParam);
-    m_adapter->ExecuteCommandL (EPhoneViewGetHoldFlag, &boolParam);
-    QCOMPARE ((bool)boolParam.Boolean (), true);
-    
-    boolParam.SetBoolean (EFalse);
-    m_adapter->ExecuteCommandL (EPhoneViewSetHoldFlag, &boolParam);
-    m_adapter->ExecuteCommandL (EPhoneViewGetHoldFlag, &boolParam);
-    QCOMPARE ((bool)boolParam.Boolean (), false);
-}
-
 void TestPhoneUIQtViewAdapter::testEPhoneViewHideNaviPaneAudioVolume ()
 {
     m_adapter->ExecuteCommandL (EPhoneViewHideNaviPaneAudioVolume);
@@ -674,21 +509,16 @@
     // Default
     m_adapter->ExecuteCommandL (0, 0);
 
-    m_adapter->ExecuteCommandL (EPhoneViewRemoveCallHeader, 0);
-    QVERIFY (m_startChangesCalled == true);
-    QVERIFY (m_endChangesCalled == true);
+    int callId = 5;
+    m_adapter->ExecuteCommandL (EPhoneViewRemoveCallHeader, callId);
+    QCOMPARE(m_removeCallHeaderCallId, callId);
     
-    m_removeCallFromConference = false;
-    m_adapter->ExecuteCommandL (EPhoneViewRemoveFromConference, 0);   
-    QVERIFY (m_startChangesCalled == true);
-    QVERIFY (m_endChangesCalled == true);
-    QVERIFY (m_removeCallFromConference == true);
+    m_adapter->ExecuteCommandL(EPhoneViewRemoveFromConference, callId);   
+    QCOMPARE(m_removeCallFromConferenceCallId, callId);
     
-    m_removeCallFromConference = false;
-    m_adapter->ExecuteCommandL (EPhoneViewPrivateFromConference, 0);   
-    QVERIFY (m_startChangesCalled == true);
-    QVERIFY (m_endChangesCalled == true); 
-    QVERIFY (m_removeCallFromConference == true);      
+    m_adapter->ExecuteCommandL (EPhoneViewPrivateFromConference, callId);   
+    QCOMPARE(m_setPrivateFromConferenceCallId, callId);
+    
 }
 
 void TestPhoneUIQtViewAdapter::testExecuteCommandLwithCmdIdAndCmdParam ()
@@ -705,7 +535,7 @@
     
     // Get expand bubble call id
     TPhoneCmdParamInteger intParam;
-    m_adapter->ExecuteCommandL (EPhoneViewGetExpandedBubbleCallId, &intParam);
+    m_adapter->ExecuteCommand (EPhoneViewGetExpandedBubbleCallId, &intParam);
     QCOMPARE ((int)intParam.Integer(), -1);
     
     m_callStateMap.insert(0, EPEStateConnected);
@@ -713,7 +543,7 @@
     m_callStateMap.insert(1, EPEStateHeld);
     m_bubblesMap.insert(1, 1);  
     
-    m_adapter->ExecuteCommandL (EPhoneViewGetExpandedBubbleCallId, &intParam);
+    m_adapter->ExecuteCommand (EPhoneViewGetExpandedBubbleCallId, &intParam);
     QCOMPARE ((int)intParam.Integer(), 1);
     
     m_callStateMap.clear();
@@ -730,13 +560,13 @@
     //Connected call
     m_callStateMap.insert(0, EPEStateConnected);
     m_bubblesMap.insert(0, 0);
-    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);    
+    m_adapter->ExecuteCommand(EPhoneViewSetTouchPaneButtons, &boolParam);    
     QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdMute));
     QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdEndThisActiveCall));
     
     //Emergency
     boolParam.SetBoolean(true);
-    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    m_adapter->ExecuteCommand(EPhoneViewSetTouchPaneButtons, &boolParam);
     QVERIFY(false == m_actionMap.value(0)->contains(EPhoneInCallCmdMute));
     QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdEndThisActiveCall));
     
@@ -744,7 +574,7 @@
     boolParam.SetBoolean(false);
     m_callStateMap.insert(1, EPEStateHeld);
     m_bubblesMap.insert(1, 1);    
-    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    m_adapter->ExecuteCommand(EPhoneViewSetTouchPaneButtons, &boolParam);
     QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdMute));
     QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdEndThisActiveCall));
     QVERIFY(m_actionMap.value(1)->contains(EPhoneInCallCmdMute));
@@ -759,7 +589,7 @@
     boolParam.SetBoolean(false);
     m_callStateMap.insert(1, EPEStateRinging);
     m_bubblesMap.insert(1, 1);    
-    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    m_adapter->ExecuteCommand(EPhoneViewSetTouchPaneButtons, &boolParam);
     QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdMute));
     QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdEndThisActiveCall));
     QVERIFY(m_actionMap.value(1)->contains(EPhoneCallComingCmdReject));
@@ -773,7 +603,7 @@
     boolParam.SetBoolean(false);
     m_callStateMap.insert(1, EPEStateRinging);
     m_bubblesMap.insert(1, 1);    
-    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    m_adapter->ExecuteCommand(EPhoneViewSetTouchPaneButtons, &boolParam);
     QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdMute));
     QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdEndThisActiveCall));
     QVERIFY(m_actionMap.value(1)->contains(EPhoneCallComingCmdReject));
@@ -785,7 +615,7 @@
     m_bubblesMap.clear();
     m_callStateMap.insert(0, EPEStateIdle);
     m_bubblesMap.insert(0, 0);
-    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    m_adapter->ExecuteCommand(EPhoneViewSetTouchPaneButtons, &boolParam);
     QVERIFY(0==m_actionMap.keys().size());
     clearBubbleCommands(0);
     
@@ -794,7 +624,7 @@
     m_bubblesMap.clear();
     m_callStateMap.insert(0, EPEStateConferenceIdle);
     m_bubblesMap.insert(0, 0);
-    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    m_adapter->ExecuteCommand(EPhoneViewSetTouchPaneButtons, &boolParam);
     QVERIFY(0==m_actionMap.keys().size());
     clearBubbleCommands(0);
     
@@ -803,7 +633,7 @@
     m_bubblesMap.clear();
     m_callStateMap.insert(0, EPEStateDisconnecting);
     m_bubblesMap.insert(0, 0);
-    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    m_adapter->ExecuteCommand(EPhoneViewSetTouchPaneButtons, &boolParam);
     QVERIFY(0==m_actionMap.keys().size());
     clearBubbleCommands(0);
     
@@ -812,7 +642,7 @@
     m_bubblesMap.clear();
     m_callStateMap.insert(0, EPEStateDialing);
     m_bubblesMap.insert(0, 0);
-    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    m_adapter->ExecuteCommand(EPhoneViewSetTouchPaneButtons, &boolParam);
     QVERIFY(2==m_actionMap.value(0)->size());
     QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdMute));
     QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdEndThisOutgoingCall));
@@ -823,7 +653,7 @@
     m_bubblesMap.clear();
     m_callStateMap.insert(0, EPEStateRinging);
     m_bubblesMap.insert(0, 0);
-    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    m_adapter->ExecuteCommand(EPhoneViewSetTouchPaneButtons, &boolParam);
     QVERIFY(2==m_actionMap.value(0)->size());
     QVERIFY(m_actionMap.value(0)->contains(EPhoneCallComingCmdAnswer));
     QVERIFY(m_actionMap.value(0)->contains(EPhoneCallComingCmdReject));
@@ -834,7 +664,7 @@
     m_bubblesMap.clear();
     m_callStateMap.insert(0, EPEStateConnecting);
     m_bubblesMap.insert(0, 0);
-    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    m_adapter->ExecuteCommand(EPhoneViewSetTouchPaneButtons, &boolParam);
     QVERIFY(2==m_actionMap.value(0)->size());
     QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdMute));
     QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdEndThisOutgoingCall));
@@ -845,7 +675,7 @@
     m_bubblesMap.clear();
     m_callStateMap.insert(0, EPEStateConnectedConference);
     m_bubblesMap.insert(0, 0);
-    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    m_adapter->ExecuteCommand(EPhoneViewSetTouchPaneButtons, &boolParam);
     QVERIFY(2==m_actionMap.value(0)->size());
     QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdMute));
     QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdEndThisActiveCall));
@@ -853,7 +683,7 @@
     // Conference and held
     m_callStateMap.insert(1, EPEStateHeld);
     m_bubblesMap.insert(1, 1);    
-    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    m_adapter->ExecuteCommand(EPhoneViewSetTouchPaneButtons, &boolParam);
     QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdMute));
     QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdEndThisActiveCall));
     QVERIFY(m_actionMap.value(1)->contains(EPhoneInCallCmdMute));
@@ -867,7 +697,7 @@
     m_bubblesMap.clear();
     m_callStateMap.insert(0, EPEStateHeldConference);
     m_bubblesMap.insert(0, 0);
-    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    m_adapter->ExecuteCommand(EPhoneViewSetTouchPaneButtons, &boolParam);
     QVERIFY(2==m_actionMap.value(0)->size());
     QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdEndThisActiveCall));
     QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdMute));
@@ -879,7 +709,7 @@
     m_bubblesMap.clear();
     m_callStateMap.insert(0, EPEStateUnknown);
     m_bubblesMap.insert(0, 0);
-    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    m_adapter->ExecuteCommand(EPhoneViewSetTouchPaneButtons, &boolParam);
     QVERIFY(0==m_actionMap.keys().size());
     clearBubbleCommands(0);
     
@@ -888,47 +718,21 @@
     m_bubblesMap.clear();
     m_callStateMap.insert(0, 100);
     m_bubblesMap.insert(0, 0);
-    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    m_adapter->ExecuteCommand(EPhoneViewSetTouchPaneButtons, &boolParam);
     QVERIFY(0==m_actionMap.keys().size());
     clearBubbleCommands(0);
 }
 
 void TestPhoneUIQtViewAdapter::testCreateConferenceBubble ()
 {
-    m_callStateMap.clear();
-    m_bubblesMap.clear();
-    m_callStateMap.insert(0, EPEStateConnected);
-    m_bubblesMap.insert(0, 0);
-    m_callStateMap.insert(1, EPEStateHeld);
-    m_bubblesMap.insert(1, 1);  
- 
-    //Create conference
-    TPhoneCmdParamCallHeaderData callHeader;
-    callHeader.SetCallState (2);
-    callHeader.SetLabelText (_L("Foo2"));
-    callHeader.SetDiverted (EFalse);
-    callHeader.SetCipheringIndicatorAllowed(true);
-    callHeader.SetCiphering(false);
+    int callId = 8;
     
-    m_adapter->ExecuteCommandL (EPhoneViewCreateConference, 3, &callHeader);    
-    QVERIFY (m_creataConferenceCalled == true);
-    QVERIFY (mParticipantListActions.count()==2);
-    QVERIFY (mParticipantListActions.at(0)==EPhoneInCallCmdPrivate);
-    QVERIFY (mParticipantListActions.at(1)==EPhoneInCallCmdDrop);
-    
-    //
-    TPhoneCmdParamBoolean  conferenceDataValue;
-    m_adapter->ExecuteCommandL (EPhoneViewGetCallExistsInConference, 0, &conferenceDataValue);
-    QVERIFY (conferenceDataValue.Boolean() == true);
+    m_adapter->ExecuteCommandL(EPhoneViewCreateConference, callId);    
+    QCOMPARE(m_createConferenceBubbleCallId, callId);
     
     m_adapter->ExecuteCommandL(EPhoneViewRemoveConferenceBubble);
-    QVERIFY (m_removeConferenceCalled == true);
-    QVERIFY (mParticipantListActions.count()==0);
-    
-    m_adapter->ExecuteCommandL (EPhoneViewGetCallExistsInConference, 0, &conferenceDataValue);
-    QVERIFY (conferenceDataValue.Boolean() == false);
-    
-    QVERIFY (m_setCipheringCalled == true);
+    QVERIFY(m_removeConferenceBubbleCalled);
+
 }
 
 void TestPhoneUIQtViewAdapter::testHandleCommandL ()
@@ -940,9 +744,7 @@
     /*QVERIFY( EPhoneViewResponseFailed == m_adapter->HandleCommandL (
             EPhoneViewGetNumberEntryIsUsedStatus) );*/ 
     QVERIFY( EPhoneViewResponseFailed == m_adapter->HandleCommandL (
-            EPhoneIsCustomizedDialerVisible) ); 
-    QVERIFY( EPhoneViewResponseFailed == m_adapter->HandleCommandL (
-            EPhoneViewGetNeedToSendToBackgroundStatus) );
+            EPhoneIsCustomizedDialerVisible) );
     
     //Default handling for coverage
     QVERIFY( EPhoneViewResponseSuccess == m_adapter->HandleCommandL (0) ); 
@@ -1039,7 +841,7 @@
     m_bubblesMap.insert(1, 1);
     m_expandAction.clear();
     
-    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    m_adapter->ExecuteCommand(EPhoneViewSetTouchPaneButtons, &boolParam);
     QVERIFY(m_expandAction.contains(0));        
     QVERIFY(m_expandAction[0]==EPhoneCmdUpdateUiControls);
     QVERIFY(m_expandAction.contains(1));        
@@ -1073,29 +875,10 @@
 }
 
 void TestPhoneUIQtViewAdapter::removeAllCallHeaders()
-{
-    m_removeConferenceCalled = false;
-    m_removeCallHeaderCalled = false;
-    m_conferenceCallList.clear();
-    m_conferenceCallList.append(0);
-    m_conferenceCallList.append(1);
-    
-    m_bubblesMap.clear();
-    m_bubblesMap.insert(0,0);
-    m_bubblesMap.insert(1,1);
-    m_bubblesMap.insert(2,2);
-    m_bubblesMap.insert(7,3);
-    
-    m_callStateMap.clear();
-    m_callStateMap.insert(0,0);
-    m_callStateMap.insert(1,1);
-    m_callStateMap.insert(2,2);
-    m_callStateMap.insert(7,3);
-    
-    m_adapter->ExecuteCommandL(EPhoneViewRemoveAllCallHeaders);
-    
-    QVERIFY(m_removeConferenceCalled);
-    QVERIFY(m_removeCallHeaderCalled);
+{   
+    m_removeAllCallHeadersCalled = false;
+    m_adapter->ExecuteCommandL(EPhoneViewRemoveAllCallHeaders);   
+    QVERIFY(m_removeAllCallHeadersCalled);
 }
 
 void TestPhoneUIQtViewAdapter::testRemoveDialpad ()
@@ -1172,19 +955,19 @@
     TPhoneCmdParamBoolean boolParam;
     boolParam.SetBoolean( false );
     
-    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam); 
+    m_adapter->ExecuteCommand(EPhoneViewSetTouchPaneButtons, &boolParam); 
     
     QVERIFY(m_setMenuActionsCalled);
     
     m_setMenuActionsCalled = false;
     m_isDialpadVisible = true;
-    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    m_adapter->ExecuteCommand(EPhoneViewSetTouchPaneButtons, &boolParam);
     QVERIFY(m_setMenuActionsCalled);
     
     m_dialpadText = QString("");
     m_setMenuActionsCalled = false;
     m_isDialpadVisible = true;
-    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    m_adapter->ExecuteCommand(EPhoneViewSetTouchPaneButtons, &boolParam);
     QVERIFY(m_setMenuActionsCalled);
     
     connect(this, SIGNAL(dialpadAboutToClose()), m_adapter, SLOT(dialpadClosed()));
@@ -1269,18 +1052,9 @@
 
 void TestPhoneUIQtViewAdapter::testCipheringInfoChange()
 {
-	m_bubble_id = 1;
-    TPhoneCmdParamCallHeaderData callHeader;
-    callHeader.SetCipheringIndicatorAllowed(true);
-    callHeader.SetCiphering(false);
-    m_adapter->ExecuteCommandL (EPhoneViewCipheringInfoChange, 1, &callHeader);
-    QVERIFY (m_startChangesCalled == true);
-    QVERIFY (m_setCipheringCalled == true);
-    QVERIFY (m_endChangesCalled == true);
-    m_setCipheringCalled = false;
-	m_bubble_id = -1;
-    m_adapter->ExecuteCommandL (EPhoneViewCipheringInfoChange, -1, &callHeader);
-    QVERIFY (m_setCipheringCalled == false);
+	int callId = 2;
+    m_adapter->ExecuteCommandL(EPhoneViewCipheringInfoChange, callId);   
+    QCOMPARE(m_handleCipheringInfoChangeCallId, callId);
 }
 
 void TestPhoneUIQtViewAdapter::testSetHidden()
@@ -1299,13 +1073,12 @@
 
 void TestPhoneUIQtViewAdapter::testIndicatorController()
 {
-    connect( this, SIGNAL(windowActivated()), m_adapter, SLOT(handleWindowActivated()));
-    connect( this, SIGNAL(windowDeactivated()), m_adapter, SLOT(handleWindowDeactivated()));
-    emit windowActivated();
+    connect( this, SIGNAL(focusLost()), m_adapter, SLOT(onFocusLost()));
+    connect( this, SIGNAL(focusGained()), m_adapter, SLOT(onFocusGained()));
+    emit focusLost();
+    QVERIFY( m_enableCallIndCalled );
+    emit focusGained();
     QVERIFY( m_disableCallIndCalled );
-    emit windowDeactivated();
-    QVERIFY( m_enableCallIndCalled );
-    
 }
 
 void TestPhoneUIQtViewAdapter::testOpenLogs()
--- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/ut_phoneuiqtviewadapter.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/ut_phoneuiqtviewadapter.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -23,40 +23,37 @@
 CONFIG += hb
 CONFIG += qtestlib
 
-symbian {
-
-    INCLUDEPATH += /epoc32/include/platform/mw \
-                   /epoc32/include/platform \
-                   /epoc32/include/platform/app \
-                   /epoc32/include/mw \
-                   /sf/app/phone/inc \
-                   ../../../phoneuiutils/inc/ \
-                   ../../../phonemediatorcenter/inc/ \
-                   ../../../phoneuiview2/inc \
-                   ../../../../inc \
-                   ../../../phoneringingtoneplayer/inc \
-                   ../../../phoneui2/srcdata
+INCLUDEPATH += /epoc32/include/platform/mw \
+               /epoc32/include/platform \
+               /epoc32/include/platform/app \
+               /epoc32/include/mw \
+               /sf/app/phone/inc \
+               ../../../phoneuiutils/inc/ \
+               ../../../phonemediatorcenter/inc/ \
+               ../../../phoneuiview2/inc \
+               ../../../../inc \
+               ../../../phoneringingtoneplayer/inc \
+               ../../../phoneui2/srcdata \
+               ../../../../tsrc/common
 
 
-    LIBS += -lphoneuiutils
-    LIBS += -lPhoneRingingtonePlayer
-    LIBS += -lphoneuiqtview
-    LIBS += -lxqservice
-    LIBS += -lxqserviceutil
-    LIBS += -lxqplugins
-    LIBS += -lserviceprovidersettings
-    LIBS += -lakncapserverclient
-    LIBS += -lxqsettingsmanager
-    LIBS += -llogsengine
-    LIBS += -lapgrfx
-    LIBS += -lavkon
-    LIBS += -lws32
-    LIBS += -lcone
-    
-    TARGET.CAPABILITY = ALL -TCB
-    DEFINES += FT_SYMBIAN_INTEGRATION
-    DEFINES += BUILD_PHONEUIQTVIEWADAPTER
-}
+LIBS += -lphoneuiutils
+LIBS += -lPhoneRingingtonePlayer
+LIBS += -lphoneuiqtview
+LIBS += -lxqservice
+LIBS += -lxqserviceutil
+LIBS += -lxqplugins
+LIBS += -lserviceprovidersettings
+LIBS += -lakncapserverclient
+LIBS += -lxqsettingsmanager
+LIBS += -llogsengine
+LIBS += -lapgrfx
+LIBS += -lws32
+LIBS += -lcone
+
+TARGET.CAPABILITY = ALL -TCB
+DEFINES += FT_SYMBIAN_INTEGRATION
+DEFINES += BUILD_PHONEUIQTVIEWADAPTER
 
 # Input
 HEADERS += ../../inc/phoneuiqtviewadapter.h
@@ -74,6 +71,7 @@
 HEADERS += ../../inc/phonemessagecontroller.h
 SOURCES += ../../src/phonemessagecontroller.cpp
 HEADERS += ../../inc/phonevisibilityhandler.h
+HEADERS += ../../inc/phonecallheadermanager.h
 SOURCES += phonevisibilityhandler_stub.cpp
 HEADERS += phoneindicatorcontroller.h
 SOURCES += phoneindicatorcontroller_stub.cpp
@@ -83,8 +81,12 @@
 SOURCES += cphoneringingtonecontroller_stub.cpp
 SOURCES += cphonemediatorfactory_stub.cpp
 SOURCES += cphonemediatorsender_stub.cpp
+SOURCES += phonecallheadermanager_stub.cpp
 SOURCES += phonenotecontroller_stub.cpp
 HEADERS += ../../inc/phoneapplauncher.h
 SOURCES += phoneapplauncher_stub.cpp
 SOURCES += unit_tests.cpp
 
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonevisibilityhandler/ut_phonevisibilityhandler.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonevisibilityhandler/ut_phonevisibilityhandler.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -56,3 +56,6 @@
 SOURCES += cphonepubsubproxy_stub.cpp
 SOURCES += unit_tests.cpp
 
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_telephonyservice/phoneuiqtviewadapter_stub.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,174 +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: !!!!!!!!! STUB !!!!
-*
-*/
-
-#include "phoneuiqtviewadapter.h"
-#include "phoneuiqtviewif.h"
-
-//CONSTANTS
-bool phoneAppStart;
-bool inCallDialerStart;
-static const int PHONE_CALL_NOT_FOUND = -1;
-
-PhoneUIQtViewAdapter::PhoneUIQtViewAdapter (PhoneUIQtViewIF &view, QObject *parent) : 
-    QObject (parent), m_view (view), m_idleUid(-1)
-{}
-
-PhoneUIQtViewAdapter::~PhoneUIQtViewAdapter ()
-{}
-
-void PhoneUIQtViewAdapter::ExecuteCommandL (TPhoneViewCommandId aCmdId)
-{
-switch (aCmdId) {
-case EPhoneViewOpenDialer:
-        inCallDialerStart = true;
-        break;
-default:
-        break;
-    }
-}
-
-void PhoneUIQtViewAdapter::ExecuteCommandL (TPhoneViewCommandId aCmdId, TPhoneCommandParam* aCommandParam)
-{
-switch (aCmdId) {
-case EPhoneViewBringAppToForeground:
-        phoneAppStart = true;
-        break;
-default:
-        break;
-    }
-}
-
-int PhoneUIQtViewAdapter::idleAppUid ()
-{
-// <-- QT HS START -->);
-    m_idleUid=0x20022F35;
-// <-- QT HS END -->
-    return m_idleUid;
-}
-
-void PhoneUIQtViewAdapter::ExecuteCommandL (TPhoneViewCommandId aCmdId, TInt aCallId)
-{}
-void PhoneUIQtViewAdapter::ExecuteCommandL (TPhoneViewCommandId aCmdId, TInt aCallId,
-    TPhoneCommandParam *aCommandParam)
-{}
-void PhoneUIQtViewAdapter::ExecuteCommandL (TPhoneViewCommandId aCmdId, TInt aCallId, 
-    TDesC &aMessage)
-{}
-TPhoneViewResponseId PhoneUIQtViewAdapter::HandleCommandL (TPhoneViewCommandId aCmdId)
-{}
-TPhoneViewResponseId PhoneUIQtViewAdapter::HandleCommandL (TPhoneViewCommandId aCmdId, 
-    TPhoneCommandParam *aCommandParam)
-{}
-void PhoneUIQtViewAdapter::ExecuteCommand (TPhoneViewCommandId aCmdId)
-{    Q_UNUSED (aCmdId);    }
-void PhoneUIQtViewAdapter::ExecuteCommand (TPhoneViewCommandId aCmdId, TPhoneCommandParam *aCommandParam)
-{}
-const TDesC& PhoneUIQtViewAdapter::FetchContent ()
-{    return KNullDesC;}
-void PhoneUIQtViewAdapter::setTopApplication (TPhoneCommandParam *commandParam)
-{}
-void PhoneUIQtViewAdapter::createCallHeader( 
-    int callId, 
-    TPhoneCommandParam *commandParam )
-{}
-void PhoneUIQtViewAdapter::createEmergencyCallHeader(
-    int callId, 
-    TPhoneCommandParam *commandParam)
-{}
-void PhoneUIQtViewAdapter::updateCallHeaderState (
-    int callId, 
-    TPhoneCommandParam *commandParam)
-{}
-void PhoneUIQtViewAdapter::updateCallHeaderRemoteInfo (int callId, TPhoneCommandParam *commandParam)
-{}
-void PhoneUIQtViewAdapter::updateCallHeaderRemoteInfoAndLabel (int callId, TPhoneCommandParam *commandParam)
-{}
-TPhoneViewResponseId PhoneUIQtViewAdapter::callIdByState (TPhoneCommandParam *commandParam)
-{}
-void PhoneUIQtViewAdapter::setTouchButtons (TPhoneCommandParam *commandParam)
-{}
-void PhoneUIQtViewAdapter::setToolbarButtons (TPhoneCommandParam *commandParam)
-{}
-void PhoneUIQtViewAdapter::callHoldFlag (TPhoneCommandParam *commandParam)
-{}
-void PhoneUIQtViewAdapter::writeAudioVolumeLevel (TPhoneCommandParam *commandParam)
-{}
-void PhoneUIQtViewAdapter::setAudioVolumeSliderValue (TPhoneCommandParam *commandParam)
-{}
-void PhoneUIQtViewAdapter::setMuteIndication (TPhoneCommandParam *commandParam)
-{}
-void PhoneUIQtViewAdapter::activeCallCount (TPhoneCommandParam *commandParam)
-{}
-void PhoneUIQtViewAdapter::setAudioPath (TPhoneCommandParam *commandParam)
-    {    }
-void PhoneUIQtViewAdapter::expandedBubbleCallId(TPhoneCommandParam *commandParam)
-    {    }
-void PhoneUIQtViewAdapter::openDialpad()
-    {    }
-void PhoneUIQtViewAdapter::createConferenceBubble(int callId, TPhoneCommandParam *commandParam)
-{}
-void PhoneUIQtViewAdapter::conferenceCallId(int callId, TPhoneCommandParam *commandParam)
-{}
-void PhoneUIQtViewAdapter::removeConferenceBubble()
-{}
-void PhoneUIQtViewAdapter::isConference(TPhoneCommandParam *commandParam)
-{}
-void PhoneUIQtViewAdapter::removeCallFromConference(int callId)
-{}
-TPhoneViewResponseId PhoneUIQtViewAdapter::getSelectedConferenceMember(
-        TPhoneCommandParam *commandParam)
-{}
-void PhoneUIQtViewAdapter::setPrivateFromConference(int callId)
-{}
-void PhoneUIQtViewAdapter::setExpandActions()
-{}
-bool PhoneUIQtViewAdapter::callsExists(int call1State, int call2State)
-{}
-void PhoneUIQtViewAdapter::setParticipantListActions()
-{}
-void PhoneUIQtViewAdapter::setExpandedConferenceCallHeader()
-{}
-void PhoneUIQtViewAdapter::bringToForeground()
-{}
-void PhoneUIQtViewAdapter::showGlobalNote(
-        TPhoneCommandParam *commandParam)
-{}
-void PhoneUIQtViewAdapter::setDialpadVisibility(
-        TPhoneCommandParam *commandParam)
-{}
-void PhoneUIQtViewAdapter::removeAllCallHeaders()
-{}
-void PhoneUIQtViewAdapter::getNumberFromDialpad(
-        TPhoneCommandParam *commandParam)
-{}
-void PhoneUIQtViewAdapter::getDialpadStringLength(
-        TPhoneCommandParam *commandParam)
-{}
-void PhoneUIQtViewAdapter::removeDialpad()
-{}
-
-void PhoneUIQtViewAdapter::dialpadClosed()
-{}
-
-void PhoneUIQtViewAdapter::keyReleased(QKeyEvent */*event*/)
-{}
-
-void PhoneUIQtViewAdapter::handleWindowActivated()
-{}
-
-void PhoneUIQtViewAdapter::handleWindowDeactivated()
-{}
--- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_telephonyservice/unit_tests.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_telephonyservice/unit_tests.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -21,30 +21,15 @@
 #include <QSignalSpy>
 #include <xqservicerequest.h>
 #include <hbmenu.h>
+#include <mockservice.h>
 
 #include "telephonyservice.h"
 #include "phoneuiqtviewif.h"
 #include "phoneuiqtviewadapter.h"
-
-extern bool phoneAppStart;
-extern bool inCallDialerStart;
+#include "tphonecmdparaminteger.h"
+#include "qtestmains60.h"
 
-#define PHONE_QT_NOTE_CONTROLLER_TEST_MAIN(TestObject) \
-int main(int argc, char *argv[]) \
-{ \
-    HbApplication app(argc, argv); \
-    TestObject tc; \
-    QResource::registerResource("../hbcore.rcc"); \
-    int ret = QTest::qExec(&tc, argc, argv); \
-    /* Core dump if HbIconLoader instance is not destroyed before the application instance. */ \
-    /* HbIconLoader uses QCoreApplication::aboutToQuit() signal to destroy itself. */ \
-    /* app.exec() where the signal is normally emitted is not called here. */ \
-    /* So, invoking the signal explicitly. */ \
-    QMetaObject::invokeMethod(&app, "aboutToQuit", Qt::DirectConnection); \
-    return ret; \
-}
-
-class TestTelephonyService : public QObject,  public PhoneUIQtViewIF
+class TestTelephonyService : public QObject, PhoneUIQtViewIF, MockService
 {
     Q_OBJECT
 public:
@@ -86,7 +71,7 @@
         void setMenuActions(const QList<PhoneAction*>& ){};
         void shutdownPhoneApp() {};
         void setBackButtonVisible(bool ) {};        
-        HbMenu &menuReference() { return mMenu; };
+        HbMenu &menuReference() {};
         void captureKey(Qt::Key , bool ) {};
         void setRestrictedMode(bool ) {};
         
@@ -102,9 +87,8 @@
     void startInCallDialer ();
     
 private:
+    PhoneUIQtViewAdapter* m_viewAdapter;
     TelephonyService *m_service; // class under test
-    PhoneUIQtViewAdapter *m_viewstub; // stub test
-    HbMenu mMenu;
 };
 
 TestTelephonyService::TestTelephonyService ()
@@ -117,27 +101,24 @@
 
 void TestTelephonyService::initTestCase ()
 {
-    m_viewstub = new PhoneUIQtViewAdapter (*this);
-    m_service = new TelephonyService(m_viewstub, this);
+    m_viewAdapter = new PhoneUIQtViewAdapter(*this);
+    m_service = new TelephonyService(m_viewAdapter, this);
 }
 
 void TestTelephonyService::cleanupTestCase ()
 {
-    if (m_viewstub) {
-    delete m_viewstub;
-    }
-    
-    if (m_service) {
+    delete m_viewAdapter;
     delete m_service;
-    }
 }
 
 void TestTelephonyService::init ()
 {
+    initialize();
 }
 
 void TestTelephonyService::cleanup ()
 {
+    reset();
 }
 
 void TestTelephonyService::testConstructionDestruction ()
@@ -147,23 +128,21 @@
 
 void TestTelephonyService::startPhoneApp ()
 {
-    phoneAppStart = false;
-    inCallDialerStart = false;
-    int phoneApp(0);
+    int phoneApp(0);    
+    EXPECT( PhoneUIQtViewAdapter, ExecuteCommandL ).with<TPhoneViewCommandId>( EPhoneViewBringPhoneAppToForeground );
     m_service->start(phoneApp);
-    QVERIFY (phoneAppStart == true);
-    QVERIFY (inCallDialerStart == false);
+    QVERIFY(verify());
 }
 
 void TestTelephonyService::startInCallDialer ()
 {
-    phoneAppStart = false;
-    inCallDialerStart = false;
     int dialer(1);
+    
+    EXPECT( PhoneUIQtViewAdapter, ExecuteCommandL ).with( EPhoneViewOpenDialer );
+    EXPECT( PhoneUIQtViewAdapter, ExecuteCommandL ).with<TPhoneViewCommandId>( EPhoneViewBringPhoneAppToForeground );
     m_service->start(dialer);
-    QVERIFY (phoneAppStart == true);
-    QVERIFY (inCallDialerStart == true);
+    QVERIFY(verify());
 }
 
-PHONE_QT_NOTE_CONTROLLER_TEST_MAIN(TestTelephonyService)
+QTEST_MAIN_S60(TestTelephonyService)
 #include "unit_tests.moc"
--- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_telephonyservice/ut_telephonyservice.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_telephonyservice/ut_telephonyservice.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -16,36 +16,39 @@
 #
 
 TEMPLATE = app
-TARGET = 
 TARGET.UID3 = 0xEDA69234
 DEPENDPATH += .
 INCLUDEPATH += .
 CONFIG += hb
 CONFIG += qtestlib
 
-symbian {
-
-    INCLUDEPATH += \epoc32\include\platform\mw \
-                   \epoc32\include\platform \
-                   \epoc32\include\platform\app \
-                   ../../../phoneuiutils/inc/ \
-                   ../../../phoneuiview2/inc \
-                   ../../../../inc \
-                   ../../../phoneui2/srcdata
+INCLUDEPATH += \epoc32\include\platform\mw \
+               \epoc32\include\platform \
+               \epoc32\include\platform\app \
+               ../../../phoneuiutils/inc/ \
+               ../../../phoneuiview2/inc \
+               ../../../../inc \
+               ../../../phoneui2/srcdata \
+               ../../../../tsrc/common
 
    
-    LIBS += -lphoneuiutils \
-            -lxqservice \
-            -lxqserviceutil 
+LIBS += -lphoneuiutils \
+        -lxqservice \
+        -lxqserviceutil \
+        -lmocklib \
+        -lsymbianmock        
 
-    TARGET.CAPABILITY = ALL -TCB
-    DEFINES += FT_SYMBIAN_INTEGRATION
-    DEFINES += BUILD_PHONEUIQTVIEWADAPTER
-}
+TARGET.CAPABILITY = ALL -TCB
+DEFINES += FT_SYMBIAN_INTEGRATION
+DEFINES += BUILD_PHONEUIQTVIEWADAPTER
 
 # Input
 HEADERS += ../../inc/telephonyservice.h
+HEADERS += ../../inc/phoneuiqtviewadapter.h
 SOURCES += ../../src/telephonyservice.cpp
-HEADERS += ../../inc/phoneuiqtviewadapter.h
-SOURCES += phoneuiqtviewadapter_stub.cpp
+SOURCES += ../../../../tsrc/mocks/phoneuiqtviewadapter/mock_phoneuiqtviewadapter.cpp
 SOURCES += unit_tests.cpp
+
+include(../../../../tsrc/common/phonetest.pri)
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneapp/phoneuistates/bwins/phoneuistatesu.def	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/bwins/phoneuistatesu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -33,30 +33,27 @@
 	??1CPhoneStateMachineGSM@@UAE@XZ @ 32 NONAME ; CPhoneStateMachineGSM::~CPhoneStateMachineGSM(void)
 	?SendGlobalInfoNoteL@CPhoneErrorMessagesHandler@@IAEXHH@Z @ 33 NONAME ; void CPhoneErrorMessagesHandler::SendGlobalInfoNoteL(int, int)
 	??0CPhoneStateMachineGSM@@IAE@PAVMPhoneViewCommandHandle@@@Z @ 34 NONAME ; CPhoneStateMachineGSM::CPhoneStateMachineGSM(class MPhoneViewCommandHandle *)
-	?SetDivertIndication@CPhoneGsmInCall@@MAEXH@Z @ 35 NONAME ; void CPhoneGsmInCall::SetDivertIndication(int)
-	?HandlePhoneEngineMessageL@CPhoneTwoSingles@@UAEXHH@Z @ 36 NONAME ; void CPhoneTwoSingles::HandlePhoneEngineMessageL(int, int)
-	?HandlePhoneEngineMessageL@CPhoneAlerting@@UAEXHH@Z @ 37 NONAME ; void CPhoneAlerting::HandlePhoneEngineMessageL(int, int)
-	?HandleRemConCommandL@CPhoneEmergency@@MAEHW4TRemConCoreApiOperationId@@W4TRemConCoreApiButtonAction@@@Z @ 38 NONAME ; int CPhoneEmergency::HandleRemConCommandL(enum TRemConCoreApiOperationId, enum TRemConCoreApiButtonAction)
-	?ConstructL@CPhoneSingleCall@@MAEXXZ @ 39 NONAME ; void CPhoneSingleCall::ConstructL(void)
-	?HandlePhoneEngineMessageL@CPhoneIncoming@@UAEXHH@Z @ 40 NONAME ; void CPhoneIncoming::HandlePhoneEngineMessageL(int, int)
-	?State@CPhoneStateMachineGSM@@UAEPAVMPhoneState@@XZ @ 41 NONAME ; class MPhoneState * CPhoneStateMachineGSM::State(void)
-	?SendGlobalErrorNoteL@CPhoneErrorMessagesHandler@@IAEXHH@Z @ 42 NONAME ; void CPhoneErrorMessagesHandler::SendGlobalErrorNoteL(int, int)
-	?HandleErrorL@CPhoneIdle@@MAEXABUTPEErrorInfo@@@Z @ 43 NONAME ; void CPhoneIdle::HandleErrorL(struct TPEErrorInfo const &)
-	?HandleConnectingL@CPhoneCallSetup@@MAEXH@Z @ 44 NONAME ; void CPhoneCallSetup::HandleConnectingL(int)
-	?UpdateInCallCbaL@CPhoneTwoSingles@@MAEXXZ @ 45 NONAME ; void CPhoneTwoSingles::UpdateInCallCbaL(void)
-	?SendGlobalWarningNoteL@CPhoneErrorMessagesHandler@@IAEXHH@Z @ 46 NONAME ; void CPhoneErrorMessagesHandler::SendGlobalWarningNoteL(int, int)
-	?HandleErrorL@CPhoneSingleAndWaiting@@MAEXABUTPEErrorInfo@@@Z @ 47 NONAME ; void CPhoneSingleAndWaiting::HandleErrorL(struct TPEErrorInfo const &)
-	??0CPhoneResourceResolverGSM@@IAE@XZ @ 48 NONAME ; CPhoneResourceResolverGSM::CPhoneResourceResolverGSM(void)
-	?ConstructL@CPhoneResourceResolverGSM@@IAEXXZ @ 49 NONAME ; void CPhoneResourceResolverGSM::ConstructL(void)
-	?HandlePhoneForegroundEventL@CPhoneGsmInCall@@MAEXXZ @ 50 NONAME ; void CPhoneGsmInCall::HandlePhoneForegroundEventL(void)
-	?HandlePhoneEngineMessageL@CPhoneIdle@@UAEXHH@Z @ 51 NONAME ; void CPhoneIdle::HandlePhoneEngineMessageL(int, int)
-	??1CPhoneIdle@@UAE@XZ @ 52 NONAME ; CPhoneIdle::~CPhoneIdle(void)
-	??1CPhoneCallSetup@@UAE@XZ @ 53 NONAME ; CPhoneCallSetup::~CPhoneCallSetup(void)
-	?ConstructL@CPhoneIdle@@MAEXXZ @ 54 NONAME ; void CPhoneIdle::ConstructL(void)
-	??0CPhoneAlerting@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 55 NONAME ; CPhoneAlerting::CPhoneAlerting(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
-	?HandleNumberEntryClearedL@CPhoneTwoSingles@@MAEXXZ @ 56 NONAME ; void CPhoneTwoSingles::HandleNumberEntryClearedL(void)
-	?CheckIfShowCallTerminationNote@CPhoneAlerting@@MAEHXZ @ 57 NONAME ; int CPhoneAlerting::CheckIfShowCallTerminationNote(void)
-	??0CPhoneTwoSingles@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 58 NONAME ; CPhoneTwoSingles::CPhoneTwoSingles(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
-	?CallId@CPhoneSingleCall@@IBEHXZ @ 59 NONAME ; int CPhoneSingleCall::CallId(void) const
-	?HandleConnectedConferenceL@CPhoneTwoSingles@@MAEXH@Z @ 60 NONAME ; void CPhoneTwoSingles::HandleConnectedConferenceL(int)
+	?HandlePhoneEngineMessageL@CPhoneTwoSingles@@UAEXHH@Z @ 35 NONAME ; void CPhoneTwoSingles::HandlePhoneEngineMessageL(int, int)
+	?HandlePhoneEngineMessageL@CPhoneAlerting@@UAEXHH@Z @ 36 NONAME ; void CPhoneAlerting::HandlePhoneEngineMessageL(int, int)
+	?HandleRemConCommandL@CPhoneEmergency@@MAEHW4TRemConCoreApiOperationId@@W4TRemConCoreApiButtonAction@@@Z @ 37 NONAME ; int CPhoneEmergency::HandleRemConCommandL(enum TRemConCoreApiOperationId, enum TRemConCoreApiButtonAction)
+	?ConstructL@CPhoneSingleCall@@MAEXXZ @ 38 NONAME ; void CPhoneSingleCall::ConstructL(void)
+	?HandlePhoneEngineMessageL@CPhoneIncoming@@UAEXHH@Z @ 39 NONAME ; void CPhoneIncoming::HandlePhoneEngineMessageL(int, int)
+	?State@CPhoneStateMachineGSM@@UAEPAVMPhoneState@@XZ @ 40 NONAME ; class MPhoneState * CPhoneStateMachineGSM::State(void)
+	?SendGlobalErrorNoteL@CPhoneErrorMessagesHandler@@IAEXHH@Z @ 41 NONAME ; void CPhoneErrorMessagesHandler::SendGlobalErrorNoteL(int, int)
+	?HandleErrorL@CPhoneIdle@@MAEXABUTPEErrorInfo@@@Z @ 42 NONAME ; void CPhoneIdle::HandleErrorL(struct TPEErrorInfo const &)
+	?HandleConnectingL@CPhoneCallSetup@@MAEXH@Z @ 43 NONAME ; void CPhoneCallSetup::HandleConnectingL(int)
+	?SendGlobalWarningNoteL@CPhoneErrorMessagesHandler@@IAEXHH@Z @ 44 NONAME ; void CPhoneErrorMessagesHandler::SendGlobalWarningNoteL(int, int)
+	?HandleErrorL@CPhoneSingleAndWaiting@@MAEXABUTPEErrorInfo@@@Z @ 45 NONAME ; void CPhoneSingleAndWaiting::HandleErrorL(struct TPEErrorInfo const &)
+	??0CPhoneResourceResolverGSM@@IAE@XZ @ 46 NONAME ; CPhoneResourceResolverGSM::CPhoneResourceResolverGSM(void)
+	?ConstructL@CPhoneResourceResolverGSM@@IAEXXZ @ 47 NONAME ; void CPhoneResourceResolverGSM::ConstructL(void)
+	?HandlePhoneEngineMessageL@CPhoneIdle@@UAEXHH@Z @ 48 NONAME ; void CPhoneIdle::HandlePhoneEngineMessageL(int, int)
+	??1CPhoneIdle@@UAE@XZ @ 49 NONAME ; CPhoneIdle::~CPhoneIdle(void)
+	??1CPhoneCallSetup@@UAE@XZ @ 50 NONAME ; CPhoneCallSetup::~CPhoneCallSetup(void)
+	?ConstructL@CPhoneIdle@@MAEXXZ @ 51 NONAME ; void CPhoneIdle::ConstructL(void)
+	??0CPhoneAlerting@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 52 NONAME ; CPhoneAlerting::CPhoneAlerting(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
+	?HandleNumberEntryClearedL@CPhoneTwoSingles@@MAEXXZ @ 53 NONAME ; void CPhoneTwoSingles::HandleNumberEntryClearedL(void)
+	?CheckIfShowCallTerminationNote@CPhoneAlerting@@MAEHXZ @ 54 NONAME ; int CPhoneAlerting::CheckIfShowCallTerminationNote(void)
+	??0CPhoneTwoSingles@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 55 NONAME ; CPhoneTwoSingles::CPhoneTwoSingles(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
+	?CallId@CPhoneSingleCall@@IBEHXZ @ 56 NONAME ; int CPhoneSingleCall::CallId(void) const
+	?HandleConnectedConferenceL@CPhoneTwoSingles@@MAEXH@Z @ 57 NONAME ; void CPhoneTwoSingles::HandleConnectedConferenceL(int)
 
--- a/phoneapp/phoneuistates/eabi/phoneuistatesu.def	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/eabi/phoneuistatesu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -38,206 +38,189 @@
 	_ZN15CPhoneCallSetupD2Ev @ 37 NONAME
 	_ZN15CPhoneEmergency20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 38 NONAME
 	_ZN15CPhoneGsmInCall14HandleCommandLEi @ 39 NONAME
-	_ZN15CPhoneGsmInCall19SetDivertIndicationEi @ 40 NONAME
-	_ZN15CPhoneGsmInCall27HandlePhoneForegroundEventLEv @ 41 NONAME
-	_ZN16CPhoneSingleCall10ConstructLEv @ 42 NONAME
-	_ZN16CPhoneSingleCall14HandleCommandLEi @ 43 NONAME
-	_ZN16CPhoneSingleCall17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 44 NONAME
-	_ZN16CPhoneSingleCall25HandlePhoneEngineMessageLEii @ 45 NONAME
-	_ZN16CPhoneSingleCallC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 46 NONAME
-	_ZN16CPhoneSingleCallC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 47 NONAME
-	_ZN16CPhoneSingleCallD0Ev @ 48 NONAME
-	_ZN16CPhoneSingleCallD1Ev @ 49 NONAME
-	_ZN16CPhoneSingleCallD2Ev @ 50 NONAME
-	_ZN16CPhoneTwoSingles10ConstructLEv @ 51 NONAME
-	_ZN16CPhoneTwoSingles16UpdateInCallCbaLEv @ 52 NONAME
-	_ZN16CPhoneTwoSingles17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 53 NONAME
-	_ZN16CPhoneTwoSingles25HandleNumberEntryClearedLEv @ 54 NONAME
-	_ZN16CPhoneTwoSingles25HandlePhoneEngineMessageLEii @ 55 NONAME
-	_ZN16CPhoneTwoSingles26HandleConnectedConferenceLEi @ 56 NONAME
-	_ZN16CPhoneTwoSinglesC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 57 NONAME
-	_ZN16CPhoneTwoSinglesC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 58 NONAME
-	_ZN16CPhoneTwoSinglesD0Ev @ 59 NONAME
-	_ZN16CPhoneTwoSinglesD1Ev @ 60 NONAME
-	_ZN16CPhoneTwoSinglesD2Ev @ 61 NONAME
-	_ZN21CPhoneStateMachineGSM18CreatePhoneEngineLER14MEngineMonitor @ 62 NONAME
-	_ZN21CPhoneStateMachineGSM5StateEv @ 63 NONAME
-	_ZN21CPhoneStateMachineGSMC1EP23MPhoneViewCommandHandle @ 64 NONAME
-	_ZN21CPhoneStateMachineGSMC2EP23MPhoneViewCommandHandle @ 65 NONAME
-	_ZN21CPhoneStateMachineGSMD0Ev @ 66 NONAME
-	_ZN21CPhoneStateMachineGSMD1Ev @ 67 NONAME
-	_ZN21CPhoneStateMachineGSMD2Ev @ 68 NONAME
-	_ZN22CPhoneSingleAndWaiting12HandleErrorLERK12TPEErrorInfo @ 69 NONAME
-	_ZN25CPhoneResourceResolverGSM10ConstructLEv @ 70 NONAME
-	_ZN25CPhoneResourceResolverGSMC1Ev @ 71 NONAME
-	_ZN25CPhoneResourceResolverGSMC2Ev @ 72 NONAME
-	_ZN25CPhoneResourceResolverGSMD0Ev @ 73 NONAME
-	_ZN25CPhoneResourceResolverGSMD1Ev @ 74 NONAME
-	_ZN25CPhoneResourceResolverGSMD2Ev @ 75 NONAME
-	_ZN26CPhoneErrorMessagesHandler19SendGlobalInfoNoteLEii @ 76 NONAME
-	_ZN26CPhoneErrorMessagesHandler20SendGlobalErrorNoteLEii @ 77 NONAME
-	_ZN26CPhoneErrorMessagesHandler22SendGlobalWarningNoteLEii @ 78 NONAME
-	_ZN26CPhoneErrorMessagesHandler22ShowErrorSpecificNoteLERK12TPEErrorInfo @ 79 NONAME
-	_ZN26CPhoneErrorMessagesHandlerC1EP23MPhoneViewCommandHandleP18MPhoneStateMachine @ 80 NONAME
-	_ZN26CPhoneErrorMessagesHandlerC2EP23MPhoneViewCommandHandleP18MPhoneStateMachine @ 81 NONAME
-	_ZN26CPhoneErrorMessagesHandlerD0Ev @ 82 NONAME
-	_ZN26CPhoneErrorMessagesHandlerD1Ev @ 83 NONAME
-	_ZN26CPhoneErrorMessagesHandlerD2Ev @ 84 NONAME
-	_ZN26CPhoneTwoSinglesAndWaiting12HandleErrorLERK12TPEErrorInfo @ 85 NONAME
-	_ZNK16CPhoneSingleCall6CallIdEv @ 86 NONAME
-	_ZNK25CPhoneResourceResolverGSM17ResolveResourceIDERKi @ 87 NONAME
-	_ZTI10CPhoneIdle @ 88 NONAME
-	_ZTI13CPhoneStartup @ 89 NONAME
-	_ZTI14CPhoneAlerting @ 90 NONAME
-	_ZTI14CPhoneIncoming @ 91 NONAME
-	_ZTI15CPhoneCallSetup @ 92 NONAME
-	_ZTI15CPhoneEmergency @ 93 NONAME
-	_ZTI15CPhoneGsmInCall @ 94 NONAME
-	_ZTI16CPhoneConference @ 95 NONAME
-	_ZTI16CPhoneSingleCall @ 96 NONAME
-	_ZTI16CPhoneTwoSingles @ 97 NONAME
-	_ZTI21CPhoneStateMachineGSM @ 98 NONAME
-	_ZTI22CPhoneSingleAndWaiting @ 99 NONAME
-	_ZTI23CPhoneSingleAndAlerting @ 100 NONAME
-	_ZTI24CPhoneSingleAndCallSetup @ 101 NONAME
-	_ZTI25CPhoneCallSetupAndWaiting @ 102 NONAME
-	_ZTI25CPhoneConferenceAndSingle @ 103 NONAME
-	_ZTI25CPhoneResourceResolverGSM @ 104 NONAME
-	_ZTI26CPhoneConferenceAndWaiting @ 105 NONAME
-	_ZTI26CPhoneErrorMessagesHandler @ 106 NONAME
-	_ZTI26CPhoneTwoSinglesAndWaiting @ 107 NONAME
-	_ZTI28CPhoneConferenceAndCallSetup @ 108 NONAME
-	_ZTI30CPhoneUIStateMachineFactoryGSM @ 109 NONAME
-	_ZTI31CPhoneGeneralGsmMessagesHandler @ 110 NONAME
-	_ZTI34CPhoneSingleAndCallSetupAndWaiting @ 111 NONAME
-	_ZTI35CPhoneConferenceAndSingleAndWaiting @ 112 NONAME
-	_ZTI38CPhoneConferenceAndWaitingAndCallSetup @ 113 NONAME
-	_ZTV10CPhoneIdle @ 114 NONAME
-	_ZTV13CPhoneStartup @ 115 NONAME
-	_ZTV14CPhoneAlerting @ 116 NONAME
-	_ZTV14CPhoneIncoming @ 117 NONAME
-	_ZTV15CPhoneCallSetup @ 118 NONAME
-	_ZTV15CPhoneEmergency @ 119 NONAME
-	_ZTV15CPhoneGsmInCall @ 120 NONAME
-	_ZTV16CPhoneConference @ 121 NONAME
-	_ZTV16CPhoneSingleCall @ 122 NONAME
-	_ZTV16CPhoneTwoSingles @ 123 NONAME
-	_ZTV21CPhoneStateMachineGSM @ 124 NONAME
-	_ZTV22CPhoneSingleAndWaiting @ 125 NONAME
-	_ZTV23CPhoneSingleAndAlerting @ 126 NONAME
-	_ZTV24CPhoneSingleAndCallSetup @ 127 NONAME
-	_ZTV25CPhoneCallSetupAndWaiting @ 128 NONAME
-	_ZTV25CPhoneConferenceAndSingle @ 129 NONAME
-	_ZTV25CPhoneResourceResolverGSM @ 130 NONAME
-	_ZTV26CPhoneConferenceAndWaiting @ 131 NONAME
-	_ZTV26CPhoneErrorMessagesHandler @ 132 NONAME
-	_ZTV26CPhoneTwoSinglesAndWaiting @ 133 NONAME
-	_ZTV28CPhoneConferenceAndCallSetup @ 134 NONAME
-	_ZTV30CPhoneUIStateMachineFactoryGSM @ 135 NONAME
-	_ZTV31CPhoneGeneralGsmMessagesHandler @ 136 NONAME
-	_ZTV34CPhoneSingleAndCallSetupAndWaiting @ 137 NONAME
-	_ZTV35CPhoneConferenceAndSingleAndWaiting @ 138 NONAME
-	_ZTV38CPhoneConferenceAndWaitingAndCallSetup @ 139 NONAME
-	_ZThn12_N10CPhoneIdleD0Ev @ 140 NONAME
-	_ZThn12_N10CPhoneIdleD1Ev @ 141 NONAME
-	_ZThn12_N14CPhoneAlertingD0Ev @ 142 NONAME
-	_ZThn12_N14CPhoneAlertingD1Ev @ 143 NONAME
-	_ZThn12_N14CPhoneIncomingD0Ev @ 144 NONAME
-	_ZThn12_N14CPhoneIncomingD1Ev @ 145 NONAME
-	_ZThn12_N15CPhoneCallSetupD0Ev @ 146 NONAME
-	_ZThn12_N15CPhoneCallSetupD1Ev @ 147 NONAME
-	_ZThn12_N15CPhoneGsmInCall27HandlePhoneForegroundEventLEv @ 148 NONAME
-	_ZThn12_N16CPhoneSingleCallD0Ev @ 149 NONAME
-	_ZThn12_N16CPhoneSingleCallD1Ev @ 150 NONAME
-	_ZThn12_N16CPhoneTwoSinglesD0Ev @ 151 NONAME
-	_ZThn12_N16CPhoneTwoSinglesD1Ev @ 152 NONAME
-	_ZThn16_N10CPhoneIdleD0Ev @ 153 NONAME
-	_ZThn16_N10CPhoneIdleD1Ev @ 154 NONAME
-	_ZThn16_N14CPhoneAlerting14HandleCommandLEi @ 155 NONAME
-	_ZThn16_N14CPhoneAlertingD0Ev @ 156 NONAME
-	_ZThn16_N14CPhoneAlertingD1Ev @ 157 NONAME
-	_ZThn16_N14CPhoneIncomingD0Ev @ 158 NONAME
-	_ZThn16_N14CPhoneIncomingD1Ev @ 159 NONAME
-	_ZThn16_N15CPhoneCallSetupD0Ev @ 160 NONAME
-	_ZThn16_N15CPhoneCallSetupD1Ev @ 161 NONAME
-	_ZThn16_N15CPhoneGsmInCall14HandleCommandLEi @ 162 NONAME
-	_ZThn16_N16CPhoneSingleCall14HandleCommandLEi @ 163 NONAME
-	_ZThn16_N16CPhoneSingleCallD0Ev @ 164 NONAME
-	_ZThn16_N16CPhoneSingleCallD1Ev @ 165 NONAME
-	_ZThn16_N16CPhoneTwoSinglesD0Ev @ 166 NONAME
-	_ZThn16_N16CPhoneTwoSinglesD1Ev @ 167 NONAME
-	_ZThn20_N10CPhoneIdleD0Ev @ 168 NONAME
-	_ZThn20_N10CPhoneIdleD1Ev @ 169 NONAME
-	_ZThn20_N14CPhoneAlertingD0Ev @ 170 NONAME
-	_ZThn20_N14CPhoneAlertingD1Ev @ 171 NONAME
-	_ZThn20_N14CPhoneIncomingD0Ev @ 172 NONAME
-	_ZThn20_N14CPhoneIncomingD1Ev @ 173 NONAME
-	_ZThn20_N15CPhoneCallSetupD0Ev @ 174 NONAME
-	_ZThn20_N15CPhoneCallSetupD1Ev @ 175 NONAME
-	_ZThn20_N15CPhoneEmergency20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 176 NONAME
-	_ZThn20_N16CPhoneSingleCallD0Ev @ 177 NONAME
-	_ZThn20_N16CPhoneSingleCallD1Ev @ 178 NONAME
-	_ZThn20_N16CPhoneTwoSinglesD0Ev @ 179 NONAME
-	_ZThn20_N16CPhoneTwoSinglesD1Ev @ 180 NONAME
-	_ZThn24_N10CPhoneIdleD0Ev @ 181 NONAME
-	_ZThn24_N10CPhoneIdleD1Ev @ 182 NONAME
-	_ZThn24_N14CPhoneAlertingD0Ev @ 183 NONAME
-	_ZThn24_N14CPhoneAlertingD1Ev @ 184 NONAME
-	_ZThn24_N14CPhoneIncomingD0Ev @ 185 NONAME
-	_ZThn24_N14CPhoneIncomingD1Ev @ 186 NONAME
-	_ZThn24_N15CPhoneCallSetupD0Ev @ 187 NONAME
-	_ZThn24_N15CPhoneCallSetupD1Ev @ 188 NONAME
-	_ZThn24_N15CPhoneGsmInCall19SetDivertIndicationEi @ 189 NONAME
-	_ZThn24_N16CPhoneSingleCallD0Ev @ 190 NONAME
-	_ZThn24_N16CPhoneSingleCallD1Ev @ 191 NONAME
-	_ZThn24_N16CPhoneTwoSinglesD0Ev @ 192 NONAME
-	_ZThn24_N16CPhoneTwoSinglesD1Ev @ 193 NONAME
-	_ZThn32_N16CPhoneTwoSingles25HandleNumberEntryClearedLEv @ 194 NONAME
-	_ZThn4_N10CPhoneIdle12HandleErrorLERK12TPEErrorInfo @ 195 NONAME
-	_ZThn4_N10CPhoneIdle25HandlePhoneEngineMessageLEii @ 196 NONAME
-	_ZThn4_N10CPhoneIdleD0Ev @ 197 NONAME
-	_ZThn4_N10CPhoneIdleD1Ev @ 198 NONAME
-	_ZThn4_N14CPhoneAlerting25HandlePhoneEngineMessageLEii @ 199 NONAME
-	_ZThn4_N14CPhoneAlertingD0Ev @ 200 NONAME
-	_ZThn4_N14CPhoneAlertingD1Ev @ 201 NONAME
-	_ZThn4_N14CPhoneIncoming12HandleErrorLERK12TPEErrorInfo @ 202 NONAME
-	_ZThn4_N14CPhoneIncoming25HandlePhoneEngineMessageLEii @ 203 NONAME
-	_ZThn4_N14CPhoneIncomingD0Ev @ 204 NONAME
-	_ZThn4_N14CPhoneIncomingD1Ev @ 205 NONAME
-	_ZThn4_N15CPhoneCallSetup25HandlePhoneEngineMessageLEii @ 206 NONAME
-	_ZThn4_N15CPhoneCallSetupD0Ev @ 207 NONAME
-	_ZThn4_N15CPhoneCallSetupD1Ev @ 208 NONAME
-	_ZThn4_N16CPhoneSingleCall25HandlePhoneEngineMessageLEii @ 209 NONAME
-	_ZThn4_N16CPhoneSingleCallD0Ev @ 210 NONAME
-	_ZThn4_N16CPhoneSingleCallD1Ev @ 211 NONAME
-	_ZThn4_N16CPhoneTwoSingles25HandlePhoneEngineMessageLEii @ 212 NONAME
-	_ZThn4_N16CPhoneTwoSinglesD0Ev @ 213 NONAME
-	_ZThn4_N16CPhoneTwoSinglesD1Ev @ 214 NONAME
-	_ZThn4_N21CPhoneStateMachineGSM18CreatePhoneEngineLER14MEngineMonitor @ 215 NONAME
-	_ZThn4_N21CPhoneStateMachineGSM5StateEv @ 216 NONAME
-	_ZThn4_N21CPhoneStateMachineGSMD0Ev @ 217 NONAME
-	_ZThn4_N21CPhoneStateMachineGSMD1Ev @ 218 NONAME
-	_ZThn4_N22CPhoneSingleAndWaiting12HandleErrorLERK12TPEErrorInfo @ 219 NONAME
-	_ZThn4_N25CPhoneResourceResolverGSMD0Ev @ 220 NONAME
-	_ZThn4_N25CPhoneResourceResolverGSMD1Ev @ 221 NONAME
-	_ZThn4_N26CPhoneErrorMessagesHandler22ShowErrorSpecificNoteLERK12TPEErrorInfo @ 222 NONAME
-	_ZThn4_N26CPhoneErrorMessagesHandlerD0Ev @ 223 NONAME
-	_ZThn4_N26CPhoneErrorMessagesHandlerD1Ev @ 224 NONAME
-	_ZThn4_N26CPhoneTwoSinglesAndWaiting12HandleErrorLERK12TPEErrorInfo @ 225 NONAME
-	_ZThn4_NK25CPhoneResourceResolverGSM17ResolveResourceIDERKi @ 226 NONAME
-	_ZThn8_N10CPhoneIdleD0Ev @ 227 NONAME
-	_ZThn8_N10CPhoneIdleD1Ev @ 228 NONAME
-	_ZThn8_N14CPhoneAlerting17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 229 NONAME
-	_ZThn8_N14CPhoneAlertingD0Ev @ 230 NONAME
-	_ZThn8_N14CPhoneAlertingD1Ev @ 231 NONAME
-	_ZThn8_N14CPhoneIncomingD0Ev @ 232 NONAME
-	_ZThn8_N14CPhoneIncomingD1Ev @ 233 NONAME
-	_ZThn8_N15CPhoneCallSetupD0Ev @ 234 NONAME
-	_ZThn8_N15CPhoneCallSetupD1Ev @ 235 NONAME
-	_ZThn8_N16CPhoneSingleCall17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 236 NONAME
-	_ZThn8_N16CPhoneSingleCallD0Ev @ 237 NONAME
-	_ZThn8_N16CPhoneSingleCallD1Ev @ 238 NONAME
-	_ZThn8_N16CPhoneTwoSingles17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 239 NONAME
-	_ZThn8_N16CPhoneTwoSinglesD0Ev @ 240 NONAME
-	_ZThn8_N16CPhoneTwoSinglesD1Ev @ 241 NONAME
+	_ZN16CPhoneSingleCall10ConstructLEv @ 40 NONAME
+	_ZN16CPhoneSingleCall14HandleCommandLEi @ 41 NONAME
+	_ZN16CPhoneSingleCall17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 42 NONAME
+	_ZN16CPhoneSingleCall25HandlePhoneEngineMessageLEii @ 43 NONAME
+	_ZN16CPhoneSingleCallC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 44 NONAME
+	_ZN16CPhoneSingleCallC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 45 NONAME
+	_ZN16CPhoneSingleCallD0Ev @ 46 NONAME
+	_ZN16CPhoneSingleCallD1Ev @ 47 NONAME
+	_ZN16CPhoneSingleCallD2Ev @ 48 NONAME
+	_ZN16CPhoneTwoSingles10ConstructLEv @ 49 NONAME
+	_ZN16CPhoneTwoSingles17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 50 NONAME
+	_ZN16CPhoneTwoSingles25HandleNumberEntryClearedLEv @ 51 NONAME
+	_ZN16CPhoneTwoSingles25HandlePhoneEngineMessageLEii @ 52 NONAME
+	_ZN16CPhoneTwoSingles26HandleConnectedConferenceLEi @ 53 NONAME
+	_ZN16CPhoneTwoSinglesC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 54 NONAME
+	_ZN16CPhoneTwoSinglesC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 55 NONAME
+	_ZN16CPhoneTwoSinglesD0Ev @ 56 NONAME
+	_ZN16CPhoneTwoSinglesD1Ev @ 57 NONAME
+	_ZN16CPhoneTwoSinglesD2Ev @ 58 NONAME
+	_ZN21CPhoneStateMachineGSM18CreatePhoneEngineLER14MEngineMonitor @ 59 NONAME
+	_ZN21CPhoneStateMachineGSM5StateEv @ 60 NONAME
+	_ZN21CPhoneStateMachineGSMC1EP23MPhoneViewCommandHandle @ 61 NONAME
+	_ZN21CPhoneStateMachineGSMC2EP23MPhoneViewCommandHandle @ 62 NONAME
+	_ZN21CPhoneStateMachineGSMD0Ev @ 63 NONAME
+	_ZN21CPhoneStateMachineGSMD1Ev @ 64 NONAME
+	_ZN21CPhoneStateMachineGSMD2Ev @ 65 NONAME
+	_ZN22CPhoneSingleAndWaiting12HandleErrorLERK12TPEErrorInfo @ 66 NONAME
+	_ZN25CPhoneResourceResolverGSM10ConstructLEv @ 67 NONAME
+	_ZN25CPhoneResourceResolverGSMC1Ev @ 68 NONAME
+	_ZN25CPhoneResourceResolverGSMC2Ev @ 69 NONAME
+	_ZN25CPhoneResourceResolverGSMD0Ev @ 70 NONAME
+	_ZN25CPhoneResourceResolverGSMD1Ev @ 71 NONAME
+	_ZN25CPhoneResourceResolverGSMD2Ev @ 72 NONAME
+	_ZN26CPhoneErrorMessagesHandler19SendGlobalInfoNoteLEii @ 73 NONAME
+	_ZN26CPhoneErrorMessagesHandler20SendGlobalErrorNoteLEii @ 74 NONAME
+	_ZN26CPhoneErrorMessagesHandler22SendGlobalWarningNoteLEii @ 75 NONAME
+	_ZN26CPhoneErrorMessagesHandler22ShowErrorSpecificNoteLERK12TPEErrorInfo @ 76 NONAME
+	_ZN26CPhoneErrorMessagesHandlerC1EP23MPhoneViewCommandHandleP18MPhoneStateMachine @ 77 NONAME
+	_ZN26CPhoneErrorMessagesHandlerC2EP23MPhoneViewCommandHandleP18MPhoneStateMachine @ 78 NONAME
+	_ZN26CPhoneErrorMessagesHandlerD0Ev @ 79 NONAME
+	_ZN26CPhoneErrorMessagesHandlerD1Ev @ 80 NONAME
+	_ZN26CPhoneErrorMessagesHandlerD2Ev @ 81 NONAME
+	_ZN26CPhoneTwoSinglesAndWaiting12HandleErrorLERK12TPEErrorInfo @ 82 NONAME
+	_ZNK16CPhoneSingleCall6CallIdEv @ 83 NONAME
+	_ZNK25CPhoneResourceResolverGSM17ResolveResourceIDERKi @ 84 NONAME
+	_ZTI10CPhoneIdle @ 85 NONAME
+	_ZTI13CPhoneStartup @ 86 NONAME
+	_ZTI14CPhoneAlerting @ 87 NONAME
+	_ZTI14CPhoneIncoming @ 88 NONAME
+	_ZTI15CPhoneCallSetup @ 89 NONAME
+	_ZTI15CPhoneEmergency @ 90 NONAME
+	_ZTI15CPhoneGsmInCall @ 91 NONAME
+	_ZTI16CPhoneConference @ 92 NONAME
+	_ZTI16CPhoneSingleCall @ 93 NONAME
+	_ZTI16CPhoneTwoSingles @ 94 NONAME
+	_ZTI21CPhoneStateMachineGSM @ 95 NONAME
+	_ZTI22CPhoneSingleAndWaiting @ 96 NONAME
+	_ZTI23CPhoneSingleAndAlerting @ 97 NONAME
+	_ZTI24CPhoneSingleAndCallSetup @ 98 NONAME
+	_ZTI25CPhoneCallSetupAndWaiting @ 99 NONAME
+	_ZTI25CPhoneConferenceAndSingle @ 100 NONAME
+	_ZTI25CPhoneResourceResolverGSM @ 101 NONAME
+	_ZTI26CPhoneConferenceAndWaiting @ 102 NONAME
+	_ZTI26CPhoneErrorMessagesHandler @ 103 NONAME
+	_ZTI26CPhoneTwoSinglesAndWaiting @ 104 NONAME
+	_ZTI28CPhoneConferenceAndCallSetup @ 105 NONAME
+	_ZTI30CPhoneUIStateMachineFactoryGSM @ 106 NONAME
+	_ZTI31CPhoneGeneralGsmMessagesHandler @ 107 NONAME
+	_ZTI34CPhoneSingleAndCallSetupAndWaiting @ 108 NONAME
+	_ZTI35CPhoneConferenceAndSingleAndWaiting @ 109 NONAME
+	_ZTI38CPhoneConferenceAndWaitingAndCallSetup @ 110 NONAME
+	_ZTV10CPhoneIdle @ 111 NONAME
+	_ZTV13CPhoneStartup @ 112 NONAME
+	_ZTV14CPhoneAlerting @ 113 NONAME
+	_ZTV14CPhoneIncoming @ 114 NONAME
+	_ZTV15CPhoneCallSetup @ 115 NONAME
+	_ZTV15CPhoneEmergency @ 116 NONAME
+	_ZTV15CPhoneGsmInCall @ 117 NONAME
+	_ZTV16CPhoneConference @ 118 NONAME
+	_ZTV16CPhoneSingleCall @ 119 NONAME
+	_ZTV16CPhoneTwoSingles @ 120 NONAME
+	_ZTV21CPhoneStateMachineGSM @ 121 NONAME
+	_ZTV22CPhoneSingleAndWaiting @ 122 NONAME
+	_ZTV23CPhoneSingleAndAlerting @ 123 NONAME
+	_ZTV24CPhoneSingleAndCallSetup @ 124 NONAME
+	_ZTV25CPhoneCallSetupAndWaiting @ 125 NONAME
+	_ZTV25CPhoneConferenceAndSingle @ 126 NONAME
+	_ZTV25CPhoneResourceResolverGSM @ 127 NONAME
+	_ZTV26CPhoneConferenceAndWaiting @ 128 NONAME
+	_ZTV26CPhoneErrorMessagesHandler @ 129 NONAME
+	_ZTV26CPhoneTwoSinglesAndWaiting @ 130 NONAME
+	_ZTV28CPhoneConferenceAndCallSetup @ 131 NONAME
+	_ZTV30CPhoneUIStateMachineFactoryGSM @ 132 NONAME
+	_ZTV31CPhoneGeneralGsmMessagesHandler @ 133 NONAME
+	_ZTV34CPhoneSingleAndCallSetupAndWaiting @ 134 NONAME
+	_ZTV35CPhoneConferenceAndSingleAndWaiting @ 135 NONAME
+	_ZTV38CPhoneConferenceAndWaitingAndCallSetup @ 136 NONAME
+	_ZThn12_N10CPhoneIdleD0Ev @ 137 NONAME
+	_ZThn12_N10CPhoneIdleD1Ev @ 138 NONAME
+	_ZThn12_N14CPhoneAlertingD0Ev @ 139 NONAME
+	_ZThn12_N14CPhoneAlertingD1Ev @ 140 NONAME
+	_ZThn12_N14CPhoneIncomingD0Ev @ 141 NONAME
+	_ZThn12_N14CPhoneIncomingD1Ev @ 142 NONAME
+	_ZThn12_N15CPhoneCallSetupD0Ev @ 143 NONAME
+	_ZThn12_N15CPhoneCallSetupD1Ev @ 144 NONAME
+	_ZThn12_N16CPhoneSingleCallD0Ev @ 145 NONAME
+	_ZThn12_N16CPhoneSingleCallD1Ev @ 146 NONAME
+	_ZThn12_N16CPhoneTwoSinglesD0Ev @ 147 NONAME
+	_ZThn12_N16CPhoneTwoSinglesD1Ev @ 148 NONAME
+	_ZThn16_N10CPhoneIdleD0Ev @ 149 NONAME
+	_ZThn16_N10CPhoneIdleD1Ev @ 150 NONAME
+	_ZThn16_N14CPhoneAlerting14HandleCommandLEi @ 151 NONAME
+	_ZThn16_N14CPhoneAlertingD0Ev @ 152 NONAME
+	_ZThn16_N14CPhoneAlertingD1Ev @ 153 NONAME
+	_ZThn16_N14CPhoneIncomingD0Ev @ 154 NONAME
+	_ZThn16_N14CPhoneIncomingD1Ev @ 155 NONAME
+	_ZThn16_N15CPhoneCallSetupD0Ev @ 156 NONAME
+	_ZThn16_N15CPhoneCallSetupD1Ev @ 157 NONAME
+	_ZThn16_N15CPhoneGsmInCall14HandleCommandLEi @ 158 NONAME
+	_ZThn16_N16CPhoneSingleCall14HandleCommandLEi @ 159 NONAME
+	_ZThn16_N16CPhoneSingleCallD0Ev @ 160 NONAME
+	_ZThn16_N16CPhoneSingleCallD1Ev @ 161 NONAME
+	_ZThn16_N16CPhoneTwoSinglesD0Ev @ 162 NONAME
+	_ZThn16_N16CPhoneTwoSinglesD1Ev @ 163 NONAME
+	_ZThn20_N10CPhoneIdleD0Ev @ 164 NONAME
+	_ZThn20_N10CPhoneIdleD1Ev @ 165 NONAME
+	_ZThn20_N14CPhoneAlertingD0Ev @ 166 NONAME
+	_ZThn20_N14CPhoneAlertingD1Ev @ 167 NONAME
+	_ZThn20_N14CPhoneIncomingD0Ev @ 168 NONAME
+	_ZThn20_N14CPhoneIncomingD1Ev @ 169 NONAME
+	_ZThn20_N15CPhoneCallSetupD0Ev @ 170 NONAME
+	_ZThn20_N15CPhoneCallSetupD1Ev @ 171 NONAME
+	_ZThn20_N15CPhoneEmergency20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 172 NONAME
+	_ZThn20_N16CPhoneSingleCallD0Ev @ 173 NONAME
+	_ZThn20_N16CPhoneSingleCallD1Ev @ 174 NONAME
+	_ZThn20_N16CPhoneTwoSinglesD0Ev @ 175 NONAME
+	_ZThn20_N16CPhoneTwoSinglesD1Ev @ 176 NONAME
+	_ZThn24_N16CPhoneTwoSingles25HandleNumberEntryClearedLEv @ 177 NONAME
+	_ZThn4_N10CPhoneIdle12HandleErrorLERK12TPEErrorInfo @ 178 NONAME
+	_ZThn4_N10CPhoneIdle25HandlePhoneEngineMessageLEii @ 179 NONAME
+	_ZThn4_N10CPhoneIdleD0Ev @ 180 NONAME
+	_ZThn4_N10CPhoneIdleD1Ev @ 181 NONAME
+	_ZThn4_N14CPhoneAlerting25HandlePhoneEngineMessageLEii @ 182 NONAME
+	_ZThn4_N14CPhoneAlertingD0Ev @ 183 NONAME
+	_ZThn4_N14CPhoneAlertingD1Ev @ 184 NONAME
+	_ZThn4_N14CPhoneIncoming12HandleErrorLERK12TPEErrorInfo @ 185 NONAME
+	_ZThn4_N14CPhoneIncoming25HandlePhoneEngineMessageLEii @ 186 NONAME
+	_ZThn4_N14CPhoneIncomingD0Ev @ 187 NONAME
+	_ZThn4_N14CPhoneIncomingD1Ev @ 188 NONAME
+	_ZThn4_N15CPhoneCallSetup25HandlePhoneEngineMessageLEii @ 189 NONAME
+	_ZThn4_N15CPhoneCallSetupD0Ev @ 190 NONAME
+	_ZThn4_N15CPhoneCallSetupD1Ev @ 191 NONAME
+	_ZThn4_N16CPhoneSingleCall25HandlePhoneEngineMessageLEii @ 192 NONAME
+	_ZThn4_N16CPhoneSingleCallD0Ev @ 193 NONAME
+	_ZThn4_N16CPhoneSingleCallD1Ev @ 194 NONAME
+	_ZThn4_N16CPhoneTwoSingles25HandlePhoneEngineMessageLEii @ 195 NONAME
+	_ZThn4_N16CPhoneTwoSinglesD0Ev @ 196 NONAME
+	_ZThn4_N16CPhoneTwoSinglesD1Ev @ 197 NONAME
+	_ZThn4_N21CPhoneStateMachineGSM18CreatePhoneEngineLER14MEngineMonitor @ 198 NONAME
+	_ZThn4_N21CPhoneStateMachineGSM5StateEv @ 199 NONAME
+	_ZThn4_N21CPhoneStateMachineGSMD0Ev @ 200 NONAME
+	_ZThn4_N21CPhoneStateMachineGSMD1Ev @ 201 NONAME
+	_ZThn4_N22CPhoneSingleAndWaiting12HandleErrorLERK12TPEErrorInfo @ 202 NONAME
+	_ZThn4_N25CPhoneResourceResolverGSMD0Ev @ 203 NONAME
+	_ZThn4_N25CPhoneResourceResolverGSMD1Ev @ 204 NONAME
+	_ZThn4_N26CPhoneErrorMessagesHandler22ShowErrorSpecificNoteLERK12TPEErrorInfo @ 205 NONAME
+	_ZThn4_N26CPhoneErrorMessagesHandlerD0Ev @ 206 NONAME
+	_ZThn4_N26CPhoneErrorMessagesHandlerD1Ev @ 207 NONAME
+	_ZThn4_N26CPhoneTwoSinglesAndWaiting12HandleErrorLERK12TPEErrorInfo @ 208 NONAME
+	_ZThn4_NK25CPhoneResourceResolverGSM17ResolveResourceIDERKi @ 209 NONAME
+	_ZThn8_N10CPhoneIdleD0Ev @ 210 NONAME
+	_ZThn8_N10CPhoneIdleD1Ev @ 211 NONAME
+	_ZThn8_N14CPhoneAlerting17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 212 NONAME
+	_ZThn8_N14CPhoneAlertingD0Ev @ 213 NONAME
+	_ZThn8_N14CPhoneAlertingD1Ev @ 214 NONAME
+	_ZThn8_N14CPhoneIncomingD0Ev @ 215 NONAME
+	_ZThn8_N14CPhoneIncomingD1Ev @ 216 NONAME
+	_ZThn8_N15CPhoneCallSetupD0Ev @ 217 NONAME
+	_ZThn8_N15CPhoneCallSetupD1Ev @ 218 NONAME
+	_ZThn8_N16CPhoneSingleCall17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 219 NONAME
+	_ZThn8_N16CPhoneSingleCallD0Ev @ 220 NONAME
+	_ZThn8_N16CPhoneSingleCallD1Ev @ 221 NONAME
+	_ZThn8_N16CPhoneTwoSingles17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 222 NONAME
+	_ZThn8_N16CPhoneTwoSinglesD0Ev @ 223 NONAME
+	_ZThn8_N16CPhoneTwoSinglesD1Ev @ 224 NONAME
 
--- a/phoneapp/phoneuistates/group/bld.inf	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -26,7 +26,7 @@
 PRJ_EXPORTS
 
 // Stub SIS files:
-../group/phoneuistates_stub.sis                 /epoc32/data/z/system/install/phoneuistates_stub.sis
+../rom/phoneuistates_stub.sis                 /epoc32/data/z/system/install/phoneuistates_stub.sis
 
 PRJ_MMPFILES
 phoneuistates.mmp
--- a/phoneapp/phoneuistates/group/phoneuistates.mmp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/group/phoneuistates.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -27,6 +27,8 @@
 // Assign Vendor ID.
 VENDORID VID_DEFAULT
 
+VERSION 10.0
+
 TARGET          phoneuistates.dll
 TARGETTYPE      dll
 
@@ -75,7 +77,6 @@
 APP_LAYER_SYSTEMINCLUDE         // Application layer domain APIs
 SYSTEMINCLUDE   ../../../inc    // Telephony internal headers
 
-LIBRARY         avkon.lib // AknTextUtils
 LIBRARY         bafl.lib
 LIBRARY         phonestringloader.lib
 LIBRARY         cone.lib
@@ -100,3 +101,6 @@
 LIBRARY         apgrfx.lib
 #endif
 
+
+
+SMPSAFE
--- a/phoneapp/phoneuistates/group/phoneuistates_stub.pkg	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +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: For packing phoneuistates component.
-;
-; Languages
-&EN
-
-; Header
-#{"phoneuistates"}, (0x101F7C9F), 1, 0, 0, TYPE=SA
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Files
-;
-;  phoneuistates
-;
-"" - "z:\sys\bin\phoneuistates.dll"
Binary file phoneapp/phoneuistates/group/phoneuistates_stub.sis has changed
--- a/phoneapp/phoneuistates/inc/cphonecallsetupandwaiting.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/inc/cphonecallsetupandwaiting.h	Mon Oct 04 00:16:48 2010 +0300
@@ -74,9 +74,6 @@
         * ConstructL()
         */
         virtual void ConstructL();
-            
-        
-        virtual void UpdateInCallCbaL();
         
     private:
         
--- a/phoneapp/phoneuistates/inc/cphoneconference.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/inc/cphoneconference.h	Mon Oct 04 00:16:48 2010 +0300
@@ -92,19 +92,11 @@
         virtual void MakeStateTransitionToSingleL();
 
         virtual void HandleIncomingL( TInt aCallId );
-
-        virtual void DisplayIncomingCallL( 
-            TInt aCallId, 
-            const TPhoneCmdParamBoolean aCommandParam );
         
         virtual void HandleConferenceIdleL();
                         
         virtual void MakeStateTransitionToTwoSinglesL();
 
-        virtual void DisplayCallSetupL( TInt aCallId );
-        
-        virtual void UpdateInCallCbaL();
-
         void UpdateConferenceSecurityStatusL( TInt aCallId );
         
         
@@ -122,7 +114,7 @@
         
         void MakeStateTransitionToIdleL();
         
-        void HandleDiallingL( TInt aCallId );
+        void HandleDialingL( TInt aCallId );
         
         void HandleWentOneToOneL( TInt aCallId );
         
--- a/phoneapp/phoneuistates/inc/cphoneconferenceandcallsetup.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/inc/cphoneconferenceandcallsetup.h	Mon Oct 04 00:16:48 2010 +0300
@@ -81,8 +81,6 @@
         */
         virtual void ConstructL();
         
-        virtual void UpdateInCallCbaL();
-        
         
      private:
      
--- a/phoneapp/phoneuistates/inc/cphoneconferenceandsingle.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/inc/cphoneconferenceandsingle.h	Mon Oct 04 00:16:48 2010 +0300
@@ -80,8 +80,6 @@
         */
         virtual void ConstructL();
         
-        virtual void UpdateInCallCbaL();
-        
         virtual void HandleIncomingL( TInt aCallId );
         
         virtual void HandleIdleL( TInt aCallId );
--- a/phoneapp/phoneuistates/inc/cphoneconferenceandsingleandwaiting.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/inc/cphoneconferenceandsingleandwaiting.h	Mon Oct 04 00:16:48 2010 +0300
@@ -62,10 +62,6 @@
             TPhoneKeyEventMessages aMessage,
             TKeyCode aCode );
 
-        virtual void HandleKeyEventL( 
-            const TKeyEvent& aKeyEvent,
-            TEventCode aEventCode );
-        
     protected:
 
         /**
@@ -87,8 +83,6 @@
         
         virtual void HandleAddedConferenceMemberL( TInt aCallId );
         
-        virtual void UpdateInCallCbaL();
-        
         
      private:
      
--- a/phoneapp/phoneuistates/inc/cphoneconferenceandwaiting.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/inc/cphoneconferenceandwaiting.h	Mon Oct 04 00:16:48 2010 +0300
@@ -62,10 +62,6 @@
             TPhoneKeyEventMessages aMessage,
             TKeyCode aCode );
             
-        virtual void HandleKeyEventL(
-            const TKeyEvent& aKeyEvent,
-            TEventCode aEventCode );
-
         /**
         * Handles user selected UI commands.
         * @param aCommand - selected command
@@ -87,9 +83,6 @@
         */
         virtual void ConstructL();
         
-        virtual void UpdateInCallCbaL();
-        
-        
      private:
      
          void HandleConnectedL( TInt aCallId );
@@ -100,7 +93,7 @@
                   
          void MakeStateTransitionToConferenceAndSingleL( TInt aCallId );
          
-         void HandleDiallingL( TInt aCallId );
+         void HandleDialingL( TInt aCallId );
          
          void HandleWentOneToOneL( TInt aCallId );
          
--- a/phoneapp/phoneuistates/inc/cphoneconferenceandwaitingandcallsetup.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/inc/cphoneconferenceandwaitingandcallsetup.h	Mon Oct 04 00:16:48 2010 +0300
@@ -79,8 +79,6 @@
         * ConstructL()
         */
         virtual void ConstructL();   
-
-        virtual void UpdateInCallCbaL();
         
         virtual void HandleConferenceIdleL();
         
--- a/phoneapp/phoneuistates/inc/cphoneemergency.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/inc/cphoneemergency.h	Mon Oct 04 00:16:48 2010 +0300
@@ -96,8 +96,6 @@
         */ 
         void HandleErrorL( const TPEErrorInfo& aErrorInfo );
         
-        virtual void UpdateInCallCbaL();
-        
         TBool HandleCommandL( TInt aCommand );
         
         void DisconnectEmergencyCallL();
--- a/phoneapp/phoneuistates/inc/cphonegeneralgsmmessageshandler.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/inc/cphonegeneralgsmmessageshandler.h	Mon Oct 04 00:16:48 2010 +0300
@@ -94,13 +94,6 @@
         */
         void SendGlobalInfoNoteL( TInt aResourceId, 
                 TBool aNotificationDialog = EFalse );
-        
-        /**
-        * Shows divert indication or sets internal divert flag
-        * depending in which order we receive Incoming and 
-        * CallForwarded messages.
-        */
-        void HandleIncomingCallForwardedL();
 
         /**
         * Show global ErrorNote
--- a/phoneapp/phoneuistates/inc/cphonegsmincall.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/inc/cphonegsmincall.h	Mon Oct 04 00:16:48 2010 +0300
@@ -90,42 +90,13 @@
         * Bring call handling to foreground when moved to incoming state
         **/        
         void BringIncomingToForegroundL();
-       
-        /**
-        * Get allow waiting call header value.
-        */
-        void AllowShowingOfWaitingCallHeaderL( 
-            TPhoneCmdParamBoolean& aCommandParam );
-        
-        /**
-        * Indicates when the Phone app is in the foreground.
-        */    
-        IMPORT_C void HandlePhoneForegroundEventL();
-        
-        /**
-        * Show hold/connected note 
-        */
-        void HandleHoldNoteL( TInt aCallId, TBool aHold );
-        
-        
-        /**
-        * Setter for divert indication showing in bubble.
-        * @param aDivertIndication ETrue to show divert indication,
-        *        EFalse to not. Usually setting EFalse isn't necessary
-        *        as it's a default value in bubble creation.
-        */
-        IMPORT_C void SetDivertIndication(
-            const TBool aDivertIndication );
-        
+
     private:
     
         void ReplaceCallL();
-        /**
-        * Handles divert indication 
-        */
-        void HandeDivertIndicationL();
+
     };
 
 #endif // CPHONEGSMINCALL_H
 
-// End of File
\ No newline at end of file
+// End of File
--- a/phoneapp/phoneuistates/inc/cphoneincoming.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/inc/cphoneincoming.h	Mon Oct 04 00:16:48 2010 +0300
@@ -90,21 +90,6 @@
         */
         void HandleIncomingL( TInt aCallId );
         
-        /**
-        * Display Incoming Call
-        * @param aCallid call id
-        * @param aCommandParam
-        */
-        void DisplayIncomingCallL( 
-            TInt aCallId, 
-            const TPhoneCmdParamBoolean aCommandParam );
-        
-        /**
-        * Get allow waiting call header value.
-        * @param aCommandParam
-        */
-        void AllowShowingOfWaitingCallHeaderL( 
-            TPhoneCmdParamBoolean& aCommandParam );
     private:
         
         // call id of new waiting call
--- a/phoneapp/phoneuistates/inc/cphonesingleandalerting.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/inc/cphonesingleandalerting.h	Mon Oct 04 00:16:48 2010 +0300
@@ -89,11 +89,6 @@
         */
         void HandleIdleL( TInt aCallId );
         
-        /**
-        * Update InCallCba 
-        */
-        virtual void UpdateInCallCbaL();
-        
     };
 
 #endif // CPhoneSingleAndAlerting_H
--- a/phoneapp/phoneuistates/inc/cphonesingleandcallsetupandwaiting.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/inc/cphonesingleandcallsetupandwaiting.h	Mon Oct 04 00:16:48 2010 +0300
@@ -79,8 +79,6 @@
         * ConstructL()
         */
         virtual void ConstructL();
-        
-        virtual void UpdateInCallCbaL();
             
      private:
      
--- a/phoneapp/phoneuistates/inc/cphonesingleandwaiting.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/inc/cphonesingleandwaiting.h	Mon Oct 04 00:16:48 2010 +0300
@@ -61,8 +61,8 @@
         /**
         * Handles user selected UI commands.
         * @param aCommand - selected command
-        */    
-        TBool HandleCommandL( TInt aCommand );  
+        */
+        TBool HandleCommandL( TInt aCommand );
             
     protected:
 
@@ -96,16 +96,6 @@
             TPhoneKeyEventMessages aMessage,
             TKeyCode aCode );
 
-        virtual void HandleKeyEventL( 
-            const TKeyEvent& aKeyEvent,
-            TEventCode aEventCode );
-        
-        /**
-        * Sets correct in call CBAs.
-        */
-        virtual void UpdateInCallCbaL();
-        
-            
      private:
      
         /**
@@ -142,13 +132,7 @@
         * Handles received dialing message from Phone Engine.
         * @param aCallId - call id that received the event
         */ 
-        void HandleDiallingL( TInt aCallId );
-        
-        /**
-        * Sets up all call setup to display.
-        * @param aCallId - call id to set up
-        */ 
-        void DisplayCallSetupL( TInt aCallId );
+        void HandleDialingL( TInt aCallId );
         
         /**
         *  Handles received EPEMessageDisconnecting message from Phone Engine.
@@ -161,6 +145,11 @@
         */
         void UpdateUiControlsL();
         
+        /**
+         * Updates call bubble and ui commands
+         */
+        void UpdateBubbleAndUICommandsL( TInt aCallId );
+        
     private: //Data
             
         // Store single call id
--- a/phoneapp/phoneuistates/inc/cphonesinglecall.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/inc/cphonesinglecall.h	Mon Oct 04 00:16:48 2010 +0300
@@ -65,7 +65,6 @@
             
         IMPORT_C virtual TBool HandleCommandL( TInt aCommand );
 
-
     protected:
 
         /**
@@ -96,24 +95,13 @@
         
         void HandleIncomingL( TInt aCallId );
         
-        void DisplayIncomingCallL( 
-            TInt aCallId, 
-            const TPhoneCmdParamBoolean aCommandParam );
+        void HandleDialingL( TInt aCallId );
         
-        void HandleDiallingL( TInt aCallId );
-                
-        void DisplayCallSetupL( TInt aCallId );
-        
-        void SwitchToVideoL();
-    
     private:
     
         // Call id information.
         TInt iCallId;
         
-        // Status of query
-        TBool iSwitchToVideoQuery;
-        
     };
 
 #endif // CPHONESINGLECALL_H
--- a/phoneapp/phoneuistates/inc/cphonetwosingles.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/inc/cphonetwosingles.h	Mon Oct 04 00:16:48 2010 +0300
@@ -85,8 +85,6 @@
         
         IMPORT_C virtual void HandleConnectedConferenceL( TInt aCallId );
         
-        IMPORT_C virtual void UpdateInCallCbaL();
-        
         
     private:     
          
@@ -97,11 +95,6 @@
         void HandleHeldL( TInt aCallId );
                 
         void HandleIncomingL( TInt aCallId );
-        
-        void DisplayIncomingCallL( 
-            TInt aCallId, 
-            const TPhoneCmdParamBoolean aCommandParam );  
-        
     };
 
 #endif // CPHONETWOSINGLES_H
--- a/phoneapp/phoneuistates/inc/cphonetwosinglesandwaiting.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/inc/cphonetwosinglesandwaiting.h	Mon Oct 04 00:16:48 2010 +0300
@@ -53,10 +53,6 @@
             TPhoneKeyEventMessages aMessage,
             TKeyCode aCode );
 
-        virtual void HandleKeyEventL( 
-            const TKeyEvent& aKeyEvent,
-            TEventCode aEventCode );
-        
         /**
         * A message handling function for Phone Engine messages
         * @param aMessage Message from Phone Engine
@@ -97,8 +93,6 @@
         
         virtual void HandleConnectedConferenceL( TInt aCallId );
         
-        virtual void UpdateInCallCbaL();
-        
      private:
 
         void HandleIdleL( TInt aCallId );
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/rom/phoneuistates_stub.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,32 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: For packing phoneuistates component.
+;
+; Languages
+&EN
+
+; Header
+#{"phoneuistates"}, (0x101F7C9F), 1, 0, 0, TYPE=SA
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+;Files
+;
+;  phoneuistates
+;
+"" - "z:\sys\bin\phoneuistates.dll"
Binary file phoneapp/phoneuistates/rom/phoneuistates_stub.sis has changed
--- a/phoneapp/phoneuistates/src/cphonealerting.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphonealerting.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -106,9 +106,9 @@
     switch ( aCode )
         {
         case EKeyYes: // send-key
-            if ( IsNumberEntryUsedL() )
+            if ( iNumberEntryManager->IsNumberEntryUsedL() )
                 {
-                CallFromNumberEntryL();
+                iNumberEntryManager->CallFromNumberEntryL();
                 }
             else
                 {
@@ -122,20 +122,13 @@
                 {
                 iStateMachine->SendPhoneEngineMessage(
                     MPEPhoneModel::EPEMessageTerminateAllConnections ); 
-                if ( IsNumberEntryUsedL() )
+                if ( iNumberEntryManager->IsNumberEntryUsedL() )
                     {
                     iViewCommandHandle->ExecuteCommandL( 
                         EPhoneViewRemoveNumberEntry );
                     // Do state-specific operation when number entry is cleared
                     HandleNumberEntryClearedL();
                     }
-                if ( !TopAppIsDisplayedL() )
-                    {
-                    TPhoneCmdParamInteger uidParam;
-                    uidParam.SetInteger( KUidPhoneApplication.iUid );
-                    iViewCommandHandle->ExecuteCommandL(
-                        EPhoneViewBringAppToForeground, &uidParam );
-                    }
                 }
             else // handle short end key
                 {
@@ -220,15 +213,10 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates,
         "CPhoneAlerting::HandleConnectedL()");
-    TPhoneCmdParamBoolean booleanParam;
-    booleanParam.SetBoolean( EFalse );
-    iViewCommandHandle->ExecuteCommandL( 
-        EPhoneViewSetNeedToSendToBackgroundStatus, &booleanParam );
     BeginUiUpdateLC();
     UpdateSingleActiveCallL( aCallId );
-    SetTouchPaneButtons( EPhoneIncallButtons );
+    UpdateUiCommands();
     EndUiUpdate();
-    UpdateCbaL( EPhoneCallHandlingInCallCBA );
     iStateMachine->ChangeState( EPhoneStateSingle );
     }
 
--- a/phoneapp/phoneuistates/src/cphonecallsetup.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphonecallsetup.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -160,14 +160,11 @@
     iViewCommandHandle->ExecuteCommand( EPhoneViewHsToForegroundAfterCall,
         &booleanParam );
     
-    TPhoneCmdParamCallHeaderData callHeaderParam;
-    callHeaderParam.SetCallState( EPEStateConnecting );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId, 
-        &callHeaderParam );
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId);
 
     SetToolbarButtonLoudspeakerEnabled();
+    UpdateUiCommands();
     EndUiUpdate();
-    UpdateCbaL( EPhoneCallHandlingInCallCBA );
     iStateMachine->ChangeState( EPhoneStateAlerting );
     }
 
--- a/phoneapp/phoneuistates/src/cphonecallsetupandwaiting.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphonecallsetupandwaiting.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -138,42 +138,24 @@
 
     if( callStateData.CallId() > KErrNotFound )
         {
-        TPhoneCmdParamCallHeaderData callHeaderParam;
-        callHeaderParam.SetCallState( EPEStateRinging );
-        SetCallHeaderTextsForCallComingInL( callStateData.CallId(), EFalse, &callHeaderParam );
-
         iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble,
-            callStateData.CallId(),
-            &callHeaderParam );
-
-        SetTouchPaneButtons( EPhoneIncomingCallButtons );
-        BringIncomingToForegroundL();
-        iCbaManager->UpdateIncomingCbaL( callStateData.CallId() );
+            callStateData.CallId() );
+        
+        BringIncomingToForegroundL();       
         SetRingingTonePlaybackL( callStateData.CallId() );
+        UpdateUiCommands();
         SetBackButtonActive(EFalse);
         iStateMachine->ChangeState( EPhoneStateIncoming );
         }
     else // waiting call was terminated.
         {
-        CPhoneState::SetTouchPaneButtons( EPhoneCallSetupButtons );
-        UpdateCbaL( EPhoneCallHandlingInCallCBA );
+        UpdateUiCommands();
         iStateMachine->ChangeState( EPhoneStateAlerting );
         }
     EndUiUpdate();
     }
 
 // -----------------------------------------------------------
-// CPhoneCallSetupAndWaiting::UpdateInCallCbaL
-// -----------------------------------------------------------
-//
-void CPhoneCallSetupAndWaiting::UpdateInCallCbaL()
-    {
-    __LOGMETHODSTARTEND( EPhoneControl,
-        "CPhoneCallSetupAndWaiting::UpdateInCallCbaL() ");
-    UpdateCbaL( EPhoneCallHandlingIncomingRejectCBA );
-    }
-
-// -----------------------------------------------------------
 // CPhoneCallSetupAndWaiting::HandleConnectedL
 // -----------------------------------------------------------
 //
@@ -181,21 +163,11 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneCallSetupAndWaiting::HandleConnectedL() ");
     BeginUiUpdateLC();
-    TPhoneCmdParamCallHeaderData callHeaderParam;
-    callHeaderParam.SetCallState( EPEStateConnected );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId,
-        &callHeaderParam );
-    
-    SetTouchPaneButtons( EPhoneWaitingCallButtons );
-    EndUiUpdate();
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId );
     
-    if ( IsNumberEntryUsedL() )
-        {
-        TPhoneCmdParamBoolean booleanParam;
-        booleanParam.SetBoolean( ETrue );
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewSetNumberEntryVisible, &booleanParam );
-        }
-    UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
+    UpdateUiCommands();
+    EndUiUpdate();
+    iNumberEntryManager->SetVisibilityIfNumberEntryUsedL(ETrue);
     iStateMachine->ChangeState( EPhoneStateWaitingInSingle );
     }
 
--- a/phoneapp/phoneuistates/src/cphoneconference.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphoneconference.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -141,31 +141,14 @@
             break;
             
         case MEngineMonitor::EPEMessageHeld:
-            {
-            TPhoneCmdParamCallHeaderData callHeaderParam;
-            callHeaderParam.SetCallState( EPEStateHeld );
-            TBuf<KPhoneCallHeaderLabelMaxLength> labelText( KNullDesC );
-            TInt callLabelId = CPhoneMainResourceResolver::Instance()->
-                    ResolveResourceID( EPhoneCallOnHold );
-
-            StringLoader::Load( labelText, callLabelId, CCoeEnv::Static() );
-            callHeaderParam.SetLabelText( labelText );
-            iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId, 
-                &callHeaderParam );
-            }
-            break;
-            
         case MEngineMonitor::EPEMessageConnected:
             {
-            TPhoneCmdParamCallHeaderData callHeaderParam;
-            callHeaderParam.SetCallState( EPEStateConnected );
-            iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId, 
-                &callHeaderParam );
+            iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId );
             }
             break;
             
         case MEngineMonitor::EPEMessageDialing:
-            HandleDiallingL( aCallId );
+            HandleDialingL( aCallId );
             break;
             
         case MEngineMonitor::EPEMessageIncoming:
@@ -191,9 +174,8 @@
         {   
         case EAknSoftkeyCancel:
             BeginUiUpdateLC();
-            SetTouchPaneButtons( EPhoneConferenceButtons );
+            UpdateUiCommands();
             EndUiUpdate();
-            UpdateCbaL( EPhoneCallHandlingInCallCBA );
             break;
     
         case EPhoneInCallCmdHold:
@@ -219,7 +201,6 @@
         case EPhoneInCallCmdPrivateSelection:
         case EPhoneInCallCmdDropSelection:
         case EPhoneInCallCmdNewCall:
-        case EPhoneInCallCmdNewCallCall:
         case EPhoneInCallCmdParticipants:
             break;
 
@@ -231,15 +212,6 @@
     }
 
 // -----------------------------------------------------------
-// CPhoneConference::UpdateInCallCbaL
-// -----------------------------------------------------------
-//
-void CPhoneConference::UpdateInCallCbaL()
-    {
-    UpdateCbaL( EPhoneCallHandlingInCallCBA );
-    }
-
-// -----------------------------------------------------------
 // CPhoneConference::HandleKeyEventL
 // -----------------------------------------------------------
 //
@@ -269,9 +241,9 @@
     switch ( aCode )
         {
         case EKeyYes: // send-key
-            if( IsNumberEntryVisibleL() )
+            if( iNumberEntryManager->IsNumberEntryVisibleL() )
                 {
-                CallFromNumberEntryL(); 
+                iNumberEntryManager->CallFromNumberEntryL(); 
                 }
             else
                 {
@@ -293,7 +265,7 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneConference::HandleNumberEntryClearedL()");
-    UpdateInCallCbaL();
+    UpdateUiCommands();
     }
 
 // -----------------------------------------------------------
@@ -357,7 +329,7 @@
                 
             if( callStateData.CallId() > KErrNotFound )
                 {
-                UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
+                UpdateUiCommands();
                 iStateMachine->ChangeState( EPhoneStateWaitingInSingle );    
                 }
             else
@@ -385,24 +357,10 @@
 void CPhoneConference::HandleHeldConferenceL( TInt aCallId )
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
-        "CPhoneConference::HandleHeldConferenceL()");
-    TPhoneCmdParamCallHeaderData callHeaderParam;
-    callHeaderParam.SetCallState( EPEStateHeldConference );
-    
-    TInt callLabelId;
-    TBuf<KPhoneCallHeaderLabelMaxLength> labelText( KNullDesC );
-    callLabelId = CPhoneMainResourceResolver::Instance()->
-            ResolveResourceID( EPhoneCallOnHold );
-    StringLoader::Load( 
-        labelText, 
-        callLabelId, 
-        CCoeEnv::Static() );
-    callHeaderParam.SetLabelText( labelText );
- 
+        "CPhoneConference::HandleHeldConferenceL()"); 
     iViewCommandHandle->ExecuteCommandL( 
-        EPhoneViewUpdateBubble, aCallId, &callHeaderParam );
-    SetTouchPaneButtons( EPhoneConferenceButtons );
-    UpdateInCallCbaL();
+        EPhoneViewUpdateBubble, aCallId );
+    UpdateUiCommands();
     }
 
 // -----------------------------------------------------------
@@ -413,29 +371,9 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneConference::HandleConnectedConferenceL()");
-    TPhoneCmdParamCallHeaderData callHeaderParam;
-    callHeaderParam.SetCallState( EPEStateConnectedConference );
-    
-    TBuf<KPhoneCallHeaderLabelMaxLength> conferenceText( KNullDesC );
-    TInt callLabelId = CPhoneMainResourceResolver::Instance()->
-            ResolveResourceID( EPhoneCLIConferenceCall );
-
-    StringLoader::Load( 
-        conferenceText, 
-        callLabelId, 
-        CCoeEnv::Static() );        
-    callHeaderParam.SetLabelText( conferenceText );
- 
     iViewCommandHandle->ExecuteCommandL( 
-        EPhoneViewUpdateBubble, KConferenceCallId, &callHeaderParam );
-
-    // Set Hold flag to view
-    TPhoneCmdParamBoolean holdFlag;
-    holdFlag.SetBoolean( EFalse );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag );
-    
-    SetTouchPaneButtons( EPhoneConferenceButtons );
-    UpdateInCallCbaL();
+        EPhoneViewUpdateBubble, KConferenceCallId );
+    UpdateUiCommands();
     }
 
 // -----------------------------------------------------------
@@ -478,9 +416,8 @@
         iStateMachine->SendPhoneEngineMessage( 
             CPEPhoneModelIF::EPEMessageGoOneToOne );
         BeginUiUpdateLC();
-        SetTouchPaneButtons( EPhoneConferenceButtons );
+        UpdateUiCommands();
         EndUiUpdate();
-        UpdateCbaL( EPhoneCallHandlingInCallCBA );
         }
     }
 
@@ -494,23 +431,16 @@
         "CPhoneConference::MakeStateTransitionToIdleL()");
     SetDefaultFlagsL();
 
-    if ( IsNumberEntryUsedL() )
+    if ( iNumberEntryManager->IsNumberEntryUsedL() )
         {
-        SetNumberEntryVisibilityL(ETrue);
-        }
-    else if ( !TopAppIsDisplayedL() )
-        {
-        
-        // Continue displaying current app but set up the 
-        // idle screen in the background
-        SetupIdleScreenInBackgroundL();
+        iNumberEntryManager->SetNumberEntryVisibilityL(ETrue);
         }
     else
         {
-        DisplayIdleScreenL();
+        RemoveDialogsAndSendPhoneToBackgroundL();
         }
     DisplayCallTerminationNoteL();
-    UpdateCbaL( EPhoneEmptyCBA );
+    UpdateUiCommands();
     iStateMachine->ChangeState( EPhoneStateIdle );
     }
 
@@ -522,12 +452,8 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneConference::MakeStateTransitionToSingleL()");
-    if ( IsNumberEntryUsedL() )
-        {
-        SetNumberEntryVisibilityL(ETrue);
-        }
-    SetTouchPaneButtons( EPhoneIncallButtons );
-    UpdateCbaL( EPhoneCallHandlingInCallCBA );
+    iNumberEntryManager->SetVisibilityIfNumberEntryUsedL(ETrue);
+    UpdateUiCommands();
     iStateMachine->ChangeState( EPhoneStateSingle );
     }
 
@@ -539,13 +465,8 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneConference::MakeStateTransitionToTwoSinglesL()");
-    if ( IsNumberEntryUsedL() )
-        {
-        SetNumberEntryVisibilityL(ETrue);
-        }
-        
-    SetTouchPaneButtons( EPhoneTwoSinglesButtons );
-    UpdateCbaL( EPhoneCallHandlingNewCallSwapCBA );
+    iNumberEntryManager->SetVisibilityIfNumberEntryUsedL(ETrue);
+    UpdateUiCommands();
     iStateMachine->ChangeState( EPhoneStateTwoSingles );
     }
 
@@ -557,46 +478,24 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneConference::ToggleHoldL()");
-
-    iStateMachine->SetCallId( KConferenceCallId );         
+    iStateMachine->SetCallId( KConferenceCallId );
     iStateMachine->SendPhoneEngineMessage( 
         CPEPhoneModelIF::EPEMessageSwapConference );
     }
 
 // -----------------------------------------------------------
-// CPhoneConference::HandleDiallingL
+// CPhoneConference::HandleDialingL
 // -----------------------------------------------------------
 //
-void CPhoneConference::HandleDiallingL( TInt aCallId )
+void CPhoneConference::HandleDialingL( TInt aCallId )
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
-        "CPhoneConference::HandleDiallingL()");
-    BeginUiUpdateLC(); 
-    SetNumberEntryVisibilityL(EFalse);
-    DisplayCallSetupL( aCallId );
-    SetTouchPaneButtons(EPhoneCallSetupAndSingleButtons);
-    EndUiUpdate();
-    UpdateCbaL( EPhoneCallHandlingCallSetupCBA );
+        "CPhoneConference::HandleDialingL()");
+    DisplayCallHeaderL( aCallId, ESetNEVisibilityFalse);
     iStateMachine->ChangeState( EPhoneStateConferenceAndCallSetup );
     }
 
 // -----------------------------------------------------------
-// CPhoneConference::DisplayCallSetupL
-// -----------------------------------------------------------
-//
-void CPhoneConference::DisplayCallSetupL( TInt aCallId )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIStates, 
-        "CPhoneConference::DisplayCallSetupL()");
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewRemovePhoneDialogs );
-    TPhoneCmdParamInteger uidParam;
-    uidParam.SetInteger( KUidPhoneApplication.iUid );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewBringAppToForeground,
-        &uidParam );
-    DisplayHeaderForOutgoingCallL( aCallId );
-    }
-
-// -----------------------------------------------------------
 // CPhoneConference::HandleIncomingL
 // -----------------------------------------------------------
 //
@@ -604,61 +503,11 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneConference::HandleIncomingL()");
-    BeginUiUpdateLC();
-    TPhoneCmdParamBoolean dialerParam;
-    dialerParam.SetBoolean( ETrue );
-    
-    // Get allow waiting call header param value.
-    AllowShowingOfWaitingCallHeaderL( dialerParam );
-    // Close fast swap window if it's displayed
-    CEikonEnv::Static()->DismissTaskList();
-    
-    CheckDisableHWKeysAndCallUIL();
-    DisplayIncomingCallL( aCallId, dialerParam );
-    SetTouchPaneButtons( EPhoneWaitingCallButtons );
-    EndUiUpdate();
-    UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
+    DisplayCallHeaderL( aCallId, ECheckIfNEUsedBeforeSettingVisibilityFalse );
     iStateMachine->ChangeState( EPhoneStateConferenceAndWaiting );
     }
 
 // -----------------------------------------------------------
-// CPhoneConference::DisplayIncomingCallL
-// -----------------------------------------------------------
-//
-void CPhoneConference::DisplayIncomingCallL( 
-    TInt aCallId, 
-    const TPhoneCmdParamBoolean aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIStates, 
-        "CPhoneConference::DisplayIncomingCallL()");
-    // Cannot delete active note, e.g. New call query, 
-    // but show waiting note with or without caller name
-    if ( IsAnyQueryActiveL() || !aCommandParam.Boolean() )
-        {
-        CallWaitingNoteL( aCallId ); 
-        }
-    else
-        {
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewRemovePhoneDialogs );
-        }
-    // Indicate that the Phone needs to be sent to the background if
-    // an application other than the top application is in the foreground
-    TPhoneCmdParamBoolean booleanParam;
-    booleanParam.SetBoolean( !TopAppIsDisplayedL() );
-    iViewCommandHandle->ExecuteCommandL( 
-        EPhoneViewSetNeedToSendToBackgroundStatus,
-        &booleanParam );
-
-    TPhoneCmdParamInteger uidParam;
-    uidParam.SetInteger( KUidPhoneApplication.iUid );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewBringAppToForeground,
-        &uidParam );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetTopApplication,
-        &uidParam );
-    DisplayHeaderForCallComingInL( aCallId, ETrue ); // waiting call 
-    }
-
-// -----------------------------------------------------------
 // CPhoneConference::HandleWentOneToOneL
 // -----------------------------------------------------------
 //
@@ -677,14 +526,10 @@
         &conferenceBubbleExists ); 
     if( conferenceBubbleExists.Boolean() )
         {
-        UpdateCbaL( EPhoneCallHandlingNewCallSwapCBA );
         iStateMachine->ChangeState( EPhoneStateConferenceAndSingle );
-        SetTouchPaneButtons( EPhoneConferenceAndSingleButtons );
         }
-    else
-        {
-        SetTouchPaneButtons( EPhoneTwoSinglesButtons );
-        }
+    
+    UpdateUiCommands();
     EndUiUpdate();
     }
     
@@ -696,18 +541,10 @@
     {
     __PHONELOG1( EBasic, EPhoneUIStates, 
         "CPhoneConference::UpdateConferenceSecurityStatusL() - callId = %d", aCallId );
-    if( !iStateMachine->PhoneEngineInfo()->IsSecureCall( aCallId ) &&
-        iStateMachine->PhoneEngineInfo()->IsSecureCall( KPEConferenceCallID ) )
-        {
-        TPhoneCmdParamCallHeaderData callHeaderParam;
-        callHeaderParam.SetCiphering( EFalse );
-        callHeaderParam.SetCipheringIndicatorAllowed(
-            iStateMachine->PhoneEngineInfo()->SecureSpecified() );
-        iViewCommandHandle->ExecuteCommandL( 
-            EPhoneViewCipheringInfoChange,
-            KPEConferenceCallID,
-            &callHeaderParam );
-        }
+
+    iViewCommandHandle->ExecuteCommandL( 
+        EPhoneViewCipheringInfoChange,
+        KPEConferenceCallID);
     }
 
 // End of File
--- a/phoneapp/phoneuistates/src/cphoneconferenceandcallsetup.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphoneconferenceandcallsetup.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -190,21 +190,11 @@
     iViewCommandHandle->ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled,
         &globalNotifierParam );
     
-    if ( !IsNumberEntryVisibleL() )
-        {
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry );
-        }
+    iNumberEntryManager->RemoveNumberEntryIfVisibilityIsFalseL();
     
-    // Set Hold flag to view EFalse that IHF is on RSK not unhold
-    TPhoneCmdParamBoolean holdFlag;
-    holdFlag.SetBoolean( EFalse );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag );
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId );
     
-    UpdateCbaL( EPhoneCallHandlingInCallCBA );
-    TPhoneCmdParamCallHeaderData callHeaderParam;
-    callHeaderParam.SetCallState( EPEStateConnecting );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId, 
-        &callHeaderParam );
+    UpdateUiCommands();
     EndUiUpdate();        
     }
     
@@ -215,23 +205,13 @@
 void CPhoneConferenceAndCallSetup::HandleConnectedL( TInt aCallId )
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneConferenceAndCallSetup::HandleConnectedL()");
-    TPhoneCmdParamBoolean booleanParam;
-    booleanParam.SetBoolean( EFalse );
-    iViewCommandHandle->ExecuteCommandL( 
-        EPhoneViewSetNeedToSendToBackgroundStatus, &booleanParam );
     BeginUiUpdateLC();
-    TPhoneCmdParamCallHeaderData callHeaderParam;
-    callHeaderParam.SetCallState( EPEStateConnected );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId, 
-        &callHeaderParam );
+
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId );
     
-    if ( !IsNumberEntryVisibleL() )
-        {
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry );
-        }
-    SetTouchPaneButtons( EPhoneConferenceAndSingleButtons );
+    iNumberEntryManager->RemoveNumberEntryIfVisibilityIsFalseL();
+    UpdateUiCommands();
     EndUiUpdate(); 
-    UpdateCbaL ( EPhoneCallHandlingNewCallSwapCBA );
     iStateMachine->ChangeState( EPhoneStateConferenceAndSingle );
     }
 
@@ -286,36 +266,12 @@
         // Remove  outgoing call 
         BeginUiUpdateLC();
         iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId );
-         
-        if ( IsNumberEntryUsedL() )
-            {
-            SetNumberEntryVisibilityL(ETrue);
-            }
-            
-        SetTouchPaneButtons( EPhoneConferenceButtons );
+        iNumberEntryManager->SetVisibilityIfNumberEntryUsedL( ETrue );
+        UpdateUiCommands();
         EndUiUpdate();
-        UpdateCbaL( EPhoneCallHandlingInCallCBA );
         iStateMachine->ChangeState( EPhoneStateConference );
         }
     }
-   
-    
-// -----------------------------------------------------------
-// CPhoneConferenceAndCallSetup::UpdateInCallCbaL
-// -----------------------------------------------------------
-//
-void CPhoneConferenceAndCallSetup::UpdateInCallCbaL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneConferenceAndCallSetup::UpdateInCallCbaL() ");
-    if ( iAlerting )
-        {
-        UpdateCbaL( EPhoneCallHandlingInCallCBA );
-        }
-    else
-        {
-        UpdateCbaL( EPhoneCallHandlingCallSetupCBA );
-        }
-    } 
 
 // -----------------------------------------------------------
 // CPhoneConferenceAndCallSetup:HandleConferenceIdleL
@@ -334,17 +290,13 @@
 
     if ( callStateData.CallId() > KErrNotFound )
         {
-        // Set Hold flag to view EFalse that dtmf menu item not delete
-        TPhoneCmdParamBoolean holdFlag;
-        holdFlag.SetBoolean( EFalse );
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag );
         // Go to alerting and single state
-        UpdateCbaL( EPhoneCallHandlingInCallCBA );
+        UpdateUiCommands();
         iStateMachine->ChangeState( EPhoneStateAlertingInSingle );     
         }
     else
         {
-        UpdateCbaL( EPhoneCallHandlingCallSetupCBA );
+        UpdateUiCommands();
         iStateMachine->ChangeState( EPhoneStateCallSetupInSingle );
         }
     }
--- a/phoneapp/phoneuistates/src/cphoneconferenceandsingle.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphoneconferenceandsingle.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -154,7 +154,7 @@
                     
         case EAknSoftkeyCancel:
             commandStatus = CPhoneConference::HandleCommandL( aCommand );
-            SetTouchPaneButtons( EPhoneConferenceAndHeldSingleButtons );
+            UpdateUiCommands();
             break;
             
         case EPhoneInCallCmdJoin:
@@ -178,31 +178,13 @@
 //
 void CPhoneConferenceAndSingle::HandleConnectedConferenceL()
     {
-    __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneConferenceAndSingle::HandleConnectedConferenceL");
-    TPhoneCmdParamCallHeaderData callHeaderParam;
-    callHeaderParam.SetCallState( EPEStateConnectedConference );
-
-    TBuf<KPhoneCallHeaderLabelMaxLength> conferenceText( KNullDesC );
-    TInt callLabelId = CPhoneMainResourceResolver::Instance()->
-            ResolveResourceID( EPhoneCLIConferenceCall );
-
-    StringLoader::Load( 
-        conferenceText, 
-        callLabelId, 
-        CCoeEnv::Static() );        
-    callHeaderParam.SetLabelText( conferenceText );
-            
-    // Conference call is no longer on hold
-    TPhoneCmdParamBoolean holdFlag;
-    holdFlag.SetBoolean( EFalse );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag );
-    
+    __LOGMETHODSTARTEND( EPhoneUIStates, 
+            "CPhoneConferenceAndSingle::HandleConnectedConferenceL");
     BeginUiUpdateLC();
     iViewCommandHandle->ExecuteCommandL( 
-        EPhoneViewUpdateBubble, KConferenceCallId, &callHeaderParam );
-    
-    SetTouchPaneButtons( EPhoneConferenceAndHeldSingleButtons );
-    UpdateInCallCbaL();
+        EPhoneViewUpdateBubble, 
+        KConferenceCallId );
+    UpdateUiCommands();
     EndUiUpdate();
     }
 
@@ -215,23 +197,11 @@
 void CPhoneConferenceAndSingle::HandleHeldConferenceL()
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneConferenceAndSingle::HandleHeldConferenceL");
-    TPhoneCmdParamCallHeaderData callHeaderParam;
-    callHeaderParam.SetCallState( EPEStateHeldConference );
-    TInt callLabelId;
-    TBuf<KPhoneCallHeaderLabelMaxLength> labelText( KNullDesC );
-    callLabelId = CPhoneMainResourceResolver::Instance()->
-            ResolveResourceID( EPhoneCallOnHold );
-    StringLoader::Load( 
-        labelText, 
-        callLabelId, 
-        CCoeEnv::Static() );        
-    callHeaderParam.SetLabelText( labelText );
     BeginUiUpdateLC();
     
     iViewCommandHandle->ExecuteCommandL( 
-        EPhoneViewUpdateBubble, KConferenceCallId, &callHeaderParam );
-    SetTouchPaneButtons( EPhoneConferenceAndSingleButtons );
-    
+        EPhoneViewUpdateBubble, KConferenceCallId );
+    UpdateUiCommands();
     EndUiUpdate();
     }
 
@@ -242,12 +212,8 @@
 void CPhoneConferenceAndSingle::HandleConnectedL( TInt aCallId )
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneConferenceAndSingle::HandleConnectedL");
-    TPhoneCmdParamCallHeaderData callHeaderParam;
-    callHeaderParam.SetCallState( EPEStateConnected );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId, 
-        &callHeaderParam );
-    UpdateInCallCbaL();
-    SetTouchPaneButtons( EPhoneConferenceButtons );
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId );
+    UpdateUiCommands();
     }
 
 // -----------------------------------------------------------
@@ -257,20 +223,8 @@
 void CPhoneConferenceAndSingle::HandleHeldL( TInt aCallId )
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneConferenceAndSingle::HandleHeldL");
-    TPhoneCmdParamCallHeaderData callHeaderParam;
-    callHeaderParam.SetCallState( EPEStateHeld );
-    
-    TBuf<KPhoneCallHeaderLabelMaxLength> labelText( KNullDesC );
-    TInt callLabelId = CPhoneMainResourceResolver::Instance()->
-            ResolveResourceID( EPhoneCallOnHold );
-    StringLoader::Load( 
-        labelText, 
-        callLabelId, 
-        CCoeEnv::Static() );        
-    callHeaderParam.SetLabelText( labelText );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId, 
-        &callHeaderParam );
-    SetTouchPaneButtons( EPhoneConferenceButtons );
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId );
+    UpdateUiCommands();
     }
 
 // -----------------------------------------------------------
@@ -283,23 +237,12 @@
     BeginUiUpdateLC();
     iViewCommandHandle->ExecuteCommandL( EPhoneViewAddToConference );
     UpdateConferenceSecurityStatusL( aCallId );
-    SetTouchPaneButtons( EPhoneConferenceButtons );
+    UpdateUiCommands();
     EndUiUpdate();
-    UpdateCbaL( EPhoneCallHandlingInCallCBA );
     iStateMachine->ChangeState( EPhoneStateConference );
     }
 
 // -----------------------------------------------------------
-// CPhoneConferenceAndSingle::UpdateInCallCbaL
-// -----------------------------------------------------------
-//
-void CPhoneConferenceAndSingle::UpdateInCallCbaL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneConferenceAndSingle::UpdateInCallCbaL() ");
-    UpdateCbaL ( EPhoneCallHandlingNewCallSwapCBA );
-    }
-
-// -----------------------------------------------------------
 // CPhoneConferenceAndSingle::HandleIncomingL
 // -----------------------------------------------------------
 //
@@ -307,21 +250,7 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneConferenceAndSingle::HandleIncomingL");
-    BeginUiUpdateLC(); 
-    
-    TPhoneCmdParamBoolean dialerParam;
-    dialerParam.SetBoolean( ETrue );
-    AllowShowingOfWaitingCallHeaderL( dialerParam );
-    
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewCloseFSW );
-    
-    CheckDisableHWKeysAndCallUIL();
-    DisplayIncomingCallL( aCallId, dialerParam  );
-    SetTouchPaneButtons( EPhoneWaitingCallButtons );
-    
-    EndUiUpdate();
-    
-    UpdateCbaL( EPhoneCallHandlingIncomingRejectCBA );
+    DisplayCallHeaderL( aCallId, ECheckIfNEUsedBeforeSettingVisibilityFalse );
     iStateMachine->ChangeState( EPhoneStateConferenceAndSingleAndWaiting );
     }
 
@@ -346,8 +275,7 @@
         {
         BeginUiUpdateLC(); 
         iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId );
-        SetTouchPaneButtons( EPhoneConferenceButtons );
-        UpdateCbaL( EPhoneCallHandlingInCallCBA );
+        UpdateUiCommands();
         EndUiUpdate();
         iStateMachine->ChangeState( EPhoneStateConference );
         }
@@ -391,7 +319,7 @@
     switch ( aCode )
         {
         case EKeyYes: // send-key
-            if( IsNumberEntryVisibleL() )
+            if( iNumberEntryManager->IsNumberEntryVisibleL() )
                 {
                 HandleSendL();
                 }
@@ -426,7 +354,7 @@
     if ( iStateMachine->PhoneEngineInfo()->PhoneNumberIsServiceCode() || 
          phoneNumber->Des().Length() < KPhoneValidPhoneNumberLength )
         {
-        CallFromNumberEntryL();
+        iNumberEntryManager->CallFromNumberEntryL();
         }
     else
         {
--- a/phoneapp/phoneuistates/src/cphoneconferenceandsingleandwaiting.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphoneconferenceandsingleandwaiting.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -126,7 +126,7 @@
     __LOGMETHODSTARTEND( EPhoneUIStates,
         "CPhoneConferenceAndSingleAndWaiting::HandleIdleL()");
     BeginUiUpdateLC();
-    SetTouchPaneButtons( EPhoneWaitingCallButtons );
+    UpdateUiCommands();
 
     TPhoneCmdParamBoolean conferenceExistsForCallId;
     iViewCommandHandle->ExecuteCommandL( EPhoneViewGetCallExistsInConference,
@@ -190,9 +190,7 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates,
         "CPhoneConferenceAndSingleAndWaiting::MakeStateTransitionToConferenceAndWaitingL()");
-    SetTouchPaneButtons( EPhoneWaitingCallButtons );
-    CheckDisableHWKeysAndCallUIL();
-    UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
+    UpdateUiCommands();
     iStateMachine->ChangeState( EPhoneStateConferenceAndWaiting );
     }
 
@@ -205,35 +203,8 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates,
         "CPhoneConferenceAndSingleAndWaiting::MakeStateTransitionToConferenceAndSingleL()");
-    if( iStateMachine->PhoneStorage()->IsScreenLocked() )
-        {
-        EnableCallUIL();
-        }
-    iStateMachine->PhoneStorage()->ResetBlockedKeysList();
-
-    if ( IsNumberEntryUsedL() )
-        {
-        if ( NeedToSendToBackgroundL() )
-            {
-            iViewCommandHandle->ExecuteCommandL( EPhoneViewSendToBackground );
-            UpdateCbaL( EPhoneCallHandlingInCallCBA );
-            }
-        else
-            {
-            SetNumberEntryVisibilityL(ETrue);
-            }
-        }
-    else
-        {
-        UpdateCbaL( EPhoneCallHandlingNewCallSwapCBA );
-        // If numberentry is not open just check NeedToSendToBackgroundL and
-        // sendbackround if needed.
-        if ( NeedToSendToBackgroundL() )
-            {
-            iViewCommandHandle->ExecuteCommandL( EPhoneViewSendToBackground );
-            }
-        }
-    SetTouchPaneButtons( EPhoneConferenceAndSingleButtons );
+    iNumberEntryManager->SetVisibilityIfNumberEntryUsedL( ETrue );
+    UpdateUiCommands();
     iStateMachine->ChangeState( EPhoneStateConferenceAndSingle );
     }
 
@@ -265,9 +236,9 @@
     switch ( aCode )
         {
         case EKeyYes: // send-key
-            if( IsNumberEntryVisibleL() )
+            if( iNumberEntryManager->IsNumberEntryVisibleL() )
                 {
-                CallFromNumberEntryL();
+                iNumberEntryManager->CallFromNumberEntryL();
                 }
             else
                 {
@@ -283,32 +254,6 @@
     }
 
 // -----------------------------------------------------------
-// CPhoneConferenceAndSingleAndWaiting::HandleKeyEventL
-// -----------------------------------------------------------
-//
-void CPhoneConferenceAndSingleAndWaiting::HandleKeyEventL(
-    const TKeyEvent& aKeyEvent,
-    TEventCode /*aEventCode*/ )
-    {
-    if( EKeyDeviceF == aKeyEvent.iCode )
-        {
-        __PHONELOG( EBasic, EPhoneUIStates,
-            "CPhoneConferenceAndSingleAndWaiting::HandleKeyMessageL-deviceF" );
-        HandleHoldSwitchL();
-        }
-    }
-
-// -----------------------------------------------------------
-// CPhoneConferenceAndSingleAndWaiting::UpdateInCallCbaL
-// -----------------------------------------------------------
-//
-void CPhoneConferenceAndSingleAndWaiting::UpdateInCallCbaL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneConferenceAndSingleAndWaiting::UpdateInCallCbaL() ");
-    UpdateCbaL ( EPhoneCallHandlingCallWaitingCBA );
-    }
-
-// -----------------------------------------------------------
 // CPhoneConferenceAndSingleAndWaiting::MakeTransitionAccordingToActiveCallsL
 // -----------------------------------------------------------
 //
@@ -327,42 +272,30 @@
                 &callStateData );
             if ( callStateData.CallId() != KErrNotFound )
                 {
-                TPhoneCmdParamCallHeaderData callHeaderParam;
-                callHeaderParam.SetCallState( EPEStateRinging );
-                SetCallHeaderTextsForCallComingInL( callStateData.CallId(), EFalse, &callHeaderParam );
-
                 iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble,
-                    callStateData.CallId(),
-                    &callHeaderParam );
+                    callStateData.CallId() );
                 
-                iCbaManager->UpdateIncomingCbaL( callStateData.CallId() );
-                CheckDisableHWKeysAndCallUIL();
-                SetTouchPaneButtons( EPhoneIncomingCallButtons );
                 SetRingingTonePlaybackL( callStateData.CallId() );
+                UpdateUiCommands();
                 SetBackButtonActive(EFalse);
                 iStateMachine->ChangeState( EPhoneStateIncoming );
                 }
             else
                 {
                 SetDefaultFlagsL();
-                UpdateCbaL( EPhoneEmptyCBA );
                 iStateMachine->ChangeState( EPhoneStateIdle );
                 }
             }
             break;
          case EOneActiveCall: // Go to Single And Waiting state
             {
-            UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
-            SetTouchPaneButtons( EPhoneWaitingCallButtons );
-            CheckDisableHWKeysAndCallUIL();
+            UpdateUiCommands();
             iStateMachine->ChangeState( EPhoneStateWaitingInSingle );
             }
             break;
          case ETwoActiveCalls: // Go to Two Singles And Waiting state
             {
-            UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
-            CheckDisableHWKeysAndCallUIL();
-            SetTouchPaneButtons( EPhoneWaitingCallButtons );
+            UpdateUiCommands();
             iStateMachine->ChangeState( EPhoneStateTwoSinglesAndWaiting );
             }
             break;
--- a/phoneapp/phoneuistates/src/cphoneconferenceandwaiting.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphoneconferenceandwaiting.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -118,7 +118,7 @@
             break;
             
         case MEngineMonitor::EPEMessageDialing:
-            HandleDiallingL( aCallId );
+            HandleDialingL( aCallId );
             break;
             
         case MEngineMonitor::EPEMessageConferenceIdle:
@@ -133,7 +133,7 @@
         case MEngineMonitor::EPEMessageConnectedConference:
             {
             TPhoneCmdParamInteger callIdParam;
-            iViewCommandHandle->ExecuteCommandL( 
+            iViewCommandHandle->ExecuteCommand( 
                         EPhoneViewGetExpandedBubbleCallId, &callIdParam );
             CPhoneConference::HandlePhoneEngineMessageL( aMessage, 
                             aCallId );
@@ -163,9 +163,9 @@
     switch ( aCode )
         {
         case EKeyYes:  // send-key
-            if( IsNumberEntryVisibleL() )
+            if( iNumberEntryManager->IsNumberEntryVisibleL() )
                 {
-                CallFromNumberEntryL();
+                iNumberEntryManager->CallFromNumberEntryL();
                 }
             else
                 {
@@ -180,21 +180,6 @@
         }
     }
 
-// -----------------------------------------------------------
-// CPhoneConferenceAndWaiting::HandleKeyEventL
-// -----------------------------------------------------------
-//
-void CPhoneConferenceAndWaiting::HandleKeyEventL(
-    const TKeyEvent& aKeyEvent,
-    TEventCode /*aEventCode*/ )
-    {
-    if( EKeyDeviceF == aKeyEvent.iCode )
-        {
-        __PHONELOG( EBasic, EPhoneUIStates,
-            "CPhoneConferenceAndWaiting::HandleKeyMessageL-deviceF" );
-        HandleHoldSwitchL();
-        }
-    }
 
 // -----------------------------------------------------------
 // CPhoneConferenceAndWaiting::HandleConnectedL
@@ -221,10 +206,7 @@
     else
         {
         // member of conference call which is on hold
-        TPhoneCmdParamCallHeaderData callHeaderParam;
-        callHeaderParam.SetCallState( EPEStateConnected );
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId, 
-            &callHeaderParam );
+        iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId );
         }   
     }
 
@@ -235,37 +217,14 @@
 void CPhoneConferenceAndWaiting::MakeStateTransitionToConferenceAndSingleL( TInt aCallId )
     {
     __LOGMETHODSTARTEND(EPhoneUIStates, "CPhoneConferenceAndWaiting::MakeStateTransitionToConferenceAndSingleL()");
-    if( FeatureManager::FeatureSupported( KFeatureIdFfTouchUnlockStroke )
-        && iStateMachine->PhoneStorage()->IsScreenLocked() )
-        {
-        EnableCallUIL();
-        }
-    
-    iStateMachine->PhoneStorage()->ResetBlockedKeysList();
+
     BeginUiUpdateLC();
     UpdateRemoteInfoDataL ( aCallId );
     
-    TPhoneCmdParamCallHeaderData callHeaderParam;
-    callHeaderParam.SetCallState( EPEStateConnected );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId, 
-        &callHeaderParam );
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId );
     
-    if ( IsNumberEntryUsedL() )
-        {
-        if ( NeedToSendToBackgroundL() )
-            {
-            UpdateCbaL( EPhoneCallHandlingInCallCBA );
-            }
-        else
-            {
-            SetNumberEntryVisibilityL(ETrue);
-            }
-        }
-    else
-        {
-        UpdateCbaL( EPhoneCallHandlingNewCallSwapCBA );
-        }
-    SetTouchPaneButtons( EPhoneConferenceAndSingleButtons );
+    iNumberEntryManager->SetVisibilityIfNumberEntryUsedL( ETrue );
+    UpdateUiCommands();
     EndUiUpdate();
     iStateMachine->ChangeState( EPhoneStateConferenceAndSingle );
     }
@@ -291,38 +250,9 @@
         
         BeginUiUpdateLC();
         iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId );
-            
-        if ( IsNumberEntryUsedL() )
-            {
-            if ( NeedToSendToBackgroundL() )
-                {
-                iViewCommandHandle->ExecuteCommandL( EPhoneViewSendToBackground );
-                UpdateCbaL( EPhoneCallHandlingInCallCBA );
-                }
-            else
-                {
-                SetNumberEntryVisibilityL(ETrue);
-                }
-            }
-        else
-            {
-            UpdateCbaL( EPhoneCallHandlingInCallCBA );
-            // If numberentry is not open just check NeedToSendToBackgroundL and 
-            // sendbackround if needed.
-            if ( NeedToSendToBackgroundL() )
-                {
-                // Return phone to the background if send to background is needed.
-                iViewCommandHandle->ExecuteCommandL( EPhoneViewSendToBackground );
-                }
-            }
+        iNumberEntryManager->SetVisibilityIfNumberEntryUsedL(ETrue);
         
-        if( FeatureManager::FeatureSupported( KFeatureIdFfTouchUnlockStroke ) 
-            && iStateMachine->PhoneStorage()->IsScreenLocked() )
-            {
-            EnableCallUIL();
-            }
-        iStateMachine->PhoneStorage()->ResetBlockedKeysList();
-        SetTouchPaneButtons( EPhoneConferenceButtons );
+        UpdateUiCommands();
         EndUiUpdate();
         iStateMachine->ChangeState( EPhoneStateConference );
         }
@@ -358,53 +288,33 @@
     switch( activeCallCount.Integer() )
         {
         case ENoActiveCalls: // Go to incoming state
-            {
-            TPhoneCmdParamCallHeaderData callHeaderParam;
-            callHeaderParam.SetCallState( EPEStateRinging );
-            
-            // Set Hold flag to view
-            TPhoneCmdParamBoolean holdFlag;
-            holdFlag.SetBoolean( EFalse );
-            iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag );
-              
+            {           
             BringIncomingToForegroundL(); 
-            SetCallHeaderTextsForCallComingInL( iRingingCallId, EFalse, &callHeaderParam );
             iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, 
-                iRingingCallId ,&callHeaderParam );
-            iCbaManager->UpdateIncomingCbaL( iRingingCallId );
+                iRingingCallId );
             
-            if ( IsNumberEntryVisibleL() )
+            if ( iNumberEntryManager->IsNumberEntryVisibleL() )
                 {
-                SetNumberEntryVisibilityL(EFalse);   
+                iNumberEntryManager->SetNumberEntryVisibilityL(EFalse);   
                 }
-            CheckDisableHWKeysAndCallUIL();
             
-            SetTouchPaneButtons( EPhoneIncomingCallButtons );
             SetRingingTonePlaybackL( iRingingCallId );
+            UpdateUiCommands();
             SetBackButtonActive(EFalse);
             iStateMachine->ChangeState( EPhoneStateIncoming );
             }
             break;
             
         case EOneActiveCall:
-            if ( IsNumberEntryUsedL() )
-                {
-                SetNumberEntryVisibilityL(ETrue);
-                }
-            UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
-            CheckDisableHWKeysAndCallUIL();
-            SetTouchPaneButtons( EPhoneWaitingCallButtons );
+            iNumberEntryManager->SetVisibilityIfNumberEntryUsedL( ETrue );
+            UpdateUiCommands();
             iStateMachine->ChangeState( EPhoneStateWaitingInSingle );
             break;
             
         case ETwoActiveCalls:
-            if ( IsNumberEntryUsedL() )
-                {
-                SetNumberEntryVisibilityL(ETrue);
-                }
-            UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
-            CheckDisableHWKeysAndCallUIL();
-            SetTouchPaneButtons( EPhoneWaitingCallButtons );
+            iNumberEntryManager->SetVisibilityIfNumberEntryUsedL( ETrue );
+
+            UpdateUiCommands();
             iStateMachine->ChangeState( EPhoneStateTwoSinglesAndWaiting );
             break; 
             
@@ -419,29 +329,14 @@
     }
 
 // -----------------------------------------------------------
-// CPhoneConferenceAndWaiting::UpdateInCallCbaL
-// -----------------------------------------------------------
-//
-void CPhoneConferenceAndWaiting::UpdateInCallCbaL()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneConferenceAndWaiting::UpdateInCallCbaL() ");
-    UpdateCbaL ( EPhoneCallHandlingCallWaitingCBA );
-    }
-
-// -----------------------------------------------------------
 // CPhoneConferenceAndWaiting::HandleDiallingL
 // -----------------------------------------------------------
 //
-void CPhoneConferenceAndWaiting::HandleDiallingL( TInt aCallId )
+void CPhoneConferenceAndWaiting::HandleDialingL( TInt aCallId )
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
-        "CPhoneConferenceAndWaiting::HandleDiallingL()");
-    BeginUiUpdateLC();
-    SetNumberEntryVisibilityL(EFalse);
-    DisplayCallSetupL( aCallId );
-    SetTouchPaneButtons( EPhoneCallSetupButtons );
-    EndUiUpdate();
-    UpdateCbaL( EPhoneCallHandlingCallSetupCBA );
+        "CPhoneConferenceAndWaiting::HandleDialingL()");
+    DisplayCallHeaderL( aCallId, ESetNEVisibilityFalse );
     iStateMachine->ChangeState( EPhoneStateConferenceAndWaitingAndCallSetup );
     }
 
@@ -472,8 +367,7 @@
     if( conferenceBubbleExists.Boolean() && 
         ( iRingingCallId != KErrNotFound ) )
         {
-        SetTouchPaneButtons( EPhoneWaitingCallButtons );
-        UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
+        UpdateUiCommands();
         iStateMachine->ChangeState( EPhoneStateConferenceAndSingleAndWaiting );  
         }
     EndUiUpdate();
@@ -509,7 +403,7 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneConferenceAndWaiting::UpdateUiControlsL( ) ");
     iViewCommandHandle->ExecuteCommand(EPhoneSetConferenceExpanded);
-    UpdateCbaL( EPhoneCallHandlingInCallCBA );
+    UpdateUiCommands();
     }
 
 // End of File
--- a/phoneapp/phoneuistates/src/cphoneconferenceandwaitingandcallsetup.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphoneconferenceandwaitingandcallsetup.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -153,9 +153,9 @@
     switch ( aCode )
         {
         case EKeyYes: // send-key
-            if( IsNumberEntryVisibleL() )
+            if( iNumberEntryManager->IsNumberEntryVisibleL() )
                  {
-                CallFromNumberEntryL();
+                 iNumberEntryManager->CallFromNumberEntryL();
                  }
              else
                  {
@@ -174,24 +174,6 @@
     }
 
 // -----------------------------------------------------------
-// CPhoneConferenceAndWaitingAndCallSetup::UpdateInCallCbaL
-// -----------------------------------------------------------
-//
-void CPhoneConferenceAndWaitingAndCallSetup::UpdateInCallCbaL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, 
-        "CPhoneConferenceAndWaitingAndCallSetup::SetCallSetupCbaL() "); 
-    if ( iAlerting )
-        {
-        UpdateCbaL ( EPhoneCallHandlingCallWaitingCBA );
-        }
-    else
-        {
-        UpdateCbaL( EPhoneCallHandlingCallSetupCBA );
-        }
-    }
-
-// -----------------------------------------------------------
 // CPhoneConferenceAndWaitingAndCallSetup::HandleConnectingL
 // -----------------------------------------------------------
 //
@@ -208,18 +190,12 @@
     iViewCommandHandle->ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled,
         &globalNotifierParam );
     
-    TPhoneCmdParamCallHeaderData callHeaderParam;
-    callHeaderParam.SetCallState( EPEStateConnecting );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId, 
-        &callHeaderParam );
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId );
         
-    if ( !IsNumberEntryVisibleL() )
-        {
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry );
-        }
-    
+    iNumberEntryManager->RemoveNumberEntryIfVisibilityIsFalseL();
+
+    UpdateUiCommands();
     EndUiUpdate();
-    UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
     }
 
 // -----------------------------------------------------------
@@ -232,20 +208,13 @@
         "CPhoneConferenceAndWaitingAndCallSetup::HandleConnectedL");
     BeginUiUpdateLC();
     UpdateRemoteInfoDataL ( aCallId );
-    
-    TPhoneCmdParamCallHeaderData callHeaderParam;
-    callHeaderParam.SetCallState( EPEStateConnected );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId, 
-        &callHeaderParam );
+
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId );
     
-    if ( !IsNumberEntryVisibleL() )
-        {
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry );
-        }
+    iNumberEntryManager->RemoveNumberEntryIfVisibilityIsFalseL();
     
-    SetTouchPaneButtons( EPhoneWaitingCallButtons );
+    UpdateUiCommands();
     EndUiUpdate();
-    UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );  
     iStateMachine->ChangeState( EPhoneStateConferenceAndSingleAndWaiting );
     }
 
@@ -256,8 +225,8 @@
 void CPhoneConferenceAndWaitingAndCallSetup::UpdateConnectingCbaL()
     {
     __LOGMETHODSTARTEND(EPhoneControl, 
-        "CPhoneConferenceAndCallSetup::UpdateInCallCbaL() ");
-    UpdateCbaL( EPhoneCallHandlingInCallCBA );
+        "CPhoneConferenceAndCallSetup::UpdateConnectingCbaL() ");
+    UpdateUiCommands();
     } 
     
 // -----------------------------------------------------------
@@ -270,10 +239,7 @@
         "CPhoneConferenceAndWaitingAndCallSetup::HandleConferenceIdleL");
     BeginUiUpdateLC();
     iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveConferenceBubble );
-    if ( IsNumberEntryUsedL() )
-        {
-        SetNumberEntryVisibilityL(ETrue);
-        }
+    iNumberEntryManager->SetVisibilityIfNumberEntryUsedL(ETrue);
 
     TPhoneCmdParamCallStateData callStateData;
     callStateData.SetCallState( EPEStateConnected );
@@ -282,7 +248,7 @@
  
     if( callStateData.CallId() > KErrNotFound ) //  No need update cba's. 
         {        
-        SetTouchPaneButtons( EPhoneCallSetupButtons );
+        UpdateUiCommands();
         iStateMachine->ChangeState( EPhoneStateSingleAndCallSetupAndWaiting );
         }
     else 
@@ -291,19 +257,14 @@
         iViewCommandHandle->HandleCommandL( EPhoneViewGetCallIdByState,
             &callStateData );
         
+        UpdateUiCommands();
+        
         if( callStateData.CallId() > KErrNotFound )
-            {
-            SetTouchPaneButtons( EPhoneCallSetupButtons ); 
+            {     
             iStateMachine->ChangeState( EPhoneStateSingleAndCallSetupAndWaiting );
             }
         else
             {
-            // Reset Hold flag to view
-            TPhoneCmdParamBoolean holdFlag;
-            holdFlag.SetBoolean( EFalse );
-            iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag );
-
-            SetTouchPaneButtons( EPhoneCallSetupButtons ); 
             iStateMachine->ChangeState( EPhoneStateCallSetupAndWaiting );
             }
         }
@@ -355,20 +316,15 @@
                 &callStateData );
             if( callStateData.CallId() > KErrNotFound )
                 { 
-                if ( IsNumberEntryUsedL() )
-                    {
-                    // Show the number entry if callsetup failed with number busy
-                    // etc reason.
-                    SetNumberEntryVisibilityL(ETrue);
-                    }
-                SetTouchPaneButtons( EPhoneWaitingCallButtons );
-                UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
+                // Show the number entry if callsetup failed with number busy
+                // etc reason.
+                iNumberEntryManager->SetVisibilityIfNumberEntryUsedL(ETrue);
+                UpdateUiCommands();
                 iStateMachine->ChangeState( EPhoneStateConferenceAndWaiting );
                 }
             else
                 {
-                SetTouchPaneButtons( EPhoneCallSetupButtons );
-                UpdateCbaL( EPhoneCallHandlingInCallCBA );
+                UpdateUiCommands();
                 iStateMachine->ChangeState( EPhoneStateConferenceAndCallSetup );
                 }
             EndUiUpdate();
--- a/phoneapp/phoneuistates/src/cphoneemergency.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphoneemergency.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -23,7 +23,7 @@
 #include <featmgr.h>
 #include <cpephonemodelif.h>
 #include <mpeengineinfo.h>
-#include <AknUtils.h>
+
 
 #include "cphoneemergency.h"
 #include "tphonecmdparamstring.h"
@@ -109,7 +109,7 @@
     {
     __LOGMETHODSTARTEND(EPhoneUIStates,
         "CPhoneEmergency::HandleNumberEntryClearedL()");
-    UpdateInCallCbaL();
+    UpdateUiCommands();
     }
 
 // -----------------------------------------------------------
@@ -213,6 +213,8 @@
         iViewCommandHandle->ExecuteCommand( 
                 EPhoneViewStopCapturingKey, &captureParam );
 
+        SetBackButtonActive(ETrue);
+        
         const TBool isSimStateNotPresentWithSecurityMode = IsSimStateNotPresentWithSecurityModeEnabled();
         // Sim IS not ok when making emergency call from Pin query, no note
         if ( (!IsSimOk() && !iStartupInterrupted) || isSimStateNotPresentWithSecurityMode )
@@ -221,21 +223,22 @@
             }
         else
             {
-            if ( !TopAppIsDisplayedL() || iDeviceLockOn  )
+            if ( iDeviceLockOn  )
                 {
                 // Continue displaying current app but set up the
                 // idle screen in the background
-                SetupIdleScreenInBackgroundL();
+                RemoveDialogsAndSendPhoneToBackgroundL();
                 }
 
-            else if ( IsNumberEntryContentStored() || IsNumberEntryUsedL() )
+            else if ( iNumberEntryManager->IsNumberEntryContentStored() || 
+                    iNumberEntryManager->IsNumberEntryUsedL() )
                 {
-                SetNumberEntryVisibilityL(ETrue);
+                iNumberEntryManager->SetNumberEntryVisibilityL(ETrue);
                 }
             
             else
                 {
-                DisplayIdleScreenL();
+                RemoveDialogsAndSendPhoneToBackgroundL();
                 }
 
             if ( iConnected )
@@ -259,17 +262,16 @@
                 }
             
             // As long as security note is not shown with feature flag 
-            // KFeatureIdFfSimlessOfflineSupport undef it is ok to do SetupIdleScreenInBackgroundL.
-            if ( ( !IsNumberEntryUsedL() ) && 
+            // KFeatureIdFfSimlessOfflineSupport undef it is ok to do RemoveDialogsAndSendPhoneToBackgroundL.
+            if ( ( !iNumberEntryManager->IsNumberEntryUsedL() ) && 
                  !( IsSimStateNotPresentWithSecurityModeEnabled() && 
                     !FeatureManager::FeatureSupported( KFeatureIdFfSimlessOfflineSupport ) ) )
                 {
-                UpdateCbaL( EPhoneEmptyCBA );
                 TPhoneCmdParamBoolean securityMode;
                 iViewCommandHandle->ExecuteCommandL( EPhoneViewGetSecurityModeStatus, &securityMode );
                 if ( !securityMode.Boolean() )
                     {
-                    SetupIdleScreenInBackgroundL();
+                    RemoveDialogsAndSendPhoneToBackgroundL();
                     }
                 }
             iStateMachine->ChangeState( EPhoneStateIdle );
@@ -307,21 +309,8 @@
         captureParam.SetKeyCode( EKeyNo );
         iViewCommandHandle->ExecuteCommand( EPhoneViewStartCapturingKey, &captureParam );
         
-        // Indicate that the Phone needs to be sent to the background if
-        // an application other than the top application is in the foreground
-        TPhoneCmdParamBoolean booleanParam;
-        booleanParam.SetBoolean( !TopAppIsDisplayedL() );
-        iViewCommandHandle->ExecuteCommandL(
-            EPhoneViewSetNeedToSendToBackgroundStatus,
-            &booleanParam );
-        
-        TPhoneCmdParamInteger uidParam;
-        uidParam.SetInteger( KUidPhoneApplication.iUid );
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewBringAppToForeground,
-            &uidParam );
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewSetTopApplication,
-            &uidParam );
-        if ( IsNumberEntryUsedL() )
+        iViewCommandHandle->ExecuteCommandL( EPhoneViewBringPhoneAppToForeground );
+        if ( iNumberEntryManager->IsNumberEntryUsedL() )
             {
             // Remove number entry
             iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry );
@@ -331,44 +320,12 @@
         iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveQuery );
         
         BeginUiUpdateLC();
-        
-        TPhoneCmdParamEmergencyCallHeaderData emergencyHeaderParam;
-        TBuf<KPhoneCallHeaderLabelMaxLength> headerText( KNullDesC );
-        StringLoader::Load(
-            headerText,
-            CPhoneMainResourceResolver::Instance()->ResolveResourceID(
-                EPhoneEmergencyCallHeader ),
-            CCoeEnv::Static() );
-        emergencyHeaderParam.SetHeaderText( headerText );
-
-        // Set call header ciphering status
-        emergencyHeaderParam.SetCiphering(
-            iStateMachine->PhoneEngineInfo()->IsSecureCall( aCallId ) );
-        emergencyHeaderParam.SetCipheringIndicatorAllowed(
-            iStateMachine->PhoneEngineInfo()->SecureSpecified() );
 
         // Notify the view
         iViewCommandHandle->ExecuteCommandL(
             EPhoneViewCreateEmergencyCallHeader,
-            aCallId,
-            &emergencyHeaderParam );
-
-        TPhoneCmdParamCallHeaderData headerParam;
-        headerParam.SetCallState( EPEStateDialing );
-        
-        StringLoader::Load(
-            headerText,
-            CPhoneMainResourceResolver::Instance()->ResolveResourceID(
-                    EPhoneAttemptingEmergencyText ),
-            CCoeEnv::Static() );
-        headerParam.SetLabelText( headerText );
-        
-        iViewCommandHandle->ExecuteCommandL(
-            EPhoneViewUpdateBubble,
-            aCallId,
-            &headerParam );
-
-        SetTouchPaneButtons( EPhoneEmergencyCallButtons );
+            aCallId );
+       
         SetBackButtonActive(EFalse);
         EndUiUpdate();
         UpdateSetupCbaL();
@@ -389,23 +346,15 @@
     iViewCommandHandle->ExecuteCommandL( EPhoneViewSetEikonNotifiersDisabled,
           &globalNotifierParam );
     
-    TPhoneCmdParamBoolean booleanParam;
-    booleanParam.SetBoolean( EFalse );
-    iViewCommandHandle->ExecuteCommandL(
-        EPhoneViewSetNeedToSendToBackgroundStatus, &booleanParam );
-    
     iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNote );
 
-    TPhoneCmdParamCallHeaderData headerParam;
-    headerParam.SetCallState( EPEStateConnecting );
     // Notify the view
     iViewCommandHandle->ExecuteCommandL(
         EPhoneViewUpdateBubble,
-        aCallId,
-        &headerParam );
+        aCallId );
 
     SetToolbarButtonLoudspeakerEnabled();
-    UpdateInCallCbaL();
+    UpdateUiCommands();
     }
 
 // -----------------------------------------------------------
@@ -416,25 +365,12 @@
     {
     __LOGMETHODSTARTEND(EPhoneUIStates, "CPhoneEmergency::HandleConnectedL() ");
     BeginUiUpdateLC();
-    TPhoneCmdParamCallHeaderData emergencyHeaderParam;
-    emergencyHeaderParam.SetCallState( EPEStateConnected );
     iViewCommandHandle->ExecuteCommandL(
         EPhoneViewUpdateBubble,
-        aCallId,
-        &emergencyHeaderParam );
+        aCallId );
     SetBackButtonActive(ETrue);
+    UpdateUiCommands();
     EndUiUpdate();
-    UpdateInCallCbaL();
-    }
-
-// -----------------------------------------------------------
-// CPhoneEmergency::UpdateInCallCbaL
-// -----------------------------------------------------------
-//
-void CPhoneEmergency::UpdateInCallCbaL()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIStates, "CPhoneEmergency::UpdateInCallCbaL() ");
-    iCbaManager->SetCbaL( EPhoneCallHandlingEmergencyCBA );
     }
 
 // --------------------------------------------------------------
@@ -453,7 +389,7 @@
             break;
 
         case EKeyYes: // send-key
-             if( IsNumberEntryVisibleL() )
+             if( iNumberEntryManager->IsNumberEntryVisibleL() )
                 {
                 TPhoneCmdParamInteger numberEntryCountParam;
                     iViewCommandHandle->ExecuteCommandL( 
@@ -466,7 +402,7 @@
                     }
                 else
                     {
-                    CallFromNumberEntryL();
+                    iNumberEntryManager->CallFromNumberEntryL();
                     }
                 }
             else
@@ -612,10 +548,6 @@
             __PHONELOG1( EBasic, EPhoneControl,
                 "CPhoneEmergency::SendKeyEventL(%S)",
                 &buffer );
-            AknTextUtils::ConvertDigitsTo( buffer, EDigitTypeWestern );
-            __PHONELOG1( EBasic, EPhoneControl,
-                "CPhoneEmergency::SendKeyEventL(%S)",
-                &buffer );
             TLex code( buffer );
             // Save the key code
             iStateMachine->PhoneEngineInfo()->SetKeyCode( code.Peek() );
@@ -641,15 +573,14 @@
 //
 void CPhoneEmergency::HandleAudioOutputChangedL()
     {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneEmergency::HandleAudioOutputChangedL( ) ");
-    UpdateSetupCbaL();
-    SetTouchPaneButtons(0);
+    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneEmergency::HandleAudioOutputChangedL( ) ");    
     TPhoneCmdParamAudioOutput outputParam;
     outputParam.SetAudioOutput( 
             iStateMachine->PhoneEngineInfo()->AudioOutput() );
     iViewCommandHandle->ExecuteCommandL( 
             EPhoneViewActivateAudioPathUIChanges,
             &outputParam );
+    UpdateUiCommands();
     }
 
 // -----------------------------------------------------------------------------
@@ -668,7 +599,7 @@
 void CPhoneEmergency::UpdateSetupCbaL()
     {
     __LOGMETHODSTARTEND(EPhoneUIStates, "CPhoneEmergency::UpdateSetupCbaL() ");
-   iCbaManager->SetCbaL( EPhoneCallHandlingEmergencyCBA );
+    UpdateUiCommands();
     }
 
 // -----------------------------------------------------------------------------
--- a/phoneapp/phoneuistates/src/cphoneerrormessageshandler.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphoneerrormessageshandler.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -19,7 +19,6 @@
 // INCLUDES
 #include <mpeengineinfo.h>
 #include <telephonydomainpskeys.h>
-#include <UikonInternalPSKeys.h>
 #include <ccpdefs.h>
 
 #include "phoneui.pan"
@@ -111,41 +110,39 @@
     __LOGMETHODSTARTEND( EPhoneControl, 
         "CPhoneErrorMessagesHandler::SendGlobalInfoNoteL()" );
     __ASSERT_DEBUG( aResourceId, Panic( EPhoneCtrlParameterNotInitialized ) );
-    if ( CPhonePubSubProxy::Instance()->Value( 
-            KPSUidUikon, KUikGlobalNotesAllowed ) == 1 )
-        {
-        TPhoneCmdParamBoolean globalNotifierParam;
-        globalNotifierParam.SetBoolean( EFalse );
-        iViewCommandHandle->ExecuteCommandL( 
-                EPhoneViewSetGlobalNotifiersDisabled,    
-                &globalNotifierParam );
-            
-        TPhoneCmdParamGlobalNote globalNoteParam;
-        PhoneNotificationType type = aNotificationDialog ? 
-                EPhoneNotificationDialog : EPhoneMessageBoxInformation;
-        globalNoteParam.SetType( type );
-        globalNoteParam.SetNotificationDialog( aNotificationDialog );
+    
+    TPhoneCmdParamBoolean globalNotifierParam;
+    globalNotifierParam.SetBoolean( EFalse );
+    iViewCommandHandle->ExecuteCommandL( 
+            EPhoneViewSetGlobalNotifiersDisabled,    
+            &globalNotifierParam );
+        
+    TPhoneCmdParamGlobalNote globalNoteParam;
+    PhoneNotificationType type = aNotificationDialog ? 
+            EPhoneNotificationDialog : EPhoneMessageBoxInformation;
+    globalNoteParam.SetType( type );
+    globalNoteParam.SetNotificationDialog( aNotificationDialog );
 
-        TInt resourceID( aResourceId );
-        TInt causeCode( KErrNotFound );
-        TBool notification( ETrue );
-        if ( iCauseCodeVariation && GetCauseCode( causeCode, resourceID, notification ) )
-            {
-            globalNoteParam.SetNotificationDialog( notification );
-            globalNoteParam.SetCauseCode(causeCode);
-            globalNoteParam.SetTextResourceId( 
-                CPhoneMainResourceResolver::Instance()->
-                ResolveResourceID( resourceID ) );
-            }
-        else
-            {
-            globalNoteParam.SetTextResourceId( 
-                CPhoneMainResourceResolver::Instance()->
-                ResolveResourceID( aResourceId ) );
-            }
-        iViewCommandHandle->ExecuteCommandL( 
-            EPhoneViewShowGlobalNote, &globalNoteParam );
+    TInt resourceID( aResourceId );
+    TInt causeCode( KErrNotFound );
+    TBool notification( ETrue );
+    if ( iCauseCodeVariation && GetCauseCode( causeCode, resourceID, notification ) )
+        {
+        globalNoteParam.SetNotificationDialog( notification );
+        globalNoteParam.SetCauseCode(causeCode);
+        globalNoteParam.SetTextResourceId( 
+            CPhoneMainResourceResolver::Instance()->
+            ResolveResourceID( resourceID ) );
         }
+    else
+        {
+        globalNoteParam.SetTextResourceId( 
+            CPhoneMainResourceResolver::Instance()->
+            ResolveResourceID( aResourceId ) );
+        }
+    iViewCommandHandle->ExecuteCommandL( 
+        EPhoneViewShowGlobalNote, &globalNoteParam );
+   
     }
  
 // ---------------------------------------------------------
@@ -158,41 +155,38 @@
     __LOGMETHODSTARTEND( EPhoneControl, 
         "CPhoneErrorMessagesHandler::SendGlobalErrorNoteL()" );
     __ASSERT_DEBUG( aResourceId, Panic( EPhoneCtrlParameterNotInitialized ) );
-    if ( CPhonePubSubProxy::Instance()->Value( 
-            KPSUidUikon, KUikGlobalNotesAllowed ) == 1 )
-        {
-        TPhoneCmdParamBoolean globalNotifierParam;
-        globalNotifierParam.SetBoolean( EFalse );
-        iViewCommandHandle->ExecuteCommandL( 
-             EPhoneViewSetGlobalNotifiersDisabled,
-            &globalNotifierParam );
-            
-        TPhoneCmdParamGlobalNote globalNoteParam;
-        PhoneNotificationType type = aNotificationDialog ? 
-                EPhoneNotificationDialog : EPhoneMessageBoxInformation;
-        globalNoteParam.SetType( type );
-        globalNoteParam.SetNotificationDialog( aNotificationDialog );
+    TPhoneCmdParamBoolean globalNotifierParam;
+    globalNotifierParam.SetBoolean( EFalse );
+    iViewCommandHandle->ExecuteCommandL( 
+         EPhoneViewSetGlobalNotifiersDisabled,
+        &globalNotifierParam );
         
-        TInt resourceID( aResourceId );
-        TInt causeCode( KErrNotFound );
-        TBool notification( ETrue );
-        if ( iCauseCodeVariation && GetCauseCode( causeCode, resourceID, notification ) )
-            {
-            globalNoteParam.SetNotificationDialog( notification );
-            globalNoteParam.SetCauseCode(causeCode);
-            globalNoteParam.SetTextResourceId( 
-                CPhoneMainResourceResolver::Instance()->
-                ResolveResourceID( resourceID ) );
-            }
-        else
-            {
-            globalNoteParam.SetTextResourceId( 
-                CPhoneMainResourceResolver::Instance()->
-                ResolveResourceID( aResourceId ) );
-            }
-        iViewCommandHandle->ExecuteCommandL(  
-            EPhoneViewShowGlobalNote, &globalNoteParam );
+    TPhoneCmdParamGlobalNote globalNoteParam;
+    PhoneNotificationType type = aNotificationDialog ? 
+            EPhoneNotificationDialog : EPhoneMessageBoxInformation;
+    globalNoteParam.SetType( type );
+    globalNoteParam.SetNotificationDialog( aNotificationDialog );
+    
+    TInt resourceID( aResourceId );
+    TInt causeCode( KErrNotFound );
+    TBool notification( ETrue );
+    if ( iCauseCodeVariation && GetCauseCode( causeCode, resourceID, notification ) )
+        {
+        globalNoteParam.SetNotificationDialog( notification );
+        globalNoteParam.SetCauseCode(causeCode);
+        globalNoteParam.SetTextResourceId( 
+            CPhoneMainResourceResolver::Instance()->
+            ResolveResourceID( resourceID ) );
         }
+    else
+        {
+        globalNoteParam.SetTextResourceId( 
+            CPhoneMainResourceResolver::Instance()->
+            ResolveResourceID( aResourceId ) );
+        }
+    iViewCommandHandle->ExecuteCommandL(  
+        EPhoneViewShowGlobalNote, &globalNoteParam );
+    
     }
 
 // ---------------------------------------------------------
@@ -204,42 +198,38 @@
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneErrorMessagesHandler::SendGlobalWarningNoteL( ) ");
     __ASSERT_DEBUG( aResourceId, Panic( EPhoneCtrlParameterNotInitialized ) );
-    if ( CPhonePubSubProxy::Instance()->Value( 
-            KPSUidUikon, KUikGlobalNotesAllowed ) == 1 || 
-            SimState() == EPESimReadable )
-        {
-        TPhoneCmdParamBoolean globalNotifierParam;
-        globalNotifierParam.SetBoolean( EFalse );
-        iViewCommandHandle->ExecuteCommandL(  
-            EPhoneViewSetGlobalNotifiersDisabled,
-            &globalNotifierParam );
-            
-        TPhoneCmdParamGlobalNote globalNoteParam;
-        PhoneNotificationType type = aNotificationDialog ? 
-                EPhoneNotificationDialog : EPhoneMessageBoxInformation;
-        globalNoteParam.SetType( type );
-        globalNoteParam.SetNotificationDialog( aNotificationDialog );
+   
+    TPhoneCmdParamBoolean globalNotifierParam;
+    globalNotifierParam.SetBoolean( EFalse );
+    iViewCommandHandle->ExecuteCommandL(  
+        EPhoneViewSetGlobalNotifiersDisabled,
+        &globalNotifierParam );
+        
+    TPhoneCmdParamGlobalNote globalNoteParam;
+    PhoneNotificationType type = aNotificationDialog ? 
+            EPhoneNotificationDialog : EPhoneMessageBoxInformation;
+    globalNoteParam.SetType( type );
+    globalNoteParam.SetNotificationDialog( aNotificationDialog );
 
-        TInt resourceID( aResourceId );
-        TInt causeCode( KErrNotFound );
-        TBool notification( ETrue );
-        if ( iCauseCodeVariation && GetCauseCode( causeCode, resourceID, notification) )
-            {
-            globalNoteParam.SetNotificationDialog( notification );
-            globalNoteParam.SetCauseCode(causeCode);
-            globalNoteParam.SetTextResourceId( 
-                CPhoneMainResourceResolver::Instance()->
-                ResolveResourceID( resourceID ) );
-            }
-        else
-            {
-            globalNoteParam.SetTextResourceId( 
-                CPhoneMainResourceResolver::Instance()->
-                ResolveResourceID( aResourceId ) );
-            }
-        iViewCommandHandle->ExecuteCommandL( 
-            EPhoneViewShowGlobalNote, &globalNoteParam );
+    TInt resourceID( aResourceId );
+    TInt causeCode( KErrNotFound );
+    TBool notification( ETrue );
+    if ( iCauseCodeVariation && GetCauseCode( causeCode, resourceID, notification) )
+        {
+        globalNoteParam.SetNotificationDialog( notification );
+        globalNoteParam.SetCauseCode(causeCode);
+        globalNoteParam.SetTextResourceId( 
+            CPhoneMainResourceResolver::Instance()->
+            ResolveResourceID( resourceID ) );
         }
+    else
+        {
+        globalNoteParam.SetTextResourceId( 
+            CPhoneMainResourceResolver::Instance()->
+            ResolveResourceID( aResourceId ) );
+        }
+    iViewCommandHandle->ExecuteCommandL( 
+        EPhoneViewShowGlobalNote, &globalNoteParam );
     }
 
 // ---------------------------------------------------------
--- a/phoneapp/phoneuistates/src/cphonegeneralgsmmessageshandler.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphonegeneralgsmmessageshandler.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -21,7 +21,6 @@
 #include <apgcli.h>
 #endif
 #include <mpeengineinfo.h>
-#include <UikonInternalPSKeys.h>
 #include <mccessobserver.h>
 #include <featmgr.h>
 #include <StringLoader.h>
@@ -102,7 +101,6 @@
             break;
         
         case MEngineMonitor::EPEMessageIncCallIsForw:
-            HandleIncomingCallForwardedL();
             break;
             
         case MEngineMonitor::EPEMessageIncCallForwToC:
@@ -168,38 +166,24 @@
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneGeneralGsmMessagesHandler::SendGlobalInfoNoteL()" );
     __ASSERT_DEBUG( aResourceId, Panic( EPhoneCtrlParameterNotInitialized ) );
-    if ( CPhonePubSubProxy::Instance()->Value( 
-            KPSUidUikon, KUikGlobalNotesAllowed ) == 1 )
-        {
-        TPhoneCmdParamBoolean globalNotifierParam;
-        globalNotifierParam.SetBoolean( EFalse );
-        iViewCommandHandle.ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled,
-            &globalNotifierParam );
-            
-        TPhoneCmdParamGlobalNote globalNoteParam;
-        PhoneNotificationType type = aNotificationDialog ? 
-                EPhoneNotificationDialog : EPhoneMessageBoxInformation;
-        globalNoteParam.SetType( type );
-      
-        globalNoteParam.SetTextResourceId( 
-            CPhoneMainResourceResolver::Instance()->
-            ResolveResourceID( aResourceId ) );
-        globalNoteParam.SetNotificationDialog( aNotificationDialog );
+    
+    TPhoneCmdParamBoolean globalNotifierParam;
+    globalNotifierParam.SetBoolean( EFalse );
+    iViewCommandHandle.ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled,
+        &globalNotifierParam );
+        
+    TPhoneCmdParamGlobalNote globalNoteParam;
+    PhoneNotificationType type = aNotificationDialog ? 
+            EPhoneNotificationDialog : EPhoneMessageBoxInformation;
+    globalNoteParam.SetType( type );
+  
+    globalNoteParam.SetTextResourceId( 
+        CPhoneMainResourceResolver::Instance()->
+        ResolveResourceID( aResourceId ) );
+    globalNoteParam.SetNotificationDialog( aNotificationDialog );
 
-        iViewCommandHandle.ExecuteCommandL( 
-            EPhoneViewShowGlobalNote, &globalNoteParam );    
-        }
-    }
-
-// -----------------------------------------------------------
-// CPhoneGeneralGsmMessagesHandler::HandleIncomingCallForwardedL
-// -----------------------------------------------------------
-//
-void CPhoneGeneralGsmMessagesHandler::HandleIncomingCallForwardedL()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIStates, 
-        "CPhoneGeneralGsmMessagesHandler::HandleIncomingCallForwardedL()" );
-    iActiveState.SetDivertIndication( ETrue );
+    iViewCommandHandle.ExecuteCommandL( 
+        EPhoneViewShowGlobalNote, &globalNoteParam );    
     }
 
 // ---------------------------------------------------------
@@ -212,26 +196,23 @@
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneGeneralGsmMessagesHandler::SendGlobalErrorNoteL()" );
     __ASSERT_DEBUG( aResourceId, Panic( EPhoneCtrlParameterNotInitialized ) );
-    if ( CPhonePubSubProxy::Instance()->Value( 
-            KPSUidUikon, KUikGlobalNotesAllowed ) == 1 )
-        {
-        TPhoneCmdParamBoolean globalNotifierParam;
-        globalNotifierParam.SetBoolean( EFalse );
-        iViewCommandHandle.ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled,
-            &globalNotifierParam );
-            
-        TPhoneCmdParamGlobalNote globalNoteParam;
-        PhoneNotificationType type = aNotificationDialog ? 
-                EPhoneNotificationDialog : EPhoneMessageBoxInformation;
-        globalNoteParam.SetType( type );
-        globalNoteParam.SetTextResourceId( 
-            CPhoneMainResourceResolver::Instance()->
-            ResolveResourceID( aResourceId ) );
-        globalNoteParam.SetNotificationDialog( aNotificationDialog );
+    TPhoneCmdParamBoolean globalNotifierParam;
+    globalNotifierParam.SetBoolean( EFalse );
+    iViewCommandHandle.ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled,
+        &globalNotifierParam );
         
-        iViewCommandHandle.ExecuteCommandL( 
-            EPhoneViewShowGlobalNote, &globalNoteParam );
-        }
+    TPhoneCmdParamGlobalNote globalNoteParam;
+    PhoneNotificationType type = aNotificationDialog ? 
+            EPhoneNotificationDialog : EPhoneMessageBoxInformation;
+    globalNoteParam.SetType( type );
+    globalNoteParam.SetTextResourceId( 
+        CPhoneMainResourceResolver::Instance()->
+        ResolveResourceID( aResourceId ) );
+    globalNoteParam.SetNotificationDialog( aNotificationDialog );
+    
+    iViewCommandHandle.ExecuteCommandL( 
+        EPhoneViewShowGlobalNote, &globalNoteParam );
+
     }
 
 // End of File
--- a/phoneapp/phoneuistates/src/cphonegsmincall.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphonegsmincall.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -138,7 +138,7 @@
             
             // Needed also in non-touch, if call waiting request (*43#) 
             // is sent during active call at least.
-            UpdateCbaL( EPhoneCallHandlingInCallCBA );
+            UpdateUiCommands();
 			}
 			break;
 			
@@ -226,7 +226,6 @@
 void CPhoneGsmInCall::HandleColpNoteL( TInt aCallId )
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneGsmInCall::HandleColpNoteL() ");
-
     MPEEngineInfo* EngineInfo = CPhoneState::iStateMachine->PhoneEngineInfo();
     
     TPhoneCmdParamGlobalNote globalNoteParam;
@@ -239,7 +238,6 @@
 	        
     iViewCommandHandle->ExecuteCommandL( 
             EPhoneViewShowGlobalNote, &globalNoteParam );
-    
     }
 
 // -----------------------------------------------------------
@@ -249,19 +247,9 @@
 void CPhoneGsmInCall::BringIncomingToForegroundL()
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneGsmInCall::BringIncomingToForegroundL( ) ");
-
     // Remove any phone dialogs if they are displayed
     iViewCommandHandle->ExecuteCommandL( EPhoneViewRemovePhoneDialogs );
-
-    // Bring Phone app in the foreground
-    TPhoneCmdParamInteger uidParam;
-    uidParam.SetInteger( KUidPhoneApplication.iUid );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewBringAppToForeground,
-        &uidParam );
-
-    // Set Phone as the top application
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetTopApplication,
-        &uidParam );
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewBringPhoneAppToForeground );
     
     // Disable global notes when there is an incoming call
     TPhoneCmdParamBoolean globalNotifierParam;
@@ -273,127 +261,5 @@
     
     }
 
-// -----------------------------------------------------------
-// CPhoneGsmInCall::AllowShowingOfWaitingCallHeaderL
-// -----------------------------------------------------------
-//
-void CPhoneGsmInCall::AllowShowingOfWaitingCallHeaderL( 
-    TPhoneCmdParamBoolean& aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneGsmInCall::AllowShowingOfWaitingCallHeaderL() ");
-
-    if ( aCommandParam.Boolean() && IsNumberEntryUsedL() )
-        {
-        SetNumberEntryVisibilityL(EFalse);
-        }
-    }
-
-// -----------------------------------------------------------
-// CPhoneGsmInCall::HandlePhoneForegroundEventL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneGsmInCall::HandlePhoneForegroundEventL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneGsmInCall::HandlePhoneForegroundEventL( ) ");
-     }
-
-// -----------------------------------------------------------
-// CPhoneGsmInCall::HandleHoldNoteL
-// -----------------------------------------------------------
-//
-void CPhoneGsmInCall::HandleHoldNoteL( 
-    TInt aCallId, TBool aHold )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneGsmInCall::HandleHoldNoteL( ) ");
-    TBuf< KPhoneContactNameMaxLength > holdText( KNullDesC );
-    TPhoneCmdParamGlobalNote globalNoteParam;
-    TInt resourceId(0);
-    
-    if( iStateMachine->PhoneEngineInfo()->RemoteName( aCallId ).Length() ||
-        iStateMachine->PhoneEngineInfo()->RemoteCompanyName( aCallId ).Length())
-        {
-        TInt resource( EPhoneInformationCallActivetedCli );
-        if ( aHold )
-            {
-            resource = EPhoneInformationCallOnHoldCli;    
-            }
-        GetRemoteInfoDataL ( aCallId, holdText );
-        resourceId = CPhoneMainResourceResolver::Instance()->
-            ResolveResourceID( resource );
-        globalNoteParam.SetTextResourceId( resourceId );    
-        }
-    else
-        {
-        TInt resource( EPhoneInformationCallActiveted );
-        if ( aHold )
-            {
-            resource = EPhoneInformationCallOnHoldNoCli;    
-            }
-        resourceId = CPhoneMainResourceResolver::Instance()->
-                ResolveResourceID( resource );
-                
-        HBufC* tmp = StringLoader::LoadL( resourceId, 
-            aCallId + 1 , CCoeEnv::Static() );
-
-        holdText = *tmp;
-        delete tmp;
-        tmp = NULL;  
-        }
-         
-    globalNoteParam.SetText( holdText ); 
-    globalNoteParam.SetType( EPhoneMessageBoxInformation );
-        
-    iViewCommandHandle->ExecuteCommandL( 
-            EPhoneViewShowGlobalNote, &globalNoteParam ); 
-    }
-
-
-// ---------------------------------------------------------
-// CPhoneGsmInCall::SetDivertIndication
-// ---------------------------------------------------------
-//
-EXPORT_C void CPhoneGsmInCall::SetDivertIndication( const TBool aDivertIndication )
-    {
-    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneGsmInCall::SetDivertIndication()");
-           
-    CPhoneState::SetDivertIndication( aDivertIndication );    
-    
-    TRAP_IGNORE( HandeDivertIndicationL() );
-    }
-
-// ---------------------------------------------------------
-// CPhoneGsmInCall::HandeDivertIndicationL
-// ---------------------------------------------------------
-//
-void CPhoneGsmInCall::HandeDivertIndicationL()
-    {
-    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneGsmInCall::HandeDivertIndicationL()");
-       
-    TBuf< KPhoneContactNameMaxLength > remoteInfoText( KNullDesC );
-    TInt ringingCallId ( KErrNotFound );
-        
-    ringingCallId = GetRingingCallL();
-    
-    if( ringingCallId > KErrNotFound )
-       {
-       TPhoneCmdParamCallHeaderData divertData;
-    
-        divertData.SetDiverted( ETrue );
-       
-       GetRemoteInfoDataL( ringingCallId, remoteInfoText );
-       divertData.SetCLIText( 
-                  remoteInfoText,
-                  TPhoneCmdParamCallHeaderData::ERight );
-       
-       divertData.SetCiphering(
-           iStateMachine->PhoneEngineInfo()->IsSecureCall( ringingCallId ) );
-       divertData.SetCipheringIndicatorAllowed(
-           iStateMachine->PhoneEngineInfo()->SecureSpecified() );
-           
-       iViewCommandHandle->ExecuteCommandL( 
-           EPhoneViewUpdateCallHeaderRemoteInfoData, ringingCallId,
-           &divertData );
-        }
-    }
 
 // End of File
--- a/phoneapp/phoneuistates/src/cphoneincoming.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphoneincoming.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -188,117 +188,14 @@
     iViewCommandHandle->ExecuteCommandL( EPhoneViewGetCallIdByState, &callState );
     TInt connectedCall = callState.CallId(); 
     
-    BeginUiUpdateLC();
-    
-    TPhoneCmdParamBoolean dialerParam;
-    dialerParam.SetBoolean( ETrue );
-    AllowShowingOfWaitingCallHeaderL( dialerParam );
-      
-    // Close fast swap window if it's displayed
-    CEikonEnv::Static()->DismissTaskList();
-    
-    // If the 1st incoming call became Connected, this is waiting call
-    // If the 1st incoming call went just Idle, this is a normal call
-    if ( connectedCall > KErrNotFound )
-        {
-        SetTouchPaneButtons( EPhoneWaitingCallButtons );
-        }
-    else
-        {
-        SetTouchPaneButtons( EPhoneIncomingCallButtons );
-        }
-    
-    if ( KErrNotFound == connectedCall )
-        {
-        dialerParam.SetBoolean( EFalse );
-        }
-    
-    DisplayIncomingCallL( aCallId, dialerParam );
-    SetTouchPaneButtons( EPhoneWaitingCallButtons );
-
-    if( FeatureManager::FeatureSupported( KFeatureIdFfTouchUnlockStroke ) 
-            && !CPhoneCenRepProxy::Instance()->
-            IsTelephonyFeatureSupported( KTelephonyLVFlagAllowUnlockOnIncoming ) 
-            && ( IsKeyLockOn() || IsAutoLockOn() ) )
-        {
-        DisableCallUIL();
-        }
-    else
-        {
-        if ( IsKeyLockOn() )
-            {
-            iViewCommandHandle->ExecuteCommandL( EPhoneViewDisableKeyLockWithoutNote );
-            }
-        }
-        
-    if( CPhoneCenRepProxy::Instance()->
-            IsTelephonyFeatureSupported( KTelephonyLVFlagDisableCallControlHardKeysWhileLocked ) 
-            && ( IsKeyLockOn() || IsAutoLockOn() ) )
-        {
-        DisableHWKeysL();
-        }
-        
-    EndUiUpdate();
+    DisplayCallHeaderL( aCallId, ECheckIfNEUsedBeforeSettingVisibilityFalse );
 
     if ( connectedCall > KErrNotFound )
         {
-        iCbaManager->UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
+        UpdateUiCommands();
         iStateMachine->ChangeState( EPhoneStateWaitingInSingle );   
         }
     }
-    
-// -----------------------------------------------------------
-// CPhoneIncoming::DisplayIncomingCallL
-// -----------------------------------------------------------
-//
-void CPhoneIncoming::DisplayIncomingCallL( 
-    TInt aCallId, 
-    const TPhoneCmdParamBoolean aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIStates, 
-        "CPhoneIncoming::DisplayIncomingCallL()");
-    // Cannot delete active note, e.g. New call query, 
-    // but show waiting note with or without caller name
-    if ( IsAnyQueryActiveL() || aCommandParam.Boolean() )
-        {
-        CallWaitingNoteL( aCallId );
-        }
-    else
-        {
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewRemovePhoneDialogs );
-        }
-    
-    // Indicate that the Phone needs to be sent to the background if
-    // an application other than the top application is in the foreground
-    TPhoneCmdParamBoolean booleanParam;
-    booleanParam.SetBoolean( !TopAppIsDisplayedL() );
-    iViewCommandHandle->ExecuteCommandL( 
-        EPhoneViewSetNeedToSendToBackgroundStatus,
-        &booleanParam );
-
-    TPhoneCmdParamInteger uidParam;
-    uidParam.SetInteger( KUidPhoneApplication.iUid );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewBringAppToForeground,
-        &uidParam );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetTopApplication,
-        &uidParam );
-
-    DisplayHeaderForCallComingInL( aCallId, ETrue ); //waiting call 
-    }    
-
-// -----------------------------------------------------------
-// CPhoneIncoming::AllowShowingOfWaitingCallHeaderL
-// -----------------------------------------------------------
-//
-void CPhoneIncoming::AllowShowingOfWaitingCallHeaderL( 
-    TPhoneCmdParamBoolean& aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIStates, "CPhoneIncoming::AllowShowingOfWaitingCallHeaderL() ");
-    if ( aCommandParam.Boolean() && IsNumberEntryUsedL() )
-        {
-        SetNumberEntryVisibilityL(EFalse);
-        }
-    }
 
 // -----------------------------------------------------------
 // CPhoneIncoming::HandleErrorL
--- a/phoneapp/phoneuistates/src/cphoneresourceresolvergsm.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphoneresourceresolvergsm.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -20,7 +20,6 @@
 #include <bautils.h>
 #include <eikenv.h>
 #include <avkon.rsg>
-#include <AknUtils.h>
 #include <featmgr.h>
 
 #include "cphoneresourceresolvergsm.h"
@@ -39,7 +38,8 @@
 // might leave.
 // -----------------------------------------------------------------------------
 //
-EXPORT_C CPhoneResourceResolverGSM::CPhoneResourceResolverGSM(): iEnv( *CEikonEnv::Static() )
+EXPORT_C CPhoneResourceResolverGSM::CPhoneResourceResolverGSM(): 
+    iEnv( *CEikonEnv::Static() ) // codescanner::performance::eikonenvstatic
     {
     }
 
--- a/phoneapp/phoneuistates/src/cphonesingleandalerting.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphonesingleandalerting.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -128,9 +128,9 @@
     switch ( aCode )
         {
         case EKeyYes: // send-key
-            if ( CPhoneState::IsNumberEntryUsedL() )
+            if ( iNumberEntryManager->IsNumberEntryUsedL() )
                 {
-                CallFromNumberEntryL();
+                iNumberEntryManager->CallFromNumberEntryL();
                 }
             else
                 {
@@ -150,7 +150,7 @@
                 DisconnectOutgoingCallL();
                 }
                 
-            if ( IsNumberEntryUsedL() )
+            if ( iNumberEntryManager->IsNumberEntryUsedL() )
                 {
                 iViewCommandHandle->ExecuteCommandL( 
                       EPhoneViewRemoveNumberEntry );
@@ -180,38 +180,18 @@
         
     if( callStateData.CallId() == aCallId )
         {
-        TPhoneCmdParamBoolean booleanParam;
-        booleanParam.SetBoolean( EFalse );
-        iViewCommandHandle->ExecuteCommandL( 
-            EPhoneViewSetNeedToSendToBackgroundStatus, &booleanParam );
-
         BeginUiUpdateLC();
         
-        TPhoneCmdParamCallHeaderData callHeaderParam;
-        callHeaderParam.SetCallState( EPEStateConnected );
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId, 
-            &callHeaderParam );
+        iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId );
 
-        SetTouchPaneButtons( EPhoneTwoSinglesButtons );
+        UpdateUiCommands();
         EndUiUpdate();
-        
-        TPhoneCmdParamBoolean holdFlag;
-        holdFlag.SetBoolean( EFalse );
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag );
-        
-        UpdateCbaL( EPhoneCallHandlingNewCallSwapCBA );
+
         iStateMachine->ChangeState( EPhoneStateTwoSingles );
         }
     else
         {
-        TPhoneCmdParamCallHeaderData callHeaderParam;
-        callHeaderParam.SetCallState( EPEStateConnected );
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId, 
-            &callHeaderParam );  
-            
-        TPhoneCmdParamBoolean holdFlag;
-        holdFlag.SetBoolean( EFalse );
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag );
+        iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId );  
         }    
     }
 // -----------------------------------------------------------
@@ -224,44 +204,22 @@
         "CPhoneSingleAndAlerting::HandleIdleL()");
     BeginUiUpdateLC();
     iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId );
-
-    if ( !TopAppIsDisplayedL() )
-        {
-        // Continue displaying current app but set up the 
-        // idle screen in the background
-        SetupIdleScreenInBackgroundL();
-        }
         
     TPhoneCmdParamInteger countParam;
     iViewCommandHandle->ExecuteCommandL( EPhoneViewGetCountOfActiveCalls, &countParam);
     
     if ( countParam.Integer() )
         {
-        SetTouchPaneButtons( EPhoneIncallButtons );
-        TPhoneCmdParamBoolean holdFlag;
-        holdFlag.SetBoolean( ETrue );
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag );
-        UpdateCbaL( EPhoneCallHandlingInCallCBA );
+        UpdateUiCommands();
         iStateMachine->ChangeState( EPhoneStateSingle );
         }
     else
         {
         DisplayCallTerminationNoteL();
-        SetTouchPaneButtons( EPhoneCallSetupButtons );
-        UpdateCbaL( EPhoneCallHandlingInCallCBA );
+        UpdateUiCommands();
         iStateMachine->ChangeState( EPhoneStateAlerting );
         }
     EndUiUpdate();
     }
-
-// -----------------------------------------------------------
-// CPhoneSingleAndAlerting::UpdateInCallCbaL
-// -----------------------------------------------------------
-//
-void CPhoneSingleAndAlerting::UpdateInCallCbaL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneSingleAndAlerting::UpdateInCallCbaL() ");
-    UpdateCbaL( EPhoneCallHandlingInCallCBA );
-    }
         
 // End of File
--- a/phoneapp/phoneuistates/src/cphonesingleandcallsetup.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphonesingleandcallsetup.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -133,10 +133,10 @@
         {
         // send-key
         case EKeyYes:
-            if ( CPhoneState::IsNumberEntryUsedL() )
+            if ( iNumberEntryManager->IsNumberEntryUsedL() )
                 {
                 // send a manual control sequence
-                CPhoneState::CallFromNumberEntryL();    
+                iNumberEntryManager->CallFromNumberEntryL();
                 }
             else
                 {
@@ -216,28 +216,13 @@
     iViewCommandHandle->ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled,
         &globalNotifierParam );
 
-    // Remove the number entry if it isn't DTMF dialer
-    if ( !IsNumberEntryVisibleL() )
-        {
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry );
-        }
+    iNumberEntryManager->RemoveNumberEntryIfVisibilityIsFalseL();
 
-    TPhoneCmdParamCallHeaderData callHeaderParam;
-    callHeaderParam.SetCallState( EPEStateConnecting );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId, 
-        &callHeaderParam );
-
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId );
+    UpdateUiCommands();
     EndUiUpdate();
-        
-    // Set Hold flag to view EFalse that dtmf menu item not delete
-    TPhoneCmdParamBoolean holdFlag;
-    holdFlag.SetBoolean( EFalse );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag );
-
-    SetTouchPaneButtons( EPhoneCallSetupAndSingleButtons );
     
     // Go to alerting state
-    UpdateCbaL( EPhoneCallHandlingInCallCBA );
     iStateMachine->ChangeState( EPhoneStateAlertingInSingle );
     }
 
@@ -253,28 +238,19 @@
     BeginUiUpdateLC();
     
     // Show bubble
-    TPhoneCmdParamCallHeaderData callHeaderParam;
-    callHeaderParam.SetCallState( EPEStateConnected );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId, 
-        &callHeaderParam );
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId );
     
     // Remove the number entry if it isn't DTMF dialer
-    if ( !IsNumberEntryVisibleL() )
+    if ( !iNumberEntryManager->IsNumberEntryVisibleL() )
         {
         iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry );
         }
     
-    // Set Hold flag to view
-    TPhoneCmdParamBoolean holdFlag;
-    holdFlag.SetBoolean( EFalse );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag );
-
-    SetTouchPaneButtons( EPhoneTwoSinglesButtons );
+    UpdateUiCommands();
     
     EndUiUpdate();        
     
      // Go to two singles state
-    UpdateCbaL( EPhoneCallHandlingNewCallSwapCBA );
     iStateMachine->ChangeState( EPhoneStateTwoSingles );
     
     }
@@ -299,33 +275,19 @@
         
     if( activeCallCount.Integer() )
         {
-        if ( IsNumberEntryUsedL() )
-            {
-            // Show the number entry if it exists
-            SetNumberEntryVisibilityL(ETrue);
-            }
-        else
-            {
-            // Set incall CBAs
-            UpdateCbaL( EPhoneCallHandlingInCallCBA );    
-            }
-            
-        SetTouchPaneButtons( EPhoneIncallButtons );    
+        iNumberEntryManager->SetVisibilityIfNumberEntryUsedL(ETrue);
+        UpdateUiCommands();
         iStateMachine->ChangeState( EPhoneStateSingle ); 
         }
     else
         {
-        // Display call termination note, if necessary
         DisplayCallTerminationNoteL();
 
         // Single call was terminated
-        SetTouchPaneButtons( EPhoneCallSetupButtons );
+        UpdateUiCommands();
         SetToolbarButtonLoudspeakerEnabled();
-        // Update call setup CBAs
-        UpdateCbaL( EPhoneCallHandlingCallSetupCBA );
         iStateMachine->ChangeState( EPhoneStateCallSetup );
         }
-        
     EndUiUpdate();
     }
 
--- a/phoneapp/phoneuistates/src/cphonesingleandcallsetupandwaiting.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphonesingleandcallsetupandwaiting.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -119,9 +119,9 @@
     switch ( aCode )
         {
         case EKeyYes: // send-key
-            if( IsNumberEntryVisibleL() )
+            if( iNumberEntryManager->IsNumberEntryVisibleL() )
                 {
-                CPhoneState::CallFromNumberEntryL();
+                iNumberEntryManager->CallFromNumberEntryL();
                 }
             else
                 {
@@ -138,26 +138,14 @@
                 {
                 iStateMachine->SendPhoneEngineMessage(
                     MPEPhoneModel::EPEMessageTerminateAllConnections );
-                 
-                if ( IsNumberEntryContentStored() )
-                    {
-                    ClearNumberEntryContentCache();
-                    }
-                
-                if ( CPhoneState::IsNumberEntryUsedL() )
+                iNumberEntryManager->ClearNumberEntryContentCacheIfContentStored();
+                if ( iNumberEntryManager->IsNumberEntryUsedL() )
                     {
                     iViewCommandHandle->ExecuteCommandL( 
                         EPhoneViewRemoveNumberEntry );
                     // Do state-specific operation when number entry is cleared
                     HandleNumberEntryClearedL();
                     }
-                if ( !TopAppIsDisplayedL() )
-                    {
-                    TPhoneCmdParamInteger uidParam;
-                    uidParam.SetInteger( KUidPhoneApplication.iUid );
-                    iViewCommandHandle->ExecuteCommandL(
-                        EPhoneViewBringAppToForeground, &uidParam );
-                    }
                 }
             else // handle short end key
                 {
@@ -321,11 +309,7 @@
 void CPhoneSingleAndCallSetupAndWaiting::HandleConnectingL( TInt aCallId )
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneSingleAndCallSetupAndWaiting::HandleConnectingL() ");
-    // Remove the number entry if it isn't DTMF dialer
-    if ( !IsNumberEntryVisibleL() )
-        {
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry );
-        }
+    iNumberEntryManager->RemoveNumberEntryIfVisibilityIsFalseL();
     iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveGlobalNote );
     
     TPhoneCmdParamBoolean globalNotifierParam;
@@ -335,14 +319,12 @@
 
     BeginUiUpdateLC();
     UpdateRemoteInfoDataL( aCallId );
-    TPhoneCmdParamCallHeaderData callHeaderParam;
-    callHeaderParam.SetCallState( EPEStateConnecting );
     iViewCommandHandle->ExecuteCommandL( 
             EPhoneViewUpdateBubble, 
-            aCallId, 
-            &callHeaderParam );
+            aCallId );
+
+    UpdateUiCommands();
     EndUiUpdate();
-    UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
     }
 
 // -----------------------------------------------------------
@@ -353,21 +335,11 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneSingleAndCallSetupAndWaiting::HandleConnectedL()");
-    TPhoneCmdParamBoolean booleanParam;
-    booleanParam.SetBoolean( EFalse );
-    iViewCommandHandle->ExecuteCommandL( 
-        EPhoneViewSetNeedToSendToBackgroundStatus, &booleanParam );
+    
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId );
     
-    TPhoneCmdParamCallHeaderData callHeaderParam;
-    callHeaderParam.SetCallState( EPEStateConnected );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId, 
-        &callHeaderParam );
-    
-    // Remove the number entry if it isn't DTMF dialer
-    if ( !IsNumberEntryVisibleL() )
-        {
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry );
-        }
+    iNumberEntryManager->RemoveNumberEntryIfVisibilityIsFalseL();
+
     
     if ( aCallId != iWaitingCallId ) // Alerting call is connected
         {
@@ -388,15 +360,11 @@
 void CPhoneSingleAndCallSetupAndWaiting::StateChangeToCallSetupAndWaitingL( TInt aCallId )
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneSingleAndCallSetupAndWaiting::StateChangeToCallSetupAndWaitingL() ");
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId );
-    
-    TPhoneCmdParamBoolean holdFlag;
-    holdFlag.SetBoolean( EFalse );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag );       
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId );  
 
     BeginUiUpdateLC();
     
-    SetTouchPaneButtons( EPhoneCallSetupButtons );
+    UpdateUiCommands();
     SetToolbarButtonLoudspeakerEnabled();
     
     EndUiUpdate();
@@ -411,23 +379,19 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneSingleAndCallSetupAndWaiting::StateChangeToSingleAndWaitingL() ");
     iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId );
-    if ( CPhoneState::IsNumberEntryUsedL() )
+    if ( iNumberEntryManager->IsNumberEntryUsedL() )
         {
         TPhoneCmdParamBoolean booleanParam;
         booleanParam.SetBoolean( ETrue );
         iViewCommandHandle->ExecuteCommandL( EPhoneViewSetNumberEntryVisible, &booleanParam );
         }
-    
-    TPhoneCmdParamBoolean holdFlag;
-    holdFlag.SetBoolean( ETrue );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag );
 
     BeginUiUpdateLC();
     
-    SetTouchPaneButtons( EPhoneWaitingCallButtons );
+    UpdateUiCommands();
     
     EndUiUpdate();
-    UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );  
+ 
     iStateMachine->ChangeState( EPhoneStateWaitingInSingle );
     }
 
@@ -439,23 +403,11 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneSingleAndCallSetupAndWaiting::StateChangeToSingleAndAlertingL() ");
     iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId );
+    iNumberEntryManager->RemoveNumberEntryIfVisibilityIsFalseL();
+    BeginUiUpdateLC();
+    UpdateUiCommands();
+    EndUiUpdate();
 
-    // Remove the number entry if it isn't DTMF dialer
-    if ( !IsNumberEntryVisibleL() )
-        {
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry );
-        }
-    
-    // Set Hold flag to view EFalse that dtmf menu item not delete
-    TPhoneCmdParamBoolean holdFlag;
-    holdFlag.SetBoolean( EFalse );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag );
-
-    BeginUiUpdateLC();
-    SetTouchPaneButtons( EPhoneCallSetupButtons );
-    EndUiUpdate();
-    
-    UpdateCbaL( EPhoneCallHandlingInCallCBA );
     iStateMachine->ChangeState( EPhoneStateAlertingInSingle );        
     }
 
@@ -468,10 +420,9 @@
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneSingleAndCallSetupAndWaiting::StateChangeToTwoSinglesL()");
     BeginUiUpdateLC();
-    SetTouchPaneButtons( EPhoneTwoSinglesButtons );
+    UpdateUiCommands();
     EndUiUpdate();
 
-    UpdateCbaL( EPhoneCallHandlingNewCallSwapCBA );
     iStateMachine->ChangeState( EPhoneStateTwoSingles );
     }
 
@@ -484,29 +435,11 @@
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneSingleAndCallSetupAndWaiting::StateChangeToTwoSinglesAndWaitingL()");
     BeginUiUpdateLC();
-    SetTouchPaneButtons( EPhoneWaitingCallButtons );
+    UpdateUiCommands();
     EndUiUpdate();
 
-    UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
     iStateMachine->ChangeState( EPhoneStateTwoSinglesAndWaiting );
     }
 
-// -----------------------------------------------------------
-// CPhoneSingleAndCallSetupAndWaiting::UpdateInCallCbaL
-// -----------------------------------------------------------
-//
-void CPhoneSingleAndCallSetupAndWaiting::UpdateInCallCbaL()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIStates, 
-        "CPhoneSingleAndCallSetupAndWaiting::UpdateInCallCbaL() ");
-    if ( iAlerting )
-        {
-        UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
-        }
-    else
-        {
-        UpdateCbaL( EPhoneCallHandlingCallSetupCBA );
-        }
-    }
 
 // End of File
--- a/phoneapp/phoneuistates/src/cphonesingleandwaiting.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphonesingleandwaiting.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -126,7 +126,7 @@
             break;
 
         case MEngineMonitor::EPEMessageHeld:
-            HandleHeldL( aCallId );
+            UpdateBubbleAndUICommandsL( aCallId );
             break;
 
         case MEngineMonitor::EPEMessageConnected:
@@ -134,7 +134,7 @@
             break;
 
         case MEngineMonitor::EPEMessageDialing:
-            HandleDiallingL( aCallId );
+            HandleDialingL( aCallId );
             break;
             
         case MEngineMonitor::EPEMessageDisconnecting:
@@ -177,9 +177,6 @@
         case EPhoneInCallCmdNewCall:
             break;
 
-        case EPhoneInCallCmdNewCallCall:
-            break;
-
         case EPhoneCallComingCmdReject: // fall through
             {
             // Get waiting callid
@@ -224,9 +221,9 @@
         {
         case EKeyYes: // send-key
             {
-            if( IsNumberEntryVisibleL() )
+            if( iNumberEntryManager->IsNumberEntryVisibleL() )
                 {
-                CallFromNumberEntryL();
+                iNumberEntryManager->CallFromNumberEntryL();
                 }
              else
                 {
@@ -245,22 +242,6 @@
     }
 
 // -----------------------------------------------------------
-// CPhoneSingleAndWaiting::HandleKeyEventL
-// -----------------------------------------------------------
-//
-void CPhoneSingleAndWaiting::HandleKeyEventL(
-    const TKeyEvent& aKeyEvent,
-    TEventCode /*aEventCode*/ )
-    {
-    if( EKeyDeviceF == aKeyEvent.iCode )
-        {
-        __PHONELOG( EBasic, EPhoneUIStates,
-            "CPhoneSingleAndWaiting::HandleKeyMessageL-deviceF" );
-        HandleHoldSwitchL();
-        }
-    }
-
-// -----------------------------------------------------------
 // CPhoneSingleAndWaiting::HandleIdleL
 // -----------------------------------------------------------
 //
@@ -317,31 +298,18 @@
         
         // Display ringing bubble
         if ( callStateData.CallId() > KErrNotFound )
-            {
-            TPhoneCmdParamCallHeaderData callHeaderParam;
-            callHeaderParam.SetCallState( EPEStateRinging );
-            
-            TPhoneCmdParamBoolean holdFlag;
-            holdFlag.SetBoolean( EFalse );
-            iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag );
-            
-            SetCallHeaderTextsForCallComingInL( callStateData.CallId(), EFalse, &callHeaderParam );
-            
+            {           
             iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble,
-                callStateData.CallId(),
-                &callHeaderParam );
+                callStateData.CallId() );
 
-            if ( IsNumberEntryVisibleL() )
+            if ( iNumberEntryManager->IsNumberEntryVisibleL() )
                 {
-                SetNumberEntryVisibilityL(EFalse);
+                iNumberEntryManager->SetNumberEntryVisibilityL(EFalse);
                 }
             
-            CheckDisableHWKeysAndCallUIL();
-            
-            SetTouchPaneButtons( EPhoneIncomingCallButtons );
+            SetRingingTonePlaybackL( callStateData.CallId() );
+            UpdateUiCommands();
             BringIncomingToForegroundL();
-            iCbaManager->UpdateIncomingCbaL( callStateData.CallId() );
-            SetRingingTonePlaybackL( callStateData.CallId() );
             }
         SetBackButtonActive(EFalse);
         EndUiUpdate();
@@ -353,69 +321,19 @@
         iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId );
 
         // Idle message came for waiting call
-        if ( IsNumberEntryUsedL() )
+        if ( iNumberEntryManager->IsNumberEntryUsedL() )
             {
-            if ( NeedToSendToBackgroundL() )
-                {
-                iViewCommandHandle->ExecuteCommandL( EPhoneViewSendToBackground );
-                UpdateCbaL( EPhoneCallHandlingInCallCBA );
-                }
-            else
-                {
-                SetNumberEntryVisibilityL(ETrue);
-                }
-            }
-        else
-            {
-            UpdateCbaL( EPhoneCallHandlingInCallCBA );
-            // If numberentry is not open just check NeedToSendToBackgroundL and
-            // sendbackround if needed.
-            if ( NeedToSendToBackgroundL() )
-                {
-                iViewCommandHandle->ExecuteCommandL( EPhoneViewSendToBackground );
-                }
+            iNumberEntryManager->SetNumberEntryVisibilityL(ETrue);
             }
         
-        if( FeatureManager::FeatureSupported( KFeatureIdFfTouchUnlockStroke ) 
-            && iStateMachine->PhoneStorage()->IsScreenLocked() )
-            {
-            EnableCallUIL();
-            }
-        iStateMachine->PhoneStorage()->ResetBlockedKeysList();
-        SetTouchPaneButtons( EPhoneIncallButtons );
+        UpdateUiCommands();
         EndUiUpdate();
         iStateMachine->ChangeState( EPhoneStateSingle );
         }
 
     }
 
-// -----------------------------------------------------------
-// CPhoneSingleAndWaiting::HandleHeldL
-// -----------------------------------------------------------
-//
-void CPhoneSingleAndWaiting::HandleHeldL( TInt aCallId )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIStates,
-        "CPhoneSingleAndWaiting::HandleHeldL() ");
-    TPhoneCmdParamCallHeaderData callHeaderParam;
-    callHeaderParam.SetCallState( EPEStateHeld );
-    TBuf<KPhoneCallHeaderLabelMaxLength> labelText( KNullDesC );
-    TInt callLabelId = CPhoneMainResourceResolver::Instance()->
-            ResolveResourceID( EPhoneCallOnHold );
 
-    StringLoader::Load( labelText, callLabelId, CCoeEnv::Static() ); 
-    callHeaderParam.SetLabelText( labelText );
-
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId,
-        &callHeaderParam );
-
-    TPhoneCmdParamBoolean holdFlag;
-    holdFlag.SetBoolean( ETrue );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag );
-
-    UpdateInCallCbaL();
-    SetTouchPaneButtons( EPhoneWaitingCallButtons ); 
-    }
 
 // -----------------------------------------------------------
 // CPhoneSingleAndWaiting::HandleConnectedL
@@ -427,11 +345,12 @@
         "CPhoneSingleAndWaiting::HandleConnectedL() ");
     __PHONELOG1( EBasic, EPhoneUIStates,
         "CPhoneSingleAndWaiting::HandleConnectedL  (CallId=%d)", aCallId);
+    
     if ( iSingleCallId == aCallId )
         {
         // Connected message came for the hold call, we still
         // have the waiting call also
-        HandleUnholdL( aCallId );
+        UpdateBubbleAndUICommandsL( aCallId );
         }
     else
         {
@@ -448,17 +367,9 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates,
         "CPhoneSingleAndWaiting::HandleUnholdL() ");
-    TPhoneCmdParamCallHeaderData callHeaderParam;
-    callHeaderParam.SetCallState( EPEStateConnected );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId,
-        &callHeaderParam );
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId );
 
-    TPhoneCmdParamBoolean holdFlag;
-    holdFlag.SetBoolean( EFalse );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag );
-
-    UpdateInCallCbaL();
-    SetTouchPaneButtons( EPhoneWaitingCallButtons ); 
+    UpdateUiCommands(); 
     }
 
 // -----------------------------------------------------------
@@ -469,105 +380,33 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates,
         "CPhoneSingleAndWaiting::MakeStateTransitionToTwoSinglesL() ");
-    iStateMachine->PhoneStorage()->ResetBlockedKeysList();
     
     BeginUiUpdateLC();
 
     UpdateRemoteInfoDataL ( aCallId );
     
-    TPhoneCmdParamCallHeaderData callHeaderParam;
-    callHeaderParam.SetCallState( EPEStateConnected );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId,
-        &callHeaderParam );
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId );
 
-    TPhoneCmdParamBoolean holdFlag;
-    holdFlag.SetBoolean( EFalse );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag );
-
-    if ( IsNumberEntryUsedL() )
+    if ( iNumberEntryManager->IsNumberEntryUsedL() )
         {
-        if ( NeedToSendToBackgroundL() )
-            {
-            iViewCommandHandle->ExecuteCommandL( EPhoneViewSendToBackground );
-            UpdateCbaL( EPhoneCallHandlingInCallCBA );
-            }
-        else
-            {
-            SetNumberEntryVisibilityL(ETrue);
-            }
-        }
-    else
-        {
-        UpdateCbaL( EPhoneCallHandlingNewCallSwapCBA );
+        iNumberEntryManager->SetNumberEntryVisibilityL(ETrue);
         }
 
-    SetTouchPaneButtons( EPhoneTwoSinglesButtons );
+    UpdateUiCommands();
     EndUiUpdate();
     iStateMachine->ChangeState( EPhoneStateTwoSingles );
     }
 
 // -----------------------------------------------------------
-// CPhoneSingleAndWaiting::HandleDiallingL
+// CPhoneSingleAndWaiting::HandleDialingL
 // -----------------------------------------------------------
 //
-void CPhoneSingleAndWaiting::HandleDiallingL( TInt aCallId )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIStates,
-        "CPhoneSingleAndWaiting::HandleDiallingL() ");
-    BeginUiUpdateLC();
-    SetNumberEntryVisibilityL(EFalse);
-    DisplayCallSetupL( aCallId );
-
-    // Set Hold flag to view ( DTMF menu label have to present )
-    TPhoneCmdParamBoolean holdFlag;
-    holdFlag.SetBoolean( EFalse );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag );
-
-    SetTouchPaneButtons( EPhoneCallSetupButtons );
-    EndUiUpdate();
-
-    UpdateCbaL( EPhoneCallHandlingCallSetupCBA );
-    iStateMachine->ChangeState( EPhoneStateSingleAndCallSetupAndWaiting );
-    }
-
-// -----------------------------------------------------------
-// CPhoneSingleAndWaiting::DisplayCallSetupL
-// -----------------------------------------------------------
-//
-void CPhoneSingleAndWaiting::DisplayCallSetupL( TInt aCallId )
+void CPhoneSingleAndWaiting::HandleDialingL( TInt aCallId )
     {
     __LOGMETHODSTARTEND( EPhoneUIStates,
-        "CPhoneSingleAndWaiting::DisplayCallSetupL() ");
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewRemovePhoneDialogs );
-    
-    // Force telephony to the foreground
-    TPhoneCmdParamInteger uidParam;
-    uidParam.SetInteger( KUidPhoneApplication.iUid );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewBringAppToForeground,
-        &uidParam );
-    
-    DisplayHeaderForOutgoingCallL( aCallId );
-    }
-
-// -----------------------------------------------------------
-// CPhoneSingleAndWaiting::UpdateInCallCbaL
-// -----------------------------------------------------------
-//
-void CPhoneSingleAndWaiting::UpdateInCallCbaL()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIStates,
-        "CPhoneSingleAndWaiting::UpdateInCallCbaL() ");
-    TPhoneCmdParamInteger callIdParam;
-    iViewCommandHandle->ExecuteCommandL( 
-            EPhoneViewGetExpandedBubbleCallId, &callIdParam );
-    if ( callIdParam.Integer()==iSingleCallId )
-        {
-        CPhoneGsmInCall::UpdateInCallCbaL();
-        } 
-    else 
-        {
-        UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
-        }
+        "CPhoneSingleAndWaiting::HandleDialingL() ");
+    DisplayCallHeaderL( aCallId, ESetNEVisibilityFalse);
+    iStateMachine->ChangeState( EPhoneStateSingleAndCallSetupAndWaiting );
     }
 
 // -----------------------------------------------------------
@@ -594,20 +433,9 @@
 // CPhoneSingleAndWaiting::HandleDisconnectingL
 // -----------------------------------------------------------
 //
-void CPhoneSingleAndWaiting::HandleDisconnectingL( TInt aCallId )
+void CPhoneSingleAndWaiting::HandleDisconnectingL( TInt /*aCallId*/ )
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneSingleAndWaiting::HandleDisconnectingL( ) ");
-    
-    if( ( iSingleCallId == aCallId ) && IsVideoCall( aCallId ) )
-        {
-        __PHONELOG( EBasic, EPhoneControl, 
-            "CPhoneSingleAndWaiting::HandleDisconnectingL EPhoneViewSetNeedToSendToBackgroundStatus" );
-        TPhoneCmdParamBoolean booleanParam;
-        booleanParam.SetBoolean( EFalse );
-        iViewCommandHandle->ExecuteCommandL(
-            EPhoneViewSetNeedToSendToBackgroundStatus,
-            &booleanParam );
-        }
     }
 
 // -----------------------------------------------------------
@@ -617,7 +445,21 @@
 void CPhoneSingleAndWaiting::UpdateUiControlsL()
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneSingleAndWaiting::UpdateUiControlsL( ) ");
-    UpdateInCallCbaL();
+    UpdateUiCommands();
+    }
+
+// -----------------------------------------------------------
+// Updates bubble and ui commands
+// -----------------------------------------------------------
+//
+void CPhoneSingleAndWaiting::UpdateBubbleAndUICommandsL( 
+    TInt aCallId )
+    {
+    __LOGMETHODSTARTEND( EPhoneUIStates,
+        "CPhoneSingleAndWaiting::UpdateBubbleAndUICommandsL() ");
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId );
+
+    UpdateUiCommands(); 
     }
 
 // End of File
--- a/phoneapp/phoneuistates/src/cphonesinglecall.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphonesinglecall.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -46,7 +46,6 @@
 #include "cphonepubsubproxy.h"
 #include "cphonemediatorfactory.h"
 #include "cphonemediatorsender.h"
-#include "cphoneswitchtovideoorvoicecommand.h"
 #include "mphonestorage.h"
 #include "cphonecenrepproxy.h"
 
@@ -89,12 +88,9 @@
     iViewCommandHandle->HandleCommandL(
         EPhoneViewGetCallIdByState, &callStateData );
     
-    TPhoneCmdParamBoolean holdFlag;
-    holdFlag.SetBoolean( EFalse );
     // No connected call, 
     if( callStateData.CallId() == KErrNotFound )
         {
-        holdFlag.SetBoolean( ETrue );
         //find the held call.
         callStateData.SetCallState( EPEStateHeld );
         iViewCommandHandle->HandleCommandL(
@@ -105,12 +101,10 @@
             // find the disconnected call.
             callStateData.SetCallState( EPEStateDisconnecting );
             iViewCommandHandle->HandleCommandL(
-            EPhoneViewGetCallIdByState, &callStateData );    
+                    EPhoneViewGetCallIdByState, &callStateData );    
             }
         }
-    iCallId = callStateData.CallId();
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag );
-      
+    iCallId = callStateData.CallId();      
     }
 
 // -----------------------------------------------------------
@@ -146,7 +140,7 @@
     switch ( aCode )
         {
         case EKeyYes: // send-key
-            if( IsNumberEntryUsedL() )
+            if( iNumberEntryManager->IsNumberEntryUsedL() )
                 {
                 if ( IsVideoCallActiveL() )
                     {
@@ -162,7 +156,7 @@
                     if (  iStateMachine->PhoneEngineInfo()->PhoneNumberIsServiceCode() ||
                           phoneNumber->Des().Length() < KPhoneValidPhoneNumberLength )
                         {
-                        CallFromNumberEntryL();
+                        iNumberEntryManager->CallFromNumberEntryL();
                         }
                     else
                         {
@@ -173,7 +167,7 @@
                     }
                 else
                     {
-                    CallFromNumberEntryL();
+                    iNumberEntryManager->CallFromNumberEntryL();
                     }
                 }
             else
@@ -212,7 +206,7 @@
             break;
                 
         case MEngineMonitor::EPEMessageDialing:
-            HandleDiallingL( aCallId );
+            HandleDialingL( aCallId );
             break;
         
         /* Flow through */ 
@@ -251,49 +245,12 @@
         case EPhoneInCallCmdUnhold:
             ToggleHoldL();
             break;
-            
-        case EPhoneInCallCmdSwitchToVideo:
-            SwitchToVideoL();
-            break;
-            
-        case EPhoneCmdYesSwitchToVideo:
-            // Set current call id
-            iStateMachine->SetCallId( iCallId );
-            iStateMachine->SendPhoneEngineMessage(
-                CPEPhoneModelIF::EPEMessageSwitchToVideoOrVoice );
-            break;
         
         /* Flow through */ 
         case EPhoneInCallCmdNewCall:
-        case EPhoneInCallCmdNewCallCall:
-        case EPhoneInCallCmdSwitchToVoice:
-        case EPhoneCmdNoSwitchToVideo:
-        case EPhoneCmdNoSwitchToVoice:
             break;        
                 
-        case EPhoneCmdYesSwitchToVoice:
-            // Set current call id.
-            iStateMachine->SetCallId( iCallId );
-            if( IsVideoCall( iCallId ) )
-                {
-                // Video call can be released only after we get response to VT Shutdown Command
-                CPhoneMediatorFactory::Instance()->Sender()->IssueCommand( 
-                       KMediatorVideoTelephonyDomain,
-                       KCatPhoneToVideotelCommands, 
-                       EVtCmdReleaseDataport,
-                       TVersion( KPhoneToVideotelCmdVersionMajor,
-                             KPhoneToVideotelCmdVersionMinor, 
-                             KPhoneToVideotelCmdVersionBuild ),
-                       KNullDesC8,
-                       CPhoneSwitchToVideoOrVoiceCommand::NewL( *iStateMachine ) );
-                }
-            else
-                {
-                iStateMachine->SendPhoneEngineMessage(
-                  CPEPhoneModelIF::EPEMessageSwitchToVideoOrVoice );
-                }
-            break;
-
+        
         case EPhoneVideoSharing:
         case EPhoneVideoSharingOpt2:
         case EPhoneVideoSharingOpt3:
@@ -329,30 +286,11 @@
 void CPhoneSingleCall::HandleHeldL( TInt aCallId )
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
-        "CPhoneSingleCall::HandleHeldL()");
-    TPhoneCmdParamCallHeaderData callHeaderParam;
-    callHeaderParam.SetCallState( EPEStateHeld );
-    
-    TInt callLabelId;
-    TBuf<KPhoneCallHeaderLabelMaxLength> labelText( KNullDesC );
-    callLabelId = CPhoneMainResourceResolver::Instance()->
-            ResolveResourceID( EPhoneCallOnHold );
+        "CPhoneSingleCall::HandleHeldL()"); 
+    iViewCommandHandle->ExecuteCommandL( 
+        EPhoneViewUpdateBubble, aCallId );
 
-    StringLoader::Load( 
-        labelText, 
-        callLabelId, 
-        CCoeEnv::Static() );        
-    callHeaderParam.SetLabelText( labelText );
- 
-    iViewCommandHandle->ExecuteCommandL( 
-        EPhoneViewUpdateBubble, aCallId, &callHeaderParam );
-    
-    TPhoneCmdParamBoolean holdFlag;
-    holdFlag.SetBoolean( ETrue );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag );
-
-    UpdateInCallCbaL();
-    SetTouchPaneButtons( EPhoneIncallHeldButtons );
+    UpdateUiCommands();
     }
     
 // -----------------------------------------------------------
@@ -363,23 +301,9 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneSingleCall::HandleConnectedL()");
-    TPhoneCmdParamCallHeaderData callHeaderParam;
-    callHeaderParam.SetCallState( EPEStateConnected );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId, 
-        &callHeaderParam );
-    
-    // Get initial hold flag from view. 
-    TPhoneCmdParamBoolean holdFlag;
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewGetHoldFlag, &holdFlag );
-        
-    if ( holdFlag.Boolean() )
-        {
-        holdFlag.SetBoolean( EFalse );
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag );
-        }
-
-    UpdateInCallCbaL();  
-    SetTouchPaneButtons( EPhoneIncallButtons );
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId );
+ 
+    UpdateUiCommands();
     }
     
 // -----------------------------------------------------------
@@ -420,154 +344,20 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneSingleCall::HandleIncomingL()");
-    BeginUiUpdateLC();
-    
-    // Get allow waiting call header param value.
-    TPhoneCmdParamBoolean dialerParam;
-    dialerParam.SetBoolean( ETrue );
-    AllowShowingOfWaitingCallHeaderL( dialerParam );
-    
-    DisplayIncomingCallL( aCallId, dialerParam );
-    SetTouchPaneButtons( EPhoneWaitingCallButtons ); 
-    
-    if( FeatureManager::FeatureSupported( KFeatureIdFfTouchUnlockStroke ) 
-            && !CPhoneCenRepProxy::Instance()->
-            IsTelephonyFeatureSupported( KTelephonyLVFlagAllowUnlockOnIncoming ) 
-            && ( IsKeyLockOn() || IsAutoLockOn() ) )
-        {
-        DisableCallUIL();
-        }
-    else
-        {
-        // if keys have been locked, disable keylock without information note
-        if ( IsKeyLockOn() )
-            {
-            iViewCommandHandle->ExecuteCommandL( EPhoneViewDisableKeyLockWithoutNote );
-            }
-        }
-    
-    if( CPhoneCenRepProxy::Instance()->
-            IsTelephonyFeatureSupported( KTelephonyLVFlagDisableCallControlHardKeysWhileLocked ) 
-            && ( IsKeyLockOn() || IsAutoLockOn() ) )
-        {
-        DisableHWKeysL();
-        }
-        
-    EndUiUpdate();
-
-    // This query is required to dismiss
-    // Operation cannot be completed in waiting and single state
-    if ( iSwitchToVideoQuery )
-        {
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveQuery );
-        }
-    
-    UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
-    iStateMachine->ChangeState( EPhoneStateWaitingInSingle );        
-    }
-    
-// -----------------------------------------------------------
-// CPhoneSingleCall::DisplayIncomingCallL
-// -----------------------------------------------------------
-//
-void CPhoneSingleCall::DisplayIncomingCallL( 
-    TInt aCallId, 
-    const TPhoneCmdParamBoolean aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIStates, 
-        "CPhoneSingleCall::DisplayIncomingCallL()");
-    // Cannot delete active note, e.g. New call query, 
-    // but show waiting note with or without caller name
-    if ( IsAnyQueryActiveL() || !aCommandParam.Boolean() )
-        {
-        CallWaitingNoteL( aCallId );
-        }
-    else
-        {
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewRemovePhoneDialogs );
-        }
-    
-    // Indicate that the Phone needs to be sent to the background if
-    // an application other than the top application is in the foreground
-    TPhoneCmdParamBoolean booleanParam;
-    booleanParam.SetBoolean( !TopAppIsDisplayedL() );
-    iViewCommandHandle->ExecuteCommandL( 
-        EPhoneViewSetNeedToSendToBackgroundStatus,
-        &booleanParam );
-
-    TPhoneCmdParamInteger uidParam;
-    uidParam.SetInteger( KUidPhoneApplication.iUid );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewBringAppToForeground,
-        &uidParam );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetTopApplication,
-        &uidParam );
-    DisplayHeaderForCallComingInL( aCallId, ETrue ); //waiting call 
-    }    
-// -----------------------------------------------------------
-// CPhoneSingleCall::HandleDiallingL
-// -----------------------------------------------------------
-//
-void CPhoneSingleCall::HandleDiallingL( TInt aCallId )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIStates, 
-        "CPhoneSingleCall::HandleDiallingL()");
-    BeginUiUpdateLC();
-    SetNumberEntryVisibilityL(EFalse);
-    DisplayCallSetupL( aCallId );
-    SetTouchPaneButtons( EPhoneCallSetupAndSingleButtons );
-    EndUiUpdate();
-    
-    UpdateCbaL( EPhoneCallHandlingCallSetupCBA );
-    iStateMachine->ChangeState( EPhoneStateCallSetupInSingle );
-    }
-    
-// -----------------------------------------------------------
-// CPhoneSingleCall::DisplayCallSetupL
-// -----------------------------------------------------------
-//
-void CPhoneSingleCall::DisplayCallSetupL( TInt aCallId )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIStates, 
-        "CPhoneSingleCall::DisplayCallSetupL()");
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewRemovePhoneDialogs );
-    TPhoneCmdParamInteger uidParam;
-    uidParam.SetInteger( KUidPhoneApplication.iUid );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewBringAppToForeground,
-        &uidParam );
-
-    DisplayHeaderForOutgoingCallL( aCallId );
+    DisplayCallHeaderL( aCallId, ECheckIfNEUsedBeforeSettingVisibilityFalse );
+    iStateMachine->ChangeState( EPhoneStateWaitingInSingle );
     }
 
 // -----------------------------------------------------------
-// CPhoneSingleCall::SwitchToVideoL
+// CPhoneSingleCall::HandleDialingL
 // -----------------------------------------------------------
 //
-void CPhoneSingleCall::SwitchToVideoL()
+void CPhoneSingleCall::HandleDialingL( TInt aCallId )
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
-        "CPhoneSingleCall::SwitchToVideoL()");
-    if( FeatureManager::FeatureSupported( KFeatureIdCsVideoTelephony ) )
-        {        
-        TInt networkMode( CPhonePubSubProxy::Instance()->Value( KPSUidNetworkInfo,
-            KNWTelephonyNetworkMode ) );
-        TBool restoreOngoing( CPhonePubSubProxy::Instance()->Value( KUidSystemCategory,
-            conn::KUidBackupRestoreKey ));
-        if ( networkMode != ENWNetworkModeWcdma )
-            {
-            // We aren't in 3G, video call not possible
-            SendGlobalInfoNoteL( EPhoneInformationNoNetworkSupportForVideoCallNote );    
-            }
-        else if ( restoreOngoing & ( conn::EBURRestoreFull | conn::EBURRestorePartial ))
-            {
-            SendGlobalInfoNoteL( EPhoneInformationVideoCallNotAllowedDuringRestoreNote );
-            }
-        else
-            {
-            iSwitchToVideoQuery = ETrue;
-            iSwitchToVideoQuery = EFalse;
-            }    
-        }
+        "CPhoneSingleCall::HandleDialingL()");
+    DisplayCallHeaderL( aCallId, ESetNEVisibilityFalse);
+    iStateMachine->ChangeState( EPhoneStateCallSetupInSingle );
     }
 
-
 // End of File
--- a/phoneapp/phoneuistates/src/cphonestatemachinegsm.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphonestatemachinegsm.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -279,6 +279,10 @@
         {
         __PHONELOGSTATECHANGE( iOldStateId, iNewStateId );
         iOldStateId = iNewStateId;
+        
+        // Needs to be set or any attempts to access eikon env handle
+        // will fail
+        iState->SetEikonEnv( EikonEnv() );
         }
 
     return iState;
--- a/phoneapp/phoneuistates/src/cphonetwosingles.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphonetwosingles.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -157,32 +157,8 @@
         {
         case EOneActiveCall:
             {   
-            if ( IsNumberEntryUsedL() )
-                {
-                SetNumberEntryVisibilityL(ETrue);
-                }
-            else
-                {
-                UpdateCbaL( EPhoneCallHandlingInCallCBA );
-                }
-            
-            TPhoneCmdParamCallStateData callStateData;  
-            callStateData.SetCallState( EPEStateHeld );
-            iViewCommandHandle->HandleCommandL(
-                EPhoneViewGetCallIdByState, &callStateData );
-            TInt holdCallId = callStateData.CallId();
-            
-            TPhoneCmdParamBoolean holdFlag;
-            if ( holdCallId < 0 )
-                {
-                holdFlag.SetBoolean( EFalse );
-                }
-            else
-                {
-                holdFlag.SetBoolean( ETrue );
-                }
-            iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag );
-            SetTouchPaneButtons( EPhoneIncallButtons );
+            iNumberEntryManager->SetVisibilityIfNumberEntryUsedL(ETrue);
+            UpdateUiCommands();
             iStateMachine->ChangeState( EPhoneStateSingle ); 
             }
             
@@ -206,14 +182,14 @@
         {
         case EKeyYes: // send-key
             {
-            if ( !IsNumberEntryVisibleL() )
+            if ( !iNumberEntryManager->IsNumberEntryVisibleL() )
                 {
                 iStateMachine->SendPhoneEngineMessage(
                     CPEPhoneModelIF::EPEMessageSwap );
                 }
             else
                 {
-                CallFromNumberEntryL();
+                iNumberEntryManager->CallFromNumberEntryL();
                 }
             break;    
             }
@@ -232,13 +208,8 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneTwoSingles::HandleConnectedL()");
-    
-    TPhoneCmdParamCallHeaderData callHeaderParam;
-    callHeaderParam.SetCallState( EPEStateConnected );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId, 
-        &callHeaderParam );
-    
-    SetTouchPaneButtons( EPhoneIncallButtons );
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId );
+    UpdateUiCommands();
     }
     
 // -----------------------------------------------------------
@@ -249,23 +220,8 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneTwoSingles::HandleHeldL()");
-    TPhoneCmdParamCallHeaderData callHeaderParam;
-    callHeaderParam.SetCallState( EPEStateHeld );
-    
-    TBuf<KPhoneCallHeaderLabelMaxLength> labelText( KNullDesC );
-    TInt callLabelId = CPhoneMainResourceResolver::Instance()->
-            ResolveResourceID( EPhoneCallOnHold );
-
-    StringLoader::Load( 
-        labelText, 
-        callLabelId, 
-        CCoeEnv::Static() );        
-    callHeaderParam.SetLabelText( labelText );
-    
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId, 
-        &callHeaderParam );
-    
-    SetTouchPaneButtons( EPhoneIncallButtons );
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId );
+    UpdateUiCommands();
     }
     
 // -----------------------------------------------------------
@@ -276,7 +232,7 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneTwoSingles::HandleNumberEntryClearedL()");
-    UpdateCbaL( EPhoneCallHandlingNewCallSwapCBA );
+    UpdateUiCommands();
     }
 
 // -----------------------------------------------------------
@@ -287,44 +243,10 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneTwoSingles::HandleConnectedConferenceL()");
-    TPhoneCmdParamCallHeaderData callHeaderParam;
-
-    TInt callLabelId;
-    TBuf<KPhoneCallHeaderLabelMaxLength> conferenceText( KNullDesC );
-    callLabelId = CPhoneMainResourceResolver::Instance()->
-            ResolveResourceID( EPhoneCLIConferenceCall );
-
-    StringLoader::Load( 
-        conferenceText, 
-        callLabelId, 
-        CCoeEnv::Static() );
-    callHeaderParam.SetCLIText( conferenceText, TPhoneCmdParamCallHeaderData::ERight );
-    
-    callHeaderParam.SetCallState(EPEStateConnectedConference);
     BeginUiUpdateLC();
-    
-    callHeaderParam.SetCiphering(
-        iStateMachine->PhoneEngineInfo()->IsSecureCall( aCallId ) );
-        
-    callHeaderParam.SetCipheringIndicatorAllowed(
-        iStateMachine->PhoneEngineInfo()->SecureSpecified() );
-    
-    // Service identifier must be given so that service specific settings
-    // can be taken into account at phoneuiview.
-    callHeaderParam.SetServiceId( 
-        iStateMachine->PhoneEngineInfo()->ServiceId( aCallId ) );
-    
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewCreateConference, aCallId,
-        &callHeaderParam );
-
-    TPhoneCmdParamBoolean holdFlag;
-    holdFlag.SetBoolean( EFalse );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag );
-
-    SetTouchPaneButtons( EPhoneConferenceButtons );
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewCreateConference, aCallId );
+    UpdateUiCommands();
     EndUiUpdate();
-    
-    UpdateCbaL( EPhoneCallHandlingInCallCBA );
     iStateMachine->ChangeState( EPhoneStateConference );
     }
 
@@ -335,73 +257,9 @@
 void CPhoneTwoSingles::HandleIncomingL( TInt aCallId )
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
-        "CPhoneTwoSingles::HandleIncomingL()");
-    BeginUiUpdateLC();
-    
-    // Get allow waiting call header param value.
-    TPhoneCmdParamBoolean dialerParam;
-    dialerParam.SetBoolean( ETrue );
-    AllowShowingOfWaitingCallHeaderL( dialerParam );
-    
-    // Close fast swap window if it's displayed
-    CEikonEnv::Static()->DismissTaskList();
-    
-    DisplayIncomingCallL( aCallId, dialerParam );
-    CheckDisableHWKeysAndCallUIL();
-    SetTouchPaneButtons( EPhoneWaitingCallButtons );
-    EndUiUpdate();
-    
-    iCbaManager->SetCbaL( EPhoneCallHandlingIncomingRejectCBA );
+            "CPhoneTwoSingles::HandleIncomingL()");
+    DisplayCallHeaderL( aCallId, ECheckIfNEUsedBeforeSettingVisibilityFalse );
     iStateMachine->ChangeState( EPhoneStateTwoSinglesAndWaiting );
     }
 
-// -----------------------------------------------------------
-// CPhoneTwoSingles::DisplayIncomingCallL
-// -----------------------------------------------------------
-//
-void CPhoneTwoSingles::DisplayIncomingCallL( 
-    TInt aCallId, 
-    const TPhoneCmdParamBoolean aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIStates,
-         "CPhoneTwoSingles::DisplayIncomingCallL()"); 
-    // Cannot delete active note, e.g. New call query, 
-    // but show waiting note with or without caller name
-    if ( IsAnyQueryActiveL() || !aCommandParam.Boolean() )
-        {
-        CallWaitingNoteL( aCallId );
-        }
-    else
-        {
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewRemovePhoneDialogs );
-        }
-
-    // Indicate that the Phone needs to be sent to the background if
-    // an application other than the top application is in the foreground
-    TPhoneCmdParamBoolean booleanParam;
-    booleanParam.SetBoolean( !TopAppIsDisplayedL() );
-    iViewCommandHandle->ExecuteCommandL( 
-        EPhoneViewSetNeedToSendToBackgroundStatus,
-        &booleanParam );
-
-    TPhoneCmdParamInteger uidParam;
-    uidParam.SetInteger( KUidPhoneApplication.iUid );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewBringAppToForeground,
-        &uidParam );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetTopApplication,
-        &uidParam );
-
-    CPhoneState::DisplayHeaderForCallComingInL( aCallId, ETrue ); //waiting call 
-    }
-    
-// -----------------------------------------------------------
-// CPhoneTwoSingles::UpdateInCallCbaL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneTwoSingles::UpdateInCallCbaL()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneTwoSingles::UpdateInCallCbaL() ");
-    UpdateCbaL( EPhoneCallHandlingNewCallSwapCBA );
-    }
-
 // End of File
--- a/phoneapp/phoneuistates/src/cphonetwosinglesandwaiting.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphonetwosinglesandwaiting.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -113,9 +113,9 @@
         {
         case EKeyYes: // send-key
             {
-            if( IsNumberEntryVisibleL() )
+            if( iNumberEntryManager->IsNumberEntryVisibleL() )
                 {
-                CallFromNumberEntryL();
+                iNumberEntryManager->CallFromNumberEntryL();
                 }
             else
                 {
@@ -134,22 +134,6 @@
     }
 
 // -----------------------------------------------------------
-// CPhoneTwoSinglesAndWaiting::HandleKeyEventL
-// -----------------------------------------------------------
-//
-void CPhoneTwoSinglesAndWaiting::HandleKeyEventL(
-    const TKeyEvent& aKeyEvent,
-    TEventCode /*aEventCode*/ )
-    {
-    if( EKeyDeviceF == aKeyEvent.iCode )
-        {
-        __PHONELOG( EBasic, EPhoneUIStates,
-            "CPhoneTwoSinglesAndWaiting::HandleKeyMessageL-deviceF" );
-        HandleHoldSwitchL();
-        }
-    }
-
-// -----------------------------------------------------------
 // CPhoneTwoSinglesAndWaiting::HandlePhoneEngineMessageL
 // -----------------------------------------------------------
 //
@@ -165,7 +149,7 @@
             HandleIdleL( aCallId );
             break;
         case MEngineMonitor::EPEMessageConnected:
-            UpdateInCallCbaL();
+            UpdateUiCommands();
             CPhoneTwoSingles::HandlePhoneEngineMessageL( aMessage, aCallId );
             break;           
         default:
@@ -226,40 +210,10 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneTwoSinglesAndWaiting::StateTransitionToTwoSinglesL()");
-    if ( IsNumberEntryUsedL() )
-        {
-        if ( NeedToSendToBackgroundL() )
-            {
-            iViewCommandHandle->ExecuteCommandL( EPhoneViewSendToBackground );
-            UpdateCbaL( EPhoneCallHandlingInCallCBA );
-            }
-        else
-            {
-            SetNumberEntryVisibilityL(ETrue);
-            }
-        } 
-    else
-        {
-        // Set Two singles softkeys
-        UpdateCbaL( EPhoneCallHandlingNewCallSwapCBA );
-        
-        // If numberentry is not open just check NeedToSendToBackgroundL and 
-        // sendbackround if needed.
-        if ( NeedToSendToBackgroundL() )
-            {
-            iViewCommandHandle->ExecuteCommandL( EPhoneViewSendToBackground );
-            }
-        }
-
-    if( FeatureManager::FeatureSupported( KFeatureIdFfTouchUnlockStroke ) 
-        && iStateMachine->PhoneStorage()->IsScreenLocked() )
-        {
-        EnableCallUIL();
-        }
+    iNumberEntryManager->SetVisibilityIfNumberEntryUsedL(ETrue);
     
-    iStateMachine->PhoneStorage()->ResetBlockedKeysList();
-    SetTouchPaneButtons( EPhoneTwoSinglesButtons );
-    iStateMachine->ChangeState( EPhoneStateTwoSingles );                     
+    UpdateUiCommands();
+    iStateMachine->ChangeState( EPhoneStateTwoSingles );
     }
 
 // -----------------------------------------------------------
@@ -270,20 +224,7 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneTwoSinglesAndWaiting::StateTransitionToSingleAndWaitingL()")
-    TPhoneCmdParamInteger callIdParam;
-    iViewCommandHandle->ExecuteCommandL( 
-            EPhoneViewGetExpandedBubbleCallId, &callIdParam );
-    
-    if ( callIdParam.Integer()!=iRingingCallId )
-        {
-        CPhoneGsmInCall::UpdateInCallCbaL();
-        } 
-    else 
-        {
-        UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
-        }
-    CheckDisableHWKeysAndCallUIL();
-    SetTouchPaneButtons( EPhoneWaitingCallButtons );
+    UpdateUiCommands();
     iStateMachine->ChangeState( EPhoneStateWaitingInSingle );
     }
 
@@ -296,65 +237,12 @@
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneTwoSinglesAndWaiting::HandleConnectedConferenceL()");
     BeginUiUpdateLC();
-    
-    TInt callLabelId;
-    TBuf<KPhoneCallHeaderLabelMaxLength> conferenceText( KNullDesC );
-    callLabelId = CPhoneMainResourceResolver::Instance()->
-            ResolveResourceID( EPhoneCLIConferenceCall );
-    StringLoader::Load( 
-        conferenceText, 
-        callLabelId, 
-        CCoeEnv::Static() );
-    
-    TPhoneCmdParamCallHeaderData callHeaderParam;
-    callHeaderParam.SetCLIText( conferenceText, TPhoneCmdParamCallHeaderData::ERight );
-    callHeaderParam.SetCallState(EPEStateConnectedConference);
-    callHeaderParam.SetCiphering(
-        iStateMachine->PhoneEngineInfo()->IsSecureCall( aCallId ) );
-    callHeaderParam.SetCipheringIndicatorAllowed(
-        iStateMachine->PhoneEngineInfo()->SecureSpecified() );
-    // Service identifier must be given so that service specific settings
-    // can be taken into account at phoneuiview.
-    callHeaderParam.SetServiceId( 
-        iStateMachine->PhoneEngineInfo()->ServiceId( aCallId ) );
-    
-    CheckDisableHWKeysAndCallUIL();
 
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewCreateConference, aCallId,
-        &callHeaderParam );
-        
-    // Clear the flag
-    TPhoneCmdParamBoolean booleanParam;
-    booleanParam.SetBoolean( EFalse );
-    iViewCommandHandle->ExecuteCommandL( 
-        EPhoneViewSetNeedToSendToBackgroundStatus, &booleanParam );
-    
-    SetTouchPaneButtons( EPhoneWaitingCallButtons );
-    UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewCreateConference, aCallId );
+    UpdateUiCommands();
     EndUiUpdate();
     iStateMachine->ChangeState( EPhoneStateConferenceAndWaiting );
     }
-    
-// -----------------------------------------------------------
-// CPhoneTwoSinglesAndWaiting::UpdateInCallCbaL
-// -----------------------------------------------------------
-//
-void CPhoneTwoSinglesAndWaiting::UpdateInCallCbaL()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIStates, 
-        "CPhoneTwoSinglesAndWaiting::UpdateInCallCbaL()");
-    TPhoneCmdParamInteger callIdParam;
-    iViewCommandHandle->ExecuteCommandL( 
-            EPhoneViewGetExpandedBubbleCallId, &callIdParam );
-    if ( callIdParam.Integer()!=iRingingCallId )
-        {
-        CPhoneGsmInCall::UpdateInCallCbaL();
-        } 
-    else 
-        {
-        iCbaManager->SetCbaL( EPhoneCallHandlingIncomingRejectCBA );
-        }
-    }
 
 // -----------------------------------------------------------
 // CPhoneTwoSinglesAndWaiting::HandleNumberEntryClearedL()
@@ -364,7 +252,7 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneTwoSinglesAndWaiting::HandleNumberEntryClearedL()");
-    UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
+    UpdateUiCommands();
     }
 
 // -----------------------------------------------------------
@@ -397,7 +285,7 @@
 void CPhoneTwoSinglesAndWaiting::UpdateUiControlsL()
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneSingleAndWaiting::UpdateUiControlsL( ) ");
-    UpdateInCallCbaL();
+    UpdateUiCommands();
     }
 
 // End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/common/CPhoneStateMachineStub.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,45 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <e32base.h>
+#include <eikenv.h>
+#include <cphonestatemachine.h>
+
+class CPhoneStateMachineStub : public CPhoneStateMachine
+    {
+public:
+
+    static CPhoneStateMachineStub*  NewL()
+        {
+        return new (ELeave) CPhoneStateMachineStub;
+        }
+
+    CPhoneStateMachineStub::CPhoneStateMachineStub():
+        CPhoneStateMachine(NULL)
+        {}
+        
+    CPhoneStateMachineStub::~CPhoneStateMachineStub(){}
+       
+   	void CPhoneStateMachineStub::ChangeState( TInt aState ) 
+    	{
+    	iState = aState;
+    	}
+
+public: // data
+   TInt           iState;
+   
+    };
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/common/CPhoneViewControllerStub.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,402 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include "MPhoneViewCommandHandle.h"
+#include "TPhoneCommandParam.h"
+#include "TPhoneCmdParamBoolean.h"
+#include "TPhoneCmdParamInteger.h"
+#include "TPhoneCmdParamEmergencyCallHeaderData.h"
+#include "TPhoneCmdParamCallStateData.h"
+
+#include "TPhoneCmdParamCallHeaderData.h"
+
+struct TCmds
+     {
+public:
+     TInt iCmd;
+     TPhoneUICommandParam* iP;
+     }; 
+
+class CPhoneViewController : public MPhoneViewCommandHandle, public CBase
+    {
+   
+    
+    public:  // Constructors and destructor
+        
+        CPhoneViewController(){}
+      
+        static CPhoneViewController*  NewL()
+            {
+            CPhoneViewController* self = new (ELeave) CPhoneViewController();
+            return self;
+            }
+        
+        
+        /**
+        * Destructor.
+        */
+        ~CPhoneViewController()
+            {
+            if(iCmds)
+                {
+                for(TInt i = 0; i<iCmds->Count(); i++)
+                    {
+                    TCmds t = iCmds->At(i);
+                    delete t.iP;
+                
+                    }
+                
+                iCmds->Reset();
+                }
+            
+            delete iCmds;
+            };
+
+    public: // New functions
+        
+        /**
+        * Execute Command with given Command Id
+        * @param aCmdId Command Id
+        * @return None
+        */
+        void ExecuteCommandL( 
+            TPhoneViewCommandId aCmdId )
+            {
+            if(iCmds == NULL)
+                iCmds = new (ELeave) CArrayFixFlat<TCmds> (10);
+            TCmds cmd;
+            cmd.iCmd = aCmdId;
+            cmd.iP = NULL;
+            iCmds->AppendL( cmd );
+            }
+
+        /**
+        * Execute Command with given Command Id  and Call Id
+        * @param aCmdId Command Id
+        * @param aCallId Call Id
+        * @return None
+        */
+         void ExecuteCommandL( 
+            TPhoneViewCommandId aCmdId, 
+            TInt /*aCallId*/ ) 
+            {
+            ExecuteCommandL( aCmdId );
+            
+            }
+
+         /**
+        * Execute Command with given command id, call id and command parameter.
+        * @param aCmdId Command Id
+        * @param aCommandParam Command parameter
+        * @return None
+        */
+         void ExecuteCommandL( 
+            TPhoneViewCommandId aCmdId, 
+            TPhoneCommandParam* aCommandParam ) 
+             {
+             if( iCmds == NULL )
+                 iCmds = new (ELeave) CArrayFixFlat<TCmds> (10);
+            TCmds cmd;
+            cmd.iCmd = aCmdId;
+            
+            switch ( aCmdId )
+                {
+                case EPhoneViewGetCountOfActiveCalls:
+                    {
+                    if ( aCommandParam->ParamId() == 
+                            TPhoneCommandParam::EPhoneParamIdInteger )
+                        {
+                        TPhoneCmdParamInteger* intParam = 
+                            static_cast<TPhoneCmdParamInteger*>( aCommandParam );
+                        
+                        intParam->SetInteger( iActiveCallCount );
+                        }
+                    }
+                    break;
+                                   
+                case EPhoneViewGetCallExistsInConference:
+                    {
+                    if ( aCommandParam->ParamId() == 
+                            TPhoneCommandParam::EPhoneParamIdBoolean )
+                        {
+                        static_cast<TPhoneCmdParamBoolean*>(aCommandParam)->SetBoolean( iCallExistsInConference ); 
+                        }
+                    }
+                    break;
+                }
+            
+            if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
+                {
+                TPhoneCmdParamBoolean* value =
+                                            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
+                TPhoneCmdParamBoolean* value2 = new (ELeave) TPhoneCmdParamBoolean (*value);
+                cmd.iP = value2;
+                }
+            else if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdInteger )
+                {
+                TPhoneCmdParamInteger* value =
+                             static_cast<TPhoneCmdParamInteger*>( aCommandParam );
+                TPhoneCmdParamInteger* value2 = new (ELeave) TPhoneCmdParamInteger (*value);
+                cmd.iP = value2;             
+                }
+            else if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdCallHeaderData )
+                {
+                TPhoneCmdParamCallHeaderData* value =
+                            static_cast<TPhoneCmdParamCallHeaderData*>( aCommandParam );
+                TPhoneCmdParamCallHeaderData* value2 = new (ELeave) TPhoneCmdParamCallHeaderData( *value);  
+                cmd.iP = value2;             
+                }
+            else if(  aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdEmergencyCallHeaderData)
+                {
+                TPhoneCmdParamEmergencyCallHeaderData* value =
+                                            static_cast<TPhoneCmdParamEmergencyCallHeaderData*>( aCommandParam );
+                TPhoneCmdParamEmergencyCallHeaderData* value2 = new (ELeave) TPhoneCmdParamEmergencyCallHeaderData( *value);      
+                cmd.iP = value2;       
+                }
+             else
+                {
+                cmd.iP = NULL;
+                }
+            
+            iCmds->AppendL( cmd );
+            }
+
+         /**
+        * Execute Command with given command id, call id and command parameter.
+        * @param aCmdId Command Id
+        * @param aCallId Call Id
+        * @param aCommandParam Command parameter
+        * @return None
+        */
+         void ExecuteCommandL( 
+            TPhoneViewCommandId aCmdId, 
+            TInt /*aCallId*/, 
+            TPhoneCommandParam* aCommandParam ) 
+             {
+             ExecuteCommandL( aCmdId, aCommandParam );
+             }
+
+        /**
+        * Execute Command with given command id, call id and message.
+        * @param aCmdId Command Id
+        * @param aCallId Call Id
+        * @param aMessage Command message
+        */
+        void ExecuteCommandL( 
+            TPhoneViewCommandId /*aCmdId*/, 
+            TInt /*aCallId*/, 
+            TDesC& /*aMessage*/ ){}
+
+        /**
+        * From MPhoneViewCommandHandle
+        */    
+        void ExecuteCommand( 
+                   TPhoneViewCommandId /*aCmdId*/ ){}
+                   
+        /**
+        * From MPhoneViewCommandHandle
+        */
+        void ExecuteCommand( 
+                   TPhoneViewCommandId aCmdId, 
+                   TPhoneCommandParam* /*aCommandParam*/ )
+            {
+            ExecuteCommandL( aCmdId );
+            }
+
+        /**
+        * Handle Command with given Command Id
+        * @param aCmdId Command Id
+        * @return TPhoneViewResponseId
+        */
+        TPhoneViewResponseId HandleCommandL( 
+            TPhoneViewCommandId /*aCmdId*/ ) { return iViewResponseId; }
+
+        /**
+        * Handle Command with given command id and command parameter.
+        * @param aCmdId Command Id
+        * @param aCommandParam Command parameter
+        * @return TPhoneViewResponseId
+        */
+        TPhoneViewResponseId HandleCommandL( 
+            TPhoneViewCommandId /*aCmdId*/, 
+            TPhoneCommandParam* aCommandParam ) 
+            {
+            
+            if ( aCommandParam->ParamId() == 
+                 TPhoneCommandParam::EPhoneParamIdCallStateData )
+                {
+                TPhoneCmdParamCallStateData* stateParam = 
+                          static_cast<TPhoneCmdParamCallStateData*>( aCommandParam );
+                     stateParam->SetCallId( iCallId );
+                }
+                
+            return iViewResponseId; }
+       
+        /**
+        * Execute Command with given Command Id
+        */     
+         const TDesC& FetchContent() { return KNullDesC();}     
+   
+  //helper functions:       
+         
+         TInt VerifyViewCommand( const TInt& aCmd )
+             {
+             _LIT(KDesC, "Checking command id = %d ");
+             EUNIT_PRINT( KDesC(), aCmd );
+             
+             TInt count = iCmds->Count();
+             TBool cmdFound = EFalse;
+             TInt i = 0;
+             for ( ; i < count; i++ )
+                 {
+                 TCmds cmd = iCmds->At(i);
+                 if( cmd.iCmd == aCmd )  
+                     {
+                     cmdFound = ETrue;
+                     break;
+                     }
+                 }
+             
+             EUNIT_ASSERT_DESC( cmdFound, "View Command not ok" );
+             return i;
+             }
+
+         void VerifyViewCommandBoolean( const TInt& aCmd, const TBool& aValue )
+             {
+             TBool paramOk = EFalse;
+             
+             for( TInt j = 0 ; j<iCmds->Count(); j++)
+                  {
+                  TCmds cmd = iCmds->At(j);
+                  if( cmd.iCmd == aCmd )  
+                      {
+                      _LIT(KDesC, "Checking command id = %d ");
+                      EUNIT_PRINT( KDesC(), aCmd );
+                      
+                      TPhoneUICommandParam* p = cmd.iP;
+                      TPhoneCmdParamBoolean* booleanValue =
+                                        static_cast<TPhoneCmdParamBoolean*>( p );
+                      TBool val = booleanValue->Boolean();
+                      if( val == aValue )
+                          {
+                          paramOk = ETrue;
+                          break;
+                          }
+                      }
+                  }
+             
+             EUNIT_ASSERT_DESC( paramOk, "View Boolean param not ok" );
+             }
+
+         void VerifyViewCommandInteger( const TInt& aCmd, const TInt& aValue )
+             {
+             TBool paramOk = EFalse;
+            
+             for( TInt j = 0 ; j< iCmds->Count(); j++)
+                 {
+                 TCmds cmd = iCmds->At(j);
+                 if( cmd.iCmd == aCmd )  
+                     {
+                     _LIT(KDesC, "Checking command id = %d ");
+                     EUNIT_PRINT( KDesC(), aCmd );
+                     TPhoneCmdParamInteger* value = static_cast<TPhoneCmdParamInteger*>( cmd.iP );
+                     
+                     if( value->Integer() == aValue )
+                         {
+                         paramOk = ETrue;
+                         break;
+                         }
+                     }
+                 }
+                 
+             EUNIT_ASSERT_DESC( paramOk, "View Integer param not ok" );
+             }
+
+         void VerifyViewCommandCallHeader( const TInt& aCmd, const TPhoneCmdParamCallHeaderData& aValue )
+             {
+             TBool paramOk = EFalse;
+             
+             for( TInt j = 0 ; j< iCmds->Count(); j++)
+                 {
+                 TCmds cmd = iCmds->At(j);
+                 if( cmd.iCmd == aCmd )  
+                     {
+                     _LIT(KDesC, "Checking command id = %d ");
+                     EUNIT_PRINT( KDesC(), aCmd );
+                     TPhoneCmdParamCallHeaderData* value = static_cast<TPhoneCmdParamCallHeaderData*>( cmd.iP );
+                     if( CheckCallheaderValues( *value, aValue) == KErrNone )
+                         {
+                         paramOk = ETrue;
+                         break;
+                         }
+                     }
+                 }
+             
+             EUNIT_ASSERT_DESC( paramOk, "View Call Header param not ok" );
+             }
+
+         TInt CheckCallheaderValues(const TPhoneCmdParamCallHeaderData& aActual, 
+                 const TPhoneCmdParamCallHeaderData& aExpected )
+             {
+             EUNIT_PRINT(_L("Checking CallHeaderData"));
+             if( aActual.CallState() != aExpected.CallState())
+                 {
+                 EUNIT_PRINT(_L("CallState does not match."));
+                 return KErrNotFound;
+                 }
+             
+             if(aActual.Line2() != aExpected.Line2() )
+                 {
+                 EUNIT_PRINT(_L("Line2 does not match."));
+                 return KErrNotFound;
+                 }
+                 
+             return KErrNone;
+             }
+
+         void SetViewGetCountOfActiveCalls( TInt aValue )
+             {
+             iActiveCallCount = aValue;
+             }
+
+
+         void SetViewGetCallExistsInConference( TInt aValue )
+             {
+             iCallExistsInConference = aValue;
+             }         
+         
+         void ResetCommands()
+             {
+             if(iCmds)
+                 {
+                 for(TInt i = 0; i<iCmds->Count(); i++)
+                     {
+                     TCmds t = iCmds->At(i);
+                     delete t.iP;
+                 
+                     }
+                 iCmds->Reset();
+                 }
+             }         
+    public: // members 
+         TPhoneViewResponseId iViewResponseId;
+         CArrayFixFlat<TCmds>* iCmds;
+         TInt                  iCallId;
+         TInt                  iActiveCallCount;
+         TBool                 iCallExistsInConference;
+         TBool                 iHoldFlag; 
+    };
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/common/cphonegsmincallstub.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,72 @@
+/*
+* Copyright (c) 2005-2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+// INCLUDE FILES
+#include "cphonegsmincall.h"
+#include "phoneappcommands.hrh"
+
+CPhoneGsmInCall::CPhoneGsmInCall(
+        MPhoneStateMachine* aStateMachine, 
+        MPhoneViewCommandHandle* aViewCommandHandle,
+        MPhoneCustomization* aPhoneCustomization ): 
+        CPhoneStateInCall( aStateMachine, aViewCommandHandle, aPhoneCustomization )
+    {
+    }
+
+CPhoneGsmInCall::~CPhoneGsmInCall()
+    {
+    
+    }
+
+void CPhoneGsmInCall::ConstructL()
+    {
+    
+    }
+
+TInt CPhoneGsmInCall::HandleCommandL( TInt aCommand )
+    {
+    switch( aCommand )
+        {
+        case EPhoneCmdOptions:
+        break;
+        default:
+        break;
+        }
+    
+    }
+
+void CPhoneGsmInCall::HandlePhoneEngineMessageL(
+        const TInt /*aMessage*/, 
+        TInt /*aCallId*/ )
+    {
+    
+    }
+
+void CPhoneGsmInCall::HandleColpNoteL( TInt /*aCallId*/ )
+    {
+    
+    }
+
+void CPhoneGsmInCall::BringIncomingToForegroundL()
+    {
+    
+    }
+
+
+//  End of File  
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/common/cphonestatecallsetupstub.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,172 @@
+/*
+* Copyright (c) 2005-2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+// INCLUDES
+#include <FeatMgr.h>
+#include <StringLoader.h>
+#include <AknUtils.h>
+#include <mpeengineinfo.h>
+#include <mpeclientinformation.h>
+
+#include "CPhonePubSubProxy.h"
+#include "CPhoneStateCallSetupstub.h"
+#include "CPhoneStateInCall.h"
+#include "MPhoneStateMachine.h"
+#include "TPhoneCmdParamBoolean.h"
+#include "TPhoneCmdParamInteger.h"
+#include "TPhoneCmdParamCallStateData.h"
+#include "TPhoneCmdParamCallHeaderData.h"
+#include "TPhoneCmdParamGlobalNote.h"
+#include "PhoneStateDefinitions.h"
+#include "PhoneUI.hrh"
+#include "PhoneRssBase.h"
+#include "CPhoneMainResourceResolver.h"
+#include "PhoneLogger.h"
+#include "PhoneUI.pan"
+#include "TPhoneCmdParamAudioOutput.h"
+
+// ================= MEMBER FUNCTIONS =======================
+
+// C++ default constructor can NOT contain any code, that
+// might leave.
+//
+EXPORT_C CPhoneStateCallSetup::CPhoneStateCallSetup( 
+    MPhoneStateMachine* aStateMachine, 
+    MPhoneViewCommandHandle* aViewCommandHandle,
+    MPhoneCustomization* aCustomization ) : 
+    CPhoneState( aStateMachine, aViewCommandHandle, aCustomization )
+    {
+    }
+
+// -----------------------------------------------------------
+// CPhoneStateCallSetup::~CPhoneStateCallSetup()
+// Destructor
+// (other items were commented in a header).
+// -----------------------------------------------------------
+//
+EXPORT_C CPhoneStateCallSetup::~CPhoneStateCallSetup()
+    {
+    }
+
+// -----------------------------------------------------------
+// CPhoneStateCallSetup::ConstructL()
+// Constructor
+// (other items were commented in a header).
+// -----------------------------------------------------------
+//
+EXPORT_C void CPhoneStateCallSetup::ConstructL()
+    {
+    }
+
+// -----------------------------------------------------------
+// CPhoneStateCallSetup::NewL()
+// Constructor
+// (other items were commented in a header).
+// -----------------------------------------------------------
+//
+CPhoneStateCallSetup* CPhoneStateCallSetup::NewL( 
+    MPhoneStateMachine* aStateMachine, 
+    MPhoneViewCommandHandle* aViewCommandHandle,
+    MPhoneCustomization* aPhoneCustomization )
+    {
+    CPhoneStateCallSetup* self = new (ELeave) CPhoneStateCallSetup( 
+        aStateMachine, aViewCommandHandle, aPhoneCustomization );
+    
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    
+    return self;
+    }
+
+// -----------------------------------------------------------
+// CPhoneStateCallSetup::HandleCommandL()
+// -----------------------------------------------------------
+//
+EXPORT_C TBool CPhoneStateCallSetup::HandleCommandL( TInt aCommand )
+    {
+    }
+
+// -----------------------------------------------------------
+// CPhoneStateCallSetup::HandleKeyEventL
+// -----------------------------------------------------------
+//
+EXPORT_C void CPhoneStateCallSetup::HandleKeyEventL( 
+    const TKeyEvent& aKeyEvent, 
+    TEventCode aEventCode )
+    {
+    }
+
+// -----------------------------------------------------------
+// CPhoneStateCallSetup::HandleKeyMessageL
+// -----------------------------------------------------------
+//
+EXPORT_C void CPhoneStateCallSetup::HandleKeyMessageL( 
+    TPhoneKeyEventMessages aMessage,
+    TKeyCode aScanCode )
+    {
+    }
+
+// -----------------------------------------------------------
+// CPhoneStateCallSetup::HandlePhoneEngineMessageL
+// -----------------------------------------------------------
+//
+EXPORT_C void CPhoneStateCallSetup::HandlePhoneEngineMessageL( 
+    const TInt aMessage, 
+    TInt aCallId )
+    {
+    }
+
+// -----------------------------------------------------------
+// CPhoneStateCallSetup::HandleConnectedL
+// -----------------------------------------------------------
+//
+void CPhoneStateCallSetup::HandleConnectedL( TInt aCallId )
+    {
+    }
+
+// -----------------------------------------------------------
+// CPhoneStateCallSetup::HandleIdleL
+// -----------------------------------------------------------
+//
+void CPhoneStateCallSetup::HandleIdleL( TInt aCallId )
+    {
+    }
+    
+// -----------------------------------------------------------------------------
+// CPhoneStateCallSetup::HandleAudioOutputChangedL
+// -----------------------------------------------------------------------------
+//    
+void CPhoneStateCallSetup::HandleAudioOutputChangedL()
+    {
+    }
+     
+void CPhoneStateCallSetup::HandleCreateNumberEntryL(struct TKeyEvent const &, enum TEventCode) 
+    {}
+
+void CPhoneStateCallSetup::OpenMenuBarL(void)
+    {}
+
+void CPhoneStateCallSetup::UpdateCbaL(int)
+    {}
+
+void CPhoneStateCallSetup::UpdateInCallCbaL(void) 
+    {}
+
+void CPhoneStateCallSetup::HandleNumberEntryClearedL(void)
+    {}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/common/cphonestatecallsetupstub.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,171 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*     Call setup state implementation.
+*
+*/
+
+
+#ifndef CPHONESTATECALLSETUP
+#define CPHONESTATECALLSETUP
+
+// INCLUDES
+#include "CPhoneState.h"
+
+// FORWARD DECLARATIONS
+class CPhoneDtmfWaitCharTimer;
+
+// CLASS DECLARATION
+/**
+*  Call setup state
+*/
+class CPhoneStateCallSetup : public CPhoneState
+    {
+    public:  
+
+        /**
+        * Destructor.
+        */
+        IMPORT_C virtual ~CPhoneStateCallSetup();
+
+        /**
+        * Creates the Call Setup state class
+        * @param aStateMachine: a state machine
+        * @param aViewCommandHandle: handle to the PhoneUIView
+        * @return an instance of class CPhoneStateCallSetup
+        */
+        static CPhoneStateCallSetup* NewL( 
+            MPhoneStateMachine* aStateMachine, 
+            MPhoneViewCommandHandle* aViewCommandHandle,
+            MPhoneCustomization* aCustomization );
+
+        IMPORT_C virtual void HandleKeyEventL(
+            const TKeyEvent& aKeyEvent,
+            TEventCode aEventCode );
+
+        IMPORT_C virtual void HandleKeyMessageL(
+            TPhoneKeyEventMessages aMessage,
+            TKeyCode aCode );
+
+        /**
+        * A message handling function for Phone Engine messages
+        * @param aMessage Message from Phone Engine
+        * @param aCallId Call id the message concerns
+        */
+        IMPORT_C virtual void HandlePhoneEngineMessageL(
+            const TInt aMessage, 
+            TInt aCallId );       
+        
+        /**
+        * Handles commands.
+        * @param aCommand It is the code of the command to be handled.
+        * @returns boolean value was the command handled by the state 
+        *          (ETrue) or not (EFalse)
+        */
+        IMPORT_C virtual TBool HandleCommandL( TInt aCommand );
+        
+    protected:
+
+        /** 
+        * Handle state-specific behaviour when number entry is cleared
+        */ 
+        IMPORT_C virtual void HandleNumberEntryClearedL();
+        
+        /**
+        * By default EPOC constructor is private.
+        */
+        IMPORT_C CPhoneStateCallSetup( 
+            MPhoneStateMachine* aStateMachine, 
+            MPhoneViewCommandHandle* aViewCommandHandle,
+            MPhoneCustomization* aPhoneCustomization );
+        
+        /**
+        * ConstructL()
+        */
+        IMPORT_C virtual void ConstructL();
+        
+        /**
+        * Upadated CBAs CallSetup case
+        */
+        IMPORT_C virtual void UpdateInCallCbaL();
+         
+        /**
+        * Upadated CBAs
+        */
+        IMPORT_C virtual void UpdateCbaL( TInt aResource );    
+        
+        /**
+        * Open menu bar
+        */
+        IMPORT_C virtual void OpenMenuBarL();
+        
+        
+        // Prevents to open number entry dialog during call setup phase
+        IMPORT_C virtual void HandleCreateNumberEntryL ( const TKeyEvent& aKeyEvent,
+                TEventCode aEventCode );
+                
+    private:
+
+        /**
+        * A message handling function for EPEMessageHandleConnected
+        * @param aCallId: the call id of the call
+        */
+        void HandleConnectedL( TInt aCallId );
+
+        /**
+        * A message handling function for EPEMessageIdle
+        * @param aCallId: the call id of the call
+        */
+        void HandleIdleL( TInt aCallId );
+        
+        /**
+        * Handle EPEMessageAudioOutputChanged
+        */
+        void HandleAudioOutputChangedL();
+     
+        /**
+        * Handle EPEMessageSendingDTMF
+        */
+        void HandleSendingDTMFL();
+        
+        /**
+        * Handle EPEMessageStoppedDTMF
+        */
+        void HandleStoppedDTMFL();
+
+        /**
+        * Handles EPEMessageDTMFSent
+        *         EPEMessageDTMFSendingAborted
+        */
+        void CancelDTMFSendingL();
+        
+        /**
+        * Sends DTMF sequence to Phone Engine
+        */
+        void SendDtmfL();
+             
+    private:
+                
+        /**
+        * Special timer for preventing recursive calls
+        * which would otherwise occur with multiple
+        * wait characters in a DTMF string.
+        */
+        CPhoneDtmfWaitCharTimer* iDtmfWaitCharTimer;
+         
+    };
+
+#endif // CPHONESTATECALLSETUP
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/common/cphonestateidlestub.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,111 @@
+/*
+* Copyright (c) 2005-2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+// INCLUDE FILES
+#include "cphonestateidle.h"
+#include "phoneappcommands.hrh"
+
+CPhoneStateIdle::CPhoneStateIdle(
+        MPhoneStateMachine* aStateMachine, 
+        MPhoneViewCommandHandle* aViewCommandHandle,
+        MPhoneCustomization* aPhoneCustomization ): 
+        CPhoneState( aStateMachine, aViewCommandHandle, aPhoneCustomization )
+    {
+    }
+
+CPhoneStateIdle::~CPhoneStateIdle()
+    {
+    
+    }
+
+void CPhoneStateIdle::ConstructL()
+    {
+    
+    }
+
+void CPhoneStateIdle::HandlePhoneEngineMessageL(
+    const TInt /*aMessage*/, 
+    TInt /*aCallId*/ )
+    {
+    
+    }
+
+TBool CPhoneStateIdle::HandleCommandL( TInt /*aCommand*/ )
+    {
+
+    }
+
+void CPhoneStateIdle::HandleNumberEntryClearedL()
+    {
+    
+    }
+
+void CPhoneStateIdle::HandleKeyMessageL(
+    TPhoneKeyEventMessages /*aMessage*/,
+    TKeyCode /*aScanCode*/ )
+    {
+    
+    }
+
+void CPhoneStateIdle::HandleKeyEventL(
+    const TKeyEvent& /*aKeyEvent*/,
+    TEventCode /*aEventCode*/ )
+    {
+   
+    }
+
+TBool CPhoneStateIdle::HandleRemConCommandL(
+    TRemConCoreApiOperationId /*aOperationId*/, 
+    TRemConCoreApiButtonAction /*aButtonAct*/ )
+    {
+   
+    }
+
+void CPhoneStateIdle::HandlePhoneFocusLostEventL()
+    {
+    
+    }
+
+void CPhoneStateIdle::HandlePhoneForegroundEventL()
+    {
+    
+    }
+
+void CPhoneStateIdle::HandleIdleForegroundEventL()
+    {
+    
+    }
+
+void CPhoneStateIdle::DialL( const TDesC& /*aNumber*/, 
+    TPhoneNumberType /*aNumberType*/, TDialInitiationMethod /*aDialMethod*/ )
+    {
+    
+    }
+
+void CPhoneStateIdle::HandleDialingL( TInt /*aCallId*/ )
+    {
+    
+    }
+
+void CPhoneStateIdle::HandleSendCommandL()
+    {
+    
+    }
+
+//  End of File  
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/common/cphonestateincallstub.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,104 @@
+/*
+* Copyright (c) 2005-2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+// INCLUDE FILES
+#include "cphonestateincall.h"
+#include "phoneappcommands.hrh"
+
+CPhoneStateInCall::CPhoneStateInCall(
+        MPhoneStateMachine* aStateMachine, 
+        MPhoneViewCommandHandle* aViewCommandHandle,
+        MPhoneCustomization* aPhoneCustomization ): 
+        CPhoneState( aStateMachine, aViewCommandHandle, aPhoneCustomization ),
+        iDtmfWaitCharTimer( NULL )
+    {
+    }
+
+CPhoneStateInCall::~CPhoneStateInCall()
+    {
+    
+    }
+        
+void CPhoneStateInCall::ConstructL()
+    {
+    
+    }
+    
+void CPhoneStateInCall::HandleKeyMessageL(
+    TPhoneKeyEventMessages /*aMessage*/,
+    TKeyCode /*aScanCode*/ )
+    {
+    
+    }
+
+void CPhoneStateInCall::HandlePhoneEngineMessageL(
+    const TInt /*aMessage*/, 
+    TInt /*aCallId*/ )
+    {
+    
+    }
+
+TBool CPhoneStateInCall::HandleCommandL( TInt aCommand )
+    {
+    switch( aCommand )
+        {
+        case EPhoneCmdOptions:
+        break;
+        default:
+        break;
+        }
+    }
+        
+void CPhoneStateInCall::CallFetchedNumberL( const TDesC& /*aFetchedNumber*/ )
+    {
+    
+    }
+
+void CPhoneStateInCall::HandleNumberEntryClearedL()
+    {
+    
+    }
+
+TBool CPhoneStateInCall::IsVideoCallActiveL()
+    {
+    
+    }
+
+TBool CPhoneStateInCall::GetRingingCallL(  )
+    {
+    
+    }
+
+TBool CPhoneStateInCall::IsVideoCallRingingL()
+    {
+    
+    }
+
+
+void CPhoneStateInCall::DisconnectOutgoingCallL()
+    {
+    
+    }
+
+void CPhoneStateInCall::HandleIdleL( TInt aCallId )
+    {
+    
+    }
+
+//  End of File  
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/common/cphonestateincomingstub.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,97 @@
+/*
+* Copyright (c) 2005-2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+// INCLUDE FILES
+#include "cphonestateincoming.h"
+#include "phoneappcommands.hrh"
+
+CPhoneStateIncoming::CPhoneStateIncoming(
+        MPhoneStateMachine* aStateMachine, 
+        MPhoneViewCommandHandle* aViewCommandHandle,
+        MPhoneCustomization* aPhoneCustomization ): 
+        CPhoneState( aStateMachine, aViewCommandHandle, aPhoneCustomization )
+    {
+    }
+
+CPhoneStateIncoming::~CPhoneStateIncoming()
+    {
+    
+    }
+
+void CPhoneStateIncoming::ConstructL()
+    {
+    
+    }
+
+void CPhoneStateIncoming::HandlePhoneEngineMessageL(
+    const TInt /*aMessage*/, 
+    TInt /*aCallId*/ )
+    {
+    
+    }
+
+TBool CPhoneStateIncoming::HandleCommandL( TInt aCommand )
+    {
+    switch( aCommand )
+        {
+        case EPhoneCmdOptions:
+             OpenMenuBarL();
+        break;
+        default:
+        break;
+        }
+    }
+
+void CPhoneStateIncoming::HandleNumberEntryClearedL()
+    {
+    
+    }
+
+void CPhoneStateIncoming::HandleKeyMessageL(
+    TPhoneKeyEventMessages /*aMessage*/,
+    TKeyCode /*aScanCode*/ )
+    {
+    
+    }
+
+void CPhoneStateIncoming::HandleKeyEventL(
+    const TKeyEvent& /*aKeyEvent*/,
+    TEventCode /*aEventCode*/ )
+    {
+   
+    }
+
+void CPhoneStateIncoming::DynInitMenuPaneL( 
+    TInt /*aResourceId*/, 
+    CEikMenuPane* /*aMenuPane*/ )
+    {
+    
+    }
+
+void CPhoneStateIncoming::HandleAudioPlayStoppedL()
+    {
+    
+    }
+
+void CPhoneStateIncoming::OpenMenuBarL()
+    {
+    
+    }
+
+//  End of File  
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/common/cphonestatemachinestub.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,236 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <e32base.h>
+#include <eikenv.h>
+#include <mpeengineinfo.h>
+#include "cphonestatemachine.h"
+#include "mphonestorage.h"
+
+class CPEEngineInfo: public CBase, public MPEEngineInfo
+    {
+public:
+    CPEEngineInfo():
+    iAudioOutput(EPENotActive)
+        {
+        }
+
+    virtual ~CPEEngineInfo()
+        {
+    
+        }
+
+    TInt ContactId2 () const {}
+    void SetProtocolError( TInt aError, TInt aCallId ) {}
+    TInt ProtocolError( TInt aCallId ) {}
+    TBool IsOutgoingCallBarringActivated() {}
+    void SetOutgoingCallBarringActivated( 
+            TBool aActivated ) {}            
+		void SetIncomingCallForwarded( 
+                TBool aForwarded, TInt aCallId ) {}
+		TBool IncomingCallForwarded( TInt aCallId ) const {}                
+    void SetContactId2( const TInt aContactId ) {}                   
+    const CDesC8Array* ForwardAddressChoices( TInt aCallId ) const {}
+    void SetForwardAddressChoices( const CDesC8Array* aArray, TInt aCallId ) {}
+    void SetForwardAddressIndex( TInt aIndex ) {}
+    TInt ForwardAddressIndex() {}
+            
+    const CCCECallParameters::TCCELineType& ALSLine() const{}
+    const TBool& ALSLineSupport() const{}
+    const TArray< TContactItemId > AlertForGroup() const {}
+    const TBool& AudioMute() const{}
+    const TPEAudioOutput& AudioOutput() const{  return iAudioOutput; }
+    const TPEPhoneAudioRouteParameters& RouteParameters() const{}
+    TBool AudioOutputAvailable( const TPEAudioOutput /*aOutput*/ ) const{}
+    const TInt& AudioOutputPreference() const{}
+    const TInt& AudioVolume() const{}
+    RMobileCall::TMobileCallDirection CallDirection( const TInt /*aCallId*/ ) const{}
+    const TInt& CallDuration() const{}
+    TTimeIntervalSeconds CallDuration( const TInt /*aCallId*/ ) const{}
+    const TPtrC CallerImage( const TInt /*aCallId*/ ) const {}
+    const TPtrC CallerText( const TInt /*aCallId*/ ) const {}
+    CFbsBitmap* CallerThumbnail( const TInt /*aCallId*/ ) const {}
+    TBool HasCallerThumbnail( const TInt /*aCallId*/  ) const {}
+    const TInt& CallId() const {}
+    CCCECallParameters::TCCELineType CallALSLine( const TInt /*aCallId*/ ) const{}
+    const MPEClientInformation& CallClientInformation( const TInt /*aCallId*/ ) const {}
+    const TTime& CallStartTime( const TInt /*aCallId*/ ) const{}
+    TPEState CallState( const TInt /*aCallId*/ ) const{}
+    TPECallType CallType( const TInt /*aCallId*/ ) const{}
+    const TPECallType& CallTypeCommand() const {}
+    TBool IsSecureCall( const TInt /*aCallId*/ ) const{ return ETrue; }
+    const TArray< TContactItemId > ContactGroups(
+                const TInt /*aCallId*/ ) const {}
+    RMobileCall::TMobileCallAiur DataCallAIURSpeed( 
+               const TInt /*aCallId*/ ) const {}
+    const TPEDtmfString& DtmfString() const{}
+    const TPEErrorInfo& ErrorInfo() const{}
+    const TChar& KeyCode() const {}
+    const TInt& KeypadVolume() const {}
+    const TCCPTone& InbandTone() const{}
+    TBool LoggingIndicator( const TInt /*aCallId*/ ) const {}
+    TBool MissedCall( const TInt /*aCallId*/ ) const {}
+    const TNWNetworkRegistrationStatus& NetworkRegistrationStatus() const{}
+    const TPEContactFileName& PersonalRingingTone(
+                const TInt /*aCallId*/ ) const {}
+    const TBool& PersonalToneStatus() const {}
+    const TPEPhoneNumber& PhoneNumber() const{}
+    const TBool& PhoneNumberIsServiceCode() const{}
+    const TBool& ProactiveOrigin() const{}
+    const TInt& ProfileId() const{}
+    const TPEProfileName& ProfileName() const {}
+    const TPEContactCompany& RemoteCompanyName(
+                const TInt /*aCallId*/ ) const {}
+    RMobileCall::TMobileCallRemoteIdentityStatus RemoteIdentity( 
+                const TInt /*aCallId*/ ) const{}
+    const TPEContactName& RemoteName( const TInt /*aCallId*/ ) const {}
+    const TPEPhoneNumber& RemotePhoneNumber(
+                const TInt /*aCallId*/ ) const {}
+    const TPEPhoneNumberIdType& RemotePhoneNumberType(
+                const TInt /*aCallId*/ ) const {}
+    const TPtrC RemoteTextToSpeechText(
+                const TInt /*aCallId*/ ) const {}
+    const CDesCArray&  RemotePredefinedDtmfStrings(
+                const TInt /*aCallId*/ ) const {}
+    const TProfileRingingType& RingingType() const{}
+    const TPEContactFileName& RingingTone( const TInt& /*aCallId*/ ) const {}
+    const TInt& RingingVolume() const {}
+    const TBool& TextToSpeech() const {}
+    const TPEPhoneNumber& VoiceMailBoxNumberLine1() const  {}
+    const TPEPhoneNumber& VoiceMailBoxNumberLine2() const {}
+    void SetALSLine( const CCCECallParameters::TCCELineType& /*aALSLine*/ ){}
+    void SetALSLineSupport( const TBool& /*aALSLineSupport*/ ){}
+    void SetAudioMuteCommand( const TInt& /*aAudioMute*/ ){}
+    void SetAudioOutputCommand( const TPEAudioOutput& /*aOutput*/,
+                                                 const TBool /*aShowNote*/  ){}
+    void SetAudioVolumeCommand( const TInt& /*aAudioVolume*/ ){}
+    void SetCallId( const TInt& /*aCallId*/ ){}
+    void SetCallALSLine( const CCCECallParameters::TCCELineType& /*aALSLine*/, const TInt /*aCallId*/ ){}
+    void SetCallTypeCommand( const TPECallType& /*aCallType*/ ){}
+    void SetDtmfStringCommand( const TPEDtmfString& /*aDtmfString*/ ){}
+    void SetDynamicHscsdParams( const TInt /*aRxSlots*/ ) {}
+    void SetInbandTone( const TCCPTone /*aTone*/ ) {}
+    void SetKeyCode( const TChar& /*aKeyCode*/ ){}
+    void SetPhoneNumber( const TPEPhoneNumber& /*aPhoneNumber*/ ){}
+    const TBool& TwoDigitSupportStatus() const {}
+    TUint32 ServiceIdCommand() const{}
+    void SetServiceIdCommand( TUint32 /*aServiceId*/ ){}
+    TUint32 ServiceId( const TInt /*aCallId*/ ) const {}
+    const TPEActiveForwardInfo& ActiveForwardingInfo() const{}
+    const TPEBarringInfo& BarringInfo() const{}
+    TInt CallConference( const TInt /*aCallId*/ ) const{}
+    TPECallControlCaps CallControlCaps( const TInt /*aCallId*/ ) const{}
+    TBool CallForwarded( const TInt /*aCallId*/ ) const{}
+    RMobilePhone::TMobileService CallService( const TInt /*aCallId*/ ) const{}
+    TUint32 ConferenceCallCaps( const TInt /*aCallId*/ ) const{}
+    const TName& ConferenceMemberName( const TInt /*aCallId*/ ) const{}
+    TInt IsConferenceMemberId( const TInt /*aCallId*/ ) const{}
+    const TPEPhoneNumber& EmergencyNumber() const{}
+    TInt NumberOfConferenceMembers( const TInt /*aCallId*/ ) const{}
+    const TPEPhoneNumber& RemoteColpNumber(
+                const TInt /*aCallId*/ ) const {}
+    const TPESimState& SimState() const
+        {
+        return EPESimStatusUninitialized;
+        }
+    TBool SecureSpecified() const{ return EFalse; }
+    const TPESSCommandInfo& SSCommandInfo() const{}
+    void SetEmergencyNumber( const TPEPhoneNumber& /*aEmergencyNumbers*/ ){}
+    const TPEContactName& RemotePartyName( const TInt /*aCallId*/ ) const{}
+    TInt ErrorCode() const{}
+    const TDesC8& ContactLink( const TInt /*aCallId*/ ) const {}
+    const TName& DataPortName() const {}
+    const TPEPhoneNumber& UnattendedTransferTarget( 
+                TInt /*aCallId*/ ) const {}
+    void SetUnattendedTransferTarget( 
+          const TPEPhoneNumber& /*aTarget*/, TInt /*aCallId*/ ) {}
+    void SetTransferTargetCommand( const TPEPhoneNumber& /*aTransferTarget*/ ) {}
+    
+    const TPEPhoneNumber& TransferTargetCommand() const {}
+    
+    TBool CheckIfCallStateExists( const TPEState& aCallState ) {}
+    
+    TPEState ConferenceCallState() const {}
+    
+    TPECallOrigin CallOrigin( const TInt aCallId ) const {}
+    
+public:
+    TPEAudioOutput iAudioOutput;
+    
+    };
+
+class CPhoneEngine : public MPEPhoneModel
+    {
+public:
+    CPhoneEngine()
+        {
+        iEngineInfo = new (ELeave) CPEEngineInfo();
+        }
+    
+    ~CPhoneEngine()
+        {
+        delete iEngineInfo;
+        }
+    
+    MPEEngineInfo* EngineInfo() 
+         {
+         return iEngineInfo;
+         }
+     
+    void HandleMessage( const TInt /*aMessage*/ ) {}
+     
+    TPtrC NameByMessageToPhoneEngine( const TInt /*aMessage*/ ) const {}
+
+    TPtrC NameByMessageFromPhoneEngine( const TInt /*aMessage*/ ) const {}
+    
+private:
+    CPEEngineInfo* iEngineInfo;
+    };
+
+
+CPhoneStateMachine::CPhoneStateMachine(
+    MPhoneViewCommandHandle* /*aViewCommandHandle*/ )
+    {
+    iPhoneEngine = new (ELeave) CPhoneEngine();
+    }
+
+CPhoneStateMachine::~CPhoneStateMachine()
+    {
+    delete iPhoneEngine;
+    };
+
+void CPhoneStateMachine::ChangeState( TInt aState ) {};
+
+MPhoneState* CPhoneStateMachine::State() { return NULL; };
+
+void CPhoneStateMachine::SetPhoneEngine( MPEPhoneModel* /*aPhoneEngine*/ ) {};
+
+MPEPhoneModel* CPhoneStateMachine::PhoneEngine() { return iPhoneEngine; };
+
+MPEEngineInfo* CPhoneStateMachine::PhoneEngineInfo() 
+     {
+     return iPhoneEngine->EngineInfo();
+     }
+
+MPEPhoneModel* CPhoneStateMachine::CreatePhoneEngineL( 
+    MEngineMonitor& /*aEngineMonitor*/ ) { return iPhoneEngine; };
+void CPhoneStateMachine::SetCallId( TInt /*aCallId*/ ) {};
+void CPhoneStateMachine::SendPhoneEngineMessage( TInt /*aMessage*/ ) {};
+MPhoneStorage* CPhoneStateMachine::PhoneStorage() { return NULL; }; 
+CEikonEnv* CPhoneStateMachine::EikonEnv( ) const { return NULL; }
+
+// end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/common/cphonestatestartupstub.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,73 @@
+/*
+* Copyright (c) 2005-2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+// INCLUDE FILES
+#include "cphonestatestartup.h"
+#include "phoneappcommands.hrh"
+
+CPhoneStateStartup::CPhoneStateStartup(
+        MPhoneStateMachine* aStateMachine, 
+        MPhoneViewCommandHandle* aViewCommandHandle,
+        MPhoneCustomization* aPhoneCustomization ): 
+        CPhoneState( aStateMachine, aViewCommandHandle, aPhoneCustomization )
+    {
+    }
+
+CPhoneStateStartup::~CPhoneStateStartup()
+    {
+    
+    }
+
+void CPhoneStateStartup::ConstructL()
+    {
+    
+    }
+
+void CPhoneStateStartup::HandlePhoneEngineMessageL(
+    const TInt /*aMessage*/, 
+    TInt /*aCallId*/ )
+    {
+    
+    }
+
+void CPhoneStateStartup::HandleKeyMessageL(
+    TPhoneKeyEventMessages /*aMessage*/,
+    TStdScanCode /*aScanCode*/ )
+    {
+    
+    }
+
+void CPhoneStateStartup::HandleKeyEventL(
+    const TKeyEvent& /*aKeyEvent*/,
+    TEventCode /*aEventCode*/ )
+    {
+   
+    }
+
+void CPhoneStateStartup::HandleIdleForegroundEventL()
+    {
+    
+    }
+
+void CPhoneStateStartup::HandlePhoneStartupL()
+    {
+    
+    }
+
+//  End of File  
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/common/cphonestatestub.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,741 @@
+/*
+* Copyright (c) 2005-2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+// INCLUDE FILES
+#include <aknkeylock.h>
+#include <avkon.rsg>
+#include <bautils.h> 
+#include <eikenv.h>
+#include <StringLoader.h>
+#include <FeatMgr.h>
+#include <rconnmon.h>
+#include <Profile.hrh>
+#include <PUAcodes.hrh>
+#include <aknutils.h>
+#include <aknsoundsystem.h>
+#include <WlanInternalPSKeys.h>
+#include <btengdomainpskeys.h>
+#include <btengdomaincrkeys.h>
+#include <SettingsInternalCRKeys.h>
+#include <starterclient.h>
+#include <rsssettings.h>
+
+#include <TelephonyDomainPSTypes.h>
+#include <telinformationpskeys.h>
+#include <coreapplicationuisdomainpskeys.h>
+#include <mccecall.h>
+#include <ccpdefs.h>
+#include <activeidle2domainpskeys.h>
+#include <LogsDomainCRKeys.h>
+#include <StartupDomainPSKeys.h>
+
+#include "PhoneUI.pan"
+#include "CPhoneState.h"
+#include "MPhoneStateMachine.h"
+#include "mphonestorage.h"
+#include "MPhoneViewCommandHandle.h"
+#include "TPhoneCmdParamBoolean.h"
+#include "TPhoneCmdParamInteger.h"
+#include "TPhoneCmdParamKeyEvent.h"
+#include "TPhoneCmdParamDynMenu.h"
+#include "TPhoneCmdParamCallHeaderData.h"
+#include "TPhoneCmdParamIncallIndicatorData.h"
+#include "TPhoneCmdParamNote.h"
+#include "TPhoneCmdParamKeyCapture.h"
+#include "TPhoneCmdParamGlobalNote.h"
+#include "TPhoneCmdParamQuery.h"
+#include "TPhoneCmdParamString.h"
+#include "TPhoneCmdParamCallStateData.h"
+#include "TPhoneCmdParamBitmap.h"
+#include "TPhoneCmdParamAudioOutput.h"
+#include "TPhoneCmdParamAudioAvailability.h"
+#include "TPhoneCmdParamAppInfo.h"
+#include "TPhoneCmdParamTransEffect.h"
+#include "TPhoneCmdParamRingTone.h"
+
+
+const TInt KPhoneBtAddressTextLength = 64;
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+CPhoneState::CPhoneState(
+    MPhoneStateMachine* aStateMachine, 
+    MPhoneViewCommandHandle* aViewCommandHandle, 
+    MPhoneCustomization* aCustomization) :
+    iStateMachine( aStateMachine ),
+        iViewCommandHandle( aViewCommandHandle ),
+        iCustomization( aCustomization )
+    {
+    }
+
+EXPORT_C void CPhoneState::BaseConstructL()
+    {
+    }
+    
+CPhoneState::~CPhoneState()
+    {
+    iStateMachine = NULL;
+    iViewCommandHandle = NULL;
+    iCustomization = NULL;
+    }
+    
+EXPORT_C CEikonEnv* CPhoneState::EikonEnv() const
+    {    
+    return iEnv;
+    }
+
+EXPORT_C void CPhoneState::SetEikonEnv( CEikonEnv* aEnv )
+    {    
+    iEnv = aEnv;
+    }    
+
+
+void CPhoneState::DisplayCallHeaderL( 
+        TInt aCallId,
+        TNumberEntrySetRule aRule )
+    {
+    }
+    
+EXPORT_C void CPhoneState::UpdateUiCommands()
+    {
+    
+    }    
+    
+// <-------------------------- PHONE ENGINE EVENTS --------------------------->
+
+// -----------------------------------------------------------
+// CPhoneState::HandlePhoneEngineMessageL
+// Default handling for Phone Engine messages
+// (other items were commented in a header).
+// -----------------------------------------------------------
+//
+void CPhoneState::HandlePhoneEngineMessageL( 
+    const TInt /*aMessage*/, 
+    TInt /*aCallId*/ )
+    {
+    }
+
+// -----------------------------------------------------------
+// CPhoneState::HandleAudioMuteChangedL
+// Default handling for EPEMessageAudioMuteChanged message 
+// (other items were commented in a header).
+// -----------------------------------------------------------
+//
+void CPhoneState::HandleAudioMuteChangedL()
+    {
+    }
+
+// -----------------------------------------------------------
+// CPhoneState::HandleAudioOutputChangedL
+// Default handling for EPEMessageAudioOutputChanged message 
+// (other items were commented in a header).
+// -----------------------------------------------------------
+//
+void CPhoneState::HandleAudioOutputChangedL()
+    {
+    }
+
+// -----------------------------------------------------------
+// CPhoneState::IsSimStateNotPresentWithSecurityModeEnabled
+// -----------------------------------------------------------
+//
+TBool CPhoneState::IsSimStateNotPresentWithSecurityModeEnabled()
+    {
+    TPhoneCmdParamBoolean isSecurityMode;      
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewGetSecurityModeStatus, &isSecurityMode ); 
+    if ( SimState() == EPESimNotPresent && isSecurityMode.Boolean() )
+        {
+        return ETrue;
+        }
+    else
+        {
+        return EFalse;
+        }
+    }
+
+// -----------------------------------------------------------
+// CPhoneState::HandleSimStateChangedL
+// Handles changes in the SIM card state.
+// -----------------------------------------------------------
+//
+void CPhoneState::HandleSimStateChangedL()
+    {
+
+    }
+
+// -----------------------------------------------------------
+// CPhoneState::HandleErrorL
+// Default handling for HandleError message 
+// (other items were commented in a header).
+// -----------------------------------------------------------
+//
+void CPhoneState::HandleErrorL( const TPEErrorInfo& /*aErrorInfo*/ )
+    {
+       
+    }
+   
+// -----------------------------------------------------------
+// CPhoneState::HandleChangedCallDurationL
+// Default handling for EPEMessageChangedCallDuration message 
+// (other items were commented in a header).
+// -----------------------------------------------------------
+void CPhoneState::HandleChangedCallDurationL( TInt /*aCallId*/ )
+    {
+     
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneState::HandleRemoteBusyL
+// -----------------------------------------------------------------------------
+//
+void CPhoneState::HandleRemoteBusyL( TInt /*aCallId*/ )
+    {
+  
+    }
+    
+// -----------------------------------------------------------
+// CPhoneState::HandleDisconnectingL
+// -----------------------------------------------------------
+//
+void CPhoneState::HandleDisconnectingL( TInt /*aCallId*/ )
+    {
+   
+    }
+
+
+// <------------------------------- KEY EVENTS ------------------------------->
+
+// -----------------------------------------------------------
+// CPhoneState::HandleKeyMessageL( aMessage, aKeyCode )
+// -----------------------------------------------------------
+//
+void CPhoneState::HandleKeyMessageL(
+    TPhoneKeyEventMessages /*aMessage*/,
+    TKeyCode /*aScanCode*/ )
+    {
+    
+    }
+
+// -----------------------------------------------------------
+// CPhoneState::HandleKeyEventL( aKeyEvent, aEventCode )
+// -----------------------------------------------------------
+//
+void CPhoneState::HandleKeyEventL(
+    const TKeyEvent& /*aKeyEvent*/,
+    TEventCode /*aEventCode*/ )
+    {
+    }
+
+// -----------------------------------------------------------
+// CPhoneState::HandleNumberEntryClearedL
+// -----------------------------------------------------------
+//
+void CPhoneState::HandleNumberEntryClearedL()
+    {
+    }
+
+// -----------------------------------------------------------
+// CPhoneState::SendKeyEventL
+// -----------------------------------------------------------
+//
+void CPhoneState::SendKeyEventL(
+    const TKeyEvent& /*aKeyEvent*/,
+    TEventCode /*aEventCode*/ )
+    {
+    }
+
+// -----------------------------------------------------------
+// CPhoneState::SendKeyPressL
+// -----------------------------------------------------------
+//
+void CPhoneState::SendKeyPressL(
+    const TKeyEvent& /*aKeyEvent*/,
+    TEventCode /*aEventCode*/ )
+    {
+    }
+
+// <------------------------------ SYSTEM EVENTS ----------------------------->
+
+
+// -----------------------------------------------------------
+// CPhoneState::HandlePhoneStartupL
+// -----------------------------------------------------------
+//
+void CPhoneState::HandlePhoneStartupL()
+    {
+   
+    }
+
+// -----------------------------------------------------------
+// CPhoneState::HandlePropertyChangedL
+// -----------------------------------------------------------
+//
+void CPhoneState::HandlePropertyChangedL( 
+    const TUid& /*aCategory*/,
+    const TUint /*aKey*/,
+    const TInt /*aValue*/ )
+    {
+    
+    }
+
+
+// <---------------------------- MENU AND CBA EVENTS ------------------------->
+
+TBool CPhoneState::HandleCommandL( TInt /*aCommand*/ )
+    {
+    
+    }
+
+// <-------------------------- REMOTE CONTROL EVENTS ------------------------->
+
+// -----------------------------------------------------------------------------
+// CPhoneState::HandleRemConCommandL
+// -----------------------------------------------------------------------------
+//
+TBool CPhoneState::HandleRemConCommandL(
+    TRemConCoreApiOperationId /*aOperationId*/, 
+    TRemConCoreApiButtonAction /*aButtonAct*/ )
+    {
+   
+    }
+
+// -----------------------------------------------------------
+// CPhoneState::DecreaseAudioVolume()
+// -----------------------------------------------------------
+//
+void CPhoneState::DecreaseAudioVolumeL()
+    {
+   
+    }
+
+// -----------------------------------------------------------
+// CPhoneState::IncreaceAudioVolume()
+// -----------------------------------------------------------
+//
+void CPhoneState::IncreaseAudioVolumeL()
+    {
+    }        
+
+// -----------------------------------------------------------
+// CPhoneState::ChangeAudioVolumeL()
+// -----------------------------------------------------------
+//
+void CPhoneState::ChangeAudioVolumeL( TInt /*aLevel*/, TBool /*aUpdateControl*/ )
+    {
+    }
+
+// <-------------------------- COMMON STATE FUNCTIONS ------------------------>
+
+// -----------------------------------------------------------
+// CPhoneState::DialMultimediaCallL
+// -----------------------------------------------------------
+//
+void CPhoneState::DialMultimediaCallL()
+    {
+    }
+
+// -----------------------------------------------------------
+// CPhoneState::DialVoiceCallL
+// -----------------------------------------------------------
+//
+void CPhoneState::DialVoiceCallL()
+    {
+    }
+
+// -----------------------------------------------------------
+// CPhoneState::DisconnectCallL
+// -----------------------------------------------------------
+//
+TBool CPhoneState::DisconnectCallL()
+    {
+    }
+
+
+// -----------------------------------------------------------
+// CPhoneState::RemoveDialogsAndSendPhoneToBackgroundL
+// -----------------------------------------------------------
+//
+void CPhoneState::RemoveDialogsAndSendPhoneToBackgroundL()
+    {
+    }
+
+
+// -----------------------------------------------------------
+// CPhoneState::UpdateSingleActiveCallL
+// -----------------------------------------------------------
+//
+void CPhoneState::UpdateSingleActiveCallL( TInt /*aCallId*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------
+// CPhoneState::UpdateRemoteInfoDataL
+// -----------------------------------------------------------
+//
+void CPhoneState::UpdateRemoteInfoDataL( TInt /*aCallId*/ )
+    {
+    }
+
+
+// -----------------------------------------------------------
+// CPhoneState::ShowNoteL
+// -----------------------------------------------------------
+//
+void CPhoneState::ShowNoteL( TInt /*aResourceId*/ )
+    {
+   
+    }
+
+// -----------------------------------------------------------
+// CPhoneState::ShowQueryL
+// -----------------------------------------------------------
+//
+void CPhoneState::ShowQueryL( TInt /*aResourceId*/ )
+    {
+   
+    }
+
+// -----------------------------------------------------------
+// CPhoneState::ShowTextQueryL
+// -----------------------------------------------------------
+//
+void CPhoneState::ShowTextQueryL(
+    TInt /*aDialogResourceId*/,
+    TInt /*aDefaultCbaResourceId*/,
+    TInt /*aContentCbaResourceId*/,
+    TDes* /*aDataText*/,
+    TBool /*aSendKeyEnabled*/ )
+    {
+  
+    }
+    
+// -----------------------------------------------------------
+// CPhoneState::DisplayCallTerminationNoteL
+// -----------------------------------------------------------
+//
+void CPhoneState::DisplayCallTerminationNoteL()
+    {
+    }
+    
+
+// ---------------------------------------------------------
+// CPhoneState::SetHandsfreeModeL
+// ---------------------------------------------------------
+//
+void CPhoneState::SetHandsfreeModeL( TBool /*aHandsfreeMode*/ )
+    {
+  
+    }
+
+// ---------------------------------------------------------
+// CPhoneState::SetBTHandsfreeModeL
+// ---------------------------------------------------------
+//
+void CPhoneState::SetBTHandsfreeModeL( TBool /*aHandsfreeMode*/ )
+    {
+    
+    }
+
+// <-------------------------- INTERNAL FUNCTIONS ------------------------>
+
+// -----------------------------------------------------------
+// CPhoneState::HandleInitiatedEmergencyCallL
+// Default handling for EPEMessageInitiatedEmergencyCallL message
+// (other items were commented in a header).
+// -----------------------------------------------------------
+//
+void CPhoneState::HandleInitiatedEmergencyCallL( TInt /*aCallId*/ )
+    {
+    
+    }
+
+void CPhoneState::HandleCallSecureStatusChangeL( TInt /*aCallId*/ )
+    {
+   
+    }
+
+// ---------------------------------------------------------
+// CPhoneState::GetActiveCallIdL()
+// ---------------------------------------------------------
+//
+TInt CPhoneState::GetActiveCallIdL()
+    {
+   
+    }
+
+// ---------------------------------------------------------
+// CPhoneState::IsVideoCall()
+// ---------------------------------------------------------
+//
+TBool CPhoneState::IsVideoCall( const TInt /*aCallId*/ )
+    {
+    
+    }
+
+// ---------------------------------------------------------
+// CPhoneState::SimState()
+// ---------------------------------------------------------
+//
+TPESimState CPhoneState::SimState() const
+    {
+  
+    }
+
+// ---------------------------------------------------------
+// CPhoneState::IsSimOk()
+// ---------------------------------------------------------
+//
+TBool CPhoneState::IsSimOk()
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneState::StartShowSecurityNoteL
+// -----------------------------------------------------------------------------
+//
+void CPhoneState::StartShowSecurityNoteL()
+    {
+    }
+
+// ---------------------------------------------------------
+// CPhoneState::ShowWlanMacAddressL
+// ---------------------------------------------------------
+//
+void CPhoneState::ShowWlanMacAddressL()
+    {
+   
+    }
+
+// -----------------------------------------------------------
+// CPhoneState::HandleAudioAvailableOutputChangedL
+// Default handling for EPEMessageAvailableAudioOutputsChanged message 
+// (other items were commented in a header).
+// -----------------------------------------------------------
+//
+void CPhoneState::HandleAudioAvailableOutputChangedL()
+    {
+    
+    }
+  
+
+// ---------------------------------------------------------                   
+// CPhoneState::ShowNumberBusyNoteL
+// ---------------------------------------------------------
+//
+void CPhoneState::ShowNumberBusyNoteL()
+    {
+   
+    }
+
+// ---------------------------------------------------------
+// CPhoneState::IsAutoLockOn
+// ---------------------------------------------------------
+//
+TBool CPhoneState::IsAutoLockOn() const
+    { 
+  
+    }
+    
+
+// ---------------------------------------------------------
+// CPhoneState::DeleteTouchPaneButtons
+// ---------------------------------------------------------
+//  
+void CPhoneState::DeleteTouchPaneButtons()
+    {
+  
+    }
+    
+// ---------------------------------------------------------
+// CPhoneState::IsCustomizedDialerVisibleL
+// ---------------------------------------------------------
+//
+TBool CPhoneState::IsCustomizedDialerVisibleL() const
+    {
+    
+    }
+
+        
+// -----------------------------------------------------------
+// CPhoneState::BeginUiUpdateLC
+// -----------------------------------------------------------
+//    
+void CPhoneState::BeginUiUpdateLC()
+    {
+    }
+
+// -----------------------------------------------------------
+// CPhoneState::EndUiUpdate
+// -----------------------------------------------------------
+//
+void CPhoneState::EndUiUpdate()
+    {
+    }
+
+// -----------------------------------------------------------
+// CPhoneState::CheckIfShowTerminationNote
+// This method is intended to be overridden in states
+// that contain more info about decision.
+// -----------------------------------------------------------
+//
+TBool CPhoneState::CheckIfShowCallTerminationNote( )
+    {
+    }
+
+// -----------------------------------------------------------
+// CPhoneState::UiUpdateCleanup
+// -----------------------------------------------------------
+//
+void CPhoneState::UiUpdateCleanup(TAny* /*aThis*/ )
+    {
+    
+    }
+    
+// -----------------------------------------------------------------------------
+// CPhoneState::SetCallerImage
+// -----------------------------------------------------------------------------
+
+// -----------------------------------------------------------
+// CPhoneState::SetDefaultFlagsL()
+// -----------------------------------------------------------
+//
+void CPhoneState::SetDefaultFlagsL()
+    {    
+    }
+
+// -----------------------------------------------------------
+// CPhoneState::GetVolumeLevel
+// -----------------------------------------------------------
+//
+TInt CPhoneState::GetVolumeLevel()
+    {                                        
+    }
+
+ 
+// -----------------------------------------------------------------------------
+// CPhoneState::SimSecurityStatus
+// -----------------------------------------------------------------------------
+//
+TInt CPhoneState::SimSecurityStatus() const  
+    {
+   
+    }   
+
+    
+// ----------------------------------------------------------------------------
+// CPhoneState::SetRingingTonePlaybackL()
+// ----------------------------------------------------------------------------
+//
+void CPhoneState::SetRingingTonePlaybackL( TInt /*aCallId*/ )
+    {
+    
+    }          
+
+// -----------------------------------------------------------
+// CPhoneState::HandleCugNoteL
+// -----------------------------------------------------------
+//
+void CPhoneState::HandleCugInUseNoteL()
+    {
+    
+    }
+
+// -----------------------------------------------------------
+// CPhoneState::IsWaitingCallL
+// -----------------------------------------------------------
+//
+TBool CPhoneState::IsWaitingCallL( const TInt /*aCallId*/  )
+    {
+  
+    }
+
+// ---------------------------------------------------------
+// CPhoneState::HandleDtmfKeyToneL
+// ---------------------------------------------------------
+//
+void CPhoneState::HandleDtmfKeyToneL( const TKeyEvent&, TEventCode)
+    {
+    
+    }
+
+TBool CPhoneState::ProcessCommandL( TInt aCommand )
+    {
+    }
+
+
+// ---------------------------------------------------------
+// CPhoneState::SetToolbarButtonLoudspeakerEnabled
+// ---------------------------------------------------------
+//
+void CPhoneState::SetToolbarButtonLoudspeakerEnabled()
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneState::OpenSoftRejectMessageEditorL
+// -----------------------------------------------------------------------------
+//
+void CPhoneState::OpenSoftRejectMessageEditorL(  )
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneState::SetBackButtonActive
+// -----------------------------------------------------------------------------
+//
+void CPhoneState::SetBackButtonActive( 
+        TBool aActive )
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneState::SendGlobalInfoNoteL
+// -----------------------------------------------------------------------------
+//
+void CPhoneState::SendGlobalInfoNoteL( 
+        TInt aResourceId,
+        TBool aNotificationDialog )
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneState::SendGlobalErrorNoteL
+// -----------------------------------------------------------------------------
+//
+void CPhoneState::SendGlobalErrorNoteL( 
+        TInt aResourceId,
+        TBool aNotificationDialog )
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneState::SendGlobalWarningNoteL
+// -----------------------------------------------------------------------------
+//
+void CPhoneState::SendGlobalWarningNoteL( 
+        TInt aResourceId,
+        TBool aNotificationDialog )
+    {
+    }
+
+
+//  End of File  
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/common/phoneuiutils.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,564 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  PhoneUIUtils.lib stubs
+*
+*/
+
+
+#include "tphonecmdparamcallheaderdata.h"
+#include "tphonecmdparaminteger.h"
+#include "tphonecmdparamboolean.h"
+#include "tphonecmdparamkeyevent.h"
+#include "tphonecmdparamstring.h"
+#include "tphonecmdparamaudiooutput.h"
+#include "tphonecmdparamemergencycallheaderdata.h"
+#include "tphonecmdparamcallstatedata.h"
+#include "tphonecmdparamglobalnote.h"
+#include "tphonecmdparamappinfo.h"
+#include "cphonepubsubproxy.h"
+#include "cphonelogger.h"
+#include "cphoneresourceresolverbase.h"
+#include "cphonemainerrormessageshandler.h"
+#include "cphonekeys.h"
+#include <eikenv.h>
+
+// Note: Commented out functions are not in use in this stub (yet).
+//       They are left in place in case they are needed later.
+
+
+// ================= MEMBER FUNCTIONS =======================
+CPhoneMainErrorMessagesHandler * CPhoneMainErrorMessagesHandler::Instance()
+    {
+    
+    }
+
+CPhoneResourceResolverBase::CPhoneResourceResolverBase() :
+    iEnv( *CEikonEnv::Static() )
+    {
+    }
+
+CPhoneResourceResolverBase::~CPhoneResourceResolverBase()
+    {
+    }
+
+TInt CPhoneResourceResolverBase::ResolveResourceID( const TInt& /*aParam*/ ) const
+    {
+    }
+
+TInt CPhoneResourceResolverBase::IsTelephonyFeatureSupported( TInt /*aParam*/ ) const
+    {
+    }
+
+TPhoneCmdParamEmergencyCallHeaderData::TPhoneCmdParamEmergencyCallHeaderData()
+    {
+    }
+
+void TPhoneCmdParamEmergencyCallHeaderData::SetHeaderText( const TDesC16& /*aParam*/ )
+    {
+    }
+
+void TPhoneCmdParamEmergencyCallHeaderData::SetCiphering( TBool /*aParam*/ )
+    {
+    }
+
+void TPhoneCmdParamEmergencyCallHeaderData::SetCipheringIndicatorAllowed( TBool /*aParam*/ )
+    {
+    }
+
+int CPhoneKeys::IsNumericKey(const TKeyEvent& /*aEvent*/, TEventCode /*aKey*/ )
+    {
+    }
+
+TPhoneCmdParamAudioOutput::TPhoneCmdParamAudioOutput()
+    {
+    }
+
+void TPhoneCmdParamAudioOutput::SetAudioOutput( TPEAudioOutput /*aParam*/ )
+    {
+    }
+
+TPhoneCmdParamString::TPhoneCmdParamString()
+    {
+    }
+
+TPhoneCmdParamKeyEvent::TPhoneCmdParamKeyEvent()
+    {
+    }
+
+void TPhoneCmdParamString::SetString( TPtr16* /*aString*/ )
+    {
+    }
+
+void TPhoneCmdParamKeyEvent::SetKeyEvent( const TKeyEvent& /*aEvent*/ )
+    {
+    }
+
+void TPhoneCmdParamKeyEvent::SetEventCode( TEventCode /*aEvent*/ )
+    {
+    }
+
+TPhoneCmdParamInteger::TPhoneCmdParamInteger():
+    TPhoneCommandParam(),
+    iInteger( 0 )
+    {
+    iParamId = EPhoneParamIdInteger;
+    }
+
+void TPhoneCmdParamInteger::SetInteger( TInt aInteger )
+   {
+   iInteger = aInteger;   
+   }
+
+TInt TPhoneCmdParamInteger::Integer() const
+   {
+   return iInteger;
+   }
+
+TPhoneCmdParamBoolean::TPhoneCmdParamBoolean() :
+    TPhoneCommandParam(),
+    iBoolean( EFalse )
+    {
+    iParamId = EPhoneParamIdBoolean;
+    }
+
+void TPhoneCmdParamBoolean::SetBoolean( TBool aBoolean )
+   {
+   iBoolean = aBoolean;   
+   }
+
+TBool TPhoneCmdParamBoolean::Boolean() const
+   {
+   return iBoolean;
+   }
+    
+TPhoneCmdParamCallStateData::TPhoneCmdParamCallStateData()
+    {
+    }
+    
+void TPhoneCmdParamCallStateData::SetCallId( TInt /*aParam*/ )
+    {
+    }
+
+TInt TPhoneCmdParamCallStateData::CallId() const
+    {
+    }
+    
+void TPhoneCmdParamCallStateData::SetCallState( TInt /*aState*/ )
+    {
+    }
+
+TInt TPhoneCmdParamCallStateData::CallState() const
+    {
+    }
+    
+TPhoneCmdParamGlobalNote::TPhoneCmdParamGlobalNote()
+    {
+    }
+    
+void TPhoneCmdParamGlobalNote::SetTextResourceId( TInt /*aResource*/ )
+    {
+    }
+
+void TPhoneCmdParamGlobalNote::SetText( const TDesC16& /*aParam*/ )
+    {
+    }
+    
+TPhoneCmdParamAppInfo::TPhoneCmdParamAppInfo()
+    {
+    }
+    
+void TPhoneCmdParamAppInfo::SetAppUid( const TUid& /*aUid*/ )
+    {
+    }
+    
+void TPhoneCmdParamAppInfo::SetViewUid( const TUid& /*aUid*/ )
+    {
+    }
+    
+void TPhoneCmdParamAppInfo::SetCustomMessageId( const TUid& /*aUid*/ )
+    {
+    }
+    
+TInt CPhonePubSubProxy::Value( const TUid& /*aUid*/, TUint /*aValue*/ )
+    {
+    }
+    
+    
+void CPhoneLogger::LogIt( TPhoneUILoggingLevel /*aLevel*/, 
+            TPhoneUILoggingComponent /*aLoggingComponent*/, 
+            TRefByValue<const TDesC> /*aFmt*/, ...)
+    {
+    }
+    
+void CPhoneLogger::LogStateChange( 
+    const TInt /*aCurrentState*/, 
+    const TInt /*aNewState*/ )
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// TPhoneCommandParam::TPhoneCommandParam
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+TPhoneCommandParam::TPhoneCommandParam()
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// TPhoneCommandParam::ParamId
+// -----------------------------------------------------------------------------
+//
+TPhoneCommandParam::TPhoneParamId TPhoneCommandParam::ParamId() const
+    {
+    return iParamId;
+    }
+//
+// -----------------------------------------------------------------------------
+// TPhoneCmdParamCallHeaderData::TPhoneCmdParamCallHeaderData
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+TPhoneCmdParamCallHeaderData::TPhoneCmdParamCallHeaderData() :
+        TPhoneCommandParam(),
+        iLabelText( NULL ),
+        iShortLabelText( NULL ),
+        iCallState( 0 ),
+        iNumberType( 0 ),
+        iCiphering( EFalse ),
+        iCLIText( NULL ),
+        iCNAPText( NULL ),
+        iPicture( NULL ),
+        iLine2 ( EFalse ),
+        iThumbnail( NULL ),
+        iCallerText( KNullDesC ),
+        iParticipantListCLI( EPhoneParticipantCLIText ),
+        iCipheringIndicatorAllowed( ETrue ),
+        iContactLink( KNullDesC8 ),
+        iRemotePhoneNumber( KNullDesC ),
+        iDiverted( EFalse )
+        {
+        iParamId = EPhoneParamIdCallHeaderData;
+        }
+
+//// ---------------------------------------------------------
+//// TPhoneCmdParamCallHeaderData::SetLabelText
+//// Sets the call header label text
+//// (other items were commented in a header).
+//// ---------------------------------------------------------
+////
+void TPhoneCmdParamCallHeaderData::SetLabelText(
+   const TDesC& aLabelText )
+    {
+    delete iLabelText;
+    iLabelText = aLabelText.Alloc();
+    }
+
+// ---------------------------------------------------------
+// TPhoneCmdParamCallHeaderData::SetShortLabelText
+// Sets the call header short label text
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void TPhoneCmdParamCallHeaderData::SetShortLabelText(
+   const TDesC& aShortLabelText )
+    {
+    delete iShortLabelText;
+    iShortLabelText = aShortLabelText.Alloc();
+    }
+
+// ---------------------------------------------------------
+// TPhoneCmdParamCallHeaderData::SetCallState
+// Sets the call header call state
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void TPhoneCmdParamCallHeaderData::SetCallState( TInt aCallState )
+   {
+   iCallState = aCallState;
+   }
+
+// ---------------------------------------------------------
+// TPhoneCmdParamCallHeaderData::SetCallType
+// Sets the call header call type
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void TPhoneCmdParamCallHeaderData::SetCallType( TInt aCallType )
+   {
+   iCallType = aCallType;
+   }
+
+//// ---------------------------------------------------------
+//// TPhoneCmdParamCallHeaderData::SetNumberType
+//// Sets the call header number type
+//// (other items were commented in a header).
+//// ---------------------------------------------------------
+////
+void TPhoneCmdParamCallHeaderData::SetNumberType( TInt aNumberType )
+   {
+   iNumberType = aNumberType;
+   }
+
+// ---------------------------------------------------------
+// TPhoneCmdParamCallHeaderData::SetCiphering
+// Sets the call header ciphering status
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void TPhoneCmdParamCallHeaderData::SetCiphering(
+   TBool aCiphering )
+   {
+   iCiphering = aCiphering;
+   }
+
+// ---------------------------------------------------------
+// TPhoneCmdParamCallHeaderData::SetCLIText
+// Sets the call header CLI text
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void TPhoneCmdParamCallHeaderData::SetCLIText( 
+   const TDesC& aCLIText,
+   TPhoneTextClippingDirection aDirection )
+   {
+   delete iCLIText;
+   iCLIText = aCLIText.Alloc();
+   iCLITextClippingDirection = aDirection; 
+   }
+
+// ---------------------------------------------------------
+// TPhoneCmdParamCallHeaderData::CallState
+// Returns the call header call state
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt TPhoneCmdParamCallHeaderData::CallState() const
+   {
+   return iCallState;
+   }
+
+// ---------------------------------------------------------
+// TPhoneCmdParamCallHeaderData::CallType
+// Returns the call header call type
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt TPhoneCmdParamCallHeaderData::CallType() const
+   {
+   return iCallType;
+   }
+
+// ---------------------------------------------------------
+// TPhoneCmdParamCallHeaderData::Line2
+// Returns the call header line2
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TBool TPhoneCmdParamCallHeaderData::Line2() const
+   {
+   return iLine2;
+   }
+
+//// ---------------------------------------------------------
+//// TPhoneCmdParamCallHeaderData::SetCipheringIndicatorAllowed
+//// Sets the ciphering indicator allowed status
+//// (other items were commented in a header).
+//// ---------------------------------------------------------
+////
+void TPhoneCmdParamCallHeaderData::SetCipheringIndicatorAllowed(
+    TBool aAllowed )
+    {
+    iCipheringIndicatorAllowed = aAllowed;
+    }
+
+// ---------------------------------------------------------
+// TPhoneCmdParamCallHeaderData::SetServiceId
+// ---------------------------------------------------------
+//
+void TPhoneCmdParamCallHeaderData::SetServiceId( TUint32 aServiceId )
+    {
+    iServiceId = aServiceId;
+    }
+
+// ---------------------------------------------------------
+// TPhoneCmdParamCallHeaderData::ServiceId
+// ---------------------------------------------------------
+//
+TUint32 TPhoneCmdParamCallHeaderData::ServiceId() const
+    {
+    return iServiceId;
+    }
+
+// ---------------------------------------------------------
+// TPhoneCmdParamCallHeaderData::SetContactLink
+// ---------------------------------------------------------
+//
+void TPhoneCmdParamCallHeaderData::SetContactLink(
+    const TDesC8& aContactLink )
+    {
+    iContactLink.Set( aContactLink );
+    }
+
+// ---------------------------------------------------------
+// TPhoneCmdParamCallHeaderData::ContactLink
+// ---------------------------------------------------------
+//
+const TDesC8& TPhoneCmdParamCallHeaderData::ContactLink() const
+    {
+    return iContactLink;
+    }
+
+// ---------------------------------------------------------
+// TPhoneCmdParamCallHeaderData::SetRemotePhoneNumber
+// ---------------------------------------------------------
+//
+void TPhoneCmdParamCallHeaderData::SetRemotePhoneNumber(
+    const TDesC& aPhoneNumber )
+    {
+    iRemotePhoneNumber.Set( aPhoneNumber );
+    }
+
+// ---------------------------------------------------------
+// TPhoneCmdParamCallHeaderData::RemotePhoneNumber
+// ---------------------------------------------------------
+//
+const TDesC& TPhoneCmdParamCallHeaderData::RemotePhoneNumber() const
+    {
+    return iRemotePhoneNumber;
+    }
+
+void TPhoneCmdParamCallHeaderData::SetCNAPText( 
+  const TDesC& aCNAPText,
+  TPhoneTextClippingDirection aDirection )
+  {
+  delete iCNAPText;
+  iCNAPText = aCNAPText.Alloc();
+  iCNAPTextClippingDirection = aDirection; 
+  }
+
+void TPhoneCmdParamCallHeaderData::SetPicture( 
+   const TDesC& aPicture )
+   {
+   iPicture.Set( aPicture );
+   }
+
+void TPhoneCmdParamCallHeaderData::SetDiverted(
+    TBool aDiverted )
+    {
+    iDiverted = aDiverted;        
+    }
+
+void TPhoneCmdParamCallHeaderData::SetLine2(
+    TBool aLine2 )
+   {
+   iLine2 = aLine2;
+   }
+    
+const TDesC& TPhoneCmdParamCallHeaderData::LabelText() const
+   {
+   return iLabelText ? *iLabelText : KNullDesC();
+   }
+
+TBool TPhoneCmdParamCallHeaderData::Ciphering() const
+   {
+   return iCiphering;
+   }
+
+const TDesC& TPhoneCmdParamCallHeaderData::CLIText() const
+   {
+   return iCLIText ? *iCLIText : KNullDesC();
+   }
+
+TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection 
+TPhoneCmdParamCallHeaderData::CLITextClippingDirection() const
+    {
+    return iCLITextClippingDirection;
+    }
+
+TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection 
+TPhoneCmdParamCallHeaderData::CNAPTextClippingDirection() const
+    {
+    return iCNAPTextClippingDirection;
+    }
+
+const TDesC& TPhoneCmdParamCallHeaderData::CNAPText() const
+   {
+   return iCNAPText ? *iCNAPText : KNullDesC();
+   }
+const TDesC& TPhoneCmdParamCallHeaderData::Picture() const
+  {
+  return iPicture;
+  }
+TBool TPhoneCmdParamCallHeaderData::Diverted() const
+    {
+    return iDiverted;        
+    }
+CFbsBitmap* TPhoneCmdParamCallHeaderData::Thumbnail() const
+   {
+   return iThumbnail;
+   }
+void TPhoneCmdParamCallHeaderData::SetThumbnail( 
+   CFbsBitmap* aThumbnail )
+   {
+   iThumbnail = aThumbnail;
+   }
+void TPhoneCmdParamCallHeaderData::SetCallerText( 
+   const TDesC& aCallerText )
+   {
+   iCallerText.Set( aCallerText );
+   }
+const TDesC& TPhoneCmdParamCallHeaderData::CallerText() const
+  {
+  return iCallerText;
+  }
+
+void TPhoneCmdParamCallHeaderData::SetParticipantListCLI(
+    TPhoneParticipantListCLI aCLIType )
+    {
+    iParticipantListCLI = aCLIType;
+    }
+
+TPhoneCmdParamCallHeaderData::TPhoneParticipantListCLI 
+    TPhoneCmdParamCallHeaderData::ParticipantCLI() const
+    {
+    return iParticipantListCLI;    
+    }       
+
+TBool TPhoneCmdParamCallHeaderData::HasThumbnail() const
+    {
+    return iHasThumbnail;
+    }    
+
+void TPhoneCmdParamCallHeaderData::SetHasThumbnail( TBool aStatus )
+    {
+    iHasThumbnail = aStatus;
+    }
+
+TBool TPhoneCmdParamCallHeaderData::CipheringIndicatorAllowed() const    
+   {
+   return iCipheringIndicatorAllowed;
+   }
+
+TPhoneCmdParamCallHeaderData::~TPhoneCmdParamCallHeaderData()
+   {
+   delete iLabelText;
+   delete iShortLabelText;
+   delete iCLIText;
+   delete iCNAPText;
+   }
+
+// end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/common/stubs.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,201 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <coemain.h>
+CCoeStatic * CCoeEnv::Static(TUid) 
+    {    
+    return NULL;
+    }
+
+CCoeEnv * CCoeEnv::Static() {}
+
+#include <eikenv.h>
+void CEikonEnv::DismissTaskList() {}
+
+
+#include <featmgr.h>
+TInt FeatureManager::FeatureSupported( TInt ) {}
+
+#include <w32std.h>
+void RWsSession::SimulateKeyEvent(TKeyEvent) {}
+void RWsSession::Flush() {}
+
+#include <APGTASK.h>
+TApaTaskList::TApaTaskList(RWsSession &aSession ) : iWsSession( aSession ) {}
+TApaTask TApaTaskList::FindApp(TUid) {}
+TInt TApaTask::Exists() const {return EFalse;}
+
+#include <MProfileEngine.h>
+MProfileEngine * CreateProfileEngineL() {}
+
+
+#include "cphonelogger.h"
+CPhoneMethodLogger::CPhoneMethodLogger(
+        TPhoneUILoggingComponent /*aLoggingComponent*/,
+        TPtrC /*aTring*/ )
+    {
+    }
+CPhoneMethodLogger::~CPhoneMethodLogger()
+    {
+    }
+
+#include  "CPhonePubSubProxy.h"
+CPhonePubSubProxy* CPhonePubSubProxy::Instance()
+    {
+    return NULL;
+    }
+void CPhonePubSubProxy::ChangePropertyValue( 
+    const TUid& /*aCategory*/,
+    const TUint /*aKey*/, 
+    const TInt /*aValue*/ )
+    {
+    }
+
+#include <StringLoader.h>
+// Constant
+_LIT( KCreateListVoice, "Voice call" );
+_LIT( KCreateListVideo, "Video call" );
+_LIT( KCreateListInternet, "Internet call" );
+_LIT( KHoldText, "Hold" );
+_LIT( KTestString,"TestString" );
+
+void StringLoader::Load( TDes& /*aDest*/, TInt /*aResourceId*/,
+    CCoeEnv* /*aLoaderEnv*/ )
+    {
+    
+    }
+
+HBufC* StringLoader::LoadLC( TInt aResourceId,
+                     CCoeEnv* /*aLoaderEnv*/ )
+    {
+    /*if ( R_CALLUI_CREATE_LIST_VOICE == aResourceId )
+        {
+        return KCreateListVoice().AllocLC();
+        }
+    if ( R_CALLUI_CREATE_LIST_VIDEO == aResourceId )
+        {
+        return KCreateListVideo().AllocLC();
+        }
+    if ( R_CALLUI_CREATE_LIST_INTERNET == aResourceId )
+        {
+        return KCreateListInternet().AllocLC();
+        }*/
+    return KNullDesC().AllocLC();
+    };
+    
+HBufC* StringLoader::LoadL( TInt aResourceId, TInt /*aInt*/,
+                         CCoeEnv* aLoaderEnv )
+    {
+    HBufC* ret = LoadLC( aResourceId, aLoaderEnv );
+    CleanupStack::Pop();
+    return ret;
+    };
+
+void StringLoader::Format( TDes& aDest, const TDesC& aSource,
+                     TInt aPosition, const TDesC& aSubs )
+    {
+    aDest.Copy( KTestString );
+    }
+
+#include "CPhoneMainResourceResolver.h"
+
+CPhoneMainResourceResolver::CPhoneMainResourceResolver()
+    {
+    
+    }
+CPhoneMainResourceResolver::~CPhoneMainResourceResolver()
+    {
+    Dll::SetTls( NULL ) ;
+    }
+
+CPhoneMainResourceResolver* CPhoneMainResourceResolver::Instance()
+    {
+    CPhoneMainResourceResolver* singleton;
+
+    if ( Dll::Tls() == NULL )
+          {
+          // TLS is still null, which means that no CMySingleton has
+          // been instantiated yet.  Do so now, and return that
+          // instance:
+          singleton = new ( ELeave ) CPhoneMainResourceResolver();
+          // Store a pointer to the new instance in thread local storage:
+          TInt err = Dll::SetTls( static_cast<TAny*>( singleton ) );
+          if ( err == KErrNone )
+              {
+              return singleton;
+              }
+          else
+              {
+              delete singleton;
+              User::Leave( err );
+              return NULL;
+              }
+          }
+      else
+          {
+        
+          singleton = static_cast<CPhoneMainResourceResolver*>( Dll::Tls() );
+          return singleton;
+          }
+
+    }
+
+TInt CPhoneMainResourceResolver::ResolveResourceID( const TInt& /*aResource*/ ) const
+    {
+    return 0;
+    }
+
+void CPhoneMainResourceResolver::RegisterResolver( 
+    MPhoneResourceResolver* /*aResolver*/ )
+    {
+    
+    }
+
+
+//#include <AknUtils.h>
+class AknTextUtils 
+    {
+    static ConvertDigitsTo(  TDes& /*aDes*/, TDigitType /*aDigitType*/ )
+        {
+    
+            }
+    };
+
+    
+#include "cphonemediatorfactory.h"
+
+CPhoneMediatorFactory* CPhoneMediatorFactory::Instance()
+    {
+    
+    }
+    
+CPhoneMediatorSender* CPhoneMediatorFactory::Sender()
+    {
+
+    }
+
+#include "cphonemediatorsender.h"
+    
+TInt CPhoneMediatorSender::IssueCommand( 
+    const TUid /*aDomain*/, 
+    const TUid /*aCategory*/, 
+    const TInt /*aCommandId*/,
+    const TVersion /*aVersion*/, 
+    const TDesC8& /*aData*/,
+    MPhoneShutdownCommand* /*aShutdownCommand*/ )
+    {
+    
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphconfandwaitingandcallsetup/BWINS/ut_cphconfandwaitingandcallsetupu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphconfandwaitingandcallsetup/Src/ut_cphconfandwaitingandcallsetup.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,209 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphconfandwaitingandcallsetup.h"
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+#include <featmgr.h>
+#include "CPhoneConferenceAndWaitingAndCallSetup.h"
+#include "PEVirtualEngine.h" 
+#include "MPhoneKeyEvents.h"
+#include "TPhoneCommandParam.h"
+#include "CPhoneMainResourceResolver.h"
+
+#include <coemain.h>
+#include <csmcmockcontext.h>
+#include <smcdefaultvalue.h>
+#include <msmcmockspecbuilder.h>
+#include <smcobjecttotypemapper.h>
+
+#include "cphonestatemachinegsm.h"
+#include "mock_cphoneviewcommandhandle.h"
+
+#include "cpeengineinfo.h"
+#include "cpeengineinfoimpl.h"
+
+#include "tphonecmdparamcallheaderdata.h"
+
+// needed for mocking CPhoneMainResourceResolver::Instance()
+class CPhoneMainResourceResolverMock : public CPhoneMainResourceResolver
+    {
+    };
+
+// - Construction -----------------------------------------------------------
+
+ut_cphconfandwaitingandcallsetup* ut_cphconfandwaitingandcallsetup::NewL()
+    {
+    ut_cphconfandwaitingandcallsetup* self = ut_cphconfandwaitingandcallsetup::NewLC();
+    CleanupStack::Pop();
+    return self;
+    }
+
+ut_cphconfandwaitingandcallsetup* ut_cphconfandwaitingandcallsetup::NewLC()
+    {
+    ut_cphconfandwaitingandcallsetup* self = new( ELeave ) ut_cphconfandwaitingandcallsetup();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+ut_cphconfandwaitingandcallsetup::~ut_cphconfandwaitingandcallsetup()
+    {
+    CSmcMockContext::Release();
+    }
+
+ut_cphconfandwaitingandcallsetup::ut_cphconfandwaitingandcallsetup()
+    {
+    }
+
+void ut_cphconfandwaitingandcallsetup::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    iMockContext = CSmcMockContext::InstanceL();
+    }
+
+// - Test methods -----------------------------------------------------------
+
+
+
+void ut_cphconfandwaitingandcallsetup::SetupL(  )
+    {
+    iMockContext->InitializeL();
+    
+    iCPhoneMainResourceResolverMock = new ( ELeave ) CPhoneMainResourceResolverMock();
+    SmcDefaultValue<CPhoneMainResourceResolver*>::SetL( iCPhoneMainResourceResolverMock );
+            
+    iViewCommandHandleMock = new CPhoneViewCommandHandleMock();
+    iStateMachineMock = CPhoneStateMachineGSM::NewL( iViewCommandHandleMock ); 
+    iStateConferenceAndCallSetupAndWaiting  = CPhoneConferenceAndWaitingAndCallSetup::NewL(
+           iStateMachineMock, iViewCommandHandleMock, NULL );
+    
+    iCoeEnvMock = new (ELeave ) CCoeEnv();
+    SmcDefaultValue<CCoeEnv*>::SetL( iCoeEnvMock );    
+    
+    iEngineInfoMock = CPEEngineInfo::NewL();
+    SmcDefaultValue<MPEEngineInfo*>::SetL( iEngineInfoMock );
+    }
+    
+
+void ut_cphconfandwaitingandcallsetup::Teardown(  )
+    {
+    delete iCPhoneMainResourceResolverMock;
+    iCPhoneMainResourceResolverMock = NULL;
+    SmcDefaultValue<CPhoneMainResourceResolver*>::Reset();
+    
+    delete iStateConferenceAndCallSetupAndWaiting;
+    delete iViewCommandHandleMock;
+    delete iStateMachineMock;
+    
+    delete iCoeEnvMock;
+    iCoeEnvMock = NULL;
+    SmcDefaultValue<CCoeEnv*>::Reset();
+    
+    delete iEngineInfoMock;
+    iEngineInfoMock = NULL;
+    SmcDefaultValue<MPEEngineInfo*>::Reset();
+    
+    iMockContext->Reset();
+    }
+
+// -----------------------------------------------------------------------------
+// Test  conference and waiting state in connecting 
+// -check commands
+// -----------------------------------------------------------------------------
+//  
+void ut_cphconfandwaitingandcallsetup::T_HandleConnectedL(  )
+    {
+    TInt callId(2);
+    TPhoneCmdParamCallHeaderData callHeaderParam;
+    callHeaderParam.SetCallState( EPEStateConnected );
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+        WithL<TPhoneViewCommandId, TInt> ( 
+                EPhoneViewUpdateBubble, 
+                callId );
+          
+    iStateConferenceAndCallSetupAndWaiting->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageConnected, callId );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+// -----------------------------------------------------------------------------
+// Test  idle
+// -check commands
+// -----------------------------------------------------------------------------
+//  
+void ut_cphconfandwaitingandcallsetup::T_HandleIdleL()
+    {
+    TInt callId(0);
+    TPhoneCmdParamBoolean conferenceExistsForCallId;
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+        WithL<TPhoneViewCommandId, TInt, TPhoneCommandParam&> ( 
+                EPhoneViewGetCallExistsInConference, 
+                callId,
+                conferenceExistsForCallId );
+               
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+       WithL<TPhoneViewCommandId, TInt>( EPhoneViewRemoveCallHeader, callId );
+    
+    iStateConferenceAndCallSetupAndWaiting->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageIdle, 0 );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() ); 
+    }
+
+// -----------------------------------------------------------------------------
+// Test  conference idle
+// -check commands
+// -----------------------------------------------------------------------------
+//  
+void ut_cphconfandwaitingandcallsetup::T_HandleConferenceIdleL( )
+    {
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+       WithL( EPhoneViewRemoveConferenceBubble );
+    
+    iStateConferenceAndCallSetupAndWaiting->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageConferenceIdle, 0 );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+        ut_cphconfandwaitingandcallsetup,
+    "Add test suite description here.",
+    "UNIT" )
+
+EUNIT_TEST(
+    "1- Test handle connecting",
+    "",
+    "Test0",
+    "FUNCTIONALITY",
+    SetupL, T_HandleConnectedL, Teardown)
+    
+EUNIT_TEST(
+    "2- Test handle idle",
+    "",
+    "Test0",
+    "FUNCTIONALITY",
+    SetupL, T_HandleIdleL, Teardown)
+    
+EUNIT_TEST(
+    "3- Test handle conference idle",
+    "",
+    "Test0",
+    "FUNCTIONALITY",
+    SetupL, T_HandleConferenceIdleL, Teardown)
+    
+
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphconfandwaitingandcallsetup/Src/ut_cphconfandwaitingandcallsetup.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,78 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __UT_CPHONECONFERENCEANDWAITINGANDCALLSETUP_H__
+#define __UT_CPHONECONFERENCEANDWAITINGANDCALLSETUP_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+
+
+
+// FORWARD DECLARATIONS
+class CPhoneConferenceAndWaitingAndCallSetup;
+class CPhoneMainResourceResolverMock;
+class CPhoneStateMachineGSM;
+class CPhoneViewCommandHandleMock;
+class CSmcMockContext;
+class CCoeEnv;
+class CPEEngineInfo;
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( ut_cphconfandwaitingandcallsetup )
+    : public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static ut_cphconfandwaitingandcallsetup* NewL();
+        static ut_cphconfandwaitingandcallsetup* NewLC();
+        ~ut_cphconfandwaitingandcallsetup();
+
+    private: // Constructors
+
+        ut_cphconfandwaitingandcallsetup();
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+         void Teardown();
+        
+         void T_HandleConnectedL();
+         void T_HandleIdleL();
+         void T_HandleConferenceIdleL();
+        
+
+    private: // Data
+   
+        CPhoneViewCommandHandleMock* iViewCommandHandleMock;
+        CPhoneStateMachineGSM* iStateMachineMock; 
+        CPhoneConferenceAndWaitingAndCallSetup * iStateConferenceAndCallSetupAndWaiting;
+        CCoeEnv* iCoeEnvMock;
+        CSmcMockContext* iMockContext;
+        CPhoneMainResourceResolverMock* iCPhoneMainResourceResolverMock;
+        CPEEngineInfo* iEngineInfoMock;
+        
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __UT_CPHONECONFERENCEANDWAITINGANDCALLSETUP_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphconfandwaitingandcallsetup/Src/ut_cphconfandwaitingandcallsetup_DllMain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphconfandwaitingandcallsetup.h"
+#include <CEUnitTestSuite.h>
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return ut_cphconfandwaitingandcallsetup::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphconfandwaitingandcallsetup/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+PRJ_PLATFORMS
+    WINSCW
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+
+PRJ_TESTMMPFILES
+ut_cphconfandwaitingandcallsetup.mmp
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphconfandwaitingandcallsetup/group/ut_cphconfandwaitingandcallsetup.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,106 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET          ut_cphconfandwaitingandcallsetup.dll
+TARGETTYPE      dll                                 
+UID             0x1000af5a 0x01700000
+
+CAPABILITY      ALL -TCB
+VENDORID        VID_DEFAULT
+
+SOURCEPATH      ../../../../internal/mocks/phoneuistates
+SOURCE          mock_cphonegsmincall.cpp
+SOURCE          mock_cphonestatemachinegsm.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuicontrol
+SOURCE          mock_cphonestate.cpp
+SOURCE          mock_cphonestateincall.cpp
+SOURCE          mock_cphonestatemachine.cpp
+
+SOURCEPATH      ../../../../../internal/mocks/phoneapp/phoneuicontrol
+SOURCE          mock_cphonenumberentrymanager.cpp
+
+
+SOURCEPATH      ../../../../internal/mocks/phoneuiview
+SOURCE          mock_cphoneviewcommandhandle.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuiutils
+SOURCE          mock_cphonelogger.cpp
+SOURCE          mock_cphonemainresourceresolver.cpp
+
+SOURCEPATH      ../../../../../internal/mocks/phoneengine/engineinfo
+SOURCE          mock_cpeengineinfoimpl.cpp
+
+SOURCEPATH      ../../../../../internal/mocks/eikmenupane
+SOURCE          mock_eikmenup.cpp
+SOURCE          mock_eikmenub.cpp
+SOURCE          mock_coecntrl.cpp
+SOURCE          mock_eikbctrl.cpp
+SOURCE          mock_coemop.cpp
+SOURCE          mock_coeinput.cpp
+SOURCE          mock_gulbordr.cpp
+SOURCE          mock_akncontrol.cpp
+SOURCE          mock_eikcmobs.cpp
+SOURCE          mock_coemain.cpp
+SOURCE          mock_eikenv.cpp
+SOURCE          mock_eikvcurs.cpp
+
+// Sources required by the test suite
+SOURCEPATH      ../../../../phoneuistates/src
+SOURCE          CPhoneConferenceAndWaitingAndCallSetup.cpp
+SOURCE          CPhoneConference.cpp
+
+SOURCEPATH      ../../../../../phoneengine/engineinfo/src
+SOURCE          cpeengineinfo.cpp
+
+SOURCEPATH      ../Src
+SOURCE          ut_cphconfandwaitingandcallsetup_DllMain.cpp
+SOURCE          ut_cphconfandwaitingandcallsetup.cpp
+
+USERINCLUDE     ../../../../phoneuiview/inc
+USERINCLUDE     ../../../../phoneuicontrol/inc
+USERINCLUDE     ../../../../phoneuistates/inc
+USERINCLUDE     ../../../../phonemediatorcenter/inc
+USERINCLUDE     ../../../../phoneuiutils/inc
+USERINCLUDE     ../../../../phoneui2/srcdata
+USERINCLUDE     ../../../../phoneuiqtviewadapter/inc
+USERINCLUDE     ../../../../../phoneengine/engineinfo/inc
+USERINCLUDE     ../../../../internal/mocks/phoneengine
+USERINCLUDE     ../../../../internal/mocks/phoneuiview
+
+APP_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE   /epoc32/include/platform/mw/graphics/uigraphicsutils/
+SYSTEMINCLUDE   /epoc32/include/Digia/EUnit
+SYSTEMINCLUDE   ../../../../../inc
+
+LIBRARY         phoneuiutils.lib
+LIBRARY         EUnit.lib
+LIBRARY         EUnitUtil.lib
+LIBRARY         euser.lib
+LIBRARY         FeatMgr.lib         // FeatureManager
+LIBRARY         avkon.lib             // AknTextUtils
+LIBRARY         CommonEngine.lib     //StringLoader 
+LIBRARY         cone.lib
+LIBRARY         symbianmock.lib
+LIBRARY         fbscli.lib
+LIBRARY         efsrv.lib
+LIBRARY         apgrfx.lib
+LIBRARY         gdi.lib          // TZoomFactor
+LIBRARY         ws32.lib         // RWsSession
+LIBRARY         bafl.lib // Descriptor arrays
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonealerting/bwins/ut_cphonealertingu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonealerting/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+PRJ_PLATFORMS
+    WINSCW
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+
+PRJ_TESTMMPFILES
+ut_cphonealerting.mmp
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonealerting/group/ut_cphonealerting.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,105 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*
+*/
+
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET          ut_cphonealerting.dll
+TARGETTYPE      dll
+UID             0x1000af5a 0x01700000
+
+CAPABILITY      ALL -TCB
+VENDORID        VID_DEFAULT
+
+
+SOURCEPATH      ../../../../../internal/mocks/phoneengine/engineinfo
+SOURCE          mock_cpeengineinfoimpl.cpp
+ 
+SOURCEPATH        ../../../../internal/mocks/phoneuicontrol
+SOURCE            mock_CPhoneState.cpp
+SOURCE            mock_cphonestateincall.cpp
+SOURCE            mock_cphonestatemachine.cpp
+SOURCE            mock_cphonestateidle.cpp
+
+SOURCEPATH        ../../../../../internal/mocks/phoneapp/phoneuicontrol
+SOURCE            mock_cphonenumberentrymanager.cpp
+
+SOURCEPATH        ../../../../internal/mocks/phoneuistates
+SOURCE            mock_cphonegsmincall.cpp
+SOURCE            mock_cphonestatemachinegsm.cpp
+SOURCE            mock_cphoneidle.cpp
+
+SOURCEPATH        ../../../../internal/mocks/phoneuiutils
+SOURCE            mock_cphonelogger.cpp
+SOURCE            mock_cphonepubsubproxy.cpp
+SOURCE            mock_cphonemainresourceresolver.cpp
+
+SOURCEPATH        ../../../../internal/mocks/phoneuiview
+SOURCE            mock_cphoneviewcommandhandle.cpp
+
+SOURCEPATH        ../../../../../internal/mocks/eikmenupane
+SOURCE            mock_coemain.cpp
+SOURCE            mock_coecntrl.cpp
+
+SOURCEPATH        ../../../../internal/mocks/
+SOURCE            mock_featmgr.cpp
+SOURCE            mock_StringLoader.cpp
+
+SOURCEPATH      ../src
+SOURCE          ut_cphonealerting.cpp
+
+SOURCEPATH        ../../../../../phoneengine/engineinfo/src
+SOURCE          cpeengineinfo.cpp
+
+SOURCEPATH      ../../../src   // phoneuistates src
+SOURCE            cphonealerting.cpp
+
+// Sources required by the test suite
+SOURCEPATH      ../src
+SOURCE          ut_cphonealerting_dllmain.cpp
+
+USERINCLUDE     ../../../../../phoneengine/engineinfo/inc
+USERINCLUDE     ../../../../internal/mocks/phoneengine
+USERINCLUDE     ../../../../phoneuiview/inc
+USERINCLUDE     ../../../../phoneuicontrol/inc
+USERINCLUDE     ../../../../phoneuistates/inc
+USERINCLUDE     ../../../../phonemediatorcenter/inc
+USERINCLUDE     ../../../../phoneuiutils/inc
+USERINCLUDE     ../../../../phoneui2/srcdata
+USERINCLUDE     ../../../../phoneuiqtviewadapter/inc
+USERINCLUDE     ../../../../internal/mocks/phoneuiview
+
+ 
+APP_LAYER_SYSTEMINCLUDE
+
+SYSTEMINCLUDE   /epoc32/include/Digia/EUnit
+SYSTEMINCLUDE   ../../../../../inc   // phone inc
+
+
+LIBRARY         EUnit.lib
+LIBRARY         EUnitUtil.lib
+LIBRARY         euser.lib
+LIBRARY         avkon.lib     // AknTextUtils
+LIBRARY         cone.lib
+LIBRARY         phoneuiutils.lib
+LIBRARY         apgrfx.lib
+LIBRARY         symbianmock.lib
+LIBRARY         efsrv.lib
+LIBRARY         ws32.lib      // RWsSession
+LIBRARY         gdi.lib       // TZoomFactor
+LIBRARY         bafl.lib      // CBaActiveScheduler
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonealerting/src/ut_cphonealerting.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,278 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <csmcmockcontext.h>
+#include <smcdefaultvalue.h>
+#include <msmcmockspecbuilder.h>
+#include <smcobjecttotypemapper.h>
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+#include <featmgr.h>
+#include "ut_cphonealerting.h"
+#include "cphonealerting.h"
+#include "cphonemainresourceresolver.h"
+#include "cphonestatemachinegsm.h"
+#include "mock_cphoneviewcommandhandle.h"
+#include "pevirtualengine.h" 
+#include "mphonekeyevents.h"
+#include "tphonecommandparam.h"
+#include "tphonecmdparamcallheaderdata.h"
+#include "tphonecmdparamaudiooutput.h"
+#include "cpeengineinfoimpl.h"
+#include "cphoneidle.h"
+
+//test
+#include "TPhoneCmdParamInteger.h"
+
+// needed for mocking CPhoneMainResourceResolver::Instance()
+class CPhoneMainResourceResolverMock : public CPhoneMainResourceResolver
+    {
+    };
+
+// -----------------------------------------------------------------------------
+// operator for comparing parameter expected and result value.   
+// -
+// -----------------------------------------------------------------------------
+//
+TBool operator==(const TPhoneCommandParam& param1, const TPhoneCommandParam& param2 )
+    {
+    TBool ret( EFalse );
+    
+    if ( param1.ParamId() == param2.ParamId() )
+        {
+        if ( TPhoneCommandParam::EPhoneParamIdBoolean == param1.ParamId() )
+            {
+            const TPhoneCmdParamBoolean  &value1 = static_cast<const TPhoneCmdParamBoolean&> (param1);
+            const TPhoneCmdParamBoolean  &value2 = static_cast<const TPhoneCmdParamBoolean&> (param2);
+            if (  value1.Boolean() == value2.Boolean() )
+                {
+                ret = ETrue;
+                }
+            }
+        else if ( TPhoneCommandParam::EPhoneParamIdCallHeaderData == param1.ParamId() )
+            {
+            const TPhoneCmdParamCallHeaderData  &value1 = static_cast<const TPhoneCmdParamCallHeaderData&> (param1);
+            const TPhoneCmdParamCallHeaderData  &value2 = static_cast<const TPhoneCmdParamCallHeaderData&> (param2);
+            if ( value1.CallState() == value2.CallState() )
+                {
+                ret = ETrue;
+                }
+            }
+        else if ( TPhoneCommandParam::EPhoneParamIdInteger == param1.ParamId() )
+            {
+            const TPhoneCmdParamInteger  &value1 = static_cast<const TPhoneCmdParamInteger&> (param1);
+            const TPhoneCmdParamInteger  &value2 = static_cast<const TPhoneCmdParamInteger&> (param2);
+            if ( value1.Integer() == value2.Integer() )
+                {
+                ret = ETrue;
+                }
+            }
+        else if ( TPhoneCommandParam::EPhoneParamIdAudioOutput == param1.ParamId() )
+            {
+            const TPhoneCmdParamAudioOutput  &value1 = static_cast<const TPhoneCmdParamAudioOutput&> (param1);
+            const TPhoneCmdParamAudioOutput  &value2 = static_cast<const TPhoneCmdParamAudioOutput&> (param2);
+            if ( value1.AudioOutput() == value2.AudioOutput() )
+                {
+                ret = ETrue;
+                }
+            }
+        else  
+            {
+            ret = ETrue;  // just paramiId compared
+            }
+        }
+    return ret;
+    }
+
+
+// - Construction -----------------------------------------------------------
+ut_cphonealerting* ut_cphonealerting::NewL()
+    {
+    ut_cphonealerting* self = ut_cphonealerting::NewLC();
+    CleanupStack::Pop( self );
+    return self;
+    }
+  
+ut_cphonealerting* ut_cphonealerting::NewLC()
+    {
+    ut_cphonealerting* self = new( ELeave ) ut_cphonealerting();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+  
+ut_cphonealerting::~ut_cphonealerting()
+    {
+    CSmcMockContext::Release();
+    }
+
+
+ut_cphonealerting::ut_cphonealerting()
+    {
+    }
+
+
+void ut_cphonealerting::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    iMockContext = CSmcMockContext::InstanceL();
+    }
+
+
+// - Test methods -----------------------------------------------------------
+void ut_cphonealerting::SetupL(  )
+    {
+    iMockContext->InitializeL();
+
+    iCPhoneMainResourceResolverMock = new ( ELeave ) CPhoneMainResourceResolverMock();
+          SmcDefaultValue<CPhoneMainResourceResolver*>::SetL( iCPhoneMainResourceResolverMock );
+    
+    iViewCmdHandleMock = new CPhoneViewCommandHandleMock();
+  
+    iStateMachineMock = CPhoneStateMachineGSM::NewL( iViewCmdHandleMock ); 
+       
+    iStateAlerting  = CPhoneAlerting::NewL(
+            iStateMachineMock, iViewCmdHandleMock, NULL );
+  
+    iEngineInfoMock = CPEEngineInfoImpl::NewL();
+    
+    iPhoneIdleMock = CPhoneIdle::NewL( 
+        iStateMachineMock, iViewCmdHandleMock, NULL );
+    
+    SmcDefaultValue<MPEEngineInfo*>::SetL( iEngineInfoMock );
+    SmcDefaultValue<TPESimState>::SetL( EPESimStatusUninitialized );
+    SmcDefaultValue<const TPEAudioOutput&>::SetL( EPENotActive );
+    SmcDefaultValue<MPhoneState*>::SetL( iPhoneIdleMock );
+    }
+
+
+void ut_cphonealerting::Teardown(  )
+    {
+    delete iViewCmdHandleMock;
+    iViewCmdHandleMock = NULL;
+    delete iStateAlerting;
+    iStateAlerting = NULL;
+    delete iStateMachineMock;
+    iStateMachineMock = NULL;
+    delete iEngineInfoMock;
+    iEngineInfoMock = NULL;
+    delete iCPhoneMainResourceResolverMock;
+    iCPhoneMainResourceResolverMock = NULL;
+    delete iPhoneIdleMock;
+    iPhoneIdleMock = NULL;
+    
+    SmcDefaultValue<TPESimState>::Reset();
+    SmcDefaultValue<const TPEAudioOutput&>::Reset();
+    SmcDefaultValue<MPhoneState*>::Reset();
+    
+    iMockContext->Reset();
+    }
+
+// -----------------------------------------------------------------------------
+// ut_cphonealerting::T_HandlePhoneEngineMessageIncomingL
+// -----------------------------------------------------------------------------
+// 
+void ut_cphonealerting::T_HandlePhoneEngineMessageIncomingL()
+    {
+    TInt callIdentifier = 0;
+    iMockContext->ExpectCallL( "CPhoneGsmInCall::HandlePhoneEngineMessageL" ).
+        WithL( MEngineMonitor::EPEMessageIncoming, callIdentifier );
+    
+    iStateAlerting->HandlePhoneEngineMessageL( 
+        MEngineMonitor::EPEMessageIncoming,
+        callIdentifier );
+    
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+
+// -----------------------------------------------------------------------------
+// ut_cphonealerting::T_HandlePhoneEngineMessageIdleL
+// -----------------------------------------------------------------------------
+//
+void ut_cphonealerting::T_HandlePhoneEngineMessageIdleL()
+    {
+    TInt callIdentifier = 0;
+    iMockContext->ExpectCallL( "CPhoneGsmInCall::HandlePhoneEngineMessageL" ).
+        WithL( MEngineMonitor::EPEMessageIdle, callIdentifier );
+    
+    iStateAlerting->HandlePhoneEngineMessageL( 
+        MEngineMonitor::EPEMessageIdle,
+        callIdentifier );
+    
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+
+// -----------------------------------------------------------------------------
+// ut_cphonealerting::T_HandlePhoneEngineMessageIdleAfterIncomingL
+// Motivation for the test case: TSW error TKUA-7VJGL5.
+// Incoming message for a new call may be received in alerting state if 
+// teardown of the alerting call is ongoing.
+// -----------------------------------------------------------------------------
+//
+void ut_cphonealerting::T_HandlePhoneEngineMessageIdleAfterIncomingL()
+    {
+    TInt identifierOfAlertingCall = 0;
+    TInt identifierOfIncomingCall = 1;
+    
+    iMockContext->ExpectCallL( "CPhoneGsmInCall::HandlePhoneEngineMessageL" ).
+        WithL( MEngineMonitor::EPEMessageIncoming, identifierOfIncomingCall );
+    iMockContext->ExpectCallL( "CPhoneGsmInCall::HandlePhoneEngineMessageL" ).
+        WithL( MEngineMonitor::EPEMessageIdle, identifierOfAlertingCall );
+    iMockContext->ExpectCallL( "CPhoneIdle::HandlePhoneEngineMessageL" ).
+        WithL( MEngineMonitor::EPEMessageIncoming, identifierOfIncomingCall );
+    
+    iStateAlerting->HandlePhoneEngineMessageL( 
+        MEngineMonitor::EPEMessageIncoming,
+        identifierOfIncomingCall );
+    iStateAlerting->HandlePhoneEngineMessageL( 
+        MEngineMonitor::EPEMessageIdle,
+        identifierOfAlertingCall );
+    
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+
+// - EUnit test table -------------------------------------------------------
+EUNIT_BEGIN_TEST_TABLE(
+    ut_cphonealerting,
+    "Add test suite description here.",
+    "UNIT" )
+
+EUNIT_TEST(
+    "T_HandlePhoneEngineMessageIncomingL",
+    "CPhoneAlerting",
+    "T_HandlePhoneEngineMessageIncomingL",
+    "FUNCTIONALITY",
+    SetupL, T_HandlePhoneEngineMessageIncomingL, Teardown)
+
+EUNIT_TEST(
+    "T_HandlePhoneEngineMessageIdleL",
+    "CPhoneAlerting",
+    "T_HandlePhoneEngineMessageIdleL",
+    "FUNCTIONALITY",
+    SetupL, T_HandlePhoneEngineMessageIdleL, Teardown)
+
+EUNIT_TEST(
+    "T_HandlePhoneEngineMessageIdleAfterIncomingL",
+    "CPhoneAlerting",
+    "T_HandlePhoneEngineMessageIdleAfterIncomingL",
+    "FUNCTIONALITY",
+    SetupL, T_HandlePhoneEngineMessageIdleAfterIncomingL, Teardown)
+
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonealerting/src/ut_cphonealerting.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,84 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __UT_CPHONEALERTING_H__
+#define __UT_CPHONEALERTING_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+
+
+
+// FORWARD DECLARATIONS
+class CSmcMockContext;
+class CPhoneAlerting;
+class CPhoneStateMachineGSM;
+class CPhoneViewCommandHandleMock;
+class CPhoneMainResourceResolverMock;
+class CPEEngineInfo;
+class MPhoneViewCommandHandle;
+class TPhoneCommandParam;
+class MPhoneState;
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+
+
+TBool operator==(const TPhoneCommandParam& param1, const TPhoneCommandParam& param2 ); 
+
+NONSHARABLE_CLASS( ut_cphonealerting )
+    : public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static ut_cphonealerting* NewL();
+        static ut_cphonealerting* NewLC();
+        ~ut_cphonealerting();
+
+    private: // Constructors
+
+        ut_cphonealerting();
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+         void Teardown();
+                  
+         
+         void T_HandlePhoneEngineMessageIncomingL();
+         void T_HandlePhoneEngineMessageIdleL();
+         void T_HandlePhoneEngineMessageIdleAfterIncomingL();
+         
+    private: // Data
+    
+        MPhoneViewCommandHandle* iViewCmdHandleMock;
+        CPhoneStateMachineGSM* iStateMachineMock;
+        CPhoneAlerting * iStateAlerting;
+        CSmcMockContext* iMockContext;
+        CPhoneMainResourceResolverMock* iCPhoneMainResourceResolverMock;
+        CPEEngineInfo* iEngineInfoMock;
+        MPhoneState* iPhoneIdleMock;
+        
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __UT_CPHONEALERTING_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonealerting/src/ut_cphonealerting_dllmain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphonealerting.h"
+
+#include <CEUnitTestSuite.h>
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return ut_cphonealerting::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonecallsetup/BWINS/ut_cphonecallsetupu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonecallsetup/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+/*
+*/
+
+PRJ_PLATFORMS
+    WINSCW
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+
+PRJ_TESTMMPFILES
+ut_cphonecallsetup.mmp
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonecallsetup/group/ut_cphonecallsetup.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,71 @@
+/*
+* Copyright (c) 2005-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:  
+*
+*/
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET          ut_cphonecallsetup.dll
+TARGETTYPE      dll
+UID             0x1000af5a 0x01700000
+
+CAPABILITY      ALL -TCB
+VENDORID        VID_DEFAULT
+
+SOURCEPATH      ../Src
+SOURCE          ut_cphonecallsetup_DllMain.cpp
+
+SOURCEPATH      ../Src
+SOURCE          ut_cphonecallsetup.cpp
+
+SOURCEPATH      ../../common
+SOURCE          cphonestatemachinestub.cpp
+SOURCE          cphonestatestub.cpp
+SOURCE          CPhoneStateCallSetupstub.cpp
+SOURCE          stubs.cpp
+
+SOURCEPATH        ../../../src        // phoneuistates src
+SOURCE            CPhoneCallSetup.cpp
+SOURCE            CPhoneGeneralGsmMessagesHandler.cpp
+
+// User include folders required by the tested code
+USERINCLUDE     ../inc
+USERINCLUDE     ../../common
+USERINCLUDE     ../Src
+USERINCLUDE     ../../../../phonemediatorcenter/inc
+USERINCLUDE     ../../../../phoneuistates/inc
+USERINCLUDE     ../../../../phoneuicontrol/inc
+USERINCLUDE     ../../../../phoneuiview/inc
+USERINCLUDE     ../../../../phoneuiutils/inc
+USERINCLUDE     ../../../../phoneui2/srcdata
+USERINCLUDE     ../../../../phoneuiqtviewadapter/inc
+
+
+APP_LAYER_SYSTEMINCLUDE         // Application layer domain APIs
+SYSTEMINCLUDE    /epoc32/include/Digia/EUnit
+SYSTEMINCLUDE    ../../../../../inc        // phone inc
+
+LIBRARY          EUnit.lib
+LIBRARY          EUnitUtil.lib
+LIBRARY          euser.lib
+
+LIBRARY          PhoneUIUtils.lib
+LIBRARY          PhoneEngine.lib
+LIBRARY          FeatMgr.lib // FeatureManager
+LIBRARY          avkon.lib // AknTextUtils
+LIBRARY          CommonEngine.lib //StringLoader 
+LIBRARY          cone.lib
+LIBRARY          apgrfx.lib
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonecallsetup/inc/ut_cphonecallsetup.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,106 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __UT_CPHONECALLSETUP_H__
+#define __UT_CPHONECALLSETUP_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+
+#include "cphonecallsetup.h"
+#include "CPhoneState.h"
+#include "cphonestatecallsetupstub.h"
+
+// FORWARD DECLARATIONS
+class CPhoneViewController;
+class CPhoneState;
+class CPhoneStateCallSetup;
+class TPhoneCmdParamBoolean;
+class TPhoneCmdParamCallHeaderData;
+class CPhoneMainResourceResolver;
+class CPhoneStateMachineStub;
+
+// CLASS DEFINITION
+/**
+ * this class was done to prevent ambigous access to CBase(CPhoneState inherits CBase also).
+ */
+class CallSetupWrapperClass : public CPhoneCallSetup
+    {
+    public:  // Constructors and destructor
+
+        static CallSetupWrapperClass* NewL(
+                MPhoneStateMachine* aStateMachine, 
+                MPhoneViewCommandHandle* aViewCommandHandle,
+                MPhoneCustomization* aPhoneCustomization );
+        
+        virtual ~CallSetupWrapperClass();
+        
+        void HandleConnectingL( TInt aCallId );
+        
+        
+    protected:
+       CallSetupWrapperClass( MPhoneStateMachine* aStateMachine, 
+                MPhoneViewCommandHandle* aViewCommandHandle,
+                MPhoneCustomization* aPhoneCustomization  );
+        
+        virtual void ConstructL();
+    };
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( ut_cphonecallsetup )
+    : public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static ut_cphonecallsetup* NewL();
+        static ut_cphonecallsetup* NewLC();
+        ~ut_cphonecallsetup();
+
+    private: // Constructors
+
+        ut_cphonecallsetup();
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+        
+         void Teardown();
+        
+         void T_CPhoneCallSetup__CPhoneCallSetupL();
+        
+         void T_CPhoneCallSetup_HandleHandleConnectingMessageL();
+         
+         TInt VerifyViewCommand( const TInt& aCmd );
+
+         void VerifyEPhoneViewRemoveGlobalNoteIsNotUsed();
+         
+    private: // Data
+
+        CPhoneViewController* iViewCommandHandle;
+        CPhoneStateMachineStub* iStateMachine;
+        CPhoneMainResourceResolver* iStubResourceResolver;
+        CallSetupWrapperClass* iWrapper;
+
+        EUNIT_DECLARE_TEST_TABLE;
+    };
+
+#endif      //  __UT_CPHONECALLSETUP_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonecallsetup/src/ut_cphonecallsetup.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,196 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphonecallsetup.h"
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+
+#include "cphonecallsetup.h"
+
+#include "CPhoneState.h"
+
+#include "cphonestatecallsetupstub.h"
+#include "CPhoneStateMachineStub.h"
+#include "CPhoneViewControllerStub.h"
+#include "CPhoneMainResourceResolver.h"
+
+CallSetupWrapperClass* CallSetupWrapperClass::NewL( 
+        MPhoneStateMachine* aStateMachine, 
+        MPhoneViewCommandHandle* aViewCommandHandle,
+        MPhoneCustomization* aPhoneCustomization )
+    {
+    CallSetupWrapperClass* self = new( ELeave ) CallSetupWrapperClass(
+            aStateMachine,
+            aViewCommandHandle,
+            aPhoneCustomization );
+        
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+CallSetupWrapperClass::~CallSetupWrapperClass()
+    {
+    }
+
+CallSetupWrapperClass::CallSetupWrapperClass(
+    MPhoneStateMachine* aStateMachine, 
+    MPhoneViewCommandHandle* aViewCommandHandle,
+    MPhoneCustomization* aPhoneCustomization ) : 
+    CPhoneCallSetup( aStateMachine, aViewCommandHandle, aPhoneCustomization )    
+    {
+    }
+
+void CallSetupWrapperClass::ConstructL()
+    {
+    CPhoneCallSetup::ConstructL();
+    }
+
+
+void CallSetupWrapperClass::HandleConnectingL( TInt aCallId )
+    {
+    CPhoneCallSetup::HandleConnectingL(aCallId);
+    }
+
+// - Construction -----------------------------------------------------------
+
+ut_cphonecallsetup* ut_cphonecallsetup::NewL()
+    {
+    ut_cphonecallsetup* self = ut_cphonecallsetup::NewLC();
+    CleanupStack::Pop();
+    return self;
+    }
+
+ut_cphonecallsetup* ut_cphonecallsetup::NewLC()
+    {
+    ut_cphonecallsetup* self = new( ELeave ) ut_cphonecallsetup();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+ut_cphonecallsetup::~ut_cphonecallsetup()
+    {
+    }
+
+ut_cphonecallsetup::ut_cphonecallsetup()
+    {
+    }
+
+void ut_cphonecallsetup::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    }
+
+// - Test methods -----------------------------------------------------------
+
+
+void ut_cphonecallsetup::SetupL(  )
+    {
+    iViewCommandHandle = CPhoneViewController::NewL();
+    iStateMachine = CPhoneStateMachineStub::NewL(); 
+    iWrapper = CallSetupWrapperClass::NewL( iStateMachine, iViewCommandHandle, NULL );
+    }
+    
+
+void ut_cphonecallsetup::Teardown(  )
+    {
+    delete iWrapper; 
+    iWrapper = NULL;
+    delete iStateMachine;
+    iStateMachine = NULL;
+    delete iViewCommandHandle;
+    iViewCommandHandle = NULL;
+    delete iStubResourceResolver;
+    iStubResourceResolver = NULL; 
+    }
+    
+
+void ut_cphonecallsetup::T_CPhoneCallSetup__CPhoneCallSetupL(  )
+    {
+    }
+    
+void ut_cphonecallsetup::T_CPhoneCallSetup_HandleHandleConnectingMessageL(  )
+    {
+    TInt callId(1);
+    iWrapper->HandleConnectingL( callId );
+    VerifyEPhoneViewRemoveGlobalNoteIsNotUsed();
+    }
+    
+void ut_cphonecallsetup::VerifyEPhoneViewRemoveGlobalNoteIsNotUsed( )
+    {
+    EUNIT_PRINT( _L( "Checking that command EPhoneViewRemoveGlobalNote is not used!" ) );
+    TInt command = EPhoneViewRemoveGlobalNote;
+    TInt count = iViewCommandHandle->iCmds->Count();
+    TBool cmdFound = EFalse;
+    TInt i = 0;
+    for ( ; i < count; i++ )
+        {
+        TCmds cmd = iViewCommandHandle->iCmds->At(i);
+        if( cmd.iCmd == EPhoneViewRemoveGlobalNote )  
+            {
+            EUNIT_FAIL_TEST( "EPhoneViewRemoveGlobalNote Command found -> FAIL! " );
+            cmdFound = ETrue;
+            break;
+            }
+        }
+    }
+
+TInt ut_cphonecallsetup::VerifyViewCommand( const TInt& aCmd )
+    {
+    _LIT(KDesC, "Checking command id = %d ");
+    EUNIT_PRINT( KDesC(), aCmd );
+    
+    TInt count = iViewCommandHandle->iCmds->Count();
+    TBool cmdFound = EFalse;
+    TInt i = 0;
+    for ( ; i < count; i++ )
+        {
+        TCmds cmd = iViewCommandHandle->iCmds->At(i);
+        if( cmd.iCmd == aCmd )  
+            {
+            cmdFound = ETrue;
+            break;
+            }
+        }
+    EUNIT_ASSERT_DESC( cmdFound, "View Command not ok" );
+    return i;
+    }
+
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+    ut_cphonecallsetup,
+    "Add test suite description here.",
+    "UNIT" )
+
+EUNIT_TEST(
+    "CPhoneCallSetup const./desct.",
+    "CPhoneCallSetup",
+    "Setup-teardown",
+    "FUNCTIONALITY",
+    SetupL, T_CPhoneCallSetup__CPhoneCallSetupL, Teardown)
+    
+EUNIT_TEST(
+    "CPhoneCallSetup - HandleConnectingL",
+    "CPhoneCallSetup",
+    "HandlePhoneEngineMessageL - HandleConnectingL",
+    "FUNCTIONALITY",
+    SetupL, T_CPhoneCallSetup_HandleHandleConnectingMessageL, Teardown)
+    
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonecallsetup/src/ut_cphonecallsetup_DllMain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphonecallsetup.h"
+#include <CEUnitTestSuite.h>
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return ut_cphonecallsetup::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonecallsetupandwaiting/BWINS/ut_cphonecallsetupandwaitingu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonecallsetupandwaiting/Src/ut_cphonecallsetupandwaiting.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,124 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphonecallsetupandwaiting.h"
+
+#include <csmcmockcontext.h>
+#include <smcdefaultvalue.h>
+#include <msmcmockspecbuilder.h>
+#include <smcobjecttotypemapper.h>
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+#include <featmgr.h>
+#include "PEVirtualEngine.h" 
+#include "CPhoneViewControllerStub.h"
+#include "CPhoneStateMachineStub.h"
+#include "MPhoneKeyEvents.h"
+#include "TPhoneCommandParam.h"
+#include "CPhoneMainResourceResolver.h"
+#include "phoneappcommands.hrh"
+
+#define protected public
+#include "CPhoneCallSetupAndWaiting.h"
+
+// - Construction -----------------------------------------------------------
+
+ut_cphonecallsetupandwaiting* ut_cphonecallsetupandwaiting::NewL()
+    {
+    ut_cphonecallsetupandwaiting* self = ut_cphonecallsetupandwaiting::NewLC();
+    CleanupStack::Pop();
+    return self;
+    }
+    
+    ut_cphonecallsetupandwaiting* ut_cphonecallsetupandwaiting::NewLC()
+    {
+    ut_cphonecallsetupandwaiting* self = new( ELeave ) ut_cphonecallsetupandwaiting();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+ut_cphonecallsetupandwaiting::~ut_cphonecallsetupandwaiting()
+    {
+    CSmcMockContext::Release();
+    }
+
+ut_cphonecallsetupandwaiting::ut_cphonecallsetupandwaiting()
+    {
+    }
+
+void ut_cphonecallsetupandwaiting::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    iMockContext = CSmcMockContext::InstanceL();
+    }
+
+// - Test methods -----------------------------------------------------------
+
+
+
+void ut_cphonecallsetupandwaiting::SetupL(  )
+    {
+    iMockContext->InitializeL();
+    iViewCommandHandle = CPhoneViewController::NewL();
+    iStateMachine = CPhoneStateMachineStub::NewL(); 
+     
+    iStateCallSetupAndWaiting  = CPhoneCallSetupAndWaiting::NewL(
+           iStateMachine, iViewCommandHandle, NULL );
+    }
+    
+
+void ut_cphonecallsetupandwaiting::Teardown(  )
+    {
+    delete CPhoneMainResourceResolver::Instance();
+    delete iStateCallSetupAndWaiting;
+    delete iViewCommandHandle;
+    delete iStateMachine;
+    iMockContext->Reset();
+    }
+
+// -----------------------------------------------------------------------------
+// Test  conference idle
+// -check commands
+// -----------------------------------------------------------------------------
+//  
+void ut_cphonecallsetupandwaiting::T_HandleIdleL( )
+    {
+    
+    iViewCommandHandle->SetViewGetCountOfActiveCalls(1);
+    
+    iStateCallSetupAndWaiting->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageIdle, 0 );
+   
+    iViewCommandHandle->VerifyViewCommand( EPhoneViewRemoveCallHeader );
+          
+    }
+
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+        ut_cphonecallsetupandwaiting,
+    "Add test suite description here.",
+    "UNIT" )
+    
+EUNIT_TEST(
+    "2- CPhoneTwoSinglesAndWaiting: Test idle",
+    "",
+    "Test0",
+    "FUNCTIONALITY",
+    SetupL, T_HandleIdleL, Teardown)    
+    
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonecallsetupandwaiting/Src/ut_cphonecallsetupandwaiting.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,73 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __UT_CPHONECALLSETUPWAITING_H__
+#define __UT_CPHONECALLSETUPWAITING_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+
+
+
+// FORWARD DECLARATIONS
+class CPhoneCallSetupAndWaiting;
+class CPhoneStateMachineStub;
+class CPhoneViewController;
+class CSmcMockContext;
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( ut_cphonecallsetupandwaiting )
+    : public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static ut_cphonecallsetupandwaiting* NewL();
+        static ut_cphonecallsetupandwaiting* NewLC();
+        ~ut_cphonecallsetupandwaiting();
+
+    private: // Constructors
+
+        ut_cphonecallsetupandwaiting();
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+        
+         void Teardown();
+         
+         void T_HandleIdleL();        
+
+    private: // Data
+   
+        CPhoneViewController* iViewCommandHandle;
+                        
+        CPhoneStateMachineStub* iStateMachine; 
+                    
+        CPhoneCallSetupAndWaiting * iStateCallSetupAndWaiting;
+
+        CSmcMockContext* iMockContext;
+        
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __UT_CPHONECALLSETUPWAITING_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonecallsetupandwaiting/Src/ut_cphonecallsetupandwaiting_DllMain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphonecallsetupandwaiting.h"
+#include <CEUnitTestSuite.h>
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return ut_cphonecallsetupandwaiting::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonecallsetupandwaiting/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+PRJ_PLATFORMS
+    WINSCW
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+
+PRJ_TESTMMPFILES
+ut_cphonecallsetupandwaiting.mmp
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonecallsetupandwaiting/group/ut_cphonecallsetupandwaiting.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,79 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*
+*/
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET          ut_cphonecallsetupandwaiting.dll
+TARGETTYPE      dll
+UID             0x1000af5a 0x01700000
+
+CAPABILITY      ALL -TCB
+VENDORID        VID_DEFAULT
+
+SOURCEPATH         ../../common
+SOURCE            cphonestatemachinestub.cpp
+SOURCE          cphonestateincallstub.cpp
+SOURCE          cphonegsmincallstub.cpp
+SOURCE             cphonestatestub.cpp
+SOURCE          phoneuiutils.cpp
+SOURCE             stubs.cpp
+ 
+SOURCEPATH      ../../../../phoneuistates/src
+SOURCE            CPhoneCallSetupAndWaiting.cpp
+
+SOURCEPATH      ../../../../../internal/mocks/phoneapp/phoneuicontrol
+SOURCE          mock_cphonenumberentrymanager.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuiutils
+SOURCE          mock_tphonetouchbuttonconfig.cpp
+
+// Sources required by the test suite
+SOURCEPATH      ../Src
+SOURCE          ut_cphonecallsetupandwaiting.cpp
+SOURCE          ut_cphonecallsetupandwaiting_DllMain.cpp
+
+
+USERINCLUDE        ../../common
+USERINCLUDE        ../../../../phoneuiview/inc
+USERINCLUDE        ../../../../phoneuicontrol/inc
+USERINCLUDE        ../../../../phoneuistates/inc
+USERINCLUDE        ../../../../phoneuiutils/inc
+USERINCLUDE        ../../../../phonemediatorcenter/inc
+USERINCLUDE        ../../../../phoneui2/srcdata
+USERINCLUDE        ../../../../phoneuiqtviewadapter/inc
+
+ 
+APP_LAYER_SYSTEMINCLUDE
+
+SYSTEMINCLUDE   /epoc32/include/Digia/EUnit
+SYSTEMINCLUDE   ../../../../../inc
+
+
+LIBRARY         EUnit.lib
+LIBRARY         EUnitUtil.lib
+LIBRARY         euser.lib
+LIBRARY         FeatMgr.lib         // FeatureManager
+LIBRARY         avkon.lib             // AknTextUtils
+LIBRARY         CommonEngine.lib     //StringLoader 
+LIBRARY         cone.lib
+LIBRARY         apgrfx.lib
+LIBRARY         symbianmock.lib
+LIBRARY         efsrv.lib
+LIBRARY         phoneuiutils.lib
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneconference/BWINS/ut_cphoneconferenceu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneconference/Src/ut_cphoneconference.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,176 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphoneconference.h"
+
+#include <csmcmockcontext.h>
+#include <smcdefaultvalue.h>
+#include <msmcmockspecbuilder.h>
+#include <smcobjecttotypemapper.h>
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+#include <featmgr.h>
+#include "PEVirtualEngine.h" 
+#include "CPhoneViewControllerStub.h"
+#include "CPhoneStateMachineStub.h"
+#include "MPhoneKeyEvents.h"
+#include "TPhoneCommandParam.h"
+#include "CPhoneMainResourceResolver.h"
+#include "tphonecmdparamcallheaderdata.h"
+
+#define protected public
+#include "CPhoneConference.h"
+
+// - Construction -----------------------------------------------------------
+
+ut_cphoneconference* ut_cphoneconference::NewL()
+    {
+    ut_cphoneconference* self = ut_cphoneconference::NewLC();
+    CleanupStack::Pop();
+    return self;
+    }
+    
+    ut_cphoneconference* ut_cphoneconference::NewLC()
+    {
+    ut_cphoneconference* self = new( ELeave ) ut_cphoneconference();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+ut_cphoneconference::~ut_cphoneconference()
+    {
+    CSmcMockContext::Release();
+    }
+
+ut_cphoneconference::ut_cphoneconference()
+    {
+    }
+
+void ut_cphoneconference::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    iMockContext = CSmcMockContext::InstanceL();
+    }
+
+// - Test methods -----------------------------------------------------------
+
+
+
+void ut_cphoneconference::SetupL(  )
+    {
+    iMockContext->InitializeL();
+    iViewCommandHandle = CPhoneViewController::NewL();
+    iStateMachine = CPhoneStateMachineStub::NewL(); 
+    iViewCommandHandle->iCallId = 2; 
+    iStateConference  = CPhoneConference::NewL(
+           iStateMachine, iViewCommandHandle, NULL );
+    
+    }
+    
+
+void ut_cphoneconference::Teardown(  )
+    {
+    delete CPhoneMainResourceResolver::Instance();
+    delete iStateConference;
+    delete iViewCommandHandle;
+    delete iStateMachine;
+    iMockContext->Reset();
+    }
+    
+
+// -----------------------------------------------------------------------------
+// Test  conference and waiting state in connecting 
+// -check commands
+// -----------------------------------------------------------------------------
+//  
+void ut_cphoneconference::T_HandleConnectedL(  )
+    {
+    
+    iStateConference->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageConnected, 2 );
+
+    iViewCommandHandle->VerifyViewCommand( EPhoneViewUpdateBubble );
+    
+    }
+
+// -----------------------------------------------------------------------------
+// Test  idle
+// -check commands
+// -----------------------------------------------------------------------------
+//  
+void ut_cphoneconference::T_HandleIdleL()
+    {
+    
+    iViewCommandHandle->SetViewGetCountOfActiveCalls(1);
+    
+    iStateConference->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageIdle, 0 );
+    
+    iViewCommandHandle->VerifyViewCommandBoolean( EPhoneViewGetIsConference, EFalse );
+     
+    }
+
+// -----------------------------------------------------------------------------
+// Test  conference idle
+// -check commands
+// -----------------------------------------------------------------------------
+//  
+void ut_cphoneconference::T_HandleConferenceIdleL( )
+    {
+      
+    iViewCommandHandle->SetViewGetCountOfActiveCalls(2);
+       
+    iStateConference->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageConferenceIdle, 0 );
+    
+    iViewCommandHandle->VerifyViewCommand( EPhoneViewRemoveConferenceBubble );
+    
+    iViewCommandHandle->SetViewGetCountOfActiveCalls(0);
+    
+    iStateConference->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageConferenceIdle, 0 );
+            
+     
+    }
+
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+    ut_cphoneconference,
+    "Add test suite description here.",
+    "UNIT" )
+
+EUNIT_TEST(
+    "1- Test handle connecting",
+    "",
+    "Test0",
+    "FUNCTIONALITY",
+    SetupL, T_HandleConnectedL, Teardown)
+    
+EUNIT_TEST(
+    "2- Test handle idle",
+    "",
+    "Test0",
+    "FUNCTIONALITY",
+    SetupL, T_HandleIdleL, Teardown)
+    
+EUNIT_TEST(
+    "3- Test handle conference idle",
+    "",
+    "Test0",
+    "FUNCTIONALITY",
+    SetupL, T_HandleConferenceIdleL, Teardown)
+    
+
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneconference/Src/ut_cphoneconference.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,78 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __UT_CPHONECONFERENCE_H__
+#define __UT_CPHONECONFERENCE_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+#include "TPhoneCommandParam.h"
+
+
+// FORWARD DECLARATIONS
+class CPhoneConference;
+class CPhoneStateMachineStub;
+class CPhoneViewController;
+class CSmcMockContext;
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( ut_cphoneconference )
+    : public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static ut_cphoneconference* NewL();
+        static ut_cphoneconference* NewLC();
+        ~ut_cphoneconference();
+
+    private: // Constructors
+
+        ut_cphoneconference();
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+        
+         void Teardown();
+        
+         void T_HandleConnectedL();
+         
+         void T_HandleIdleL();
+         
+         void T_HandleConferenceIdleL();
+        
+
+    private: // Data
+   
+        CPhoneViewController* iViewCommandHandle;
+                        
+        CPhoneStateMachineStub* iStateMachine; 
+                    
+        CPhoneConference * iStateConference;
+        
+        CSmcMockContext* iMockContext;
+
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __UT_CPHONECONFERENCE_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneconference/Src/ut_cphoneconference_DllMain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphoneconference.h"
+#include <CEUnitTestSuite.h>
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return ut_cphoneconference::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneconference/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+PRJ_PLATFORMS
+    WINSCW
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+
+PRJ_TESTMMPFILES
+ut_cphoneconference.mmp
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneconference/group/ut_cphoneconference.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,80 @@
+/*
+* Copyright (c) 2005-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:  
+*
+*/
+
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET          ut_cphoneconference.dll
+TARGETTYPE      dll
+UID             0x1000af5a 0x01700000
+
+CAPABILITY      ALL -TCB
+VENDORID        VID_DEFAULT
+
+SOURCEPATH      ../../common
+SOURCE          cphonestatemachinestub.cpp
+SOURCE          cphonestateincallstub.cpp
+SOURCE          cphonegsmincallstub.cpp
+SOURCE          cphonestatestub.cpp
+SOURCE          stubs.cpp
+
+SOURCEPATH      ../../../../../internal/mocks/phoneapp/phoneuicontrol
+SOURCE          mock_cphonenumberentrymanager.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuiutils
+SOURCE          mock_tphonetouchbuttonconfig.cpp
+
+
+SOURCEPATH      ../Src
+SOURCE          ut_cphoneconference.cpp
+
+SOURCEPATH      ../../../../phoneuistates/src
+SOURCE          CPhoneConference.cpp
+ 
+
+// Sources required by the test suite
+SOURCEPATH      ../Src
+SOURCE          ut_cphoneconference_DllMain.cpp
+
+USERINCLUDE    ../../common
+USERINCLUDE    ../../../../phoneuicontrol/inc
+USERINCLUDE    ../../../../phoneuistates/inc
+USERINCLUDE    ../../../../phonemediatorcenter/inc
+USERINCLUDE    ../../../../phoneuiutils/inc
+USERINCLUDE    ../../../../phoneui2/srcdata
+USERINCLUDE    ../../../../phoneuiqtviewadapter/inc
+
+ 
+APP_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE    /epoc32/include/Digia/EUnit
+SYSTEMINCLUDE    ../../../../../inc    // phone internal headers
+
+
+LIBRARY         EUnit.lib
+LIBRARY         EUnitUtil.lib
+LIBRARY         euser.lib
+LIBRARY         FeatMgr.lib         // FeatureManager
+LIBRARY         avkon.lib             // AknTextUtils
+LIBRARY         CommonEngine.lib     //StringLoader 
+LIBRARY         cone.lib
+LIBRARY         apgrfx.lib
+LIBRARY         symbianmock.lib
+LIBRARY         efsrv.lib
+LIBRARY         phoneuiutils.lib
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandcallsetup/BWINS/ut_cphoneconferenceandcallsetupu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandcallsetup/Src/ut_cphoneconferenceandcallsetup.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,225 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphoneconferenceandcallsetup.h"
+
+#include <csmcmockcontext.h>
+#include <smcdefaultvalue.h>
+#include <msmcmockspecbuilder.h>
+#include <smcobjecttotypemapper.h>
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+#include <featmgr.h>
+#include "CPhoneConferenceAndCallSetup.h"
+#include "PEVirtualEngine.h" 
+#include "CPhoneViewControllerStub.h"
+#include "CPhoneStateMachineStub.h"
+#include "MPhoneKeyEvents.h"
+#include "TPhoneCommandParam.h"
+#include "CPhoneMainResourceResolver.h"
+#include "phonestatedefinitionsgsm.h"
+#include "tphonecmdparamcallheaderdata.h"
+
+// - Construction -----------------------------------------------------------
+
+ut_cphoneconferenceandcallsetup* ut_cphoneconferenceandcallsetup::NewL()
+    {
+    ut_cphoneconferenceandcallsetup* self = ut_cphoneconferenceandcallsetup::NewLC();
+    CleanupStack::Pop();
+    return self;
+    }
+
+ut_cphoneconferenceandcallsetup* ut_cphoneconferenceandcallsetup::NewLC()
+    {
+    ut_cphoneconferenceandcallsetup* self = new( ELeave ) ut_cphoneconferenceandcallsetup();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+ut_cphoneconferenceandcallsetup::~ut_cphoneconferenceandcallsetup()
+    {
+    CSmcMockContext::Release();
+    }
+
+ut_cphoneconferenceandcallsetup::ut_cphoneconferenceandcallsetup()
+    {
+    }
+
+void ut_cphoneconferenceandcallsetup::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    iMockContext = CSmcMockContext::InstanceL();
+    }
+
+// - Test methods -----------------------------------------------------------
+
+
+
+void ut_cphoneconferenceandcallsetup::SetupL(  )
+    {
+    iMockContext->InitializeL();
+    iViewCommandHandle = CPhoneViewController::NewL();
+    iStateMachine = CPhoneStateMachineStub::NewL(); 
+    iViewCommandHandle->iCallId = 2; 
+    iStateConferenceAndCallSetup  = CPhoneConferenceAndCallSetup::NewL(
+           iStateMachine, iViewCommandHandle, NULL );
+    
+    }
+    
+
+void ut_cphoneconferenceandcallsetup::Teardown(  )
+    {
+    delete CPhoneMainResourceResolver::Instance();
+    delete iStateConferenceAndCallSetup;
+    delete iViewCommandHandle;
+    delete iStateMachine;
+    iMockContext->Reset();
+    }
+    
+
+// -----------------------------------------------------------------------------
+// Test  conference and waiting state in connecting 
+// -check commands
+// -----------------------------------------------------------------------------
+//  
+void ut_cphoneconferenceandcallsetup::T_HandleConnectedL(  )
+    {   
+    iStateConferenceAndCallSetup->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageConnected, 2 );
+
+    iViewCommandHandle->VerifyViewCommand( EPhoneViewUpdateBubble );
+    
+    }
+
+// -----------------------------------------------------------------------------
+// Test  idle
+// -check commands
+// -----------------------------------------------------------------------------
+//  
+void ut_cphoneconferenceandcallsetup::T_HandleIdleL()
+    {
+    
+    iViewCommandHandle->SetViewGetCountOfActiveCalls(1);
+    
+    iStateConferenceAndCallSetup->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageIdle, 0 );
+    
+    iViewCommandHandle->VerifyViewCommand( EPhoneViewRemoveCallHeader );
+        
+    
+    }
+
+// -----------------------------------------------------------------------------
+// Test  conference idle
+// -check commands
+// -----------------------------------------------------------------------------
+//  
+void ut_cphoneconferenceandcallsetup::T_HandleConferenceIdleL( )
+    {
+          
+    iViewCommandHandle->SetViewGetCountOfActiveCalls(1);
+       
+    iStateConferenceAndCallSetup->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageConferenceIdle, 0 );
+    
+    iViewCommandHandle->VerifyViewCommand( EPhoneViewRemoveConferenceBubble );
+    
+    
+    }
+
+// -----------------------------------------------------------------------------
+// Test  conference call setup and zero send
+// -check commands
+// -----------------------------------------------------------------------------
+//  
+void ut_cphoneconferenceandcallsetup::T_HandleConferenceAndAlertingL( )
+    {
+          
+    iViewCommandHandle->SetViewGetCountOfActiveCalls(2);
+    iViewCommandHandle->SetViewGetCallExistsInConference(ETrue);
+ 
+    iStateConferenceAndCallSetup->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageConnecting, 0 );   
+    iStateConferenceAndCallSetup->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageIdle, 0 );
+    
+    if( iStateMachine->iState != EPhoneStateAlertingInSingle )
+        {
+        EUNIT_FAIL_TEST("Wrong State!");
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// Test  conference call setup and zero send
+// -check commands
+// -----------------------------------------------------------------------------
+//  
+void ut_cphoneconferenceandcallsetup::T_HandleConferenceAndCallSetupL( )
+    {
+          
+    iViewCommandHandle->SetViewGetCountOfActiveCalls(2);
+    iViewCommandHandle->SetViewGetCallExistsInConference(ETrue);
+       
+    iStateConferenceAndCallSetup->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageIdle, 0 );
+    
+    if( iStateMachine->iState != EPhoneStateCallSetupInSingle )
+        {
+        EUNIT_FAIL_TEST("Wrong State!");
+        }
+    
+    }
+
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+    ut_cphoneconferenceandcallsetup,
+    "Add test suite description here.",
+    "UNIT" )
+
+EUNIT_TEST(
+    "1- Test handle connecting",
+    "",
+    "Test0",
+    "FUNCTIONALITY",
+    SetupL, T_HandleConnectedL, Teardown)
+    
+EUNIT_TEST(
+    "2- Test handle idle",
+    "",
+    "Test0",
+    "FUNCTIONALITY",
+    SetupL, T_HandleIdleL, Teardown)
+    
+EUNIT_TEST(
+    "3- Test handle conference idle",
+    "",
+    "Test0",
+    "FUNCTIONALITY",
+    SetupL, T_HandleConferenceIdleL, Teardown)
+    
+EUNIT_TEST(
+    "5- Test Conference And Alerting",
+    "",
+    "Test0",
+    "FUNCTIONALITY",
+    SetupL, T_HandleConferenceAndAlertingL, Teardown)    
+    
+EUNIT_TEST(
+    "6- Test Conference And Call Setup",
+    "",
+    "Test0",
+    "FUNCTIONALITY",
+    SetupL, T_HandleConferenceAndCallSetupL, Teardown)      
+    
+
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandcallsetup/Src/ut_cphoneconferenceandcallsetup.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,84 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __UT_CPHONECONFERENCEANDCALLSETUP_H__
+#define __UT_CPHONECONFERENCEANDCALLSETUP_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+#include "TPhoneCommandParam.h"
+
+
+// FORWARD DECLARATIONS
+class CPhoneConferenceAndCallSetup;
+class CPhoneStateMachineStub;
+class CPhoneViewController;
+class CSmcMockContext;
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( ut_cphoneconferenceandcallsetup )
+    : public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static ut_cphoneconferenceandcallsetup* NewL();
+        static ut_cphoneconferenceandcallsetup* NewLC();
+        ~ut_cphoneconferenceandcallsetup();
+
+    private: // Constructors
+
+        ut_cphoneconferenceandcallsetup();
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+        
+         void Teardown();
+        
+         void T_HandleConnectedL();
+         
+         void T_HandleIdleL();
+         
+         void T_HandleConferenceIdleL();
+         
+         void T_SetHoldFlagL();
+         
+         void T_HandleConferenceAndAlertingL();
+         
+         void T_HandleConferenceAndCallSetupL();
+        
+
+    private: // Data
+   
+        CPhoneViewController* iViewCommandHandle;
+                        
+        CPhoneStateMachineStub* iStateMachine; 
+                    
+        CPhoneConferenceAndCallSetup * iStateConferenceAndCallSetup;
+        
+        CSmcMockContext* iMockContext;
+
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __UT_CPHONECONFERENCEANDCALLSETUP_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandcallsetup/Src/ut_cphoneconferenceandcallsetup_DllMain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphoneconferenceandcallsetup.h"
+#include <CEUnitTestSuite.h>
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return ut_cphoneconferenceandcallsetup::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandcallsetup/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+PRJ_PLATFORMS
+    WINSCW
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+
+PRJ_TESTMMPFILES
+ut_cphoneconferenceandcallsetup.mmp
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandcallsetup/group/ut_cphoneconferenceandcallsetup.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,79 @@
+/*
+* Copyright (c) 2005-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:  
+*
+*/
+
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET          ut_cphoneconferenceandcallsetup.dll
+TARGETTYPE      dll
+UID             0x1000af5a 0x01700000
+
+CAPABILITY      ALL -TCB
+VENDORID        VID_DEFAULT
+
+SOURCEPATH      ../../common
+SOURCE          cphonestatemachinestub.cpp
+SOURCE          cphonestateincallstub.cpp
+SOURCE          cphonegsmincallstub.cpp
+SOURCE          cphonestatestub.cpp
+SOURCE          stubs.cpp
+
+SOURCEPATH      ../../../../../internal/mocks/phoneapp/phoneuicontrol
+SOURCE          mock_cphonenumberentrymanager.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuiutils
+SOURCE          mock_tphonetouchbuttonconfig.cpp
+
+SOURCEPATH      ../Src
+SOURCE          ut_cphoneconferenceandcallsetup.cpp
+
+SOURCEPATH      ../../../../phoneuistates/src
+SOURCE          CPhoneConferenceAndCallSetup.cpp
+SOURCE          CPhoneConference.cpp
+ 
+
+// Sources required by the test suite
+SOURCEPATH      ../Src
+SOURCE          ut_cphoneconferenceandcallsetup_DllMain.cpp
+
+USERINCLUDE    ../../common
+USERINCLUDE    ../../../../phoneuicontrol/inc
+USERINCLUDE    ../../../../phoneuistates/inc
+USERINCLUDE    ../../../../phonemediatorcenter/inc
+USERINCLUDE    ../../../../phoneuiutils/inc
+USERINCLUDE    ../../../../phoneui2/srcdata
+USERINCLUDE    ../../../../phoneuiqtviewadapter/inc
+
+APP_LAYER_SYSTEMINCLUDE
+
+SYSTEMINCLUDE    /epoc32/include/Digia/EUnit
+SYSTEMINCLUDE    ../../../../../inc    // phone internal headers
+
+LIBRARY         EUnit.lib
+LIBRARY         EUnitUtil.lib
+LIBRARY         euser.lib
+LIBRARY         FeatMgr.lib         // FeatureManager
+LIBRARY         avkon.lib             // AknTextUtils
+LIBRARY         CommonEngine.lib     //StringLoader 
+LIBRARY         cone.lib
+LIBRARY         apgrfx.lib
+LIBRARY         symbianmock.lib
+LIBRARY         efsrv.lib
+LIBRARY         phoneuiutils.lib
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandsingle/BWINS/ut_cphoneconferenceandsingleu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandsingle/Src/ut_cphoneconferenceandsingle.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,170 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphoneconferenceandsingle.h"
+#include <csmcmockcontext.h>
+#include <smcdefaultvalue.h>
+#include <msmcmockspecbuilder.h>
+#include <smcobjecttotypemapper.h>
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+#include <featmgr.h>
+#include "CPhoneConferenceAndSingle.h"
+#include "PEVirtualEngine.h" 
+#include "CPhoneViewControllerStub.h"
+#include "CPhoneStateMachineStub.h"
+#include "MPhoneKeyEvents.h"
+#include "TPhoneCommandParam.h"
+#include "CPhoneMainResourceResolver.h"
+#include "cphonestate.h"
+
+// - Construction -----------------------------------------------------------
+
+ut_cphoneconferenceandsingle* ut_cphoneconferenceandsingle::NewL()
+    {
+    ut_cphoneconferenceandsingle* self = ut_cphoneconferenceandsingle::NewLC();
+    CleanupStack::Pop();
+    return self;
+    }
+
+ut_cphoneconferenceandsingle* ut_cphoneconferenceandsingle::NewLC()
+    {
+    ut_cphoneconferenceandsingle* self = new( ELeave ) ut_cphoneconferenceandsingle();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+ut_cphoneconferenceandsingle::~ut_cphoneconferenceandsingle()
+    {
+    CSmcMockContext::Release();
+    }
+
+ut_cphoneconferenceandsingle::ut_cphoneconferenceandsingle()
+    {
+    }
+
+void ut_cphoneconferenceandsingle::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    iMockContext = CSmcMockContext::InstanceL();
+    }
+
+// - Test methods -----------------------------------------------------------
+
+
+
+void ut_cphoneconferenceandsingle::SetupL(  )
+    {
+    iMockContext->InitializeL();
+    iViewCommandHandle = CPhoneViewController::NewL();
+    iStateMachine = CPhoneStateMachineStub::NewL(); 
+    iViewCommandHandle->iCallId = 2; 
+    iStateConferenceAndSingle  = CPhoneConferenceAndSingle::NewL(
+           iStateMachine, iViewCommandHandle, NULL );
+    
+    }
+    
+
+void ut_cphoneconferenceandsingle::Teardown(  )
+    {
+    delete CPhoneMainResourceResolver::Instance();
+    delete iStateConferenceAndSingle;
+    delete iViewCommandHandle;
+    delete iStateMachine;
+    iMockContext->Reset();
+    }
+    
+
+// -----------------------------------------------------------------------------
+// Test  conference and waiting state in connecting 
+// -check commands
+// -----------------------------------------------------------------------------
+//  
+void ut_cphoneconferenceandsingle::T_HandleConnectedL(  )
+    {
+    iStateConferenceAndSingle->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageConnected, 2 );
+
+    iViewCommandHandle->VerifyViewCommand( EPhoneViewUpdateBubble );
+    
+    }
+
+// -----------------------------------------------------------------------------
+// Test  idle
+// -check commands
+// -----------------------------------------------------------------------------
+//  
+void ut_cphoneconferenceandsingle::T_HandleIdleL()
+    {
+    
+    iViewCommandHandle->SetViewGetCountOfActiveCalls(1);
+    
+    iStateConferenceAndSingle->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageIdle, 0 );
+    
+    iViewCommandHandle->VerifyViewCommand( EPhoneViewRemoveCallHeader );
+        
+    
+    }
+
+// -----------------------------------------------------------------------------
+// Test  conference idle
+// -check commands
+// -----------------------------------------------------------------------------
+//  
+void ut_cphoneconferenceandsingle::T_HandleConferenceIdleL( )
+    {
+          
+    iViewCommandHandle->SetViewGetCountOfActiveCalls(1);
+       
+    iStateConferenceAndSingle->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageConferenceIdle, 0 );
+    
+    iViewCommandHandle->VerifyViewCommand( EPhoneViewRemoveConferenceBubble );
+    
+    
+    }
+
+
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+    ut_cphoneconferenceandsingle,
+    "Add test suite description here.",
+    "UNIT" )
+
+EUNIT_TEST(
+    "1- Test handle connecting",
+    "",
+    "Test0",
+    "FUNCTIONALITY",
+    SetupL, T_HandleConnectedL, Teardown)
+    
+EUNIT_TEST(
+    "2- Test handle idle",
+    "",
+    "Test0",
+    "FUNCTIONALITY",
+    SetupL, T_HandleIdleL, Teardown)
+    
+EUNIT_TEST(
+    "3- Test handle conference idle",
+    "",
+    "Test0",
+    "FUNCTIONALITY",
+    SetupL, T_HandleConferenceIdleL, Teardown)
+    
+
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandsingle/Src/ut_cphoneconferenceandsingle.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,78 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __UT_CPHONECONFERENCEANDSINGLE_H__
+#define __UT_CPHONECONFERENCEANDSINGLE_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+
+
+
+// FORWARD DECLARATIONS
+class CPhoneConferenceAndSingle;
+class CPhoneStateMachineStub;
+class CPhoneViewController;
+class CSmcMockContext;
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( ut_cphoneconferenceandsingle )
+    : public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static ut_cphoneconferenceandsingle* NewL();
+        static ut_cphoneconferenceandsingle* NewLC();
+        ~ut_cphoneconferenceandsingle();
+
+    private: // Constructors
+
+        ut_cphoneconferenceandsingle();
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+        
+         void Teardown();
+        
+         void T_HandleConnectedL();
+         
+         void T_HandleIdleL();
+         
+         void T_HandleConferenceIdleL();
+        
+
+    private: // Data
+   
+        CPhoneViewController* iViewCommandHandle;
+                        
+        CPhoneStateMachineStub* iStateMachine; 
+                    
+        CPhoneConferenceAndSingle * iStateConferenceAndSingle;
+
+        CSmcMockContext* iMockContext;
+
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __UT_CPHONECONFERENCEANDSINGLE_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandsingle/Src/ut_cphoneconferenceandsingle_DllMain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphoneconferenceandsingle.h"
+#include <CEUnitTestSuite.h>
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return ut_cphoneconferenceandsingle::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandsingle/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+PRJ_PLATFORMS
+    WINSCW
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+
+PRJ_TESTMMPFILES
+ut_cphoneconferenceandsingle.mmp
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandsingle/group/ut_cphoneconferenceandsingle.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,81 @@
+/*
+* Copyright (c) 2005-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:  
+*
+*/
+
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET          ut_cphoneconferenceandsingle.dll
+TARGETTYPE      dll
+UID             0x1000af5a 0x01700000
+
+CAPABILITY      ALL -TCB
+VENDORID        VID_DEFAULT
+
+SOURCEPATH    ../../common
+SOURCE        cphonestatemachinestub.cpp
+SOURCE        cphonestateincallstub.cpp
+SOURCE        cphonegsmincallstub.cpp
+SOURCE        cphonestatestub.cpp
+SOURCE        stubs.cpp
+
+SOURCEPATH    ../../../../../internal/mocks/phoneapp/phoneuicontrol
+SOURCE        mock_cphonenumberentrymanager.cpp
+
+SOURCEPATH    ../../../../internal/mocks/phoneuiutils
+SOURCE        mock_tphonetouchbuttonconfig.cpp
+
+SOURCEPATH    ../Src
+SOURCE        ut_cphoneconferenceandsingle.cpp
+
+SOURCEPATH    ../../../src    // phoneuistates src
+SOURCE        CPhoneConferenceAndSingle.cpp
+SOURCE        CPhoneConference.cpp
+ 
+
+// Sources required by the test suite
+SOURCEPATH    ../Src
+SOURCE        ut_cphoneconferenceandsingle_DllMain.cpp
+
+USERINCLUDE   ../../common
+USERINCLUDE   ../../../../phoneuicontrol/inc
+USERINCLUDE   ../../../../phoneuistates/inc
+USERINCLUDE   ../../../../phonemediatorcenter/inc
+USERINCLUDE   ../../../../phoneuiutils/inc
+USERINCLUDE   ../../../../phoneui2/srcdata
+USERINCLUDE   ../../../../phoneuiqtviewadapter/inc
+
+ 
+APP_LAYER_SYSTEMINCLUDE
+
+SYSTEMINCLUDE    /epoc32/include/Digia/EUnit
+SYSTEMINCLUDE    ../../../../../inc    // phone inc
+
+
+LIBRARY         EUnit.lib
+LIBRARY         EUnitUtil.lib
+LIBRARY         euser.lib
+LIBRARY         FeatMgr.lib         // FeatureManager
+LIBRARY         avkon.lib             // AknTextUtils
+LIBRARY         CommonEngine.lib     //StringLoader 
+LIBRARY         cone.lib
+LIBRARY         apgrfx.lib
+LIBRARY         symbianmock.lib
+LIBRARY         efsrv.lib
+LIBRARY         phoneuiutils.lib
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandsingleandwaiting/BWINS/ut_cphconferenceandsingleandwaitu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandsingleandwaiting/Src/ut_cphoneconferenceandsingleandwaiting.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,170 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphoneconferenceandsingleandwaiting.h"
+#include <csmcmockcontext.h>
+#include <smcdefaultvalue.h>
+#include <msmcmockspecbuilder.h>
+#include <smcobjecttotypemapper.h>
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+#include <featmgr.h>
+#include "CPhoneConferenceAndSingleAndWaiting.h"
+#include "PEVirtualEngine.h" 
+#include "CPhoneViewControllerStub.h"
+#include "CPhoneStateMachineStub.h"
+#include "MPhoneKeyEvents.h"
+#include "TPhoneCommandParam.h"
+#include "CPhoneMainResourceResolver.h"
+
+// - Construction -----------------------------------------------------------
+
+ut_cphoneconferenceandsingleandwaiting* ut_cphoneconferenceandsingleandwaiting::NewL()
+    {
+    ut_cphoneconferenceandsingleandwaiting* self = ut_cphoneconferenceandsingleandwaiting::NewLC();
+    CleanupStack::Pop();
+    return self;
+    }
+
+ut_cphoneconferenceandsingleandwaiting* ut_cphoneconferenceandsingleandwaiting::NewLC()
+    {
+    ut_cphoneconferenceandsingleandwaiting* self = new( ELeave ) ut_cphoneconferenceandsingleandwaiting();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+ut_cphoneconferenceandsingleandwaiting::~ut_cphoneconferenceandsingleandwaiting()
+    {
+    CSmcMockContext::Release();
+    }
+
+ut_cphoneconferenceandsingleandwaiting::ut_cphoneconferenceandsingleandwaiting()
+    {
+    }
+
+void ut_cphoneconferenceandsingleandwaiting::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    iMockContext = CSmcMockContext::InstanceL();
+    }
+
+// - Test methods -----------------------------------------------------------
+
+
+
+void ut_cphoneconferenceandsingleandwaiting::SetupL(  )
+    {
+    iMockContext->InitializeL();
+    iViewCommandHandle = CPhoneViewController::NewL();
+    iStateMachine = CPhoneStateMachineStub::NewL(); 
+    iViewCommandHandle->iCallId = 2; 
+    iStateConferenceAndSingleAndWaiting  = CPhoneConferenceAndSingleAndWaiting::NewL(
+           iStateMachine, iViewCommandHandle, NULL );
+    
+    }
+    
+
+void ut_cphoneconferenceandsingleandwaiting::Teardown(  )
+    {
+    delete CPhoneMainResourceResolver::Instance();
+    delete iStateConferenceAndSingleAndWaiting;
+    delete iViewCommandHandle;
+    delete iStateMachine;
+    iMockContext->Reset();
+    }
+    
+
+// -----------------------------------------------------------------------------
+// Test  conference and waiting state in connecting 
+// -check commands
+// -----------------------------------------------------------------------------
+//  
+void ut_cphoneconferenceandsingleandwaiting::T_HandleConnectedL(  )
+    {
+    
+    iStateConferenceAndSingleAndWaiting->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageConnected, 2 );
+
+    iViewCommandHandle->VerifyViewCommand( EPhoneViewUpdateBubble );
+    
+    }
+
+// -----------------------------------------------------------------------------
+// Test  idle
+// -check commands
+// -----------------------------------------------------------------------------
+//  
+void ut_cphoneconferenceandsingleandwaiting::T_HandleIdleL()
+    {
+    
+    iViewCommandHandle->SetViewGetCountOfActiveCalls(1);
+    
+    iStateConferenceAndSingleAndWaiting->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageIdle, 0 );
+    
+    iViewCommandHandle->VerifyViewCommand( EPhoneViewRemoveCallHeader );
+        
+    
+    }
+
+// -----------------------------------------------------------------------------
+// Test  conference idle
+// -check commands
+// -----------------------------------------------------------------------------
+//  
+void ut_cphoneconferenceandsingleandwaiting::T_HandleConferenceIdleL( )
+    {
+          
+    iViewCommandHandle->SetViewGetCountOfActiveCalls(1);
+       
+    iStateConferenceAndSingleAndWaiting->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageConferenceIdle, 0 );
+    
+    iViewCommandHandle->VerifyViewCommand( EPhoneViewRemoveConferenceBubble );
+    
+    
+    }
+
+
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+        ut_cphoneconferenceandsingleandwaiting,
+    "Add test suite description here.",
+    "UNIT" )
+
+EUNIT_TEST(
+    "1- Test handle connecting",
+    "",
+    "Test0",
+    "FUNCTIONALITY",
+    SetupL, T_HandleConnectedL, Teardown)
+    
+EUNIT_TEST(
+    "2- Test handle idle",
+    "",
+    "Test0",
+    "FUNCTIONALITY",
+    SetupL, T_HandleIdleL, Teardown)
+    
+EUNIT_TEST(
+    "3- Test handle conference idle",
+    "",
+    "Test0",
+    "FUNCTIONALITY",
+    SetupL, T_HandleConferenceIdleL, Teardown)
+    
+
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandsingleandwaiting/Src/ut_cphoneconferenceandsingleandwaiting.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,78 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __UT_CPHONECONFERENCEANDSINGLEANDWAITING_H__
+#define __UT_CPHONECONFERENCEANDSINGLEANDWAITING_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+
+
+
+// FORWARD DECLARATIONS
+class CPhoneConferenceAndSingleAndWaiting;
+class CPhoneStateMachineStub;
+class CPhoneViewController;
+class CSmcMockContext;
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( ut_cphoneconferenceandsingleandwaiting )
+    : public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static ut_cphoneconferenceandsingleandwaiting* NewL();
+        static ut_cphoneconferenceandsingleandwaiting* NewLC();
+        ~ut_cphoneconferenceandsingleandwaiting();
+
+    private: // Constructors
+
+        ut_cphoneconferenceandsingleandwaiting();
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+        
+         void Teardown();
+        
+         void T_HandleConnectedL();
+         
+         void T_HandleIdleL();
+         
+         void T_HandleConferenceIdleL();
+        
+
+    private: // Data
+   
+        CPhoneViewController* iViewCommandHandle;
+                        
+        CPhoneStateMachineStub* iStateMachine; 
+                    
+        CPhoneConferenceAndSingleAndWaiting * iStateConferenceAndSingleAndWaiting;
+
+        CSmcMockContext* iMockContext;
+
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __UT_CPHONECONFERENCEANDSINGLEANDWAITING_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandsingleandwaiting/Src/ut_cphoneconferenceandsingleandwaiting_DllMain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphoneconferenceandsingleandwaiting.h"
+#include <CEUnitTestSuite.h>
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return ut_cphoneconferenceandsingleandwaiting::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandsingleandwaiting/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+PRJ_PLATFORMS
+    WINSCW
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+
+PRJ_TESTMMPFILES
+ut_cphoneconferenceandsingleandwaiting.mmp
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandsingleandwaiting/group/ut_cphoneconferenceandsingleandwaiting.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,83 @@
+/*
+* Copyright (c) 2005-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:  
+*
+*/
+
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET          ut_cphconferenceandsingleandwait.dll
+TARGETTYPE      dll
+UID             0x1000af5a 0x01700000
+
+CAPABILITY      ALL -TCB
+VENDORID        VID_DEFAULT
+
+SOURCEPATH    ../../common
+SOURCE        cphonestatemachinestub.cpp
+SOURCE        cphonestateincallstub.cpp
+SOURCE        cphonegsmincallstub.cpp
+SOURCE        cphonestatestub.cpp 
+SOURCE        stubs.cpp
+
+SOURCEPATH    ../../../../../internal/mocks/phoneapp/phoneuicontrol
+SOURCE        mock_cphonenumberentrymanager.cpp
+
+SOURCEPATH    ../../../../internal/mocks/phoneuiutils
+SOURCE        mock_tphonetouchbuttonconfig.cpp
+
+SOURCEPATH    ../Src
+SOURCE        ut_cphoneconferenceandsingleandwaiting.cpp
+
+SOURCEPATH    ../../../src        // phoneuistates src
+SOURCE        CPhoneConferenceAndSingleandwaiting.cpp
+SOURCE        CPhoneConferenceAndSingle.cpp
+SOURCE        CPhoneConference.cpp
+ 
+
+// Sources required by the test suite
+SOURCEPATH    ../Src
+SOURCE        ut_cphoneconferenceandsingleandwaiting_DllMain.cpp
+
+USERINCLUDE   ../../common
+USERINCLUDE   ../../../../phoneuiview/inc
+USERINCLUDE   ../../../../phoneuicontrol/inc
+USERINCLUDE   ../../../../phoneuistates/inc
+USERINCLUDE   ../../../../phonemediatorcenter/inc
+USERINCLUDE   ../../../../phoneuiutils/inc
+USERINCLUDE   ../../../../phoneui2/srcdata
+USERINCLUDE   ../../../../phoneuiqtviewadapter/inc
+
+ 
+APP_LAYER_SYSTEMINCLUDE
+
+SYSTEMINCLUDE    /epoc32/include/Digia/EUnit
+SYSTEMINCLUDE    ../../../../../inc    // phone inc
+
+
+LIBRARY         EUnit.lib
+LIBRARY         EUnitUtil.lib
+LIBRARY         euser.lib
+LIBRARY         FeatMgr.lib         // FeatureManager
+LIBRARY         avkon.lib             // AknTextUtils
+LIBRARY         CommonEngine.lib     //StringLoader 
+LIBRARY         cone.lib
+LIBRARY         apgrfx.lib
+LIBRARY         symbianmock.lib
+LIBRARY         efsrv.lib
+LIBRARY         phoneuiutils.lib
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandwaiting/BWINS/ut_cphoneconferenceandwaitingU.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandwaiting/Src/ut_cphoneconferenceandwaiting.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,357 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphoneconferenceandwaiting.h"
+#include <csmcmockcontext.h>
+#include <smcdefaultvalue.h>
+#include <msmcmockspecbuilder.h>
+#include <smcobjecttotypemapper.h>
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+#include <featmgr.h>
+#include "CPhoneConferenceAndWaiting.h"
+#include "PEVirtualEngine.h" 
+#include "MPhoneKeyEvents.h"
+#include "TPhoneCommandParam.h"
+#include "CPhoneMainResourceResolver.h"
+#include "CPhoneStateMachineGSM.h"
+#include "mock_cphoneviewcommandhandle.h"
+#include "TPhoneCmdParamCallHeaderData.h"
+#include "TPhoneCmdParamAudioOutput.h"
+#include "phonerssbase.h"
+#include "phonestatedefinitionsgsm.h"
+#include "TPhoneCmdParamInteger.h"
+#include "TPhoneCmdParamCallStateData.h"
+
+// needed for mocking CPhoneMainResourceResolver::Instance()
+class CPhoneMainResourceResolverMock : public CPhoneMainResourceResolver
+    {
+    };
+
+// -----------------------------------------------------------------------------
+// operator for comparing parameter expected and result value.
+// -
+// -----------------------------------------------------------------------------
+//
+TBool operator==(const TPhoneCommandParam& param1, const TPhoneCommandParam& param2 )
+    {
+    return ETrue;
+    }
+
+// - Construction -----------------------------------------------------------
+
+ut_cphoneconferenceandwaiting* ut_cphoneconferenceandwaiting::NewL()
+    {
+    ut_cphoneconferenceandwaiting* self = ut_cphoneconferenceandwaiting::NewLC();
+    CleanupStack::Pop();
+    return self;
+    }
+
+ut_cphoneconferenceandwaiting* ut_cphoneconferenceandwaiting::NewLC()
+    {
+    ut_cphoneconferenceandwaiting* self = new( ELeave ) ut_cphoneconferenceandwaiting();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+ut_cphoneconferenceandwaiting::~ut_cphoneconferenceandwaiting()
+    {
+    CSmcMockContext::Release();
+    }
+
+ut_cphoneconferenceandwaiting::ut_cphoneconferenceandwaiting()
+    {
+    }
+
+void ut_cphoneconferenceandwaiting::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    iMockContext = CSmcMockContext::InstanceL();
+    }
+
+// - Test methods -----------------------------------------------------------
+
+
+
+void ut_cphoneconferenceandwaiting::SetupL(  )
+    {
+    iMockContext->InitializeL();
+    
+    iCPhoneMainResourceResolverMock = new ( ELeave ) CPhoneMainResourceResolverMock();
+        SmcDefaultValue<CPhoneMainResourceResolver*>::SetL( iCPhoneMainResourceResolverMock );
+    
+    iViewCmdHandleMock = new CPhoneViewCommandHandleMock();
+    iStateMachineMock = CPhoneStateMachineGSM::NewL( iViewCmdHandleMock );
+    
+    iMockContext->ExpectCallL( "TPhoneCmdParamCallStateData::CallId" ).
+        ReturnsL( 2 );
+    iStateConferenceAndWaiting = CPhoneConferenceAndWaiting::NewL(
+            iStateMachineMock, iViewCmdHandleMock, NULL );
+
+    }
+
+void ut_cphoneconferenceandwaiting::Setup_NoRingingCallIdL(  )
+    {
+    iMockContext->InitializeL();
+    
+    iCPhoneMainResourceResolverMock = new ( ELeave ) CPhoneMainResourceResolverMock();
+        SmcDefaultValue<CPhoneMainResourceResolver*>::SetL( iCPhoneMainResourceResolverMock );
+    
+    iViewCmdHandleMock = new CPhoneViewCommandHandleMock();
+    iStateMachineMock = CPhoneStateMachineGSM::NewL( iViewCmdHandleMock );
+    
+    iMockContext->ExpectCallL( "TPhoneCmdParamCallStateData::CallId" ).
+        ReturnsL( -1 );
+    iStateConferenceAndWaiting = CPhoneConferenceAndWaiting::NewL(
+            iStateMachineMock, iViewCmdHandleMock, NULL );
+    }
+    
+
+void ut_cphoneconferenceandwaiting::Teardown(  )
+    {
+
+    delete iStateConferenceAndWaiting;
+        iStateConferenceAndWaiting = NULL;
+    delete iStateMachineMock;
+        iStateMachineMock = NULL;
+    delete iViewCmdHandleMock;
+        iViewCmdHandleMock = NULL;
+    delete iCPhoneMainResourceResolverMock;
+        iCPhoneMainResourceResolverMock = NULL;
+        
+    SmcDefaultValue<CPhoneMainResourceResolver*>::Reset();    
+    
+    iMockContext->Reset();
+    }
+    
+// -----------------------------------------------------------------------------
+// Test construction
+// -----------------------------------------------------------------------------
+//  
+void ut_cphoneconferenceandwaiting::T_ConstructionL()
+    {
+    // SetupL and Teardown does the test.
+    }
+
+// -----------------------------------------------------------------------------
+// Precontition: Conference and waiting calls
+// Use case: User answer waiting call, waiting call connected
+// -----------------------------------------------------------------------------
+//  
+void ut_cphoneconferenceandwaiting::T_HandleConnected_1L(  )
+    {           
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+        WithL<TPhoneViewCommandId, TInt> ( EPhoneViewUpdateBubble, 2 );
+    
+    iMockContext->ExpectCallL( "CPhoneStateMachine::ChangeState" ).
+        WithL<TInt> ( EPhoneStateConferenceAndSingle );
+
+    iStateConferenceAndWaiting->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageConnected, 2 );
+
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+// -----------------------------------------------------------------------------
+// Precontition: Conference(with 3 calls) and waiting calls
+// Use case: Go one to one with conference member
+// -----------------------------------------------------------------------------
+//  
+void ut_cphoneconferenceandwaiting::T_HandleConnected_2L(  )
+    {
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+        WithL<TPhoneViewCommandId, TInt> ( EPhoneViewUpdateBubble, 0 );
+
+    iStateConferenceAndWaiting->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageConnected, 0 );
+
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+// -----------------------------------------------------------------------------
+// Precontition: Conference and waiting calls
+// Use case: idle message and no confecence and no active calls
+// -----------------------------------------------------------------------------
+//  
+void ut_cphoneconferenceandwaiting::T_HandleIdleL_1()
+    {
+    //No conference call
+    iMockContext->ExpectCallL( "TPhoneCmdParamBoolean::Boolean" ).
+        ReturnsL( EFalse );
+    
+    //Active call count
+    iMockContext->ExpectCallL( "TPhoneCmdParamInteger::Integer" ).
+        ReturnsL( 0 );
+    
+    iMockContext->ExpectCallL( "CPhoneStateMachine::ChangeState" ).
+        WithL<TInt> ( EPhoneStateIncoming );
+    
+    iStateConferenceAndWaiting->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageIdle, 0 );
+
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+// -----------------------------------------------------------------------------
+// Precontition: Conference and waiting calls
+// Use case: idle message and no confecence and one active call
+// -----------------------------------------------------------------------------
+//  
+void ut_cphoneconferenceandwaiting::T_HandleIdleL_2()
+    {
+    //No conference call
+    iMockContext->ExpectCallL( "TPhoneCmdParamBoolean::Boolean" ).
+        ReturnsL( EFalse );
+    
+    //Active call count
+    iMockContext->ExpectCallL( "TPhoneCmdParamInteger::Integer" ).
+        ReturnsL( 1 );
+    
+    iMockContext->ExpectCallL( "CPhoneStateMachine::ChangeState" ).
+        WithL<TInt> ( EPhoneStateWaitingInSingle );
+    
+    iStateConferenceAndWaiting->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageIdle, 0 );
+
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+// -----------------------------------------------------------------------------
+// Precontition: Conference and waiting calls
+// Use case: idle message and no confecence and two active call
+// -----------------------------------------------------------------------------
+//  
+void ut_cphoneconferenceandwaiting::T_HandleIdleL_3()
+    {
+    //No conference call
+    iMockContext->ExpectCallL( "TPhoneCmdParamBoolean::Boolean" ).
+        ReturnsL( EFalse );
+    
+    //Active call count
+    iMockContext->ExpectCallL( "TPhoneCmdParamInteger::Integer" ).
+        ReturnsL( 2 );
+    
+    iMockContext->ExpectCallL( "CPhoneStateMachine::ChangeState" ).
+        WithL<TInt> ( EPhoneStateTwoSinglesAndWaiting );
+    
+    iStateConferenceAndWaiting->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageIdle, 0 );
+
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+
+// -----------------------------------------------------------------------------
+// Precontition: Conference and waiting calls
+// Use case: idle message for waiting call
+// -----------------------------------------------------------------------------
+//  
+void ut_cphoneconferenceandwaiting::T_HandleIdleL_4()
+    {
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+        WithL<TPhoneViewCommandId, TInt> ( EPhoneViewRemoveCallHeader, 2 );
+    
+    iMockContext->ExpectCallL( "CPhoneStateMachine::ChangeState" ).
+        WithL<TInt> ( EPhoneStateConference );
+    
+    iStateConferenceAndWaiting->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageIdle, 2 );
+
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+// -----------------------------------------------------------------------------
+// Precontition: Conference and waiting calls
+// Use case: User give command private
+// -----------------------------------------------------------------------------
+//  
+void ut_cphoneconferenceandwaiting::T_HandleWentOneToOne_1L()
+    {
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+        WithL<TPhoneViewCommandId, TInt> ( EPhoneViewPrivateFromConference, 0 );
+    
+    //Conference call exsist
+    iMockContext->ExpectCallL( "TPhoneCmdParamBoolean::Boolean" ).
+        ReturnsL( ETrue );
+    
+    iMockContext->ExpectCallL( "CPhoneStateMachine::ChangeState" ).
+        WithL<TInt> ( EPhoneStateConferenceAndSingleAndWaiting );
+    
+    iStateConferenceAndWaiting->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageWentOneToOne, 0 );
+
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+    ut_cphoneconferenceandwaiting,
+    "Add test suite description here.",
+    "UNIT" )
+    
+EUNIT_TEST(
+    "0- Test construction",
+    "",
+    "Test0",
+    "FUNCTIONALITY",
+    SetupL, T_ConstructionL, Teardown)
+       
+EUNIT_TEST(
+    "1- Test handle connecting",
+    "",
+    "Test0",
+    "FUNCTIONALITY",
+    SetupL, T_HandleConnected_1L, Teardown)
+
+EUNIT_TEST(
+    "2- Test handle connecting",
+    "",
+    "Test0",
+    "FUNCTIONALITY",
+    SetupL, T_HandleConnected_2L, Teardown)
+    
+EUNIT_TEST(
+    "3- Test handle idle",
+    "",
+    "Test0",
+    "FUNCTIONALITY",
+    SetupL, T_HandleIdleL_1, Teardown)
+    
+EUNIT_TEST(
+    "4- Test handle idle",
+    "",
+    "Test0",
+    "FUNCTIONALITY",
+    SetupL, T_HandleIdleL_2, Teardown)
+    
+EUNIT_TEST(
+    "5- Test handle idle",
+    "",
+    "Test0",
+    "FUNCTIONALITY",
+    SetupL, T_HandleIdleL_3, Teardown)
+
+EUNIT_TEST(
+    "6- Test handle idle",
+    "",
+    "Test0",
+    "FUNCTIONALITY",
+    SetupL, T_HandleIdleL_4, Teardown)
+    
+EUNIT_TEST(
+    "7- Test handle went one to one",
+    "",
+    "Test0",
+    "FUNCTIONALITY",
+    SetupL, T_HandleWentOneToOne_1L, Teardown)
+
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandwaiting/Src/ut_cphoneconferenceandwaiting.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,95 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __UT_CPHONECONFERENCEANDWAITING_H__
+#define __UT_CPHONECONFERENCEANDWAITING_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+
+
+
+// FORWARD DECLARATIONS
+
+class CPhoneConferenceAndWaiting;
+
+class CSmcMockContext;
+class CPhoneStateMachineGSM;
+class MPhoneViewCommandHandle;
+class TPhoneCommandParam;
+class CPhoneMainResourceResolverMock;
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+TBool operator==(const TPhoneCommandParam& param1, const TPhoneCommandParam& param2 );
+
+NONSHARABLE_CLASS( ut_cphoneconferenceandwaiting )
+    : public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static ut_cphoneconferenceandwaiting* NewL();
+        static ut_cphoneconferenceandwaiting* NewLC();
+        ~ut_cphoneconferenceandwaiting();
+
+    private: // Constructors
+
+        ut_cphoneconferenceandwaiting();
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+         void Setup_NoRingingCallIdL();
+        
+         void Teardown();
+         
+         void T_ConstructionL();
+         
+         void T_HandleConnected_1L();
+         void T_HandleConnected_2L();
+         
+         void T_HandleIdleL_1();
+         void T_HandleIdleL_2();
+         void T_HandleIdleL_3();
+         void T_HandleIdleL_4();
+         
+         void T_HandleWentOneToOne_1L();
+
+        
+
+    private: // Data
+
+        MPhoneViewCommandHandle* iViewCmdHandleMock;
+
+        CPhoneStateMachineGSM* iStateMachineMock;
+                    
+        CPhoneConferenceAndWaiting* iStateConferenceAndWaiting;
+        
+        CSmcMockContext* iMockContext;
+        
+        CPhoneMainResourceResolverMock* iCPhoneMainResourceResolverMock;
+
+
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __UT_CPHONECONFERENCEANDWAITING_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandwaiting/Src/ut_cphoneconferenceandwaiting_DllMain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphoneconferenceandwaiting.h"
+#include <CEUnitTestSuite.h>
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return ut_cphoneconferenceandwaiting::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandwaiting/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+PRJ_PLATFORMS
+    WINSCW
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+
+PRJ_TESTMMPFILES
+ut_cphoneconferenceandwaiting.mmp
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneconferenceandwaiting/group/ut_cphoneconferenceandwaiting.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,105 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*
+*/
+
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET          ut_cphoneconferenceandwaiting.dll
+TARGETTYPE      dll
+UID             0x1000af5a 0x01700000
+
+CAPABILITY      ALL -TCB
+VENDORID        VID_DEFAULT
+ 
+SOURCEPATH    ../../../../internal/mocks/phoneuicontrol
+SOURCE        mock_CPhoneState.cpp
+SOURCE        mock_cphonestateincall.cpp
+SOURCE        mock_cphonestatemachine.cpp
+
+SOURCEPATH    ../../../../../internal/mocks/phoneapp/phoneuicontrol
+SOURCE        mock_cphonenumberentrymanager.cpp
+
+
+SOURCEPATH    ../../../../internal/mocks/phoneuistates
+SOURCE        mock_cphonegsmincall.cpp
+SOURCE        mock_cphonestatemachinegsm.cpp
+SOURCE        mock_cphoneconference.cpp
+
+SOURCEPATH    ../../../../internal/mocks/phoneuiutils
+SOURCE        mock_cphonelogger.cpp
+SOURCE        mock_cphonestorage.cpp
+SOURCE        mock_cphonepubsubproxy.cpp
+SOURCE        mock_cphonemainresourceresolver.cpp
+SOURCE        mock_cphonekeys.cpp
+SOURCE        mock_tphonecommandparam.cpp
+SOURCE        mock_tphonecmdparamboolean.cpp
+SOURCE        mock_tphonecmdparamcallheaderdata.cpp
+SOURCE        mock_tphonecmdparamcallstatedata.cpp
+SOURCE        mock_tphonecmdparaminteger.cpp
+SOURCE        mock_tphonecmdparamkeyevent.cpp
+SOURCE        mock_tphonecmdparamstring.cpp
+SOURCE        mock_tphonecmdparamaudiooutput.cpp
+
+SOURCEPATH    ../../../../internal/mocks/phoneuiview
+SOURCE        mock_cphoneviewcommandhandle.cpp
+
+SOURCEPATH    ../../../../../internal/mocks/eikmenupane
+SOURCE        mock_coemain.cpp
+SOURCE        mock_coemop.cpp
+SOURCE        mock_eikenv.cpp
+SOURCE        mock_eikvcurs.cpp
+
+SOURCEPATH    ../../../../internal/mocks/
+SOURCE        mock_featmgr.cpp
+SOURCE        mock_StringLoader.cpp
+
+SOURCEPATH    ../Src
+SOURCE        ut_cphoneconferenceandwaiting.cpp
+
+SOURCEPATH    ../../../src     // phoneuistates src
+SOURCE        CPhoneConferenceAndWaiting.cpp 
+
+// Sources required by the test suite
+SOURCEPATH    ../Src
+SOURCE        ut_cphoneconferenceandwaiting_DllMain.cpp
+
+USERINCLUDE    ../../../../phoneuicontrol/inc
+USERINCLUDE    ../../../../phoneuistates/inc
+USERINCLUDE    ../../../../phonemediatorcenter/inc
+USERINCLUDE    ../../../../phoneuiutils/inc
+USERINCLUDE    ../../../../phoneui2/srcdata
+USERINCLUDE    ../../../../phoneuiqtviewadapter/inc
+USERINCLUDE    /epoc32/include
+USERINCLUDE    /epoc32/include/platform/mw
+USERINCLUDE    ../../../../internal/mocks/phoneuiview
+ 
+APP_LAYER_SYSTEMINCLUDE
+
+SYSTEMINCLUDE   /epoc32/include/Digia/EUnit
+SYSTEMINCLUDE   ../../../../../inc        // phone inc
+
+LIBRARY         EUnit.lib
+LIBRARY         EUnitUtil.lib
+LIBRARY         euser.lib
+LIBRARY         apgrfx.lib
+LIBRARY         symbianmock.lib
+LIBRARY         efsrv.lib
+LIBRARY         ws32.lib         // RWsSession
+LIBRARY         gdi.lib          // TZoomFactor
+LIBRARY         bafl.lib         // CBaActiveScheduler
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneemergency/BWINS/ut_cphoneemergencyu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneemergency/Src/ut_cphoneemergency.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,630 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <csmcmockcontext.h>
+#include <smcdefaultvalue.h>
+#include <msmcmockspecbuilder.h>
+#include <smcobjecttotypemapper.h>
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+#include <featmgr.h>
+#include "ut_cphoneemergency.h"
+#include "CPhoneMainResourceResolver.h"
+#include "CPhoneStateMachineGSM.h"
+#include "mock_cphoneviewcommandhandle.h"
+#include "PEVirtualEngine.h"
+#include "MPhoneKeyEvents.h"
+#include "TPhoneCommandParam.h"
+#include "TPhoneCmdParamCallHeaderData.h"
+#include "TPhoneCmdParamAudioOutput.h"
+#include "cpeengineinfoimpl.h"
+#include "phonerssbase.h"
+#include "phonestatedefinitionsgsm.h"
+#include "TPhoneCmdParamInteger.h"
+#include "CPhoneEmergency.h"
+
+// needed for mocking CPhoneMainResourceResolver::Instance()
+class CPhoneMainResourceResolverMock : public CPhoneMainResourceResolver
+    {
+    };
+
+// -----------------------------------------------------------------------------
+// operator for comparing parameter expected and result value.
+// -
+// -----------------------------------------------------------------------------
+//
+TBool operator==(const TPhoneCommandParam& param1, const TPhoneCommandParam& param2 )
+    {
+    TBool ret( EFalse );
+
+    if ( param1.ParamId() == param2.ParamId() )
+        {
+        if ( TPhoneCommandParam::EPhoneParamIdBoolean == param1.ParamId() )
+            {
+            const TPhoneCmdParamBoolean  &value1 = static_cast<const TPhoneCmdParamBoolean&> (param1);
+            const TPhoneCmdParamBoolean  &value2 = static_cast<const TPhoneCmdParamBoolean&> (param2);
+            if (  value1.Boolean() == value2.Boolean() )
+                {
+                ret = ETrue;
+                }
+            }
+        else if ( TPhoneCommandParam::EPhoneParamIdCallHeaderData == param1.ParamId() )
+            {
+            const TPhoneCmdParamCallHeaderData  &value1 = static_cast<const TPhoneCmdParamCallHeaderData&> (param1);
+            const TPhoneCmdParamCallHeaderData  &value2 = static_cast<const TPhoneCmdParamCallHeaderData&> (param2);
+            if ( value1.CallState() == value2.CallState() )
+                {
+                ret = ETrue;
+                }
+            }
+        else if ( TPhoneCommandParam::EPhoneParamIdInteger == param1.ParamId() )
+            {
+            const TPhoneCmdParamInteger  &value1 = static_cast<const TPhoneCmdParamInteger&> (param1);
+            const TPhoneCmdParamInteger  &value2 = static_cast<const TPhoneCmdParamInteger&> (param2);
+            if ( value1.Integer() == value2.Integer() )
+                {
+                ret = ETrue;
+                }
+            }
+        else if ( TPhoneCommandParam::EPhoneParamIdAudioOutput == param1.ParamId() )
+            {
+            const TPhoneCmdParamAudioOutput  &value1 = static_cast<const TPhoneCmdParamAudioOutput&> (param1);
+            const TPhoneCmdParamAudioOutput  &value2 = static_cast<const TPhoneCmdParamAudioOutput&> (param2);
+            if ( value1.AudioOutput() == value2.AudioOutput() )
+                {
+                ret = ETrue;
+                }
+            }
+        else
+            {
+            ret = ETrue;  // just paramiId compared
+            }
+        }
+    return ret;
+    }
+
+// - Construction -----------------------------------------------------------
+
+ut_cphoneemergency* ut_cphoneemergency::NewL()
+    {
+    ut_cphoneemergency* self = ut_cphoneemergency::NewLC();
+    CleanupStack::Pop();
+    return self;
+    }
+
+    ut_cphoneemergency* ut_cphoneemergency::NewLC()
+    {
+    ut_cphoneemergency* self = new( ELeave ) ut_cphoneemergency();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+ut_cphoneemergency::~ut_cphoneemergency()
+    {
+    CSmcMockContext::Release();
+    }
+
+ut_cphoneemergency::ut_cphoneemergency()
+    {
+    }
+
+void ut_cphoneemergency::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    iMockContext = CSmcMockContext::InstanceL();
+    }
+
+// - Test methods -----------------------------------------------------------
+
+
+
+void ut_cphoneemergency::SetupL(  )
+    {
+    iMockContext->InitializeL();
+
+    iCPhoneMainResourceResolverMock = new ( ELeave ) CPhoneMainResourceResolverMock();
+          SmcDefaultValue<CPhoneMainResourceResolver*>::SetL( iCPhoneMainResourceResolverMock );
+
+    iViewCmdHandleMock = new CPhoneViewCommandHandleMock();
+
+    iStateMachineMock = CPhoneStateMachineGSM::NewL( iViewCmdHandleMock );
+
+    iStateEmergency  = CPhoneEmergency::NewL(
+            iStateMachineMock, iViewCmdHandleMock, NULL );
+
+    iEngineInfoMock = CPEEngineInfoImpl::NewL();
+    SmcDefaultValue<MPEEngineInfo*>::SetL( iEngineInfoMock );
+
+    SmcDefaultValue<TPESimState>::SetL( EPESimUsable );
+    SmcDefaultValue<const TPEAudioOutput&>::SetL( EPENotActive );
+
+    }
+
+
+void ut_cphoneemergency::Teardown(  )
+    {
+    delete iViewCmdHandleMock;
+        iViewCmdHandleMock = NULL;
+    delete iStateEmergency;
+        iStateEmergency = NULL;
+    delete iStateMachineMock;
+        iStateMachineMock = NULL;
+    delete iEngineInfoMock;
+        iEngineInfoMock = NULL;
+    delete iCPhoneMainResourceResolverMock;
+        iCPhoneMainResourceResolverMock = NULL;
+
+    SmcDefaultValue<TPESimState>::Reset();
+    SmcDefaultValue<const TPEAudioOutput&>::Reset();
+
+    iMockContext->Reset();
+    }
+
+
+// -----------------------------------------------------------------------------
+// Test emergency state in connecting
+// -check commands
+// -----------------------------------------------------------------------------
+//
+void ut_cphoneemergency::T_HandleConnectingL(  )
+    {
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+        WithL( EPhoneViewRemoveGlobalNote );
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+        WithL( EPhoneViewRemoveNote );
+
+    TPhoneCmdParamBoolean globalNotifierParam;
+    globalNotifierParam.SetBoolean( EFalse );
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+       WithL<TPhoneViewCommandId, TPhoneCommandParam&> ( EPhoneViewSetGlobalNotifiersDisabled, globalNotifierParam );
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+       WithL<TPhoneViewCommandId, TPhoneCommandParam&> ( EPhoneViewSetEikonNotifiersDisabled, globalNotifierParam );
+    
+    TInt callID(0);
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+        WithL<TPhoneViewCommandId, TInt> ( EPhoneViewUpdateBubble, callID );
+
+    iStateEmergency->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageConnecting, 0 );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+
+    }
+// -----------------------------------------------------------------------------
+// ut_cphoneemergency::T_HandleDialingL
+// -check commands
+// -----------------------------------------------------------------------------
+//
+void ut_cphoneemergency::T_HandleDialingL()
+    {
+    TPhoneCmdParamBoolean globalNotifierParam;
+    globalNotifierParam.SetBoolean( ETrue );
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+        WithL<TPhoneViewCommandId, TPhoneCommandParam&> ( EPhoneViewSetGlobalNotifiersDisabled, globalNotifierParam );
+
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+        WithL<TPhoneViewCommandId> ( EPhoneViewBringPhoneAppToForeground );
+    
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+        WithL( EPhoneViewRemoveQuery );
+
+    iStateEmergency->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageDialing, KEmergencyCallId );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+// -----------------------------------------------------------------------------
+// ut_cphoneemergency::T_HandleConnectedL
+// -check commands
+// -----------------------------------------------------------------------------
+//
+void ut_cphoneemergency::T_HandleConnectedL(  )
+    {
+    
+    TInt callID(0);
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+        WithL<TPhoneViewCommandId, TInt> ( EPhoneViewUpdateBubble, callID );
+
+    //first callsetup runs connecting before connected
+    iStateEmergency->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageConnected, 0 );
+
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+// -----------------------------------------------------------------------------
+// ut_cphoneemergency::T_HandleIdleEmergencyL
+// -check commands
+// -----------------------------------------------------------------------------
+//
+void ut_cphoneemergency::T_HandleIdleEmergencyL(  )
+    {
+    TPhoneCmdParamBoolean globalNotifierParam;
+    globalNotifierParam.SetBoolean( EFalse );
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+        WithL<TPhoneViewCommandId, TPhoneCommandParam&> ( EPhoneViewSetGlobalNotifiersDisabled, globalNotifierParam );
+
+   iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+        WithL( EPhoneViewRemoveCallHeader, KEmergencyCallId );
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+        WithL( EPhoneViewRemoveNote );
+
+    iMockContext->ExpectCallL( "CPhoneState::IsSimStateNotPresentWithSecurityModeEnabled" ).
+            TimesL(2).
+            ReturnsL(EFalse);
+
+    iMockContext->ExpectCallL( "CPhoneState::RemoveDialogsAndSendPhoneToBackgroundL" ).
+        TimesL(1); // Set this zero if not expected to call   
+
+
+    iStateEmergency->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageIdle, KEmergencyCallId );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+
+    }
+
+// -----------------------------------------------------------------------------
+// ut_cphoneemergency::T_HandleAudioOutputChangedL
+// -check commands
+// -----------------------------------------------------------------------------
+//
+void ut_cphoneemergency::T_HandleAudioOutputChangedL(  )
+    {
+    TPhoneCmdParamAudioOutput outputParam;
+    outputParam.SetAudioOutput( EPEHandset );
+
+    iMockContext->ExpectCallL( "CPEEngineInfoImpl::AudioOutput" ).
+        ReturnsL( EPEHandset );
+
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+        WithL<TPhoneViewCommandId, TPhoneCommandParam&> ( EPhoneViewActivateAudioPathUIChanges, outputParam );
+
+    iStateEmergency->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageAudioOutputChanged, KEmergencyCallId );
+
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+ 
+// -----------------------------------------------------------------------------
+// ut_cphoneemergency::EmergencyCallSetup_HandleEPEMessageConnectedL
+// -check commands
+// -----------------------------------------------------------------------------
+// 
+void ut_cphoneemergency::T_EmergencyCallSetup_HandleEPEMessageConnectedL()
+    {
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+            WithL<TPhoneViewCommandId> ( EPhoneViewRemoveGlobalNote );
+    
+    TPhoneCmdParamBoolean globalNotifierParam;
+    globalNotifierParam.SetBoolean( EFalse );
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+            WithL<TPhoneViewCommandId, TPhoneCommandParam&> ( EPhoneViewSetGlobalNotifiersDisabled, globalNotifierParam );
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+            WithL<TPhoneViewCommandId, TPhoneCommandParam&> ( EPhoneViewSetEikonNotifiersDisabled, globalNotifierParam );
+    
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+            WithL<TPhoneViewCommandId, TInt> ( EPhoneViewUpdateBubble, 0 );
+        
+    iMockContext->ExpectCallL( "CPhoneState::SetToolbarButtonLoudspeakerEnabled" ).
+            TimesL(1);
+
+    iMockContext->ExpectCallL( "CPhoneState::UpdateUiCommands" );
+    
+    //first callsetup runs connecting before connected
+    iStateEmergency->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageConnected, 0 );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+// -----------------------------------------------------------------------------
+// ut_cphoneemergency::T_HandleIdleEmergencyWithNeOpenL
+// Handle idle when number entry is open
+// Expected results: - Number entry is shown
+//                   - State is changed to idle
+// -----------------------------------------------------------------------------
+//
+void ut_cphoneemergency::T_HandleIdleEmergencyWithNeOpenL(  )
+    {
+    iMockContext->ExpectCallL( "CPhoneState::IsSimOk" ).
+        ReturnsL( ETrue );    
+    
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::IsNumberEntryUsedL" ).
+                ReturnsL( ETrue );
+    
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::SetNumberEntryVisibilityL" ).
+                WithL(ETrue);
+            
+    iMockContext->ExpectCallL( "CPhoneState::RemoveDialogsAndSendPhoneToBackgroundL" );
+    
+    iMockContext->ExpectCallL( "CPhoneStateMachine::ChangeState" ).
+        WithL( EPhoneStateIdle );
+    
+    iStateEmergency->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageIdle, KEmergencyCallId );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+
+    }
+
+// -----------------------------------------------------------------------------
+// ut_cphoneemergency::T_HandleKeyEventSimNotUsableL
+// Use case: Handle key event during emergency call when sim not inserted
+// Expected results:  Number entry and keys are shown 
+// Motivation: EMQN-7Q883L Can not input any numbers to number entry during an 
+//                         active emergency call in offline mode
+// -----------------------------------------------------------------------------
+ 
+void ut_cphoneemergency::T_HandleKeyEventSimNotUsableL()
+    {
+    SmcDefaultValue<TPESimState>::SetL( EPESimNotPresent );
+    TKeyEvent aKeyEvent;
+    TEventCode aEventCode;
+    iMockContext->ExpectCallL( "CPhoneState::HandleKeyEventL" ).
+        WithL( aKeyEvent, aEventCode );
+    MPhoneKeyEvents* keyEmergency  = iStateEmergency;
+    
+    keyEmergency->HandleKeyEventL( aKeyEvent,aEventCode );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+
+    }
+
+// -----------------------------------------------------------------------------
+// ut_cphoneemergency::T_HandleOtherIdleThanEmergency
+// Use case: Emergency call created from active call which idle comes to 
+//           Emergency state
+// Expected results:  No idle screen 
+// Motivation: ELVW-7Q85X5 Emergency call view is not displayed 
+//             when making an Emergency call in Log application with active call.
+// -----------------------------------------------------------------------------
+ 
+void ut_cphoneemergency::T_HandleOtherIdleThanEmergency ()
+    {
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+           WithL( EPhoneViewRemoveAllCallHeaders );
+    iMockContext->ExpectCallL("CPhoneState::SetupIdleScreenInBackgroundL")
+        .TimesL(0); // not expected to call
+    
+    iStateEmergency->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageIdle, 1 );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+// -----------------------------------------------------------------------------
+// ut_cphoneemergency::T_HandleIdleEmergencySecurityNoteShownSimlessOfflineOffL
+// -check commands
+// TRLM-7Q3HVZ 
+// -----------------------------------------------------------------------------
+// 
+void ut_cphoneemergency::T_HandleIdleEmergencySecurityNoteShownSimlessOfflineOffL(  )
+    {
+    TPhoneCmdParamBoolean globalNotifierParam;
+    globalNotifierParam.SetBoolean( EFalse );
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+        WithL<TPhoneViewCommandId, TPhoneCommandParam&> ( EPhoneViewSetGlobalNotifiersDisabled, globalNotifierParam );
+
+   iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+        WithL( EPhoneViewRemoveCallHeader, KEmergencyCallId );
+    iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+        WithL( EPhoneViewRemoveNote );
+
+    iMockContext->ExpectCallL( "CPhoneState::IsSimStateNotPresentWithSecurityModeEnabled" ).
+            TimesL(2).
+            ReturnsL(ETrue);
+    iMockContext->ExpectCallL( "FeatureManager::FeatureSupported" ).
+                TimesL(1).
+                ReturnsL(EFalse);
+    iMockContext->ExpectCallL( "CPhoneState::RemoveDialogsAndSendPhoneToBackgroundL" ).
+        TimesL(0); // Set this zero if not expected to call
+
+    iStateEmergency->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageIdle, KEmergencyCallId );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+// -----------------------------------------------------------------------------
+// ut_cphoneemergency::T_HandleIdleEmergencySecurityNoteShownSimlessOfflineOnL
+// -check commands
+// TRLM-7Q3HVZ 
+// -----------------------------------------------------------------------------
+// 
+void ut_cphoneemergency::T_HandleIdleEmergencySecurityNoteShownSimlessOfflineOnL(  )
+    {    
+        
+    iMockContext->ExpectCallL( "CPhoneState::IsSimStateNotPresentWithSecurityModeEnabled" ).
+            TimesL(2).
+            ReturnsL(ETrue);
+    
+    iMockContext->ExpectCallL( "CPhoneState::StartShowSecurityNoteL" ).
+            TimesL(1);
+    
+    iMockContext->ExpectCallL( "FeatureManager::FeatureSupported" ).
+                TimesL(1).
+                ReturnsL(ETrue);
+    
+    iMockContext->ExpectCallL( "CPhoneState::RemoveDialogsAndSendPhoneToBackgroundL" ).
+        TimesL(1); 
+        
+    iStateEmergency->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageIdle, KEmergencyCallId );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+// -----------------------------------------------------------------------------
+// ut_cphoneemergency::T_HandleIdleEmergencySecurityNoteNotShownSimlessOfflineOffL
+// -check commands
+// TRLM-7Q3HVZ 
+// -----------------------------------------------------------------------------
+// 
+void ut_cphoneemergency::T_HandleIdleEmergencySecurityNoteNotShownSimlessOfflineOffL(  )
+    {    
+    iMockContext->ExpectCallL( "CPhoneState::IsSimStateNotPresentWithSecurityModeEnabled" ).
+            TimesL(2).
+            ReturnsL(EFalse);
+    
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::IsNumberEntryUsedL" ).
+                   ReturnsL( EFalse );
+    
+    iMockContext->ExpectCallL( "FeatureManager::FeatureSupported" ).  
+                TimesL(0);               
+    
+    iMockContext->ExpectCallL( "CPhoneState::RemoveDialogsAndSendPhoneToBackgroundL" ).
+        TimesL(1); 
+
+    iStateEmergency->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageIdle, KEmergencyCallId );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+// -----------------------------------------------------------------------------
+// ut_cphoneemergency::T_HandleIdleEmergencySecurityNoteNotShownSimlessOfflineOnL
+// -check commands
+// TRLM-7Q3HVZ 
+// -----------------------------------------------------------------------------
+// 
+void ut_cphoneemergency::T_HandleIdleEmergencySecurityNoteNotShownSimlessOfflineOnL(  )
+    {    
+    iMockContext->ExpectCallL( "CPhoneState::IsSimStateNotPresentWithSecurityModeEnabled" ).
+            TimesL(2).
+            ReturnsL(ETrue);
+    
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::IsNumberEntryUsedL" ).
+                       ReturnsL( EFalse );
+    
+    iMockContext->ExpectCallL( "FeatureManager::FeatureSupported" ).
+                    TimesL(1).
+                    ReturnsL(ETrue);
+    
+    iMockContext->ExpectCallL( "CPhoneState::RemoveDialogsAndSendPhoneToBackgroundL" ).
+        TimesL(1); 
+
+    iStateEmergency->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageIdle, KEmergencyCallId );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+
+// -----------------------------------------------------------------------------
+// ut_cphoneemergency::T_HandleRemConCommand_MuteL
+// -check commands
+// ELVW-7RTC22
+// -----------------------------------------------------------------------------
+// 
+void ut_cphoneemergency::T_HandleRemConCommand_MuteL(  )
+    {
+    MPhoneState* stateEmergency = iStateEmergency;
+    iMockContext->ExpectCallL( "CPhoneState::HandleRemConCommandL" ).
+            TimesL(0);
+    
+    stateEmergency->HandleRemConCommandL( ERemConCoreApiMute, ERemConCoreApiButtonPress ); 
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+        ut_cphoneemergency,
+    "Add test suite description here.",
+    "UNIT" )
+
+EUNIT_TEST(
+    "1- Test handle connecting",
+    "CPhoneEmergency",
+    "Test1",
+    "FUNCTIONALITY",
+    SetupL, T_HandleConnectingL, Teardown)
+
+EUNIT_TEST(
+    "2- test handle dialing ",
+    "CPhoneEmergency",
+    "Test2",
+    "FUNCTIONALITY",
+    SetupL, T_HandleDialingL, Teardown)
+
+EUNIT_TEST(
+    "3- test handle connected",
+    "CPhoneEmergency",
+    "Test3",
+    "FUNCTIONALITY",
+    SetupL, T_HandleConnectedL, Teardown)
+
+EUNIT_TEST(
+    "4- test handle idle",
+    "CPhoneEmergency",
+    "Test4",
+    "FUNCTIONALITY",
+    SetupL, T_HandleIdleEmergencyL, Teardown)
+
+EUNIT_TEST(
+    "5- Audio output change",
+    "CPhoneEmergency",
+    "Test5",
+    "FUNCTIONALITY",
+    SetupL, T_HandleAudioOutputChangedL, Teardown)
+
+EUNIT_TEST(
+    "8- EmergencyCallSetup_HandleEPEMessageConnected",
+    "CPhoneEmergency",
+    "Test8",
+    "FUNCTIONALITY",
+    SetupL, T_EmergencyCallSetup_HandleEPEMessageConnectedL, Teardown)  
+
+EUNIT_TEST(
+    "9- To idle, NE open",
+    "CPhoneEmergency",
+    "Test9",
+    "FUNCTIONALITY",
+    SetupL, T_HandleIdleEmergencyWithNeOpenL, Teardown)
+
+EUNIT_TEST(
+    "10- Key event, SIM not usable",
+    "CPhoneEmergency",
+    "Test10",
+    "FUNCTIONALITY",
+    SetupL, T_HandleKeyEventSimNotUsableL, Teardown)
+
+EUNIT_TEST(
+    "11- Other call idle",
+    "CPhoneEmergency",
+    "Test11",
+    "FUNCTIONALITY",
+    SetupL, T_HandleOtherIdleThanEmergency, Teardown)
+    
+EUNIT_TEST(
+    "13- Handle Idle message when security note is SHOWN and KFeatureIdFfSimlessOfflineSupport flag is UNDEF",
+    "CPhoneEmergency",
+    "Test13",
+    "FUNCTIONALITY",
+    SetupL, T_HandleIdleEmergencySecurityNoteShownSimlessOfflineOffL, Teardown)
+    
+EUNIT_TEST(
+    "14- Handle Idle message when security note is SHOWN and KFeatureIdFfSimlessOfflineSupport flag is DEFINED",
+    "CPhoneEmergency",
+    "Test14",
+    "FUNCTIONALITY",
+    SetupL, T_HandleIdleEmergencySecurityNoteShownSimlessOfflineOnL, Teardown)
+
+EUNIT_TEST(
+    "15- Handle Idle message when security note is NOT SHOWN and KFeatureIdFfSimlessOfflineSupport flag is UNDEF",
+    "CPhoneEmergency",
+    "Test15",
+    "FUNCTIONALITY",
+    SetupL, T_HandleIdleEmergencySecurityNoteNotShownSimlessOfflineOffL, Teardown)
+    
+EUNIT_TEST(
+    "16- Handle Idle message when security note is NOT SHOWN and KFeatureIdFfSimlessOfflineSupport flag is DEFINED",
+    "CPhoneEmergency",
+    "Test16",
+    "FUNCTIONALITY",
+    SetupL, T_HandleIdleEmergencySecurityNoteNotShownSimlessOfflineOnL, Teardown)
+    
+EUNIT_TEST(
+    "17- Handle Remote Control ERemConCoreApiMute operation ",
+    "CPhoneEmergency",
+    "Test17",
+    "FUNCTIONALITY",
+    SetupL, T_HandleRemConCommand_MuteL, Teardown)
+    
+    
+
+EUNIT_END_TEST_TABLE
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneemergency/Src/ut_cphoneemergency.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,110 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __UT_CPHONEEMERGENCY_H__
+#define __UT_CPHONEEMERGENCY_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+
+
+
+// FORWARD DECLARATIONS
+class CSmcMockContext;
+class CPhoneStateMachineGSM;
+class CPhoneViewCommandHandleMock;
+class CPhoneMainResourceResolverMock;
+class CPEEngineInfo;
+class MPhoneViewCommandHandle;
+class TPhoneCommandParam;
+class CPhoneEmergency;
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+
+
+TBool operator==(const TPhoneCommandParam& param1, const TPhoneCommandParam& param2 );
+
+NONSHARABLE_CLASS( ut_cphoneemergency )
+    : public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static ut_cphoneemergency* NewL();
+        static ut_cphoneemergency* NewLC();
+        ~ut_cphoneemergency();
+
+    private: // Constructors
+
+        ut_cphoneemergency();
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+
+         void Teardown();
+
+         void T_HandleConnectingL();
+
+         void T_HandleDialingL();
+
+         void T_HandleConnectedL();
+
+         void T_HandleIdleEmergencyL();
+
+         void T_HandleAudioOutputChangedL();
+
+         void T_EmergencyCallSetup_HandleEPEMessageConnectedL();
+
+         void T_HandleIdleEmergencyWithNeOpenL();
+         
+         void T_HandleKeyEventSimNotUsableL();
+         
+         void T_HandleOtherIdleThanEmergency();
+         
+         void T_HandleIdleEmergencySecurityNoteShownSimlessOfflineOffL();
+         
+         void T_HandleIdleEmergencySecurityNoteShownSimlessOfflineOnL();
+         
+         void T_HandleIdleEmergencySecurityNoteNotShownSimlessOfflineOffL();
+         
+         void T_HandleIdleEmergencySecurityNoteNotShownSimlessOfflineOnL();
+         
+         void T_HandleRemConCommand_MuteL();
+
+    private: // Data
+
+        MPhoneViewCommandHandle* iViewCmdHandleMock;
+
+        CPhoneStateMachineGSM* iStateMachineMock;
+
+        CSmcMockContext* iMockContext;
+
+        CPhoneMainResourceResolverMock* iCPhoneMainResourceResolverMock;
+
+        CPEEngineInfo* iEngineInfoMock;
+
+        CPhoneEmergency * iStateEmergency;
+        
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __UT_CPHONEEMERGENCY_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneemergency/Src/ut_cphoneemergency_DllMain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphoneemergency.h"
+#include <CEUnitTestSuite.h>
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return ut_cphoneemergency::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneemergency/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+PRJ_PLATFORMS
+    WINSCW
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+
+PRJ_TESTMMPFILES
+ut_cphoneemergency.mmp
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneemergency/group/ut_cphoneemergency.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,104 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*
+*/
+
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET          ut_cphoneemergency.dll
+TARGETTYPE      dll
+UID             0x1000af5a 0x01700000
+
+CAPABILITY      ALL -TCB
+VENDORID        VID_DEFAULT
+
+
+SOURCEPATH    ../../../../../internal/mocks/phoneengine/engineinfo
+SOURCE        mock_cpeengineinfoimpl.cpp
+ 
+SOURCEPATH    ../../../../internal/mocks/phoneuicontrol
+SOURCE        mock_CPhoneState.cpp
+SOURCE        mock_cphonestateincall.cpp
+SOURCE        mock_cphonestatemachine.cpp
+
+SOURCEPATH    ../../../../../internal/mocks/phoneapp/phoneuicontrol
+SOURCE        mock_cphonenumberentrymanager.cpp
+
+SOURCEPATH    ../../../../internal/mocks/phoneuistates
+SOURCE        mock_cphonegsmincall.cpp
+SOURCE        mock_cphonestatemachinegsm.cpp
+
+SOURCEPATH    ../../../../internal/mocks/phoneuiutils
+SOURCE        mock_cphonelogger.cpp
+SOURCE        mock_cphonepubsubproxy.cpp
+SOURCE        mock_cphonemainresourceresolver.cpp
+SOURCE        mock_cphonekeys.cpp
+
+SOURCEPATH    ../../../../internal/mocks/phoneuiview
+SOURCE        mock_cphoneviewcommandhandle.cpp
+
+SOURCEPATH    ../../../../../internal/mocks/eikmenupane
+SOURCE        mock_coemain.cpp
+SOURCE        mock_coecntrl.cpp
+
+SOURCEPATH    ../../../../internal/mocks/
+SOURCE        mock_featmgr.cpp
+SOURCE        mock_StringLoader.cpp
+
+SOURCEPATH    ../Src
+SOURCE        ut_cphoneemergency.cpp
+
+SOURCEPATH    ../../../../../phoneengine/engineinfo/src
+SOURCE        cpeengineinfo.cpp
+
+SOURCEPATH    ../../../src        // phoneuistates src
+SOURCE        CPhoneEmergency.cpp
+
+// Sources required by the test suite
+SOURCEPATH      ../Src
+SOURCE          ut_cphoneemergency_DllMain.cpp
+
+USERINCLUDE    ../../../../../phoneengine/engineinfo/inc
+USERINCLUDE    ../../../../internal/mocks/phoneengine
+USERINCLUDE    ../../../../phoneuicontrol/inc
+USERINCLUDE    ../../../../phoneuistates/inc
+USERINCLUDE    ../../../../phonemediatorcenter/inc
+USERINCLUDE    ../../../../phoneuiutils/inc
+USERINCLUDE    ../../../../phoneui2/srcdata
+USERINCLUDE    ../../../../phoneuiqtviewadapter/inc
+USERINCLUDE    ../../../../internal/mocks/phoneuiview
+
+ 
+APP_LAYER_SYSTEMINCLUDE
+
+SYSTEMINCLUDE    /epoc32/include/Digia/EUnit
+SYSTEMINCLUDE    ../../../../../inc        // phone inc
+
+
+LIBRARY         EUnit.lib
+LIBRARY         EUnitUtil.lib
+LIBRARY         euser.lib
+LIBRARY         avkon.lib         // AknTextUtils
+LIBRARY         cone.lib
+LIBRARY         phoneuiutils.lib
+LIBRARY         apgrfx.lib
+LIBRARY         symbianmock.lib
+LIBRARY         efsrv.lib
+LIBRARY         ws32.lib         // RWsSession
+LIBRARY         gdi.lib          // TZoomFactor
+LIBRARY         bafl.lib         // CBaActiveScheduler
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneerrormessageshandler/BWINS/ut_cphoneerrormessageshandleru.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneerrormessageshandler/Src/ut_cphoneerrormessageshandler.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,384 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+/*
+-----------------------------------------------------------------------------
+This file has been generated with EUnit Pro
+http://www.digia.com/eunit
+-----------------------------------------------------------------------------
+*/
+#include "ut_cphoneerrormessageshandler.h"
+#include <coemain.h>
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+
+
+
+#include <csmcmockcontext.h>
+#include <msmcmockspecbuilder.h>
+#include "cphoneerrormessageshandler.h"
+#include "CPhoneStateMachineGSM.h"
+#include "mock_cphoneviewcommandhandle.h"
+#include "CPhoneMainErrorMessagesHandler.h"
+#include "cphonemainresourceresolver.h"
+#include "tphonecmdparamglobalnote.h"
+
+// needed for mocking CPhoneMainErrorMessagesHandler::Instance()
+class CPhoneMainErrorMessagesHandlerMock : public CPhoneMainErrorMessagesHandler
+    {
+
+    };
+
+// needed for mocking CPhoneMainResourceResolver::Instance()
+class CPhoneMainResourceResolverMock : public CPhoneMainResourceResolver
+    {
+
+    };
+
+
+// - Construction -----------------------------------------------------------
+
+ut_cphoneerrormessageshandler* ut_cphoneerrormessageshandler::NewL()
+    {
+    ut_cphoneerrormessageshandler* self = ut_cphoneerrormessageshandler::NewLC();
+    CleanupStack::Pop();
+    return self;
+    }
+
+ut_cphoneerrormessageshandler* ut_cphoneerrormessageshandler::NewLC()
+    {
+    ut_cphoneerrormessageshandler* self = new( ELeave ) ut_cphoneerrormessageshandler();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+ut_cphoneerrormessageshandler::~ut_cphoneerrormessageshandler()
+    {
+    CSmcMockContext::Release();
+
+    delete iCPhoneErrorMessagesHandler;
+    delete iCoeEnvMock;
+    delete iCPhoneMainErrorMessagesHandlerMock;
+    delete iCPhoneMainResourceResolverMock;
+    delete iEngineInfoMock;
+    delete iViewCommandHandleMock;
+    delete iStateMachineMock;
+    }
+
+ut_cphoneerrormessageshandler::ut_cphoneerrormessageshandler()
+    {
+    }
+
+void ut_cphoneerrormessageshandler::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    iMockContext = CSmcMockContext::InstanceL();
+    }
+
+// - Test methods -----------------------------------------------------------
+
+
+
+void ut_cphoneerrormessageshandler::SetupL(  )
+    {
+    iMockContext->InitializeL();
+
+    iCoeEnvMock = new ( ELeave ) CCoeEnv();
+    SmcDefaultValue<CCoeEnv*>::SetL( iCoeEnvMock );
+    CleanupResetDefaultValuePushL<SmcDefaultValue<CCoeEnv*> >();
+
+    iCPhoneMainErrorMessagesHandlerMock = new ( ELeave ) CPhoneMainErrorMessagesHandlerMock();
+    SmcDefaultValue<CPhoneMainErrorMessagesHandler*>::SetL( iCPhoneMainErrorMessagesHandlerMock );
+
+    iCPhoneMainResourceResolverMock = new ( ELeave ) CPhoneMainResourceResolverMock();
+    SmcDefaultValue<CPhoneMainResourceResolver*>::SetL( iCPhoneMainResourceResolverMock );
+
+    iEngineInfoMock = CPEEngineInfo::NewL();
+    SmcDefaultValue<MPEEngineInfo*>::SetL( iEngineInfoMock );
+
+    iViewCommandHandleMock = new CPhoneViewCommandHandleMock();
+    iStateMachineMock = CPhoneStateMachineGSM::NewL( iViewCommandHandleMock );
+
+    iCPhoneErrorMessagesHandler = CPhoneErrorMessagesHandler::NewL( iViewCommandHandleMock, iStateMachineMock);
+
+    }
+
+void ut_cphoneerrormessageshandler::Teardown(  )
+    {
+    delete iCPhoneErrorMessagesHandler;
+    iCPhoneErrorMessagesHandler = NULL;
+    delete iStateMachineMock;
+    iStateMachineMock = NULL;
+    delete iViewCommandHandleMock;
+    iViewCommandHandleMock = NULL;
+    delete iEngineInfoMock;
+    iEngineInfoMock = NULL;
+    delete iCPhoneMainResourceResolverMock;
+    iCPhoneMainResourceResolverMock = NULL;
+    delete iCPhoneMainErrorMessagesHandlerMock;
+    iCPhoneMainErrorMessagesHandlerMock = NULL;
+    delete iCoeEnvMock;
+    iCoeEnvMock = NULL;
+
+    CleanupStack::PopAndDestroy();
+
+    SmcDefaultValue<CPhoneMainResourceResolver*>::Reset();
+    SmcDefaultValue<CPhoneMainErrorMessagesHandler*>::Reset();
+
+    iMockContext->Reset();
+    }
+
+void ut_cphoneerrormessageshandler::T_Global_ShowErrorSpecificNoteForVideoCallL(  )
+    {
+     TPEErrorInfo aErrorInfo;
+     aErrorInfo.iErrorCode = ECCPErrorCCPreemption;
+     aErrorInfo.iCallId = 1;
+     const TInt KEnabled = 1;
+     const TInt KCallId = 1;
+
+     iEngineInfoMock->SetCallTypeCommand( EPECallTypeVideo );
+     iEngineInfoMock->SetCallType( EPECallTypeVideo, KCallId );
+
+     TPECallType type(EPECallTypeVideo);
+     iMockContext->ExpectCallL("CPEEngineInfoImpl::CallType").
+         WithL(KCallId).
+         ReturnsL(type);
+
+     iMockContext->
+         ExpectCallL( "TPhoneCmdParamBoolean::SetBoolean" ).
+         WithL( EFalse );
+     iMockContext->
+         ExpectCallL( "TPhoneCmdParamGlobalNote::SetType" ).
+         WithL( EPhoneMessageBoxInformation );
+     iMockContext->
+         ExpectCallL( "CPhoneMainResourceResolver::ResolveResourceID" ).
+         WithL<const TInt&>( EPhoneNoteCallInfoNotSupported  );
+     iMockContext->
+         ExpectCallL( "TPhoneCmdParamGlobalNote::SetTextResourceId" );
+
+     iCPhoneErrorMessagesHandler->ShowErrorSpecificNoteL( aErrorInfo );
+     EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+void ut_cphoneerrormessageshandler::T_Global_ShowErrorSpecificNoteForCsCallL(  )
+    {
+     TPEErrorInfo aErrorInfo;
+     aErrorInfo.iErrorCode = ECCPErrorCCPreemption;
+     aErrorInfo.iCallId = 1;
+     const TInt KEnabled = 1;
+     const TInt KCallId = 1;
+     
+     EUNIT_PRINT( _L("CPEEngineInfoImpl::CallType"));
+     
+     TPECallType type(EPECallTypeUninitialized);
+      iMockContext->ExpectCallL("CPEEngineInfoImpl::CallType").
+          WithL(KCallId).
+          ReturnsL(type);
+      
+      iEngineInfoMock->SetSimState(EPESimReadable);
+      
+      EUNIT_PRINT( _L("TPhoneCmdParamGlobalNote::SetType"));
+     iMockContext->
+         ExpectCallL( "TPhoneCmdParamGlobalNote::SetType" ).
+         WithL( EPhoneNotificationDialog );
+
+     iMockContext->
+         ExpectCallL( "CPhoneMainResourceResolver::ResolveResourceID" ).
+         WithL<const TInt&>( EPhoneErrorInConnection  );
+
+     iMockContext->
+         ExpectCallL( "TPhoneCmdParamGlobalNote::SetTextResourceId" );
+     EUNIT_PRINT( _L("iCPhoneErrorMessagesHandler->ShowErrorSpecificNoteL ->"));
+     iCPhoneErrorMessagesHandler->ShowErrorSpecificNoteL( aErrorInfo );
+     EUNIT_PRINT( _L("iCPhoneErrorMessagesHandler->ShowErrorSpecificNoteL <-"));
+     EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+void ut_cphoneerrormessageshandler::VerifyNote( TPECallType aCallType, TCCPError aErrorCode, TPhoneRssBase aNote )
+    {
+     TPEErrorInfo errorInfo;
+     errorInfo.iErrorCode = aErrorCode;
+     errorInfo.iCallId = 1;
+     const TInt KEnabled = 1;
+     const TInt KCallId = 1;
+     
+     iEngineInfoMock->SetSimState(EPESimReadable);
+     iEngineInfoMock->SetCallTypeCommand( aCallType );
+     iEngineInfoMock->SetCallType( aCallType, KCallId );
+
+     iMockContext->ExpectCallL("CPEEngineInfoImpl::CallType").
+         WithL(KCallId).
+         ReturnsL(aCallType).
+         TimesL( ( aCallType == EPECallTypeCSVoice 
+                 && aErrorCode == ECCPErrorCCCallRejected ) ? 2 : 1 );
+
+     iMockContext->
+         ExpectCallL( "CPhoneMainResourceResolver::ResolveResourceID" ).
+         WithL<const TInt&>( aNote ).
+         TimesL( aNote == EPhoneRssBaseLast ? 0 : 1 );
+
+     iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+         TimesL( aNote == EPhoneRssBaseLast ? 0 : 2 );
+
+     iCPhoneErrorMessagesHandler->ShowErrorSpecificNoteL( errorInfo );
+     EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+void ut_cphoneerrormessageshandler::VerifyNoNote( TPECallType aCallType, TCCPError aErrorCode )
+    {
+     TPEErrorInfo errorInfo;
+     errorInfo.iErrorCode = aErrorCode;
+     errorInfo.iCallId = 1;
+     const TInt KEnabled = 1;
+     const TInt KCallId = 1;
+
+     iEngineInfoMock->SetCallTypeCommand( aCallType );
+     iEngineInfoMock->SetCallType( aCallType, KCallId );
+
+     iMockContext->ExpectCallL("CPEEngineInfoImpl::CallType").
+         WithL(KCallId).
+         ReturnsL(aCallType);
+
+     iMockContext->ExpectCallL( "CPhonePubSubProxy::Value" ).
+         TimesL( 0 ).
+         ReturnsL( KEnabled );
+
+     iMockContext->
+         ExpectCallL( "CPhoneMainResourceResolver::ResolveResourceID" ).
+         TimesL( 0 );
+
+     iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+         TimesL( 0 );
+
+     iCPhoneErrorMessagesHandler->ShowErrorSpecificNoteL( errorInfo );
+
+     EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+void ut_cphoneerrormessageshandler::T_Global_ShowErrorSpecificNoteL(  )
+    {
+    iEngineInfoMock->SetSimState(EPESimReadable);
+    //          eCall type           Error                                     Note Resource
+    EUNIT_PRINT( _L( "Video call and ECCPErrorServiceSettingError" ) );
+    VerifyNote( EPECallTypeVideo,   ECCPErrorServiceSettingError,             EPhoneNotePhoneOutOf3GCoverage );
+    iMockContext->Reset();
+    
+    EUNIT_PRINT( _L( "CS Voice call and ECCPErrorServiceSettingError" ) );
+     iMockContext->InitializeL();
+    VerifyNote( EPECallTypeCSVoice, ECCPErrorServiceSettingError,             EPhoneNoteTextCheckNetworkservices );
+    iMockContext->Reset();
+    
+    EUNIT_PRINT( _L( "Video call and ECCPErrorCCNoRouteToDestination" ) );
+     iMockContext->InitializeL();
+    VerifyNote( EPECallTypeVideo,   ECCPErrorCCNoRouteToDestination,          EPhoneErrorInConnection );
+    iMockContext->Reset();
+    
+    EUNIT_PRINT( _L( "CS Voice call and ECCPErrorCCNoRouteToDestination" ) );
+     iMockContext->InitializeL();
+    VerifyNote( EPECallTypeCSVoice, ECCPErrorCCNoRouteToDestination, EPhoneErrorInConnection );
+    iMockContext->Reset();
+    
+    EUNIT_PRINT( _L( "Video call and ECCPErrorCCCallRejected" ) );
+     iMockContext->InitializeL();
+    VerifyNote( EPECallTypeVideo,   ECCPErrorCCCallRejected,                  EPhoneNoteCalledNumberHasBarredIncomingCalls );
+    iMockContext->Reset();
+    
+    EUNIT_PRINT( _L( "CS Voice call and ECCPErrorCCCallRejected" ) );
+     iMockContext->InitializeL();
+     VerifyNote( EPECallTypeCSVoice, ECCPErrorCCCallRejected, EPhoneNoteCalledNumberHasBarredIncomingCalls);
+    iMockContext->Reset();
+    
+    EUNIT_PRINT( _L( "Video call and ECCPErrorNoAnswerForVideo" ) );
+     iMockContext->InitializeL();
+    VerifyNote( EPECallTypeVideo,   ECCPErrorNoAnswerForVideo,                EPhoneNotePhoneOutOf3GCoverage );
+    iMockContext->Reset();
+    
+    EUNIT_PRINT( _L( "CS Voice call and ECCPErrorNoAnswerForVideo" ) );
+     iMockContext->InitializeL();
+    VerifyNote( EPECallTypeCSVoice, ECCPErrorNoAnswerForVideo,                EPhoneNoAnswer );
+    iMockContext->Reset();
+    
+    EUNIT_PRINT( _L( "Video call and ECCPErrorCCRequestedFacilityNotSubscribed" ) );
+     iMockContext->InitializeL();
+    VerifyNote( EPECallTypeVideo,   ECCPErrorCCRequestedFacilityNotSubscribed,EPhoneNoteVideoCallOnlyPossibleUnder3GCoverage );
+    iMockContext->Reset();
+    
+    EUNIT_PRINT( _L( "CS Voice call and ECCPErrorCCRequestedFacilityNotSubscribed" ) );
+     iMockContext->InitializeL();
+    VerifyNote( EPECallTypeCSVoice, ECCPErrorCCRequestedFacilityNotSubscribed,EPhoneNoteTextNotAllowed );
+    iMockContext->Reset();
+    
+    EUNIT_PRINT( _L( "Video call and ECCPErrorCCIncompatibleDestination" ) );
+     iMockContext->InitializeL();
+    VerifyNote( EPECallTypeVideo,   ECCPErrorCCIncompatibleDestination,       EPhoneNoteUnableToMakeVideoCallNotSupportedByOtherPhone );
+    iMockContext->Reset();
+    
+    EUNIT_PRINT( _L( "CS Voice call and ECCPErrorCCIncompatibleDestination" ) );
+     iMockContext->InitializeL();
+    VerifyNote( EPECallTypeCSVoice, ECCPErrorCCIncompatibleDestination, EPhoneErrorInConnection );
+    iMockContext->Reset();
+    
+    EUNIT_PRINT( _L( "Video call and ECCPErrorCCBearerCapabilityNotAuthorised" ) );
+     iMockContext->InitializeL();
+    VerifyNote( EPECallTypeVideo,   ECCPErrorCCBearerCapabilityNotAuthorised, EPhoneNoteUnableToMakeVideoCallNotSupportedByOtherPhone );
+    iMockContext->Reset();
+    
+    EUNIT_PRINT( _L( "CS Voice call and ECCPErrorCCBearerCapabilityNotAuthorised" ) );
+     iMockContext->InitializeL();
+    VerifyNote( EPECallTypeCSVoice, ECCPErrorCCBearerCapabilityNotAuthorised, EPhoneErrorInConnection );
+    iMockContext->Reset();
+    
+    EUNIT_PRINT( _L( "Video call and ECCPErrorBadRequest" ) );
+     iMockContext->InitializeL();
+    VerifyNote( EPECallTypeVideo,   ECCPErrorBadRequest,                      EPhoneNoteUnableToMakeVideoCallNotSupportedByOtherPhone );
+    iMockContext->Reset();
+    
+    EUNIT_PRINT( _L( "CS Voice call and ECCPErrorBadRequest" ) );
+     iMockContext->InitializeL();
+    VerifyNote( EPECallTypeCSVoice, ECCPErrorBadRequest,                      EPhoneErrorInConnection );
+    }
+
+
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+    ut_cphoneerrormessageshandler,
+    "Add test suite description here.",
+    "UNIT" )
+
+EUNIT_TEST(
+    "ShowErrorSpecificNoteForVideoCallL - test1",
+    "CPhoneErrorMessagesHandler",
+    "ShowErrorSpecificNoteL - test1",
+    "FUNCTIONALITY",
+    SetupL, T_Global_ShowErrorSpecificNoteForVideoCallL, Teardown)
+
+EUNIT_TEST(
+    "ShowErrorSpecificNoteForCsCallL - test2",
+    "CPhoneErrorMessagesHandler",
+    "ShowErrorSpecificNoteL - test2",
+    "FUNCTIONALITY",
+    SetupL, T_Global_ShowErrorSpecificNoteForCsCallL, Teardown)
+
+EUNIT_TEST(
+    "ShowErrorSpecificNoteL - test3",
+    "CPhoneErrorMessagesHandler",
+    "ShowErrorSpecificNoteL - test3",
+    "FUNCTIONALITY",
+    SetupL, T_Global_ShowErrorSpecificNoteL, Teardown)
+
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneerrormessageshandler/Src/ut_cphoneerrormessageshandler.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,90 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+/*
+-----------------------------------------------------------------------------
+This file has been generated with EUnit Pro
+http://www.digia.com/eunit
+-----------------------------------------------------------------------------
+*/
+#ifndef __ut_cphoneerrormessageshandler_H__
+#define __ut_cphoneerrormessageshandler_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+
+#include "cpeengineinfo.h"
+#include <phonerssbase.h>
+
+// FORWARD DECLARATIONS
+class CSmcMockContext;
+class CPhoneErrorMessagesHandler;
+class MPhoneStateMachine;
+class MPhoneViewCommandHandle;
+class CCoeEnv;
+class CPEEngineInfo;
+class CPhoneMainErrorMessagesHandler;
+class CPhoneMainResourceResolver;
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( ut_cphoneerrormessageshandler )
+    : public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static ut_cphoneerrormessageshandler* NewL();
+        static ut_cphoneerrormessageshandler* NewLC();
+        ~ut_cphoneerrormessageshandler();
+
+    private: // Constructors
+
+        ut_cphoneerrormessageshandler();
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+
+         void Teardown();
+
+         void T_Global_ShowErrorSpecificNoteForVideoCallL();
+
+         void T_Global_ShowErrorSpecificNoteForCsCallL();
+
+         void VerifyNote( TPECallType aCallType, TCCPError aErrorCode, TPhoneRssBase aNote );
+         void VerifyNoNote( TPECallType aCallType, TCCPError aErrorCode );
+         void T_Global_ShowErrorSpecificNoteL();
+
+    private: // Data
+
+        CPhoneErrorMessagesHandler* iCPhoneErrorMessagesHandler;
+        CSmcMockContext* iMockContext;
+        MPhoneStateMachine* iStateMachineMock;
+        MPhoneViewCommandHandle* iViewCommandHandleMock;
+        CCoeEnv* iCoeEnvMock;
+        CPhoneMainErrorMessagesHandler* iCPhoneMainErrorMessagesHandlerMock;
+        CPhoneMainResourceResolver* iCPhoneMainResourceResolverMock;
+        CPEEngineInfo* iEngineInfoMock;
+
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __ut_cphoneerrormessageshandler_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneerrormessageshandler/Src/ut_cphoneerrormessageshandler_DllMain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,38 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+//  EXTERNAL INCLUDES
+#include <CEUnitTestSuite.h>
+#include "ut_cphoneerrormessageshandler.h"
+
+/**
+* T_HelloWorld.dll test suite factory function.
+*/
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    // In this example, a root suite is needed for holding the two suites
+    //with test cases. If there was only one suite with tests, that suite
+    //instance could be returned directly. (see the other examples)
+    CEUnitTestSuite* rootSuite = CEUnitTestSuite::NewLC(_L("HelloWorld Unit Tests"));
+
+    // Note that NewLC leaves the object in the cleanupstack.
+    rootSuite->AddL( ut_cphoneerrormessageshandler::NewLC() );
+    CleanupStack::Pop();
+
+    CleanupStack::Pop( rootSuite );
+
+    return rootSuite;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneerrormessageshandler/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+PRJ_PLATFORMS
+    WINSCW
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+
+PRJ_TESTMMPFILES
+ut_cphoneerrormessageshandler.mmp
+
+
+// End of file
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneerrormessageshandler/group/ut_cphoneerrormessageshandler.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,100 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+#include<Digia/Eunit/EUnitCaps.h>
+
+// DEFINES
+#define         KMyUniqueUid3 0x01700000
+#define         KEUnitTestDllUid2 0x1000af5a
+
+// Build target
+TARGET          ut_cphoneerrormessageshandler.dll
+TARGETTYPE      dll
+UID             KEUnitTestDllUid2 KMyUniqueUid3
+
+CAPABILITY      EUNIT_CAPS
+VENDORID        0x00000000
+
+// Source files
+SOURCEPATH      ../src
+SOURCE          ut_cphoneerrormessageshandler_DllMain.cpp           // Test code
+SOURCE          ut_cphoneerrormessageshandler.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuiview
+SOURCE          mock_cphoneviewcommandhandle.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuistates
+SOURCE          mock_cphonestatemachinegsm.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuicontrol
+SOURCE          mock_cphonestatemachine.cpp
+
+SOURCEPATH      ../../../../../internal/mocks/eikmenupane
+SOURCE          mock_coemain.cpp
+SOURCE          mock_coemop.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuiutils
+SOURCE          mock_cphonelogger.cpp
+SOURCE          mock_cphonestorage.cpp
+SOURCE          mock_cphonemainerrormessageshandler.cpp
+SOURCE          mock_cphonepubsubproxy.cpp
+SOURCE          mock_tphonecmdparamboolean.cpp
+SOURCE          mock_tphonecommandparam.cpp
+SOURCE          mock_tphonecmdparamglobalnote.cpp
+SOURCE          mock_cphonemainresourceresolver.cpp
+SOURCE          mock_cphonecenrepproxy.cpp
+
+SOURCEPATH      ../../../../../internal/mocks/phoneengine/engineinfo
+SOURCE          mock_cpeengineinfoimpl.cpp
+
+SOURCEPATH      ../../../../../phoneengine/engineinfo/src
+SOURCE          cpeengineinfo.cpp
+
+// Code under test
+SOURCEPATH      ../../../src
+SOURCE          cphoneerrormessageshandler.cpp
+
+// Include paths
+USERINCLUDE     ../../../inc
+USERINCLUDE     ../../../../../phoneengine/engineinfo/inc
+USERINCLUDE     /sf/app/phone/phoneapp/phoneuiutils/inc
+USERINCLUDE     /sf/app/phone/phoneapp/phoneuiview/inc
+USERINCLUDE     /sf/app/phone/phoneapp/phoneuicontrol/inc
+USERINCLUDE     /sf/app/phone/phoneapp/phoneui2/srcdata
+USERINCLUDE     /sf/app/phone/phoneapp/phoneuiqtviewadapter/inc
+USERINCLUDE     ../../../../internal/mocks/phoneuiview
+
+SYSTEMINCLUDE   /epoc32/include /epoc32/include/Digia/EUnit
+SYSTEMINCLUDE   ../../../../../inc    // phone internal headers
+SYSTEMINCLUDE   /epoc32/include/platform/
+SYSTEMINCLUDE   /epoc32/include/platform/mw
+SYSTEMINCLUDE   /epoc32/include/platform/app
+SYSTEMINCLUDE   /epoc32/include/mw
+
+// Dependencies to system components
+LIBRARY         euser.lib EUnit.lib
+LIBRARY         bafl.lib
+LIBRARY         EUnitUtil.lib
+LIBRARY         FeatMgr.lib
+LIBRARY         avkon.lib
+LIBRARY         symbianmock.lib
+LIBRARY         ws32.lib
+LIBRARY         apgrfx.lib
+LIBRARY         RemConCoreApi.lib
+LIBRARY         efsrv.lib
+LIBRARY         gdi.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonegeneralgsmmessageshandler/bwins/ut_cphonegeneralgsmmessageshandleru.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonegeneralgsmmessageshandler/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+PRJ_PLATFORMS
+    WINSCW
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+
+PRJ_TESTMMPFILES
+ut_cphonegeneralgsmmessageshandler.mmp
+
+
+// End of file
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonegeneralgsmmessageshandler/group/ut_cphonegeneralgsmmessageshandler.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,108 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+#include <Digia/Eunit/EUnitCaps.h>
+
+// DEFINES
+#define         KMyUniqueUid3 0x01700000
+#define         KEUnitTestDllUid2 0x1000af5a
+
+// Build target
+TARGET          ut_cphonegeneralgsmmessageshandler.dll
+TARGETTYPE      dll
+UID             KEUnitTestDllUid2 KMyUniqueUid3
+
+CAPABILITY      EUNIT_CAPS
+VENDORID        0x00000000
+
+// Source files
+SOURCEPATH      ../src
+SOURCE          ut_cphonegeneralgsmmessageshandler_DllMain.cpp
+SOURCE          ut_cphonegeneralgsmmessageshandler.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuiview
+SOURCE          mock_cphoneviewcommandhandle.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuistates
+SOURCE          mock_cphonestatemachinegsm.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuicontrol
+SOURCE          mock_cphonestatemachine.cpp
+SOURCE          mock_cphonestate.cpp
+
+SOURCEPATH      ../../../../../internal/mocks/eikmenupane
+SOURCE          mock_coemain.cpp
+SOURCE          mock_coemop.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuiutils
+SOURCE          mock_cphonelogger.cpp
+SOURCE          mock_cphonestorage.cpp
+SOURCE          mock_cphonepubsubproxy.cpp
+SOURCE          mock_tphonecmdparamboolean.cpp
+SOURCE          mock_tphonecommandparam.cpp
+SOURCE          mock_tphonecmdparamglobalnote.cpp
+SOURCE          mock_cphonemainresourceresolver.cpp
+SOURCE          mock_tphonecmdparaminteger.cpp
+SOURCE          mock_tphonecmdparamappinfo.cpp
+
+SOURCEPATH      ../../../../../internal/mocks/phoneengine/engineinfo
+SOURCE          mock_cpeengineinfoimpl.cpp
+
+SOURCEPATH      ../../../../internal/mocks/
+SOURCE          mock_featmgr.cpp
+
+SOURCEPATH      ../../../../internal/mocks/appframework
+SOURCE          mock_apgtask.cpp
+
+SOURCEPATH      ../../../../../phoneengine/engineinfo/src
+SOURCE          cpeengineinfo.cpp
+
+// Code under test
+SOURCEPATH      ../../../src
+SOURCE          cphonegeneralgsmmessageshandler.cpp
+
+// Include paths
+USERINCLUDE     ../inc
+USERINCLUDE     ../../../inc
+USERINCLUDE     ../../../../../phoneengine/engineinfo/inc
+USERINCLUDE     /sf/app/phone/phoneapp/phoneuiutils/inc
+USERINCLUDE     /sf/app/phone/phoneapp/phoneuiview/inc
+USERINCLUDE     /sf/app/phone/phoneapp/phoneuicontrol/inc
+USERINCLUDE     /sf/app/phone/phoneapp/phoneui2/srcdata
+USERINCLUDE     /sf/app/phone/phoneapp/phoneuiqtviewadapter/inc
+USERINCLUDE     ../../../../internal/mocks/phoneuiview
+
+SYSTEMINCLUDE   /epoc32/include /epoc32/include/Digia/EUnit
+SYSTEMINCLUDE   ../../../../../inc    // phone internal headers
+SYSTEMINCLUDE   /epoc32/include/platform/
+SYSTEMINCLUDE   /epoc32/include/platform/mw
+SYSTEMINCLUDE   /epoc32/include/platform/app
+SYSTEMINCLUDE   /epoc32/include/mw
+
+// Dependencies to system components
+LIBRARY         euser.lib 
+LIBRARY         EUnit.lib
+LIBRARY         bafl.lib
+LIBRARY         EUnitUtil.lib
+LIBRARY         avkon.lib
+LIBRARY         symbianmock.lib
+LIBRARY         ws32.lib
+LIBRARY         apgrfx.lib
+LIBRARY         RemConCoreApi.lib
+LIBRARY         efsrv.lib
+LIBRARY         gdi.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonegeneralgsmmessageshandler/inc/ut_cphonegeneralgsmmessageshandler.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,88 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+/*
+-----------------------------------------------------------------------------
+This file has been generated with EUnit Pro
+http://www.digia.com/eunit
+-----------------------------------------------------------------------------
+*/
+#ifndef __UT_CPHONEGENERALGSMMESSAGESHANDLER_H__
+#define __UT_CPHONEGENERALGSMMESSAGESHANDLER_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+
+
+// FORWARD DECLARATIONS
+class CSmcMockContext;
+class CPhoneGeneralGsmMessagesHandler;
+class MPhoneStateMachine;
+class MPhoneViewCommandHandle;
+class CCoeEnv;
+class CPhoneMainResourceResolver;
+class CPhoneState;
+class TPhoneCommandParam;
+
+// CLASS DEFINITION
+
+TBool operator==(const TPhoneCommandParam& param1, const TPhoneCommandParam& param2 );
+
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( ut_cphonegeneralgsmmessageshandler )
+    : public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static ut_cphonegeneralgsmmessageshandler* NewL();
+        static ut_cphonegeneralgsmmessageshandler* NewLC();
+        ~ut_cphonegeneralgsmmessageshandler();
+
+    private: // Constructors
+
+        ut_cphonegeneralgsmmessageshandler();
+        void ConstructL();
+
+    private: // New methods
+
+        void SetupL();
+        
+        void Teardown();
+        
+        void T_ConstructionL();
+        
+        void T_HandlePhoneEngineMessageL_EPEMessageIssuingSSRequest_L();
+         
+        void T_HandlePhoneEngineMessageL_EPEMessageIssuedSSRequest_L();
+
+    private: // Data
+
+        CPhoneGeneralGsmMessagesHandler* iPhoneGeneralGsmMessagesHandler;
+        CSmcMockContext* iMockContext;
+        MPhoneStateMachine* iStateMachineMock;
+        CPhoneState* iMockState;
+        MPhoneViewCommandHandle* iViewCommandHandleMock;
+        CCoeEnv* iCoeEnvMock;
+        CPhoneMainResourceResolver* iCPhoneMainResourceResolverMock;
+
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __UT_CPHONEGENERALGSMMESSAGESHANDLER_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonegeneralgsmmessageshandler/src/ut_cphonegeneralgsmmessageshandler.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,245 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+/*
+-----------------------------------------------------------------------------
+This file has been generated with EUnit Pro
+http://www.digia.com/eunit
+-----------------------------------------------------------------------------
+*/
+
+#include <coemain.h>
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+
+#include <csmcmockcontext.h>
+#include <msmcmockspecbuilder.h>
+#include <pevirtualengine.h>
+
+#include "ut_cphonegeneralgsmmessageshandler.h"
+#include "cphonegeneralgsmmessageshandler.h"
+#include "CPhoneStateMachineGSM.h"
+#include "mock_cphoneviewcommandhandle.h"
+#include "cphonemainresourceresolver.h"
+#include "cphonestate.h"
+#include "TPhoneCmdParamBoolean.h"
+#include "TPhoneCmdParamInteger.h"
+#include "TPhoneCmdParamKeyEvent.h"
+#include "TPhoneCmdParamGlobalNote.h"
+#include "TPhoneCmdParamKeyEvent.h"
+#include "apgtask.h"
+
+// needed for mocking CPhoneMainResourceResolver::Instance()
+class CPhoneMainResourceResolverMock : public CPhoneMainResourceResolver
+    {
+    
+    };
+
+// -----------------------------------------------------------------------------
+// operator for comparing parameter expected and result value.
+// -
+// -----------------------------------------------------------------------------
+//
+// this is set true if there is no need check param id value.
+TBool doNotCheckParamId( EFalse );
+
+TBool operator==(const TPhoneCommandParam& param1, const TPhoneCommandParam& param2 )
+    {
+    TBool ret( ETrue );
+    
+    if ( param1.ParamId() == param2.ParamId() )
+        {
+    
+        if ( TPhoneCommandParam::EPhoneParamIdInteger == param1.ParamId() )
+            {
+            const TPhoneCmdParamInteger  &value1 = static_cast<const TPhoneCmdParamInteger&> (param1);
+            const TPhoneCmdParamInteger  &value2 = static_cast<const TPhoneCmdParamInteger&> (param2);
+            if ( value1.Integer() != value2.Integer() )
+                {
+                ret = EFalse;
+                }
+            }/*
+        else if ( TPhoneCommandParam::EPhoneParamIdKeyEvent == param1.ParamId() )
+            {
+            const TPhoneCmdParamKeyEvent  &value1 = static_cast<const TPhoneCmdParamKeyEvent&> (param1);
+            const TPhoneCmdParamKeyEvent  &value2 = static_cast<const TPhoneCmdParamKeyEvent&> (param2);
+            if ( value1.EventCode() != value2.EventCode() )
+                {
+                ret = EFalse;
+                }
+            }*/
+        else if ( TPhoneCommandParam::EPhoneParamIdGlobalNote == param1.ParamId() )
+            {
+            const TPhoneCmdParamGlobalNote  &value1 = static_cast<const TPhoneCmdParamGlobalNote&> (param1);
+            const TPhoneCmdParamGlobalNote  &value2 = static_cast<const TPhoneCmdParamGlobalNote&> (param2);
+            if ( value1.Type() != value2.Type() )
+                {
+                ret = EFalse;
+                }
+            }
+        else if ( TPhoneCommandParam::EPhoneParamIdBoolean == param1.ParamId() && !doNotCheckParamId )
+            {
+            const TPhoneCmdParamBoolean  &value1 = static_cast<const TPhoneCmdParamBoolean&> (param1);
+            const TPhoneCmdParamBoolean  &value2 = static_cast<const TPhoneCmdParamBoolean&> (param2);
+            if ( value1.Boolean() != value2.Boolean() )
+                {
+                ret = EFalse;
+                }
+            } 
+        else
+            {
+            ret = ETrue;  // just paramiId compared
+            }
+        }
+    return ret;
+    }
+
+// - Construction -----------------------------------------------------------
+
+ut_cphonegeneralgsmmessageshandler* ut_cphonegeneralgsmmessageshandler::NewL()
+    {
+    ut_cphonegeneralgsmmessageshandler* self = ut_cphonegeneralgsmmessageshandler::NewLC();
+    CleanupStack::Pop();
+    return self;
+    }
+
+ut_cphonegeneralgsmmessageshandler* ut_cphonegeneralgsmmessageshandler::NewLC()
+    {
+    ut_cphonegeneralgsmmessageshandler* self = new( ELeave ) ut_cphonegeneralgsmmessageshandler();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+ut_cphonegeneralgsmmessageshandler::~ut_cphonegeneralgsmmessageshandler()
+    {
+    CSmcMockContext::Release();
+    
+    delete iCoeEnvMock;
+    delete iCPhoneMainResourceResolverMock;
+    delete iViewCommandHandleMock;
+    delete iStateMachineMock;
+    }
+
+ut_cphonegeneralgsmmessageshandler::ut_cphonegeneralgsmmessageshandler()
+    {
+    }
+
+void ut_cphonegeneralgsmmessageshandler::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    iMockContext = CSmcMockContext::InstanceL();
+    }
+
+// - Test methods -----------------------------------------------------------
+
+
+
+void ut_cphonegeneralgsmmessageshandler::SetupL(  )
+    {
+    iMockContext->InitializeL();
+    
+    iCoeEnvMock = new ( ELeave ) CCoeEnv();
+    SmcDefaultValue<CCoeEnv*>::SetL( iCoeEnvMock );
+    CleanupResetDefaultValuePushL<SmcDefaultValue<CCoeEnv*> >();
+
+    iCPhoneMainResourceResolverMock = new ( ELeave ) CPhoneMainResourceResolverMock();
+    SmcDefaultValue<CPhoneMainResourceResolver*>::SetL( iCPhoneMainResourceResolverMock );
+    
+    iViewCommandHandleMock = new CPhoneViewCommandHandleMock(); 
+    iStateMachineMock = CPhoneStateMachineGSM::NewL( iViewCommandHandleMock );
+    
+    iMockState = new (ELeave) CPhoneState( iStateMachineMock, NULL, NULL );
+
+    iPhoneGeneralGsmMessagesHandler = CPhoneGeneralGsmMessagesHandler::NewL( 
+        *iStateMachineMock, *iViewCommandHandleMock, *iMockState );
+     
+    }
+    
+void ut_cphonegeneralgsmmessageshandler::Teardown(  )
+    {
+    delete iPhoneGeneralGsmMessagesHandler; 
+    iPhoneGeneralGsmMessagesHandler = NULL;
+    delete iMockState;
+    iMockState = NULL;
+    delete iStateMachineMock;
+    iStateMachineMock = NULL;
+    delete iViewCommandHandleMock;
+    iViewCommandHandleMock = NULL;
+    delete iCPhoneMainResourceResolverMock;
+    iCPhoneMainResourceResolverMock = NULL;
+    delete iCoeEnvMock;
+    iCoeEnvMock = NULL;  
+    CleanupStack::PopAndDestroy();
+    SmcDefaultValue<CPhoneMainResourceResolver*>::Reset();
+    iMockContext->Reset();
+    }
+    
+        
+void ut_cphonegeneralgsmmessageshandler::T_ConstructionL()
+    {
+    // SetupL and Teardown does the test. 
+    }
+    
+void ut_cphonegeneralgsmmessageshandler::T_HandlePhoneEngineMessageL_EPEMessageIssuingSSRequest_L()
+    {
+    iMockContext->ExpectCallL("CPhoneStateMachine::SendPhoneEngineMessage").WithL( MPEPhoneModel::EPEMessageEndDTMF );
+    
+    iMockContext->ExpectCallL("CPhoneViewCommandHandleMock::ExecuteCommandL").
+         WithL( EPhoneViewRemoveQuery );
+         
+    iPhoneGeneralGsmMessagesHandler->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageIssuingSSRequest, -1 );
+    
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );    
+    }
+    
+void ut_cphonegeneralgsmmessageshandler::T_HandlePhoneEngineMessageL_EPEMessageIssuedSSRequest_L()
+    {    
+    iMockContext->ExpectCallL("CPhoneViewCommandHandleMock::ExecuteCommandL").TimesL(0);
+         
+    iPhoneGeneralGsmMessagesHandler->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageIssuedSSRequest, -1 );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );    
+    }
+
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+    ut_cphonegeneralgsmmessageshandler,
+    "Add test suite description here.",
+    "UNIT" )
+    
+EUNIT_TEST(
+    "Construction",
+    "CPhoneGeneralGsmMessagesHandler",
+    "test1",
+    "FUNCTIONALITY",
+    SetupL, T_ConstructionL, Teardown)
+
+EUNIT_TEST(
+    "HandlePhoneEngineMessageL EPEMessageIssuingSSRequest",
+    "CPhoneGeneralGsmMessagesHandler",
+    "test2",
+    "FUNCTIONALITY",
+    SetupL, T_HandlePhoneEngineMessageL_EPEMessageIssuingSSRequest_L, Teardown)
+
+EUNIT_TEST(
+    "HandlePhoneEngineMessageL EPEMessageIssuedSSRequest",
+    "CPhoneGeneralGsmMessagesHandler",
+    "test2",
+    "FUNCTIONALITY",
+    SetupL, T_HandlePhoneEngineMessageL_EPEMessageIssuedSSRequest_L, Teardown)
+
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonegeneralgsmmessageshandler/src/ut_cphonegeneralgsmmessageshandler_DllMain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,35 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+//  EXTERNAL INCLUDES
+#include <CEUnitTestSuite.h>
+#include "ut_cphonegeneralgsmmessageshandler.h"
+
+/**
+* ut_cphonegeneralgsmmessageshandler
+*/
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    CEUnitTestSuite* rootSuite = CEUnitTestSuite::NewLC(_L("ut_cphonegeneralgsmmessageshandler"));
+
+    // Note that NewLC leaves the object in the cleanupstack.
+    rootSuite->AddL( ut_cphonegeneralgsmmessageshandler::NewLC() );
+    CleanupStack::Pop();
+
+    CleanupStack::Pop( rootSuite );
+
+    return rootSuite;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneidle/BWINS/ut_cphoneidleu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneidle/Src/CPhoneIdle_Inherited.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,60 @@
+/*
+* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  CPhoneIdle_Inherited implementation. 
+*
+*/
+
+#include "CPhoneIdle_Inherited.h"
+
+
+CPhoneIdle_Inherited::CPhoneIdle_Inherited(
+    MPhoneStateMachine* aStateMachine, 
+    MPhoneViewCommandHandle* aViewCommandHandle,
+    MPhoneCustomization* aPhoneCustomization )
+    : CPhoneIdle( aStateMachine, aViewCommandHandle, aPhoneCustomization )
+    {
+    // No implementation required
+    }
+
+CPhoneIdle_Inherited::~CPhoneIdle_Inherited()
+    {
+    }
+
+CPhoneIdle_Inherited* CPhoneIdle_Inherited::NewLC(
+    MPhoneStateMachine* aStateMachine, 
+    MPhoneViewCommandHandle* aViewCommandHandle,
+    MPhoneCustomization* aPhoneCustomization )
+    {
+    CPhoneIdle_Inherited* self = new ( ELeave )
+        CPhoneIdle_Inherited( aStateMachine, aViewCommandHandle, aPhoneCustomization );
+    CleanupStack::PushL(self);
+    self->ConstructL();     // base class
+    return self;
+    }
+
+CPhoneIdle_Inherited* CPhoneIdle_Inherited::NewL(
+    MPhoneStateMachine* aStateMachine, 
+    MPhoneViewCommandHandle* aViewCommandHandle,
+    MPhoneCustomization* aPhoneCustomization )
+    {
+    CPhoneIdle_Inherited* self = CPhoneIdle_Inherited::NewLC(
+        aStateMachine, aViewCommandHandle, aPhoneCustomization );
+    CleanupStack::Pop(); // self;
+    return self;
+    }
+
+void CPhoneIdle_Inherited::User_HandleErrorL( const TPEErrorInfo& aErrorInfo )
+    {
+    HandleErrorL(aErrorInfo);
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneidle/Src/CPhoneIdle_Inherited.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,71 @@
+/*
+* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  CPhoneIdle_Inherited declaration. 
+*
+*/
+
+#ifndef CPhoneIdle_Inherited_H
+#define CPhoneIdle_Inherited_H
+
+// INCLUDES
+#include <e32std.h>
+#include "cphoneidle.h"
+
+// CLASS DECLARATION
+
+/**
+ *  CPhoneIdle_Inherited
+ * 
+ */
+class CPhoneIdle_Inherited : public CPhoneIdle
+    {
+public:
+    // Constructors and destructor
+
+    /**
+     * Destructor.
+     */
+    ~CPhoneIdle_Inherited();
+
+    /**
+     * Two-phased constructor.
+     */
+    static CPhoneIdle_Inherited* NewL(
+            MPhoneStateMachine* aStateMachine, 
+            MPhoneViewCommandHandle* aViewCommandHandle,
+            MPhoneCustomization* aPhoneCustomization );
+
+    /**
+     * Two-phased constructor.
+     */
+    static CPhoneIdle_Inherited* NewLC(
+            MPhoneStateMachine* aStateMachine, 
+            MPhoneViewCommandHandle* aViewCommandHandle,
+            MPhoneCustomization* aPhoneCustomization );
+    
+    void User_HandleErrorL( const TPEErrorInfo& aErrorInfo );
+    
+private:
+
+    /**
+     * Constructor for performing 1st stage construction
+     */
+    CPhoneIdle_Inherited(
+            MPhoneStateMachine* aStateMachine, 
+            MPhoneViewCommandHandle* aViewCommandHandle,
+            MPhoneCustomization* aPhoneCustomization );
+
+    };
+
+#endif // CPhoneIdle_Inherited_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneidle/Src/ut_cphoneidle.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,173 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <csmcmockcontext.h>
+#include <smcdefaultvalue.h>
+#include <msmcmockspecbuilder.h>
+#include <smcobjecttotypemapper.h>
+
+#include "ut_cphoneidle.h"
+#include "cphoneidle_inherited.h"
+
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+#include "CPhoneIdle.h"
+#include <featmgr.h>
+#include "PEVirtualEngine.h" 
+#include "CPhoneViewControllerStub.h"
+#include "CPhoneStateMachineStub.h"
+#include "MPhoneKeyEvents.h"
+#include "TPhoneCommandParam.h"
+#include "CPhoneMainResourceResolver.h"
+#include "phonerssbase.h"
+
+
+// - Construction -----------------------------------------------------------
+
+ut_cphoneidle* ut_cphoneidle::NewL()
+    {
+    ut_cphoneidle* self = ut_cphoneidle::NewLC();
+    CleanupStack::Pop();
+    return self;
+    }
+    
+ut_cphoneidle* ut_cphoneidle::NewLC()
+    {
+    ut_cphoneidle* self = new( ELeave ) ut_cphoneidle();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+ut_cphoneidle::~ut_cphoneidle()
+    {
+    CSmcMockContext::Release();
+    }
+
+ut_cphoneidle::ut_cphoneidle()
+    {
+    }
+
+void ut_cphoneidle::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    iMockContext = CSmcMockContext::InstanceL();
+    }
+
+// - Test methods -----------------------------------------------------------
+
+
+
+void ut_cphoneidle::SetupL(  )
+    {
+    iMockContext->InitializeL();
+        
+    iViewCommandHandle = CPhoneViewController::NewL();//TRect() );
+    iStateMachineMock = CPhoneStateMachineStub::NewL();
+    
+    iStateIdle  = CPhoneIdle::NewL(
+            iStateMachineMock, iViewCommandHandle, NULL );
+    
+    iIdleInherited = CPhoneIdle_Inherited::NewL(
+        iStateMachineMock, iViewCommandHandle, NULL);
+    
+    }
+    
+
+void ut_cphoneidle::Teardown(  )
+    {
+    delete CPhoneMainResourceResolver::Instance();
+    delete iStateIdle;
+    delete iIdleInherited;
+    delete iViewCommandHandle;
+    delete iStateMachineMock;
+    
+    iMockContext->Reset();
+    }
+    
+
+void ut_cphoneidle::T_ConstructionL(  )
+    {
+    //empty
+    }
+
+
+void ut_cphoneidle::T_HandlePhoneEngineMessageL(  )
+    {
+    TInt callId(1);
+    iMockContext->ExpectCallL( "CPhoneState::SendGlobalInfoNoteL" ).
+            WithL<TPhoneViewCommandId, TBool> ( EPhoneInformationRemotePutOnHoldNote, ETrue );
+    iStateIdle->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageRemoteHeld, callId );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    
+    iMockContext->ExpectCallL( "CPhoneState::SendGlobalInfoNoteL" ).
+            WithL<TPhoneViewCommandId, TBool> ( EPhoneInformationConnectedNote, ETrue );
+    iStateIdle->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageRemoteResumed, callId );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    
+    iMockContext->ExpectCallL( "CPhoneState::HandleAudioOutputChangedL" ).TimesL(1);
+    iStateIdle->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageAudioOutputChanged, callId );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+        
+    iMockContext->ExpectCallL( "CPhoneGeneralGsmMessagesHandler::NewL" );
+    iMockContext->ExpectCallL( "CPhoneGeneralGsmMessagesHandler::HandlePhoneEngineMessageL" );
+    iStateIdle->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageIssuedSSRequest, callId );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    
+    iMockContext->ExpectCallL( "CPhoneStateIdle::HandlePhoneEngineMessageL" ).
+            WithL<TInt, TInt> ( MEngineMonitor::EPEMessageSecureNotSpecified, callId );
+    iStateIdle->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageSecureNotSpecified, callId );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+void ut_cphoneidle::T_HandleErrorL(  )
+    {
+    TPEErrorInfo aErrorInfo;
+    aErrorInfo.iErrorCode = ECCPErrorCCUserAlertingNoAnswer;
+    iMockContext->ExpectCallL( "CPhoneState::HandleErrorL" ).WithL<TPEErrorInfo>( aErrorInfo );
+    iIdleInherited->User_HandleErrorL( aErrorInfo );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+    ut_cphoneidle,
+    "Add test suite description here.",
+    "UNIT" )
+
+EUNIT_TEST(
+    "Construction",
+    "ut_cphoneidle",
+    "test1",
+    "FUNCTIONALITY",
+    SetupL, T_ConstructionL, Teardown)
+    
+EUNIT_TEST(
+    "T_HandlePhoneEngineMessageL",
+    "ut_cphoneidle",
+    "test2",
+    "FUNCTIONALITY",
+    SetupL, T_HandlePhoneEngineMessageL, Teardown)
+    
+EUNIT_TEST(
+    "T_HandleErrorL",
+    "ut_cphoneidle",
+    "test3",
+    "FUNCTIONALITY",
+    SetupL, T_HandleErrorL, Teardown)
+
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneidle/Src/ut_cphoneidle.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,82 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __UT_CPHONEIDLE_H__
+#define __UT_CPHONEIDLE_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+
+
+
+// FORWARD DECLARATIONS
+class CSmcMockContext;
+class CPhoneIdle;
+class MPhoneStateMachine;
+class CPhoneViewController;
+class CPhoneIdle_Inherited;
+ 
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( ut_cphoneidle )
+    : public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static ut_cphoneidle* NewL();
+        static ut_cphoneidle* NewLC();
+        ~ut_cphoneidle();
+
+    private: // Constructors
+
+        ut_cphoneidle();
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+        
+         void Teardown();
+        
+         void T_ConstructionL();
+         
+         void T_HandlePhoneEngineMessageL();
+         
+         void T_HandleErrorL();
+
+    private: // Data
+   
+      
+        CPhoneIdle * iStateIdle;
+        
+        CSmcMockContext* iMockContext;
+             
+        MPhoneStateMachine* iStateMachineMock;
+ 
+        CPhoneViewController* iViewCommandHandle;
+        
+        CPhoneIdle_Inherited* iIdleInherited;
+ 
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __UT_CPHONEIDLE_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneidle/Src/ut_cphoneidle_DllMain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphoneidle.h"
+#include <CEUnitTestSuite.h>
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return ut_cphoneidle::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneidle/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+PRJ_PLATFORMS
+    WINSCW
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+
+PRJ_TESTMMPFILES
+ut_cphoneidle.mmp
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneidle/group/ut_cphoneidle.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,89 @@
+/*
+* Copyright (c) 2005-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:  
+*
+*/
+
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET          ut_cphoneidle.dll
+TARGETTYPE      dll
+UID             0x1000af5a 0x01700000
+
+CAPABILITY      ALL -TCB
+VENDORID        VID_DEFAULT
+
+// Code under testing.
+SOURCEPATH      ../../../../phoneuistates/src
+SOURCE          cphoneidle.cpp
+
+SOURCEPATH      ../src
+SOURCE          cphoneidle_inherited.cpp
+
+// Sources required by the test suite
+SOURCEPATH      ../Src
+SOURCE          ut_cphoneidle_DllMain.cpp
+
+SOURCEPATH      ../../common
+SOURCE          cphonestatemachinestub.cpp
+SOURCE          phoneuiutils.cpp
+SOURCE          stubs.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuicontrol
+SOURCE          mock_CPhoneStateIdle.cpp
+SOURCE          mock_CPhoneState.cpp
+
+
+SOURCEPATH      ../../../../../internal/mocks/phoneapp/phoneuicontrol
+SOURCE          mock_cphonenumberentrymanager.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuistates
+SOURCE          mock_cphonegeneralgsmmessageshandler.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuiutils
+SOURCE          mock_tphonetouchbuttonconfig.cpp
+SOURCE          mock_cphonestorage.cpp
+  
+SOURCEPATH      ../Src
+SOURCE          ut_cphoneidle.cpp
+
+USERINCLUDE    ../../common
+USERINCLUDE    ../../../../phoneuiview/inc
+USERINCLUDE    ../../../../phoneuicontrol/inc
+USERINCLUDE    ../../../../phoneuistates/inc
+USERINCLUDE    ../../../../phonemediatorcenter/inc
+USERINCLUDE    ../../../../phoneuiutils/inc
+USERINCLUDE    ../../../../phoneui2/srcdata
+USERINCLUDE    ../../../../phoneuiqtviewadapter/inc
+
+ 
+APP_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE   /epoc32/include/Digia/EUnit
+SYSTEMINCLUDE   ../../../../../inc    // phone internal headers
+
+
+LIBRARY         EUnit.lib
+LIBRARY         EUnitUtil.lib
+LIBRARY         euser.lib
+LIBRARY         FeatMgr.lib         // FeatureManager
+LIBRARY         avkon.lib             // AknTextUtils
+LIBRARY         CommonEngine.lib     //StringLoader 
+LIBRARY         cone.lib
+LIBRARY         apgrfx.lib
+LIBRARY         symbianmock.lib
+LIBRARY         efsrv.lib 
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneincoming/BWINS/ut_cphoneincomingu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneincoming/Src/ut_cphoneincoming.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,237 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <csmcmockcontext.h>
+#include <smcdefaultvalue.h>
+#include <msmcmockspecbuilder.h>
+#include <smcobjecttotypemapper.h>
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+#include <featmgr.h>
+#include "CPhoneMainResourceResolver.h"
+#include "CPhoneStateMachineGSM.h"
+#include "mock_cphoneviewcommandhandle.h"
+#include "PEVirtualEngine.h"
+#include "MPhoneKeyEvents.h"
+#include "TPhoneCommandParam.h"
+#include "TPhoneCmdParamCallHeaderData.h"
+#include "TPhoneCmdParamAudioOutput.h"
+#include "cpeengineinfo.h"
+#include "phonerssbase.h"
+#include "phonestatedefinitionsgsm.h"
+#include "TPhoneCmdParamInteger.h"
+#include "TPhoneCmdParamCallStateData.h"
+#include "TelephonyVariant.hrh"
+
+#include "CPhoneIncoming.h"
+#include "ut_cphoneincoming.h"
+
+// needed for mocking CPhoneMainResourceResolver::Instance()
+class CPhoneMainResourceResolverMock : public CPhoneMainResourceResolver
+    {
+    };
+
+// -----------------------------------------------------------------------------
+// operator for comparing parameter expected and result value.
+// -
+// -----------------------------------------------------------------------------
+//
+TBool operator==(const TPhoneCommandParam& param1, const TPhoneCommandParam& param2 )
+    {
+    TBool ret( ETrue );
+
+    if ( param1.ParamId() == param2.ParamId() )
+        {
+    
+        if ( TPhoneCommandParam::EPhoneParamIdInteger == param1.ParamId() )
+            {
+            const TPhoneCmdParamInteger  &value1 = static_cast<const TPhoneCmdParamInteger&> (param1);
+            const TPhoneCmdParamInteger  &value2 = static_cast<const TPhoneCmdParamInteger&> (param2);
+            if ( value1.Integer() != value2.Integer() )
+                {
+                ret = EFalse;
+                }
+            }
+        else
+            {
+            ret = ETrue;  // just paramiId compared
+            }
+        }
+    return ret;
+    }
+
+
+// - Construction -----------------------------------------------------------
+
+ut_cphoneincoming* ut_cphoneincoming::NewL()
+    {
+    ut_cphoneincoming* self = ut_cphoneincoming::NewLC();
+    CleanupStack::Pop();
+    return self;
+    }
+    
+ut_cphoneincoming* ut_cphoneincoming::NewLC()
+    {
+    ut_cphoneincoming* self = new( ELeave ) ut_cphoneincoming();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+ut_cphoneincoming::~ut_cphoneincoming()
+    {
+    CSmcMockContext::Release();
+    }
+
+ut_cphoneincoming::ut_cphoneincoming()
+    {
+    }
+
+void ut_cphoneincoming::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    iMockContext = CSmcMockContext::InstanceL();
+    }
+
+// - Test methods -----------------------------------------------------------
+
+
+
+void ut_cphoneincoming::SetupL(  )
+    {
+    iMockContext->InitializeL();
+
+    iCPhoneMainResourceResolverMock = new ( ELeave ) CPhoneMainResourceResolverMock();
+          SmcDefaultValue<CPhoneMainResourceResolver*>::SetL( iCPhoneMainResourceResolverMock );
+
+    iViewCmdHandleMock = new CPhoneViewCommandHandleMock();
+
+    iStateMachineMock = CPhoneStateMachineGSM::NewL( iViewCmdHandleMock );
+
+    iStateIncoming  = CPhoneIncoming::NewL(
+                iStateMachineMock, iViewCmdHandleMock, NULL );
+
+    iEngineInfoMock = CPEEngineInfo::NewL();
+    SmcDefaultValue<MPEEngineInfo*>::SetL( iEngineInfoMock );
+
+    SmcDefaultValue<TPESimState>::SetL( EPESimUsable );
+    SmcDefaultValue<const TPEAudioOutput&>::SetL( EPENotActive );
+
+    }
+
+
+void ut_cphoneincoming::Teardown(  )
+    {
+    delete iViewCmdHandleMock;
+        iViewCmdHandleMock = NULL;
+    delete iStateIncoming;
+        iStateIncoming = NULL;
+    delete iStateMachineMock;
+        iStateMachineMock = NULL;
+    delete iEngineInfoMock;
+        iEngineInfoMock = NULL;
+    delete iCPhoneMainResourceResolverMock;
+        iCPhoneMainResourceResolverMock = NULL;
+
+    SmcDefaultValue<TPESimState>::Reset();
+    SmcDefaultValue<const TPEAudioOutput&>::Reset();
+
+    iMockContext->Reset();
+    }
+   
+
+// -----------------------------------------------------------------------------
+// Test ss request
+// -check commands
+// -----------------------------------------------------------------------------
+//  
+void ut_cphoneincoming::T_HandleWaiting()
+    {     
+    iMockContext->ExpectCallL( "TPhoneCmdParamCallStateData::CallId" ).
+        ReturnsL( 1 );
+    iMockContext->ExpectCallL( "CPhoneStateMachine::ChangeState" ).
+        WithL( EPhoneStateWaitingInSingle );
+
+    iStateIncoming->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageIncoming, 2 ); 
+    iStateIncoming->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageConnected,1 ); 
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+        
+    }
+
+// -----------------------------------------------------------------------------
+// Test error handling
+// -check commands
+// -----------------------------------------------------------------------------
+//  
+void ut_cphoneincoming::T_HandleError_IsNotForwardedToBaseClassL()
+    {
+    TPEErrorInfo aErrorInfo;
+    aErrorInfo.iErrorCode = ECCPErrorCCUserAlertingNoAnswer;
+    iMockContext->ExpectCallL( "CPhoneState::HandleErrorL" ).
+        TimesL( 0 );
+     
+    iStateIncoming->HandleErrorL( aErrorInfo );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+// -----------------------------------------------------------------------------
+// Test error handling
+// -check commands
+// -----------------------------------------------------------------------------
+//  
+void ut_cphoneincoming::T_HandleError_ForwardedToBaseClassL()
+    {
+    TPEErrorInfo aErrorInfo;
+    aErrorInfo.iErrorCode = ECCPErrorCCCallRejected;
+    iMockContext->ExpectCallL( "CPhoneState::HandleErrorL" ).
+        TimesL( 1 );
+     
+    iStateIncoming->HandleErrorL( aErrorInfo );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+    ut_cphoneincoming,
+    "Add test suite description here.",
+    "UNIT" )
+
+EUNIT_TEST(
+    "1- Test waiting",
+    "",
+    "Test1",
+    "FUNCTIONALITY",
+    SetupL, T_HandleWaiting, Teardown)
+    
+EUNIT_TEST(
+    "2- Test error",
+    "",
+    "Test2",
+    "FUNCTIONALITY",
+    SetupL, T_HandleError_IsNotForwardedToBaseClassL, Teardown)
+
+EUNIT_TEST(
+    "3- Test error",
+    "",
+    "Test3",
+    "FUNCTIONALITY",
+    SetupL, T_HandleError_ForwardedToBaseClassL, Teardown)
+    
+    
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneincoming/Src/ut_cphoneincoming.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,88 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __UT_CPHONEINCOMING_H__
+#define __UT_CPHONEINCOMING_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+
+
+
+// FORWARD DECLARATIONS
+class CSmcMockContext;
+class CPhoneStateMachineGSM;
+class CPhoneViewCommandHandleMock;
+class CPhoneMainResourceResolverMock;
+class CPEEngineInfo;
+class MPhoneViewCommandHandle;
+class TPhoneCommandParam;
+class CPhoneIncoming;
+
+TBool operator==(const TPhoneCommandParam& param1, const TPhoneCommandParam& param2 );
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( ut_cphoneincoming )
+    : public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static ut_cphoneincoming* NewL();
+        static ut_cphoneincoming* NewLC();
+        ~ut_cphoneincoming();
+
+    private: // Constructors
+
+        ut_cphoneincoming();
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+        
+         void Teardown();
+        
+         void T_HandleWaiting();
+         
+         void T_HandleError_IsNotForwardedToBaseClassL();
+         
+         void T_HandleError_ForwardedToBaseClassL();
+
+    private: // Data
+   
+        MPhoneViewCommandHandle* iViewCmdHandleMock;
+
+        CPhoneStateMachineGSM* iStateMachineMock;
+        
+        CSmcMockContext* iMockContext;
+        
+        CPhoneMainResourceResolverMock* iCPhoneMainResourceResolverMock;
+        
+        CPEEngineInfo* iEngineInfoMock;
+        
+        CPhoneIncoming * iStateIncoming;
+        
+   
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __UT_CPHONEINCOMING_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneincoming/Src/ut_cphoneincoming_DllMain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphoneincoming.h"
+#include <CEUnitTestSuite.h>
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return ut_cphoneincoming::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneincoming/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+PRJ_PLATFORMS
+    WINSCW
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+
+PRJ_TESTMMPFILES
+ut_cphoneincoming.mmp
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphoneincoming/group/ut_cphoneincoming.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,113 @@
+/*
+* Copyright (c) 2005-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:  
+*
+*/
+
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET          ut_cphoneincoming.dll
+TARGETTYPE      dll
+UID             0x1000af5a 0x01700000
+
+CAPABILITY      ALL -TCB
+VENDORID        VID_DEFAULT
+
+SOURCEPATH        ../../../../internal/mocks/phoneuicontrol
+SOURCE            mock_CPhoneState.cpp
+SOURCE            mock_cphonestateincall.cpp
+SOURCE            mock_cphonestatemachine.cpp
+SOURCE            mock_CPhoneStateIncoming.cpp
+
+SOURCEPATH        ../../../../../internal/mocks/phoneapp/phoneuicontrol
+SOURCE            mock_cphonenumberentrymanager.cpp
+
+SOURCEPATH        ../../../../internal/mocks/phoneuistates
+SOURCE            mock_cphonegsmincall.cpp
+SOURCE            mock_cphonestatemachinegsm.cpp
+//SOURCE          mock_cphonegeneralgsmmessageshandler.cpp
+
+SOURCEPATH        ../../../../internal/mocks/phoneuiutils
+SOURCE            mock_cphonelogger.cpp
+SOURCE            mock_cphonepubsubproxy.cpp
+SOURCE            mock_cphonemainresourceresolver.cpp
+SOURCE            mock_cphonekeys.cpp
+SOURCE            mock_cphonecenrepproxy.cpp
+SOURCE            mock_tphonecmdparamcallstatedata.cpp
+
+SOURCEPATH        ../../../../internal/mocks/phoneuiview
+SOURCE            mock_cphoneviewcommandhandle.cpp
+
+SOURCEPATH        ../../../../../internal/mocks/eikmenupane
+SOURCE            mock_coemain.cpp
+SOURCE            mock_coecntrl.cpp
+SOURCE            mock_eikenv.cpp
+SOURCE            mock_eikvcurs.cpp
+
+SOURCEPATH      ../../../../../internal/mocks/phoneengine/engineinfo
+SOURCE          mock_cpeengineinfoimpl.cpp
+
+SOURCEPATH      ../../../../../phoneengine/engineinfo/src
+SOURCE          cpeengineinfo.cpp
+
+SOURCEPATH        ../../../../internal/mocks/
+SOURCE            mock_featmgr.cpp
+SOURCE            mock_StringLoader.cpp
+
+  
+SOURCEPATH      ../Src
+SOURCE          ut_cphoneincoming.cpp
+
+SOURCEPATH        ../../../../phoneuistates/src
+SOURCE            CPhoneIncoming.cpp
+SOURCE            cphonegeneralgsmmessageshandler.cpp
+
+// Sources required by the test suite
+SOURCEPATH      ../Src
+SOURCE          ut_cphoneincoming_DllMain.cpp
+
+ 
+USERINCLUDE    ../../../../../phoneengine/engineinfo/inc
+USERINCLUDE    ../../../../phoneuiview/inc
+USERINCLUDE    ../../../../phoneuicontrol/inc
+USERINCLUDE    ../../../../phoneuistates/inc
+USERINCLUDE    ../../../../phonemediatorcenter/inc
+USERINCLUDE    ../../../../phoneuiutils/inc
+USERINCLUDE    ../../../../phoneui2/srcdata
+USERINCLUDE    ../../../../phoneuiqtviewadapter/inc
+USERINCLUDE    ../../../../internal/mocks/phoneuiview
+
+ 
+APP_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE    /epoc32/include/Digia/EUnit
+SYSTEMINCLUDE    ../../../../../inc    // phone internal headers
+
+
+LIBRARY         EUnit.lib
+LIBRARY         EUnitUtil.lib
+LIBRARY         euser.lib
+LIBRARY         avkon.lib         // AknTextUtils
+LIBRARY         cone.lib
+LIBRARY         phoneuiutils.lib
+LIBRARY         apgrfx.lib
+LIBRARY         symbianmock.lib
+LIBRARY         efsrv.lib
+LIBRARY         ws32.lib         // RWsSession
+LIBRARY         gdi.lib          // TZoomFactor
+LIBRARY         bafl.lib         // CBaActiveScheduler
+ 
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonesingleandalerting/BWINS/ut_cphonesingleandalertingu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonesingleandalerting/Src/ut_cphonesingleandalerting.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,115 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphonesingleandalerting.h"
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+#include <featmgr.h>
+#include "CPhoneSingleAndAlerting.h"
+#include "PEVirtualEngine.h" 
+#include "CPhoneViewControllerStub.h"
+#include "CPhoneStateMachineStub.h"
+#include "MPhoneKeyEvents.h"
+#include "TPhoneCommandParam.h"
+#include "CPhoneMainResourceResolver.h"
+
+
+// - Construction -----------------------------------------------------------
+
+ut_cphonesingleandalerting* ut_cphonesingleandalerting::NewL()
+    {
+    ut_cphonesingleandalerting* self = ut_cphonesingleandalerting::NewLC();
+    CleanupStack::Pop();
+    return self;
+    }
+    
+    ut_cphonesingleandalerting* ut_cphonesingleandalerting::NewLC()
+    {
+    ut_cphonesingleandalerting* self = new( ELeave ) ut_cphonesingleandalerting();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+ut_cphonesingleandalerting::~ut_cphonesingleandalerting()
+    {
+    }
+
+ut_cphonesingleandalerting::ut_cphonesingleandalerting()
+    {
+    }
+
+void ut_cphonesingleandalerting::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    }
+
+// - Test methods -----------------------------------------------------------
+
+
+
+void ut_cphonesingleandalerting::SetupL(  )
+    {
+    iViewCommandHandle = CPhoneViewController::NewL();
+    iStateMachine = CPhoneStateMachineStub::NewL(); 
+    iViewCommandHandle->iCallId = 2; 
+    
+    iStateSingleAndAlerting  = CPhoneSingleAndAlerting::NewL(
+           iStateMachine, iViewCommandHandle, NULL );
+    
+    }
+    
+
+void ut_cphonesingleandalerting::Teardown(  )
+    {
+    delete CPhoneMainResourceResolver::Instance();
+    delete iStateSingleAndAlerting;
+    delete iViewCommandHandle;
+    delete iStateMachine;
+    }
+ 
+// -----------------------------------------------------------------------------
+// Test  conference idle
+// -check commands
+// -----------------------------------------------------------------------------
+//  
+void ut_cphonesingleandalerting::TestCallHeaderIsRemovedWhenCallGoesIdleL( )
+    {
+    
+    iViewCommandHandle->SetViewGetCountOfActiveCalls(1);
+    
+    iStateSingleAndAlerting->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageIdle, 0 );
+   
+    iViewCommandHandle->VerifyViewCommand(EPhoneViewRemoveCallHeader);
+          
+    }
+
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+        ut_cphonesingleandalerting,
+    "Add test suite description here.",
+    "UNIT" )
+     
+EUNIT_TEST(
+    "1- CPhoneSingleAndAlerting: Test idle",
+    "",
+    "Test0",
+    "FUNCTIONALITY",
+    SetupL, TestCallHeaderIsRemovedWhenCallGoesIdleL, Teardown)    
+    
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonesingleandalerting/Src/ut_cphonesingleandalerting.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,70 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __UT_CPHONESINGLEANDALERTING_H__
+#define __UT_CPHONESINGLEANDALERTING_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+
+
+
+// FORWARD DECLARATIONS
+class CPhoneSingleAndAlerting;
+class CPhoneStateMachineStub;
+class CPhoneViewController;
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( ut_cphonesingleandalerting )
+    : public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static ut_cphonesingleandalerting* NewL();
+        static ut_cphonesingleandalerting* NewLC();
+        ~ut_cphonesingleandalerting();
+
+    private: // Constructors
+
+        ut_cphonesingleandalerting();
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+        
+         void Teardown();
+          
+         void TestCallHeaderIsRemovedWhenCallGoesIdleL();
+
+    private: // Data
+   
+        CPhoneViewController* iViewCommandHandle;
+                        
+        CPhoneStateMachineStub* iStateMachine; 
+                    
+        CPhoneSingleAndAlerting * iStateSingleAndAlerting;
+
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __UT_CPHONESINGLEANDALERTING_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonesingleandalerting/Src/ut_cphonesingleandalerting_DllMain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphonesingleandalerting.h"
+#include <CEUnitTestSuite.h>
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return ut_cphonesingleandalerting::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonesingleandalerting/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+PRJ_PLATFORMS
+    WINSCW
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+
+PRJ_TESTMMPFILES
+ut_cphonesingleandalerting.mmp
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonesingleandalerting/group/ut_cphonesingleandalerting.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,77 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET          ut_cphonesingleandalerting.dll
+TARGETTYPE      dll
+UID             0x1000af5a 0x01700000
+
+CAPABILITY      ALL -TCB
+VENDORID        VID_DEFAULT
+
+SOURCEPATH      ../../common
+SOURCE          cphonestatemachinestub.cpp
+SOURCE          cphonestateincallstub.cpp
+SOURCE          cphonegsmincallstub.cpp
+SOURCE          cphonestatestub.cpp 
+SOURCE          phoneuiutils.cpp
+SOURCE          stubs.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuiutils
+SOURCE          mock_tphonetouchbuttonconfig.cpp
+
+SOURCEPATH      ../src
+SOURCE          ut_cphonesingleandalerting.cpp
+
+SOURCEPATH      ../../../../phoneuistates/src
+SOURCE          cphonesingleandalerting.cpp
+SOURCE          cphonealerting.cpp
+
+SOURCEPATH      ../../../../../internal/mocks/phoneapp/phoneuicontrol
+SOURCE          mock_cphonenumberentrymanager.cpp
+ 
+
+// Sources required by the test suite
+SOURCEPATH      ../src
+SOURCE          ut_cphonesingleandalerting_DllMain.cpp
+
+USERINCLUDE    ../../common
+USERINCLUDE    ../../../../phoneuicontrol/inc
+USERINCLUDE    ../../../../phoneuistates/inc
+USERINCLUDE    ../../../../phonemediatorcenter/inc
+USERINCLUDE    ../../../../phoneuiutils/inc
+USERINCLUDE    ../../../../phoneui2/srcdata
+USERINCLUDE    ../../../../phoneuiqtviewadapter/inc
+
+ 
+APP_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE   /epoc32/include/Digia/EUnit
+SYSTEMINCLUDE   ../../../../../inc
+
+
+LIBRARY         EUnit.lib
+LIBRARY         EUnitUtil.lib
+LIBRARY         euser.lib
+LIBRARY         FeatMgr.lib         // FeatureManager
+LIBRARY         avkon.lib             // AknTextUtils
+LIBRARY         CommonEngine.lib     //StringLoader 
+LIBRARY         cone.lib
+LIBRARY         symbianmock.lib
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonesingleandwaiting/BWINS/ut_cphonesingleandwaitingu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonesingleandwaiting/Src/ut_cphonesingleandwaiting.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,210 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <csmcmockcontext.h>
+#include <smcdefaultvalue.h>
+#include <msmcmockspecbuilder.h>
+#include <smcobjecttotypemapper.h>
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+#include <featmgr.h>
+#include "ut_cphonesingleandwaiting.h"
+#include "CPhoneEmergency.h"
+#include "CPhoneMainResourceResolver.h"
+#include "CPhoneStateMachineGSM.h"
+#include "mock_cphoneviewcommandhandle.h"
+#include "PEVirtualEngine.h"
+#include "MPhoneKeyEvents.h"
+#include "TPhoneCommandParam.h"
+#include "TPhoneCmdParamCallHeaderData.h"
+#include "TPhoneCmdParamAudioOutput.h"
+#include "cpeengineinfo.h"
+#include "phonerssbase.h"
+#include "phonestatedefinitionsgsm.h"
+#include "TPhoneCmdParamInteger.h"
+
+#include "TPhoneCmdParamCallHeaderData.h"
+#include "TPhoneCmdParamCallStateData.h"
+
+// needed for mocking CPhoneMainResourceResolver::Instance()
+class CPhoneMainResourceResolverMock : public CPhoneMainResourceResolver
+    {
+    };
+
+// -----------------------------------------------------------------------------
+// operator for comparing parameter expected and result value.
+// -
+// -----------------------------------------------------------------------------
+//
+TBool operator==(const TPhoneCommandParam& param1, const TPhoneCommandParam& param2 )
+    {
+    TBool ret( ETrue );
+
+    if ( param1.ParamId() == param2.ParamId() )
+        {
+        if ( TPhoneCommandParam::EPhoneParamIdBoolean == param1.ParamId() )
+            {
+            const TPhoneCmdParamBoolean  &value1 = static_cast<const TPhoneCmdParamBoolean&> (param1);
+            const TPhoneCmdParamBoolean  &value2 = static_cast<const TPhoneCmdParamBoolean&> (param2);
+            if (  value1.Boolean() != value2.Boolean() )
+                {
+                ret = EFalse;
+                }
+            }
+        else if ( TPhoneCommandParam::EPhoneParamIdInteger == param1.ParamId() )
+            {
+            const TPhoneCmdParamInteger  &value1 = static_cast<const TPhoneCmdParamInteger&> (param1);
+            const TPhoneCmdParamInteger  &value2 = static_cast<const TPhoneCmdParamInteger&> (param2);
+            if ( value1.Integer() != value2.Integer() )
+                {
+                ret = EFalse;
+                }
+            }
+        else
+            {
+            ret = ETrue;  // just paramiId compared
+            }
+        }
+    return ret;
+    }
+
+// - Construction -----------------------------------------------------------
+
+ut_cphonesingleandwaiting* ut_cphonesingleandwaiting::NewL()
+    {
+    ut_cphonesingleandwaiting* self = ut_cphonesingleandwaiting::NewLC();
+    CleanupStack::Pop();
+    return self;
+    }
+
+ut_cphonesingleandwaiting* ut_cphonesingleandwaiting::NewLC()
+    {
+    ut_cphonesingleandwaiting* self = new( ELeave ) ut_cphonesingleandwaiting();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+ut_cphonesingleandwaiting::~ut_cphonesingleandwaiting()
+    {
+    CSmcMockContext::Release();
+    }
+
+ut_cphonesingleandwaiting::ut_cphonesingleandwaiting()
+    {
+    }
+
+void ut_cphonesingleandwaiting::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    iMockContext = CSmcMockContext::InstanceL();
+    }
+
+// - Test methods -----------------------------------------------------------
+
+
+
+void ut_cphonesingleandwaiting::SetupL(  )
+    {
+    iMockContext->InitializeL();
+
+    iCPhoneMainResourceResolverMock = new ( ELeave ) CPhoneMainResourceResolverMock();
+          SmcDefaultValue<CPhoneMainResourceResolver*>::SetL( iCPhoneMainResourceResolverMock );
+
+    iViewCmdHandleMock = new CPhoneViewCommandHandleMock();
+
+    iStateMachineMock = CPhoneStateMachineGSM::NewL( iViewCmdHandleMock );
+
+     
+    iState  = CPhoneSingleAndWaiting::NewL(
+            iStateMachineMock, iViewCmdHandleMock, NULL );
+
+    iEngineInfoMock = CPEEngineInfo::NewL();
+    SmcDefaultValue<MPEEngineInfo*>::SetL( iEngineInfoMock );
+
+    SmcDefaultValue<TPESimState>::SetL( EPESimUsable );
+    SmcDefaultValue<const TPEAudioOutput&>::SetL( EPENotActive );
+
+    }
+
+
+void ut_cphonesingleandwaiting::Teardown(  )
+    {
+    delete iState;
+        iState = NULL;
+    delete iViewCmdHandleMock;
+        iViewCmdHandleMock = NULL;
+    delete iStateMachineMock;
+        iStateMachineMock = NULL;
+    delete iEngineInfoMock;
+        iEngineInfoMock = NULL;
+    delete iCPhoneMainResourceResolverMock;
+        iCPhoneMainResourceResolverMock = NULL;
+
+    SmcDefaultValue<TPESimState>::Reset();
+    SmcDefaultValue<const TPEAudioOutput&>::Reset();
+
+    iMockContext->Reset();
+    }
+
+
+// - Test methods -----------------------------------------------------------
+
+void ut_cphonesingleandwaiting::TestBubbleAndUICommandsAreUpdatedWhenCallIsPutToHoldL()
+    {
+    TInt callId( 1 );
+    iMockContext->ExpectCallL("CPhoneState::UpdateUiCommands");
+    iMockContext->ExpectCallL("CPhoneViewCommandHandleMock::ExecuteCommandL").
+        WithL<TPhoneViewCommandId,TInt>(EPhoneViewUpdateBubble, callId);
+    
+    iState->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageHeld, callId );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+void ut_cphonesingleandwaiting::TestBubbleAndUICommandsAreUpdatedWhenCallIsResumedL()
+    {
+    TInt callId( 0 );
+    iMockContext->ExpectCallL("CPhoneState::UpdateUiCommands");
+    iMockContext->ExpectCallL("CPhoneViewCommandHandleMock::ExecuteCommandL").
+        WithL<TPhoneViewCommandId,TInt>(EPhoneViewUpdateBubble, callId);
+    
+    iState->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageConnected, callId );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+    ut_cphonesingleandwaiting,
+    "Add test suite description here.",
+    "UNIT" )
+
+EUNIT_TEST(
+    "Test bubble and ui commands are updated when call is put to hold",
+    "",
+    "",
+    "FUNCTIONALITY",
+    SetupL, TestBubbleAndUICommandsAreUpdatedWhenCallIsPutToHoldL, Teardown)
+    
+EUNIT_TEST(
+    "Test bubble and ui commands are updated when call is resumed",
+    "",
+    "",
+    "FUNCTIONALITY",
+    SetupL, TestBubbleAndUICommandsAreUpdatedWhenCallIsResumedL, Teardown)
+
+    
+ EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonesingleandwaiting/Src/ut_cphonesingleandwaiting.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,82 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __UT_CPHONESINGLEANDWAITING_H__
+#define __UT_CPHONESINGLEANDWAITING_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+#include "CPhoneSingleAndWaiting.h"
+
+// FORWARD DECLARATIONS
+class CSmcMockContext;
+class CPhoneStateMachineGSM;
+class CPhoneViewCommandHandleMock;
+class CPhoneMainResourceResolverMock;
+class CPEEngineInfo;
+class MPhoneViewCommandHandle;
+class TPhoneCommandParam;
+class CPhoneSingleAndWaiting;
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( ut_cphonesingleandwaiting )
+    : public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static ut_cphonesingleandwaiting* NewL();
+        static ut_cphonesingleandwaiting* NewLC();
+        ~ut_cphonesingleandwaiting();
+
+    private: // Constructors
+
+        ut_cphonesingleandwaiting();
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+        
+         void Teardown();
+         
+         void T_HandleIdle();
+         
+         void TestBubbleAndUICommandsAreUpdatedWhenCallIsPutToHoldL();
+         void TestBubbleAndUICommandsAreUpdatedWhenCallIsResumedL();
+
+    private: // Data
+   
+        MPhoneViewCommandHandle* iViewCmdHandleMock;
+
+        CPhoneStateMachineGSM* iStateMachineMock;
+
+        CSmcMockContext* iMockContext;
+
+        CPhoneMainResourceResolverMock* iCPhoneMainResourceResolverMock;
+
+        CPEEngineInfo* iEngineInfoMock;
+              
+        CPhoneSingleAndWaiting* iState;            
+
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __UT_CPHONESINGLEANDWAITING_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonesingleandwaiting/Src/ut_cphonesingleandwaiting_DllMain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphonesingleandwaiting.h"
+#include <CEUnitTestSuite.h>
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return ut_cphonesingleandwaiting::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonesingleandwaiting/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+PRJ_PLATFORMS
+    WINSCW
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+
+PRJ_TESTMMPFILES
+ut_cphonesingleandwaiting.mmp
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonesingleandwaiting/group/ut_cphonesingleandwaiting.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,106 @@
+/*
+* Copyright (c) 2005-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:  
+*
+*/
+
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET          ut_cphonesingleandwaiting.dll
+TARGETTYPE      dll
+UID             0x1000af5a 0x01700000
+
+CAPABILITY      ALL -TCB
+VENDORID        VID_DEFAULT
+ 
+SOURCEPATH      ../../../../../internal/mocks/phoneengine/engineinfo
+SOURCE          mock_cpeengineinfoimpl.cpp
+
+SOURCEPATH      ../../../../../phoneengine/engineinfo/src
+SOURCE          cpeengineinfo.cpp
+ 
+SOURCEPATH      ../../../../internal/mocks/phoneuicontrol
+SOURCE          mock_cphonestate.cpp
+SOURCE          mock_cphonestateincall.cpp
+SOURCE          mock_cphonestatemachine.cpp
+
+SOURCEPATH      ../../../../../internal/mocks/phoneapp/phoneuicontrol
+SOURCE          mock_cphonenumberentrymanager.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuistates
+SOURCE          mock_cphonestatemachinegsm.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuiutils
+SOURCE          mock_cphonelogger.cpp
+SOURCE          mock_cphonepubsubproxy.cpp
+SOURCE          mock_cphonemainresourceresolver.cpp
+SOURCE          mock_cphonekeys.cpp
+SOURCE          mock_tphonecmdparamcallstatedata.cpp
+SOURCE          mock_tphonecmdparamcallheaderdata.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuiview
+SOURCE          mock_cphoneviewcommandhandle.cpp
+
+SOURCEPATH      ../../../../../internal/mocks/eikmenupane
+SOURCE          mock_coemain.cpp
+SOURCE          mock_coecntrl.cpp
+
+SOURCEPATH      ../../../../internal/mocks/
+SOURCE          mock_featmgr.cpp
+SOURCE          mock_StringLoader.cpp
+
+SOURCEPATH      ../src
+SOURCE          ut_cphonesingleandwaiting.cpp
+
+SOURCEPATH      ../../../src        // phoneuistates src
+SOURCE          cphonesingleandwaiting.cpp
+SOURCE          cphonegeneralgsmmessageshandler.cpp
+SOURCE          cphonegsmincall.cpp
+
+// Sources required by the test suite
+SOURCEPATH      ../src
+SOURCE          ut_cphonesingleandwaiting_dllmain.cpp
+
+USERINCLUDE    ../../../../../phoneengine/engineinfo/inc
+USERINCLUDE    ../../../../phoneuiview/inc
+USERINCLUDE    ../../../../phoneuicontrol/inc
+USERINCLUDE    ../../../../phoneuistates/inc
+USERINCLUDE    ../../../../phonemediatorcenter/inc
+USERINCLUDE    ../../../../phoneuiutils/inc
+USERINCLUDE    ../../../../phoneui2/srcdata
+USERINCLUDE    ../../../../phoneuiqtviewadapter/inc
+USERINCLUDE    ../../../../internal/mocks/phoneuiview
+ 
+APP_LAYER_SYSTEMINCLUDE
+
+SYSTEMINCLUDE    /epoc32/include/Digia/EUnit
+SYSTEMINCLUDE    ../../../../../inc        // phone inc
+
+
+LIBRARY         EUnit.lib
+LIBRARY         EUnitUtil.lib
+LIBRARY         euser.lib
+LIBRARY         avkon.lib         // AknTextUtils
+LIBRARY         cone.lib
+LIBRARY         phoneuiutils.lib
+LIBRARY         apgrfx.lib
+LIBRARY         symbianmock.lib
+LIBRARY         efsrv.lib
+LIBRARY         ws32.lib         // RWsSession
+LIBRARY         gdi.lib          // TZoomFactor
+LIBRARY         bafl.lib         // CBaActiveScheduler
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonesinglecall/BWINS/ut_cphonesinglecallu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonesinglecall/Src/ut_cphonesinglecall.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,156 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <csmcmockcontext.h>
+#include <smcdefaultvalue.h>
+#include <msmcmockspecbuilder.h>
+#include <smcobjecttotypemapper.h>
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+#include <featmgr.h>
+#include "ut_cphonesinglecall.h"
+#include "CPhoneMainResourceResolver.h"
+#include "CPhoneStateMachineGSM.h"
+#include "mock_cphoneviewcommandhandle.h"
+#include "PEVirtualEngine.h"
+#include "MPhoneKeyEvents.h"
+#include "TPhoneCommandParam.h"
+#include "TPhoneCmdParamCallHeaderData.h"
+#include "TPhoneCmdParamAudioOutput.h"
+#include "cpeengineinfoimpl.h"
+#include "phonerssbase.h"
+#include "phonestatedefinitionsgsm.h"
+#include "TPhoneCmdParamInteger.h"
+#include "CPhoneSingleCall.h"
+
+// needed for mocking CPhoneMainResourceResolver::Instance()
+class CPhoneMainResourceResolverMock : public CPhoneMainResourceResolver
+    {
+    };
+
+// - Construction -----------------------------------------------------------
+
+ut_cphonesinglecall* ut_cphonesinglecall::NewL()
+    {
+    ut_cphonesinglecall* self = ut_cphonesinglecall::NewLC();
+    CleanupStack::Pop();
+    return self;
+    }
+
+ut_cphonesinglecall* ut_cphonesinglecall::NewLC()
+    {
+    ut_cphonesinglecall* self = new( ELeave ) ut_cphonesinglecall();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+ut_cphonesinglecall::~ut_cphonesinglecall()
+    {
+    CSmcMockContext::Release();
+    }
+
+ut_cphonesinglecall::ut_cphonesinglecall()
+    {
+    }
+
+void ut_cphonesinglecall::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    iMockContext = CSmcMockContext::InstanceL();
+    }
+
+// - Test methods -----------------------------------------------------------
+
+
+
+void ut_cphonesinglecall::SetupL(  )
+    {
+    iMockContext->InitializeL();
+
+    iCPhoneMainResourceResolverMock = new ( ELeave ) CPhoneMainResourceResolverMock();
+          SmcDefaultValue<CPhoneMainResourceResolver*>::SetL( iCPhoneMainResourceResolverMock );
+
+    iViewCmdHandleMock = new CPhoneViewCommandHandleMock();
+
+    iStateMachineMock = CPhoneStateMachineGSM::NewL( iViewCmdHandleMock );
+
+    iStateSingleCall  = CPhoneSingleCall::NewL(
+            iStateMachineMock, iViewCmdHandleMock, NULL );
+
+    iEngineInfoMock = CPEEngineInfoImpl::NewL();
+    SmcDefaultValue<MPEEngineInfo*>::SetL( iEngineInfoMock );
+
+    SmcDefaultValue<TPESimState>::SetL( EPESimUsable );
+    SmcDefaultValue<const TPEAudioOutput&>::SetL( EPENotActive );
+
+    }
+
+void ut_cphonesinglecall::Teardown(  )
+    {
+    delete iViewCmdHandleMock;
+        iViewCmdHandleMock = NULL;
+    delete iStateSingleCall;
+        iStateSingleCall = NULL;
+    delete iStateMachineMock;
+        iStateMachineMock = NULL;
+    delete iEngineInfoMock;
+        iEngineInfoMock = NULL;
+    delete iCPhoneMainResourceResolverMock;
+        iCPhoneMainResourceResolverMock = NULL;
+
+    SmcDefaultValue<TPESimState>::Reset();
+    SmcDefaultValue<const TPEAudioOutput&>::Reset();
+
+    iMockContext->Reset();
+    }
+
+// -----------------------------------------------------------------------------
+// Test  conference idle
+// -check commands
+// -----------------------------------------------------------------------------
+//  
+void ut_cphonesinglecall::T_HandleConnectedL( )
+    {
+    const TInt callId( 0 );
+    iMockContext->ExpectCallL("CPhoneState::UpdateUiCommands");
+    iMockContext->ExpectCallL("CPhoneViewCommandHandleMock::ExecuteCommandL").
+        WithL<TPhoneViewCommandId, TInt>(EPhoneViewUpdateBubble, callId);
+        
+    iStateSingleCall->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageConnected, callId );   
+    
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+     
+    }
+
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+    ut_cphonesinglecall,
+    "ut_cphonesinglecall",
+    "UNIT" )
+
+EUNIT_TEST(
+    "2. HandleConnectedL",
+    "",
+    "HandleConnectedL",
+    "FUNCTIONALITY",
+    SetupL, T_HandleConnectedL, Teardown)    
+    
+EUNIT_END_TEST_TABLE
+
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonesinglecall/Src/ut_cphonesinglecall.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,87 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __UT_CPHONESINGLECALL_H__
+#define __UT_CPHONESINGLECALL_H__
+
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+
+
+
+// FORWARD DECLARATIONS
+class CSmcMockContext;
+class CPhoneStateMachineGSM;
+class CPhoneViewCommandHandleMock;
+class CPhoneMainResourceResolverMock;
+class CPEEngineInfo;
+class MPhoneViewCommandHandle;
+class TPhoneCommandParam;
+class CPhoneSingleCall;
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+
+
+//TBool operator==(const TPhoneCommandParam& param1, const TPhoneCommandParam& param2 );
+
+NONSHARABLE_CLASS( ut_cphonesinglecall )
+    : public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static ut_cphonesinglecall* NewL();
+        static ut_cphonesinglecall* NewLC();
+        ~ut_cphonesinglecall();
+
+    private: // Constructors
+
+        ut_cphonesinglecall();
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+
+         void Teardown();
+
+         void T_HandleConnectedL();
+         
+         void T_ConstructL();
+ 
+    private: // Data
+
+        MPhoneViewCommandHandle* iViewCmdHandleMock;
+
+        CPhoneStateMachineGSM* iStateMachineMock;
+
+        CSmcMockContext* iMockContext;
+
+        CPhoneMainResourceResolverMock* iCPhoneMainResourceResolverMock;
+
+        CPEEngineInfo* iEngineInfoMock;
+
+        CPhoneSingleCall * iStateSingleCall;
+        
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+ 
+#endif      //  __UT_CPHONESINGLECALL_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonesinglecall/Src/ut_cphonesinglecall_DllMain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphonesinglecall.h"
+#include <CEUnitTestSuite.h>
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return ut_cphonesinglecall::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonesinglecall/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+PRJ_PLATFORMS
+    WINSCW
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+
+PRJ_TESTMMPFILES
+ut_cphonesinglecall.mmp
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonesinglecall/group/ut_cphonesinglecall.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,113 @@
+/*
+* Copyright (c) 2005-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:  
+*
+*/
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET          ut_cphonesinglecall.dll
+TARGETTYPE      dll
+UID             0x1000af5a 0x01700000
+
+CAPABILITY      ALL -TCB
+VENDORID        VID_DEFAULT
+
+
+SOURCEPATH     ../../../../../internal/mocks/phoneengine/engineinfo
+SOURCE         mock_cpeengineinfoimpl.cpp
+ 
+SOURCEPATH     ../../../../internal/mocks/phoneuicontrol
+SOURCE         mock_CPhoneState.cpp
+SOURCE         mock_cphonestateincall.cpp
+SOURCE         mock_cphonestatemachine.cpp
+SOURCE         mock_cphonedtmfwaitchartimer.cpp
+
+SOURCEPATH     ../../../../../internal/mocks/phoneapp/phoneuicontrol
+SOURCE         mock_cphonenumberentrymanager.cpp
+
+SOURCEPATH     ../../../../internal/mocks/phoneuistates
+SOURCE         mock_cphonegsmincall.cpp
+SOURCE         mock_cphonestatemachinegsm.cpp
+
+SOURCEPATH     ../../../../internal/mocks/phoneuiutils
+SOURCE         mock_cphonelogger.cpp
+SOURCE         mock_cphonepubsubproxy.cpp
+SOURCE         mock_cphonemainresourceresolver.cpp
+SOURCE         mock_cphonekeys.cpp
+
+SOURCEPATH     ../../../../internal/mocks/phonemediatorcenter
+SOURCE         mock_cphoneterminateallconnectionscommand.cpp
+SOURCE         mock_cphonemediatorfactory.cpp
+SOURCE         mock_cphonemediatorsender.cpp
+
+SOURCEPATH     ../../../../internal/mocks/phoneuiview
+SOURCE         mock_cphoneviewcommandhandle.cpp
+
+SOURCEPATH     ../../../../../internal/mocks/eikmenupane
+SOURCE         mock_coemain.cpp
+SOURCE         mock_coecntrl.cpp
+SOURCE         mock_eikenv.cpp
+SOURCE         mock_eikvcurs.cpp
+ 
+
+SOURCEPATH     ../../../../internal/mocks/
+SOURCE         mock_featmgr.cpp
+SOURCE         mock_StringLoader.cpp
+
+SOURCEPATH     ../Src
+SOURCE         ut_cphonesinglecall.cpp
+
+SOURCEPATH     ../../../src        // phoneuistates src
+SOURCE         CPhoneSingleCall.cpp
+ 
+SOURCEPATH     ../../../../../phoneengine/engineinfo/src
+SOURCE         cpeengineinfo.cpp
+
+// Sources required by the test suite
+SOURCEPATH     ../Src
+SOURCE         ut_cphonesinglecall_DllMain.cpp
+
+USERINCLUDE    ../../../../../phoneengine/engineinfo/inc
+USERINCLUDE    ../../../../internal/mocks/phoneengine
+USERINCLUDE    ../../../../phoneuicontrol/inc
+USERINCLUDE    ../../../../phoneuistates/inc
+USERINCLUDE    ../../../../phonemediatorcenter/inc
+USERINCLUDE    ../../../../phoneuiutils/inc
+USERINCLUDE    ../../../../phoneui2/srcdata
+USERINCLUDE    ../../../../phoneuiqtviewadapter/inc
+USERINCLUDE    ../../../../internal/mocks/phoneuiview
+
+ 
+APP_LAYER_SYSTEMINCLUDE
+
+SYSTEMINCLUDE    /epoc32/include/Digia/EUnit
+SYSTEMINCLUDE    ../../../../../inc        // phone inc
+
+
+LIBRARY         EUnit.lib
+LIBRARY         EUnitUtil.lib
+LIBRARY         euser.lib
+LIBRARY         avkon.lib         // AknTextUtils
+LIBRARY         cone.lib
+LIBRARY         phoneuiutils.lib
+LIBRARY         apgrfx.lib
+LIBRARY         symbianmock.lib
+LIBRARY         efsrv.lib
+LIBRARY         ws32.lib         // RWsSession
+LIBRARY         gdi.lib          // TZoomFactor
+LIBRARY         bafl.lib         // CBaActiveScheduler
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonetwosingles/BWINS/ut_cphonetwosinglesu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonetwosingles/Src/ut_cphonetwosingles.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,132 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphonetwosingles.h"
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+#include <featmgr.h>
+#include "PEVirtualEngine.h" 
+#include "CPhoneViewControllerStub.h"
+#include "CPhoneStateMachineStub.h"
+#include "MPhoneKeyEvents.h"
+#include "TPhoneCommandParam.h"
+#include "CPhoneMainResourceResolver.h"
+#include "phoneappcommands.hrh"
+#include <csmcmockcontext.h>
+#include <smcdefaultvalue.h>
+#include <msmcmockspecbuilder.h>
+#include <smcobjecttotypemapper.h>
+#include <smcmacros.h>
+#include <msmcmockaction.h>
+#include "phonestatedefinitions.h"
+
+#define protected public
+#include "CPhoneTwoSingles.h"
+
+// - Construction -----------------------------------------------------------
+
+ut_cphonetwosingles* ut_cphonetwosingles::NewL()
+    {
+    ut_cphonetwosingles* self = ut_cphonetwosingles::NewLC();
+    CleanupStack::Pop();
+    return self;
+    }
+    
+    ut_cphonetwosingles* ut_cphonetwosingles::NewLC()
+    {
+    ut_cphonetwosingles* self = new( ELeave ) ut_cphonetwosingles();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+ut_cphonetwosingles::~ut_cphonetwosingles()
+    {
+    CSmcMockContext::Release();
+    }
+
+ut_cphonetwosingles::ut_cphonetwosingles()
+    {
+    }
+
+void ut_cphonetwosingles::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    iMockContext = CSmcMockContext::InstanceL();
+    }
+
+// - Test methods -----------------------------------------------------------
+
+
+
+void ut_cphonetwosingles::SetupL(  )
+    {
+    iMockContext->InitializeL();
+    
+    iViewCommandHandle = CPhoneViewController::NewL();
+    iStateMachine = CPhoneStateMachineStub::NewL(); 
+    iViewCommandHandle->iCallId = 2; 
+    
+    iStateTwoSingles  = CPhoneTwoSingles::NewL(
+           iStateMachine, iViewCommandHandle, NULL );
+    
+    }
+    
+
+void ut_cphonetwosingles::Teardown(  )
+    {
+    delete CPhoneMainResourceResolver::Instance();
+    delete iStateTwoSingles;
+    delete iViewCommandHandle;
+    delete iStateMachine;
+    
+    iMockContext->Reset();
+    }
+   
+// -----------------------------------------------------------------------------
+// Test  conference idle
+// -check commands
+// -----------------------------------------------------------------------------
+//  
+void ut_cphonetwosingles::T_HandleIdleL( )
+    {
+    
+    iViewCommandHandle->SetViewGetCountOfActiveCalls(1);
+
+    iMockContext->ExpectCallL( "CPhoneNumberEntryManager::SetVisibilityIfNumberEntryUsedL" ).
+            WithL( ETrue );
+    iStateTwoSingles->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageIdle, 0 );
+
+    EUNIT_ASSERT_EQUALS( EPhoneStateSingle, iStateMachine->iState ); 
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() ); 
+    }
+
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+        ut_cphonetwosingles,
+    "Add test suite description here.",
+    "UNIT" )
+    
+EUNIT_TEST(
+    "1- CPhoneTwoSingles: Test idle",
+    "",
+    "Test0",
+    "FUNCTIONALITY",
+    SetupL, T_HandleIdleL, Teardown)    
+    
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonetwosingles/Src/ut_cphonetwosingles.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,77 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __UT_CPHONETWOSINGLES_H__
+#define __UT_CPHONETWOSINGLES_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+
+
+
+// FORWARD DECLARATIONS
+class CPhoneTwoSingles;
+class CPhoneStateMachineStub;
+class CPhoneViewController;
+class CSmcMockContext; 
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( ut_cphonetwosingles )
+    : public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static ut_cphonetwosingles* NewL();
+        static ut_cphonetwosingles* NewLC();
+        ~ut_cphonetwosingles();
+
+    private: // Constructors
+
+        ut_cphonetwosingles();
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+        
+         void Teardown();
+        
+         void T_OpenMenuBarL();
+         
+         void T_HandleIdleL();
+             
+        
+
+    private: // Data
+   
+        CPhoneViewController* iViewCommandHandle;
+                        
+        CPhoneStateMachineStub* iStateMachine; 
+                    
+        CPhoneTwoSingles * iStateTwoSingles;
+
+        CSmcMockContext* iMockContext; 
+        
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __UT_CPHONETWOSINGLES_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonetwosingles/Src/ut_cphonetwosingles_DllMain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphonetwosingles.h"
+#include <CEUnitTestSuite.h>
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return ut_cphonetwosingles::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonetwosingles/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+PRJ_PLATFORMS
+    WINSCW
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+
+PRJ_TESTMMPFILES
+ut_cphonetwosingles.mmp
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonetwosingles/group/ut_cphonetwosingles.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,80 @@
+/*
+* Copyright (c) 2005-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:  
+*
+*/
+
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET          ut_cphonetwosingles.dll
+TARGETTYPE      dll
+UID             0x1000af5a 0x01700000
+
+CAPABILITY      ALL -TCB
+VENDORID        VID_DEFAULT
+
+SOURCEPATH      ../../common
+SOURCE          cphonestatemachinestub.cpp
+SOURCE          cphonestateincallstub.cpp
+SOURCE          cphonegsmincallstub.cpp
+SOURCE          cphonestatestub.cpp 
+SOURCE          phoneuiutils.cpp
+SOURCE          stubs.cpp
+
+SOURCEPATH      ../../../../../internal/mocks/phoneapp/phoneuicontrol
+SOURCE          mock_cphonenumberentrymanager.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuiutils
+SOURCE          mock_tphonetouchbuttonconfig.cpp
+
+SOURCEPATH      ../Src
+SOURCE          ut_cphonetwosingles.cpp
+
+SOURCEPATH      ../../../src        // phoneuistates src
+SOURCE          CPhonetwosingles.cpp
+ 
+
+// Sources required by the test suite
+SOURCEPATH      ../Src
+SOURCE          ut_cphonetwosingles_DllMain.cpp
+
+USERINCLUDE    ../../common
+USERINCLUDE    ../../../../phoneuicontrol/inc
+USERINCLUDE    ../../../../phoneuistates/inc
+USERINCLUDE    ../../../../phonemediatorcenter/inc
+USERINCLUDE    ../../../../phoneuiutils/inc
+USERINCLUDE    ../../../../phoneui2/srcdata
+USERINCLUDE    ../../../../phoneuiqtviewadapter/inc
+
+ 
+APP_LAYER_SYSTEMINCLUDE
+
+SYSTEMINCLUDE   /epoc32/include/Digia/EUnit
+SYSTEMINCLUDE   ../../../../../inc
+
+
+LIBRARY         EUnit.lib
+LIBRARY         EUnitUtil.lib
+LIBRARY         euser.lib
+LIBRARY         FeatMgr.lib         // FeatureManager
+LIBRARY         avkon.lib             // AknTextUtils
+LIBRARY         CommonEngine.lib     //StringLoader 
+LIBRARY         cone.lib
+LIBRARY         apgrfx.lib
+LIBRARY         symbianmock.lib
+LIBRARY         efsrv.lib
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonetwosinglesandwaiting/BWINS/ut_cphonetwosinglesandwaitingu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonetwosinglesandwaiting/Src/ut_cphonetwosinglesandwaiting.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,114 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphonetwosinglesandwaiting.h"
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+#include <featmgr.h>
+#include "PEVirtualEngine.h" 
+#include "CPhoneViewControllerStub.h"
+#include "CPhoneStateMachineStub.h"
+#include "MPhoneKeyEvents.h"
+#include "TPhoneCommandParam.h"
+#include "CPhoneMainResourceResolver.h"
+#include "phoneappcommands.hrh"
+
+#define protected public
+#include "CPhoneTwoSinglesAndWaiting.h"
+
+// - Construction -----------------------------------------------------------
+
+ut_cphonetwosinglesandwaiting* ut_cphonetwosinglesandwaiting::NewL()
+    {
+    ut_cphonetwosinglesandwaiting* self = ut_cphonetwosinglesandwaiting::NewLC();
+    CleanupStack::Pop();
+    return self;
+    }
+    
+    ut_cphonetwosinglesandwaiting* ut_cphonetwosinglesandwaiting::NewLC()
+    {
+    ut_cphonetwosinglesandwaiting* self = new( ELeave ) ut_cphonetwosinglesandwaiting();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+ut_cphonetwosinglesandwaiting::~ut_cphonetwosinglesandwaiting()
+    {
+    }
+
+ut_cphonetwosinglesandwaiting::ut_cphonetwosinglesandwaiting()
+    {
+    }
+
+void ut_cphonetwosinglesandwaiting::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    }
+
+// - Test methods -----------------------------------------------------------
+
+void ut_cphonetwosinglesandwaiting::SetupL(  )
+    {
+    iViewCommandHandle = CPhoneViewController::NewL();
+    iStateMachine = CPhoneStateMachineStub::NewL(); 
+     
+    iStateTwoSinglesAndWaiting  = CPhoneTwoSinglesAndWaiting::NewL(
+           iStateMachine, iViewCommandHandle, NULL );
+    
+    }
+    
+
+void ut_cphonetwosinglesandwaiting::Teardown(  )
+    {
+    delete CPhoneMainResourceResolver::Instance();
+    delete iStateTwoSinglesAndWaiting;
+    delete iViewCommandHandle;
+    delete iStateMachine;
+    }
+    
+// -----------------------------------------------------------------------------
+// Test  conference idle
+// -check commands
+// -----------------------------------------------------------------------------
+//  
+void ut_cphonetwosinglesandwaiting::T_HandleIdleL( )
+    {
+    
+    iViewCommandHandle->SetViewGetCountOfActiveCalls(1);
+    
+    iStateTwoSinglesAndWaiting->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageIdle, 0 );
+   
+    iViewCommandHandle->VerifyViewCommand( EPhoneViewRemoveCallHeader );
+          
+    }
+
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+        ut_cphonetwosinglesandwaiting,
+    "Add test suite description here.",
+    "UNIT" )
+    
+EUNIT_TEST(
+    "1- CPhoneTwoSinglesAndWaiting: Test idle",
+    "",
+    "Test0",
+    "FUNCTIONALITY",
+    SetupL, T_HandleIdleL, Teardown)    
+    
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonetwosinglesandwaiting/Src/ut_cphonetwosinglesandwaiting.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,71 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __UT_CPHONETWOSINGLESANDWAITING_H__
+#define __UT_CPHONETWOSINGLESANDWAITING_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+
+
+
+// FORWARD DECLARATIONS
+class CPhoneTwoSinglesAndWaiting;
+class CPhoneStateMachineStub;
+class CPhoneViewController;
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( ut_cphonetwosinglesandwaiting )
+    : public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static ut_cphonetwosinglesandwaiting* NewL();
+        static ut_cphonetwosinglesandwaiting* NewLC();
+        ~ut_cphonetwosinglesandwaiting();
+
+    private: // Constructors
+
+        ut_cphonetwosinglesandwaiting();
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+        
+         void Teardown();
+         
+         void T_HandleIdleL();        
+
+    private: // Data
+   
+        CPhoneViewController* iViewCommandHandle;
+                        
+        CPhoneStateMachineStub* iStateMachine; 
+                    
+        CPhoneTwoSinglesAndWaiting * iStateTwoSinglesAndWaiting;
+
+
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __UT_CPHONETWOSINGLESANDWAITING_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonetwosinglesandwaiting/Src/ut_cphonetwosinglesandwaiting_DllMain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphonetwosinglesandwaiting.h"
+#include <CEUnitTestSuite.h>
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return ut_cphonetwosinglesandwaiting::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonetwosinglesandwaiting/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+PRJ_PLATFORMS
+    WINSCW
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+
+PRJ_TESTMMPFILES
+ut_cphonetwosinglesandwaiting.mmp
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphonetwosinglesandwaiting/group/ut_cphonetwosinglesandwaiting.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,79 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET          ut_cphonetwosinglesandwaiting.dll
+TARGETTYPE      dll
+UID             0x1000af5a 0x01700000
+
+CAPABILITY      ALL -TCB
+VENDORID        VID_DEFAULT
+
+SOURCEPATH      ../../common
+SOURCE          cphonestatemachinestub.cpp
+SOURCE          cphonestateincallstub.cpp
+SOURCE          cphonegsmincallstub.cpp
+SOURCE          cphonestatestub.cpp
+SOURCE          phoneuiutils.cpp
+SOURCE          stubs.cpp
+
+SOURCEPATH      ../../../../../internal/mocks/phoneapp/phoneuicontrol
+SOURCE          mock_cphonenumberentrymanager.cpp
+
+SOURCEPATH      ../../../../internal/mocks/phoneuiutils
+SOURCE          mock_tphonetouchbuttonconfig.cpp
+
+SOURCEPATH      ../Src
+SOURCE          ut_cphonetwosinglesandwaiting.cpp
+
+SOURCEPATH      ../../../../phoneuistates/src
+SOURCE          CPhonetwosinglesAndWaiting.cpp
+SOURCE          CPhonetwosingles.cpp
+ 
+
+// Sources required by the test suite
+SOURCEPATH      ../Src
+SOURCE          ut_cphonetwosinglesandwaiting_DllMain.cpp
+
+USERINCLUDE    ../../common
+USERINCLUDE    ../../../../phoneuicontrol/inc
+USERINCLUDE    ../../../../phoneuistates/inc
+USERINCLUDE    ../../../../phonemediatorcenter/inc
+USERINCLUDE    ../../../../phoneuiutils/inc
+USERINCLUDE    ../../../../phoneui2/srcdata
+USERINCLUDE    ../../../../phoneuiqtviewadapter/inc
+
+ 
+APP_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE   /epoc32/include/Digia/EUnit
+SYSTEMINCLUDE   ../../../../../inc
+
+
+LIBRARY         EUnit.lib
+LIBRARY         EUnitUtil.lib
+LIBRARY         euser.lib
+LIBRARY         FeatMgr.lib         // FeatureManager
+LIBRARY         avkon.lib             // AknTextUtils
+LIBRARY         CommonEngine.lib     //StringLoader 
+LIBRARY         cone.lib
+LIBRARY         apgrfx.lib
+LIBRARY         symbianmock.lib
+LIBRARY         efsrv.lib
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphsingleandcallsetupandwait/BWINS/ut_cphsingleandcallsetupandwaitu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphsingleandcallsetupandwait/Src/ut_cphsingleandcallsetupandwait.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,140 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphsingleandcallsetupandwait.h"
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+#include <featmgr.h>
+#include "CPhoneSingleAndCallSetupAndWaiting.h"
+#include "PEVirtualEngine.h" 
+#include "CPhoneViewControllerStub.h"
+#include "CPhoneStateMachineStub.h"
+#include "MPhoneKeyEvents.h"
+#include "TPhoneCommandParam.h"
+#include "CPhoneMainResourceResolver.h"
+#include "phoneappcommands.hrh"
+
+
+// - Construction -----------------------------------------------------------
+
+ut_cphsingleandcallsetupandwait* ut_cphsingleandcallsetupandwait::NewL()
+    {
+    ut_cphsingleandcallsetupandwait* self = ut_cphsingleandcallsetupandwait::NewLC();
+    CleanupStack::Pop();
+    return self;
+    }
+    
+    ut_cphsingleandcallsetupandwait* ut_cphsingleandcallsetupandwait::NewLC()
+    {
+    ut_cphsingleandcallsetupandwait* self = new( ELeave ) ut_cphsingleandcallsetupandwait();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+ut_cphsingleandcallsetupandwait::~ut_cphsingleandcallsetupandwait()
+    {
+    }
+
+ut_cphsingleandcallsetupandwait::ut_cphsingleandcallsetupandwait()
+    {
+    }
+
+void ut_cphsingleandcallsetupandwait::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    }
+
+// - Test methods -----------------------------------------------------------
+
+
+
+void ut_cphsingleandcallsetupandwait::SetupL(  )
+    {
+    iViewCommandHandle = CPhoneViewController::NewL();
+    iStateMachine = CPhoneStateMachineStub::NewL(); 
+     
+    iStateSingleAndCallSetupAndWaiting  = CPhoneSingleAndCallSetupAndWaiting::NewL(
+           iStateMachine, iViewCommandHandle, NULL );
+    
+    }
+    
+
+void ut_cphsingleandcallsetupandwait::Teardown(  )
+    {
+    delete CPhoneMainResourceResolver::Instance();
+    delete iStateSingleAndCallSetupAndWaiting;
+    delete iViewCommandHandle;
+    delete iStateMachine;
+    }
+    
+// -----------------------------------------------------------------------------
+// Test  conference idle
+// -check commands
+// -----------------------------------------------------------------------------
+//  
+void ut_cphsingleandcallsetupandwait::T_HandleIdleL( )
+    {
+    
+    iViewCommandHandle->SetViewGetCountOfActiveCalls(1);
+    
+    iStateSingleAndCallSetupAndWaiting->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageIdle, 0 );
+   
+    iViewCommandHandle->VerifyViewCommand( EPhoneViewRemoveCallHeader );
+          
+    }
+
+// -----------------------------------------------------------------------------
+// Test callsetup fail with reason remote busy.
+// -check commands
+// -----------------------------------------------------------------------------
+//  
+void ut_cphsingleandcallsetupandwait::T_RemoteBusyL( )
+    {
+    // At the moment ut_cphsingleandcallsetupandwait uses cphonestatestub and because of this
+    // we cant check/verify EPhoneViewStopCapturingKey command since it is called from cphonestate
+    // and because test uses cphonestatestub+cphonestate.h(original) we cant check if CaptureKeysDuringCallNotificationL
+    // was called.
+    // When this test dll is transfered to use MOCK FW this case can be made fully functional.
+    /*iStateSingleAndCallSetupAndWaiting->HandlePhoneEngineMessageL( MEngineMonitor::EPEMessageRemoteBusy, 0 );
+   
+    iViewCommandHandle->VerifyViewCommand( EPhoneViewStopCapturingKey ); */
+    }
+
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+     ut_cphsingleandcallsetupandwait,
+    "Add test suite description here.",
+    "UNIT" )
+
+    
+EUNIT_TEST(
+    "2- CPhoneSingleAndCallSetupAndWaiting: Test idle",
+    "",
+    "Test0",
+    "FUNCTIONALITY",
+    SetupL, T_HandleIdleL, Teardown )
+    
+/*EUNIT_TEST(
+    "3- CPhoneSingleAndCallSetupAndWaiting: Test remote busy",
+    "",
+    "Test0",
+    "FUNCTIONALITY",
+    SetupL, T_RemoteBusyL, Teardown )  */
+    
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphsingleandcallsetupandwait/Src/ut_cphsingleandcallsetupandwait.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,73 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __UT_CPHONESINGLEANDCALLSETUPANDWAITING_H__
+#define __UT_CPHONESINGLEANDCALLSETUPANDWAITING_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+
+
+
+// FORWARD DECLARATIONS
+class CPhoneSingleAndCallSetupAndWaiting;
+class CPhoneStateMachineStub;
+class CPhoneViewController;
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( ut_cphsingleandcallsetupandwait )
+    : public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static ut_cphsingleandcallsetupandwait* NewL();
+        static ut_cphsingleandcallsetupandwait* NewLC();
+        ~ut_cphsingleandcallsetupandwait();
+
+    private: // Constructors
+
+        ut_cphsingleandcallsetupandwait();
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+        
+         void Teardown();
+         
+         void T_HandleIdleL();
+             
+         void T_RemoteBusyL();
+
+    private: // Data
+   
+        CPhoneViewController* iViewCommandHandle;
+                        
+        CPhoneStateMachineStub* iStateMachine; 
+                    
+        CPhoneSingleAndCallSetupAndWaiting * iStateSingleAndCallSetupAndWaiting;
+
+
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __UT_CPHONESINGLEANDCALLSETUPANDWAITING_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphsingleandcallsetupandwait/Src/ut_cphsingleandcallsetupandwait_DllMain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphsingleandcallsetupandwait.h"
+#include <CEUnitTestSuite.h>
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return ut_cphsingleandcallsetupandwait::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphsingleandcallsetupandwait/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+PRJ_PLATFORMS
+    WINSCW
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+
+PRJ_TESTMMPFILES
+ut_cphsingleandcallsetupandwait.mmp
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuistates/tsrc/ut_cphsingleandcallsetupandwait/group/ut_cphsingleandcallsetupandwait.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,78 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*
+*/
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET          ut_cphsingleandcallsetupandwait.dll
+TARGETTYPE      dll
+UID             0x1000af5a 0x01700000
+
+CAPABILITY      ALL -TCB
+VENDORID        VID_DEFAULT
+
+SOURCEPATH    ../../common
+SOURCE        cphonestatemachinestub.cpp
+SOURCE        cphonestateincallstub.cpp
+SOURCE        cphonegsmincallstub.cpp
+SOURCE        cphonestatestub.cpp
+SOURCE        phoneuiutils.cpp
+SOURCE        stubs.cpp
+ 
+SOURCEPATH    ../../../../internal/mocks/phoneuiutils
+SOURCE        mock_tphonetouchbuttonconfig.cpp
+
+SOURCEPATH    ../../../../../internal/mocks/phoneapp/phoneuicontrol
+SOURCE       mock_cphonenumberentrymanager.cpp
+ 
+SOURCEPATH    ../../../../phoneuistates/src
+SOURCE        CPhoneSingleAndCallSetupAndWaiting.cpp
+
+
+
+// Sources required by the test suite
+SOURCEPATH      ../Src
+SOURCE          ut_cphsingleandcallsetupandwait.cpp
+SOURCE          ut_cphsingleandcallsetupandwait_DllMain.cpp
+
+
+USERINCLUDE    ../../common
+USERINCLUDE    ../../../../phoneuiview/inc
+USERINCLUDE    ../../../../phoneuicontrol/inc
+USERINCLUDE    ../../../../phoneuistates/inc
+USERINCLUDE    ../../../../phonemediatorcenter/inc
+USERINCLUDE    ../../../../phoneuiutils/inc
+USERINCLUDE    ../../../../phoneui2/srcdata
+USERINCLUDE    ../../../../phoneuiqtviewadapter/inc
+ 
+APP_LAYER_SYSTEMINCLUDE
+
+SYSTEMINCLUDE   /epoc32/include/Digia/EUnit
+SYSTEMINCLUDE   ../../../../../inc
+
+
+LIBRARY         EUnit.lib
+LIBRARY         EUnitUtil.lib
+LIBRARY         euser.lib
+LIBRARY         FeatMgr.lib         // FeatureManager
+LIBRARY         avkon.lib             // AknTextUtils
+LIBRARY         CommonEngine.lib     //StringLoader 
+LIBRARY         cone.lib
+LIBRARY         SymbianMock.lib
+
+
+
--- a/phoneapp/phoneuiutils/bwins/phoneuiutilsu.def	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiutils/bwins/phoneuiutilsu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -30,275 +30,269 @@
 	?Text@TPhoneCmdParamNote@@QBEABVTDesC16@@XZ @ 29 NONAME ; class TDesC16 const & TPhoneCmdParamNote::Text(void) const
 	??1CPhoneMethodLogger@@UAE@XZ @ 30 NONAME ; CPhoneMethodLogger::~CPhoneMethodLogger(void)
 	?MaskBitmap@TPhoneCmdParamBitmap@@QBEPAVCFbsBitmap@@XZ @ 31 NONAME ; class CFbsBitmap * TPhoneCmdParamBitmap::MaskBitmap(void) const
-	?IsScreenLocked@CPhoneStorage@@UAEHXZ @ 32 NONAME ; int CPhoneStorage::IsScreenLocked(void)
-	?SetText@TPhoneCmdParamGlobalNote@@QAEXABVTDesC16@@@Z @ 33 NONAME ; void TPhoneCmdParamGlobalNote::SetText(class TDesC16 const &)
-	?AddLibraryL@CPhoneLibraryContainer@@QAEXABVRLibrary@@@Z @ 34 NONAME ; void CPhoneLibraryContainer::AddLibraryL(class RLibrary const &)
-	??1CPhoneResourceResolverBase@@UAE@XZ @ 35 NONAME ; CPhoneResourceResolverBase::~CPhoneResourceResolverBase(void)
-	?ResetBlockedKeysList@CPhoneStorage@@UAEXXZ @ 36 NONAME ; void CPhoneStorage::ResetBlockedKeysList(void)
-	?SetInt@CPhoneCenRepProxy@@QAEHABVTUid@@IH@Z @ 37 NONAME ; int CPhoneCenRepProxy::SetInt(class TUid const &, unsigned int, int)
-	?GetCustomCommandForTimeOut@TPhoneCmdParamQuery@@QBEHAAH@Z @ 38 NONAME ; int TPhoneCmdParamQuery::GetCustomCommandForTimeOut(int &) const
-	?ParamId@TPhoneCommandParam@@QBE?AW4TPhoneParamId@1@XZ @ 39 NONAME ; enum TPhoneCommandParam::TPhoneParamId TPhoneCommandParam::ParamId(void) const
-	?SetString@CPhoneCenRepProxy@@QAEHABVTUid@@IABVTDesC16@@@Z @ 40 NONAME ; int CPhoneCenRepProxy::SetString(class TUid const &, unsigned int, class TDesC16 const &)
-	?Line2@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 41 NONAME ; int TPhoneCmdParamCallHeaderData::Line2(void) const
-	??1CPhoneTimer@@UAE@XZ @ 42 NONAME ; CPhoneTimer::~CPhoneTimer(void)
-	?LogMsgFromPEToPhoneUIEnd@CPhoneLogger@@QAEXH@Z @ 43 NONAME ; void CPhoneLogger::LogMsgFromPEToPhoneUIEnd(int)
-	?DialerController@TPhoneCmdParamCustomDialer@@QAEPAVMPhoneDialerController@@XZ @ 44 NONAME ; class MPhoneDialerController * TPhoneCmdParamCustomDialer::DialerController(void)
-	?SetMultipleInstances@TPhoneCmdParamAppInfo@@QAEXH@Z @ 45 NONAME ; void TPhoneCmdParamAppInfo::SetMultipleInstances(int)
-	?ChangePropertyValue@CPhonePubSubProxy@@QAEXABVTUid@@IH@Z @ 46 NONAME ; void CPhonePubSubProxy::ChangePropertyValue(class TUid const &, unsigned int, int)
-	?SetThumbnail@TPhoneCmdParamCallHeaderData@@QAEXPAVCFbsBitmap@@@Z @ 47 NONAME ; void TPhoneCmdParamCallHeaderData::SetThumbnail(class CFbsBitmap *)
-	?SetCbaCommandMapping@TPhoneCmdParamQuery@@QAEXHH@Z @ 48 NONAME ; void TPhoneCmdParamQuery::SetCbaCommandMapping(int, int)
-	?EventCode@TPhoneCmdParamKeyEvent@@QBE?AW4TEventCode@@XZ @ 49 NONAME ; enum TEventCode TPhoneCmdParamKeyEvent::EventCode(void) const
-	?KeyEvent@TPhoneCmdParamKeyEvent@@QBE?BUTKeyEvent@@XZ @ 50 NONAME ; struct TKeyEvent const TPhoneCmdParamKeyEvent::KeyEvent(void) const
-	?SetDataText@TPhoneCmdParamQuery@@QAEXPAVTDes16@@@Z @ 51 NONAME ; void TPhoneCmdParamQuery::SetDataText(class TDes16 *)
-	??0TPhoneCmdParamAppInfo@@QAE@XZ @ 52 NONAME ; TPhoneCmdParamAppInfo::TPhoneCmdParamAppInfo(void)
-	?LittleBubbleVisible@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 53 NONAME ; int TPhoneCmdParamIncallIndicatorData::LittleBubbleVisible(void) const
-	?SetCallState@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 54 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetCallState(int)
-	?GetString@CPhoneCenRepProxy@@QBEHABVTUid@@IAAVTDes16@@@Z @ 55 NONAME ; int CPhoneCenRepProxy::GetString(class TUid const &, unsigned int, class TDes16 &) const
-	?SetCauseCode@TPhoneCmdParamGlobalNote@@QAEXH@Z @ 56 NONAME ; void TPhoneCmdParamGlobalNote::SetCauseCode(int)
-	?ResourceId@TPhoneCmdParamProgressNote@@QBEHXZ @ 57 NONAME ; int TPhoneCmdParamProgressNote::ResourceId(void) const
-	?CallId@TPhoneCmdParamCallStateData@@QBEHXZ @ 58 NONAME ; int TPhoneCmdParamCallStateData::CallId(void) const
-	?NotifyChangeL@CPhoneCenRepProxy@@QAEXABVTUid@@IPAVMPhoneCenRepObserver@@@Z @ 59 NONAME ; void CPhoneCenRepProxy::NotifyChangeL(class TUid const &, unsigned int, class MPhoneCenRepObserver *)
-	?SetResourceId@TPhoneCmdParamDynMenu@@QAEXH@Z @ 60 NONAME ; void TPhoneCmdParamDynMenu::SetResourceId(int)
-	?Validate@CPhoneKeys@@SAHABVTDesC16@@@Z @ 61 NONAME ; int CPhoneKeys::Validate(class TDesC16 const &)
-	??0TPhoneCmdParamKeyCapture@@QAE@XZ @ 62 NONAME ; TPhoneCmdParamKeyCapture::TPhoneCmdParamKeyCapture(void)
-	?SetResourceId@TPhoneCmdParamNote@@QAEXH@Z @ 63 NONAME ; void TPhoneCmdParamNote::SetResourceId(int)
-	?LogMsgFromPEToPhoneUI@CPhoneLogger@@QAEXHH@Z @ 64 NONAME ; void CPhoneLogger::LogMsgFromPEToPhoneUI(int, int)
-	?SetNotificationDialog@TPhoneCmdParamGlobalNote@@QAEXH@Z @ 65 NONAME ; void TPhoneCmdParamGlobalNote::SetNotificationDialog(int)
-	??0TPhoneCmdParamProgressNote@@QAE@XZ @ 66 NONAME ; TPhoneCmdParamProgressNote::TPhoneCmdParamProgressNote(void)
-	?CallState@TPhoneCmdParamCallStateData@@QBEHXZ @ 67 NONAME ; int TPhoneCmdParamCallStateData::CallState(void) const
-	?SetPointer@TPhoneCmdParamPointer@@QAEXPAX@Z @ 68 NONAME ; void TPhoneCmdParamPointer::SetPointer(void *)
-	??1CPhoneCenRepProxy@@UAE@XZ @ 69 NONAME ; CPhoneCenRepProxy::~CPhoneCenRepProxy(void)
-	?SetEventCode@TPhoneCmdParamKeyEvent@@QAEXW4TEventCode@@@Z @ 70 NONAME ; void TPhoneCmdParamKeyEvent::SetEventCode(enum TEventCode)
-	?WaitTime@TPhoneCmdParamProgressNote@@QBE?AVTTimeIntervalMicroSeconds32@@XZ @ 71 NONAME ; class TTimeIntervalMicroSeconds32 TPhoneCmdParamProgressNote::WaitTime(void) const
-	?SetParam@TPhoneCmdParamAppInfo@@QAEXABVTDesC8@@@Z @ 72 NONAME ; void TPhoneCmdParamAppInfo::SetParam(class TDesC8 const &)
-	??0TPhoneCmdParamPointer@@QAE@XZ @ 73 NONAME ; TPhoneCmdParamPointer::TPhoneCmdParamPointer(void)
-	??0TPhoneCmdParamGlobalNote@@QAE@XZ @ 74 NONAME ; TPhoneCmdParamGlobalNote::TPhoneCmdParamGlobalNote(void)
-	?CallType@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 75 NONAME ; int TPhoneCmdParamCallHeaderData::CallType(void) const
-	?SetCiphering@TPhoneCmdParamEmergencyCallHeaderData@@QAEXH@Z @ 76 NONAME ; void TPhoneCmdParamEmergencyCallHeaderData::SetCiphering(int)
-	?SetTone@TPhoneCmdParamNote@@QAEXW4TTone@CAknNoteDialog@@@Z @ 77 NONAME ; void TPhoneCmdParamNote::SetTone(enum CAknNoteDialog::TTone)
-	?SetCustomCommandForTimeOut@TPhoneCmdParamQuery@@QAEXH@Z @ 78 NONAME ; void TPhoneCmdParamQuery::SetCustomCommandForTimeOut(int)
-	??1TPhoneCmdParamCallHeaderData@@QAE@XZ @ 79 NONAME ; TPhoneCmdParamCallHeaderData::~TPhoneCmdParamCallHeaderData(void)
-	?IsBTAccAvailable@TPhoneCmdParamAudioAvailability@@QBEHXZ @ 80 NONAME ; int TPhoneCmdParamAudioAvailability::IsBTAccAvailable(void) const
-	?NewL@CPhoneStorage@@SAPAV1@XZ @ 81 NONAME ; class CPhoneStorage * CPhoneStorage::NewL(void)
-	?CNAPTextClippingDirection@TPhoneCmdParamCallHeaderData@@QBE?AW4TPhoneTextClippingDirection@1@XZ @ 82 NONAME ; enum TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection TPhoneCmdParamCallHeaderData::CNAPTextClippingDirection(void) const
-	?Timeout@TPhoneCmdParamNote@@QBE?AW4TTimeout@CAknNoteDialog@@XZ @ 83 NONAME ; enum CAknNoteDialog::TTimeout TPhoneCmdParamNote::Timeout(void) const
-	?Instance@CPhoneRecoverySystem@@SAPAV1@XZ @ 84 NONAME ; class CPhoneRecoverySystem * CPhoneRecoverySystem::Instance(void)
-	?CancelTimer@CPhoneTimer@@QAEXXZ @ 85 NONAME ; void CPhoneTimer::CancelTimer(void)
-	?NewL@CPhoneTimer@@SAPAV1@H@Z @ 86 NONAME ; class CPhoneTimer * CPhoneTimer::NewL(int)
-	?GetInt@CPhoneCenRepProxy@@QBEHABVTUid@@IAAH@Z @ 87 NONAME ; int CPhoneCenRepProxy::GetInt(class TUid const &, unsigned int, int &) const
-	?SetTextToSay@TPhoneCmdParamRingTone@@QAEXABVTDesC16@@@Z @ 88 NONAME ; void TPhoneCmdParamRingTone::SetTextToSay(class TDesC16 const &)
-	?SetCallState@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 89 NONAME ; void TPhoneCmdParamCallHeaderData::SetCallState(int)
-	?ContentCba@TPhoneCmdParamQuery@@QBEHXZ @ 90 NONAME ; int TPhoneCmdParamQuery::ContentCba(void) const
-	?SetTextResourceId@TPhoneCmdParamGlobalNote@@QAEXH@Z @ 91 NONAME ; void TPhoneCmdParamGlobalNote::SetTextResourceId(int)
-	??0TPhoneCmdParamDynMenu@@QAE@XZ @ 92 NONAME ; TPhoneCmdParamDynMenu::TPhoneCmdParamDynMenu(void)
-	?CancelAllNotifications@CPhonePubSubProxy@@SAXPAVMPhonePubSubObserver@@@Z @ 93 NONAME ; void CPhonePubSubProxy::CancelAllNotifications(class MPhonePubSubObserver *)
-	??0TPhoneCommandParam@@QAE@XZ @ 94 NONAME ; TPhoneCommandParam::TPhoneCommandParam(void)
-	?SetCLIText@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@W4TPhoneTextClippingDirection@1@@Z @ 95 NONAME ; void TPhoneCmdParamCallHeaderData::SetCLIText(class TDesC16 const &, enum TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection)
-	??1CPhoneLogger@@UAE@XZ @ 96 NONAME ; CPhoneLogger::~CPhoneLogger(void)
-	?SetCallState@TPhoneCmdParamCallStateData@@QAEXH@Z @ 97 NONAME ; void TPhoneCmdParamCallStateData::SetCallState(int)
-	?CallerText@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 98 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::CallerText(void) const
-	?Diverted@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 99 NONAME ; int TPhoneCmdParamCallHeaderData::Diverted(void) const
-	?String@TPhoneCmdParamString@@QAEPAVTPtr16@@XZ @ 100 NONAME ; class TPtr16 * TPhoneCmdParamString::String(void)
-	?SetKey@TPhoneCmdParamKeyCapture@@QAEXW4TStdScanCode@@@Z @ 101 NONAME ; void TPhoneCmdParamKeyCapture::SetKey(enum TStdScanCode)
-	?NotificationDialog@TPhoneCmdParamGlobalNote@@QBEHXZ @ 102 NONAME ; int TPhoneCmdParamGlobalNote::NotificationDialog(void) const
-	?IsExtraChar@CPhoneKeys@@SAHH@Z @ 103 NONAME ; int CPhoneKeys::IsExtraChar(int)
-	?SetDynMenu@TPhoneCmdParamDynMenu@@QAEXPAX@Z @ 104 NONAME ; void TPhoneCmdParamDynMenu::SetDynMenu(void *)
-	?IsSecondHashKey@CPhoneKeys@@SAHABVTDes16@@@Z @ 105 NONAME ; int CPhoneKeys::IsSecondHashKey(class TDes16 const &)
-	?SetCallerImageStatus@TPhoneCmdParamRingTone@@QAEXH@Z @ 106 NONAME ; void TPhoneCmdParamRingTone::SetCallerImageStatus(int)
-	?SetTimeout@TPhoneCmdParamGlobalNote@@QAEXH@Z @ 107 NONAME ; void TPhoneCmdParamGlobalNote::SetTimeout(int)
-	?GetReal@CPhoneCenRepProxy@@QBEHABVTUid@@IAAN@Z @ 108 NONAME ; int CPhoneCenRepProxy::GetReal(class TUid const &, unsigned int, double &) const
-	?SetShortLabelText@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@@Z @ 109 NONAME ; void TPhoneCmdParamCallHeaderData::SetShortLabelText(class TDesC16 const &)
-	?SetDialerController@TPhoneCmdParamCustomDialer@@QAEXPAVMPhoneDialerController@@@Z @ 110 NONAME ; void TPhoneCmdParamCustomDialer::SetDialerController(class MPhoneDialerController *)
-	?RingTone@TPhoneCmdParamRingTone@@QBEABVTDesC16@@XZ @ 111 NONAME ; class TDesC16 const & TPhoneCmdParamRingTone::RingTone(void) const
-	?TimeOut@TPhoneCmdParamQuery@@QBEHXZ @ 112 NONAME ; int TPhoneCmdParamQuery::TimeOut(void) const
-	?ShortLabelText@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 113 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::ShortLabelText(void) const
-	?SetInteger@TPhoneCmdParamInteger@@QAEXH@Z @ 114 NONAME ; void TPhoneCmdParamInteger::SetInteger(int)
-	?SetMaskBitmap@TPhoneCmdParamBitmap@@QAEXPAVCFbsBitmap@@@Z @ 115 NONAME ; void TPhoneCmdParamBitmap::SetMaskBitmap(class CFbsBitmap *)
-	?SetTimeout@TPhoneCmdParamNote@@QAEXW4TTimeout@CAknNoteDialog@@@Z @ 116 NONAME ; void TPhoneCmdParamNote::SetTimeout(enum CAknNoteDialog::TTimeout)
-	?IsBlockedKeysListEmpty@CPhoneStorage@@UAEHXZ @ 117 NONAME ; int CPhoneStorage::IsBlockedKeysListEmpty(void)
-	?SetCustomMessage@TPhoneCmdParamAppInfo@@QAEXABVTDesC8@@@Z @ 118 NONAME ; void TPhoneCmdParamAppInfo::SetCustomMessage(class TDesC8 const &)
-	?BaseConstructL@CPhoneResourceResolverBase@@QAEXXZ @ 119 NONAME ; void CPhoneResourceResolverBase::BaseConstructL(void)
-	?SetTextResourceId@TPhoneCmdParamNote@@QAEXH@Z @ 120 NONAME ; void TPhoneCmdParamNote::SetTextResourceId(int)
-	?SetString@TPhoneCmdParamString@@QAEXPAVTPtr16@@@Z @ 121 NONAME ; void TPhoneCmdParamString::SetString(class TPtr16 *)
-	?SetAppUid@TPhoneCmdParamAppInfo@@QAEXABVTUid@@@Z @ 122 NONAME ; void TPhoneCmdParamAppInfo::SetAppUid(class TUid const &)
-	?SetBTAccAvailable@TPhoneCmdParamAudioAvailability@@QAEXH@Z @ 123 NONAME ; void TPhoneCmdParamAudioAvailability::SetBTAccAvailable(int)
-	?IsTelephonyFeatureSupported@CPhoneCenRepProxy@@QAEHH@Z @ 124 NONAME ; int CPhoneCenRepProxy::IsTelephonyFeatureSupported(int)
-	?CallImageThemeFilePath@CPhoneCallThemeMonitor@@QBE?AVTPtrC16@@XZ @ 125 NONAME ; class TPtrC16 CPhoneCallThemeMonitor::CallImageThemeFilePath(void) const
-	?HasThumbnail@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 126 NONAME ; int TPhoneCmdParamCallHeaderData::HasThumbnail(void) const
-	?ClearBlackListNow@CPhoneClearBlacklist@@QAEXXZ @ 127 NONAME ; void CPhoneClearBlacklist::ClearBlackListNow(void)
-	?SetCipheringIndicatorAllowed@TPhoneCmdParamEmergencyCallHeaderData@@QAEXH@Z @ 128 NONAME ; void TPhoneCmdParamEmergencyCallHeaderData::SetCipheringIndicatorAllowed(int)
-	?SetCommandParamId@TPhoneCmdParamQuery@@QAEXW4TPhoneParamId@TPhoneCommandParam@@@Z @ 129 NONAME ; void TPhoneCmdParamQuery::SetCommandParamId(enum TPhoneCommandParam::TPhoneParamId)
-	??0TPhoneCmdParamEmergencyCallHeaderData@@QAE@XZ @ 130 NONAME ; TPhoneCmdParamEmergencyCallHeaderData::TPhoneCmdParamEmergencyCallHeaderData(void)
-	?After@CPhoneTimer@@QAEXVTTimeIntervalMicroSeconds32@@PAVMPhoneTimer@@@Z @ 131 NONAME ; void CPhoneTimer::After(class TTimeIntervalMicroSeconds32, class MPhoneTimer *)
-	?NewL@CPhoneLibraryContainer@@SAPAV1@XZ @ 132 NONAME ; class CPhoneLibraryContainer * CPhoneLibraryContainer::NewL(void)
-	?CreateL@CPhoneClearBlacklist@@SAPAV1@AAVRWsSession@@ABVRWindowBase@@@Z @ 133 NONAME ; class CPhoneClearBlacklist * CPhoneClearBlacklist::CreateL(class RWsSession &, class RWindowBase const &)
-	??1CPhoneStorage@@UAE@XZ @ 134 NONAME ; CPhoneStorage::~CPhoneStorage(void)
-	?SetVolume@TPhoneCmdParamRingTone@@QAEXH@Z @ 135 NONAME ; void TPhoneCmdParamRingTone::SetVolume(int)
-	??0TPhoneCmdParamString@@QAE@XZ @ 136 NONAME ; TPhoneCmdParamString::TPhoneCmdParamString(void)
-	?SetContactLink@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC8@@@Z @ 137 NONAME ; void TPhoneCmdParamCallHeaderData::SetContactLink(class TDesC8 const &)
-	??4TPhoneCmdParamQuery@@QAEAAV0@ABV0@@Z @ 138 NONAME ; class TPhoneCmdParamQuery & TPhoneCmdParamQuery::operator=(class TPhoneCmdParamQuery const &)
-	??0TPhoneCmdParamAudioAvailability@@QAE@XZ @ 139 NONAME ; TPhoneCmdParamAudioAvailability::TPhoneCmdParamAudioAvailability(void)
-	?GetBlockedKeyList@CPhoneStorage@@UBEABV?$RArray@H@@XZ @ 140 NONAME ; class RArray<int> const & CPhoneStorage::GetBlockedKeyList(void) const
-	?Timeout@TPhoneCmdParamGlobalNote@@QBEHXZ @ 141 NONAME ; int TPhoneCmdParamGlobalNote::Timeout(void) const
-	??0TPhoneCmdParamRingTone@@QAE@XZ @ 142 NONAME ; TPhoneCmdParamRingTone::TPhoneCmdParamRingTone(void)
-	?Observer@TPhoneCmdParamNumberEntryObserver@@QAE?AVTCallBack@@XZ @ 143 NONAME ; class TCallBack TPhoneCmdParamNumberEntryObserver::Observer(void)
-	??0CPhoneResourceResolverBase@@IAE@XZ @ 144 NONAME ; CPhoneResourceResolverBase::CPhoneResourceResolverBase(void)
-	?SetCallId@TPhoneCmdParamCallStateData@@QAEXH@Z @ 145 NONAME ; void TPhoneCmdParamCallStateData::SetCallId(int)
-	?MultipleInstances@TPhoneCmdParamAppInfo@@QBEHXZ @ 146 NONAME ; int TPhoneCmdParamAppInfo::MultipleInstances(void) const
-	?ItemTextArrayForListQuery@TPhoneCmdParamQuery@@QBEPAVMDesC16Array@@XZ @ 147 NONAME ; class MDesC16Array * TPhoneCmdParamQuery::ItemTextArrayForListQuery(void) const
-	?SetHeaderText@TPhoneCmdParamEmergencyCallHeaderData@@QAEXABVTDesC16@@@Z @ 148 NONAME ; void TPhoneCmdParamEmergencyCallHeaderData::SetHeaderText(class TDesC16 const &)
-	?SetContentCba@TPhoneCmdParamQuery@@QAEXH@Z @ 149 NONAME ; void TPhoneCmdParamQuery::SetContentCba(int)
-	?CaptureType@TPhoneCmdParamKeyCapture@@QBE?AW4TPhoneCaptureType@@XZ @ 150 NONAME ; enum TPhoneCaptureType TPhoneCmdParamKeyCapture::CaptureType(void) const
-	?SetQueryResourceId@TPhoneCmdParamQuery@@QAEXH@Z @ 151 NONAME ; void TPhoneCmdParamQuery::SetQueryResourceId(int)
-	?CancelNotify@CPhoneCenRepProxy@@QAEXPAVMPhoneCenRepObserver@@I@Z @ 152 NONAME ; void CPhoneCenRepProxy::CancelNotify(class MPhoneCenRepObserver *, unsigned int)
-	?Param@TPhoneCmdParamAppInfo@@QBEABVTDesC8@@XZ @ 153 NONAME ; class TDesC8 const & TPhoneCmdParamAppInfo::Param(void) const
-	??0CPhoneMethodLogger@@QAE@W4TPhoneUILoggingComponent@@VTPtrC16@@@Z @ 154 NONAME ; CPhoneMethodLogger::CPhoneMethodLogger(enum TPhoneUILoggingComponent, class TPtrC16)
-	?IsDtmfTone@CPhoneKeys@@SAHABUTKeyEvent@@W4TEventCode@@@Z @ 155 NONAME ; int CPhoneKeys::IsDtmfTone(struct TKeyEvent const &, enum TEventCode)
-	?SetMode@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 156 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetMode(int)
-	?NewL@CPhoneCallThemeMonitor@@SAPAV1@XZ @ 157 NONAME ; class CPhoneCallThemeMonitor * CPhoneCallThemeMonitor::NewL(void)
-	?SendKeyEnabled@TPhoneCmdParamQuery@@QBEHXZ @ 158 NONAME ; int TPhoneCmdParamQuery::SendKeyEnabled(void) const
-	?SetNeedToEnableKeylock@CPhoneStorage@@UAEXH@Z @ 159 NONAME ; void CPhoneStorage::SetNeedToEnableKeylock(int)
-	?Find@CPhoneCenRepProxy@@QBEHABVTUid@@KKAAV?$RArray@K@@@Z @ 160 NONAME ; int CPhoneCenRepProxy::Find(class TUid const &, unsigned long, unsigned long, class RArray<unsigned long> &) const
-	?SetLabelText@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@@Z @ 161 NONAME ; void TPhoneCmdParamCallHeaderData::SetLabelText(class TDesC16 const &)
-	?CNAPText@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 162 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::CNAPText(void) const
-	?SetOwnPhoneNumberText@TPhoneCmdParamEmergencyCallHeaderData@@QAEXABVTDesC16@@@Z @ 163 NONAME ; void TPhoneCmdParamEmergencyCallHeaderData::SetOwnPhoneNumberText(class TDesC16 const &)
-	?Emergency@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 164 NONAME ; int TPhoneCmdParamIncallIndicatorData::Emergency(void) const
-	?AppUid@TPhoneCmdParamAppInfo@@QBE?AVTUid@@XZ @ 165 NONAME ; class TUid TPhoneCmdParamAppInfo::AppUid(void) const
-	?CustomMessage@TPhoneCmdParamAppInfo@@QBEABVTDesC8@@XZ @ 166 NONAME ; class TDesC8 const & TPhoneCmdParamAppInfo::CustomMessage(void) const
-	?QueryResourceId@TPhoneCmdParamQuery@@QBEHXZ @ 167 NONAME ; int TPhoneCmdParamQuery::QueryResourceId(void) const
-	?NotifyChangeL@CPhonePubSubProxy@@QAEXABVTUid@@IPAVMPhonePubSubObserver@@@Z @ 168 NONAME ; void CPhonePubSubProxy::NotifyChangeL(class TUid const &, unsigned int, class MPhonePubSubObserver *)
-	?SetRingTone@TPhoneCmdParamRingTone@@QAEXABVTDesC16@@@Z @ 169 NONAME ; void TPhoneCmdParamRingTone::SetRingTone(class TDesC16 const &)
-	?AppendBlockedKeysListL@CPhoneStorage@@UAEXW4TStdScanCode@@@Z @ 170 NONAME ; void CPhoneStorage::AppendBlockedKeysListL(enum TStdScanCode)
-	?SetEmergency@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 171 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetEmergency(int)
-	?SetDefaultCba@TPhoneCmdParamQuery@@QAEXH@Z @ 172 NONAME ; void TPhoneCmdParamQuery::SetDefaultCba(int)
-	?Type@TPhoneCmdParamTransEffect@@QBE?AW4TPhoneTransEffectType@@XZ @ 173 NONAME ; enum TPhoneTransEffectType TPhoneCmdParamTransEffect::Type(void) const
-	??0TPhoneCmdParamSfiData@@QAE@XZ @ 174 NONAME ; TPhoneCmdParamSfiData::TPhoneCmdParamSfiData(void)
-	??0TPhoneCmdParamCallHeaderData@@QAE@XZ @ 175 NONAME ; TPhoneCmdParamCallHeaderData::TPhoneCmdParamCallHeaderData(void)
-	??1CPhoneClearBlacklist@@UAE@XZ @ 176 NONAME ; CPhoneClearBlacklist::~CPhoneClearBlacklist(void)
-	?SetMute@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 177 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetMute(int)
-	?KeyCode@TPhoneCmdParamKeyCapture@@QBE?AW4TKeyCode@@XZ @ 178 NONAME ; enum TKeyCode TPhoneCmdParamKeyCapture::KeyCode(void) const
-	?IsNumberKey@CPhoneKeys@@SAHABUTKeyEvent@@W4TEventCode@@@Z @ 179 NONAME ; int CPhoneKeys::IsNumberKey(struct TKeyEvent const &, enum TEventCode)
-	?TextResourceId@TPhoneCmdParamGlobalNote@@QBEHXZ @ 180 NONAME ; int TPhoneCmdParamGlobalNote::TextResourceId(void) const
-	?SetCiphering@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 181 NONAME ; void TPhoneCmdParamCallHeaderData::SetCiphering(int)
-	?EnablePreconditionL@CPhoneRecoverySystem@@QAEXXZ @ 182 NONAME ; void CPhoneRecoverySystem::EnablePreconditionL(void)
-	?AddL@CPhoneRecoverySystem@@QAEHVTCallBack@@CW4TRecoveryState@CTeleRecoverySystem@@@Z @ 183 NONAME ; int CPhoneRecoverySystem::AddL(class TCallBack, signed char, enum CTeleRecoverySystem::TRecoveryState)
-	?SetLine2@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 184 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetLine2(int)
-	?SetAudioOutput@TPhoneCmdParamAudioOutput@@QAEXW4TPEAudioOutput@@@Z @ 185 NONAME ; void TPhoneCmdParamAudioOutput::SetAudioOutput(enum TPEAudioOutput)
-	?HeaderText@TPhoneCmdParamEmergencyCallHeaderData@@QBEABVTDesC16@@XZ @ 186 NONAME ; class TDesC16 const & TPhoneCmdParamEmergencyCallHeaderData::HeaderText(void) const
-	?CallImageThemeSettings@CPhoneCallThemeMonitor@@QBEHXZ @ 187 NONAME ; int CPhoneCallThemeMonitor::CallImageThemeSettings(void) const
-	??0TPhoneCmdParamTransEffect@@QAE@XZ @ 188 NONAME ; TPhoneCmdParamTransEffect::TPhoneCmdParamTransEffect(void)
-	?Number@TPhoneCmdParamSfiData@@QBEABVTDesC16@@XZ @ 189 NONAME ; class TDesC16 const & TPhoneCmdParamSfiData::Number(void) const
-	?OwnPhoneNumberText@TPhoneCmdParamEmergencyCallHeaderData@@QBEABVTDesC16@@XZ @ 190 NONAME ; class TDesC16 const & TPhoneCmdParamEmergencyCallHeaderData::OwnPhoneNumberText(void) const
-	?CauseCode@TPhoneCmdParamGlobalNote@@QBEHXZ @ 191 NONAME ; int TPhoneCmdParamGlobalNote::CauseCode(void) const
-	?QueryPrompt@TPhoneCmdParamQuery@@QBEABVTDesC16@@XZ @ 192 NONAME ; class TDesC16 const & TPhoneCmdParamQuery::QueryPrompt(void) const
-	?SetQueryPrompt@TPhoneCmdParamQuery@@QAEXABVTDesC16@@@Z @ 193 NONAME ; void TPhoneCmdParamQuery::SetQueryPrompt(class TDesC16 const &)
-	?Type@TPhoneCmdParamGlobalNote@@QBE?AW4PhoneNotificationType@@XZ @ 194 NONAME ; enum PhoneNotificationType TPhoneCmdParamGlobalNote::Type(void) const
-	?IsNumericKey@CPhoneKeys@@SAHABUTKeyEvent@@W4TEventCode@@@Z @ 195 NONAME ; int CPhoneKeys::IsNumericKey(struct TKeyEvent const &, enum TEventCode)
-	?SetCaptureType@TPhoneCmdParamKeyCapture@@QAEXW4TPhoneCaptureType@@@Z @ 196 NONAME ; void TPhoneCmdParamKeyCapture::SetCaptureType(enum TPhoneCaptureType)
-	?ViewUid@TPhoneCmdParamAppInfo@@QBE?AVTUid@@XZ @ 197 NONAME ; class TUid TPhoneCmdParamAppInfo::ViewUid(void) const
-	?SetLabelText@TPhoneCmdParamEmergencyCallHeaderData@@QAEXABVTDesC16@@@Z @ 198 NONAME ; void TPhoneCmdParamEmergencyCallHeaderData::SetLabelText(class TDesC16 const &)
-	?IsCallerText@TPhoneCmdParamRingTone@@QAEHXZ @ 199 NONAME ; int TPhoneCmdParamRingTone::IsCallerText(void)
-	?SetBitmap@TPhoneCmdParamBitmap@@QAEXPAVCFbsBitmap@@@Z @ 200 NONAME ; void TPhoneCmdParamBitmap::SetBitmap(class CFbsBitmap *)
-	?SetNumber@TPhoneCmdParamSfiData@@QAEXABVTDesC16@@@Z @ 201 NONAME ; void TPhoneCmdParamSfiData::SetNumber(class TDesC16 const &)
-	?CipheringIndicatorAllowed@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 202 NONAME ; int TPhoneCmdParamCallHeaderData::CipheringIndicatorAllowed(void) const
-	?Name@TPhoneCmdParamSfiData@@QBEABVTDesC16@@XZ @ 203 NONAME ; class TDesC16 const & TPhoneCmdParamSfiData::Name(void) const
-	??0TPhoneCmdParamQuery@@QAE@ABV0@@Z @ 204 NONAME ; TPhoneCmdParamQuery::TPhoneCmdParamQuery(class TPhoneCmdParamQuery const &)
-	?CallState@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 205 NONAME ; int TPhoneCmdParamCallHeaderData::CallState(void) const
-	??0TPhoneCmdParamIncallIndicatorData@@QAE@XZ @ 206 NONAME ; TPhoneCmdParamIncallIndicatorData::TPhoneCmdParamIncallIndicatorData(void)
-	?Picture@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 207 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::Picture(void) const
-	?SetCallThemeSettingsObserver@CPhoneCallThemeMonitor@@QAEXPAVMPhoneCallThemeSettingsObserver@@@Z @ 208 NONAME ; void CPhoneCallThemeMonitor::SetCallThemeSettingsObserver(class MPhoneCallThemeSettingsObserver *)
-	?SetDiverted@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 209 NONAME ; void TPhoneCmdParamCallHeaderData::SetDiverted(int)
-	?ServiceId@TPhoneCmdParamCallHeaderData@@QBEKXZ @ 210 NONAME ; unsigned long TPhoneCmdParamCallHeaderData::ServiceId(void) const
-	?LabelText@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 211 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::LabelText(void) const
-	?Overflow@CPhoneLogger@@EAEXAAVTDes16@@@Z @ 212 NONAME ; void CPhoneLogger::Overflow(class TDes16 &)
-	?SetCNAPText@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@W4TPhoneTextClippingDirection@1@@Z @ 213 NONAME ; void TPhoneCmdParamCallHeaderData::SetCNAPText(class TDesC16 const &, enum TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection)
-	?SetKeyEvent@TPhoneCmdParamKeyEvent@@QAEXABUTKeyEvent@@@Z @ 214 NONAME ; void TPhoneCmdParamKeyEvent::SetKeyEvent(struct TKeyEvent const &)
-	?Instance@CPhonePubSubProxy@@SAPAV1@XZ @ 215 NONAME ; class CPhonePubSubProxy * CPhonePubSubProxy::Instance(void)
-	?ResourceId@TPhoneCmdParamNote@@QBEHXZ @ 216 NONAME ; int TPhoneCmdParamNote::ResourceId(void) const
-	?CipheringIndicatorAllowed@TPhoneCmdParamEmergencyCallHeaderData@@QBEHXZ @ 217 NONAME ; int TPhoneCmdParamEmergencyCallHeaderData::CipheringIndicatorAllowed(void) const
-	?CancelAllNotifies@CPhoneCenRepProxy@@SAXPAVMPhoneCenRepObserver@@@Z @ 218 NONAME ; void CPhoneCenRepProxy::CancelAllNotifies(class MPhoneCenRepObserver *)
-	?TextResourceId@TPhoneCmdParamNote@@QBEHXZ @ 219 NONAME ; int TPhoneCmdParamNote::TextResourceId(void) const
-	?SetRemotePhoneNumber@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@@Z @ 220 NONAME ; void TPhoneCmdParamCallHeaderData::SetRemotePhoneNumber(class TDesC16 const &)
-	?CipheringIndicatorAllowed@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 221 NONAME ; int TPhoneCmdParamIncallIndicatorData::CipheringIndicatorAllowed(void) const
-	??0TPhoneCmdParamCallStateData@@QAE@XZ @ 222 NONAME ; TPhoneCmdParamCallStateData::TPhoneCmdParamCallStateData(void)
-	?SetKeyCode@TPhoneCmdParamKeyCapture@@QAEXW4TKeyCode@@@Z @ 223 NONAME ; void TPhoneCmdParamKeyCapture::SetKeyCode(enum TKeyCode)
-	?SetScreenLocked@CPhoneStorage@@UAEXH@Z @ 224 NONAME ; void CPhoneStorage::SetScreenLocked(int)
-	?CustomMessageId@TPhoneCmdParamAppInfo@@QBE?AVTUid@@XZ @ 225 NONAME ; class TUid TPhoneCmdParamAppInfo::CustomMessageId(void) const
-	?RemotePhoneNumber@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 226 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::RemotePhoneNumber(void) const
-	?SetType@TPhoneCmdParamNote@@QAEXW4TPhoneNoteType@@@Z @ 227 NONAME ; void TPhoneCmdParamNote::SetType(enum TPhoneNoteType)
-	?Instance@CPhoneClearBlacklist@@SAPAV1@XZ @ 228 NONAME ; class CPhoneClearBlacklist * CPhoneClearBlacklist::Instance(void)
-	?TextToSay@TPhoneCmdParamRingTone@@QBEABVTDesC16@@XZ @ 229 NONAME ; class TDesC16 const & TPhoneCmdParamRingTone::TextToSay(void) const
-	?Type@TPhoneCmdParamNote@@QBE?AW4TPhoneNoteType@@XZ @ 230 NONAME ; enum TPhoneNoteType TPhoneCmdParamNote::Type(void) const
-	?SetPicture@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@@Z @ 231 NONAME ; void TPhoneCmdParamCallHeaderData::SetPicture(class TDesC16 const &)
-	?Integer@TPhoneCmdParamInteger@@QBEHXZ @ 232 NONAME ; int TPhoneCmdParamInteger::Integer(void) const
-	?Mode@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 233 NONAME ; int TPhoneCmdParamIncallIndicatorData::Mode(void) const
-	?SetText@TPhoneCmdParamNote@@QAEXABVTDesC16@@@Z @ 234 NONAME ; void TPhoneCmdParamNote::SetText(class TDesC16 const &)
-	?SetCallerTextStatus@TPhoneCmdParamRingTone@@QAEXH@Z @ 235 NONAME ; void TPhoneCmdParamRingTone::SetCallerTextStatus(int)
-	?IsWiredAccAvailable@TPhoneCmdParamAudioAvailability@@QBEHXZ @ 236 NONAME ; int TPhoneCmdParamAudioAvailability::IsWiredAccAvailable(void) const
-	??0TPhoneCmdParamBoolean@@QAE@XZ @ 237 NONAME ; TPhoneCmdParamBoolean::TPhoneCmdParamBoolean(void)
-	?QueryCommandObserver@TPhoneCmdParamQuery@@QAEPAVMPhoneQueryCommandObserver@@XZ @ 238 NONAME ; class MPhoneQueryCommandObserver * TPhoneCmdParamQuery::QueryCommandObserver(void)
-	?DataText@TPhoneCmdParamQuery@@QBEPAVTDes16@@XZ @ 239 NONAME ; class TDes16 * TPhoneCmdParamQuery::DataText(void) const
-	?SetReal@CPhoneCenRepProxy@@QAEHABVTUid@@IN@Z @ 240 NONAME ; int CPhoneCenRepProxy::SetReal(class TUid const &, unsigned int, double)
-	??0TPhoneCmdParamCustomDialer@@QAE@XZ @ 241 NONAME ; TPhoneCmdParamCustomDialer::TPhoneCmdParamCustomDialer(void)
-	??1CPhonePubSubProxy@@UAE@XZ @ 242 NONAME ; CPhonePubSubProxy::~CPhonePubSubProxy(void)
-	??0TPhoneCmdParamNote@@QAE@XZ @ 243 NONAME ; TPhoneCmdParamNote::TPhoneCmdParamNote(void)
-	?Volume@TPhoneCmdParamRingTone@@QBEHXZ @ 244 NONAME ; int TPhoneCmdParamRingTone::Volume(void) const
-	?SetItemTextArrayForListQuery@TPhoneCmdParamQuery@@QAEXAAVMDesC16Array@@@Z @ 245 NONAME ; void TPhoneCmdParamQuery::SetItemTextArrayForListQuery(class MDesC16Array &)
-	?Type@TPhoneCmdParamRingTone@@QBE?AW4TPhoneRingToneType@@XZ @ 246 NONAME ; enum TPhoneRingToneType TPhoneCmdParamRingTone::Type(void) const
-	?Key@TPhoneCmdParamKeyCapture@@QBE?AW4TStdScanCode@@XZ @ 247 NONAME ; enum TStdScanCode TPhoneCmdParamKeyCapture::Key(void) const
-	?LabelText@TPhoneCmdParamEmergencyCallHeaderData@@QBEABVTDesC16@@XZ @ 248 NONAME ; class TDesC16 const & TPhoneCmdParamEmergencyCallHeaderData::LabelText(void) const
-	?Ciphering@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 249 NONAME ; int TPhoneCmdParamIncallIndicatorData::Ciphering(void) const
-	?SetQueryCommandObserver@TPhoneCmdParamQuery@@QAEXAAVMPhoneQueryCommandObserver@@@Z @ 250 NONAME ; void TPhoneCmdParamQuery::SetQueryCommandObserver(class MPhoneQueryCommandObserver &)
-	?IsPhoneUIFeatureSupported@CPhoneCenRepProxy@@QAEHH@Z @ 251 NONAME ; int CPhoneCenRepProxy::IsPhoneUIFeatureSupported(int)
-	?DefaultCba@TPhoneCmdParamQuery@@QBEHXZ @ 252 NONAME ; int TPhoneCmdParamQuery::DefaultCba(void) const
-	?CallState@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 253 NONAME ; int TPhoneCmdParamIncallIndicatorData::CallState(void) const
-	??0TPhoneCmdParamNumberEntryObserver@@QAE@XZ @ 254 NONAME ; TPhoneCmdParamNumberEntryObserver::TPhoneCmdParamNumberEntryObserver(void)
-	?SetLine2@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 255 NONAME ; void TPhoneCmdParamCallHeaderData::SetLine2(int)
-	?FetchValuesFromCenRepL@CPhoneCenRepProxy@@QAEXAAVTPhoneCmdParamAppInfo@@W4TKeyCode@@PAVHBufC8@@AAH@Z @ 256 NONAME ; void CPhoneCenRepProxy::FetchValuesFromCenRepL(class TPhoneCmdParamAppInfo &, enum TKeyCode, class HBufC8 *, int &)
-	?ParticipantCLI@TPhoneCmdParamCallHeaderData@@QBE?AW4TPhoneParticipantListCLI@1@XZ @ 257 NONAME ; enum TPhoneCmdParamCallHeaderData::TPhoneParticipantListCLI TPhoneCmdParamCallHeaderData::ParticipantCLI(void) const
-	?Thumbnail@TPhoneCmdParamCallHeaderData@@QBEPAVCFbsBitmap@@XZ @ 258 NONAME ; class CFbsBitmap * TPhoneCmdParamCallHeaderData::Thumbnail(void) const
-	?SetTimeOut@TPhoneCmdParamQuery@@QAEXH@Z @ 259 NONAME ; void TPhoneCmdParamQuery::SetTimeOut(int)
-	?Boolean@TPhoneCmdParamBoolean@@QBEHXZ @ 260 NONAME ; int TPhoneCmdParamBoolean::Boolean(void) const
-	?CLITextClippingDirection@TPhoneCmdParamCallHeaderData@@QBE?AW4TPhoneTextClippingDirection@1@XZ @ 261 NONAME ; enum TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection TPhoneCmdParamCallHeaderData::CLITextClippingDirection(void) const
-	?LogMsgFromPhoneUIToPE@CPhoneLogger@@QAEXHH@Z @ 262 NONAME ; void CPhoneLogger::LogMsgFromPhoneUIToPE(int, int)
-	?SetCustomMessageId@TPhoneCmdParamAppInfo@@QAEXABVTUid@@@Z @ 263 NONAME ; void TPhoneCmdParamAppInfo::SetCustomMessageId(class TUid const &)
-	?ResolveResourceID@CPhoneResourceResolverBase@@UBEHABH@Z @ 264 NONAME ; int CPhoneResourceResolverBase::ResolveResourceID(int const &) const
-	?SetName@TPhoneCmdParamSfiData@@QAEXABVTDesC16@@@Z @ 265 NONAME ; void TPhoneCmdParamSfiData::SetName(class TDesC16 const &)
-	?SetLittleBubbleVisible@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 266 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetLittleBubbleVisible(int)
-	?Ciphering@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 267 NONAME ; int TPhoneCmdParamCallHeaderData::Ciphering(void) const
-	?SetType@TPhoneCmdParamRingTone@@QAEXW4TPhoneRingToneType@@@Z @ 268 NONAME ; void TPhoneCmdParamRingTone::SetType(enum TPhoneRingToneType)
-	?ResourceId@TPhoneCmdParamDynMenu@@QBEHXZ @ 269 NONAME ; int TPhoneCmdParamDynMenu::ResourceId(void) const
-	?SetCipheringIndicatorAllowed@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 270 NONAME ; void TPhoneCmdParamCallHeaderData::SetCipheringIndicatorAllowed(int)
-	?SetWaitTime@TPhoneCmdParamProgressNote@@QAEXVTTimeIntervalMicroSeconds32@@@Z @ 271 NONAME ; void TPhoneCmdParamProgressNote::SetWaitTime(class TTimeIntervalMicroSeconds32)
-	?Ciphering@TPhoneCmdParamEmergencyCallHeaderData@@QBEHXZ @ 272 NONAME ; int TPhoneCmdParamEmergencyCallHeaderData::Ciphering(void) const
-	??1CPhoneCallThemeMonitor@@UAE@XZ @ 273 NONAME ; CPhoneCallThemeMonitor::~CPhoneCallThemeMonitor(void)
-	?SetNumberType@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 274 NONAME ; void TPhoneCmdParamCallHeaderData::SetNumberType(int)
-	?Mute@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 275 NONAME ; int TPhoneCmdParamIncallIndicatorData::Mute(void) const
-	?SetBoolean@TPhoneCmdParamBoolean@@QAEXH@Z @ 276 NONAME ; void TPhoneCmdParamBoolean::SetBoolean(int)
-	?IsTelephonyFeatureSupported@CPhoneResourceResolverBase@@MBEHH@Z @ 277 NONAME ; int CPhoneResourceResolverBase::IsTelephonyFeatureSupported(int) const
-	?Instance@CPhoneMainErrorMessagesHandler@@SAPAV1@XZ @ 278 NONAME ; class CPhoneMainErrorMessagesHandler * CPhoneMainErrorMessagesHandler::Instance(void)
-	?SetViewUid@TPhoneCmdParamAppInfo@@QAEXABVTUid@@@Z @ 279 NONAME ; void TPhoneCmdParamAppInfo::SetViewUid(class TUid const &)
-	?SetServiceId@TPhoneCmdParamCallHeaderData@@QAEXK@Z @ 280 NONAME ; void TPhoneCmdParamCallHeaderData::SetServiceId(unsigned long)
-	?Instance@CPhoneCenRepProxy@@SAPAV1@XZ @ 281 NONAME ; class CPhoneCenRepProxy * CPhoneCenRepProxy::Instance(void)
-	?SetQueryType@TPhoneCmdParamQuery@@QAEXW4TPhoneQueryType@@@Z @ 282 NONAME ; void TPhoneCmdParamQuery::SetQueryType(enum TPhoneQueryType)
-	?Value@CPhonePubSubProxy@@QAEHABVTUid@@I@Z @ 283 NONAME ; int CPhonePubSubProxy::Value(class TUid const &, unsigned int)
-	?SetWiredAccAvailable@TPhoneCmdParamAudioAvailability@@QAEXH@Z @ 284 NONAME ; void TPhoneCmdParamAudioAvailability::SetWiredAccAvailable(int)
-	??0TPhoneCmdParamAudioOutput@@QAE@XZ @ 285 NONAME ; TPhoneCmdParamAudioOutput::TPhoneCmdParamAudioOutput(void)
-	?IsCallerImage@TPhoneCmdParamRingTone@@QAEHXZ @ 286 NONAME ; int TPhoneCmdParamRingTone::IsCallerImage(void)
-	??0TPhoneCmdParamQuery@@QAE@XZ @ 287 NONAME ; TPhoneCmdParamQuery::TPhoneCmdParamQuery(void)
-	?Instance@CPhoneMainResourceResolver@@SAPAV1@XZ @ 288 NONAME ; class CPhoneMainResourceResolver * CPhoneMainResourceResolver::Instance(void)
-	??1CPhoneLibraryContainer@@UAE@XZ @ 289 NONAME ; CPhoneLibraryContainer::~CPhoneLibraryContainer(void)
-	?ClearBlackListOnNextKey@CPhoneClearBlacklist@@QAEXXZ @ 290 NONAME ; void CPhoneClearBlacklist::ClearBlackListOnNextKey(void)
-	?Tone@TPhoneCmdParamQuery@@QBEHXZ @ 291 NONAME ; int TPhoneCmdParamQuery::Tone(void) const
-	?SetCiphering@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 292 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetCiphering(int)
-	?SetRingingType@TPhoneCmdParamRingTone@@QAEXH@Z @ 293 NONAME ; void TPhoneCmdParamRingTone::SetRingingType(int)
-	?SetCipheringIndicatorAllowed@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 294 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetCipheringIndicatorAllowed(int)
-	?NeedToEnableKeylock@CPhoneStorage@@UAEHXZ @ 295 NONAME ; int CPhoneStorage::NeedToEnableKeylock(void)
-	?AudioOutput@TPhoneCmdParamAudioOutput@@QBE?AW4TPEAudioOutput@@XZ @ 296 NONAME ; enum TPEAudioOutput TPhoneCmdParamAudioOutput::AudioOutput(void) const
-	?SetResourceId@TPhoneCmdParamProgressNote@@QAEXH@Z @ 297 NONAME ; void TPhoneCmdParamProgressNote::SetResourceId(int)
-	??0TPhoneCmdParamInteger@@QAE@XZ @ 298 NONAME ; TPhoneCmdParamInteger::TPhoneCmdParamInteger(void)
-	?SetType@TPhoneCmdParamGlobalNote@@QAEXW4PhoneNotificationType@@@Z @ 299 NONAME ; void TPhoneCmdParamGlobalNote::SetType(enum PhoneNotificationType)
-	?SetType@TPhoneCmdParamTransEffect@@QAEXW4TPhoneTransEffectType@@@Z @ 300 NONAME ; void TPhoneCmdParamTransEffect::SetType(enum TPhoneTransEffectType)
-	?Bitmap@TPhoneCmdParamBitmap@@QBEPAVCFbsBitmap@@XZ @ 301 NONAME ; class CFbsBitmap * TPhoneCmdParamBitmap::Bitmap(void) const
-	?After@CPhoneTimer@@QAEXVTTimeIntervalMicroSeconds32@@VTCallBack@@@Z @ 302 NONAME ; void CPhoneTimer::After(class TTimeIntervalMicroSeconds32, class TCallBack)
+	?SetText@TPhoneCmdParamGlobalNote@@QAEXABVTDesC16@@@Z @ 32 NONAME ; void TPhoneCmdParamGlobalNote::SetText(class TDesC16 const &)
+	?AddLibraryL@CPhoneLibraryContainer@@QAEXABVRLibrary@@@Z @ 33 NONAME ; void CPhoneLibraryContainer::AddLibraryL(class RLibrary const &)
+	??1CPhoneResourceResolverBase@@UAE@XZ @ 34 NONAME ; CPhoneResourceResolverBase::~CPhoneResourceResolverBase(void)
+	?SetInt@CPhoneCenRepProxy@@QAEHABVTUid@@IH@Z @ 35 NONAME ; int CPhoneCenRepProxy::SetInt(class TUid const &, unsigned int, int)
+	?GetCustomCommandForTimeOut@TPhoneCmdParamQuery@@QBEHAAH@Z @ 36 NONAME ; int TPhoneCmdParamQuery::GetCustomCommandForTimeOut(int &) const
+	?ParamId@TPhoneCommandParam@@QBE?AW4TPhoneParamId@1@XZ @ 37 NONAME ; enum TPhoneCommandParam::TPhoneParamId TPhoneCommandParam::ParamId(void) const
+	?SetString@CPhoneCenRepProxy@@QAEHABVTUid@@IABVTDesC16@@@Z @ 38 NONAME ; int CPhoneCenRepProxy::SetString(class TUid const &, unsigned int, class TDesC16 const &)
+	?Line2@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 39 NONAME ; int TPhoneCmdParamCallHeaderData::Line2(void) const
+	??1CPhoneTimer@@UAE@XZ @ 40 NONAME ; CPhoneTimer::~CPhoneTimer(void)
+	?LogMsgFromPEToPhoneUIEnd@CPhoneLogger@@QAEXH@Z @ 41 NONAME ; void CPhoneLogger::LogMsgFromPEToPhoneUIEnd(int)
+	?DialerController@TPhoneCmdParamCustomDialer@@QAEPAVMPhoneDialerController@@XZ @ 42 NONAME ; class MPhoneDialerController * TPhoneCmdParamCustomDialer::DialerController(void)
+	?SetMultipleInstances@TPhoneCmdParamAppInfo@@QAEXH@Z @ 43 NONAME ; void TPhoneCmdParamAppInfo::SetMultipleInstances(int)
+	?ChangePropertyValue@CPhonePubSubProxy@@QAEXABVTUid@@IH@Z @ 44 NONAME ; void CPhonePubSubProxy::ChangePropertyValue(class TUid const &, unsigned int, int)
+	?SetThumbnail@TPhoneCmdParamCallHeaderData@@QAEXPAVCFbsBitmap@@@Z @ 45 NONAME ; void TPhoneCmdParamCallHeaderData::SetThumbnail(class CFbsBitmap *)
+	?SetCbaCommandMapping@TPhoneCmdParamQuery@@QAEXHH@Z @ 46 NONAME ; void TPhoneCmdParamQuery::SetCbaCommandMapping(int, int)
+	?EventCode@TPhoneCmdParamKeyEvent@@QBE?AW4TEventCode@@XZ @ 47 NONAME ; enum TEventCode TPhoneCmdParamKeyEvent::EventCode(void) const
+	?KeyEvent@TPhoneCmdParamKeyEvent@@QBE?BUTKeyEvent@@XZ @ 48 NONAME ; struct TKeyEvent const TPhoneCmdParamKeyEvent::KeyEvent(void) const
+	?SetDataText@TPhoneCmdParamQuery@@QAEXPAVTDes16@@@Z @ 49 NONAME ; void TPhoneCmdParamQuery::SetDataText(class TDes16 *)
+	??0TPhoneCmdParamAppInfo@@QAE@XZ @ 50 NONAME ; TPhoneCmdParamAppInfo::TPhoneCmdParamAppInfo(void)
+	?LittleBubbleVisible@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 51 NONAME ; int TPhoneCmdParamIncallIndicatorData::LittleBubbleVisible(void) const
+	?SetCallState@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 52 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetCallState(int)
+	?GetString@CPhoneCenRepProxy@@QBEHABVTUid@@IAAVTDes16@@@Z @ 53 NONAME ; int CPhoneCenRepProxy::GetString(class TUid const &, unsigned int, class TDes16 &) const
+	?SetCauseCode@TPhoneCmdParamGlobalNote@@QAEXH@Z @ 54 NONAME ; void TPhoneCmdParamGlobalNote::SetCauseCode(int)
+	?ResourceId@TPhoneCmdParamProgressNote@@QBEHXZ @ 55 NONAME ; int TPhoneCmdParamProgressNote::ResourceId(void) const
+	?CallId@TPhoneCmdParamCallStateData@@QBEHXZ @ 56 NONAME ; int TPhoneCmdParamCallStateData::CallId(void) const
+	?NotifyChangeL@CPhoneCenRepProxy@@QAEXABVTUid@@IPAVMPhoneCenRepObserver@@@Z @ 57 NONAME ; void CPhoneCenRepProxy::NotifyChangeL(class TUid const &, unsigned int, class MPhoneCenRepObserver *)
+	?SetResourceId@TPhoneCmdParamDynMenu@@QAEXH@Z @ 58 NONAME ; void TPhoneCmdParamDynMenu::SetResourceId(int)
+	?Validate@CPhoneKeys@@SAHABVTDesC16@@@Z @ 59 NONAME ; int CPhoneKeys::Validate(class TDesC16 const &)
+	??0TPhoneCmdParamKeyCapture@@QAE@XZ @ 60 NONAME ; TPhoneCmdParamKeyCapture::TPhoneCmdParamKeyCapture(void)
+	?SetResourceId@TPhoneCmdParamNote@@QAEXH@Z @ 61 NONAME ; void TPhoneCmdParamNote::SetResourceId(int)
+	?LogMsgFromPEToPhoneUI@CPhoneLogger@@QAEXHH@Z @ 62 NONAME ; void CPhoneLogger::LogMsgFromPEToPhoneUI(int, int)
+	?SetNotificationDialog@TPhoneCmdParamGlobalNote@@QAEXH@Z @ 63 NONAME ; void TPhoneCmdParamGlobalNote::SetNotificationDialog(int)
+	??0TPhoneCmdParamProgressNote@@QAE@XZ @ 64 NONAME ; TPhoneCmdParamProgressNote::TPhoneCmdParamProgressNote(void)
+	?CallState@TPhoneCmdParamCallStateData@@QBEHXZ @ 65 NONAME ; int TPhoneCmdParamCallStateData::CallState(void) const
+	?SetPointer@TPhoneCmdParamPointer@@QAEXPAX@Z @ 66 NONAME ; void TPhoneCmdParamPointer::SetPointer(void *)
+	??1CPhoneCenRepProxy@@UAE@XZ @ 67 NONAME ; CPhoneCenRepProxy::~CPhoneCenRepProxy(void)
+	?SetEventCode@TPhoneCmdParamKeyEvent@@QAEXW4TEventCode@@@Z @ 68 NONAME ; void TPhoneCmdParamKeyEvent::SetEventCode(enum TEventCode)
+	?WaitTime@TPhoneCmdParamProgressNote@@QBE?AVTTimeIntervalMicroSeconds32@@XZ @ 69 NONAME ; class TTimeIntervalMicroSeconds32 TPhoneCmdParamProgressNote::WaitTime(void) const
+	?SetParam@TPhoneCmdParamAppInfo@@QAEXABVTDesC8@@@Z @ 70 NONAME ; void TPhoneCmdParamAppInfo::SetParam(class TDesC8 const &)
+	??0TPhoneCmdParamPointer@@QAE@XZ @ 71 NONAME ; TPhoneCmdParamPointer::TPhoneCmdParamPointer(void)
+	??0TPhoneCmdParamGlobalNote@@QAE@XZ @ 72 NONAME ; TPhoneCmdParamGlobalNote::TPhoneCmdParamGlobalNote(void)
+	?CallType@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 73 NONAME ; int TPhoneCmdParamCallHeaderData::CallType(void) const
+	?SetCiphering@TPhoneCmdParamEmergencyCallHeaderData@@QAEXH@Z @ 74 NONAME ; void TPhoneCmdParamEmergencyCallHeaderData::SetCiphering(int)
+	?SetTone@TPhoneCmdParamNote@@QAEXW4TTone@CAknNoteDialog@@@Z @ 75 NONAME ; void TPhoneCmdParamNote::SetTone(enum CAknNoteDialog::TTone)
+	?SetCustomCommandForTimeOut@TPhoneCmdParamQuery@@QAEXH@Z @ 76 NONAME ; void TPhoneCmdParamQuery::SetCustomCommandForTimeOut(int)
+	??1TPhoneCmdParamCallHeaderData@@QAE@XZ @ 77 NONAME ; TPhoneCmdParamCallHeaderData::~TPhoneCmdParamCallHeaderData(void)
+	?IsBTAccAvailable@TPhoneCmdParamAudioAvailability@@QBEHXZ @ 78 NONAME ; int TPhoneCmdParamAudioAvailability::IsBTAccAvailable(void) const
+	?NewL@CPhoneStorage@@SAPAV1@XZ @ 79 NONAME ; class CPhoneStorage * CPhoneStorage::NewL(void)
+	?CNAPTextClippingDirection@TPhoneCmdParamCallHeaderData@@QBE?AW4TPhoneTextClippingDirection@1@XZ @ 80 NONAME ; enum TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection TPhoneCmdParamCallHeaderData::CNAPTextClippingDirection(void) const
+	?Timeout@TPhoneCmdParamNote@@QBE?AW4TTimeout@CAknNoteDialog@@XZ @ 81 NONAME ; enum CAknNoteDialog::TTimeout TPhoneCmdParamNote::Timeout(void) const
+	?Instance@CPhoneRecoverySystem@@SAPAV1@XZ @ 82 NONAME ; class CPhoneRecoverySystem * CPhoneRecoverySystem::Instance(void)
+	?CancelTimer@CPhoneTimer@@QAEXXZ @ 83 NONAME ; void CPhoneTimer::CancelTimer(void)
+	?NewL@CPhoneTimer@@SAPAV1@H@Z @ 84 NONAME ; class CPhoneTimer * CPhoneTimer::NewL(int)
+	?GetInt@CPhoneCenRepProxy@@QBEHABVTUid@@IAAH@Z @ 85 NONAME ; int CPhoneCenRepProxy::GetInt(class TUid const &, unsigned int, int &) const
+	?SetTextToSay@TPhoneCmdParamRingTone@@QAEXABVTDesC16@@@Z @ 86 NONAME ; void TPhoneCmdParamRingTone::SetTextToSay(class TDesC16 const &)
+	?SetCallState@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 87 NONAME ; void TPhoneCmdParamCallHeaderData::SetCallState(int)
+	?ContentCba@TPhoneCmdParamQuery@@QBEHXZ @ 88 NONAME ; int TPhoneCmdParamQuery::ContentCba(void) const
+	?SetTextResourceId@TPhoneCmdParamGlobalNote@@QAEXH@Z @ 89 NONAME ; void TPhoneCmdParamGlobalNote::SetTextResourceId(int)
+	??0TPhoneCmdParamDynMenu@@QAE@XZ @ 90 NONAME ; TPhoneCmdParamDynMenu::TPhoneCmdParamDynMenu(void)
+	?CancelAllNotifications@CPhonePubSubProxy@@SAXPAVMPhonePubSubObserver@@@Z @ 91 NONAME ; void CPhonePubSubProxy::CancelAllNotifications(class MPhonePubSubObserver *)
+	??0TPhoneCommandParam@@QAE@XZ @ 92 NONAME ; TPhoneCommandParam::TPhoneCommandParam(void)
+	?SetCLIText@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@W4TPhoneTextClippingDirection@1@@Z @ 93 NONAME ; void TPhoneCmdParamCallHeaderData::SetCLIText(class TDesC16 const &, enum TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection)
+	??1CPhoneLogger@@UAE@XZ @ 94 NONAME ; CPhoneLogger::~CPhoneLogger(void)
+	?SetCallState@TPhoneCmdParamCallStateData@@QAEXH@Z @ 95 NONAME ; void TPhoneCmdParamCallStateData::SetCallState(int)
+	?CallerText@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 96 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::CallerText(void) const
+	?Diverted@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 97 NONAME ; int TPhoneCmdParamCallHeaderData::Diverted(void) const
+	?String@TPhoneCmdParamString@@QAEPAVTPtr16@@XZ @ 98 NONAME ; class TPtr16 * TPhoneCmdParamString::String(void)
+	?SetKey@TPhoneCmdParamKeyCapture@@QAEXW4TStdScanCode@@@Z @ 99 NONAME ; void TPhoneCmdParamKeyCapture::SetKey(enum TStdScanCode)
+	?NotificationDialog@TPhoneCmdParamGlobalNote@@QBEHXZ @ 100 NONAME ; int TPhoneCmdParamGlobalNote::NotificationDialog(void) const
+	?IsExtraChar@CPhoneKeys@@SAHH@Z @ 101 NONAME ; int CPhoneKeys::IsExtraChar(int)
+	?SetDynMenu@TPhoneCmdParamDynMenu@@QAEXPAX@Z @ 102 NONAME ; void TPhoneCmdParamDynMenu::SetDynMenu(void *)
+	?IsSecondHashKey@CPhoneKeys@@SAHABVTDes16@@@Z @ 103 NONAME ; int CPhoneKeys::IsSecondHashKey(class TDes16 const &)
+	?SetCallerImageStatus@TPhoneCmdParamRingTone@@QAEXH@Z @ 104 NONAME ; void TPhoneCmdParamRingTone::SetCallerImageStatus(int)
+	?SetTimeout@TPhoneCmdParamGlobalNote@@QAEXH@Z @ 105 NONAME ; void TPhoneCmdParamGlobalNote::SetTimeout(int)
+	?GetReal@CPhoneCenRepProxy@@QBEHABVTUid@@IAAN@Z @ 106 NONAME ; int CPhoneCenRepProxy::GetReal(class TUid const &, unsigned int, double &) const
+	?SetShortLabelText@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@@Z @ 107 NONAME ; void TPhoneCmdParamCallHeaderData::SetShortLabelText(class TDesC16 const &)
+	?SetDialerController@TPhoneCmdParamCustomDialer@@QAEXPAVMPhoneDialerController@@@Z @ 108 NONAME ; void TPhoneCmdParamCustomDialer::SetDialerController(class MPhoneDialerController *)
+	?RingTone@TPhoneCmdParamRingTone@@QBEABVTDesC16@@XZ @ 109 NONAME ; class TDesC16 const & TPhoneCmdParamRingTone::RingTone(void) const
+	?TimeOut@TPhoneCmdParamQuery@@QBEHXZ @ 110 NONAME ; int TPhoneCmdParamQuery::TimeOut(void) const
+	?ShortLabelText@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 111 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::ShortLabelText(void) const
+	?SetInteger@TPhoneCmdParamInteger@@QAEXH@Z @ 112 NONAME ; void TPhoneCmdParamInteger::SetInteger(int)
+	?SetMaskBitmap@TPhoneCmdParamBitmap@@QAEXPAVCFbsBitmap@@@Z @ 113 NONAME ; void TPhoneCmdParamBitmap::SetMaskBitmap(class CFbsBitmap *)
+	?SetTimeout@TPhoneCmdParamNote@@QAEXW4TTimeout@CAknNoteDialog@@@Z @ 114 NONAME ; void TPhoneCmdParamNote::SetTimeout(enum CAknNoteDialog::TTimeout)
+	?SetCustomMessage@TPhoneCmdParamAppInfo@@QAEXABVTDesC8@@@Z @ 115 NONAME ; void TPhoneCmdParamAppInfo::SetCustomMessage(class TDesC8 const &)
+	?BaseConstructL@CPhoneResourceResolverBase@@QAEXXZ @ 116 NONAME ; void CPhoneResourceResolverBase::BaseConstructL(void)
+	?SetTextResourceId@TPhoneCmdParamNote@@QAEXH@Z @ 117 NONAME ; void TPhoneCmdParamNote::SetTextResourceId(int)
+	?SetString@TPhoneCmdParamString@@QAEXPAVTPtr16@@@Z @ 118 NONAME ; void TPhoneCmdParamString::SetString(class TPtr16 *)
+	?SetAppUid@TPhoneCmdParamAppInfo@@QAEXABVTUid@@@Z @ 119 NONAME ; void TPhoneCmdParamAppInfo::SetAppUid(class TUid const &)
+	?SetBTAccAvailable@TPhoneCmdParamAudioAvailability@@QAEXH@Z @ 120 NONAME ; void TPhoneCmdParamAudioAvailability::SetBTAccAvailable(int)
+	?IsTelephonyFeatureSupported@CPhoneCenRepProxy@@QAEHH@Z @ 121 NONAME ; int CPhoneCenRepProxy::IsTelephonyFeatureSupported(int)
+	?CallImageThemeFilePath@CPhoneCallThemeMonitor@@QBE?AVTPtrC16@@XZ @ 122 NONAME ; class TPtrC16 CPhoneCallThemeMonitor::CallImageThemeFilePath(void) const
+	?HasThumbnail@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 123 NONAME ; int TPhoneCmdParamCallHeaderData::HasThumbnail(void) const
+	?ClearBlackListNow@CPhoneClearBlacklist@@QAEXXZ @ 124 NONAME ; void CPhoneClearBlacklist::ClearBlackListNow(void)
+	?SetCipheringIndicatorAllowed@TPhoneCmdParamEmergencyCallHeaderData@@QAEXH@Z @ 125 NONAME ; void TPhoneCmdParamEmergencyCallHeaderData::SetCipheringIndicatorAllowed(int)
+	?SetCommandParamId@TPhoneCmdParamQuery@@QAEXW4TPhoneParamId@TPhoneCommandParam@@@Z @ 126 NONAME ; void TPhoneCmdParamQuery::SetCommandParamId(enum TPhoneCommandParam::TPhoneParamId)
+	??0TPhoneCmdParamEmergencyCallHeaderData@@QAE@XZ @ 127 NONAME ; TPhoneCmdParamEmergencyCallHeaderData::TPhoneCmdParamEmergencyCallHeaderData(void)
+	?After@CPhoneTimer@@QAEXVTTimeIntervalMicroSeconds32@@PAVMPhoneTimer@@@Z @ 128 NONAME ; void CPhoneTimer::After(class TTimeIntervalMicroSeconds32, class MPhoneTimer *)
+	?NewL@CPhoneLibraryContainer@@SAPAV1@XZ @ 129 NONAME ; class CPhoneLibraryContainer * CPhoneLibraryContainer::NewL(void)
+	?CreateL@CPhoneClearBlacklist@@SAPAV1@AAVRWsSession@@ABVRWindowBase@@@Z @ 130 NONAME ; class CPhoneClearBlacklist * CPhoneClearBlacklist::CreateL(class RWsSession &, class RWindowBase const &)
+	??1CPhoneStorage@@UAE@XZ @ 131 NONAME ; CPhoneStorage::~CPhoneStorage(void)
+	?SetVolume@TPhoneCmdParamRingTone@@QAEXH@Z @ 132 NONAME ; void TPhoneCmdParamRingTone::SetVolume(int)
+	??0TPhoneCmdParamString@@QAE@XZ @ 133 NONAME ; TPhoneCmdParamString::TPhoneCmdParamString(void)
+	?SetContactLink@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC8@@@Z @ 134 NONAME ; void TPhoneCmdParamCallHeaderData::SetContactLink(class TDesC8 const &)
+	??4TPhoneCmdParamQuery@@QAEAAV0@ABV0@@Z @ 135 NONAME ; class TPhoneCmdParamQuery & TPhoneCmdParamQuery::operator=(class TPhoneCmdParamQuery const &)
+	??0TPhoneCmdParamAudioAvailability@@QAE@XZ @ 136 NONAME ; TPhoneCmdParamAudioAvailability::TPhoneCmdParamAudioAvailability(void)
+	?Timeout@TPhoneCmdParamGlobalNote@@QBEHXZ @ 137 NONAME ; int TPhoneCmdParamGlobalNote::Timeout(void) const
+	??0TPhoneCmdParamRingTone@@QAE@XZ @ 138 NONAME ; TPhoneCmdParamRingTone::TPhoneCmdParamRingTone(void)
+	?Observer@TPhoneCmdParamNumberEntryObserver@@QAE?AVTCallBack@@XZ @ 139 NONAME ; class TCallBack TPhoneCmdParamNumberEntryObserver::Observer(void)
+	??0CPhoneResourceResolverBase@@IAE@XZ @ 140 NONAME ; CPhoneResourceResolverBase::CPhoneResourceResolverBase(void)
+	?SetCallId@TPhoneCmdParamCallStateData@@QAEXH@Z @ 141 NONAME ; void TPhoneCmdParamCallStateData::SetCallId(int)
+	?MultipleInstances@TPhoneCmdParamAppInfo@@QBEHXZ @ 142 NONAME ; int TPhoneCmdParamAppInfo::MultipleInstances(void) const
+	?ItemTextArrayForListQuery@TPhoneCmdParamQuery@@QBEPAVMDesC16Array@@XZ @ 143 NONAME ; class MDesC16Array * TPhoneCmdParamQuery::ItemTextArrayForListQuery(void) const
+	?SetHeaderText@TPhoneCmdParamEmergencyCallHeaderData@@QAEXABVTDesC16@@@Z @ 144 NONAME ; void TPhoneCmdParamEmergencyCallHeaderData::SetHeaderText(class TDesC16 const &)
+	?SetContentCba@TPhoneCmdParamQuery@@QAEXH@Z @ 145 NONAME ; void TPhoneCmdParamQuery::SetContentCba(int)
+	?CaptureType@TPhoneCmdParamKeyCapture@@QBE?AW4TPhoneCaptureType@@XZ @ 146 NONAME ; enum TPhoneCaptureType TPhoneCmdParamKeyCapture::CaptureType(void) const
+	?SetQueryResourceId@TPhoneCmdParamQuery@@QAEXH@Z @ 147 NONAME ; void TPhoneCmdParamQuery::SetQueryResourceId(int)
+	?CancelNotify@CPhoneCenRepProxy@@QAEXPAVMPhoneCenRepObserver@@I@Z @ 148 NONAME ; void CPhoneCenRepProxy::CancelNotify(class MPhoneCenRepObserver *, unsigned int)
+	?Param@TPhoneCmdParamAppInfo@@QBEABVTDesC8@@XZ @ 149 NONAME ; class TDesC8 const & TPhoneCmdParamAppInfo::Param(void) const
+	??0CPhoneMethodLogger@@QAE@W4TPhoneUILoggingComponent@@VTPtrC16@@@Z @ 150 NONAME ; CPhoneMethodLogger::CPhoneMethodLogger(enum TPhoneUILoggingComponent, class TPtrC16)
+	?IsDtmfTone@CPhoneKeys@@SAHABUTKeyEvent@@W4TEventCode@@@Z @ 151 NONAME ; int CPhoneKeys::IsDtmfTone(struct TKeyEvent const &, enum TEventCode)
+	?SetMode@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 152 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetMode(int)
+	?NewL@CPhoneCallThemeMonitor@@SAPAV1@XZ @ 153 NONAME ; class CPhoneCallThemeMonitor * CPhoneCallThemeMonitor::NewL(void)
+	?SendKeyEnabled@TPhoneCmdParamQuery@@QBEHXZ @ 154 NONAME ; int TPhoneCmdParamQuery::SendKeyEnabled(void) const
+	?SetNeedToEnableKeylock@CPhoneStorage@@UAEXH@Z @ 155 NONAME ; void CPhoneStorage::SetNeedToEnableKeylock(int)
+	?Find@CPhoneCenRepProxy@@QBEHABVTUid@@KKAAV?$RArray@K@@@Z @ 156 NONAME ; int CPhoneCenRepProxy::Find(class TUid const &, unsigned long, unsigned long, class RArray<unsigned long> &) const
+	?SetLabelText@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@@Z @ 157 NONAME ; void TPhoneCmdParamCallHeaderData::SetLabelText(class TDesC16 const &)
+	?CNAPText@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 158 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::CNAPText(void) const
+	?SetOwnPhoneNumberText@TPhoneCmdParamEmergencyCallHeaderData@@QAEXABVTDesC16@@@Z @ 159 NONAME ; void TPhoneCmdParamEmergencyCallHeaderData::SetOwnPhoneNumberText(class TDesC16 const &)
+	?Emergency@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 160 NONAME ; int TPhoneCmdParamIncallIndicatorData::Emergency(void) const
+	?AppUid@TPhoneCmdParamAppInfo@@QBE?AVTUid@@XZ @ 161 NONAME ; class TUid TPhoneCmdParamAppInfo::AppUid(void) const
+	?CustomMessage@TPhoneCmdParamAppInfo@@QBEABVTDesC8@@XZ @ 162 NONAME ; class TDesC8 const & TPhoneCmdParamAppInfo::CustomMessage(void) const
+	?QueryResourceId@TPhoneCmdParamQuery@@QBEHXZ @ 163 NONAME ; int TPhoneCmdParamQuery::QueryResourceId(void) const
+	?NotifyChangeL@CPhonePubSubProxy@@QAEXABVTUid@@IPAVMPhonePubSubObserver@@@Z @ 164 NONAME ; void CPhonePubSubProxy::NotifyChangeL(class TUid const &, unsigned int, class MPhonePubSubObserver *)
+	?SetRingTone@TPhoneCmdParamRingTone@@QAEXABVTDesC16@@@Z @ 165 NONAME ; void TPhoneCmdParamRingTone::SetRingTone(class TDesC16 const &)
+	?SetEmergency@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 166 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetEmergency(int)
+	?SetDefaultCba@TPhoneCmdParamQuery@@QAEXH@Z @ 167 NONAME ; void TPhoneCmdParamQuery::SetDefaultCba(int)
+	?Type@TPhoneCmdParamTransEffect@@QBE?AW4TPhoneTransEffectType@@XZ @ 168 NONAME ; enum TPhoneTransEffectType TPhoneCmdParamTransEffect::Type(void) const
+	??0TPhoneCmdParamSfiData@@QAE@XZ @ 169 NONAME ; TPhoneCmdParamSfiData::TPhoneCmdParamSfiData(void)
+	??0TPhoneCmdParamCallHeaderData@@QAE@XZ @ 170 NONAME ; TPhoneCmdParamCallHeaderData::TPhoneCmdParamCallHeaderData(void)
+	??1CPhoneClearBlacklist@@UAE@XZ @ 171 NONAME ; CPhoneClearBlacklist::~CPhoneClearBlacklist(void)
+	?SetMute@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 172 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetMute(int)
+	?KeyCode@TPhoneCmdParamKeyCapture@@QBE?AW4TKeyCode@@XZ @ 173 NONAME ; enum TKeyCode TPhoneCmdParamKeyCapture::KeyCode(void) const
+	?IsNumberKey@CPhoneKeys@@SAHABUTKeyEvent@@W4TEventCode@@@Z @ 174 NONAME ; int CPhoneKeys::IsNumberKey(struct TKeyEvent const &, enum TEventCode)
+	?TextResourceId@TPhoneCmdParamGlobalNote@@QBEHXZ @ 175 NONAME ; int TPhoneCmdParamGlobalNote::TextResourceId(void) const
+	?SetCiphering@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 176 NONAME ; void TPhoneCmdParamCallHeaderData::SetCiphering(int)
+	?EnablePreconditionL@CPhoneRecoverySystem@@QAEXXZ @ 177 NONAME ; void CPhoneRecoverySystem::EnablePreconditionL(void)
+	?AddL@CPhoneRecoverySystem@@QAEHVTCallBack@@CW4TRecoveryState@CTeleRecoverySystem@@@Z @ 178 NONAME ; int CPhoneRecoverySystem::AddL(class TCallBack, signed char, enum CTeleRecoverySystem::TRecoveryState)
+	?SetLine2@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 179 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetLine2(int)
+	?SetAudioOutput@TPhoneCmdParamAudioOutput@@QAEXW4TPEAudioOutput@@@Z @ 180 NONAME ; void TPhoneCmdParamAudioOutput::SetAudioOutput(enum TPEAudioOutput)
+	?HeaderText@TPhoneCmdParamEmergencyCallHeaderData@@QBEABVTDesC16@@XZ @ 181 NONAME ; class TDesC16 const & TPhoneCmdParamEmergencyCallHeaderData::HeaderText(void) const
+	?CallImageThemeSettings@CPhoneCallThemeMonitor@@QBEHXZ @ 182 NONAME ; int CPhoneCallThemeMonitor::CallImageThemeSettings(void) const
+	??0TPhoneCmdParamTransEffect@@QAE@XZ @ 183 NONAME ; TPhoneCmdParamTransEffect::TPhoneCmdParamTransEffect(void)
+	?Number@TPhoneCmdParamSfiData@@QBEABVTDesC16@@XZ @ 184 NONAME ; class TDesC16 const & TPhoneCmdParamSfiData::Number(void) const
+	?OwnPhoneNumberText@TPhoneCmdParamEmergencyCallHeaderData@@QBEABVTDesC16@@XZ @ 185 NONAME ; class TDesC16 const & TPhoneCmdParamEmergencyCallHeaderData::OwnPhoneNumberText(void) const
+	?CauseCode@TPhoneCmdParamGlobalNote@@QBEHXZ @ 186 NONAME ; int TPhoneCmdParamGlobalNote::CauseCode(void) const
+	?QueryPrompt@TPhoneCmdParamQuery@@QBEABVTDesC16@@XZ @ 187 NONAME ; class TDesC16 const & TPhoneCmdParamQuery::QueryPrompt(void) const
+	?SetQueryPrompt@TPhoneCmdParamQuery@@QAEXABVTDesC16@@@Z @ 188 NONAME ; void TPhoneCmdParamQuery::SetQueryPrompt(class TDesC16 const &)
+	?Type@TPhoneCmdParamGlobalNote@@QBE?AW4PhoneNotificationType@@XZ @ 189 NONAME ; enum PhoneNotificationType TPhoneCmdParamGlobalNote::Type(void) const
+	?IsNumericKey@CPhoneKeys@@SAHABUTKeyEvent@@W4TEventCode@@@Z @ 190 NONAME ; int CPhoneKeys::IsNumericKey(struct TKeyEvent const &, enum TEventCode)
+	?SetCaptureType@TPhoneCmdParamKeyCapture@@QAEXW4TPhoneCaptureType@@@Z @ 191 NONAME ; void TPhoneCmdParamKeyCapture::SetCaptureType(enum TPhoneCaptureType)
+	?ViewUid@TPhoneCmdParamAppInfo@@QBE?AVTUid@@XZ @ 192 NONAME ; class TUid TPhoneCmdParamAppInfo::ViewUid(void) const
+	?SetLabelText@TPhoneCmdParamEmergencyCallHeaderData@@QAEXABVTDesC16@@@Z @ 193 NONAME ; void TPhoneCmdParamEmergencyCallHeaderData::SetLabelText(class TDesC16 const &)
+	?IsCallerText@TPhoneCmdParamRingTone@@QAEHXZ @ 194 NONAME ; int TPhoneCmdParamRingTone::IsCallerText(void)
+	?SetBitmap@TPhoneCmdParamBitmap@@QAEXPAVCFbsBitmap@@@Z @ 195 NONAME ; void TPhoneCmdParamBitmap::SetBitmap(class CFbsBitmap *)
+	?SetNumber@TPhoneCmdParamSfiData@@QAEXABVTDesC16@@@Z @ 196 NONAME ; void TPhoneCmdParamSfiData::SetNumber(class TDesC16 const &)
+	?CipheringIndicatorAllowed@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 197 NONAME ; int TPhoneCmdParamCallHeaderData::CipheringIndicatorAllowed(void) const
+	?Name@TPhoneCmdParamSfiData@@QBEABVTDesC16@@XZ @ 198 NONAME ; class TDesC16 const & TPhoneCmdParamSfiData::Name(void) const
+	??0TPhoneCmdParamQuery@@QAE@ABV0@@Z @ 199 NONAME ; TPhoneCmdParamQuery::TPhoneCmdParamQuery(class TPhoneCmdParamQuery const &)
+	?CallState@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 200 NONAME ; int TPhoneCmdParamCallHeaderData::CallState(void) const
+	??0TPhoneCmdParamIncallIndicatorData@@QAE@XZ @ 201 NONAME ; TPhoneCmdParamIncallIndicatorData::TPhoneCmdParamIncallIndicatorData(void)
+	?Picture@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 202 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::Picture(void) const
+	?SetCallThemeSettingsObserver@CPhoneCallThemeMonitor@@QAEXPAVMPhoneCallThemeSettingsObserver@@@Z @ 203 NONAME ; void CPhoneCallThemeMonitor::SetCallThemeSettingsObserver(class MPhoneCallThemeSettingsObserver *)
+	?SetDiverted@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 204 NONAME ; void TPhoneCmdParamCallHeaderData::SetDiverted(int)
+	?ServiceId@TPhoneCmdParamCallHeaderData@@QBEKXZ @ 205 NONAME ; unsigned long TPhoneCmdParamCallHeaderData::ServiceId(void) const
+	?LabelText@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 206 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::LabelText(void) const
+	?Overflow@CPhoneLogger@@EAEXAAVTDes16@@@Z @ 207 NONAME ; void CPhoneLogger::Overflow(class TDes16 &)
+	?SetCNAPText@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@W4TPhoneTextClippingDirection@1@@Z @ 208 NONAME ; void TPhoneCmdParamCallHeaderData::SetCNAPText(class TDesC16 const &, enum TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection)
+	?SetKeyEvent@TPhoneCmdParamKeyEvent@@QAEXABUTKeyEvent@@@Z @ 209 NONAME ; void TPhoneCmdParamKeyEvent::SetKeyEvent(struct TKeyEvent const &)
+	?Instance@CPhonePubSubProxy@@SAPAV1@XZ @ 210 NONAME ; class CPhonePubSubProxy * CPhonePubSubProxy::Instance(void)
+	?ResourceId@TPhoneCmdParamNote@@QBEHXZ @ 211 NONAME ; int TPhoneCmdParamNote::ResourceId(void) const
+	?CipheringIndicatorAllowed@TPhoneCmdParamEmergencyCallHeaderData@@QBEHXZ @ 212 NONAME ; int TPhoneCmdParamEmergencyCallHeaderData::CipheringIndicatorAllowed(void) const
+	?CancelAllNotifies@CPhoneCenRepProxy@@SAXPAVMPhoneCenRepObserver@@@Z @ 213 NONAME ; void CPhoneCenRepProxy::CancelAllNotifies(class MPhoneCenRepObserver *)
+	?TextResourceId@TPhoneCmdParamNote@@QBEHXZ @ 214 NONAME ; int TPhoneCmdParamNote::TextResourceId(void) const
+	?SetRemotePhoneNumber@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@@Z @ 215 NONAME ; void TPhoneCmdParamCallHeaderData::SetRemotePhoneNumber(class TDesC16 const &)
+	?CipheringIndicatorAllowed@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 216 NONAME ; int TPhoneCmdParamIncallIndicatorData::CipheringIndicatorAllowed(void) const
+	??0TPhoneCmdParamCallStateData@@QAE@XZ @ 217 NONAME ; TPhoneCmdParamCallStateData::TPhoneCmdParamCallStateData(void)
+	?SetKeyCode@TPhoneCmdParamKeyCapture@@QAEXW4TKeyCode@@@Z @ 218 NONAME ; void TPhoneCmdParamKeyCapture::SetKeyCode(enum TKeyCode)
+	?CustomMessageId@TPhoneCmdParamAppInfo@@QBE?AVTUid@@XZ @ 219 NONAME ; class TUid TPhoneCmdParamAppInfo::CustomMessageId(void) const
+	?RemotePhoneNumber@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 220 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::RemotePhoneNumber(void) const
+	?SetType@TPhoneCmdParamNote@@QAEXW4TPhoneNoteType@@@Z @ 221 NONAME ; void TPhoneCmdParamNote::SetType(enum TPhoneNoteType)
+	?Instance@CPhoneClearBlacklist@@SAPAV1@XZ @ 222 NONAME ; class CPhoneClearBlacklist * CPhoneClearBlacklist::Instance(void)
+	?TextToSay@TPhoneCmdParamRingTone@@QBEABVTDesC16@@XZ @ 223 NONAME ; class TDesC16 const & TPhoneCmdParamRingTone::TextToSay(void) const
+	?Type@TPhoneCmdParamNote@@QBE?AW4TPhoneNoteType@@XZ @ 224 NONAME ; enum TPhoneNoteType TPhoneCmdParamNote::Type(void) const
+	?SetPicture@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@@Z @ 225 NONAME ; void TPhoneCmdParamCallHeaderData::SetPicture(class TDesC16 const &)
+	?Integer@TPhoneCmdParamInteger@@QBEHXZ @ 226 NONAME ; int TPhoneCmdParamInteger::Integer(void) const
+	?Mode@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 227 NONAME ; int TPhoneCmdParamIncallIndicatorData::Mode(void) const
+	?SetCallerTextStatus@TPhoneCmdParamRingTone@@QAEXH@Z @ 228 NONAME ; void TPhoneCmdParamRingTone::SetCallerTextStatus(int)
+	?SetText@TPhoneCmdParamNote@@QAEXABVTDesC16@@@Z @ 229 NONAME ; void TPhoneCmdParamNote::SetText(class TDesC16 const &)
+	?IsWiredAccAvailable@TPhoneCmdParamAudioAvailability@@QBEHXZ @ 230 NONAME ; int TPhoneCmdParamAudioAvailability::IsWiredAccAvailable(void) const
+	??0TPhoneCmdParamBoolean@@QAE@XZ @ 231 NONAME ; TPhoneCmdParamBoolean::TPhoneCmdParamBoolean(void)
+	?QueryCommandObserver@TPhoneCmdParamQuery@@QAEPAVMPhoneQueryCommandObserver@@XZ @ 232 NONAME ; class MPhoneQueryCommandObserver * TPhoneCmdParamQuery::QueryCommandObserver(void)
+	?DataText@TPhoneCmdParamQuery@@QBEPAVTDes16@@XZ @ 233 NONAME ; class TDes16 * TPhoneCmdParamQuery::DataText(void) const
+	?SetReal@CPhoneCenRepProxy@@QAEHABVTUid@@IN@Z @ 234 NONAME ; int CPhoneCenRepProxy::SetReal(class TUid const &, unsigned int, double)
+	??0TPhoneCmdParamCustomDialer@@QAE@XZ @ 235 NONAME ; TPhoneCmdParamCustomDialer::TPhoneCmdParamCustomDialer(void)
+	??1CPhonePubSubProxy@@UAE@XZ @ 236 NONAME ; CPhonePubSubProxy::~CPhonePubSubProxy(void)
+	??0TPhoneCmdParamNote@@QAE@XZ @ 237 NONAME ; TPhoneCmdParamNote::TPhoneCmdParamNote(void)
+	?Volume@TPhoneCmdParamRingTone@@QBEHXZ @ 238 NONAME ; int TPhoneCmdParamRingTone::Volume(void) const
+	?SetItemTextArrayForListQuery@TPhoneCmdParamQuery@@QAEXAAVMDesC16Array@@@Z @ 239 NONAME ; void TPhoneCmdParamQuery::SetItemTextArrayForListQuery(class MDesC16Array &)
+	?Type@TPhoneCmdParamRingTone@@QBE?AW4TPhoneRingToneType@@XZ @ 240 NONAME ; enum TPhoneRingToneType TPhoneCmdParamRingTone::Type(void) const
+	?Key@TPhoneCmdParamKeyCapture@@QBE?AW4TStdScanCode@@XZ @ 241 NONAME ; enum TStdScanCode TPhoneCmdParamKeyCapture::Key(void) const
+	?LabelText@TPhoneCmdParamEmergencyCallHeaderData@@QBEABVTDesC16@@XZ @ 242 NONAME ; class TDesC16 const & TPhoneCmdParamEmergencyCallHeaderData::LabelText(void) const
+	?Ciphering@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 243 NONAME ; int TPhoneCmdParamIncallIndicatorData::Ciphering(void) const
+	?SetQueryCommandObserver@TPhoneCmdParamQuery@@QAEXAAVMPhoneQueryCommandObserver@@@Z @ 244 NONAME ; void TPhoneCmdParamQuery::SetQueryCommandObserver(class MPhoneQueryCommandObserver &)
+	?IsPhoneUIFeatureSupported@CPhoneCenRepProxy@@QAEHH@Z @ 245 NONAME ; int CPhoneCenRepProxy::IsPhoneUIFeatureSupported(int)
+	?DefaultCba@TPhoneCmdParamQuery@@QBEHXZ @ 246 NONAME ; int TPhoneCmdParamQuery::DefaultCba(void) const
+	?CallState@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 247 NONAME ; int TPhoneCmdParamIncallIndicatorData::CallState(void) const
+	??0TPhoneCmdParamNumberEntryObserver@@QAE@XZ @ 248 NONAME ; TPhoneCmdParamNumberEntryObserver::TPhoneCmdParamNumberEntryObserver(void)
+	?SetLine2@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 249 NONAME ; void TPhoneCmdParamCallHeaderData::SetLine2(int)
+	?FetchValuesFromCenRepL@CPhoneCenRepProxy@@QAEXAAVTPhoneCmdParamAppInfo@@W4TKeyCode@@PAVHBufC8@@AAH@Z @ 250 NONAME ; void CPhoneCenRepProxy::FetchValuesFromCenRepL(class TPhoneCmdParamAppInfo &, enum TKeyCode, class HBufC8 *, int &)
+	?ParticipantCLI@TPhoneCmdParamCallHeaderData@@QBE?AW4TPhoneParticipantListCLI@1@XZ @ 251 NONAME ; enum TPhoneCmdParamCallHeaderData::TPhoneParticipantListCLI TPhoneCmdParamCallHeaderData::ParticipantCLI(void) const
+	?Thumbnail@TPhoneCmdParamCallHeaderData@@QBEPAVCFbsBitmap@@XZ @ 252 NONAME ; class CFbsBitmap * TPhoneCmdParamCallHeaderData::Thumbnail(void) const
+	?SetTimeOut@TPhoneCmdParamQuery@@QAEXH@Z @ 253 NONAME ; void TPhoneCmdParamQuery::SetTimeOut(int)
+	?Boolean@TPhoneCmdParamBoolean@@QBEHXZ @ 254 NONAME ; int TPhoneCmdParamBoolean::Boolean(void) const
+	?CLITextClippingDirection@TPhoneCmdParamCallHeaderData@@QBE?AW4TPhoneTextClippingDirection@1@XZ @ 255 NONAME ; enum TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection TPhoneCmdParamCallHeaderData::CLITextClippingDirection(void) const
+	?LogMsgFromPhoneUIToPE@CPhoneLogger@@QAEXHH@Z @ 256 NONAME ; void CPhoneLogger::LogMsgFromPhoneUIToPE(int, int)
+	?SetCustomMessageId@TPhoneCmdParamAppInfo@@QAEXABVTUid@@@Z @ 257 NONAME ; void TPhoneCmdParamAppInfo::SetCustomMessageId(class TUid const &)
+	?ResolveResourceID@CPhoneResourceResolverBase@@UBEHABH@Z @ 258 NONAME ; int CPhoneResourceResolverBase::ResolveResourceID(int const &) const
+	?SetName@TPhoneCmdParamSfiData@@QAEXABVTDesC16@@@Z @ 259 NONAME ; void TPhoneCmdParamSfiData::SetName(class TDesC16 const &)
+	?SetLittleBubbleVisible@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 260 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetLittleBubbleVisible(int)
+	?Ciphering@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 261 NONAME ; int TPhoneCmdParamCallHeaderData::Ciphering(void) const
+	?SetType@TPhoneCmdParamRingTone@@QAEXW4TPhoneRingToneType@@@Z @ 262 NONAME ; void TPhoneCmdParamRingTone::SetType(enum TPhoneRingToneType)
+	?ResourceId@TPhoneCmdParamDynMenu@@QBEHXZ @ 263 NONAME ; int TPhoneCmdParamDynMenu::ResourceId(void) const
+	?SetCipheringIndicatorAllowed@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 264 NONAME ; void TPhoneCmdParamCallHeaderData::SetCipheringIndicatorAllowed(int)
+	?SetWaitTime@TPhoneCmdParamProgressNote@@QAEXVTTimeIntervalMicroSeconds32@@@Z @ 265 NONAME ; void TPhoneCmdParamProgressNote::SetWaitTime(class TTimeIntervalMicroSeconds32)
+	?Ciphering@TPhoneCmdParamEmergencyCallHeaderData@@QBEHXZ @ 266 NONAME ; int TPhoneCmdParamEmergencyCallHeaderData::Ciphering(void) const
+	??1CPhoneCallThemeMonitor@@UAE@XZ @ 267 NONAME ; CPhoneCallThemeMonitor::~CPhoneCallThemeMonitor(void)
+	?SetNumberType@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 268 NONAME ; void TPhoneCmdParamCallHeaderData::SetNumberType(int)
+	?Mute@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 269 NONAME ; int TPhoneCmdParamIncallIndicatorData::Mute(void) const
+	?SetBoolean@TPhoneCmdParamBoolean@@QAEXH@Z @ 270 NONAME ; void TPhoneCmdParamBoolean::SetBoolean(int)
+	?IsTelephonyFeatureSupported@CPhoneResourceResolverBase@@MBEHH@Z @ 271 NONAME ; int CPhoneResourceResolverBase::IsTelephonyFeatureSupported(int) const
+	?Instance@CPhoneMainErrorMessagesHandler@@SAPAV1@XZ @ 272 NONAME ; class CPhoneMainErrorMessagesHandler * CPhoneMainErrorMessagesHandler::Instance(void)
+	?SetViewUid@TPhoneCmdParamAppInfo@@QAEXABVTUid@@@Z @ 273 NONAME ; void TPhoneCmdParamAppInfo::SetViewUid(class TUid const &)
+	?SetServiceId@TPhoneCmdParamCallHeaderData@@QAEXK@Z @ 274 NONAME ; void TPhoneCmdParamCallHeaderData::SetServiceId(unsigned long)
+	?Instance@CPhoneCenRepProxy@@SAPAV1@XZ @ 275 NONAME ; class CPhoneCenRepProxy * CPhoneCenRepProxy::Instance(void)
+	?SetQueryType@TPhoneCmdParamQuery@@QAEXW4TPhoneQueryType@@@Z @ 276 NONAME ; void TPhoneCmdParamQuery::SetQueryType(enum TPhoneQueryType)
+	?Value@CPhonePubSubProxy@@QAEHABVTUid@@I@Z @ 277 NONAME ; int CPhonePubSubProxy::Value(class TUid const &, unsigned int)
+	?SetWiredAccAvailable@TPhoneCmdParamAudioAvailability@@QAEXH@Z @ 278 NONAME ; void TPhoneCmdParamAudioAvailability::SetWiredAccAvailable(int)
+	??0TPhoneCmdParamAudioOutput@@QAE@XZ @ 279 NONAME ; TPhoneCmdParamAudioOutput::TPhoneCmdParamAudioOutput(void)
+	?IsCallerImage@TPhoneCmdParamRingTone@@QAEHXZ @ 280 NONAME ; int TPhoneCmdParamRingTone::IsCallerImage(void)
+	??0TPhoneCmdParamQuery@@QAE@XZ @ 281 NONAME ; TPhoneCmdParamQuery::TPhoneCmdParamQuery(void)
+	?Instance@CPhoneMainResourceResolver@@SAPAV1@XZ @ 282 NONAME ; class CPhoneMainResourceResolver * CPhoneMainResourceResolver::Instance(void)
+	??1CPhoneLibraryContainer@@UAE@XZ @ 283 NONAME ; CPhoneLibraryContainer::~CPhoneLibraryContainer(void)
+	?ClearBlackListOnNextKey@CPhoneClearBlacklist@@QAEXXZ @ 284 NONAME ; void CPhoneClearBlacklist::ClearBlackListOnNextKey(void)
+	?Tone@TPhoneCmdParamQuery@@QBEHXZ @ 285 NONAME ; int TPhoneCmdParamQuery::Tone(void) const
+	?SetCiphering@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 286 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetCiphering(int)
+	?SetRingingType@TPhoneCmdParamRingTone@@QAEXH@Z @ 287 NONAME ; void TPhoneCmdParamRingTone::SetRingingType(int)
+	?SetCipheringIndicatorAllowed@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 288 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetCipheringIndicatorAllowed(int)
+	?NeedToEnableKeylock@CPhoneStorage@@UAEHXZ @ 289 NONAME ; int CPhoneStorage::NeedToEnableKeylock(void)
+	?AudioOutput@TPhoneCmdParamAudioOutput@@QBE?AW4TPEAudioOutput@@XZ @ 290 NONAME ; enum TPEAudioOutput TPhoneCmdParamAudioOutput::AudioOutput(void) const
+	?SetResourceId@TPhoneCmdParamProgressNote@@QAEXH@Z @ 291 NONAME ; void TPhoneCmdParamProgressNote::SetResourceId(int)
+	??0TPhoneCmdParamInteger@@QAE@XZ @ 292 NONAME ; TPhoneCmdParamInteger::TPhoneCmdParamInteger(void)
+	?SetType@TPhoneCmdParamGlobalNote@@QAEXW4PhoneNotificationType@@@Z @ 293 NONAME ; void TPhoneCmdParamGlobalNote::SetType(enum PhoneNotificationType)
+	?SetType@TPhoneCmdParamTransEffect@@QAEXW4TPhoneTransEffectType@@@Z @ 294 NONAME ; void TPhoneCmdParamTransEffect::SetType(enum TPhoneTransEffectType)
+	?Bitmap@TPhoneCmdParamBitmap@@QBEPAVCFbsBitmap@@XZ @ 295 NONAME ; class CFbsBitmap * TPhoneCmdParamBitmap::Bitmap(void) const
+	?After@CPhoneTimer@@QAEXVTTimeIntervalMicroSeconds32@@VTCallBack@@@Z @ 296 NONAME ; void CPhoneTimer::After(class TTimeIntervalMicroSeconds32, class TCallBack)
 
--- a/phoneapp/phoneuiutils/eabi/phoneuiutilsu.def	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiutils/eabi/phoneuiutilsu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -26,374 +26,362 @@
 	_ZN12CPhoneLoggerD0Ev @ 25 NONAME
 	_ZN12CPhoneLoggerD1Ev @ 26 NONAME
 	_ZN12CPhoneLoggerD2Ev @ 27 NONAME
-	_ZN13CPhoneStorage14IsScreenLockedEv @ 28 NONAME
-	_ZN13CPhoneStorage15SetScreenLockedEi @ 29 NONAME
-	_ZN13CPhoneStorage19NeedToEnableKeylockEv @ 30 NONAME
-	_ZN13CPhoneStorage20ResetBlockedKeysListEv @ 31 NONAME
-	_ZN13CPhoneStorage22AppendBlockedKeysListLE12TStdScanCode @ 32 NONAME
-	_ZN13CPhoneStorage22IsBlockedKeysListEmptyEv @ 33 NONAME
-	_ZN13CPhoneStorage22SetNeedToEnableKeylockEi @ 34 NONAME
-	_ZN13CPhoneStorage4NewLEv @ 35 NONAME
-	_ZN13CPhoneStorageD0Ev @ 36 NONAME
-	_ZN13CPhoneStorageD1Ev @ 37 NONAME
-	_ZN13CPhoneStorageD2Ev @ 38 NONAME
-	_ZN17CPhoneCenRepProxy12CancelNotifyEP20MPhoneCenRepObserverj @ 39 NONAME
-	_ZN17CPhoneCenRepProxy13NotifyChangeLERK4TUidjP20MPhoneCenRepObserver @ 40 NONAME
-	_ZN17CPhoneCenRepProxy17CancelAllNotifiesEP20MPhoneCenRepObserver @ 41 NONAME
-	_ZN17CPhoneCenRepProxy22FetchValuesFromCenRepLER21TPhoneCmdParamAppInfo8TKeyCodeP6HBufC8Ri @ 42 NONAME
-	_ZN17CPhoneCenRepProxy25IsPhoneUIFeatureSupportedEi @ 43 NONAME
-	_ZN17CPhoneCenRepProxy27IsTelephonyFeatureSupportedEi @ 44 NONAME
-	_ZN17CPhoneCenRepProxy6SetIntERK4TUidji @ 45 NONAME
-	_ZN17CPhoneCenRepProxy7SetRealERK4TUidjd @ 46 NONAME
-	_ZN17CPhoneCenRepProxy8InstanceEv @ 47 NONAME
-	_ZN17CPhoneCenRepProxy9SetStringERK4TUidjRK7TDesC16 @ 48 NONAME
-	_ZN17CPhoneCenRepProxyD0Ev @ 49 NONAME
-	_ZN17CPhoneCenRepProxyD1Ev @ 50 NONAME
-	_ZN17CPhoneCenRepProxyD2Ev @ 51 NONAME
-	_ZN17CPhonePubSubProxy13NotifyChangeLERK4TUidjP20MPhonePubSubObserver @ 52 NONAME
-	_ZN17CPhonePubSubProxy19ChangePropertyValueERK4TUidji @ 53 NONAME
-	_ZN17CPhonePubSubProxy22CancelAllNotificationsEP20MPhonePubSubObserver @ 54 NONAME
-	_ZN17CPhonePubSubProxy5ValueERK4TUidj @ 55 NONAME
-	_ZN17CPhonePubSubProxy8InstanceEv @ 56 NONAME
-	_ZN17CPhonePubSubProxyD0Ev @ 57 NONAME
-	_ZN17CPhonePubSubProxyD1Ev @ 58 NONAME
-	_ZN17CPhonePubSubProxyD2Ev @ 59 NONAME
-	_ZN18CPhoneMethodLoggerC1E24TPhoneUILoggingComponent7TPtrC16 @ 60 NONAME
-	_ZN18CPhoneMethodLoggerC2E24TPhoneUILoggingComponent7TPtrC16 @ 61 NONAME
-	_ZN18CPhoneMethodLoggerD0Ev @ 62 NONAME
-	_ZN18CPhoneMethodLoggerD1Ev @ 63 NONAME
-	_ZN18CPhoneMethodLoggerD2Ev @ 64 NONAME
-	_ZN18TPhoneCmdParamNote10SetTimeoutEN14CAknNoteDialog8TTimeoutE @ 65 NONAME
-	_ZN18TPhoneCmdParamNote13SetResourceIdEi @ 66 NONAME
-	_ZN18TPhoneCmdParamNote17SetTextResourceIdEi @ 67 NONAME
-	_ZN18TPhoneCmdParamNote7SetTextERK7TDesC16 @ 68 NONAME
-	_ZN18TPhoneCmdParamNote7SetToneEN14CAknNoteDialog5TToneE @ 69 NONAME
-	_ZN18TPhoneCmdParamNote7SetTypeE14TPhoneNoteType @ 70 NONAME
-	_ZN18TPhoneCmdParamNoteC1Ev @ 71 NONAME
-	_ZN18TPhoneCmdParamNoteC2Ev @ 72 NONAME
-	_ZN18TPhoneCommandParamC1Ev @ 73 NONAME
-	_ZN18TPhoneCommandParamC2Ev @ 74 NONAME
-	_ZN19TPhoneCmdParamQuery10SetTimeOutEi @ 75 NONAME
-	_ZN19TPhoneCmdParamQuery11SetDataTextEP6TDes16 @ 76 NONAME
-	_ZN19TPhoneCmdParamQuery12SetQueryTypeE15TPhoneQueryType @ 77 NONAME
-	_ZN19TPhoneCmdParamQuery13SetContentCbaEi @ 78 NONAME
-	_ZN19TPhoneCmdParamQuery13SetDefaultCbaEi @ 79 NONAME
-	_ZN19TPhoneCmdParamQuery14SetQueryPromptERK7TDesC16 @ 80 NONAME
-	_ZN19TPhoneCmdParamQuery17SetCommandParamIdEN18TPhoneCommandParam13TPhoneParamIdE @ 81 NONAME
-	_ZN19TPhoneCmdParamQuery17SetSendKeyEnabledEi @ 82 NONAME
-	_ZN19TPhoneCmdParamQuery18SetQueryResourceIdEi @ 83 NONAME
-	_ZN19TPhoneCmdParamQuery20QueryCommandObserverEv @ 84 NONAME
-	_ZN19TPhoneCmdParamQuery20SetCbaCommandMappingEii @ 85 NONAME
-	_ZN19TPhoneCmdParamQuery23SetQueryCommandObserverER26MPhoneQueryCommandObserver @ 86 NONAME
-	_ZN19TPhoneCmdParamQuery26SetCustomCommandForTimeOutEi @ 87 NONAME
-	_ZN19TPhoneCmdParamQuery28SetItemTextArrayForListQueryER12MDesC16Array @ 88 NONAME
-	_ZN19TPhoneCmdParamQuery7SetToneEi @ 89 NONAME
-	_ZN19TPhoneCmdParamQueryC1ERKS_ @ 90 NONAME
-	_ZN19TPhoneCmdParamQueryC1Ev @ 91 NONAME
-	_ZN19TPhoneCmdParamQueryC2ERKS_ @ 92 NONAME
-	_ZN19TPhoneCmdParamQueryC2Ev @ 93 NONAME
-	_ZN19TPhoneCmdParamQueryaSERKS_ @ 94 NONAME
-	_ZN20CPhoneClearBlacklist17ClearBlackListNowEv @ 95 NONAME
-	_ZN20CPhoneClearBlacklist23ClearBlackListOnNextKeyEv @ 96 NONAME
-	_ZN20CPhoneClearBlacklist7CreateLER10RWsSessionRK11RWindowBase @ 97 NONAME
-	_ZN20CPhoneClearBlacklist8InstanceEv @ 98 NONAME
-	_ZN20CPhoneClearBlacklistD0Ev @ 99 NONAME
-	_ZN20CPhoneClearBlacklistD1Ev @ 100 NONAME
-	_ZN20CPhoneClearBlacklistD2Ev @ 101 NONAME
-	_ZN20CPhoneRecoverySystem10RecoverNowEiai @ 102 NONAME
-	_ZN20CPhoneRecoverySystem19EnablePreconditionLEv @ 103 NONAME
-	_ZN20CPhoneRecoverySystem4AddLE9TCallBackaN19CTeleRecoverySystem14TRecoveryStateE @ 104 NONAME
-	_ZN20CPhoneRecoverySystem6RemoveEi @ 105 NONAME
-	_ZN20CPhoneRecoverySystem8InstanceEv @ 106 NONAME
-	_ZN20TPhoneCmdParamBitmap13SetMaskBitmapEP10CFbsBitmap @ 107 NONAME
-	_ZN20TPhoneCmdParamBitmap9SetBitmapEP10CFbsBitmap @ 108 NONAME
-	_ZN20TPhoneCmdParamBitmapC1Ev @ 109 NONAME
-	_ZN20TPhoneCmdParamBitmapC2Ev @ 110 NONAME
-	_ZN20TPhoneCmdParamString6StringEv @ 111 NONAME
-	_ZN20TPhoneCmdParamString9SetStringEP6TPtr16 @ 112 NONAME
-	_ZN20TPhoneCmdParamStringC1Ev @ 113 NONAME
-	_ZN20TPhoneCmdParamStringC2Ev @ 114 NONAME
-	_ZN21TPhoneCmdParamAppInfo10SetViewUidERK4TUid @ 115 NONAME
-	_ZN21TPhoneCmdParamAppInfo16SetCustomMessageERK6TDesC8 @ 116 NONAME
-	_ZN21TPhoneCmdParamAppInfo18SetCustomMessageIdERK4TUid @ 117 NONAME
-	_ZN21TPhoneCmdParamAppInfo20SetMultipleInstancesEi @ 118 NONAME
-	_ZN21TPhoneCmdParamAppInfo8SetParamERK6TDesC8 @ 119 NONAME
-	_ZN21TPhoneCmdParamAppInfo9SetAppUidERK4TUid @ 120 NONAME
-	_ZN21TPhoneCmdParamAppInfoC1Ev @ 121 NONAME
-	_ZN21TPhoneCmdParamAppInfoC2Ev @ 122 NONAME
-	_ZN21TPhoneCmdParamBoolean10SetBooleanEi @ 123 NONAME
-	_ZN21TPhoneCmdParamBooleanC1Ev @ 124 NONAME
-	_ZN21TPhoneCmdParamBooleanC2Ev @ 125 NONAME
-	_ZN21TPhoneCmdParamDynMenu10SetDynMenuEPv @ 126 NONAME
-	_ZN21TPhoneCmdParamDynMenu13SetResourceIdEi @ 127 NONAME
-	_ZN21TPhoneCmdParamDynMenu7DynMenuEv @ 128 NONAME
-	_ZN21TPhoneCmdParamDynMenuC1Ev @ 129 NONAME
-	_ZN21TPhoneCmdParamDynMenuC2Ev @ 130 NONAME
-	_ZN21TPhoneCmdParamInteger10SetIntegerEi @ 131 NONAME
-	_ZN21TPhoneCmdParamIntegerC1Ev @ 132 NONAME
-	_ZN21TPhoneCmdParamIntegerC2Ev @ 133 NONAME
-	_ZN21TPhoneCmdParamPointer10SetPointerEPv @ 134 NONAME
-	_ZN21TPhoneCmdParamPointerC1Ev @ 135 NONAME
-	_ZN21TPhoneCmdParamPointerC2Ev @ 136 NONAME
-	_ZN21TPhoneCmdParamSfiData7SetNameERK7TDesC16 @ 137 NONAME
-	_ZN21TPhoneCmdParamSfiData9SetNumberERK7TDesC16 @ 138 NONAME
-	_ZN21TPhoneCmdParamSfiDataC1Ev @ 139 NONAME
-	_ZN21TPhoneCmdParamSfiDataC2Ev @ 140 NONAME
-	_ZN22CPhoneCallThemeMonitor28SetCallThemeSettingsObserverEP31MPhoneCallThemeSettingsObserver @ 141 NONAME
-	_ZN22CPhoneCallThemeMonitor4NewLEv @ 142 NONAME
-	_ZN22CPhoneCallThemeMonitorD0Ev @ 143 NONAME
-	_ZN22CPhoneCallThemeMonitorD1Ev @ 144 NONAME
-	_ZN22CPhoneCallThemeMonitorD2Ev @ 145 NONAME
-	_ZN22CPhoneLibraryContainer11AddLibraryLERK8RLibrary @ 146 NONAME
-	_ZN22CPhoneLibraryContainer4NewLEv @ 147 NONAME
-	_ZN22CPhoneLibraryContainerD0Ev @ 148 NONAME
-	_ZN22CPhoneLibraryContainerD1Ev @ 149 NONAME
-	_ZN22CPhoneLibraryContainerD2Ev @ 150 NONAME
-	_ZN22TPhoneCmdParamKeyEvent11SetKeyEventERK9TKeyEvent @ 151 NONAME
-	_ZN22TPhoneCmdParamKeyEvent12SetEventCodeE10TEventCode @ 152 NONAME
-	_ZN22TPhoneCmdParamKeyEventC1Ev @ 153 NONAME
-	_ZN22TPhoneCmdParamKeyEventC2Ev @ 154 NONAME
-	_ZN22TPhoneCmdParamRingTone11SetRingToneERK7TDesC16 @ 155 NONAME
-	_ZN22TPhoneCmdParamRingTone12IsCallerTextEv @ 156 NONAME
-	_ZN22TPhoneCmdParamRingTone12SetTextToSayERK7TDesC16 @ 157 NONAME
-	_ZN22TPhoneCmdParamRingTone13IsCallerImageEv @ 158 NONAME
-	_ZN22TPhoneCmdParamRingTone14SetRingingTypeEi @ 159 NONAME
-	_ZN22TPhoneCmdParamRingTone19SetCallerTextStatusEi @ 160 NONAME
-	_ZN22TPhoneCmdParamRingTone20SetCallerImageStatusEi @ 161 NONAME
-	_ZN22TPhoneCmdParamRingTone7SetTypeE18TPhoneRingToneType @ 162 NONAME
-	_ZN22TPhoneCmdParamRingTone9SetVolumeEi @ 163 NONAME
-	_ZN22TPhoneCmdParamRingToneC1Ev @ 164 NONAME
-	_ZN22TPhoneCmdParamRingToneC2Ev @ 165 NONAME
-	_ZN24TPhoneCmdParamGlobalNote10SetTimeoutEi @ 166 NONAME
-	_ZN24TPhoneCmdParamGlobalNote12SetCauseCodeEi @ 167 NONAME
-	_ZN24TPhoneCmdParamGlobalNote17SetTextResourceIdEi @ 168 NONAME
-	_ZN24TPhoneCmdParamGlobalNote21SetNotificationDialogEi @ 169 NONAME
-	_ZN24TPhoneCmdParamGlobalNote7SetTextERK7TDesC16 @ 170 NONAME
-	_ZN24TPhoneCmdParamGlobalNote7SetTypeE21PhoneNotificationType @ 171 NONAME
-	_ZN24TPhoneCmdParamGlobalNoteC1Ev @ 172 NONAME
-	_ZN24TPhoneCmdParamGlobalNoteC2Ev @ 173 NONAME
-	_ZN24TPhoneCmdParamKeyCapture10SetKeyCodeE8TKeyCode @ 174 NONAME
-	_ZN24TPhoneCmdParamKeyCapture14SetCaptureTypeE17TPhoneCaptureType @ 175 NONAME
-	_ZN24TPhoneCmdParamKeyCapture6SetKeyE12TStdScanCode @ 176 NONAME
-	_ZN24TPhoneCmdParamKeyCaptureC1Ev @ 177 NONAME
-	_ZN24TPhoneCmdParamKeyCaptureC2Ev @ 178 NONAME
-	_ZN25TPhoneCmdParamAudioOutput14SetAudioOutputE14TPEAudioOutput @ 179 NONAME
-	_ZN25TPhoneCmdParamAudioOutputC1Ev @ 180 NONAME
-	_ZN25TPhoneCmdParamAudioOutputC2Ev @ 181 NONAME
-	_ZN25TPhoneCmdParamTransEffect7SetTypeE21TPhoneTransEffectType @ 182 NONAME
-	_ZN25TPhoneCmdParamTransEffectC1Ev @ 183 NONAME
-	_ZN25TPhoneCmdParamTransEffectC2Ev @ 184 NONAME
-	_ZN26CPhoneMainResourceResolver8InstanceEv @ 185 NONAME
-	_ZN26CPhoneResourceResolverBase14BaseConstructLEv @ 186 NONAME
-	_ZN26CPhoneResourceResolverBaseC1Ev @ 187 NONAME
-	_ZN26CPhoneResourceResolverBaseC2Ev @ 188 NONAME
-	_ZN26CPhoneResourceResolverBaseD0Ev @ 189 NONAME
-	_ZN26CPhoneResourceResolverBaseD1Ev @ 190 NONAME
-	_ZN26CPhoneResourceResolverBaseD2Ev @ 191 NONAME
-	_ZN26TPhoneCmdParamCustomDialer16DialerControllerEv @ 192 NONAME
-	_ZN26TPhoneCmdParamCustomDialer19SetDialerControllerEP22MPhoneDialerController @ 193 NONAME
-	_ZN26TPhoneCmdParamCustomDialerC1Ev @ 194 NONAME
-	_ZN26TPhoneCmdParamCustomDialerC2Ev @ 195 NONAME
-	_ZN26TPhoneCmdParamProgressNote11SetWaitTimeE27TTimeIntervalMicroSeconds32 @ 196 NONAME
-	_ZN26TPhoneCmdParamProgressNote13SetResourceIdEi @ 197 NONAME
-	_ZN26TPhoneCmdParamProgressNoteC1Ev @ 198 NONAME
-	_ZN26TPhoneCmdParamProgressNoteC2Ev @ 199 NONAME
-	_ZN27TPhoneCmdParamCallStateData12SetCallStateEi @ 200 NONAME
-	_ZN27TPhoneCmdParamCallStateData9SetCallIdEi @ 201 NONAME
-	_ZN27TPhoneCmdParamCallStateDataC1Ev @ 202 NONAME
-	_ZN27TPhoneCmdParamCallStateDataC2Ev @ 203 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData10SetCLITextERK7TDesC16NS_27TPhoneTextClippingDirectionE @ 204 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData10SetPictureERK7TDesC16 @ 205 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData11SetCNAPTextERK7TDesC16NS_27TPhoneTextClippingDirectionE @ 206 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData11SetCallTypeEi @ 207 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData11SetDivertedEi @ 208 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData12SetCallStateEi @ 209 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData12SetCipheringEi @ 210 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData12SetLabelTextERK7TDesC16 @ 211 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData12SetServiceIdEm @ 212 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData12SetThumbnailEP10CFbsBitmap @ 213 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData13SetCallerTextERK7TDesC16 @ 214 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData13SetNumberTypeEi @ 215 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData14SetContactLinkERK6TDesC8 @ 216 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData15SetHasThumbnailEi @ 217 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData17SetShortLabelTextERK7TDesC16 @ 218 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData20SetRemotePhoneNumberERK7TDesC16 @ 219 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData21SetParticipantListCLIENS_24TPhoneParticipantListCLIE @ 220 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData28SetCipheringIndicatorAllowedEi @ 221 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData8SetLine2Ei @ 222 NONAME
-	_ZN28TPhoneCmdParamCallHeaderDataC1Ev @ 223 NONAME
-	_ZN28TPhoneCmdParamCallHeaderDataC2Ev @ 224 NONAME
-	_ZN28TPhoneCmdParamCallHeaderDataD1Ev @ 225 NONAME
-	_ZN28TPhoneCmdParamCallHeaderDataD2Ev @ 226 NONAME
-	_ZN30CPhoneMainErrorMessagesHandler8InstanceEv @ 227 NONAME
-	_ZN31TPhoneCmdParamAudioAvailability17SetBTAccAvailableEi @ 228 NONAME
-	_ZN31TPhoneCmdParamAudioAvailability20SetWiredAccAvailableEi @ 229 NONAME
-	_ZN31TPhoneCmdParamAudioAvailabilityC1Ev @ 230 NONAME
-	_ZN31TPhoneCmdParamAudioAvailabilityC2Ev @ 231 NONAME
-	_ZN33TPhoneCmdParamIncallIndicatorData12SetCallStateEi @ 232 NONAME
-	_ZN33TPhoneCmdParamIncallIndicatorData12SetCipheringEi @ 233 NONAME
-	_ZN33TPhoneCmdParamIncallIndicatorData12SetEmergencyEi @ 234 NONAME
-	_ZN33TPhoneCmdParamIncallIndicatorData22SetLittleBubbleVisibleEi @ 235 NONAME
-	_ZN33TPhoneCmdParamIncallIndicatorData28SetCipheringIndicatorAllowedEi @ 236 NONAME
-	_ZN33TPhoneCmdParamIncallIndicatorData7SetModeEi @ 237 NONAME
-	_ZN33TPhoneCmdParamIncallIndicatorData7SetMuteEi @ 238 NONAME
-	_ZN33TPhoneCmdParamIncallIndicatorData8SetLine2Ei @ 239 NONAME
-	_ZN33TPhoneCmdParamIncallIndicatorDataC1Ev @ 240 NONAME
-	_ZN33TPhoneCmdParamIncallIndicatorDataC2Ev @ 241 NONAME
-	_ZN33TPhoneCmdParamNumberEntryObserver11SetObserverE9TCallBack @ 242 NONAME
-	_ZN33TPhoneCmdParamNumberEntryObserver8ObserverEv @ 243 NONAME
-	_ZN33TPhoneCmdParamNumberEntryObserverC1Ev @ 244 NONAME
-	_ZN33TPhoneCmdParamNumberEntryObserverC2Ev @ 245 NONAME
-	_ZN37TPhoneCmdParamEmergencyCallHeaderData12SetCipheringEi @ 246 NONAME
-	_ZN37TPhoneCmdParamEmergencyCallHeaderData12SetLabelTextERK7TDesC16 @ 247 NONAME
-	_ZN37TPhoneCmdParamEmergencyCallHeaderData13SetHeaderTextERK7TDesC16 @ 248 NONAME
-	_ZN37TPhoneCmdParamEmergencyCallHeaderData21SetOwnPhoneNumberTextERK7TDesC16 @ 249 NONAME
-	_ZN37TPhoneCmdParamEmergencyCallHeaderData28SetCipheringIndicatorAllowedEi @ 250 NONAME
-	_ZN37TPhoneCmdParamEmergencyCallHeaderDataC1Ev @ 251 NONAME
-	_ZN37TPhoneCmdParamEmergencyCallHeaderDataC2Ev @ 252 NONAME
-	_ZNK13CPhoneStorage17GetBlockedKeyListEv @ 253 NONAME
-	_ZNK17CPhoneCenRepProxy4FindERK4TUidmmR6RArrayImE @ 254 NONAME
-	_ZNK17CPhoneCenRepProxy6GetIntERK4TUidjRi @ 255 NONAME
-	_ZNK17CPhoneCenRepProxy7GetRealERK4TUidjRd @ 256 NONAME
-	_ZNK17CPhoneCenRepProxy9GetStringERK4TUidjR6TDes16 @ 257 NONAME
-	_ZNK18TPhoneCmdParamNote10ResourceIdEv @ 258 NONAME
-	_ZNK18TPhoneCmdParamNote14TextResourceIdEv @ 259 NONAME
-	_ZNK18TPhoneCmdParamNote4TextEv @ 260 NONAME
-	_ZNK18TPhoneCmdParamNote4ToneEv @ 261 NONAME
-	_ZNK18TPhoneCmdParamNote4TypeEv @ 262 NONAME
-	_ZNK18TPhoneCmdParamNote7TimeoutEv @ 263 NONAME
-	_ZNK18TPhoneCommandParam7ParamIdEv @ 264 NONAME
-	_ZNK19TPhoneCmdParamQuery10ContentCbaEv @ 265 NONAME
-	_ZNK19TPhoneCmdParamQuery10DefaultCbaEv @ 266 NONAME
-	_ZNK19TPhoneCmdParamQuery11QueryPromptEv @ 267 NONAME
-	_ZNK19TPhoneCmdParamQuery14SendKeyEnabledEv @ 268 NONAME
-	_ZNK19TPhoneCmdParamQuery15QueryResourceIdEv @ 269 NONAME
-	_ZNK19TPhoneCmdParamQuery17CbaCommandMappingEi @ 270 NONAME
-	_ZNK19TPhoneCmdParamQuery25ItemTextArrayForListQueryEv @ 271 NONAME
-	_ZNK19TPhoneCmdParamQuery26GetCustomCommandForTimeOutERi @ 272 NONAME
-	_ZNK19TPhoneCmdParamQuery4ToneEv @ 273 NONAME
-	_ZNK19TPhoneCmdParamQuery7TimeOutEv @ 274 NONAME
-	_ZNK19TPhoneCmdParamQuery8DataTextEv @ 275 NONAME
-	_ZNK19TPhoneCmdParamQuery9QueryTypeEv @ 276 NONAME
-	_ZNK20TPhoneCmdParamBitmap10MaskBitmapEv @ 277 NONAME
-	_ZNK20TPhoneCmdParamBitmap6BitmapEv @ 278 NONAME
-	_ZNK21TPhoneCmdParamAppInfo13CustomMessageEv @ 279 NONAME
-	_ZNK21TPhoneCmdParamAppInfo15CustomMessageIdEv @ 280 NONAME
-	_ZNK21TPhoneCmdParamAppInfo17MultipleInstancesEv @ 281 NONAME
-	_ZNK21TPhoneCmdParamAppInfo5ParamEv @ 282 NONAME
-	_ZNK21TPhoneCmdParamAppInfo6AppUidEv @ 283 NONAME
-	_ZNK21TPhoneCmdParamAppInfo7ViewUidEv @ 284 NONAME
-	_ZNK21TPhoneCmdParamBoolean7BooleanEv @ 285 NONAME
-	_ZNK21TPhoneCmdParamDynMenu10ResourceIdEv @ 286 NONAME
-	_ZNK21TPhoneCmdParamInteger7IntegerEv @ 287 NONAME
-	_ZNK21TPhoneCmdParamPointer7PointerEv @ 288 NONAME
-	_ZNK21TPhoneCmdParamSfiData4NameEv @ 289 NONAME
-	_ZNK21TPhoneCmdParamSfiData6NumberEv @ 290 NONAME
-	_ZNK22CPhoneCallThemeMonitor22CallImageThemeFilePathEv @ 291 NONAME
-	_ZNK22CPhoneCallThemeMonitor22CallImageThemeSettingsEv @ 292 NONAME
-	_ZNK22TPhoneCmdParamKeyEvent8KeyEventEv @ 293 NONAME
-	_ZNK22TPhoneCmdParamKeyEvent9EventCodeEv @ 294 NONAME
-	_ZNK22TPhoneCmdParamRingTone11RingingTypeEv @ 295 NONAME
-	_ZNK22TPhoneCmdParamRingTone4TypeEv @ 296 NONAME
-	_ZNK22TPhoneCmdParamRingTone6VolumeEv @ 297 NONAME
-	_ZNK22TPhoneCmdParamRingTone8RingToneEv @ 298 NONAME
-	_ZNK22TPhoneCmdParamRingTone9TextToSayEv @ 299 NONAME
-	_ZNK24TPhoneCmdParamGlobalNote14TextResourceIdEv @ 300 NONAME
-	_ZNK24TPhoneCmdParamGlobalNote18NotificationDialogEv @ 301 NONAME
-	_ZNK24TPhoneCmdParamGlobalNote4TextEv @ 302 NONAME
-	_ZNK24TPhoneCmdParamGlobalNote4TypeEv @ 303 NONAME
-	_ZNK24TPhoneCmdParamGlobalNote7TimeoutEv @ 304 NONAME
-	_ZNK24TPhoneCmdParamGlobalNote9CauseCodeEv @ 305 NONAME
-	_ZNK24TPhoneCmdParamKeyCapture11CaptureTypeEv @ 306 NONAME
-	_ZNK24TPhoneCmdParamKeyCapture3KeyEv @ 307 NONAME
-	_ZNK24TPhoneCmdParamKeyCapture7KeyCodeEv @ 308 NONAME
-	_ZNK25TPhoneCmdParamAudioOutput11AudioOutputEv @ 309 NONAME
-	_ZNK25TPhoneCmdParamTransEffect4TypeEv @ 310 NONAME
-	_ZNK26CPhoneResourceResolverBase17ResolveResourceIDERKi @ 311 NONAME
-	_ZNK26CPhoneResourceResolverBase27IsTelephonyFeatureSupportedEi @ 312 NONAME
-	_ZNK26TPhoneCmdParamProgressNote10ResourceIdEv @ 313 NONAME
-	_ZNK26TPhoneCmdParamProgressNote8WaitTimeEv @ 314 NONAME
-	_ZNK27TPhoneCmdParamCallStateData6CallIdEv @ 315 NONAME
-	_ZNK27TPhoneCmdParamCallStateData9CallStateEv @ 316 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData10CallerTextEv @ 317 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData10NumberTypeEv @ 318 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData11ContactLinkEv @ 319 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData12HasThumbnailEv @ 320 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData14ParticipantCLIEv @ 321 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData14ShortLabelTextEv @ 322 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData17RemotePhoneNumberEv @ 323 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData24CLITextClippingDirectionEv @ 324 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData25CNAPTextClippingDirectionEv @ 325 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData25CipheringIndicatorAllowedEv @ 326 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData5Line2Ev @ 327 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData7CLITextEv @ 328 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData7PictureEv @ 329 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData8CNAPTextEv @ 330 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData8CallTypeEv @ 331 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData8DivertedEv @ 332 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData9CallStateEv @ 333 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData9CipheringEv @ 334 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData9LabelTextEv @ 335 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData9ServiceIdEv @ 336 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData9ThumbnailEv @ 337 NONAME
-	_ZNK31TPhoneCmdParamAudioAvailability16IsBTAccAvailableEv @ 338 NONAME
-	_ZNK31TPhoneCmdParamAudioAvailability19IsWiredAccAvailableEv @ 339 NONAME
-	_ZNK33TPhoneCmdParamIncallIndicatorData19LittleBubbleVisibleEv @ 340 NONAME
-	_ZNK33TPhoneCmdParamIncallIndicatorData25CipheringIndicatorAllowedEv @ 341 NONAME
-	_ZNK33TPhoneCmdParamIncallIndicatorData4ModeEv @ 342 NONAME
-	_ZNK33TPhoneCmdParamIncallIndicatorData4MuteEv @ 343 NONAME
-	_ZNK33TPhoneCmdParamIncallIndicatorData5Line2Ev @ 344 NONAME
-	_ZNK33TPhoneCmdParamIncallIndicatorData9CallStateEv @ 345 NONAME
-	_ZNK33TPhoneCmdParamIncallIndicatorData9CipheringEv @ 346 NONAME
-	_ZNK33TPhoneCmdParamIncallIndicatorData9EmergencyEv @ 347 NONAME
-	_ZNK37TPhoneCmdParamEmergencyCallHeaderData10HeaderTextEv @ 348 NONAME
-	_ZNK37TPhoneCmdParamEmergencyCallHeaderData18OwnPhoneNumberTextEv @ 349 NONAME
-	_ZNK37TPhoneCmdParamEmergencyCallHeaderData25CipheringIndicatorAllowedEv @ 350 NONAME
-	_ZNK37TPhoneCmdParamEmergencyCallHeaderData9CipheringEv @ 351 NONAME
-	_ZNK37TPhoneCmdParamEmergencyCallHeaderData9LabelTextEv @ 352 NONAME
-	_ZTI11CPhoneTimer @ 353 NONAME
-	_ZTI12CPhoneLogger @ 354 NONAME
-	_ZTI13CPhoneStorage @ 355 NONAME
-	_ZTI17CPhoneCenRepProxy @ 356 NONAME
-	_ZTI17CPhonePubSubProxy @ 357 NONAME
-	_ZTI18CPhoneMethodLogger @ 358 NONAME
-	_ZTI20CPhoneClearBlacklist @ 359 NONAME
-	_ZTI20CPhoneRecoverySystem @ 360 NONAME
-	_ZTI22CPhoneCallThemeMonitor @ 361 NONAME
-	_ZTI22CPhoneLibraryContainer @ 362 NONAME
-	_ZTI24CPhoneCenRepEventHandler @ 363 NONAME
-	_ZTI25CPhonePublishSubscriberAO @ 364 NONAME
-	_ZTI26CPhoneMainResourceResolver @ 365 NONAME
-	_ZTI26CPhoneResourceResolverBase @ 366 NONAME
-	_ZTI30CPhoneMainErrorMessagesHandler @ 367 NONAME
-	_ZTV11CPhoneTimer @ 368 NONAME
-	_ZTV12CPhoneLogger @ 369 NONAME
-	_ZTV13CPhoneStorage @ 370 NONAME
-	_ZTV17CPhoneCenRepProxy @ 371 NONAME
-	_ZTV17CPhonePubSubProxy @ 372 NONAME
-	_ZTV18CPhoneMethodLogger @ 373 NONAME
-	_ZTV20CPhoneClearBlacklist @ 374 NONAME
-	_ZTV20CPhoneRecoverySystem @ 375 NONAME
-	_ZTV22CPhoneCallThemeMonitor @ 376 NONAME
-	_ZTV22CPhoneLibraryContainer @ 377 NONAME
-	_ZTV24CPhoneCenRepEventHandler @ 378 NONAME
-	_ZTV25CPhonePublishSubscriberAO @ 379 NONAME
-	_ZTV26CPhoneMainResourceResolver @ 380 NONAME
-	_ZTV26CPhoneResourceResolverBase @ 381 NONAME
-	_ZTV30CPhoneMainErrorMessagesHandler @ 382 NONAME
-	_ZThn4_N12CPhoneLoggerD0Ev @ 383 NONAME
-	_ZThn4_N12CPhoneLoggerD1Ev @ 384 NONAME
-	_ZThn4_N13CPhoneStorage14IsScreenLockedEv @ 385 NONAME
-	_ZThn4_N13CPhoneStorage15SetScreenLockedEi @ 386 NONAME
-	_ZThn4_N13CPhoneStorage19NeedToEnableKeylockEv @ 387 NONAME
-	_ZThn4_N13CPhoneStorage20ResetBlockedKeysListEv @ 388 NONAME
-	_ZThn4_N13CPhoneStorage22AppendBlockedKeysListLE12TStdScanCode @ 389 NONAME
-	_ZThn4_N13CPhoneStorage22IsBlockedKeysListEmptyEv @ 390 NONAME
-	_ZThn4_N13CPhoneStorage22SetNeedToEnableKeylockEi @ 391 NONAME
-	_ZThn4_N13CPhoneStorageD0Ev @ 392 NONAME
-	_ZThn4_N13CPhoneStorageD1Ev @ 393 NONAME
-	_ZThn4_N26CPhoneResourceResolverBaseD0Ev @ 394 NONAME
-	_ZThn4_N26CPhoneResourceResolverBaseD1Ev @ 395 NONAME
-	_ZThn4_NK13CPhoneStorage17GetBlockedKeyListEv @ 396 NONAME
-	_ZThn4_NK26CPhoneResourceResolverBase17ResolveResourceIDERKi @ 397 NONAME
+	_ZN13CPhoneStorage19NeedToEnableKeylockEv @ 28 NONAME
+	_ZN13CPhoneStorage22SetNeedToEnableKeylockEi @ 29 NONAME
+	_ZN13CPhoneStorage4NewLEv @ 30 NONAME
+	_ZN13CPhoneStorageD0Ev @ 31 NONAME
+	_ZN13CPhoneStorageD1Ev @ 32 NONAME
+	_ZN13CPhoneStorageD2Ev @ 33 NONAME
+	_ZN17CPhoneCenRepProxy12CancelNotifyEP20MPhoneCenRepObserverj @ 34 NONAME
+	_ZN17CPhoneCenRepProxy13NotifyChangeLERK4TUidjP20MPhoneCenRepObserver @ 35 NONAME
+	_ZN17CPhoneCenRepProxy17CancelAllNotifiesEP20MPhoneCenRepObserver @ 36 NONAME
+	_ZN17CPhoneCenRepProxy22FetchValuesFromCenRepLER21TPhoneCmdParamAppInfo8TKeyCodeP6HBufC8Ri @ 37 NONAME
+	_ZN17CPhoneCenRepProxy25IsPhoneUIFeatureSupportedEi @ 38 NONAME
+	_ZN17CPhoneCenRepProxy27IsTelephonyFeatureSupportedEi @ 39 NONAME
+	_ZN17CPhoneCenRepProxy6SetIntERK4TUidji @ 40 NONAME
+	_ZN17CPhoneCenRepProxy7SetRealERK4TUidjd @ 41 NONAME
+	_ZN17CPhoneCenRepProxy8InstanceEv @ 42 NONAME
+	_ZN17CPhoneCenRepProxy9SetStringERK4TUidjRK7TDesC16 @ 43 NONAME
+	_ZN17CPhoneCenRepProxyD0Ev @ 44 NONAME
+	_ZN17CPhoneCenRepProxyD1Ev @ 45 NONAME
+	_ZN17CPhoneCenRepProxyD2Ev @ 46 NONAME
+	_ZN17CPhonePubSubProxy13NotifyChangeLERK4TUidjP20MPhonePubSubObserver @ 47 NONAME
+	_ZN17CPhonePubSubProxy19ChangePropertyValueERK4TUidji @ 48 NONAME
+	_ZN17CPhonePubSubProxy22CancelAllNotificationsEP20MPhonePubSubObserver @ 49 NONAME
+	_ZN17CPhonePubSubProxy5ValueERK4TUidj @ 50 NONAME
+	_ZN17CPhonePubSubProxy8InstanceEv @ 51 NONAME
+	_ZN17CPhonePubSubProxyD0Ev @ 52 NONAME
+	_ZN17CPhonePubSubProxyD1Ev @ 53 NONAME
+	_ZN17CPhonePubSubProxyD2Ev @ 54 NONAME
+	_ZN18CPhoneMethodLoggerC1E24TPhoneUILoggingComponent7TPtrC16 @ 55 NONAME
+	_ZN18CPhoneMethodLoggerC2E24TPhoneUILoggingComponent7TPtrC16 @ 56 NONAME
+	_ZN18CPhoneMethodLoggerD0Ev @ 57 NONAME
+	_ZN18CPhoneMethodLoggerD1Ev @ 58 NONAME
+	_ZN18CPhoneMethodLoggerD2Ev @ 59 NONAME
+	_ZN18TPhoneCmdParamNote10SetTimeoutEN14CAknNoteDialog8TTimeoutE @ 60 NONAME
+	_ZN18TPhoneCmdParamNote13SetResourceIdEi @ 61 NONAME
+	_ZN18TPhoneCmdParamNote17SetTextResourceIdEi @ 62 NONAME
+	_ZN18TPhoneCmdParamNote7SetTextERK7TDesC16 @ 63 NONAME
+	_ZN18TPhoneCmdParamNote7SetToneEN14CAknNoteDialog5TToneE @ 64 NONAME
+	_ZN18TPhoneCmdParamNote7SetTypeE14TPhoneNoteType @ 65 NONAME
+	_ZN18TPhoneCmdParamNoteC1Ev @ 66 NONAME
+	_ZN18TPhoneCmdParamNoteC2Ev @ 67 NONAME
+	_ZN18TPhoneCommandParamC1Ev @ 68 NONAME
+	_ZN18TPhoneCommandParamC2Ev @ 69 NONAME
+	_ZN19TPhoneCmdParamQuery10SetTimeOutEi @ 70 NONAME
+	_ZN19TPhoneCmdParamQuery11SetDataTextEP6TDes16 @ 71 NONAME
+	_ZN19TPhoneCmdParamQuery12SetQueryTypeE15TPhoneQueryType @ 72 NONAME
+	_ZN19TPhoneCmdParamQuery13SetContentCbaEi @ 73 NONAME
+	_ZN19TPhoneCmdParamQuery13SetDefaultCbaEi @ 74 NONAME
+	_ZN19TPhoneCmdParamQuery14SetQueryPromptERK7TDesC16 @ 75 NONAME
+	_ZN19TPhoneCmdParamQuery17SetCommandParamIdEN18TPhoneCommandParam13TPhoneParamIdE @ 76 NONAME
+	_ZN19TPhoneCmdParamQuery17SetSendKeyEnabledEi @ 77 NONAME
+	_ZN19TPhoneCmdParamQuery18SetQueryResourceIdEi @ 78 NONAME
+	_ZN19TPhoneCmdParamQuery20QueryCommandObserverEv @ 79 NONAME
+	_ZN19TPhoneCmdParamQuery20SetCbaCommandMappingEii @ 80 NONAME
+	_ZN19TPhoneCmdParamQuery23SetQueryCommandObserverER26MPhoneQueryCommandObserver @ 81 NONAME
+	_ZN19TPhoneCmdParamQuery26SetCustomCommandForTimeOutEi @ 82 NONAME
+	_ZN19TPhoneCmdParamQuery28SetItemTextArrayForListQueryER12MDesC16Array @ 83 NONAME
+	_ZN19TPhoneCmdParamQuery7SetToneEi @ 84 NONAME
+	_ZN19TPhoneCmdParamQueryC1ERKS_ @ 85 NONAME
+	_ZN19TPhoneCmdParamQueryC1Ev @ 86 NONAME
+	_ZN19TPhoneCmdParamQueryC2ERKS_ @ 87 NONAME
+	_ZN19TPhoneCmdParamQueryC2Ev @ 88 NONAME
+	_ZN19TPhoneCmdParamQueryaSERKS_ @ 89 NONAME
+	_ZN20CPhoneClearBlacklist17ClearBlackListNowEv @ 90 NONAME
+	_ZN20CPhoneClearBlacklist23ClearBlackListOnNextKeyEv @ 91 NONAME
+	_ZN20CPhoneClearBlacklist7CreateLER10RWsSessionRK11RWindowBase @ 92 NONAME
+	_ZN20CPhoneClearBlacklist8InstanceEv @ 93 NONAME
+	_ZN20CPhoneClearBlacklistD0Ev @ 94 NONAME
+	_ZN20CPhoneClearBlacklistD1Ev @ 95 NONAME
+	_ZN20CPhoneClearBlacklistD2Ev @ 96 NONAME
+	_ZN20CPhoneRecoverySystem10RecoverNowEiai @ 97 NONAME
+	_ZN20CPhoneRecoverySystem19EnablePreconditionLEv @ 98 NONAME
+	_ZN20CPhoneRecoverySystem4AddLE9TCallBackaN19CTeleRecoverySystem14TRecoveryStateE @ 99 NONAME
+	_ZN20CPhoneRecoverySystem6RemoveEi @ 100 NONAME
+	_ZN20CPhoneRecoverySystem8InstanceEv @ 101 NONAME
+	_ZN20TPhoneCmdParamBitmap13SetMaskBitmapEP10CFbsBitmap @ 102 NONAME
+	_ZN20TPhoneCmdParamBitmap9SetBitmapEP10CFbsBitmap @ 103 NONAME
+	_ZN20TPhoneCmdParamBitmapC1Ev @ 104 NONAME
+	_ZN20TPhoneCmdParamBitmapC2Ev @ 105 NONAME
+	_ZN20TPhoneCmdParamString6StringEv @ 106 NONAME
+	_ZN20TPhoneCmdParamString9SetStringEP6TPtr16 @ 107 NONAME
+	_ZN20TPhoneCmdParamStringC1Ev @ 108 NONAME
+	_ZN20TPhoneCmdParamStringC2Ev @ 109 NONAME
+	_ZN21TPhoneCmdParamAppInfo10SetViewUidERK4TUid @ 110 NONAME
+	_ZN21TPhoneCmdParamAppInfo16SetCustomMessageERK6TDesC8 @ 111 NONAME
+	_ZN21TPhoneCmdParamAppInfo18SetCustomMessageIdERK4TUid @ 112 NONAME
+	_ZN21TPhoneCmdParamAppInfo20SetMultipleInstancesEi @ 113 NONAME
+	_ZN21TPhoneCmdParamAppInfo8SetParamERK6TDesC8 @ 114 NONAME
+	_ZN21TPhoneCmdParamAppInfo9SetAppUidERK4TUid @ 115 NONAME
+	_ZN21TPhoneCmdParamAppInfoC1Ev @ 116 NONAME
+	_ZN21TPhoneCmdParamAppInfoC2Ev @ 117 NONAME
+	_ZN21TPhoneCmdParamBoolean10SetBooleanEi @ 118 NONAME
+	_ZN21TPhoneCmdParamBooleanC1Ev @ 119 NONAME
+	_ZN21TPhoneCmdParamBooleanC2Ev @ 120 NONAME
+	_ZN21TPhoneCmdParamDynMenu10SetDynMenuEPv @ 121 NONAME
+	_ZN21TPhoneCmdParamDynMenu13SetResourceIdEi @ 122 NONAME
+	_ZN21TPhoneCmdParamDynMenu7DynMenuEv @ 123 NONAME
+	_ZN21TPhoneCmdParamDynMenuC1Ev @ 124 NONAME
+	_ZN21TPhoneCmdParamDynMenuC2Ev @ 125 NONAME
+	_ZN21TPhoneCmdParamInteger10SetIntegerEi @ 126 NONAME
+	_ZN21TPhoneCmdParamIntegerC1Ev @ 127 NONAME
+	_ZN21TPhoneCmdParamIntegerC2Ev @ 128 NONAME
+	_ZN21TPhoneCmdParamPointer10SetPointerEPv @ 129 NONAME
+	_ZN21TPhoneCmdParamPointerC1Ev @ 130 NONAME
+	_ZN21TPhoneCmdParamPointerC2Ev @ 131 NONAME
+	_ZN21TPhoneCmdParamSfiData7SetNameERK7TDesC16 @ 132 NONAME
+	_ZN21TPhoneCmdParamSfiData9SetNumberERK7TDesC16 @ 133 NONAME
+	_ZN21TPhoneCmdParamSfiDataC1Ev @ 134 NONAME
+	_ZN21TPhoneCmdParamSfiDataC2Ev @ 135 NONAME
+	_ZN22CPhoneCallThemeMonitor28SetCallThemeSettingsObserverEP31MPhoneCallThemeSettingsObserver @ 136 NONAME
+	_ZN22CPhoneCallThemeMonitor4NewLEv @ 137 NONAME
+	_ZN22CPhoneCallThemeMonitorD0Ev @ 138 NONAME
+	_ZN22CPhoneCallThemeMonitorD1Ev @ 139 NONAME
+	_ZN22CPhoneCallThemeMonitorD2Ev @ 140 NONAME
+	_ZN22CPhoneLibraryContainer11AddLibraryLERK8RLibrary @ 141 NONAME
+	_ZN22CPhoneLibraryContainer4NewLEv @ 142 NONAME
+	_ZN22CPhoneLibraryContainerD0Ev @ 143 NONAME
+	_ZN22CPhoneLibraryContainerD1Ev @ 144 NONAME
+	_ZN22CPhoneLibraryContainerD2Ev @ 145 NONAME
+	_ZN22TPhoneCmdParamKeyEvent11SetKeyEventERK9TKeyEvent @ 146 NONAME
+	_ZN22TPhoneCmdParamKeyEvent12SetEventCodeE10TEventCode @ 147 NONAME
+	_ZN22TPhoneCmdParamKeyEventC1Ev @ 148 NONAME
+	_ZN22TPhoneCmdParamKeyEventC2Ev @ 149 NONAME
+	_ZN22TPhoneCmdParamRingTone11SetRingToneERK7TDesC16 @ 150 NONAME
+	_ZN22TPhoneCmdParamRingTone12IsCallerTextEv @ 151 NONAME
+	_ZN22TPhoneCmdParamRingTone12SetTextToSayERK7TDesC16 @ 152 NONAME
+	_ZN22TPhoneCmdParamRingTone13IsCallerImageEv @ 153 NONAME
+	_ZN22TPhoneCmdParamRingTone14SetRingingTypeEi @ 154 NONAME
+	_ZN22TPhoneCmdParamRingTone19SetCallerTextStatusEi @ 155 NONAME
+	_ZN22TPhoneCmdParamRingTone20SetCallerImageStatusEi @ 156 NONAME
+	_ZN22TPhoneCmdParamRingTone7SetTypeE18TPhoneRingToneType @ 157 NONAME
+	_ZN22TPhoneCmdParamRingTone9SetVolumeEi @ 158 NONAME
+	_ZN22TPhoneCmdParamRingToneC1Ev @ 159 NONAME
+	_ZN22TPhoneCmdParamRingToneC2Ev @ 160 NONAME
+	_ZN24TPhoneCmdParamGlobalNote10SetTimeoutEi @ 161 NONAME
+	_ZN24TPhoneCmdParamGlobalNote12SetCauseCodeEi @ 162 NONAME
+	_ZN24TPhoneCmdParamGlobalNote17SetTextResourceIdEi @ 163 NONAME
+	_ZN24TPhoneCmdParamGlobalNote21SetNotificationDialogEi @ 164 NONAME
+	_ZN24TPhoneCmdParamGlobalNote7SetTextERK7TDesC16 @ 165 NONAME
+	_ZN24TPhoneCmdParamGlobalNote7SetTypeE21PhoneNotificationType @ 166 NONAME
+	_ZN24TPhoneCmdParamGlobalNoteC1Ev @ 167 NONAME
+	_ZN24TPhoneCmdParamGlobalNoteC2Ev @ 168 NONAME
+	_ZN24TPhoneCmdParamKeyCapture10SetKeyCodeE8TKeyCode @ 169 NONAME
+	_ZN24TPhoneCmdParamKeyCapture14SetCaptureTypeE17TPhoneCaptureType @ 170 NONAME
+	_ZN24TPhoneCmdParamKeyCapture6SetKeyE12TStdScanCode @ 171 NONAME
+	_ZN24TPhoneCmdParamKeyCaptureC1Ev @ 172 NONAME
+	_ZN24TPhoneCmdParamKeyCaptureC2Ev @ 173 NONAME
+	_ZN25TPhoneCmdParamAudioOutput14SetAudioOutputE14TPEAudioOutput @ 174 NONAME
+	_ZN25TPhoneCmdParamAudioOutputC1Ev @ 175 NONAME
+	_ZN25TPhoneCmdParamAudioOutputC2Ev @ 176 NONAME
+	_ZN25TPhoneCmdParamTransEffect7SetTypeE21TPhoneTransEffectType @ 177 NONAME
+	_ZN25TPhoneCmdParamTransEffectC1Ev @ 178 NONAME
+	_ZN25TPhoneCmdParamTransEffectC2Ev @ 179 NONAME
+	_ZN26CPhoneMainResourceResolver8InstanceEv @ 180 NONAME
+	_ZN26CPhoneResourceResolverBase14BaseConstructLEv @ 181 NONAME
+	_ZN26CPhoneResourceResolverBaseC1Ev @ 182 NONAME
+	_ZN26CPhoneResourceResolverBaseC2Ev @ 183 NONAME
+	_ZN26CPhoneResourceResolverBaseD0Ev @ 184 NONAME
+	_ZN26CPhoneResourceResolverBaseD1Ev @ 185 NONAME
+	_ZN26CPhoneResourceResolverBaseD2Ev @ 186 NONAME
+	_ZN26TPhoneCmdParamCustomDialer16DialerControllerEv @ 187 NONAME
+	_ZN26TPhoneCmdParamCustomDialer19SetDialerControllerEP22MPhoneDialerController @ 188 NONAME
+	_ZN26TPhoneCmdParamCustomDialerC1Ev @ 189 NONAME
+	_ZN26TPhoneCmdParamCustomDialerC2Ev @ 190 NONAME
+	_ZN26TPhoneCmdParamProgressNote11SetWaitTimeE27TTimeIntervalMicroSeconds32 @ 191 NONAME
+	_ZN26TPhoneCmdParamProgressNote13SetResourceIdEi @ 192 NONAME
+	_ZN26TPhoneCmdParamProgressNoteC1Ev @ 193 NONAME
+	_ZN26TPhoneCmdParamProgressNoteC2Ev @ 194 NONAME
+	_ZN27TPhoneCmdParamCallStateData12SetCallStateEi @ 195 NONAME
+	_ZN27TPhoneCmdParamCallStateData9SetCallIdEi @ 196 NONAME
+	_ZN27TPhoneCmdParamCallStateDataC1Ev @ 197 NONAME
+	_ZN27TPhoneCmdParamCallStateDataC2Ev @ 198 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData10SetCLITextERK7TDesC16NS_27TPhoneTextClippingDirectionE @ 199 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData10SetPictureERK7TDesC16 @ 200 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData11SetCNAPTextERK7TDesC16NS_27TPhoneTextClippingDirectionE @ 201 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData11SetCallTypeEi @ 202 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData11SetDivertedEi @ 203 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData12SetCallStateEi @ 204 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData12SetCipheringEi @ 205 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData12SetLabelTextERK7TDesC16 @ 206 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData12SetServiceIdEm @ 207 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData12SetThumbnailEP10CFbsBitmap @ 208 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData13SetCallerTextERK7TDesC16 @ 209 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData13SetNumberTypeEi @ 210 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData14SetContactLinkERK6TDesC8 @ 211 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData15SetHasThumbnailEi @ 212 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData17SetShortLabelTextERK7TDesC16 @ 213 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData20SetRemotePhoneNumberERK7TDesC16 @ 214 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData21SetParticipantListCLIENS_24TPhoneParticipantListCLIE @ 215 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData28SetCipheringIndicatorAllowedEi @ 216 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData8SetLine2Ei @ 217 NONAME
+	_ZN28TPhoneCmdParamCallHeaderDataC1Ev @ 218 NONAME
+	_ZN28TPhoneCmdParamCallHeaderDataC2Ev @ 219 NONAME
+	_ZN28TPhoneCmdParamCallHeaderDataD1Ev @ 220 NONAME
+	_ZN28TPhoneCmdParamCallHeaderDataD2Ev @ 221 NONAME
+	_ZN30CPhoneMainErrorMessagesHandler8InstanceEv @ 222 NONAME
+	_ZN31TPhoneCmdParamAudioAvailability17SetBTAccAvailableEi @ 223 NONAME
+	_ZN31TPhoneCmdParamAudioAvailability20SetWiredAccAvailableEi @ 224 NONAME
+	_ZN31TPhoneCmdParamAudioAvailabilityC1Ev @ 225 NONAME
+	_ZN31TPhoneCmdParamAudioAvailabilityC2Ev @ 226 NONAME
+	_ZN33TPhoneCmdParamIncallIndicatorData12SetCallStateEi @ 227 NONAME
+	_ZN33TPhoneCmdParamIncallIndicatorData12SetCipheringEi @ 228 NONAME
+	_ZN33TPhoneCmdParamIncallIndicatorData12SetEmergencyEi @ 229 NONAME
+	_ZN33TPhoneCmdParamIncallIndicatorData22SetLittleBubbleVisibleEi @ 230 NONAME
+	_ZN33TPhoneCmdParamIncallIndicatorData28SetCipheringIndicatorAllowedEi @ 231 NONAME
+	_ZN33TPhoneCmdParamIncallIndicatorData7SetModeEi @ 232 NONAME
+	_ZN33TPhoneCmdParamIncallIndicatorData7SetMuteEi @ 233 NONAME
+	_ZN33TPhoneCmdParamIncallIndicatorData8SetLine2Ei @ 234 NONAME
+	_ZN33TPhoneCmdParamIncallIndicatorDataC1Ev @ 235 NONAME
+	_ZN33TPhoneCmdParamIncallIndicatorDataC2Ev @ 236 NONAME
+	_ZN33TPhoneCmdParamNumberEntryObserver11SetObserverE9TCallBack @ 237 NONAME
+	_ZN33TPhoneCmdParamNumberEntryObserver8ObserverEv @ 238 NONAME
+	_ZN33TPhoneCmdParamNumberEntryObserverC1Ev @ 239 NONAME
+	_ZN33TPhoneCmdParamNumberEntryObserverC2Ev @ 240 NONAME
+	_ZN37TPhoneCmdParamEmergencyCallHeaderData12SetCipheringEi @ 241 NONAME
+	_ZN37TPhoneCmdParamEmergencyCallHeaderData12SetLabelTextERK7TDesC16 @ 242 NONAME
+	_ZN37TPhoneCmdParamEmergencyCallHeaderData13SetHeaderTextERK7TDesC16 @ 243 NONAME
+	_ZN37TPhoneCmdParamEmergencyCallHeaderData21SetOwnPhoneNumberTextERK7TDesC16 @ 244 NONAME
+	_ZN37TPhoneCmdParamEmergencyCallHeaderData28SetCipheringIndicatorAllowedEi @ 245 NONAME
+	_ZN37TPhoneCmdParamEmergencyCallHeaderDataC1Ev @ 246 NONAME
+	_ZN37TPhoneCmdParamEmergencyCallHeaderDataC2Ev @ 247 NONAME
+	_ZNK17CPhoneCenRepProxy4FindERK4TUidmmR6RArrayImE @ 248 NONAME
+	_ZNK17CPhoneCenRepProxy6GetIntERK4TUidjRi @ 249 NONAME
+	_ZNK17CPhoneCenRepProxy7GetRealERK4TUidjRd @ 250 NONAME
+	_ZNK17CPhoneCenRepProxy9GetStringERK4TUidjR6TDes16 @ 251 NONAME
+	_ZNK18TPhoneCmdParamNote10ResourceIdEv @ 252 NONAME
+	_ZNK18TPhoneCmdParamNote14TextResourceIdEv @ 253 NONAME
+	_ZNK18TPhoneCmdParamNote4TextEv @ 254 NONAME
+	_ZNK18TPhoneCmdParamNote4ToneEv @ 255 NONAME
+	_ZNK18TPhoneCmdParamNote4TypeEv @ 256 NONAME
+	_ZNK18TPhoneCmdParamNote7TimeoutEv @ 257 NONAME
+	_ZNK18TPhoneCommandParam7ParamIdEv @ 258 NONAME
+	_ZNK19TPhoneCmdParamQuery10ContentCbaEv @ 259 NONAME
+	_ZNK19TPhoneCmdParamQuery10DefaultCbaEv @ 260 NONAME
+	_ZNK19TPhoneCmdParamQuery11QueryPromptEv @ 261 NONAME
+	_ZNK19TPhoneCmdParamQuery14SendKeyEnabledEv @ 262 NONAME
+	_ZNK19TPhoneCmdParamQuery15QueryResourceIdEv @ 263 NONAME
+	_ZNK19TPhoneCmdParamQuery17CbaCommandMappingEi @ 264 NONAME
+	_ZNK19TPhoneCmdParamQuery25ItemTextArrayForListQueryEv @ 265 NONAME
+	_ZNK19TPhoneCmdParamQuery26GetCustomCommandForTimeOutERi @ 266 NONAME
+	_ZNK19TPhoneCmdParamQuery4ToneEv @ 267 NONAME
+	_ZNK19TPhoneCmdParamQuery7TimeOutEv @ 268 NONAME
+	_ZNK19TPhoneCmdParamQuery8DataTextEv @ 269 NONAME
+	_ZNK19TPhoneCmdParamQuery9QueryTypeEv @ 270 NONAME
+	_ZNK20TPhoneCmdParamBitmap10MaskBitmapEv @ 271 NONAME
+	_ZNK20TPhoneCmdParamBitmap6BitmapEv @ 272 NONAME
+	_ZNK21TPhoneCmdParamAppInfo13CustomMessageEv @ 273 NONAME
+	_ZNK21TPhoneCmdParamAppInfo15CustomMessageIdEv @ 274 NONAME
+	_ZNK21TPhoneCmdParamAppInfo17MultipleInstancesEv @ 275 NONAME
+	_ZNK21TPhoneCmdParamAppInfo5ParamEv @ 276 NONAME
+	_ZNK21TPhoneCmdParamAppInfo6AppUidEv @ 277 NONAME
+	_ZNK21TPhoneCmdParamAppInfo7ViewUidEv @ 278 NONAME
+	_ZNK21TPhoneCmdParamBoolean7BooleanEv @ 279 NONAME
+	_ZNK21TPhoneCmdParamDynMenu10ResourceIdEv @ 280 NONAME
+	_ZNK21TPhoneCmdParamInteger7IntegerEv @ 281 NONAME
+	_ZNK21TPhoneCmdParamPointer7PointerEv @ 282 NONAME
+	_ZNK21TPhoneCmdParamSfiData4NameEv @ 283 NONAME
+	_ZNK21TPhoneCmdParamSfiData6NumberEv @ 284 NONAME
+	_ZNK22CPhoneCallThemeMonitor22CallImageThemeFilePathEv @ 285 NONAME
+	_ZNK22CPhoneCallThemeMonitor22CallImageThemeSettingsEv @ 286 NONAME
+	_ZNK22TPhoneCmdParamKeyEvent8KeyEventEv @ 287 NONAME
+	_ZNK22TPhoneCmdParamKeyEvent9EventCodeEv @ 288 NONAME
+	_ZNK22TPhoneCmdParamRingTone11RingingTypeEv @ 289 NONAME
+	_ZNK22TPhoneCmdParamRingTone4TypeEv @ 290 NONAME
+	_ZNK22TPhoneCmdParamRingTone6VolumeEv @ 291 NONAME
+	_ZNK22TPhoneCmdParamRingTone8RingToneEv @ 292 NONAME
+	_ZNK22TPhoneCmdParamRingTone9TextToSayEv @ 293 NONAME
+	_ZNK24TPhoneCmdParamGlobalNote14TextResourceIdEv @ 294 NONAME
+	_ZNK24TPhoneCmdParamGlobalNote18NotificationDialogEv @ 295 NONAME
+	_ZNK24TPhoneCmdParamGlobalNote4TextEv @ 296 NONAME
+	_ZNK24TPhoneCmdParamGlobalNote4TypeEv @ 297 NONAME
+	_ZNK24TPhoneCmdParamGlobalNote7TimeoutEv @ 298 NONAME
+	_ZNK24TPhoneCmdParamGlobalNote9CauseCodeEv @ 299 NONAME
+	_ZNK24TPhoneCmdParamKeyCapture11CaptureTypeEv @ 300 NONAME
+	_ZNK24TPhoneCmdParamKeyCapture3KeyEv @ 301 NONAME
+	_ZNK24TPhoneCmdParamKeyCapture7KeyCodeEv @ 302 NONAME
+	_ZNK25TPhoneCmdParamAudioOutput11AudioOutputEv @ 303 NONAME
+	_ZNK25TPhoneCmdParamTransEffect4TypeEv @ 304 NONAME
+	_ZNK26CPhoneResourceResolverBase17ResolveResourceIDERKi @ 305 NONAME
+	_ZNK26CPhoneResourceResolverBase27IsTelephonyFeatureSupportedEi @ 306 NONAME
+	_ZNK26TPhoneCmdParamProgressNote10ResourceIdEv @ 307 NONAME
+	_ZNK26TPhoneCmdParamProgressNote8WaitTimeEv @ 308 NONAME
+	_ZNK27TPhoneCmdParamCallStateData6CallIdEv @ 309 NONAME
+	_ZNK27TPhoneCmdParamCallStateData9CallStateEv @ 310 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData10CallerTextEv @ 311 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData10NumberTypeEv @ 312 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData11ContactLinkEv @ 313 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData12HasThumbnailEv @ 314 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData14ParticipantCLIEv @ 315 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData14ShortLabelTextEv @ 316 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData17RemotePhoneNumberEv @ 317 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData24CLITextClippingDirectionEv @ 318 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData25CNAPTextClippingDirectionEv @ 319 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData25CipheringIndicatorAllowedEv @ 320 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData5Line2Ev @ 321 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData7CLITextEv @ 322 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData7PictureEv @ 323 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData8CNAPTextEv @ 324 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData8CallTypeEv @ 325 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData8DivertedEv @ 326 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData9CallStateEv @ 327 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData9CipheringEv @ 328 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData9LabelTextEv @ 329 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData9ServiceIdEv @ 330 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData9ThumbnailEv @ 331 NONAME
+	_ZNK31TPhoneCmdParamAudioAvailability16IsBTAccAvailableEv @ 332 NONAME
+	_ZNK31TPhoneCmdParamAudioAvailability19IsWiredAccAvailableEv @ 333 NONAME
+	_ZNK33TPhoneCmdParamIncallIndicatorData19LittleBubbleVisibleEv @ 334 NONAME
+	_ZNK33TPhoneCmdParamIncallIndicatorData25CipheringIndicatorAllowedEv @ 335 NONAME
+	_ZNK33TPhoneCmdParamIncallIndicatorData4ModeEv @ 336 NONAME
+	_ZNK33TPhoneCmdParamIncallIndicatorData4MuteEv @ 337 NONAME
+	_ZNK33TPhoneCmdParamIncallIndicatorData5Line2Ev @ 338 NONAME
+	_ZNK33TPhoneCmdParamIncallIndicatorData9CallStateEv @ 339 NONAME
+	_ZNK33TPhoneCmdParamIncallIndicatorData9CipheringEv @ 340 NONAME
+	_ZNK33TPhoneCmdParamIncallIndicatorData9EmergencyEv @ 341 NONAME
+	_ZNK37TPhoneCmdParamEmergencyCallHeaderData10HeaderTextEv @ 342 NONAME
+	_ZNK37TPhoneCmdParamEmergencyCallHeaderData18OwnPhoneNumberTextEv @ 343 NONAME
+	_ZNK37TPhoneCmdParamEmergencyCallHeaderData25CipheringIndicatorAllowedEv @ 344 NONAME
+	_ZNK37TPhoneCmdParamEmergencyCallHeaderData9CipheringEv @ 345 NONAME
+	_ZNK37TPhoneCmdParamEmergencyCallHeaderData9LabelTextEv @ 346 NONAME
+	_ZTI11CPhoneTimer @ 347 NONAME
+	_ZTI12CPhoneLogger @ 348 NONAME
+	_ZTI13CPhoneStorage @ 349 NONAME
+	_ZTI17CPhoneCenRepProxy @ 350 NONAME
+	_ZTI17CPhonePubSubProxy @ 351 NONAME
+	_ZTI18CPhoneMethodLogger @ 352 NONAME
+	_ZTI20CPhoneClearBlacklist @ 353 NONAME
+	_ZTI20CPhoneRecoverySystem @ 354 NONAME
+	_ZTI22CPhoneCallThemeMonitor @ 355 NONAME
+	_ZTI22CPhoneLibraryContainer @ 356 NONAME
+	_ZTI24CPhoneCenRepEventHandler @ 357 NONAME
+	_ZTI25CPhonePublishSubscriberAO @ 358 NONAME
+	_ZTI26CPhoneMainResourceResolver @ 359 NONAME
+	_ZTI26CPhoneResourceResolverBase @ 360 NONAME
+	_ZTI30CPhoneMainErrorMessagesHandler @ 361 NONAME
+	_ZTV11CPhoneTimer @ 362 NONAME
+	_ZTV12CPhoneLogger @ 363 NONAME
+	_ZTV13CPhoneStorage @ 364 NONAME
+	_ZTV17CPhoneCenRepProxy @ 365 NONAME
+	_ZTV17CPhonePubSubProxy @ 366 NONAME
+	_ZTV18CPhoneMethodLogger @ 367 NONAME
+	_ZTV20CPhoneClearBlacklist @ 368 NONAME
+	_ZTV20CPhoneRecoverySystem @ 369 NONAME
+	_ZTV22CPhoneCallThemeMonitor @ 370 NONAME
+	_ZTV22CPhoneLibraryContainer @ 371 NONAME
+	_ZTV24CPhoneCenRepEventHandler @ 372 NONAME
+	_ZTV25CPhonePublishSubscriberAO @ 373 NONAME
+	_ZTV26CPhoneMainResourceResolver @ 374 NONAME
+	_ZTV26CPhoneResourceResolverBase @ 375 NONAME
+	_ZTV30CPhoneMainErrorMessagesHandler @ 376 NONAME
+	_ZThn4_N12CPhoneLoggerD0Ev @ 377 NONAME
+	_ZThn4_N12CPhoneLoggerD1Ev @ 378 NONAME
+	_ZThn4_N13CPhoneStorage19NeedToEnableKeylockEv @ 379 NONAME
+	_ZThn4_N13CPhoneStorage22SetNeedToEnableKeylockEi @ 380 NONAME
+	_ZThn4_N13CPhoneStorageD0Ev @ 381 NONAME
+	_ZThn4_N13CPhoneStorageD1Ev @ 382 NONAME
+	_ZThn4_N26CPhoneResourceResolverBaseD0Ev @ 383 NONAME
+	_ZThn4_N26CPhoneResourceResolverBaseD1Ev @ 384 NONAME
+	_ZThn4_NK26CPhoneResourceResolverBase17ResolveResourceIDERKi @ 385 NONAME
 
--- a/phoneapp/phoneuiutils/group/bld.inf	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiutils/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -26,7 +26,7 @@
 PRJ_EXPORTS
 
 // Stub SIS files:
-../group/phoneuiutils_stub.sis                  /epoc32/data/z/system/install/phoneuiutils_stub.sis
+../rom/phoneuiutils_stub.sis                  /epoc32/data/z/system/install/phoneuiutils_stub.sis
 
 // Singleton UIDs used in Telephony thread
 ../inc/telinternalsingletonuids.h               |../../../inc/telinternalsingletonuids.h
--- a/phoneapp/phoneuiutils/group/phoneuiutils.mmp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiutils/group/phoneuiutils.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -25,6 +25,8 @@
 // Assign Vendor ID.
 VENDORID VID_DEFAULT
 
+VERSION 10.0
+
 TARGET          phoneuiutils.dll
 TARGETTYPE      dll
 UID             0x1000008d 0x101F4D0F
@@ -101,3 +103,6 @@
 LIBRARY         efsrv.lib
 #endif
 LIBRARY         charconv.lib
+
+
+SMPSAFE
--- a/phoneapp/phoneuiutils/group/phoneuiutils_stub.pkg	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +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: For packing phoneui utils component stub.
-;
-; Languages
-&EN
-
-; Header
-#{"PhoneUIUtils"}, (0x101F4D0F), 1, 0, 0, TYPE=SA
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Files
-;
-;  PhoneUIUtils
-;
-"" - "z:\sys\bin\PhoneUIUtils.dll"
Binary file phoneapp/phoneuiutils/group/phoneuiutils_stub.sis has changed
--- a/phoneapp/phoneuiutils/inc/cphonecenrepproxy.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiutils/inc/cphonecenrepproxy.h	Mon Oct 04 00:16:48 2010 +0300
@@ -269,7 +269,7 @@
         void HandleNotify( 
             const TUid& aUid, 
             const TUint aId );
-
+        
     private:
 
         /**
@@ -277,12 +277,13 @@
         * @return new instance.
         */
         static CPhoneCenRepProxy* NewL();
-        
+
+protected:        
         /**
         * C++ default constructor.
         */
-        CPhoneCenRepProxy();
-
+        CPhoneCenRepProxy();        
+        
         /**
         * By default Symbian OS constructor is private.
         */
--- a/phoneapp/phoneuiutils/inc/cphonestorage.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiutils/inc/cphonestorage.h	Mon Oct 04 00:16:48 2010 +0300
@@ -39,43 +39,7 @@
     IMPORT_C static CPhoneStorage* NewL();
 
     IMPORT_C virtual ~CPhoneStorage();
-    
-    /**
-     * AppendBlockedKeysListL.
-     *
-     * @since S60 v5.0
-     */
-    IMPORT_C void AppendBlockedKeysListL( TStdScanCode aScanCode );
-    
-    /**
-     * GetBlockedKeyList.
-     *
-     * @since S60 v5.0
-     */
-    IMPORT_C const RArray<TInt>& GetBlockedKeyList() const;
-
-    /**
-     * ResetBlockedKeysList.
-     *
-     * @since S60 v5.0
-     */
-    IMPORT_C void ResetBlockedKeysList();
-
-    /**
-     * IsBlockedKeysListEmpty.
-     */
-    IMPORT_C TBool IsBlockedKeysListEmpty();
-
-    /**
-     * SetScreenLocked.
-     */
-    IMPORT_C void SetScreenLocked( TBool aLocked );
-    
-    /**
-     * IsScreenLocked.
-     */
-    IMPORT_C TBool IsScreenLocked();
-    
+        
     /**
      * SetNeedToEnableKeylock.
      */
@@ -93,13 +57,7 @@
     void ConstructL();
     
 private: // data
-
-     // Blocked key list
-     RArray<TInt> iBlockedKeysScanCode;
-     
-     // Is touch screen locked there is an incoming call
-     TBool iIsScreenLocked;
-     
+    
      // ETrue, if keylock must enable when call ends
      TBool iNeedToEnableKeylock;
     };
--- a/phoneapp/phoneuiutils/inc/mphonestorage.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiutils/inc/mphonestorage.h	Mon Oct 04 00:16:48 2010 +0300
@@ -35,18 +35,6 @@
         */
         virtual ~MPhoneStorage() {};
 
-        virtual void AppendBlockedKeysListL( TStdScanCode aScanCode ) = 0;
-        
-        virtual const RArray<TInt>& GetBlockedKeyList() const = 0;
-        
-        virtual void ResetBlockedKeysList() = 0;
-        
-        virtual TBool IsBlockedKeysListEmpty() = 0;
-        
-        virtual void SetScreenLocked( TBool aLocked ) = 0;
-        
-        virtual TBool IsScreenLocked() = 0;
-        
         virtual TBool NeedToEnableKeylock() = 0;
         
         virtual void SetNeedToEnableKeylock( TBool aEnableKeylock ) = 0;
--- a/phoneapp/phoneuiutils/inc/phoneloggerviewcommands.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiutils/inc/phoneloggerviewcommands.h	Mon Oct 04 00:16:48 2010 +0300
@@ -84,16 +84,10 @@
 		EPhoneViewSetListQueryString,
 		/** EPhoneViewRemoveQuery */
 		EPhoneViewRemoveQuery,
-		/** EPhoneViewSetTopApplication */
-		EPhoneViewSetTopApplication,
 		/** EPhoneViewBringAppToForeground */
 		EPhoneViewBringAppToForeground,
 		/** EPhoneViewSendToBackground */
 		EPhoneViewSendToBackground,
-		/** EPhoneViewSetNeedToSendToBackgroundStatus */
-		EPhoneViewSetNeedToSendToBackgroundStatus,
-		/** EPhoneViewGetNeedToSendToBackgroundStatus */
-		EPhoneViewGetNeedToSendToBackgroundStatus,
 		/** EPhoneViewGetTopApplicationIsDisplayedStatus */
 		EPhoneViewGetTopApplicationIsDisplayedStatus,
 		/** EPhoneViewGetForegroundApplication */
@@ -104,10 +98,6 @@
 		EPhoneViewStopCapturingKey,
 		/** EPhoneViewSetGlobalNotifiersDisabled */
 		EPhoneViewSetGlobalNotifiersDisabled,
-		/** EPhoneViewGetHoldFlag */
-		EPhoneViewGetHoldFlag,
-		/** EPhoneViewSetHoldFlag */
-		EPhoneViewSetHoldFlag,
 		/** EPhoneViewOpenSingleItemFetchDialog */
 		EPhoneViewOpenSingleItemFetchDialog,
 		/** EPhoneViewRemovePhoneDialogs */
@@ -168,8 +158,6 @@
 		EPhoneViewIsQuery,
 		/** EPhoneViewBringIdleToForeground */
 		EPhoneViewBringIdleToForeground,
-		/** EPhoneViewSetIdleTopApplication */
-		EPhoneViewSetIdleTopApplication,
 		/** EPhoneViewBeginUpdate */
 		EPhoneViewBeginUpdate,
 		/** EPhoneViewEndUpdate */
@@ -200,10 +188,6 @@
 		EPhoneViewSendAiwCommand,
 		/** EPhoneViewCipheringInfoChangePlayTone */
 		EPhoneViewCipheringInfoChangePlayTone,
-		/** EPhoneViewDisableKeyLockWithoutNote */
-		EPhoneViewDisableKeyLockWithoutNote,
-		/** EPhoneViewGetKeyLockStatus */
-		EPhoneViewGetKeyLockStatus,
 		/** EPhoneViewRemoveGlobalWaitNote */
 		EPhoneViewRemoveGlobalWaitNote,
 		/** EPhoneViewSetPhoneCustomization */
--- a/phoneapp/phoneuiutils/inc/phoneresourceids.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiutils/inc/phoneresourceids.h	Mon Oct 04 00:16:48 2010 +0300
@@ -200,7 +200,6 @@
     R_PHONE_TEXT_COLP_CONNECTED,
     R_PHONE_BT_LOOPBACK_ENABLED_STRING,
     R_PHONE_BT_LOOPBACK_DISABLED_STRING,
-    R_PHONE_LINE_BLOCKING_NOTE,
     R_PHONE_INCALL_QUERY_SWITCH_TO_VIDEO,
     R_PHONE_INCALL_QUERY_SWITCH_TO_VOICE,
     R_PHONE_INCALL_INFO_NO_NETWORK_SUPPORT,
--- a/phoneapp/phoneuiutils/inc/phonerssbase.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiutils/inc/phonerssbase.h	Mon Oct 04 00:16:48 2010 +0300
@@ -323,11 +323,7 @@
 
     EPhoneBtLoopbackEnabled,
     EPhoneBtLoopbackDisabled,
-
-    EPhoneLineBlockingNote,
-
-    EPhoneSwitchToVideoQuery,
-    EPhoneSwitchToVoiceQuery,
+    
     EPhoneSimRejected,
     EPhoneSimUnaccepted,
     EPhoneSimRemoved,
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiutils/rom/phoneuiutils_stub.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,32 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: For packing phoneui utils component stub.
+;
+; Languages
+&EN
+
+; Header
+#{"PhoneUIUtils"}, (0x101F4D0F), 1, 0, 0, TYPE=SA
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+;Files
+;
+;  PhoneUIUtils
+;
+"" - "z:\sys\bin\PhoneUIUtils.dll"
Binary file phoneapp/phoneuiutils/rom/phoneuiutils_stub.sis has changed
--- a/phoneapp/phoneuiutils/src/cphonecenrepproxy.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiutils/src/cphonecenrepproxy.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -28,7 +28,6 @@
 #include    <UiklafInternalCRKeys.h>
 #include    <ProfileEngineDomainCRKeys.h>
 #include    <DRMHelperServerInternalCRKeys.h>
-#include    <AvkonInternalCRKeys.h>
 #include    <btengdomaincrkeys.h> 
 #include    <utf.h>
 
--- a/phoneapp/phoneuiutils/src/cphonekeys.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiutils/src/cphonekeys.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -18,8 +18,6 @@
 
 // INCLUDE FILES
 #include    "cphonekeys.h"
-#include    <aknkeys.h>
-#include    <AknUtils.h>
 #include    "phonelogger.h"
 
 // CONSTANTS
@@ -38,8 +36,7 @@
     // Convert key code to western.
     TBuf<1> buffer; // one character
     buffer.Append( aKeyEvent.iCode );
-    AknTextUtils::ConvertDigitsTo( buffer, EDigitTypeWestern );
-
+   
     TBool result = EFalse;
 
     switch ( buffer[ 0 ] ) // first char
--- a/phoneapp/phoneuiutils/src/cphonepubsubproxy.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiutils/src/cphonepubsubproxy.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -26,7 +26,6 @@
 #include <startupdomainpskeys.h>
 #include <coreapplicationuisdomainpskeys.h>
 #include <hwrmdomainpskeys.h>
-#include <UikonInternalPSKeys.h>
 
 #include  "phoneui.pan"
 #include  "phoneconstants.h"
--- a/phoneapp/phoneuiutils/src/cphoneresourceresolverbase.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiutils/src/cphoneresourceresolverbase.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -44,7 +44,7 @@
 // -----------------------------------------------------------------------------
 //
 EXPORT_C CPhoneResourceResolverBase::CPhoneResourceResolverBase():
-    iEnv( *CEikonEnv::Static() )
+    iEnv( *CEikonEnv::Static() ) // codescanner::performance::eikonenvstatic
     {
     if ( FeatureManager::FeatureSupported( KFeatureIdVideocallMenuVisibility ) )
         {
@@ -933,18 +933,7 @@
             retVal = R_PHONE_BT_LOOPBACK_DISABLED_STRING;
             break;
 
-        case EPhoneLineBlockingNote:
-            retVal = R_PHONE_LINE_BLOCKING_NOTE;
-            break;
-
-        case EPhoneSwitchToVideoQuery:
-            retVal = R_PHONE_INCALL_QUERY_SWITCH_TO_VIDEO;
-            break;
-
-        case EPhoneSwitchToVoiceQuery:
-            retVal = R_PHONE_INCALL_QUERY_SWITCH_TO_VOICE;
-            break;
-
+            
         case EPhoneInformationNoNetworkSupportForVideoCallNote:
             retVal =  R_PHONE_INCALL_INFO_NO_NETWORK_SUPPORT;
             break;
--- a/phoneapp/phoneuiutils/src/cphonestorage.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiutils/src/cphonestorage.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -28,8 +28,7 @@
 // ---------------------------------------------------------------------------
 //
 CPhoneStorage::CPhoneStorage()
-    : iIsScreenLocked( EFalse ),
-    iNeedToEnableKeylock( EFalse )
+    : iNeedToEnableKeylock( EFalse )
     {
     __LOGMETHODSTARTEND(EPhoneUIUtils, "CPhoneStorage::CPhoneStorage()");
     }
@@ -65,71 +64,6 @@
 EXPORT_C CPhoneStorage::~CPhoneStorage()
     {
     __LOGMETHODSTARTEND(EPhoneUIUtils, "CPhoneStorage::~CPhoneStorage()");
-    iBlockedKeysScanCode.Reset();
-    iBlockedKeysScanCode.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneStorage::AppendBlockedKeysListL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPhoneStorage::AppendBlockedKeysListL( TStdScanCode aScanCode )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIUtils, "CPhoneStorage::AppendBlockedKeysListL()");
-    iBlockedKeysScanCode.AppendL( aScanCode );
-    }
-
-// -----------------------------------------------------------
-// CPhoneStorage::GetBlockedKeyList
-// -----------------------------------------------------------
-//
-EXPORT_C const RArray<TInt>& CPhoneStorage::GetBlockedKeyList() const
-    {
-    __LOGMETHODSTARTEND(EPhoneUIUtils, "CPhoneStorage::GetBlockedKeyList()");
-    return iBlockedKeysScanCode;
-    }
-
-// -----------------------------------------------------------
-// CPhoneStorage::ResetBlockedKeysList
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneStorage::ResetBlockedKeysList()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIUtils, "CPhoneStorage::ResetBlockedKeysList()");
-    iBlockedKeysScanCode.Reset();
-    }
-
-// -----------------------------------------------------------
-// CPhoneStorage::IsBlockedKeysListSet
-// -----------------------------------------------------------
-//
-EXPORT_C TBool CPhoneStorage::IsBlockedKeysListEmpty()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIUtils, "CPhoneStorage::IsBlockedKeysListSet()");
-    TBool ret = ETrue;
-    if( iBlockedKeysScanCode.Count() )
-        {
-        ret = EFalse;
-        }
-    return ret;
-    }
-
-// -----------------------------------------------------------
-// CPhoneStorage::SetScreenLocked
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneStorage::SetScreenLocked( TBool aLocked )
-    {
-    iIsScreenLocked = aLocked;
-    }
-
-// -----------------------------------------------------------
-// CPhoneStorage::IsScreenLocked
-// -----------------------------------------------------------
-//
-EXPORT_C TBool CPhoneStorage::IsScreenLocked()
-    {
-    return iIsScreenLocked;
     }
 
 // -----------------------------------------------------------
@@ -141,7 +75,6 @@
     return iNeedToEnableKeylock;
     }
 
-
 // -----------------------------------------------------------
 // CPhoneStorage::NeedToEnableKeylock
 // -----------------------------------------------------------
--- a/phoneapp/phoneuiutils/src/phoneloggerviewcommands.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiutils/src/phoneloggerviewcommands.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -51,89 +51,81 @@
 _STLIT8(K25, "EPhoneViewShowQuery");
 _STLIT8(K26, "EPhoneViewSetListQueryString");
 _STLIT8(K27, "EPhoneViewRemoveQuery");
-_STLIT8(K28, "EPhoneViewSetTopApplication");
-_STLIT8(K29, "EPhoneViewBringAppToForeground");
-_STLIT8(K30, "EPhoneViewSendToBackground");
-_STLIT8(K31, "EPhoneViewSetNeedToSendToBackgroundStatus");
-_STLIT8(K32, "EPhoneViewGetNeedToSendToBackgroundStatus");
-_STLIT8(K33, "EPhoneViewGetTopApplicationIsDisplayedStatus");
-_STLIT8(K34, "EPhoneViewGetForegroundApplication");
-_STLIT8(K35, "EPhoneViewStartCapturingKey");
-_STLIT8(K36, "EPhoneViewStopCapturingKey");
-_STLIT8(K37, "EPhoneViewSetGlobalNotifiersDisabled");
-_STLIT8(K38, "EPhoneViewGetHoldFlag");
-_STLIT8(K39, "EPhoneViewSetHoldFlag");
-_STLIT8(K40, "EPhoneViewOpenSingleItemFetchDialog");
-_STLIT8(K41, "EPhoneViewRemovePhoneDialogs");
-_STLIT8(K42, "EPhoneViewCreateConference");
-_STLIT8(K43, "EPhoneViewAddToConference");
-_STLIT8(K44, "EPhoneViewRemoveFromConference");
-_STLIT8(K45, "EPhoneViewPrivateFromConference");
-_STLIT8(K46, "EPhoneViewSelectedConfMember");
-_STLIT8(K47, "EPhoneViewGetCallIdByState");
-_STLIT8(K48, "EPhoneViewGetCountOfActiveCalls");
-_STLIT8(K49, "EPhoneViewSetNaviPaneAudioVolume");
-_STLIT8(K50, "EPhoneViewHideNaviPaneAudioVolume");
-_STLIT8(K51, "EPhoneViewGetIsConference");
-_STLIT8(K52, "EPhoneViewGetCallExistsInConference");
-_STLIT8(K53, "EPhoneViewRemoveAllCallHeaders");
-_STLIT8(K54, "EPhoneViewPlayRingTone");
-_STLIT8(K55, "EPhoneViewMuteRingTone");
-_STLIT8(K56, "EPhoneViewStopRingTone");
-_STLIT8(K57, "EPhoneViewMuteRingToneOnAnswer");
-_STLIT8(K58, "EPhoneViewCipheringInfoChange");
-_STLIT8(K59, "EPhoneViewCloseFSW");
-_STLIT8(K60, "EPhoneViewLaunchRfsDeep");
-_STLIT8(K61, "EPhoneViewLaunchRfsNormal");
-_STLIT8(K62, "EPhoneViewOpenSoftRejectEditor");
-_STLIT8(K63, "EPhoneViewSetSecurityMode");
-_STLIT8(K64, "EPhoneViewGetSecurityModeStatus");
-_STLIT8(K65, "EPhoneViewEnableKeyLock");
-_STLIT8(K66, "EPhoneViewEnableKeyLockWithoutNote");
-_STLIT8(K67, "EPhoneViewUpdateFSW");
-_STLIT8(K68, "EPhoneViewIsQuery");
-_STLIT8(K69, "EPhoneViewBringIdleToForeground");
-_STLIT8(K70, "EPhoneViewSetIdleTopApplication");
-_STLIT8(K71, "EPhoneViewBeginUpdate");
-_STLIT8(K72, "EPhoneViewEndUpdate");
-_STLIT8(K73, "EPhoneViewRemoveConferenceBubble");
-_STLIT8(K74, "EPhoneViewSetTouchPaneButtons");
-_STLIT8(K75, "EPhoneViewGetBlockingDialogStatus");
-_STLIT8(K76, "EPhoneViewIsNoteActive");
-_STLIT8(K77, "EPhoneViewOpenCallHandling");
-_STLIT8(K78, "EPhoneViewGetAudioVolumeLevel");
-_STLIT8(K79, "EPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel");
-_STLIT8(K80, "EPhoneViewRemoveDtmfNote");
-_STLIT8(K81, "EPhoneViewSetEikonNotifiersDisabled");
-_STLIT8(K82, "EPhoneViewCancelAllNotications");
-_STLIT8(K83, "EPhoneViewDisableKeyLock");
-_STLIT8(K84, "EPhoneViewSendAiwCommand");
-_STLIT8(K85, "EPhoneViewCipheringInfoChangePlayTone");
-_STLIT8(K86, "EPhoneViewDisableKeyLockWithoutNote");
-_STLIT8(K87, "EPhoneViewGetKeyLockStatus");
-_STLIT8(K88, "EPhoneViewRemoveGlobalWaitNote");
-_STLIT8(K89, "EPhoneViewSetPhoneCustomization");
-_STLIT8(K90, "EPhoneViewSetViewCustomization");
-_STLIT8(K91, "EPhoneViewSetButtonCustomization");
-_STLIT8(K92, "EPhoneViewUpdateContactByString");
-_STLIT8(K93, "EPhoneViewAddContactByString");
-_STLIT8(K94, "EPhoneViewIsActiveNoteDissmissableByKeyEvent");
-_STLIT8(K95, "EPhoneViewEnableToolbarButton");
-_STLIT8(K96, "EPhoneViewHideToolbar");
-_STLIT8(K97, "EPhoneViewShowToolbar");
-_STLIT8(K98, "EPhoneViewGetExpandedBubbleCallId");
-_STLIT8(K99, "EPhoneViewOpenDialer");
-_STLIT8(K100, "EPhoneSetConferenceExpanded");
-_STLIT8(K101, "EPhoneAppShutDown");
-_STLIT8(K102, "EPhoneViewBackButtonActive");
-_STLIT8(K103, "EPhoneViewHsToForegroundAfterCall");
-_STLIT8(K104, "EPhoneViewOpenContacts");
-_STLIT8(K105, "EPhoneViewSetIhfFlag");
-_STLIT8(K106, "EPhoneViewSetMuteFlag");
-_STLIT8(K107, "EPhoneViewLaunchLogs");
-_STLIT8(K108, "EPhoneViewSetBlueToothFlag");
-_STLIT8(K109, "EPhoneViewSetBluetoothAvailableFlag");
-_STLIT8(K110, ", // Don't remove this, this should always be the last in list.");
+_STLIT8(K28, "EPhoneViewBringAppToForeground");
+_STLIT8(K29, "EPhoneViewSendToBackground");
+_STLIT8(K30, "EPhoneViewGetTopApplicationIsDisplayedStatus");
+_STLIT8(K31, "EPhoneViewGetForegroundApplication");
+_STLIT8(K32, "EPhoneViewStartCapturingKey");
+_STLIT8(K33, "EPhoneViewStopCapturingKey");
+_STLIT8(K34, "EPhoneViewSetGlobalNotifiersDisabled");
+_STLIT8(K35, "EPhoneViewOpenSingleItemFetchDialog");
+_STLIT8(K36, "EPhoneViewRemovePhoneDialogs");
+_STLIT8(K37, "EPhoneViewCreateConference");
+_STLIT8(K38, "EPhoneViewAddToConference");
+_STLIT8(K39, "EPhoneViewRemoveFromConference");
+_STLIT8(K40, "EPhoneViewPrivateFromConference");
+_STLIT8(K41, "EPhoneViewSelectedConfMember");
+_STLIT8(K42, "EPhoneViewGetCallIdByState");
+_STLIT8(K43, "EPhoneViewGetCountOfActiveCalls");
+_STLIT8(K44, "EPhoneViewSetNaviPaneAudioVolume");
+_STLIT8(K45, "EPhoneViewHideNaviPaneAudioVolume");
+_STLIT8(K46, "EPhoneViewGetIsConference");
+_STLIT8(K47, "EPhoneViewGetCallExistsInConference");
+_STLIT8(K48, "EPhoneViewRemoveAllCallHeaders");
+_STLIT8(K49, "EPhoneViewPlayRingTone");
+_STLIT8(K50, "EPhoneViewMuteRingTone");
+_STLIT8(K51, "EPhoneViewStopRingTone");
+_STLIT8(K52, "EPhoneViewMuteRingToneOnAnswer");
+_STLIT8(K53, "EPhoneViewCipheringInfoChange");
+_STLIT8(K54, "EPhoneViewCloseFSW");
+_STLIT8(K55, "EPhoneViewLaunchRfsDeep");
+_STLIT8(K56, "EPhoneViewLaunchRfsNormal");
+_STLIT8(K57, "EPhoneViewOpenSoftRejectEditor");
+_STLIT8(K58, "EPhoneViewSetSecurityMode");
+_STLIT8(K59, "EPhoneViewGetSecurityModeStatus");
+_STLIT8(K60, "EPhoneViewEnableKeyLock");
+_STLIT8(K61, "EPhoneViewEnableKeyLockWithoutNote");
+_STLIT8(K62, "EPhoneViewUpdateFSW");
+_STLIT8(K63, "EPhoneViewIsQuery");
+_STLIT8(K64, "EPhoneViewBringIdleToForeground");
+_STLIT8(K65, "EPhoneViewBeginUpdate");
+_STLIT8(K66, "EPhoneViewEndUpdate");
+_STLIT8(K67, "EPhoneViewRemoveConferenceBubble");
+_STLIT8(K68, "EPhoneViewSetTouchPaneButtons");
+_STLIT8(K69, "EPhoneViewGetBlockingDialogStatus");
+_STLIT8(K70, "EPhoneViewIsNoteActive");
+_STLIT8(K71, "EPhoneViewOpenCallHandling");
+_STLIT8(K72, "EPhoneViewGetAudioVolumeLevel");
+_STLIT8(K73, "EPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel");
+_STLIT8(K74, "EPhoneViewRemoveDtmfNote");
+_STLIT8(K75, "EPhoneViewSetEikonNotifiersDisabled");
+_STLIT8(K76, "EPhoneViewCancelAllNotications");
+_STLIT8(K77, "EPhoneViewDisableKeyLock");
+_STLIT8(K78, "EPhoneViewSendAiwCommand");
+_STLIT8(K79, "EPhoneViewCipheringInfoChangePlayTone");
+_STLIT8(K80, "EPhoneViewRemoveGlobalWaitNote");
+_STLIT8(K81, "EPhoneViewSetPhoneCustomization");
+_STLIT8(K82, "EPhoneViewSetViewCustomization");
+_STLIT8(K83, "EPhoneViewSetButtonCustomization");
+_STLIT8(K84, "EPhoneViewUpdateContactByString");
+_STLIT8(K85, "EPhoneViewAddContactByString");
+_STLIT8(K86, "EPhoneViewIsActiveNoteDissmissableByKeyEvent");
+_STLIT8(K87, "EPhoneViewEnableToolbarButton");
+_STLIT8(K88, "EPhoneViewHideToolbar");
+_STLIT8(K89, "EPhoneViewShowToolbar");
+_STLIT8(K90, "EPhoneViewGetExpandedBubbleCallId");
+_STLIT8(K91, "EPhoneViewOpenDialer");
+_STLIT8(K92, "EPhoneSetConferenceExpanded");
+_STLIT8(K93, "EPhoneAppShutDown");
+_STLIT8(K94, "EPhoneViewBackButtonActive");
+_STLIT8(K95, "EPhoneViewHsToForegroundAfterCall");
+_STLIT8(K96, "EPhoneViewOpenContacts");
+_STLIT8(K97, "EPhoneViewSetIhfFlag");
+_STLIT8(K98, "EPhoneViewSetMuteFlag");
+_STLIT8(K99, "EPhoneViewLaunchLogs");
+_STLIT8(K100, "EPhoneViewSetBlueToothFlag");
+_STLIT8(K101, "EPhoneViewSetBluetoothAvailableFlag");
+_STLIT8(K102, ", // Don't remove this, this should always be the last in list.");
 
 // Intermediate
 const void * const KStringPointers[] =
@@ -239,16 +231,8 @@
 	(const void*)&K99,
 	(const void*)&K100,
 	(const void*)&K101,
-	(const void*)&K102,
-	(const void*)&K103,
-	(const void*)&K104,
-	(const void*)&K105,
-	(const void*)&K106,
-	(const void*)&K107,
-	(const void*)&K108,
-	(const void*)&K109,
-	(const void*)&K110
+	(const void*)&K102
 	};
 
-const TStringTable PhoneLoggerviewCommands::Table = {110, KStringPointers, EFalse};
+const TStringTable PhoneLoggerviewCommands::Table = {102, KStringPointers, EFalse};
 
--- a/phoneapp/phoneuiutils/src/phoneloggerviewcommands.st	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiutils/src/phoneloggerviewcommands.st	Mon Oct 04 00:16:48 2010 +0300
@@ -27,18 +27,13 @@
 EPhoneViewShowQuery EPhoneViewShowQuery 
 EPhoneViewSetListQueryString EPhoneViewSetListQueryString 
 EPhoneViewRemoveQuery EPhoneViewRemoveQuery 
-EPhoneViewSetTopApplication EPhoneViewSetTopApplication 
 EPhoneViewBringAppToForeground EPhoneViewBringAppToForeground 
 EPhoneViewSendToBackground EPhoneViewSendToBackground 
-EPhoneViewSetNeedToSendToBackgroundStatus EPhoneViewSetNeedToSendToBackgroundStatus 
-EPhoneViewGetNeedToSendToBackgroundStatus EPhoneViewGetNeedToSendToBackgroundStatus 
 EPhoneViewGetTopApplicationIsDisplayedStatus EPhoneViewGetTopApplicationIsDisplayedStatus 
 EPhoneViewGetForegroundApplication EPhoneViewGetForegroundApplication 
 EPhoneViewStartCapturingKey EPhoneViewStartCapturingKey 
 EPhoneViewStopCapturingKey EPhoneViewStopCapturingKey 
 EPhoneViewSetGlobalNotifiersDisabled EPhoneViewSetGlobalNotifiersDisabled 
-EPhoneViewGetHoldFlag EPhoneViewGetHoldFlag 
-EPhoneViewSetHoldFlag EPhoneViewSetHoldFlag 
 EPhoneViewOpenSingleItemFetchDialog EPhoneViewOpenSingleItemFetchDialog 
 EPhoneViewRemovePhoneDialogs EPhoneViewRemovePhoneDialogs 
 EPhoneViewCreateConference EPhoneViewCreateConference 
@@ -67,15 +62,11 @@
 EPhoneViewEnableKeyLock EPhoneViewEnableKeyLock 
 EPhoneViewEnableKeyLockWithoutNote EPhoneViewEnableKeyLockWithoutNote 
 EPhoneViewUpdateFSW EPhoneViewUpdateFSW 
-EPhoneViewIsQuery EPhoneViewIsQuery 
 EPhoneViewBringIdleToForeground EPhoneViewBringIdleToForeground 
-EPhoneViewSetIdleTopApplication EPhoneViewSetIdleTopApplication 
 EPhoneViewBeginUpdate EPhoneViewBeginUpdate 
 EPhoneViewEndUpdate EPhoneViewEndUpdate 
 EPhoneViewRemoveConferenceBubble EPhoneViewRemoveConferenceBubble 
 EPhoneViewSetTouchPaneButtons EPhoneViewSetTouchPaneButtons 
-EPhoneViewGetBlockingDialogStatus EPhoneViewGetBlockingDialogStatus 
-EPhoneViewIsNoteActive EPhoneViewIsNoteActive 
 EPhoneViewOpenCallHandling EPhoneViewOpenCallHandling 
 EPhoneViewGetAudioVolumeLevel EPhoneViewGetAudioVolumeLevel 
 EPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel EPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel 
@@ -85,15 +76,12 @@
 EPhoneViewDisableKeyLock EPhoneViewDisableKeyLock 
 EPhoneViewSendAiwCommand EPhoneViewSendAiwCommand 
 EPhoneViewCipheringInfoChangePlayTone EPhoneViewCipheringInfoChangePlayTone 
-EPhoneViewDisableKeyLockWithoutNote EPhoneViewDisableKeyLockWithoutNote 
-EPhoneViewGetKeyLockStatus EPhoneViewGetKeyLockStatus 
 EPhoneViewRemoveGlobalWaitNote EPhoneViewRemoveGlobalWaitNote 
 EPhoneViewSetPhoneCustomization EPhoneViewSetPhoneCustomization 
 EPhoneViewSetViewCustomization EPhoneViewSetViewCustomization 
 EPhoneViewSetButtonCustomization EPhoneViewSetButtonCustomization 
 EPhoneViewUpdateContactByString EPhoneViewUpdateContactByString 
 EPhoneViewAddContactByString EPhoneViewAddContactByString 
-EPhoneViewIsActiveNoteDissmissableByKeyEvent EPhoneViewIsActiveNoteDissmissableByKeyEvent 
 EPhoneViewEnableToolbarButton EPhoneViewEnableToolbarButton 
 EPhoneViewHideToolbar EPhoneViewHideToolbar 
 EPhoneViewShowToolbar EPhoneViewShowToolbar 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiutils/tsrc/ut_cphoneresourceresolverbase/BWINS/ut_cphoneresourceresolverbaseu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,3 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
+	
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiutils/tsrc/ut_cphoneresourceresolverbase/Src/tphonetouchbuttonconfigstub.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,154 @@
+/*
+* 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: Touch button configuration stub.
+*
+*/
+
+// INCLUDE FILES
+#include <centralrepository.h>
+#include <barsread.h>
+#include <coemain.h>
+
+#include "phoneresourceids.h"
+#include "tphonetouchbuttonconfig.h"
+#include "PhoneUI.pan"
+
+// CenRep keys
+const TUid KCRUidTelTouchButtonsVariation = {0x2001B2E6};
+const TUint32 KTelButtonsIncomingCall = 1;
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// Constructs and returns an application object.
+// ---------------------------------------------------------------------------
+//
+TPhoneTouchButtonConfig::TPhoneTouchButtonConfig()
+    {
+    for ( TInt i = 0; i < iConfiguration.Count(); i++ )
+        {
+        iConfiguration[i] = KErrNotFound;
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// ReadConfiguration
+// ---------------------------------------------------------------------------
+//
+TInt TPhoneTouchButtonConfig::ReadConfiguration()
+    {
+    TFixedArray<TInt,EPhoneButtonConfigCount> keys;
+            
+    TRAPD( err,
+        {
+        // read configuration key values
+        ReadCenRepKeysL( keys );
+        // read button set resource ids
+        ReadConfigResourceL( keys );        
+        } );
+    
+    return err;
+    }
+
+// ---------------------------------------------------------------------------
+// ReadCenRepKeysL
+// ---------------------------------------------------------------------------
+//
+void TPhoneTouchButtonConfig::ReadCenRepKeysL( 
+    TFixedArray<TInt,KTelButtonsConfigKeyCount>& aKeyValues ) const
+    {
+    CRepository* repository = NULL;
+    TRAPD( err, repository = CRepository::NewL( 
+            KCRUidTelTouchButtonsVariation ) );
+
+    if ( err == KErrNone )
+        {
+        for ( TInt i = 0; i < KTelButtonsConfigKeyCount; i ++ )
+            {
+            TInt key = MapToCenRepKey(i);
+            if ( key != KErrNotFound )
+                {
+                err = repository->Get( key, aKeyValues[i] );
+                aKeyValues[i] -= 1; // map to range 0..n
+                if ( err )
+                    {
+                    aKeyValues[i] = 0; // default
+                    }
+                }
+            else
+                {
+                aKeyValues[i] = 0; // default
+                }
+            }
+        }
+
+    delete repository;
+    }
+
+// ---------------------------------------------------------------------------
+// ReadConfigResourceL
+// ---------------------------------------------------------------------------
+//
+void TPhoneTouchButtonConfig::ReadConfigResourceL( 
+    const TFixedArray<TInt,KTelButtonsConfigKeyCount>& aKeyValues )
+    {
+    if( aKeyValues[0] == 1 )
+        {
+     //   iConfiguration[0] = R_PHONEUI_INCOMING_CALL_SILENCE_BUTTONS;    
+        }
+    else if ( aKeyValues[0] == 0 )
+        {
+        iConfiguration[0] = R_PHONEUI_INCOMING_CALL_BUTTONS;
+        }
+    else
+        {
+        iConfiguration[0] = KErrNotFound;
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// MapToCenRepKey
+// ---------------------------------------------------------------------------
+//
+TInt TPhoneTouchButtonConfig::MapToCenRepKey( TInt aButtons ) const
+    {
+    switch ( aButtons )
+        {
+        case EPhoneConfigIncomingCallButtons:
+            return KTelButtonsIncomingCall;
+        default:
+            return KErrNotFound;
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// ResourceId
+// ---------------------------------------------------------------------------
+//
+TInt TPhoneTouchButtonConfig::ResourceId(
+    TPhoneUIConfigurableButtons aButtons,
+    TInt aDefaultResourceId )  const
+    {
+    if ( iConfiguration[aButtons] != KErrNotFound )
+        {
+        return iConfiguration[aButtons];    
+        }
+    else
+        {
+        return aDefaultResourceId;
+        }
+    
+    }
+
+//  End of File  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiutils/tsrc/ut_cphoneresourceresolverbase/Src/ut_cphoneresourceresolverbase.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,194 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <csmcmockcontext.h>
+#include <smcdefaultvalue.h>
+#include <msmcmockspecbuilder.h>
+#include <smcobjecttotypemapper.h>
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+#include <featmgr.h>
+#include "CPhoneMainResourceResolver.h"
+//#include "MPhoneKeyEvents.h"
+#include "phonerssbase.h"
+
+#include "ut_cphoneresourceresolverbase.h"
+#include "cphoneresourceresolverbase.h"
+#include "phoneresourceids.h"
+
+#include <PhoneUI.rsg>
+#include <HWRMDomainPSKeys.h>
+#include <data_caging_path_literals.hrh>
+#include <bautils.h>     
+
+ 
+class CPhoneMainResourceResolverBaseTester :  public CPhoneResourceResolverBase
+    {
+    public:
+    static CPhoneMainResourceResolverBaseTester* CPhoneMainResourceResolverBaseTester::NewL()
+        {
+        CPhoneMainResourceResolverBaseTester* self = 
+            new( ELeave ) CPhoneMainResourceResolverBaseTester();
+        return self;
+        }    
+    };
+ 
+// - Construction -----------------------------------------------------------
+
+ut_cphoneresourceresolverbase* ut_cphoneresourceresolverbase::NewL()
+    {
+    ut_cphoneresourceresolverbase* self = ut_cphoneresourceresolverbase::NewLC();
+    CleanupStack::Pop();
+    return self;
+    }
+	
+ut_cphoneresourceresolverbase* ut_cphoneresourceresolverbase::NewLC()
+    {
+    ut_cphoneresourceresolverbase* self = new( ELeave ) ut_cphoneresourceresolverbase();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+ut_cphoneresourceresolverbase::~ut_cphoneresourceresolverbase()
+    {
+    CSmcMockContext::Release();
+    }
+
+ut_cphoneresourceresolverbase::ut_cphoneresourceresolverbase()
+    {
+    }
+
+void ut_cphoneresourceresolverbase::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    iMockContext = CSmcMockContext::InstanceL();
+    }
+
+// - Test methods -----------------------------------------------------------
+
+
+
+void ut_cphoneresourceresolverbase::SetupL(  )
+    {
+    iMockContext->InitializeL();
+  
+    }
+
+
+void ut_cphoneresourceresolverbase::Teardown(  )
+    {
+    if ( iResourceResolverBase )
+        {
+        delete iResourceResolverBase;
+        iResourceResolverBase = NULL;
+        }
+      
+    iMockContext->Reset();
+    }
+   
+
+// -----------------------------------------------------------------------------
+// Test menu 
+// -example
+// -----------------------------------------------------------------------------
+//  
+void ut_cphoneresourceresolverbase::T_NumberAcqMenubar()
+    {
+    iMockContext->ExpectCallL( "FeatureManager::FeatureSupported" ).
+            WithL( KFeatureIdOnScreenDialer ).
+            ReturnsL(ETrue);  
+    
+    iResourceResolverBase  = CPhoneMainResourceResolverBaseTester::NewL();  // variation done in construction
+         
+    EUNIT_ASSERT_EQUALS ( R_PHONEUIDIALER_NUMBERACQ_MENUBAR, 
+                         iResourceResolverBase->ResolveResourceID( EPhoneNumberAcqMenubar ) );         
+    }
+
+/**
+ *  Test name: T_IncomingCallSilenceButtonsL
+ *  Use case: MT call, touch screen supported, cenrep 2001B2E6.txt
+ *  modified "1" to "2" -> call buttons are "Answer" and "Silence"
+ *  Motivation: 417-33878
+ *  stif ref: None.
+ * 
+ * */
+/*
+void ut_cphoneresourceresolverbase::T_IncomingCallSilenceButtonsL()
+    {
+    iResourceResolverBase  = CPhoneMainResourceResolverBaseTester::NewL();
+    
+    iResourceResolverBase->BaseConstructL();
+    
+    EUNIT_ASSERT_EQUALS ( R_PHONEUI_INCOMING_CALL_SILENCE_BUTTONS, 
+                         iResourceResolverBase->ResolveResourceID( EPhoneIncomingCallButtons ) );
+    
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations());    
+    }*/
+
+/**
+ *  Test name: T_IncomingCallButtonsL
+ *  Use case: MT call, touch screen supported -> call buttons
+ *  are "Answer" and "Reject"
+ *  Motivation: 417-33878
+ *  stif ref: None.
+ * 
+ * */
+void ut_cphoneresourceresolverbase::T_IncomingCallButtonsL()
+    {
+    iResourceResolverBase  = CPhoneMainResourceResolverBaseTester::NewL(); 
+    iResourceResolverBase->BaseConstructL();
+    
+    EUNIT_ASSERT_EQUALS ( R_PHONEUI_INCOMING_CALL_BUTTONS, 
+                         iResourceResolverBase->ResolveResourceID( EPhoneIncomingCallButtons ) );
+    
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations());    
+    }
+
+ 
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+    ut_cphoneresourceresolverbase,
+    "Add test suite description here.",
+    "UNIT" )
+
+EUNIT_TEST(
+    "1- Test Number Acq Menu ",
+    "",
+    "Test1",
+    "FUNCTIONALITY",
+    SetupL, T_NumberAcqMenubar, Teardown)
+
+EUNIT_TEST(
+    "2- Test Incoming call buttons ",
+    "",
+    "Test2",
+    "FUNCTIONALITY",
+    SetupL, T_IncomingCallButtonsL, Teardown)
+
+/*    
+// Change \epoc32\release\winscw\udeb\z\private\10202be9\2001B2E6.txt 1 -> 2
+EUNIT_TEST(
+    "2- Test Incoming silence call buttons ",
+    "",
+    "Test2",
+    "FUNCTIONALITY",
+    SetupL, T_IncomingCallSilenceButtonsL, Teardown)  
+*/
+
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiutils/tsrc/ut_cphoneresourceresolverbase/Src/ut_cphoneresourceresolverbase.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,75 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __UT_CPHONERESOURCERESOLVERBASE_H__
+#define __UT_CPHONERESOURCERESOLVERBASE_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+#include "TPhoneTouchButtonConfig.h"
+
+
+// FORWARD DECLARATIONS
+class CSmcMockContext;
+class CPhoneResourceResolverBase;
+class CPhoneMainResourceResolverBaseTester;
+
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( ut_cphoneresourceresolverbase )
+	: public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static ut_cphoneresourceresolverbase* NewL();
+        static ut_cphoneresourceresolverbase* NewLC();
+        ~ut_cphoneresourceresolverbase();
+
+    private: // Constructors
+
+        ut_cphoneresourceresolverbase();
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+        
+         void Teardown();
+        
+         void T_NumberAcqMenubar();
+         
+         void T_IncomingCallButtonsL();
+         
+         //void T_IncomingCallSilenceButtonsL();
+          
+
+    private: // Data
+   
+      
+        CSmcMockContext* iMockContext;
+                
+        CPhoneMainResourceResolverBaseTester * iResourceResolverBase;
+        
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __UT_CPHONERESOURCERESOLVERBASE_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiutils/tsrc/ut_cphoneresourceresolverbase/Src/ut_cphoneresourceresolverbase_DllMain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_cphoneresourceresolverbase.h"
+#include <CEUnitTestSuite.h>
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return ut_cphoneresourceresolverbase::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiutils/tsrc/ut_cphoneresourceresolverbase/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+PRJ_PLATFORMS
+    WINSCW
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+
+PRJ_TESTMMPFILES
+ut_cphoneresourceresolverbase.mmp
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiutils/tsrc/ut_cphoneresourceresolverbase/group/ut_cphoneresourceresolverbase.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,98 @@
+/*
+* Copyright (c) 2005-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:  
+*
+*/
+
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET          ut_cphoneresourceresolverbase.dll
+TARGETTYPE      dll
+UID             0x1000af5a 0x01700000
+
+CAPABILITY      ALL -TCB
+VENDORID        VID_DEFAULT
+
+ 
+SOURCEPATH 		../../../../internal/mocks/phoneuiutils
+SOURCE		    mock_cphonelogger.cpp
+SOURCE		    mock_cphonepubsubproxy.cpp
+SOURCE		    mock_cphonemainresourceresolver.cpp
+SOURCE		    mock_cphonekeys.cpp
+
+SOURCEPATH		../../../../../internal/mocks/bafl
+SOURCE			mock_barsread.cpp
+
+SOURCEPATH 		../../../../internal/mocks
+SOURCE			mock_bautils.cpp
+
+
+SOURCEPATH 		../../../../../internal/mocks/eikmenupane
+SOURCE          mock_eikmenup.cpp
+SOURCE          mock_eikmenub.cpp
+SOURCE          mock_coecntrl.cpp
+SOURCE          mock_eikbctrl.cpp
+SOURCE          mock_coemop.cpp
+SOURCE          mock_coeinput.cpp
+SOURCE          mock_gulbordr.cpp
+SOURCE          mock_akncontrol.cpp
+SOURCE          mock_eikcmobs.cpp
+SOURCE			mock_coemain.cpp
+SOURCE			mock_eikenv.cpp
+SOURCE			mock_eikvcurs.cpp
+
+SOURCEPATH 		../../../../internal/mocks/
+SOURCE		    mock_featmgr.cpp
+SOURCE		    mock_StringLoader.cpp
+
+  
+SOURCEPATH    	../Src
+SOURCE        	ut_cphoneresourceresolverbase.cpp
+SOURCE		   	tphonetouchbuttonconfigstub.cpp 
+
+SOURCEPATH    	../../../../phoneuiutils/src
+SOURCE		   	cphoneresourceresolverbase.cpp
+ 
+// Sources required by the test suite
+SOURCEPATH      ../Src
+SOURCE          ut_cphoneresourceresolverbase_DllMain.cpp
+
+ 
+USERINCLUDE    	../../../../../phoneengine/phonemodel/inc
+USERINCLUDE    	../../../../phoneuiutils/inc
+USERINCLUDE     ../../../../phoneui2/srcdata
+ 
+ 
+APP_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE   /epoc32/include/platform/mw/graphics/uigraphicsutils/
+SYSTEMINCLUDE   /epoc32/include/Digia/EUnit
+SYSTEMINCLUDE	../../../../../inc    // phone internal headers
+
+
+LIBRARY         EUnit.lib
+LIBRARY         EUnitUtil.lib
+LIBRARY         euser.lib
+LIBRARY         avkon.lib 		// AknTextUtils
+LIBRARY         phoneuiutils.lib
+LIBRARY         apgrfx.lib
+LIBRARY         symbianmock.lib
+LIBRARY         efsrv.lib
+LIBRARY         ws32.lib     	// RWsSession
+LIBRARY         gdi.lib      	// TZoomFactor
+LIBRARY    		CentralRepository.lib
+ 
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamcallheaderdata/bwins/ut_tphonecmdparamcallheaderdatau.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamcallheaderdata/group/EUnit_log.xml	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<testreport version="3.0" date="2009-10-29T10:37:50Z" xmlns="xmlreporter.xsd">
+<testparameters>
+<testparameter name="EUnit version">EUnit 5.1.1</testparameter>
+<testparameter name="Test executor">ExeRunner</testparameter>
+<testparameter name="Target">WINSCW</testparameter>
+<testparameter name="Platform">256</testparameter>
+<testparameter name="Device">0x00004D24</testparameter>
+<testparameter name="Test dll&apos;s">ut_tphonecmdparamcallheaderdata</testparameter>
+<testparameter name="Environment">ExeEnv</testparameter>
+<testparameter name="Logger in use">RDebug</testparameter>
+<testparameter name="Logger in use">XML</testparameter>
+<testparameter name="Test case timeout in seconds">30</testparameter>
+<testparameter name="Resource checking mode">Error</testparameter>
+<testparameter name="Panic note dismissal">None</testparameter>
+</testparameters>
+<dll name="ut_tphonecmdparamcallheaderdata" size="2">
+<testsuite name="EUnit - Phone - TPhoneCmdParamCallHeaderData" type="UNIT" size="2">
+<testcase name="SetCallFlag - SetCallFlag - Normal " class="UT_TPhoneCmdParamCallHeaderData" method="SetCallFlag - SetCallFlag- Normal" type="FUNCTIONALITY">
+<result status="OK"></result>
+</testcase>
+<testcase name="SetCallFlag - SetCallFlag, video and diverted" class="UT_TPhoneCmdParamCallHeaderData" method="SetCallFlag - SetCallFlag, video and diverted" type="FUNCTIONALITY">
+<result status="OK"></result>
+</testcase>
+</testsuite>
+</dll>
+</testreport>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamcallheaderdata/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+PRJ_PLATFORMS
+    DEFAULT
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+PRJ_TESTMMPFILES
+ut_tphonecmdparamcallheaderdata.mmp
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamcallheaderdata/group/run_tests.bat	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,21 @@
+@rem
+@rem Copyright (c) 2010 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
+
+copy \epoc32\release\winscw\udeb\ut_tphonecmdparamcallheaderdata.dll \epoc32\release\winscw\udeb\z\sys\bin
+
+\epoc32\release\winscw\udeb\eunitexerunner -dtextshell --ut_tphonecmdparamcallheaderdata
+
+copy \epoc32\winscw\c\shared\Eunit\Logs\Eunit_log.xml .\
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamcallheaderdata/group/ut_tphonecmdparamcallheaderdata.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+/*
+-----------------------------------------------------------------------------
+This file has been generated with EUnit Pro
+http://www.sysopendigia.com/qualitykit
+-----------------------------------------------------------------------------
+*/
+#include <platform_paths.hrh>
+
+TARGET          ut_tphonecmdparamcallheaderdata.dll
+TARGETTYPE      dll
+UID             0x1000af5a 0x01700000
+
+CAPABILITY      ALL -TCB
+VENDORID        VID_DEFAULT
+
+SOURCEPATH      ../src
+SOURCE          ut_tphonecmdparamcallheaderdata.cpp
+SOURCE          ut_tphonecmdparamcallheaderdata_dllmain.cpp
+
+// Sources required by the test suite
+SOURCEPATH      ../../../src
+SOURCE          tphonecmdparamcallheaderdata.cpp
+SOURCE          tphonecommandparam.cpp
+
+
+USERINCLUDE             ../src
+
+// User include folders required by the tested code
+USERINCLUDE    ../../../inc
+USERINCLUDE    ../../../../../inc
+USERINCLUDE    ../../../../phoneui2/srcdata
+USERINCLUDE    ../../../src
+
+APP_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE    /epoc32/include/Digia/EUnit
+SYSTEMINCLUDE    ../../../../../inc
+
+
+LIBRARY                 EUnit.lib
+LIBRARY                 EUnitUtil.lib
+LIBRARY                 euser.lib
+
+// Libraries required by the tested code
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamcallheaderdata/src/ut_tphonecmdparamcallheaderdata.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,95 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+/*
+-----------------------------------------------------------------------------
+This file has been generated with EUnit Pro
+http://www.sysopendigia.com/qualitykit
+-----------------------------------------------------------------------------
+*/
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+#include <avkon.hrh>
+#include "tphonecmdparamcallheaderdata.h"
+#include "ut_tphonecmdparamcallheaderdata.h"
+
+// - Construction -----------------------------------------------------------
+UT_TPhoneCmdParamCallHeaderData* UT_TPhoneCmdParamCallHeaderData::NewL()
+    {
+    UT_TPhoneCmdParamCallHeaderData* self = UT_TPhoneCmdParamCallHeaderData::NewLC();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+UT_TPhoneCmdParamCallHeaderData* UT_TPhoneCmdParamCallHeaderData::NewLC()
+    {
+    UT_TPhoneCmdParamCallHeaderData* self = new( ELeave ) UT_TPhoneCmdParamCallHeaderData();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+UT_TPhoneCmdParamCallHeaderData::~UT_TPhoneCmdParamCallHeaderData()
+    {
+    }
+
+UT_TPhoneCmdParamCallHeaderData::UT_TPhoneCmdParamCallHeaderData()
+    {
+    }
+
+void UT_TPhoneCmdParamCallHeaderData::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    }
+
+// - Test methods -----------------------------------------------------------
+void UT_TPhoneCmdParamCallHeaderData::SetupL(  )
+    {
+    }
+
+
+void UT_TPhoneCmdParamCallHeaderData::Teardown(  )
+    {
+    }  
+
+void UT_TPhoneCmdParamCallHeaderData::UT_TPhoneCmdParamCallHeaderData_LeaveCleanup ()
+    {
+    TPhoneCmdParamCallHeaderData data;
+    data.SetLabelText(_L("Test3"));
+    TRAP_IGNORE(LeaveFunctionL ());
+    }
+
+void UT_TPhoneCmdParamCallHeaderData::LeaveFunctionL ()
+    {
+    TPhoneCmdParamCallHeaderData data;
+    data.SetLabelText(_L("Test2"));
+    User::Leave(KErrGeneral);
+    }
+
+// - EUnit test table -------------------------------------------------------
+EUNIT_BEGIN_TEST_TABLE(
+    UT_TPhoneCmdParamCallHeaderData,
+    "EUnit - Phone - TPhoneCmdParamCallHeaderData",
+    "UNIT" )
+    
+EUNIT_TEST(
+    "Test leave cleanup",
+    "UT_TPhoneCmdParamCallHeaderData",
+    "Test leave cleanup",
+    "FUNCTIONALITY",
+    SetupL, UT_TPhoneCmdParamCallHeaderData_LeaveCleanup, Teardown)
+
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamcallheaderdata/src/ut_tphonecmdparamcallheaderdata.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,79 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+/*
+-----------------------------------------------------------------------------
+This file has been generated with EUnit Pro
+http://www.sysopendigia.com/qualitykit
+-----------------------------------------------------------------------------
+*/
+#ifndef __ut_tphonecmdparamcallheaderdata__
+#define __ut_tphonecmdparamcallheaderdata__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+
+#include "tphonecmdparamcallheaderdata.h"
+
+// FORWARD DECLARATIONS
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( UT_TPhoneCmdParamCallHeaderData )
+	: public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static UT_TPhoneCmdParamCallHeaderData* NewL();
+		
+        static UT_TPhoneCmdParamCallHeaderData* NewLC();
+        
+		// Default destructor.
+		~UT_TPhoneCmdParamCallHeaderData();
+
+    private: // Constructors
+
+		// C++ constructor
+        UT_TPhoneCmdParamCallHeaderData();
+		
+		// Constructor which can leave
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+        
+         void Teardown();
+
+	private:
+	
+		void UT_TPhoneCmdParamCallHeaderData_LeaveCleanup ();
+		
+	private:
+		void LeaveFunctionL ();
+		
+    private: // Data
+        TPhoneCmdParamCallHeaderData iTPhoneCmdParamCallHeaderData;
+		
+        
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __ut_tphonecmdparamcallheaderdata__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamcallheaderdata/src/ut_tphonecmdparamcallheaderdata_dllmain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+/*
+-----------------------------------------------------------------------------
+This file has been generated with EUnit Pro
+http://www.sysopendigia.com/qualitykit
+-----------------------------------------------------------------------------
+*/
+#include <CEUnitTestSuite.h>
+#include "ut_tphonecmdparamcallheaderdata.h"
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return UT_TPhoneCmdParamCallHeaderData::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamglobalnote/bwins/ut_tphonecmdparamglobalnoteu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * __cdecl CreateTestSuiteL(void)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamglobalnote/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+PRJ_PLATFORMS
+    DEFAULT
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+PRJ_TESTMMPFILES
+ut_tphonecmdparamglobalnote.mmp
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamglobalnote/group/ut_tphonecmdparamglobalnote.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+/*
+-----------------------------------------------------------------------------
+This file has been generated with EUnit Pro
+http://www.sysopendigia.com/qualitykit
+-----------------------------------------------------------------------------
+*/
+#include <platform_paths.hrh>
+#include <eunitcaps.h>
+
+TARGET          ut_tphonecmdparamglobalnote.dll
+TARGETTYPE      dll
+UID             0x1000af5a 0x01700000
+
+CAPABILITY      EUNIT_CAPS
+VENDORID        VID_DEFAULT
+
+SOURCEPATH              ../src
+SOURCE                  ut_tphonecmdparamglobalnote.cpp
+SOURCE                  ut_tphonecmdparamglobalnote_dllMain.cpp
+
+// Sources required by the test suite
+SOURCEPATH              ../../../src
+SOURCE                  tphonecmdparamglobalnote.cpp
+SOURCE                  tphonecommandparam.cpp
+
+USERINCLUDE             ../src
+
+// User include folders required by the tested code
+USERINCLUDE             ../../../inc
+USERINCLUDE             ../../../../phoneui2/srcdata
+USERINCLUDE             ../../../src
+
+APP_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE           /epoc32/include/Digia/EUnit
+
+LIBRARY                 EUnit.lib
+LIBRARY                 EUnitUtil.lib
+LIBRARY                 euser.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamglobalnote/src/ut_tphonecmdparamglobalnote.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,104 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+/*
+-----------------------------------------------------------------------------
+This file has been generated with EUnit Pro
+http://www.sysopendigia.com/qualitykit
+-----------------------------------------------------------------------------
+*/
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+#include "tphonecmdparamglobalnote.h"
+#include "ut_tphonecmdparamglobalnote.h"
+#include "phoneconstants.h"
+
+// - Construction -----------------------------------------------------------
+UT_TPhoneCmdParamGlobalNote* UT_TPhoneCmdParamGlobalNote::NewL()
+    {
+    UT_TPhoneCmdParamGlobalNote* self = UT_TPhoneCmdParamGlobalNote::NewLC();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+UT_TPhoneCmdParamGlobalNote* UT_TPhoneCmdParamGlobalNote::NewLC()
+    {
+    UT_TPhoneCmdParamGlobalNote* self = new( ELeave ) UT_TPhoneCmdParamGlobalNote();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+UT_TPhoneCmdParamGlobalNote::~UT_TPhoneCmdParamGlobalNote()
+    {
+    
+    }
+
+UT_TPhoneCmdParamGlobalNote::UT_TPhoneCmdParamGlobalNote()
+    {
+    }
+
+void UT_TPhoneCmdParamGlobalNote::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    }
+
+// - Test methods -----------------------------------------------------------
+void UT_TPhoneCmdParamGlobalNote::SetupL(  )
+    {
+    
+    }
+
+
+void UT_TPhoneCmdParamGlobalNote::Teardown(  )
+    {
+
+    }
+
+void UT_TPhoneCmdParamGlobalNote::ut_TimeoutL()
+    {
+    TPhoneCmdParamGlobalNote globalNote;
+    TInt timeout = globalNote.Timeout();
+    EUNIT_ASSERT(timeout == 0);
+    }
+
+void UT_TPhoneCmdParamGlobalNote::ut_SetTimeoutL()
+{
+    TPhoneCmdParamGlobalNote globalNote;
+    globalNote.SetTimeout(KPhoneNoteNoTimeout);
+    EUNIT_ASSERT(globalNote.Timeout() == KPhoneNoteNoTimeout);
+}
+
+EUNIT_BEGIN_TEST_TABLE(
+    UT_TPhoneCmdParamGlobalNote,
+    "Add test suite description here.",
+    "UNIT" )
+
+EUNIT_TEST(
+    "",
+    "UT_TPhoneCmdParamGlobalNote",
+    "Timeout",
+    "FUNCTIONALITY",
+    SetupL, ut_TimeoutL, Teardown)
+
+EUNIT_TEST(
+    "",
+    "UT_TPhoneCmdParamGlobalNote",
+    "SetTimeout",
+    "FUNCTIONALITY",
+    SetupL, ut_SetTimeoutL, Teardown)
+
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamglobalnote/src/ut_tphonecmdparamglobalnote.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,64 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+/*
+-----------------------------------------------------------------------------
+This file has been generated with EUnit Pro
+http://www.sysopendigia.com/qualitykit
+-----------------------------------------------------------------------------
+*/
+#ifndef __UT_TPhoneCmdParamGlobalNote_H__
+#define __UT_TPhoneCmdParamGlobalNote_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+
+// FORWARD DECLARATIONS
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( UT_TPhoneCmdParamGlobalNote ) : public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static UT_TPhoneCmdParamGlobalNote* NewL();
+        static UT_TPhoneCmdParamGlobalNote* NewLC();
+        ~UT_TPhoneCmdParamGlobalNote();
+
+    private: // Constructors
+
+        UT_TPhoneCmdParamGlobalNote();
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+        
+         void Teardown();
+        
+         void ut_TimeoutL();
+         void ut_SetTimeoutL();
+
+    private: // Data
+
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __UT_TPhoneCmdParamGlobalNote_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamglobalnote/src/ut_tphonecmdparamglobalnote_dllmain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+/*
+-----------------------------------------------------------------------------
+This file has been generated with EUnit Pro
+http://www.sysopendigia.com/qualitykit
+-----------------------------------------------------------------------------
+*/
+#include <CEUnitTestSuite.h>
+#include "ut_tphonecmdparamglobalnote.h"
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return UT_TPhoneCmdParamGlobalNote::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamquery/BWINS/ut_tphonecmdparamqueryu.def	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * __cdecl CreateTestSuiteL(void)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamquery/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+PRJ_PLATFORMS
+    DEFAULT
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+PRJ_TESTMMPFILES
+ut_tphonecmdparamquery.mmp
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamquery/group/ut_tphonecmdparamquery.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,58 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+/*
+-----------------------------------------------------------------------------
+This file has been generated with EUnit Pro
+http://www.sysopendigia.com/qualitykit
+-----------------------------------------------------------------------------
+*/
+#include <platform_paths.hrh>
+
+TARGET          ut_tphonecmdparamquery.dll
+TARGETTYPE      dll
+UID             0x1000af5a 0x01700000
+
+CAPABILITY      ALL -TCB
+VENDORID        VID_DEFAULT
+
+SOURCEPATH              ../src
+SOURCE                  ut_tphonecmdparamquery.cpp
+SOURCE                  ut_tphonecmdparamquery_dllMain.cpp
+
+// Sources required by the test suite
+SOURCEPATH              ../../../src
+SOURCE                  tphonecmdparamquery.cpp
+SOURCE                  tphonecommandparam.cpp
+SOURCE                  tcbacommandmapping.cpp
+
+
+USERINCLUDE             ../src
+
+// User include folders required by the tested code
+USERINCLUDE             ../../../inc
+USERINCLUDE             ../../../../phoneui2/srcdata
+USERINCLUDE             ../../../src
+
+APP_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE           /epoc32/include/Digia/EUnit
+
+
+LIBRARY                 EUnit.lib
+LIBRARY                 EUnitUtil.lib
+LIBRARY                 euser.lib
+
+// Libraries required by the tested code
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamquery/src/ut_tphonecmdparamquery.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,516 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+/*
+-----------------------------------------------------------------------------
+This file has been generated with EUnit Pro
+http://www.sysopendigia.com/qualitykit
+-----------------------------------------------------------------------------
+*/
+#include "UT_TPhoneCmdParamQuery.h"
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+#include <avkon.hrh>
+#include "PhoneUI.pan"
+#include "TPhoneCmdParamQuery.h"
+
+_LIT( KDataText, "datatext" );
+
+// - Construction -----------------------------------------------------------
+UT_TPhoneCmdParamQuery* UT_TPhoneCmdParamQuery::NewL()
+    {
+    UT_TPhoneCmdParamQuery* self = UT_TPhoneCmdParamQuery::NewLC();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+UT_TPhoneCmdParamQuery* UT_TPhoneCmdParamQuery::NewLC()
+    {
+    UT_TPhoneCmdParamQuery* self = new( ELeave ) UT_TPhoneCmdParamQuery();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+UT_TPhoneCmdParamQuery::~UT_TPhoneCmdParamQuery()
+    {
+    iDataText.Close();
+    }
+
+UT_TPhoneCmdParamQuery::UT_TPhoneCmdParamQuery()
+    {
+    }
+
+void UT_TPhoneCmdParamQuery::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    iDataText.Assign( KDataText().AllocL() );
+    }
+
+// - Test methods -----------------------------------------------------------
+void UT_TPhoneCmdParamQuery::SetupL(  )
+    {
+    TPhoneCmdParamQuery query;
+    iTPhoneCmdParamQuery.SetQueryResourceId( 1 );
+    query.SetDataText( &iDataText );
+    iTPhoneCmdParamQuery = query; 
+    }
+
+
+void UT_TPhoneCmdParamQuery::Teardown(  )
+    {
+
+    }
+
+
+void UT_TPhoneCmdParamQuery::UT_TPhoneCmdParamQuery_SetQueryResourceIdL(  )
+    {
+    // iTPhoneCmdParamQuery.SetQueryResourceId( <add parameters here > );
+     EUNIT_ASSERT_DESC( EFalse, "Generated assert, replace with real");
+    }
+    
+void UT_TPhoneCmdParamQuery::UT_TPhoneCmdParamQuery_QueryResourceIdL(  )
+    {
+    iTPhoneCmdParamQuery.QueryResourceId( );
+     EUNIT_ASSERT_DESC( EFalse, "Generated assert, replace with real");
+    }
+    
+void UT_TPhoneCmdParamQuery::UT_TPhoneCmdParamQuery_SetQueryPromptL(  )
+    {
+    // iTPhoneCmdParamQuery.SetQueryPrompt( <add parameters here > );
+     EUNIT_ASSERT_DESC( EFalse, "Generated assert, replace with real");
+    }
+    
+void UT_TPhoneCmdParamQuery::UT_TPhoneCmdParamQuery_QueryPromptL(  )
+    {
+    iTPhoneCmdParamQuery.QueryPrompt( );
+     EUNIT_ASSERT_DESC( EFalse, "Generated assert, replace with real");
+    }
+    
+void UT_TPhoneCmdParamQuery::UT_TPhoneCmdParamQuery_SetDefaultCbaL(  )
+    {
+    // iTPhoneCmdParamQuery.SetDefaultCba( <add parameters here > );
+     EUNIT_ASSERT_DESC( EFalse, "Generated assert, replace with real");
+    }
+    
+void UT_TPhoneCmdParamQuery::UT_TPhoneCmdParamQuery_DefaultCbaL(  )
+    {
+    iTPhoneCmdParamQuery.DefaultCba( );
+     EUNIT_ASSERT_DESC( EFalse, "Generated assert, replace with real");
+    }
+    
+void UT_TPhoneCmdParamQuery::UT_TPhoneCmdParamQuery_SetContentCbaL(  )
+    {
+    // iTPhoneCmdParamQuery.SetContentCba( <add parameters here > );
+     EUNIT_ASSERT_DESC( EFalse, "Generated assert, replace with real");
+    }
+    
+void UT_TPhoneCmdParamQuery::UT_TPhoneCmdParamQuery_ContentCbaL(  )
+    {
+    iTPhoneCmdParamQuery.ContentCba( );
+     EUNIT_ASSERT_DESC( EFalse, "Generated assert, replace with real");
+    }
+    
+void UT_TPhoneCmdParamQuery::UT_TPhoneCmdParamQuery_SetDataTextL(  )
+    {
+    // iTPhoneCmdParamQuery.SetDataText( <add parameters here > );
+     EUNIT_ASSERT_DESC( EFalse, "Generated assert, replace with real");
+    }
+    
+void UT_TPhoneCmdParamQuery::UT_TPhoneCmdParamQuery_DataTextL(  )
+    {
+    iTPhoneCmdParamQuery.DataText( );
+     EUNIT_ASSERT_DESC( EFalse, "Generated assert, replace with real");
+    }
+    
+void UT_TPhoneCmdParamQuery::UT_TPhoneCmdParamQuery_SetQueryTypeL(  )
+    {
+    // iTPhoneCmdParamQuery.SetQueryType( <add parameters here > );
+     EUNIT_ASSERT_DESC( EFalse, "Generated assert, replace with real");
+    }
+    
+void UT_TPhoneCmdParamQuery::UT_TPhoneCmdParamQuery_QueryTypeL(  )
+    {
+    iTPhoneCmdParamQuery.QueryType( );
+     EUNIT_ASSERT_DESC( EFalse, "Generated assert, replace with real");
+    }
+    
+void UT_TPhoneCmdParamQuery::UT_TPhoneCmdParamQuery_SetSendKeyEnabledL(  )
+    {
+    // iTPhoneCmdParamQuery.SetSendKeyEnabled( <add parameters here > );
+     EUNIT_ASSERT_DESC( EFalse, "Generated assert, replace with real");
+    }
+    
+void UT_TPhoneCmdParamQuery::UT_TPhoneCmdParamQuery_SendKeyEnabledL(  )
+    {
+    iTPhoneCmdParamQuery.SendKeyEnabled( );
+     EUNIT_ASSERT_DESC( EFalse, "Generated assert, replace with real");
+    }
+    
+void UT_TPhoneCmdParamQuery::UT_TPhoneCmdParamQuery_SetCommandParamIdL(  )
+    {
+    // iTPhoneCmdParamQuery.SetCommandParamId( <add parameters here > );
+     EUNIT_ASSERT_DESC( EFalse, "Generated assert, replace with real");
+    }
+    
+void UT_TPhoneCmdParamQuery::UT_TPhoneCmdParamQuery_SetTimeOutL(  )
+    {
+    //iTPhoneCmdParamQuery.SetTimeOut( <add parameters here > );
+     EUNIT_ASSERT_DESC( EFalse, "Generated assert, replace with real");
+    }
+    
+void UT_TPhoneCmdParamQuery::UT_TPhoneCmdParamQuery_TimeOutL(  )
+    {
+    iTPhoneCmdParamQuery.TimeOut( );
+     EUNIT_ASSERT_DESC( EFalse, "Generated assert, replace with real");
+    }
+
+
+void UT_TPhoneCmdParamQuery::T_SetToneL(  )
+    {
+    const TInt KValidToneId1 = 0;
+    const TInt KValidToneId2 = 100;
+    iTPhoneCmdParamQuery.SetTone( KValidToneId1 );
+    iTPhoneCmdParamQuery.SetTone( KValidToneId2 );
+    
+    const TInt KInvalidToneId = -1;
+    EUNIT_ASSERT_PANIC( iTPhoneCmdParamQuery.SetTone( KInvalidToneId ),
+        "Common phone", EPhoneUtilsInvalidArgument );
+    }
+
+
+void UT_TPhoneCmdParamQuery::T_ToneL(  )
+    {
+    const TInt KValidToneId = 100;
+    EUNIT_ASSERT_EQUALS( 0, iTPhoneCmdParamQuery.Tone() );
+    
+    iTPhoneCmdParamQuery.SetTone( KValidToneId );
+    EUNIT_ASSERT_EQUALS( KValidToneId, iTPhoneCmdParamQuery.Tone() );
+    }
+
+
+void UT_TPhoneCmdParamQuery::T_SetCbaCommandMappingL(  )
+    {
+    for ( TInt i = 0; i < KMaxNumberOfCbaCommandMappings; i++ )
+        {
+        iTPhoneCmdParamQuery.SetCbaCommandMapping( i, i );
+        }
+    
+    // try updating existing mapping
+    iTPhoneCmdParamQuery.SetCbaCommandMapping( 0, 0 );
+    
+    // try to set more mappings than allowed
+    const TInt KCustomCommandForYes = 100;
+    EUNIT_ASSERT_PANIC( iTPhoneCmdParamQuery.
+            SetCbaCommandMapping( EAknSoftkeyYes, KCustomCommandForYes ),
+        "Common phone", EPhoneUtilsIndexOutOfBounds );
+    }
+
+
+void UT_TPhoneCmdParamQuery::T_CbaCommandMappingL()
+    {
+    const TInt KCustomCommandForYes = 100;
+    iTPhoneCmdParamQuery.SetCbaCommandMapping( 
+        EAknSoftkeyYes, KCustomCommandForYes );
+    EUNIT_ASSERT_EQUALS( KCustomCommandForYes, 
+        iTPhoneCmdParamQuery.CbaCommandMapping( EAknSoftkeyYes ) );
+    }
+
+
+void UT_TPhoneCmdParamQuery::T_SetCustomCommandForTimeOutL()
+    {
+    const TInt KCustomCommandForTimeOut1 = 100;
+    const TInt KCustomCommandForTimeOut2 = 100;
+    iTPhoneCmdParamQuery.SetCustomCommandForTimeOut( KCustomCommandForTimeOut1 );
+    iTPhoneCmdParamQuery.SetCustomCommandForTimeOut( KCustomCommandForTimeOut2 );
+    
+    TInt command = 0;
+    TInt result = iTPhoneCmdParamQuery.GetCustomCommandForTimeOut( command );
+    EUNIT_ASSERT_EQUALS( KErrNone, result );
+    EUNIT_ASSERT_EQUALS( KCustomCommandForTimeOut2, command );
+    }
+
+
+void UT_TPhoneCmdParamQuery::T_GetCustomCommandForTimeOutL()
+    {
+    TInt command = 0;
+    TInt result = iTPhoneCmdParamQuery.GetCustomCommandForTimeOut( command );
+    EUNIT_ASSERT_EQUALS( KErrNotFound, result );
+    EUNIT_ASSERT_EQUALS( 0, command );
+    }
+
+
+void UT_TPhoneCmdParamQuery::T_AssignmentOperatorL()
+    {
+    for ( TInt i = 0; i < KMaxNumberOfCbaCommandMappings; i++ )
+        {
+        iTPhoneCmdParamQuery.SetCbaCommandMapping( i, i );
+        }
+    iTPhoneCmdParamQuery.SetCustomCommandForTimeOut( 0 );
+    
+    TPhoneCmdParamQuery query;
+    query = iTPhoneCmdParamQuery;
+    EUNIT_ASSERT_EQUALS( query.ParamId(), iTPhoneCmdParamQuery.ParamId() );
+    EUNIT_ASSERT_EQUALS( query.QueryResourceId(), iTPhoneCmdParamQuery.QueryResourceId() );
+    EUNIT_ASSERT_EQUALS( query.QueryPrompt(), iTPhoneCmdParamQuery.QueryPrompt() );
+    EUNIT_ASSERT_EQUALS( query.DefaultCba(), iTPhoneCmdParamQuery.DefaultCba() );
+    EUNIT_ASSERT_EQUALS( query.ContentCba(), iTPhoneCmdParamQuery.ContentCba() );
+    EUNIT_ASSERT_EQUALS( query.DataText(), iTPhoneCmdParamQuery.DataText() );
+    EUNIT_ASSERT_EQUALS( query.QueryType(), iTPhoneCmdParamQuery.QueryType() );
+    EUNIT_ASSERT_EQUALS( query.SendKeyEnabled(), iTPhoneCmdParamQuery.SendKeyEnabled() );
+    EUNIT_ASSERT_EQUALS( query.TimeOut(), iTPhoneCmdParamQuery.TimeOut() );
+    EUNIT_ASSERT_EQUALS( query.Tone(), iTPhoneCmdParamQuery.Tone() );
+    EUNIT_ASSERT_EQUALS( query.ItemTextArrayForListQuery(), 
+                iTPhoneCmdParamQuery.ItemTextArrayForListQuery() );
+    EUNIT_ASSERT_EQUALS( query.QueryCommandObserver(), 
+                iTPhoneCmdParamQuery.QueryCommandObserver() );
+        
+    TInt timetOutCmd1 = 1;
+    TInt timetOutCmd2 = 2;
+    TInt result = query.GetCustomCommandForTimeOut( timetOutCmd1 );
+    EUNIT_ASSERT_EQUALS( KErrNone, result );
+    result = iTPhoneCmdParamQuery.GetCustomCommandForTimeOut( timetOutCmd2 );
+    EUNIT_ASSERT_EQUALS( KErrNone, result );
+    EUNIT_ASSERT_EQUALS( timetOutCmd1, timetOutCmd2 );
+    
+    for ( TInt i = 0; i <= KMaxNumberOfCbaCommandMappings; i++ )
+        {
+        EUNIT_ASSERT_EQUALS( query.CbaCommandMapping( i ), i ); 
+        }
+    }
+
+
+void UT_TPhoneCmdParamQuery::T_CopyConstructorL()
+    {
+    for ( TInt i = 0; i < KMaxNumberOfCbaCommandMappings; i++ )
+        {
+        iTPhoneCmdParamQuery.SetCbaCommandMapping( i, i );
+        }
+    iTPhoneCmdParamQuery.SetCustomCommandForTimeOut( 0 );
+    
+    TPhoneCmdParamQuery query( iTPhoneCmdParamQuery );
+    EUNIT_ASSERT_EQUALS( query.ParamId(), iTPhoneCmdParamQuery.ParamId() );
+    EUNIT_ASSERT_EQUALS( query.QueryResourceId(), iTPhoneCmdParamQuery.QueryResourceId() );
+    EUNIT_ASSERT_EQUALS( query.QueryPrompt(), iTPhoneCmdParamQuery.QueryPrompt() );
+    EUNIT_ASSERT_EQUALS( query.DefaultCba(), iTPhoneCmdParamQuery.DefaultCba() );
+    EUNIT_ASSERT_EQUALS( query.ContentCba(), iTPhoneCmdParamQuery.ContentCba() );
+    EUNIT_ASSERT_EQUALS( query.DataText(), iTPhoneCmdParamQuery.DataText() );
+    EUNIT_ASSERT_EQUALS( query.QueryType(), iTPhoneCmdParamQuery.QueryType() );
+    EUNIT_ASSERT_EQUALS( query.SendKeyEnabled(), iTPhoneCmdParamQuery.SendKeyEnabled() );
+    EUNIT_ASSERT_EQUALS( query.TimeOut(), iTPhoneCmdParamQuery.TimeOut() );
+    EUNIT_ASSERT_EQUALS( query.Tone(), iTPhoneCmdParamQuery.Tone() );
+    EUNIT_ASSERT_EQUALS( query.ItemTextArrayForListQuery(), 
+            iTPhoneCmdParamQuery.ItemTextArrayForListQuery() );
+    EUNIT_ASSERT_EQUALS( query.QueryCommandObserver(), 
+            iTPhoneCmdParamQuery.QueryCommandObserver() );
+    
+    
+    TInt timetOutCmd1 = 1;
+    TInt timetOutCmd2 = 2;
+    TInt result = query.GetCustomCommandForTimeOut( timetOutCmd1 );
+    EUNIT_ASSERT_EQUALS( KErrNone, result );
+    result = iTPhoneCmdParamQuery.GetCustomCommandForTimeOut( timetOutCmd2 );
+    EUNIT_ASSERT_EQUALS( KErrNone, result );
+    EUNIT_ASSERT_EQUALS( timetOutCmd1, timetOutCmd2 );
+    
+    for ( TInt i = 0; i <= KMaxNumberOfCbaCommandMappings; i++ )
+        {
+        EUNIT_ASSERT_EQUALS( query.CbaCommandMapping( i ), i ); 
+        }
+    }
+
+// - EUnit test table -------------------------------------------------------
+EUNIT_BEGIN_TEST_TABLE(
+    UT_TPhoneCmdParamQuery,
+    "Add test suite description here.",
+    "UNIT" )
+/*
+EUNIT_TEST(
+    "SetQueryResourceId - test0",
+    "TPhoneCmdParamQuery",
+    "SetQueryResourceId - test0",
+    "FUNCTIONALITY",
+    SetupL, UT_TPhoneCmdParamQuery_SetQueryResourceIdL, Teardown)
+    
+EUNIT_TEST(
+    "QueryResourceId - test1",
+    "TPhoneCmdParamQuery",
+    "QueryResourceId - test1",
+    "FUNCTIONALITY",
+    SetupL, UT_TPhoneCmdParamQuery_QueryResourceIdL, Teardown)
+    
+EUNIT_TEST(
+    "SetQueryPrompt - test2",
+    "TPhoneCmdParamQuery",
+    "SetQueryPrompt - test2",
+    "FUNCTIONALITY",
+    SetupL, UT_TPhoneCmdParamQuery_SetQueryPromptL, Teardown)
+    
+EUNIT_TEST(
+    "QueryPrompt - test3",
+    "TPhoneCmdParamQuery",
+    "QueryPrompt - test3",
+    "FUNCTIONALITY",
+    SetupL, UT_TPhoneCmdParamQuery_QueryPromptL, Teardown)
+    
+EUNIT_TEST(
+    "SetDefaultCba - test4",
+    "TPhoneCmdParamQuery",
+    "SetDefaultCba - test4",
+    "FUNCTIONALITY",
+    SetupL, UT_TPhoneCmdParamQuery_SetDefaultCbaL, Teardown)
+    
+EUNIT_TEST(
+    "DefaultCba - test5",
+    "TPhoneCmdParamQuery",
+    "DefaultCba - test5",
+    "FUNCTIONALITY",
+    SetupL, UT_TPhoneCmdParamQuery_DefaultCbaL, Teardown)
+    
+EUNIT_TEST(
+    "SetContentCba - test6",
+    "TPhoneCmdParamQuery",
+    "SetContentCba - test6",
+    "FUNCTIONALITY",
+    SetupL, UT_TPhoneCmdParamQuery_SetContentCbaL, Teardown)
+    
+EUNIT_TEST(
+    "ContentCba - test7",
+    "TPhoneCmdParamQuery",
+    "ContentCba - test7",
+    "FUNCTIONALITY",
+    SetupL, UT_TPhoneCmdParamQuery_ContentCbaL, Teardown)
+    
+EUNIT_TEST(
+    "SetDataText - test8",
+    "TPhoneCmdParamQuery",
+    "SetDataText - test8",
+    "FUNCTIONALITY",
+    SetupL, UT_TPhoneCmdParamQuery_SetDataTextL, Teardown)
+    
+EUNIT_TEST(
+    "DataText - test9",
+    "TPhoneCmdParamQuery",
+    "DataText - test9",
+    "FUNCTIONALITY",
+    SetupL, UT_TPhoneCmdParamQuery_DataTextL, Teardown)
+    
+EUNIT_TEST(
+    "SetQueryType - test10",
+    "TPhoneCmdParamQuery",
+    "SetQueryType - test10",
+    "FUNCTIONALITY",
+    SetupL, UT_TPhoneCmdParamQuery_SetQueryTypeL, Teardown)
+    
+EUNIT_TEST(
+    "QueryType - test11",
+    "TPhoneCmdParamQuery",
+    "QueryType - test11",
+    "FUNCTIONALITY",
+    SetupL, UT_TPhoneCmdParamQuery_QueryTypeL, Teardown)
+    
+EUNIT_TEST(
+    "SetSendKeyEnabled - test12",
+    "TPhoneCmdParamQuery",
+    "SetSendKeyEnabled - test12",
+    "FUNCTIONALITY",
+    SetupL, UT_TPhoneCmdParamQuery_SetSendKeyEnabledL, Teardown)
+    
+EUNIT_TEST(
+    "SendKeyEnabled - test13",
+    "TPhoneCmdParamQuery",
+    "SendKeyEnabled - test13",
+    "FUNCTIONALITY",
+    SetupL, UT_TPhoneCmdParamQuery_SendKeyEnabledL, Teardown)
+    
+EUNIT_TEST(
+    "SetCommandParamId - test14",
+    "TPhoneCmdParamQuery",
+    "SetCommandParamId - test14",
+    "FUNCTIONALITY",
+    SetupL, UT_TPhoneCmdParamQuery_SetCommandParamIdL, Teardown)
+    
+EUNIT_TEST(
+    "SetTimeOut - test15",
+    "TPhoneCmdParamQuery",
+    "SetTimeOut - test15",
+    "FUNCTIONALITY",
+    SetupL, UT_TPhoneCmdParamQuery_SetTimeOutL, Teardown)
+    
+EUNIT_TEST(
+    "TimeOut - test16",
+    "TPhoneCmdParamQuery",
+    "TimeOut - test16",
+    "FUNCTIONALITY",
+    SetupL, UT_TPhoneCmdParamQuery_TimeOutL, Teardown)
+*/
+EUNIT_TEST(
+    "SetTone - test17",
+    "TPhoneCmdParamQuery",
+    "SetTone - test17",
+    "FUNCTIONALITY",
+    SetupL, T_SetToneL, Teardown)
+    
+EUNIT_TEST(
+    "Tone - test18",
+    "TPhoneCmdParamQuery",
+    "Tone - test18",
+    "FUNCTIONALITY",
+    SetupL, T_ToneL, Teardown)
+
+EUNIT_TEST(
+    "SetCbaCommandMapping",
+    "TPhoneCmdParamQuery",
+    "SetCbaCommandMapping",
+    "FUNCTIONALITY",
+    SetupL, T_SetCbaCommandMappingL, Teardown)
+    
+EUNIT_TEST(
+    "CbaCommandMapping",
+    "TPhoneCmdParamQuery",
+    "CbaCommandMapping",
+    "FUNCTIONALITY",
+    SetupL, T_CbaCommandMappingL, Teardown)
+
+EUNIT_TEST(
+    "SetCustomCommandForTimeOut",
+    "TPhoneCmdParamQuery",
+    "SetCustomCommandForTimeOut",
+    "FUNCTIONALITY",
+    SetupL, T_SetCustomCommandForTimeOutL, Teardown)
+    
+EUNIT_TEST(
+    "GetCustomCommandForTimeOut",
+    "TPhoneCmdParamQuery",
+    "GetCustomCommandForTimeOut",
+    "FUNCTIONALITY",
+    SetupL, T_GetCustomCommandForTimeOutL, Teardown)
+
+EUNIT_TEST(
+    "Tests assignment operator.",
+    "TPhoneCmdParamQuery",
+    "operator=",
+    "FUNCTIONALITY",
+    SetupL, T_AssignmentOperatorL, Teardown)
+
+EUNIT_TEST(
+    "Tests copy constructor.",
+    "TPhoneCmdParamQuery",
+    "",
+    "FUNCTIONALITY",
+    SetupL, T_CopyConstructorL, Teardown)
+
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamquery/src/ut_tphonecmdparamquery.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,118 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+/*
+-----------------------------------------------------------------------------
+This file has been generated with EUnit Pro
+http://www.sysopendigia.com/qualitykit
+-----------------------------------------------------------------------------
+*/
+#ifndef __UT_TPhoneCmdParamQuery_H__
+#define __UT_TPhoneCmdParamQuery_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+
+#include "TPhoneCmdParamQuery.h"
+
+// FORWARD DECLARATIONS
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( UT_TPhoneCmdParamQuery )
+	: public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static UT_TPhoneCmdParamQuery* NewL();
+        static UT_TPhoneCmdParamQuery* NewLC();
+        ~UT_TPhoneCmdParamQuery();
+
+    private: // Constructors
+
+        UT_TPhoneCmdParamQuery();
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+        
+         void Teardown();
+        
+         void UT_TPhoneCmdParamQuery_SetQueryResourceIdL();
+        
+         void UT_TPhoneCmdParamQuery_QueryResourceIdL();
+        
+         void UT_TPhoneCmdParamQuery_SetQueryPromptL();
+        
+         void UT_TPhoneCmdParamQuery_QueryPromptL();
+        
+         void UT_TPhoneCmdParamQuery_SetDefaultCbaL();
+        
+         void UT_TPhoneCmdParamQuery_DefaultCbaL();
+        
+         void UT_TPhoneCmdParamQuery_SetContentCbaL();
+        
+         void UT_TPhoneCmdParamQuery_ContentCbaL();
+        
+         void UT_TPhoneCmdParamQuery_SetDataTextL();
+        
+         void UT_TPhoneCmdParamQuery_DataTextL();
+        
+         void UT_TPhoneCmdParamQuery_SetQueryTypeL();
+        
+         void UT_TPhoneCmdParamQuery_QueryTypeL();
+        
+         void UT_TPhoneCmdParamQuery_SetSendKeyEnabledL();
+        
+         void UT_TPhoneCmdParamQuery_SendKeyEnabledL();
+        
+         void UT_TPhoneCmdParamQuery_SetCommandParamIdL();
+        
+         void UT_TPhoneCmdParamQuery_SetTimeOutL();
+        
+         void UT_TPhoneCmdParamQuery_TimeOutL();
+        
+         void T_SetToneL();
+        
+         void T_ToneL();
+         
+         void T_SetCbaCommandMappingL();
+         
+         void T_CbaCommandMappingL();
+         
+         void T_GetCustomCommandForTimeOutL();
+         
+         void T_SetCustomCommandForTimeOutL();
+         
+         void T_AssignmentOperatorL();
+         
+         void T_CopyConstructorL();
+        
+
+    private: // Data
+
+        TPhoneCmdParamQuery iTPhoneCmdParamQuery;
+        RBuf iDataText;
+        
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __UT_TPhoneCmdParamQuery_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiutils/tsrc/ut_tphonecmdparamquery/src/ut_tphonecmdparamquery_dllmain.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+/*
+-----------------------------------------------------------------------------
+This file has been generated with EUnit Pro
+http://www.sysopendigia.com/qualitykit
+-----------------------------------------------------------------------------
+*/
+#include "UT_TPhoneCmdParamQuery.h"
+#include <CEUnitTestSuite.h>
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return UT_TPhoneCmdParamQuery::NewL();
+    }
--- a/phoneapp/phoneuiview2/phoneuiview2.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiview2/phoneuiview2.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -26,6 +26,7 @@
     TARGET.UID3 = 0x101F4D18
     DEFINES += FT_SYMBIAN_INTEGRATION
     DEFINES += BUILD_PHONEUIQTVIEW
+    VERSION = 10.0
     
     INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
     INCLUDEPATH += ../../inc \
@@ -45,7 +46,12 @@
         "$${LITERAL_HASH}endif"
     
     MMP_RULES += defFiles
+
+    BLD_INF_RULES.prj_exports += "./rom/phoneuiqtview_stub.sis /epoc32/data/z/system/install/phoneuiqtview_stub.sis"
 }
 
 # Input
 include(phoneuiqtview.pri)
+
+
+symbian:MMP_RULES += SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiview2/rom/phoneuiqtview_stub.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,28 @@
+;
+; 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: For packing phoneuicontrol component.
+;
+; Languages
+&EN
+
+; SIS header: name, uid, version
+#{"phoneuiqtview"},(0x101F4D18),1,0,0,TYPE=SA
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+                                  
+"" - "z:\sys\bin\phoneuiqtview.dll"
Binary file phoneapp/phoneuiview2/rom/phoneuiqtview_stub.sis has changed
--- a/phoneapp/phoneuiview2/tsrc/ut_phoneuiqtview/ut_phoneuiqtview.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuiview2/tsrc/ut_phoneuiqtview/ut_phoneuiqtview.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -65,3 +65,6 @@
            hbvolumesliderpopup_stub.cpp \
            qsysteminfo_stub.cpp 
            
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneapp/phoneuivoipextension/group/bld.inf	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuivoipextension/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -22,7 +22,7 @@
 DEFAULT
 
 PRJ_EXPORTS
-../group/phoneuivoipextension_stub.sis          /epoc32/data/z/system/install/phoneuivoipextension_stub.sis
+../rom/phoneuivoipextension_stub.sis          /epoc32/data/z/system/install/phoneuivoipextension_stub.sis
 
 PRJ_MMPFILES
 phoneuivoipextension.mmp
--- a/phoneapp/phoneuivoipextension/group/phoneuivoipextension.mmp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuivoipextension/group/phoneuivoipextension.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -28,6 +28,8 @@
 // Assign Vendor ID.
 VENDORID VID_DEFAULT
 
+VERSION 10.0
+
 TARGET          phoneuivoipextension.dll
 TARGETTYPE      dll
 
@@ -93,3 +95,6 @@
 // <-- QT PHONE END -->
 LIBRARY         ws32.lib
 
+
+
+SMPSAFE
--- a/phoneapp/phoneuivoipextension/group/phoneuivoipextension_stub.pkg	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +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: For packing phoneuivoipextension component.
-;
-; Languages
-&EN
-
-; Header
-#{"PhoneUIVoIPExtension"}, (0x10207905), 1, 0, 0, TYPE=SA
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Files
-;
-;  PhoneUIVoIPExtension
-;
-"" - "z:\sys\bin\PhoneUIVoIPExtension.dll"
-"" - "z:\resource\apps\phoneuivoip.rsc"
Binary file phoneapp/phoneuivoipextension/group/phoneuivoipextension_stub.sis has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuivoipextension/rom/phoneuivoipextension_stub.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,33 @@
+;
+; 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: For packing phoneuivoipextension component.
+;
+; Languages
+&EN
+
+; Header
+#{"PhoneUIVoIPExtension"}, (0x10207905), 1, 0, 0, TYPE=SA
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+;Files
+;
+;  PhoneUIVoIPExtension
+;
+"" - "z:\sys\bin\PhoneUIVoIPExtension.dll"
+"" - "z:\resource\apps\phoneuivoip.rsc"
Binary file phoneapp/phoneuivoipextension/rom/phoneuivoipextension_stub.sis has changed
--- a/phoneapp/phoneuivoipextension/src/cphoneresourceresolvervoip.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuivoipextension/src/cphoneresourceresolvervoip.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -18,7 +18,6 @@
 
 // INCLUDE FILES
 #include <bautils.h>
-#include <AknUtils.h>
 #include "phoneresourceids.h"
 #include <data_caging_path_literals.hrh>
 #include "cphoneresourceresolvervoip.h"
@@ -265,8 +264,7 @@
             retVal = R_PHONEUI_VOIP_QUERY_HEADER_MOVED_PERMANENTLY;
             break;
         case EPhoneVoIPMovedPermanentlySoftkeys:
-            //retVal = R_PHONE_VOIP_SOFTKEYS_OK_END_CALL;
-            retVal = R_AVKON_SOFTKEYS_OK_CANCEL;
+            retVal = R_PHONE_VOIP_SOFTKEYS_OK_END_CALL;
             break;
         case EPhoneVoIPMultipleChoicesListQuery:
             retVal = R_PHONE_VOIP_MULTIPLE_CHOICES_LIST_QUERY;
--- a/phoneapp/phoneuivoipextension/src/cphonestatealertingvoip.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuivoipextension/src/cphonestatealertingvoip.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -114,7 +114,8 @@
 
     if( iStateMachine->PhoneEngineInfo()->CallType( aCallId ) == EPECallTypeVoIP )
         {
-        SetCallHeaderType( EPECallTypeVoIP );
+        //TODO
+        //SetCallHeaderType( EPECallTypeVoIP );
         }
 
     CPhoneAlerting::HandleConnectedL( aCallId );        
--- a/phoneapp/phoneuivoipextension/src/cphonestatecallsetupvoip.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuivoipextension/src/cphonestatecallsetupvoip.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -113,7 +113,8 @@
 
     if( iStateMachine->PhoneEngineInfo()->CallType( aCallId ) == EPECallTypeVoIP )
         {
-        SetCallHeaderType( EPECallTypeVoIP );   
+        //TODO
+        //SetCallHeaderType( EPECallTypeVoIP );   
         }
         
     CPhoneCallSetup::HandleConnectingL( aCallId );      
--- a/phoneapp/phoneuivoipextension/src/cphonestateidlevoip.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuivoipextension/src/cphonestateidlevoip.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -148,7 +148,7 @@
     __LOGMETHODSTARTEND( 
         PhoneUIVoIPExtension, "CPhoneStateIdleVoIP::HandleSendCommandL()" );
     
-    HBufC* phoneNumber = PhoneNumberFromEntryLC();
+    HBufC* phoneNumber = iNumberEntryManager->PhoneNumberFromEntryLC();
      
     if ( !IsSimOk() || IsEmergencyNumber( *phoneNumber ) )
         {
@@ -190,7 +190,8 @@
 
     if( iStateMachine->PhoneEngineInfo()->CallType( aCallId ) == EPECallTypeVoIP )
         {
-        SetCallHeaderType( EPECallTypeVoIP );       
+        //TODO
+        //SetCallHeaderType( EPECallTypeVoIP );       
         }
 
     CPhoneIdle::HandleDialingL( aCallId );
--- a/phoneapp/phoneuivoipextension/src/cphonestateincomingvoip.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuivoipextension/src/cphonestateincomingvoip.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -95,17 +95,7 @@
         "CPhoneStateIncomingVoIP::HandleAudioPlayStoppedL()" );
     
     // Update the CBA
-    if ( iStateMachine->PhoneEngineInfo()->
-            CallType( iRingingCallId ) == EPECallTypeVoIP )
-        {
-        TInt resourceId = EPhoneCallHandlingIncomingRejectCBA;
-        
-        iCbaManager->SetCbaL( resourceId );
-        }
-    else
-        {
-        CPhoneIncoming::HandleAudioPlayStoppedL();    
-        }
+    CPhoneIncoming::HandleAudioPlayStoppedL();    
     }
 
 // End of File
--- a/phoneapp/phoneuivoipextension/src/cphonestatemachinevoip.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuivoipextension/src/cphonestatemachinevoip.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -157,6 +157,10 @@
     if ( madeStateTransition )
         {
         iOldStateId = iNewStateId;
+        
+        // Needs to be set or any attempts to access eikon env handle
+        // will fail
+        iState->SetEikonEnv( EikonEnv() );
         }
 
     return iState;
--- a/phoneapp/phoneuivoipextension/src/cphonestatesinglevoip.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuivoipextension/src/cphonestatesinglevoip.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -175,9 +175,10 @@
             &numberEntryCountParam );
             TInt neLength( numberEntryCountParam.Integer() );
                  
-            if( IsNumberEntryVisibleL() && neLength )
+            if( iNumberEntryManager->IsNumberEntryVisibleL() && 
+                    neLength )
                 {
-                if ( IsCustomizedDialerVisibleL()  )
+                if ( iNumberEntryManager->IsCustomizedDialerVisibleL()  )
                     {
                     return;
                     }
@@ -221,10 +222,10 @@
             }
         else
             {
-            if ( IsNumberEntryUsedL() )
+            if ( iNumberEntryManager->IsNumberEntryUsedL() )
                 {
                 // handle send key short press
-                HBufC* phoneNumber = PhoneNumberFromEntryLC();
+                HBufC* phoneNumber = iNumberEntryManager->PhoneNumberFromEntryLC();
                 
                 if ( !IsSimOk() )
                     {
--- a/phoneapp/phoneuivoipextension/src/cphonevoiperrormessageshandler.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/phoneuivoipextension/src/cphonevoiperrormessageshandler.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -23,7 +23,6 @@
 #include <spsettings.h>
 #include <spentry.h>
 #include <telephonydomainpskeys.h>
-#include <UikonInternalPSKeys.h>
 #include <aknnotedialog.h>
 #include "cphonevoiperrormessageshandler.h"
 #include "cphonemainerrormessageshandler.h"
@@ -390,26 +389,23 @@
         "CPhoneVoIPErrorMessagesHandler::SendGlobalErrorNoteL()" );
     __ASSERT_DEBUG( aResourceId, Panic( EPhoneCtrlParameterNotInitialized ) );
 
-    if ( CPhonePubSubProxy::Instance()->Value( 
-            KPSUidUikon, KUikGlobalNotesAllowed ) == 1 )
-        {
-        // Re-enable global notes
-        TPhoneCmdParamBoolean globalNotifierParam;
-        globalNotifierParam.SetBoolean( EFalse );
-        iViewCommandHandle->ExecuteCommandL( 
-             EPhoneViewSetGlobalNotifiersDisabled,
-            &globalNotifierParam );
-            
-        TPhoneCmdParamGlobalNote globalNoteParam;
-        globalNoteParam.SetType( EPhoneMessageBoxInformation );
-        globalNoteParam.SetTextResourceId( 
-            CPhoneMainResourceResolver::Instance()->
-            ResolveResourceID( aResourceId ) );
-        globalNoteParam.SetText( aText );
 
-        iViewCommandHandle->ExecuteCommandL(  
-            EPhoneViewShowGlobalNote, &globalNoteParam );
-        } 
+    // Re-enable global notes
+    TPhoneCmdParamBoolean globalNotifierParam;
+    globalNotifierParam.SetBoolean( EFalse );
+    iViewCommandHandle->ExecuteCommandL( 
+         EPhoneViewSetGlobalNotifiersDisabled,
+        &globalNotifierParam );
+        
+    TPhoneCmdParamGlobalNote globalNoteParam;
+    globalNoteParam.SetType( EPhoneMessageBoxInformation );
+    globalNoteParam.SetTextResourceId( 
+        CPhoneMainResourceResolver::Instance()->
+        ResolveResourceID( aResourceId ) );
+    globalNoteParam.SetText( aText );
+
+    iViewCommandHandle->ExecuteCommandL(  
+        EPhoneViewShowGlobalNote, &globalNoteParam );
     }
 
 // -----------------------------------------------------------
--- a/phoneapp/phoneuivoipextension/srcdata/phoneuivoip.rss	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1385 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     This file contains all the resources for the module.
-*     All definitions for components used in phone application.
-*     Positions, sizes, texts, etc.
-*
-*/
-
-
-NAME    PHVO
-
-#include    <eikon.rh>
-#include    <avkon.loc>
-#include    <avkon.hrh>
-#include    <avkon.rsg>
-#include    <avkon.rh>
-
-#include    "phoneui.rh"
-#include    "phoneui.hrh"
-#include    <phoneappvoipcommands.hrh>
-
-// VoIP loc file
-#include    <voip.loc>
-#include    <callui.loc>
-
-// GSM loc files
-#include    <phone.loc>
-#include    <callheadertexts.loc>
-#include    <incallmenuandsoftkeys.loc>
-#include    <callterminationnote.loc>
-#include    <incalloperations.loc>
-#include    <numberentry.loc>
-#include    <multicallhandling.loc>
-#include    <mobileoriginatedcalls.loc>
-#include    <dtmfsignalling.loc>
-#include    <dialer.loc>
-
-//  RESOURCE DEFINITIONS
-
-RESOURCE RSS_SIGNATURE
-    {
-    }
-
-RESOURCE TBUF
-    {
-    buf = "";
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_numberacq_menubar_voip
-//    Default menubar shown when number acquistion view is active.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_numberacq_menubar_voip
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_numberacq_options_menu_voip;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_numberacq_menubar_voip_with_service_number
-//    Default menubar shown when number acquistion view is active
-//    and service number is enterer to number acquistion.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_numberacq_menubar_voip_with_service_number
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_numberacq_options_menu_voip_with_service_number;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_numberacq_options_menu_voip
-//    Number Acquisition view options menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_numberacq_options_menu_voip
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdCall;
-            cascade = r_phoneui_numberacq_options_call_menu_voip;
-            txt = text_number_call;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdSendMessage;
-            txt = qtn_nren_send_message;
-            },
-
-        MENU_ITEM 
-            {
-            command = EPhoneDialerCmdTouchInput; 
-            txt = qtn_dialer_touch_input_options;
-            },  
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdAddToContacts;       
-            cascade = r_phoneui_numberacq_options_add_to_contacts_menu_voip;           
-            txt = qtn_phob_opt_save_to_pb;
-            flags = EEikMenuItemSeparatorAfter;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_numberacq_options_menu_voip_with_service_number
-//    Number Acquisition view options menu pane when service number
-//    is used.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_numberacq_options_menu_voip_with_service_number
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdSendCommand;
-            txt = text_nren_send_com;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdSendMessage;
-            txt = qtn_nren_send_message;
-            },
-
-        MENU_ITEM 
-            {
-            command = EPhoneDialerCmdTouchInput; 
-            txt = qtn_dialer_touch_input_options;
-            },  
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdAddToContacts;          
-            cascade = r_phoneui_numberacq_options_add_to_contacts_menu_voip;         
-            txt = qtn_phob_opt_save_to_pb;
-            flags = EEikMenuItemSeparatorAfter;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_numberacq_options_menu_item_alpha_mode
-//    Number acquisition menu option item text "Alpha mode".
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_numberacq_options_menu_item_alpha_mode
-    {
-    buf = qtn_editing_shift_menu_alpha;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_numberacq_options_menu_item_numeric_mode
-//    Number acquisition menu option item text "Numeric mode".
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_numberacq_options_menu_item_numeric_mode
-    {
-    buf = qtn_editing_shift_menu_numbers;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_numberacq_options_call_menu_voip
-//    Number Acquisition view options call menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_numberacq_options_call_menu_voip
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdCall;
-            txt = qtn_call_sub_voice;
-            },
-        MENU_ITEM
-            {
-            command =EPhoneNumberAcqCmdVideoCall;
-            txt = qtn_call_out_going_video_call;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdInternetCall;
-            txt =  qtn_voip_call_type_internet;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_numberacq_internetcall_cba
-//    It contains softkey definitions for number acquisition
-//    if videocall_menu_visibilite feature ON.
-//
-// ---------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_numberacq_internetcall_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdOptions;
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneNumberAcqCmdInternetCall;
-            txt = qtn_voip_call_type_internet;
-            },
-
-        CBA_BUTTON
-            {
-            id = EAknSoftkeyContextOptions;
-            txt = text_softkey_options;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_numberacq_ok_menubar_voip_with_service_number
-//    Default menubar shown when number acquistion view is active
-//    and service number is entered.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_numberacq_ok_menubar_voip_with_service_number
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_numberacq_ok_options_menu_voip_with_service_number;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_numberacq_ok_options_menu_voip_with_service_number
-//    Number Acquisition view ok_options menu pane when service
-//    number is entered.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_numberacq_ok_options_menu_voip_with_service_number
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdSendCommand;
-            txt = text_nren_send_com;
-            },
-
-        MENU_ITEM 
-             {
-             command = EPhoneDialerCmdTouchInput; 
-             txt = qtn_dialer_touch_input_options;
-             },  
-
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdAddToContacts;           
-            cascade = r_phoneui_numberacq_options_add_to_contacts_menu_voip;          
-            txt = qtn_phob_opt_save_to_pb;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_numberacq_ok_menubar_voip
-//    Default menubar shown when number acquistion view is active.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_numberacq_ok_menubar_voip
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_numberacq_ok_options_menu_voip;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_numberacq_ok_options_menu_voip
-//    Number Acquisition view ok_options menu pane.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_numberacq_ok_options_menu_voip
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdCall;
-            cascade = r_phoneui_numberacq_options_call_menu_voip;
-            txt = text_number_call;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdAddToContacts;          
-            cascade = r_phoneui_numberacq_options_add_to_contacts_menu_voip;          
-            txt = qtn_phob_opt_save_to_pb;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_numberacq_options_add_to_contacts_menu_voip
-//    Number Acquisition view options add to contacts menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_numberacq_options_add_to_contacts_menu_voip
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdSave;
-            txt =  qtn_phob_opt_save_to_pb_new;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdAddToName;
-            txt =  qtn_phob_opt_save_to_pb_old;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_voip_private_address
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF64 r_phoneui_voip_private_address
-    {
-    buf = qtn_voip_private_address;
-    }
-
-// -----------------------------------------------------------------------------
-//    r_voip_error_note_authentication_failed
-//    Displayed when authetication fails.
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_voip_error_note_authentication_failed
-    {
-    buf = qtn_voip_error_note_authentication_failed;
-    }
-// -----------------------------------------------------------------------------
-//    r_voip_defective_settings_note
-//    Displayed when registering is failed due to incomplete or wrong settings.
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_voip_defective_settings_note
-    {
-    buf = qtn_voip_defective_settings_note;
-    }
-// -----------------------------------------------------------------------------
-//    r_voip_no_connections_available_note
-//    Displayed when there the terminal is not within network coverage
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_voip_no_connections_available_note
-    {
-    buf = qtn_voip_no_connections_available_note;
-    }
-
-// -----------------------------------------------------------------------------
-//    r_voip_no_connections_defined
-//    Displayed if there are no access points in service’s destination.
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_voip_no_connections_defined
-    {
-    buf = qtn_voip_no_connections_defined;
-    }
-
-// -----------------------------------------------------------------------------
-//    r_voip_network_error_note
-//    Displayed  when recived following error codes from SIP
-//      SIP: 500 (Internal Server Error)
-//      SIP: 501 (Not Implemented)
-//      SIP: 502 (Bad Gateway)
-//      SIP: 503 (Service Unavailable)
-//      SIP: 504 (Server Time-out)
-//      SIP: 505 (Version not supported)
-//      SIP: 513 (Message Too Large)
-//      SIP: 580 (Precondition Failure)
-//      SIP: 482 (Loop Detected)
-//      SIP: 483 (Too Many Hops)
-//      SIP: 5xx
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_voip_network_error_note
-    {
-    buf = qtn_voip_network_error_note;
-    }
-
-// -----------------------------------------------------------------------------
-//    r_voip_error_in_connection
-//    Displayed when the service is in enabled and registered state. The user
-//    tries to call but access point does not support calls.
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_voip_error_in_connection
-    {
-    buf = qtn_voip_error_in_connection;
-    }
-
-// -----------------------------------------------------------------------------
-//    r_no_service_available_info
-//    Displayed when recived following error codes from SIP
-//      SIP: 401 (Unauthorized)
-//      SIP: 402 (Payment Required)
-//      SIP: 403 (Forbidden)
-//      SIP: 407 (Proxy Authentication Required)
-//      SIP: 423 (Interval Too Brief)
-//      SIP: 489 (Bad Event)
-//      SIP: 494 (Security Agreement Required)
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_no_service_available_info
-    {
-    buf = qtn_no_service_available_info;
-    }
-
-// -----------------------------------------------------------------------------
-//    r_phone_voip_no_audio_support
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_voip_no_audio_support
-    {
-    buf = qtn_voip_recipient_restricts_call;
-    }
-
-// -----------------------------------------------------------------------------
-//    r_phone_voip_no_voip_service_error
-//    It is error note text when voip is not possible
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_voip_no_voip_service_error
-    {
-    buf = qtn_voip_no_voip_service_info;
-    }
-
-// -----------------------------------------------------------------------------
-//    r_phone_voip_address_not_in_use
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_voip_address_not_in_use
-    {
-    buf = qtn_voip_address_not_in_use;
-    }
-
-// -----------------------------------------------------------------------------
-//    r_no_service_available_info
-//    Displayed when recived following error codes from SIP
-//      SIP: 401 (Unauthorized)
-//      SIP: 402 (Payment Required)
-//      SIP: 403 (Forbidden)
-//      SIP: 407 (Proxy Authentication Required)
-//      SIP: 423 (Interval Too Brief)
-//      SIP: 489 (Bad Event)
-//      SIP: 494 (Security Agreement Required)
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_no_service_available_info
-    {
-    buf = qtn_no_service_available_info;
-    }
-
-// -----------------------------------------------------------------------------
-//    r_phone_voip_request_time_out
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_voip_request_time_out
-    {
-    buf = qtn_voip_request_time_out;
-    }
-
-// -----------------------------------------------------------------------------
-//    r_phone_voip_invalid_recipient_address
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_voip_invalid_recipient_address
-    {
-    buf = qtn_voip_err_invalid_address;
-    }
-
-// -----------------------------------------------------------------------------
-//    r_phone_voip_number_busy
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_voip_number_busy
-    {
-    buf = qtn_voip_address_busy;
-    }
-
-// -----------------------------------------------------------------------------
-//    r_phone_voip_not_found
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_voip_not_found
-    {
-    buf = qtn_voip_not_found;
-    }
-
-
-// -----------------------------------------------------------------------------
-//    r_phone_voip_no_answer
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_voip_no_answer
-    {
-    buf = qtn_voip_no_answer;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phone_ss_notification_text_voip_sips_failed
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF  r_phone_ss_notification_text_voip_sips_failed
-    {
-    buf = qtn_voip_rel2_sips_failed;
-    }
-
-// -----------------------------------------------------------------------------
-//    r_voip_network_error_note
-//    Displayed  when recived following error codes from SIP
-//      SIP: 500 (Internal Server Error)
-//      SIP: 501 (Not Implemented)
-//      SIP: 502 (Bad Gateway)
-//      SIP: 503 (Service Unavailable)
-//      SIP: 504 (Server Time-out)
-//      SIP: 505 (Version not supported)
-//      SIP: 513 (Message Too Large)
-//      SIP: 580 (Precondition Failure)
-//      SIP: 482 (Loop Detected)
-//      SIP: 483 (Too Many Hops)
-//      SIP: 5xx
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_voip_network_error_note
-    {
-    buf = qtn_voip_network_error_note;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-//     r_voip_hold_failed string "Putting %U on hold failed"
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_voip_hold_failed
-    {
-    buf = qtn_voip_hold_failed;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//     r_voip_hold_number_failed "Putting Call %N on hold failed"
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_voip_hold_number_failed
-    {
-    buf = qtn_voip_hold_number_failed;
-    } 
-
-// -----------------------------------------------------------------------------
-//
-//     r_voip_resume_failed "Resuming %U failed"
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_voip_resume_failed
-    {
-    buf = qtn_voip_resume_failed;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//     r_voip_resume_number_failed "Resuming Call %N failed"
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_voip_resume_number_failed
-    {
-    buf = qtn_voip_resume_number_failed;
-    } 
-
-// -----------------------------------------------------------------------------
-//
-//     r_voip_swap_failed "Swapping of calls failed"
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_voip_swap_failed
-    {
-    buf = qtn_voip_swap_failed;
-    } 
-
-// -----------------------------------------------------------------------------
-//
-//     r_voip_conference_hold_failed "Putting conference call on hold failed"
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_voip_conference_hold_failed
-    {
-    buf = qtn_voip_conference_hold_failed;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//     r_voip_conference_resume_failed "Resuming conference call failed"
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_voip_conference_resume_failed
-    {
-    buf = qtn_voip_conference_resume_failed;
-    }
-    
-// -----------------------------------------------------------------------------
-//
-//     r_voip_transfer_failed-note  "Transfer request rejected"
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_voip_transfer_failed_note
-    {
-    buf = qtn_voip_info_transfer_req_rejected;
-    }
-// -----------------------------------------------------------------------------
-//
-//     r_voip_transfer_waiting_acceptence-note  "Transfer waiting acceptanse"  
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_voip_transfer_waiting_acceptence
-    {
-    buf = qtn_voip_wait_waiting_accept;
-    }
-// -----------------------------------------------------------------------------
-//
-//     r_voip_call_type_internet  "Internet call"
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_voip_call_type_internet
-    {
-    buf = qtn_voip_call_type_internet;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//     r_voip_unattended_transfer_option "Unattended transfer"
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_voip_unattended_transfer_option
-    {
-    buf = qtn_incal_unattended_transfer_option;
-    }
-
-// -----------------------------------------------------------------------------
-//    qtn_voip_query_acc_id_header "Transfer request:"
-//    Header text for unattended transfer acceptance query. 
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_voip_query_acc_id_header
-    {
-    buf = qtn_voip_query_acc_id_header;
-    }
-
-// -----------------------------------------------------------------------------
-//    qtn_voip_query_accept_identified 
-//    "%1U asks acceptance to transfer call to %1U"
-//    Confirmation text for unattended transfer acceptance query when 
-//    transferor is known.
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_voip_transfer_accept
-    {
-    buf = qtn_voip_query_accept_identified;
-    }
-    
-// -----------------------------------------------------------------------------
-//    qtn_voip_query_accept_cli_restricted 
-//    "Anonymous asks acceptance to transfer call to %U"
-//    Confirmation text for unattended transfer acceptance query when 
-//    transferor is anonymous.
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_voip_transfer_accept_cli
-    {
-    buf = qtn_voip_query_accept_cli_restricted;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//     r_voip_transfer_address "Address:"
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_voip_transfer_address
-    {
-    buf = qtn_voip_transfer_address;
-    }
-
-// ----------------------------------------------------------------
-//   
-//    r_phoneuidialer_numberentry_empty_transfer_menubar
-//    Default menubar shown when touch transfer view is active and
-//    number entry is empty
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneuidialer_numberentry_empty_transfer_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneuidialer_numberentry_empty_transfer_options_menu ;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//   
-//    r_phoneuidialer_numberentry_not_empty_transfer_menubar
-//    Default menubar shown when touch transfer view is active and
-//    number entry is empty
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneuidialer_numberentry_not_empty_transfer_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneuidialer_numberentry_not_empty_transfer_options_menu ;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//   
-//   r_phoneuidialer_numberentry_empty_transfer_options_menu
-//   Menu for Dialer transfer view when number entry is 
-//   empty
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneuidialer_numberentry_empty_transfer_options_menu 
-    {
-    items = 
-        {
-        MENU_ITEM 
-            {
-            command = EPhoneCmdTransferDialerSearch; 
-            txt = qtn_options_find;
-            },      
-        MENU_ITEM 
-            {
-            command = EPhoneDialerCmdTouchInput; 
-            txt = qtn_dialer_touch_input_options;
-            },       
-        MENU_ITEM 
-            {
-            command = EAknCmdEditItemPlaceHolder;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHelp; 
-            txt = qtn_options_help;
-            },
-        MENU_ITEM 
-            {
-            command = EPhoneCmdTransferDialerExit; 
-            txt = qtn_options_exit;
-            }
-        };
-    } 
-
-// ---------------------------------------------------------
-//   
-//   r_phoneuidialer_numberentry_not_empty_transfer_options_menu 
-//   Menu for Dialer transfer view when number entry is not 
-//   empty
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneuidialer_numberentry_not_empty_transfer_options_menu 
-    {
-    items = 
-        {   
-        MENU_ITEM 
-            {
-            command = EPhoneCmdTransferDialerOk; 
-            txt = text_softkey_accept;
-            }, 
-        MENU_ITEM 
-            {
-            command = EPhoneDialerCmdTouchInput; 
-            txt = qtn_dialer_touch_input_options;
-            },       
-        MENU_ITEM 
-            {
-            command = EAknCmdEditItemPlaceHolder;
-            }, 
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHelp; 
-            txt = qtn_options_help;
-            },
-        MENU_ITEM 
-            {
-            command = EPhoneCmdTransferDialerExit; 
-            txt = qtn_options_exit;
-            }
-        };
-    } 
-
-// -----------------------------------------------------------------------------
-//   
-//   r_phoneui_transfer_dialer_softkeys_options_cancel
-//    It is softkeys for transfer dialer
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_transfer_dialer_softkeys_options_cancel
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdOptions;
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneCmdTransferDialerExit;
-            txt = text_softkey_cancel;
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//     r_voip_dialer_tooltip_accept "Accept"
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_voip_dialer_tooltip_accept
-    {
-    buf = text_softkey_accept;
-    } 
-
-// -----------------------------------------------------------------------------
-//
-//     r_voip_dialer_tooltip_search "Search"
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_voip_dialer_tooltip_search
-    {
-    buf = text_softkey_find;
-    } 
-
-// -----------------------------------------------------------------------------
-//   
-//    r_voip_phone_unattended_transfer_query_softkeys_search_cancel
-//    Softkeys buttons for unattended transfer query when 
-//    text query is empty.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_phone_voip_softkeys_search_cancel
-     {
-     buttons =
-         {
-         CBA_BUTTON
-             {
-             id = EPhoneCmdTransferDialerSearch;
-             txt = text_softkey_find;
-             },
-         CBA_BUTTON
-             {
-             id = EAknSoftkeyCancel;
-             txt = text_softkey_cancel;
-             },
-         CBA_BUTTON
-             {
-             id = EPhoneCmdTransferDialerSearch;
-             }            
-         };
-     }
-
-// -----------------------------------------------------------------------------
-//   
-//    r_phone_new_voip_call_softkeys_search_cancel
-//    Softkeys buttons for new Internet call query when 
-//    text query is empty.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_phone_new_voip_call_softkeys_search_cancel
-     {
-     buttons =
-         {
-         CBA_BUTTON
-             {
-             id = EPhoneCmdNewInternetCallSearch;
-             txt = text_softkey_find;
-             },
-         CBA_BUTTON
-             {
-             id = EAknSoftkeyCancel;
-             txt = text_softkey_cancel;
-             },
-         CBA_BUTTON
-             {
-             id = EPhoneCmdNewInternetCallSearch;
-             }            
-         };
-     }
-
-// ---------------------------------------------------------
-//   
-//    r_voip_phone_unattended_transfer_query_softkeys_ok_cancel
-//    Softkeys buttons for unattended transfer query when 
-//    user has entered something to text query.
-//
-// ---------------------------------------------------------
-//
-RESOURCE CBA r_phone_voip_softkeys_ok_cancel
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdTransferDialerOk;
-            txt = text_softkey_ok;
-            },
-        CBA_BUTTON
-            {
-            id = EAknSoftkeyCancel;
-            txt = text_softkey_cancel;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneCmdTransferDialerOk;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//   
-//    r_phone_voip_new_call_softkeys_ok_cancel
-//    Softkeys buttons for new call query when 
-//    user has entered something to text query.
-//
-// ---------------------------------------------------------
-//
-RESOURCE CBA r_phone_voip_new_call_softkeys_ok_cancel
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdNewInternetCallOk;
-            txt = text_softkey_new_call;
-            },
-        CBA_BUTTON
-            {
-            id = EAknSoftkeyCancel;
-            txt = text_softkey_cancel;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneCmdNewInternetCallOk;
-            }
-        };
-    }
-
-//-----------------------------------------------------------------------------
-//   
-//    r_phone_transfer_voip_call_query
-//    It is data query used to ask phone number from user.
-//    Unattended transfer
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_phone_transfer_voip_call_query  
-     {
-     flags = EGeneralQueryFlags;
-     buttons = R_AVKON_SOFTKEYS_EMPTY;
-     items =
-         {
-         DLG_LINE
-             {
-             type = EAknCtQuery;
-             id = EGeneralQuery;
-             control = AVKON_DATA_QUERY 
-                 { 
-                 layout = EDataLayout;
-                 label = qtn_voip_transfer_address;
-                 control = EDWIN 
-                     { 
-                     flags = EEikEdwinNoHorizScrolling | 
-                             EEikEdwinResizable; 
-                     maxlength = 100; 
-                     width = 6; 
-                     lines = 1;   
-                     default_case=EAknEditorLowerCase;
-                     allowed_case_modes=EAknEditorLowerCase |
-                         EAknEditorUpperCase;
-                     allowed_input_modes = EAknEditorTextInputMode |
-                                           EAknEditorNumericInputMode;
-                     default_input_mode = EAknEditorTextInputMode;
-                     special_character_table = 
-                         R_AVKON_URL_SPECIAL_CHARACTER_TABLE_DIALOG;
-                     };
-                 };
-             }
-         };
-     }     
-
-//-----------------------------------------------------------------------------
-//   
-//    r_phone_new_voip_call_query
-//    It is data query used to ask phone number from user.
-//    New Internet call
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_phone_new_voip_call_query  
-     {
-     flags = EGeneralQueryFlags | EEikDialogFlagNoShadow;
-     buttons = r_phone_new_voip_call_softkeys_search_cancel;
-     items =
-         {
-         DLG_LINE
-             {
-             type = EAknCtQuery;
-             id = EGeneralQuery;
-             control = AVKON_DATA_QUERY 
-                 { 
-                 layout = EDataLayout;
-                 label = qtn_voip_transfer_address;
-                 control = EDWIN 
-                     { 
-                     flags = EEikEdwinNoHorizScrolling | 
-                             EEikEdwinResizable; 
-                     maxlength = 100; 
-                     width = 6; 
-                     lines = 1;   
-                     default_case=EAknEditorLowerCase;
-                     allowed_case_modes=EAknEditorLowerCase |
-                         EAknEditorUpperCase;
-                     allowed_input_modes = EAknEditorTextInputMode |
-                                           EAknEditorNumericInputMode;
-                     default_input_mode = EAknEditorTextInputMode;
-                     special_character_table = 
-                         R_AVKON_URL_SPECIAL_CHARACTER_TABLE_DIALOG;
-                     };
-                 };
-             }
-         };
-     }     
-
-
-//-----------------------------------------------------------------------------
-//   
-//    r_phone_voip_registering "Registering to service" 
-//    
-//    Wait note text when service registration in progress during call setup
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_voip_registering
-    {
-    buf = qtn_voip_rel2_registering_to_service;
-    }
-    
-//-----------------------------------------------------------------------------
-//   
-//    qtn_voip_rel2_call_being_forwarded "Call is being forwarded" 
-//    
-//    Info note text when call is being forwarded
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_voip_call_being_forwarded
-    {
-    buf = qtn_voip_rel2_call_being_forwarded;
-    }
-    
-// ---------------------------------------------------------
-//
-//    r_phoneui_new_call_menu_voip
-//    Number Acquisition view options new call menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_new_call_menu_voip
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdNewCall;
-            txt = qtn_voip_call_type_cs;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdNewInternetCall;
-            txt = qtn_voip_call_type_internet;
-            }
-        };
-    }
-
-//-----------------------------------------------------------------------------
-//   
-//    r_phone_voip_new_call_option 
-//    
-//    New call option text
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_voip_new_call_option
-    {
-    buf = qtn_incal_new_call_option;
-    }
-
-// -----------------------------------------------------------------------------
-//    r_phoneui_voip_query_header_moved_permanently
-//    Header text for moved permanently query.
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_voip_query_header_moved_permanently
-    {
-    buf = qtn_voip_rel2_save_new_address_query;
-    }
-
-// ---------------------------------------------------------
-//   
-//    r_phone_voip_multiple_choices_list_query
-//    Multiple choices list query resource
-// ---------------------------------------------------------
-//
-RESOURCE AVKON_LIST_QUERY r_phone_voip_multiple_choices_list_query
-    {
-    flags = EEikDialogFlagNoDrag | 
-            EEikDialogFlagNoTitleBar |
-            EEikDialogFlagCbaButtons;
-            
-    softkeys = R_AVKON_SOFTKEYS_OK_CANCEL;
-    
-    items =
-        {
-        AVKON_LIST_QUERY_DLG_LINE 
-            {
-            control = AVKON_LIST_QUERY_CONTROL
-                {
-                listtype = EAknCtSinglePopupMenuListBox;
-                  heading = qtn_voip_rel2_popup_title_forward_call_to;
-                listbox = AVKON_LIST_QUERY_LIST
-                    {
-                    };
-                };
-            }
-        };
-    }
-    
-// -----------------------------------------------------------------------------
-//
-//     r_voip_handover_to_wlan_option "Handover to WLAN"
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_voip_handover_to_wlan_option
-    {
-    buf = qtn_incal_vcc_ho_to_wlan_option;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-//     r_voip_handover_to_gsm_option "Handover to GSM"
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_voip_handover_to_gsm_option
-    {
-    buf = qtn_incal_vcc_ho_to_gsm_option;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//     r_voip_vcc_wait_ho_from_wlan "Handover from WLAN to GSM"
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_voip_vcc_wait_ho_from_wlan
-    {
-    buf = qtn_vcc_wait_ho_from_wlan;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-//     r_voip_vcc_wait_ho_from_gsm "Handover from GSM to WLAN"
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_voip_vcc_wait_ho_from_gsm
-    {
-    buf = qtn_vcc_wait_ho_from_gsm;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//     r_voip_vcc_info_ho_failed "Handover failed"
-//
-// -----------------------------------------------------------------------------
-//    
-RESOURCE TBUF  r_voip_vcc_info_ho_failed
-    {
-    buf = qtn_vcc_info_ho_failed;
-    }
-    
-    
-//-----------------------------------------------------------------------------
-//   
-//    r_phone_voip_connecting_service "Connecting %U" 
-//    
-//    Wait note text when service registration in progress during call setup
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_voip_connecting_service
-    {
-    buf = qtn_ipcomm_connecting_servicename_wait_note;
-    }
-
-//-----------------------------------------------------------------------------
-//   
-//    r_phone_voip_no_connections_defined "No connections defined for %U" 
-//    
-//    Shown when user tries to connect service and there are no connections
-//    defined in settings.
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_voip_no_connections_defined
-    {
-    buf = qtn_ipcomm_no_conn_defined_note;
-    }
-
-//-----------------------------------------------------------------------------
-//
-//    r_phone_voip_no_connections_available "No connections available for %U"
-//
-//    Shown when user tries to connect to service outside service tab and
-//    access points defined for service are not available.
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_voip_no_connections_available
-    {
-    buf = qtn_ipcomm_no_conn_available_note;
-    }
-
-//-----------------------------------------------------------------------------
-//
-//    r_phone_voip_connection_does_not_support_calls
-//    "%U connection does not support calls"
-//
-//    Shown in case when user tries to call using a service which does not 
-//    support internet call or service is connected via 2G.  
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_voip_connection_does_not_support_calls
-    {
-    buf = qtn_ipcomm_conn_supports_no_calls_note;
-    }
-
-//-----------------------------------------------------------------------------
-//
-//    r_phone_voip_connection_not_available_during_alr
-//    "%U not available when connecting"
-//
-//    Shown when user tries to create an internet call outside service tab when
-//    service is either creating connection or performing application 
-//    level roaming.
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_voip_connection_not_available_during_alr
-    {
-    buf = qtn_ipcomm_not_available_during_alr;
-    }
-
-//-----------------------------------------------------------------------------
-//
-//    r_phone_voip_creating_conn_failed_permanently
-//    "Connecting %U failed due to defective settings. 
-//    Contact your service provider."
-//   
-//    Shown when connection tried outside service tab fails due to incomplete 
-//    settings which will most definetely prevent the registration.
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_voip_creating_conn_failed_permanently
-    {
-    buf = qtn_ipcomm_creating_conn_failed_permanently;
-    } 
-
-//-----------------------------------------------------------------------------
-//
-//    r_phoneui_numberacq_options_menu_item_xsp
-//    "%U call"
-//   
-//    Number acquisition menu item text for call submenu in options menu
-//    Shown when there is only one VoIP service, whose provider ID is
-//    inserted in the string.
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_numberacq_options_call_menu_item_xsp
-    {
-    buf = qtn_call_sub_voip_with_name;
-    }
-    
-// End of File
-
--- a/phoneapp/silenceactionplugin/data/silenceactionplugin.pkg	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +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: For packing silence action plugin.
-;
-; Languages
-&EN
-
-; Header
-#{"silenceactionplugin"}, (0x10282E76), 10, 1, 0, TYPE=SA
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Files
-"\epoc32\RELEASE\armv5\UREL\silenceactionplugin.dll"-"z:\sys\bin\silenceactionplugin.dll"
-"\epoc32\data\z\resource\plugins\silenceactionplugin.rsc"-"z:\resource\plugins\silenceactionplugin.rsc"
Binary file phoneapp/silenceactionplugin/data/silenceactionplugin_stub.SIS has changed
--- a/phoneapp/silenceactionplugin/data/silenceactionplugin_stub.pkg	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +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: For packing silence action plugin stub.
-;
-; Languages
-&EN
-
-; Header
-#{"silenceactionplugin"}, (0x10282E76), 1, 0, 0, TYPE=SA
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Files
-""-"z:\sys\bin\silenceactionplugin.dll"
-""-"z:\resource\plugins\silenceactionplugin.rsc"
--- a/phoneapp/silenceactionplugin/group/bld.inf	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/silenceactionplugin/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -29,7 +29,7 @@
 ../data/silence.rul\
     /epoc32/data/z/private/10282bc4/rules/silence.rul
 
-../data/silenceactionplugin_stub.sis\
+../rom/silenceactionplugin_stub.sis\
     /epoc32/data/z/system/install/silenceactionplugin_stub.sis
     
 ../rom/silenceactionplugin.iby\
--- a/phoneapp/silenceactionplugin/group/silenceactionplugin.mmp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/silenceactionplugin/group/silenceactionplugin.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -23,6 +23,7 @@
 TARGETTYPE      PLUGIN
 UID             0x10009D8D KSilenceActionPluginDllUid
 CAPABILITY      ALL -TCB
+VERSION         10.0
 
 SOURCEPATH      ../src
 SOURCE          main.cpp
@@ -50,3 +51,6 @@
 #ifdef LOGGING_MODE_FILE
 LIBRARY         flogger.lib
 #endif
+
+
+SMPSAFE
--- a/phoneapp/silenceactionplugin/rom/silenceactionplugin.iby	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneapp/silenceactionplugin/rom/silenceactionplugin.iby	Mon Oct 04 00:16:48 2010 +0300
@@ -22,8 +22,8 @@
 #ifdef RD_CONTEXT_FRAMEWORK
 
 ECOM_PLUGIN( silenceactionplugin.dll, silenceactionplugin.rsc )
-data=\epoc32\data\Z\private\10282BC4\Rules\silence.rul    private\10282BC4\Rules\silence.rul
-data=ZSYSTEM\install\silenceactionplugin_stub.sis     System\Install\silenceactionplugin_stub.sis
+data=\epoc32\data\Z\private\10282BC4\Rules\silence.rul  private\10282BC4\Rules\silence.rul
+data=ZSYSTEM\install\silenceactionplugin_stub.sis       System\Install\silenceactionplugin_stub.sis
 
 #endif  // RD_CONTEXT_FRAMEWORK
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/silenceactionplugin/rom/silenceactionplugin.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,30 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: For packing silence action plugin.
+;
+; Languages
+&EN
+
+; Header
+#{"silenceactionplugin"}, (0x10282E76), 10, 1, 0, TYPE=SA
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+;Files
+"\epoc32\RELEASE\armv5\UREL\silenceactionplugin.dll"-"z:\sys\bin\silenceactionplugin.dll"
+"\epoc32\data\z\resource\plugins\silenceactionplugin.rsc"-"z:\resource\plugins\silenceactionplugin.rsc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/silenceactionplugin/rom/silenceactionplugin_stub.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,30 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: For packing silence action plugin stub.
+;
+; Languages
+&EN
+
+; Header
+#{"silenceactionplugin"}, (0x10282E76), 1, 0, 0, TYPE=SA
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+;Files
+""-"z:\sys\bin\silenceactionplugin.dll"
+""-"z:\resource\plugins\silenceactionplugin.rsc"
Binary file phoneapp/silenceactionplugin/rom/silenceactionplugin_stub.sis has changed
--- a/phoneengine/audiohandling/data/audiohandling_stub.pkg	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +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: For packing audio handling component.
-;
-; audiohandling_stub.pkg
-
-; Languages
-&EN
-
-; Header
-#{"audiohandling"},(0x1000A832),1,0,0,TYPE=SA
-
-;Localised Vendor name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-; Target
-
-""-"z:\sys\bin\audiohandling.dll"
-""-"z:\resource\defaultbeep.rsc" 
\ No newline at end of file
Binary file phoneengine/audiohandling/data/audiohandling_stub.sis has changed
--- a/phoneengine/audiohandling/group/audiohandling.mmp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/audiohandling/group/audiohandling.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -22,6 +22,7 @@
 TARGETTYPE      DLL                
 UID             0x1000008D 0x1000A832        
 VENDORID        VID_DEFAULT
+VERSION         10.0
 
 CAPABILITY  CAP_GENERAL_DLL
 
@@ -81,4 +82,7 @@
 LIBRARY         tmsapi.lib
 LIBRARY         libglib.lib
 
-LANG            SC
\ No newline at end of file
+LANG            SC
+
+SMPSAFE
+
--- a/phoneengine/audiohandling/group/bld.inf	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/audiohandling/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -30,7 +30,7 @@
 
 
 // SIS stubs
-../data/audiohandling_stub.sis      /epoc32/data/z/system/install/audiohandling_stub.sis
+../rom/audiohandling_stub.sis      /epoc32/data/z/system/install/audiohandling_stub.sis
 
  
 PRJ_MMPFILES
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/audiohandling/rom/audiohandling_stub.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,33 @@
+;
+; 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: For packing audio handling component.
+;
+; audiohandling_stub.pkg
+
+; Languages
+&EN
+
+; Header
+#{"audiohandling"},(0x1000A832),1,0,0,TYPE=SA
+
+;Localised Vendor name
+%{"Nokia"}
+
+;Unique Vendor name
+:"Nokia"
+
+; Target
+
+""-"z:\sys\bin\audiohandling.dll"
+""-"z:\resource\defaultbeep.rsc" 
\ No newline at end of file
Binary file phoneengine/audiohandling/rom/audiohandling_stub.sis has changed
--- a/phoneengine/callhandling/data/callhandling_stub.pkg	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +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: For packing call handling component.
-;
-; callhandling_stub.pkg
-
-; Languages
-&EN
-
-; Header
-#{"callhandling"},(0x1000A82F),1,0,0,TYPE=SA
-
-;Localised Vendor name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-; Target
-
-""-"z:\sys\bin\callhandling.dll"
\ No newline at end of file
Binary file phoneengine/callhandling/data/callhandling_stub.sis has changed
--- a/phoneengine/callhandling/group/bld.inf	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/callhandling/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -29,7 +29,7 @@
 ../inc/mpecall.h                    |../../inc/mpecall.h
 
 // SIS stubs
-../data/callhandling_stub.sis       /epoc32/data/z/system/install/callhandling_stub.sis
+../rom/callhandling_stub.sis       /epoc32/data/z/system/install/callhandling_stub.sis
 
 PRJ_MMPFILES
 callhandling.mmp
--- a/phoneengine/callhandling/group/callhandling.mmp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/callhandling/group/callhandling.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -22,6 +22,7 @@
 TARGETTYPE      dll
 UID             0x1000008D 0x1000A82F
 VENDORID        VID_DEFAULT
+VERSION         10.0
 
 CAPABILITY      CAP_GENERAL_DLL
 
@@ -64,3 +65,6 @@
 START WINS
 BASEADDRESS 0x10040000
 END
+
+
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/callhandling/rom/callhandling_stub.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,32 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: For packing call handling component.
+;
+; callhandling_stub.pkg
+
+; Languages
+&EN
+
+; Header
+#{"callhandling"},(0x1000A82F),1,0,0,TYPE=SA
+
+;Localised Vendor name
+%{"Nokia"}
+
+;Unique Vendor name
+:"Nokia"
+
+; Target
+
+""-"z:\sys\bin\callhandling.dll"
\ No newline at end of file
Binary file phoneengine/callhandling/rom/callhandling_stub.sis has changed
--- a/phoneengine/callhandling/src/cpecallhandling.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/callhandling/src/cpecallhandling.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -1290,6 +1290,9 @@
             }
         iModel.DataStore()->SetCallSecureStatus( IsSecureCall( callData->GetCallId() ), callData->GetCallId() );
         iModel.DataStore()->SetSecureSpecified( callData->SecureSpecified() );
+        RMobileCall::TMobileCallInfoV3 callInfo;
+        GetCallInfo(callInfo, callData->GetCallId());
+        iModel.DataStore()->SetIncomingCallForwarded( callInfo.iForwarded, callData->GetCallId() );
         }
     else
         {
--- a/phoneengine/callhandling/src/cpevideocallhandling.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/callhandling/src/cpevideocallhandling.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -319,6 +319,10 @@
         iModel.DataStore()->SetCallSecureStatus( callData->IsSecureCall(), callData->GetCallId() );
         iModel.DataStore()->SetSecureSpecified( callData->SecureSpecified() );
         
+        RMobileCall::TMobileCallInfoV3 callInfo;
+        GetCallInfo(callInfo, callData->GetCallId());
+        iModel.DataStore()->SetIncomingCallForwarded( callInfo.iForwarded, callData->GetCallId() );
+        
         const CCCPCallParameters& callParameters = aCall.Parameters();
         switch ( callParameters.CallType() )
             {
--- a/phoneengine/contacthandling2/data/contacthandling_stub.pkg	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +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: For packing contact handling dll.
-;
-; contacthandling_stub.pkg
-
-; Languages
-&EN
-
-; Header
-#{"contacthandling"},(0x1000A836),1,0,0,TYPE=SA
-
-;Localised Vendor name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-; Target
-
-""-"z:\sys\bin\contacthandling.dll"
\ No newline at end of file
Binary file phoneengine/contacthandling2/data/contacthandling_stub.sis has changed
--- a/phoneengine/contacthandling2/group/bld.inf	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/contacthandling2/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -28,7 +28,7 @@
 ../inc/mpecontacthandling.h      |../../inc/mpecontacthandling.h
 
 // SIS stubs
-../data/contacthandling_stub.sis    /epoc32/data/z/system/install/contacthandling_stub.sis
+../rom/contacthandling_stub.sis    /epoc32/data/z/system/install/contacthandling_stub.sis
  
 PRJ_MMPFILES
 contacthandling.mmp
--- a/phoneengine/contacthandling2/group/contacthandling.mmp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/contacthandling2/group/contacthandling.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -23,6 +23,7 @@
 TARGETTYPE      dll
 UID             0x1000008D 0x1000A836    
 VENDORID        VID_DEFAULT
+VERSION         10.0
 
 CAPABILITY      CAP_GENERAL_DLL
 
@@ -55,4 +56,7 @@
 BASEADDRESS 0x10040000
 END
 
-#endif // RD_PHONE_NG
\ No newline at end of file
+#endif // RD_PHONE_NG
+
+SMPSAFE
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/contacthandling2/rom/contacthandling_stub.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,32 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: For packing contact handling dll.
+;
+; contacthandling_stub.pkg
+
+; Languages
+&EN
+
+; Header
+#{"contacthandling"},(0x1000A836),1,0,0,TYPE=SA
+
+;Localised Vendor name
+%{"Nokia"}
+
+;Unique Vendor name
+:"Nokia"
+
+; Target
+
+""-"z:\sys\bin\contacthandling.dll"
\ No newline at end of file
Binary file phoneengine/contacthandling2/rom/contacthandling_stub.sis has changed
--- a/phoneengine/engineinfo/group/bld.inf	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/engineinfo/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -27,6 +27,8 @@
 ../inc/cpeclientinformation.h         |../../inc/cpeclientinformation.h
 ../inc/mpedatastore.h                 |../../inc/mpedatastore.h
  
+../rom/engineinfo_stub.sis            /epoc32/data/z/system/install/engineinfo_stub.sis
+
 PRJ_MMPFILES
 engineinfo.mmp
 
--- a/phoneengine/engineinfo/group/engineinfo.mmp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/engineinfo/group/engineinfo.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -20,7 +20,8 @@
 TARGET          engineinfo.dll
 TARGETTYPE      dll
 UID             0x1000008D 0x10207904
-VENDORID            VID_DEFAULT
+VENDORID        VID_DEFAULT
+VERSION         10.0
 
 CAPABILITY      CAP_GENERAL_DLL
 
@@ -41,4 +42,6 @@
 
 LIBRARY         euser.lib
 LIBRARY         bafl.lib           // Descriptor arrays
-LIBRARY         cce.lib
\ No newline at end of file
+LIBRARY         cce.lib
+
+SMPSAFE
--- a/phoneengine/engineinfo/inc/cpecallinfo.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/engineinfo/inc/cpecallinfo.h	Mon Oct 04 00:16:48 2010 +0300
@@ -478,6 +478,17 @@
     */
     TInt ProtocolError() const; 
     
+    /**
+    * Sets incoming call forwarded flag.
+    * @param aForwarded is call forwarded
+    */
+    void SetIncomingCallForwarded( TBool aForwarded );
+
+    /**
+     * Returns incoming call forwarded flag.
+     */
+    TBool IncomingCallForwarded() const;
+    
 private:
     
     /**
@@ -652,6 +663,11 @@
      * Protocol error code.
      */
     TInt iProtocolError;
+    
+    /**
+     * Incoming call forwarded flag.
+     */
+    TInt iIncomingCallForwarded;
     };
 
 #endif // C_CPECALLINFO_H
--- a/phoneengine/engineinfo/inc/cpeengineinfoimpl.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/engineinfo/inc/cpeengineinfoimpl.h	Mon Oct 04 00:16:48 2010 +0300
@@ -49,8 +49,7 @@
     TPECallOrigin iCallOrigin;              // Origin of the attempted call (Phone, client or SAT)
     RMobileCall::TMobileCallIdRestriction iIdRestrict; // Call Id restriction setting to be used for this call
     TPEPhoneNumber iEmergencyNumber;        // For checking is this number emergency number.
-    TPEUserToUserInfo iUserToUserInfo;      // User to user information.
-    TPEPhoneNumber iSwitchToNumber;         // Dialed Phonenumber, set by client
+    TPEUserToUserInfo iUserToUserInfo;      // User to user information.    
     TPEPhoneNumber iTransferToAddress;      // Unattended transfer target address   
     TInt iForwardToAddressIndex;            // Array index for a address to be forwarded
     };
@@ -86,8 +85,7 @@
     TPESimState iSimState;
     TPESSCommandInfo iSSCommandInfo;        // Contains information of the Suplementary Services command.
     TBool iSecureSpecified;                 // Secure specified status
-    TName iDataPortName;                    // the name of data port currently on-loan
-    TBool iSwitchToOngoing;                 // Switch to operation status
+    TName iDataPortName;                    // the name of data port currently on-loan    
     TBool iOutgoingBarringActivated;        // Outgoing barring activated 
     };
 
@@ -512,18 +510,7 @@
          */
          TInt ErrorCode() const;
          
-         /**
-         * Sets switch to  number to TPECallCommandInfo-structure
-         * @param aPhoneNumber is the phone number
-         */
-         void SetSwitchToNumberCommand( const TPEPhoneNumber& aPhoneNumber );
-         
-         /**
-         * Gets switch to number
-         * @return Reference to TPEPhoneNumber, containing the phone number.
-         */
-         const TPEPhoneNumber& SwitchToNumberCommand() const;
-         
+                  
          /**
           * Returns transfer target from the last received unattended transfer 
           * request or KNullDesC if transfer target is not available.
@@ -585,17 +572,7 @@
          * address.
          */
          const TPEPhoneNumber& TransferTargetCommand() const;
-         
-         /**
-         * Sets switch to operation status.
-         * @param aValue switch to operation status.
-         */
-         void SetIsSwitchToOperationOngoing( const TBool aValue );
-         
-         /**
-         * Returns switch to operation status.
-         */
-         TBool IsSwitchToOperationOngoing() const;         
+                 
          
          /**
           * From base class MPEEngineInfo
@@ -1547,7 +1524,18 @@
         */
         void SetOutgoingCallBarringActivated( 
                 TBool aActivated );
-          
+        
+        /**
+        * Sets incoming call forwarded flag.
+        * @param aForwarded is call forwarded
+        */
+        void SetIncomingCallForwarded( TBool aForwarded, TInt aCallId );
+
+        /**
+         * Returns incoming call forwarded flag.
+         */
+        TBool IncomingCallForwarded( TInt aCallId ) const;
+        
     private:
           /**
         * C++ default constructor.
--- a/phoneengine/engineinfo/inc/mpedatastore.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/engineinfo/inc/mpedatastore.h	Mon Oct 04 00:16:48 2010 +0300
@@ -765,25 +765,7 @@
         * @return None.
         */
         virtual CCCECallParameters& CallParameters() = 0;
-        
-        /**
-        * Sets switch to  number to TPECallCommandInfo-structure
-        * @param aPhoneNumber is the phone number
-        */
-        virtual void SetSwitchToNumberCommand( const TPEPhoneNumber& aPhoneNumber ) = 0;
-        
-        /**
-        * Gets switch to number
-        * @return Reference to TPEPhoneNumber, containing the phone number.
-        */
-        virtual const TPEPhoneNumber& SwitchToNumberCommand() const = 0;
-        
-        /**
-        * Sets switch to operation status.
-        * @param aValue switch to operation status.
-        */
-        virtual void SetIsSwitchToOperationOngoing( const TBool aValue ) = 0;
-        
+                
         /**
          * Sets call index of a call.
          * @param aCallIndex Call index
--- a/phoneengine/engineinfo/inc/mpeengineinfo.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/engineinfo/inc/mpeengineinfo.h	Mon Oct 04 00:16:48 2010 +0300
@@ -669,12 +669,7 @@
         * @return Transfer target address set with SetTransferTargetCommand
         */
         virtual const TPEPhoneNumber& TransferTargetCommand() const = 0;
-        
-        /**
-        * Returns switch to operation status.
-        */
-        virtual TBool IsSwitchToOperationOngoing() const = 0;
-        
+                
         /**
         * Checks if given state can be found.
         * @param aCallState state to be checked.
@@ -718,6 +713,18 @@
         virtual void SetOutgoingCallBarringActivated( 
                 TBool aActivated ) = 0;
         
+        /**
+        * Sets incoming call forwarded flag.
+        * @param aForwarded is call forwarded
+        */
+        virtual void SetIncomingCallForwarded( 
+                TBool aForwarded, TInt aCallId ) = 0;
+
+        /**
+         * Returns incoming call forwarded flag.
+         */
+        virtual TBool IncomingCallForwarded( TInt aCallId ) const = 0;
+        
     }; // MPEEngineInfo
     
 #endif      //MPEENGINEINFO_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/engineinfo/rom/engineinfo_stub.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,32 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: For packing contact handling dll.
+;
+; contacthandling_stub.pkg
+
+; Languages
+&EN
+
+; Header
+#{"engineinfo"},(0x10207904),1,0,0,TYPE=SA
+
+;Localised Vendor name
+%{"Nokia"}
+
+;Unique Vendor name
+:"Nokia"
+
+; Target
+
+""-"z:\sys\bin\engineinfo.dll"
\ No newline at end of file
Binary file phoneengine/engineinfo/rom/engineinfo_stub.sis has changed
--- a/phoneengine/engineinfo/src/cpecallinfo.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/engineinfo/src/cpecallinfo.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -107,6 +107,7 @@
     iForwardAddressChoices = NULL;
     iCallIndex = KPEInvalidCallIndex;
     iProtocolError = KErrNotFound;
+    iIncomingCallForwarded = EFalse;
     }
 
 // ---------------------------------------------------------------------------
@@ -669,4 +670,22 @@
     return iProtocolError;
     }
 
+// -----------------------------------------------------------------------------
+// CPECallInfo::SetIncomingCallForwarded
+// -----------------------------------------------------------------------------
+//
+void CPECallInfo::SetIncomingCallForwarded( TBool aForwarded )
+    {
+    iIncomingCallForwarded = aForwarded;
+    }
+
+// -----------------------------------------------------------------------------
+// CPECallInfo::IncomingCallForwarded
+// -----------------------------------------------------------------------------
+//
+TBool CPECallInfo::IncomingCallForwarded() const
+    {
+    return iIncomingCallForwarded;
+    }
+
 // End of File
--- a/phoneengine/engineinfo/src/cpeengineinfoimpl.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/engineinfo/src/cpeengineinfoimpl.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -91,8 +91,7 @@
     iBasicInfo.iSSCommandInfo.group = RMobilePhone::EServiceUnspecified;
     iBasicInfo.iSimState = EPESimStatusUninitialized;
     iBasicInfo.iSecureSpecified = ETrue; 
-    iBasicInfo.iDataPortName = KNullDesC;
-    iBasicInfo.iSwitchToOngoing = EFalse;
+    iBasicInfo.iDataPortName = KNullDesC;    
     iConferenceCallInfo.iConferenceCallState = EPEStateConferenceIdle;
     iBasicInfo.iOutgoingBarringActivated = EFalse;
     //TODO remove after profile information is available
@@ -2077,18 +2076,6 @@
     return *iCallParams;
     }
 
-// -----------------------------------------------------------------------------
-// CPEEngineInfoImpl::SetSwitchToNumberCommand
-// Sets switch to number
-// -----------------------------------------------------------------------------
-//
-void CPEEngineInfoImpl::SetSwitchToNumberCommand( 
-        const TPEPhoneNumber& aPhoneNumber )
-    {
-    __ASSERT_DEBUG( !( aPhoneNumber.Length() > KPEPhoneNumberMaxLength ),
-        Panic( EPEPanicExternalDataIdOutOfRange ) );
-    iCallCommandInfo.iSwitchToNumber = aPhoneNumber;
-    }
 
 // -----------------------------------------------------------------------------
 // From base class MPEDataStore
@@ -2112,16 +2099,6 @@
     return iCurrentCalls[ aCallId ]->SetCallOrigin( aOrigin ); 
     }
 
-// -----------------------------------------------------------------------------
-// CPEEngineInfoImpl::SwitchToNumberCommand
-// Return the switch to number from the TPECallCommandInfo structure.
-// -----------------------------------------------------------------------------
-//
-const TPEPhoneNumber& CPEEngineInfoImpl::SwitchToNumberCommand() const
-    {
-    return iCallCommandInfo.iSwitchToNumber;
-    }
-
 
 // -----------------------------------------------------------------------------
 // CPEEngineInfoImpl::UnattendedTransferTarget
@@ -2211,27 +2188,6 @@
     return iCallCommandInfo.iTransferToAddress;
     }
 
-// -----------------------------------------------------------------------------
-// CPEEngineInfo::SetIsSwitchToOperationOngoing
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPEEngineInfoImpl::SetIsSwitchToOperationOngoing( const TBool aValue )
-    {
-    TEFLOGSTRING2( KTAINT, "SetIsSwitchToOperationOngoing: %d", aValue );
-    iBasicInfo.iSwitchToOngoing = aValue;
-    }
-
-// -----------------------------------------------------------------------------
-// CPEEngineInfo::IsSwitchToOperationOngoing
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CPEEngineInfoImpl::IsSwitchToOperationOngoing() const
-    {
-    TEFLOGSTRING2( KTAINT, "IsSwitchToOperationOngoing: %d", iBasicInfo.iSwitchToOngoing );
-    return iBasicInfo.iSwitchToOngoing;
-    }
 
 // -----------------------------------------------------------------------------
 // CPEEngineInfo::CallOrigin
@@ -2640,4 +2596,33 @@
     iBasicInfo.iOutgoingBarringActivated = aActivated;
     }
 
+// -----------------------------------------------------------------------------
+// CPEEngineInfoImpl::SetProtocolError
+// Sets the protocol spesific error code
+// -----------------------------------------------------------------------------
+//
+void CPEEngineInfoImpl::SetIncomingCallForwarded( TBool aForwarded, TInt aCallId )
+    {
+    if ( 0<=aCallId && aCallId<iCurrentCalls.Count() )
+        {
+        iCurrentCalls[ aCallId ]->SetIncomingCallForwarded( aForwarded );
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CPEEngineInfoImpl::IncomingCallForwarded
+// -----------------------------------------------------------------------------
+//
+TBool CPEEngineInfoImpl::IncomingCallForwarded( TInt aCallId ) const
+    {
+    TBool ret( EFalse );
+    
+    if ( 0<=aCallId && aCallId<iCurrentCalls.Count() )
+        {
+        ret = iCurrentCalls[ aCallId ]->IncomingCallForwarded();
+        }
+    
+    return ret;
+    }
+
 // End of File
--- a/phoneengine/loghandling/data/loghandling_stub.pkg	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +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: For packing log handling dll.
-;
-; loghandling_stub.pkg
-
-; Languages
-&EN
-
-; Header
-#{"loghandling"},(0x1000A830),1,0,0,TYPE=SA
-
-;Localised Vendor name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-; Target
-
-""-"z:\sys\bin\loghandling.dll"
\ No newline at end of file
Binary file phoneengine/loghandling/data/loghandling_stub.sis has changed
--- a/phoneengine/loghandling/group/bld.inf	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/loghandling/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -27,7 +27,7 @@
 ../inc/mpeloghandling.h              |../../inc/mpeloghandling.h
 
 // SIS stubs
-../data/loghandling_stub.sis        /epoc32/data/z/system/install/loghandling_stub.sis
+../rom/loghandling_stub.sis        /epoc32/data/z/system/install/loghandling_stub.sis
 
 PRJ_MMPFILES
 loghandling.mmp
--- a/phoneengine/loghandling/group/loghandling.mmp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/loghandling/group/loghandling.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -23,6 +23,7 @@
 TARGETTYPE      dll
 UID             0x10000079 0x1000A830
 VENDORID        VID_DEFAULT
+VERSION         10.0
 
 CAPABILITY      CAP_GENERAL_DLL
 
@@ -62,4 +63,6 @@
 BASEADDRESS 0x10040000
 END
 
-#endif // RD_PHONE_NG
\ No newline at end of file
+#endif // RD_PHONE_NG
+
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/loghandling/rom/loghandling_stub.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,32 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: For packing log handling dll.
+;
+; loghandling_stub.pkg
+
+; Languages
+&EN
+
+; Header
+#{"loghandling"},(0x1000A830),1,0,0,TYPE=SA
+
+;Localised Vendor name
+%{"Nokia"}
+
+;Unique Vendor name
+:"Nokia"
+
+; Target
+
+""-"z:\sys\bin\loghandling.dll"
\ No newline at end of file
Binary file phoneengine/loghandling/rom/loghandling_stub.sis has changed
--- a/phoneengine/loghandling/tsrc/ut_cpelogevent/group/ut_cpelogevent.mmp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/loghandling/tsrc/ut_cpelogevent/group/ut_cpelogevent.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -68,3 +68,5 @@
 LIBRARY             symbianmock.lib
 
 EPOCALLOWDLLDATA
+
+SMPSAFE
--- a/phoneengine/loghandling/tsrc/ut_cpelogexternaldata/group/ut_cpelogexternaldata.mmp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/loghandling/tsrc/ut_cpelogexternaldata/group/ut_cpelogexternaldata.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -63,3 +63,5 @@
 LIBRARY             symbianmock.lib
 
 EPOCALLOWDLLDATA
+
+SMPSAFE
--- a/phoneengine/loghandling/tsrc/ut_cpeloginfo/group/ut_cpeloginfo.mmp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/loghandling/tsrc/ut_cpeloginfo/group/ut_cpeloginfo.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -61,3 +61,6 @@
 LIBRARY             ecom.lib
 LIBRARY             serviceprovidersettings.lib
 //LIBRARY             symbianmock.lib
+
+
+SMPSAFE
--- a/phoneengine/networkhandlingstarter/networkhandlingstarter.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/networkhandlingstarter/networkhandlingstarter.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -28,6 +28,8 @@
     TARGET.CAPABILITY = CAP_APPLICATION
     TARGET.EPOCALLOWDLLDATA = 1
     TARGET.UID3 = 0x2002E67A
+    VERSION = 10.0
+    
     INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
     LIBS += -lnetworkhandling
     LIBS += -lxqservice
@@ -39,7 +41,8 @@
 
     BLD_INF_RULES.prj_exports +=  \
      "./rom/networkhandlingstarter.iby    CORE_APP_LAYER_IBY_EXPORT_PATH(networkhandlingstarter.iby)"
-     
+    BLD_INF_RULES.prj_exports +=  \
+    "./rom/networkhandlingstarter_stub.sis    /epoc32/data/z/system/install/networkhandlingstarter_stub.sis"
     RSS_RULES += "hidden = KAppIsHidden;"
 }
 
@@ -55,3 +58,6 @@
 CONFIG += service
 SERVICE.FILE = service_conf.xml
 SERVICE.OPTIONS = embeddable
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneengine/networkhandlingstarter/rom/networkhandlingstarter.iby	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/networkhandlingstarter/rom/networkhandlingstarter.iby	Mon Oct 04 00:16:48 2010 +0300
@@ -24,4 +24,6 @@
 data=DATAZ_\private\10003a3f\import\apps\networkhandlingstarter_reg.rsc \private\10003a3f\import\apps\networkhandlingstarter_reg.rsc
 data=DATAZ_\resource\apps\networkhandlingstarter.rsc \resource\apps\networkhandlingstarter.rsc
 
+data=ZSYSTEM\install\networkhandlingstarter_stub.sis   System\Install\networkhandlingstarter_stub.sis
+
 #endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/networkhandlingstarter/rom/networkhandlingstarter_stub.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,32 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: For packing phoneuicontrol component.
+;
+; Languages
+&EN
+
+
+; SIS header: name, uid, version
+#{"networkhandlingstarter"},(0x2002E67A),1,0,0
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+"" - "z:\sys\bin\networkhandlingstarter.exe"
+"" - "z:\resource\apps\networkhandlingstarter.rsc"
+"" - "z:\private\10003a3f\import\apps\networkhandlingstarter_reg.rsc"
+
Binary file phoneengine/networkhandlingstarter/rom/networkhandlingstarter_stub.sis has changed
--- a/phoneengine/networkhandlingstarter/tsrc/ut_cnetworklistener/ut_cnetworklistener.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/networkhandlingstarter/tsrc/ut_cnetworklistener/ut_cnetworklistener.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -57,3 +57,5 @@
 SOURCES += ../mocks/mock_cpsetrefreshhandler.cpp
 HEADERS += ../mocks/mock_cpsetrefreshhandler.h
 SOURCES += ../mocks/mock_psetnetwork.cpp
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneengine/networkhandlingstarter/tsrc/ut_networkhandlingstarter/ut_networkhandlingstarter.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/networkhandlingstarter/tsrc/ut_networkhandlingstarter/ut_networkhandlingstarter.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -49,3 +49,5 @@
            ../mocks/mock_tstasksettings.cpp
 
 
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneengine/networkhandlingstarter/tsrc/ut_networkhandlingstarter_p/ut_networkhandlingstarter_p.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/networkhandlingstarter/tsrc/ut_networkhandlingstarter_p/ut_networkhandlingstarter_p.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -58,3 +58,7 @@
 HEADERS += /epoc32/include/mw/xqaiwrequest.h
 SOURCES += ../mocks/mock_xqaiwrequest.cpp
 SOURCES += ../mocks/mock_hbtranslator.cpp
+
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneengine/phonecntfinder2/data/phonecntfinder_stub.pkg	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +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: For packing phone contact finder stub.
-;
-; Languages
-&EN
-
-; Header
-#{"phonecntfinder"}, (0x10005998), 1, 0, 0, TYPE=SA
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Files
-""-"z:\sys\bin\phonecntfinder.dll"
Binary file phoneengine/phonecntfinder2/data/phonecntfinder_stub.sis has changed
--- a/phoneengine/phonecntfinder2/phonecntfinder2.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/phonecntfinder2/phonecntfinder2.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -25,6 +25,8 @@
 TARGET.UID3 = 0x10005998
 TARGET.VID = VID_DEFAULT
 
+VERSION = 10.0
+
 INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
 INCLUDEPATH += ../../inc 
                    
@@ -75,10 +77,7 @@
  "./rom/phonecntfinder.iby    CORE_APP_LAYER_IBY_EXPORT_PATH(phonecntfinder.iby)"
  
 BLD_INF_RULES.prj_exports += \
- "./data/phonecntfinder_stub.sis /epoc32/data/z/system/install/phonecntfinder_stub.sis"
-
+ "./rom/phonecntfinder_stub.sis /epoc32/data/z/system/install/phonecntfinder_stub.sis"
 
 
-    
-
-
+symbian:MMP_RULES += SMPSAFE
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/rom/phonecntfinder_stub.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,29 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: For packing phone contact finder stub.
+;
+; Languages
+&EN
+
+; Header
+#{"phonecntfinder"}, (0x10005998), 1, 0, 0, TYPE=SA
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+;Files
+""-"z:\sys\bin\phonecntfinder.dll"
Binary file phoneengine/phonecntfinder2/rom/phonecntfinder_stub.sis has changed
--- a/phoneengine/phonecntfinder2/tsrc/u_cphcntcontactidimpl2/testcphcntcontactidimpl2.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/phonecntfinder2/tsrc/u_cphcntcontactidimpl2/testcphcntcontactidimpl2.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -50,3 +50,6 @@
 
 
 
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneengine/phonecntfinder2/tsrc/u_cphcntfactoryimpl2/testfactoryimpl2.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/phonecntfinder2/tsrc/u_cphcntfactoryimpl2/testfactoryimpl2.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -58,3 +58,6 @@
 
 
 
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneengine/phonecntfinder2/tsrc/u_cphcntmatch2/testmatch2.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/phonecntfinder2/tsrc/u_cphcntmatch2/testmatch2.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -48,3 +48,6 @@
 
 
 
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneengine/phonecntfinder2/tsrc/u_cphcntmatcherimpl2/testmatcherimpl2.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/phonecntfinder2/tsrc/u_cphcntmatcherimpl2/testmatcherimpl2.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -56,3 +56,6 @@
 
 
 
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneengine/phonemodel/data/phonemodel_stub.pkg	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +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: For packing phoneengine stub.
-;
-; phonemodel_stub.pkg
-
-; Languages
-&EN
-
-; Header
-#{"phoneengine"},(0x1000A86C),1,0,0,TYPE=SA
-
-;Localised Vendor name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-; Target
-
-""-"z:\sys\bin\phoneengine.dll"
\ No newline at end of file
Binary file phoneengine/phonemodel/data/phonemodel_stub.sis has changed
--- a/phoneengine/phonemodel/inc/cpemessagehandler.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/phonemodel/inc/cpemessagehandler.h	Mon Oct 04 00:16:48 2010 +0300
@@ -410,20 +410,7 @@
         * @return possible error code from the CallHandling subsystem.
         */
         TInt HandleHoldCall( );
-
-        /**
-        * Handles video call switch to video or voice from phoneui 
-        */
-        TInt HandleSwitchToVideoOrVoice( const TInt aCallId ); 
         
-        /**
-        * Continue switch to video call or voice call.
-        * Calls dial method to create new video call or voice call 
-        * to same phonenumber.
-        * @param aCallId is the identification number of the call.
-        * @return possible error code from the CallHandling subsystem.
-        */
-        TInt ContinueSwitchToCall( const TInt aCallId );  
 
         /**
         * Handles idle state message from the CallHandling subsystem.
--- a/phoneengine/phonemodel/inc/pevirtualengine.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/phonemodel/inc/pevirtualengine.h	Mon Oct 04 00:16:48 2010 +0300
@@ -810,9 +810,7 @@
         EPEMessageStopDTMFSending,
         EPEMessageStopTonePlay,
         EPEMessageAutomaticAnswerOff,       //UI sends when soft reject is needed
-        EPEMessageTerminateAllConnections,
-        EPEMessageSetSwitchToCallFlag,
-        EPEMessageSwitchToVideoOrVoice,
+        EPEMessageTerminateAllConnections,                
         EPEMessageSatCallRequestCompleted,
         EPEMessageClientDialEmergency,
         EPEMessageReplaceActive,
--- a/phoneengine/phonemodel/phonemodel.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/phonemodel/phonemodel.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -27,6 +27,7 @@
     TARGET.UID3 = 0x1000A86C
     TARGET.VID = VID_DEFAULT
     TARGET.CAPABILITY = ALL -TCB
+    VERSION = 10.0
     
     INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE  \
                    $$OS_LAYER_GLIB_SYSTEMINCLUDE
@@ -179,6 +180,7 @@
 BLD_INF_RULES.prj_exports += \
  "$${LITERAL_HASH}include <platform_paths.hrh>" \
  "./rom/phonengengine.iby    CORE_APP_LAYER_IBY_EXPORT_PATH(phonengengine.iby)"
+BLD_INF_RULES.prj_exports += "./conf/ci_s60telephony.confml APP_LAYER_CONFML(ci_s60telephony.confml)"
 BLD_INF_RULES.prj_exports += "./conf/s60telephony.confml APP_LAYER_CONFML(s60telephony.confml)"
 BLD_INF_RULES.prj_exports += "./conf/s60telephony_japan.confml CONFML_EXPORT_PATH(s60telephony_japan.confml,japan)"
 BLD_INF_RULES.prj_exports += "./conf/s60telephony_101f87e3.crml APP_LAYER_CRML(s60telephony_101f87e3.crml)"
@@ -195,4 +197,6 @@
 BLD_INF_RULES.prj_exports += "./data/backup_registration.xml /epoc32/release/winscw/urel/z/private/1000a86c/backup_registration.xml"
 
 #Stub sis
-BLD_INF_RULES.prj_exports += "./data/phonemodel_stub.sis /epoc32/data/z/system/install/phonemodel_stub.sis"
+BLD_INF_RULES.prj_exports += "./rom/phonemodel_stub.sis /epoc32/data/z/system/install/phonemodel_stub.sis"
+
+symbian:MMP_RULES += SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonemodel/rom/phonemodel_stub.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,32 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: For packing phoneengine stub.
+;
+; phonemodel_stub.pkg
+
+; Languages
+&EN
+
+; Header
+#{"phoneengine"},(0x1000A86C),1,0,0,TYPE=SA
+
+;Localised Vendor name
+%{"Nokia"}
+
+;Unique Vendor name
+:"Nokia"
+
+; Target
+
+""-"z:\sys\bin\phoneengine.dll"
\ No newline at end of file
Binary file phoneengine/phonemodel/rom/phonemodel_stub.sis has changed
--- a/phoneengine/phonemodel/rom/phonengengine.iby	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/phonemodel/rom/phonengengine.iby	Mon Oct 04 00:16:48 2010 +0300
@@ -22,29 +22,29 @@
 #include <data_caging_paths_for_iby.hrh>
 
 // Phone Engine
-file=ABI_DIR\BUILD_DIR\phoneengine.dll        SHARED_LIB_DIR\phoneengine.dll
+file=ABI_DIR\BUILD_DIR\phoneengine.dll          SHARED_LIB_DIR\phoneengine.dll
 
 // Engine Info
-file=ABI_DIR\BUILD_DIR\engineinfo.dll        SHARED_LIB_DIR\engineinfo.dll
+file=ABI_DIR\BUILD_DIR\engineinfo.dll           SHARED_LIB_DIR\engineinfo.dll
 
 // Audio Handling
-file=ABI_DIR\BUILD_DIR\audiohandling.dll    SHARED_LIB_DIR\audiohandling.dll
+file=ABI_DIR\BUILD_DIR\audiohandling.dll        SHARED_LIB_DIR\audiohandling.dll
 data=MULTI_LINGUIFY(RSC DATAZ_\RESOURCE_FILES_DIR\defaultbeep RESOURCE_FILES_DIR\defaultbeep)
 
 // Call Handling
-file=ABI_DIR\BUILD_DIR\callhandling.dll     SHARED_LIB_DIR\callhandling.dll
+file=ABI_DIR\BUILD_DIR\callhandling.dll         SHARED_LIB_DIR\callhandling.dll
 
 // Contact Handling
-file=ABI_DIR\BUILD_DIR\contacthandling.dll  SHARED_LIB_DIR\contacthandling.dll
+file=ABI_DIR\BUILD_DIR\contacthandling.dll      SHARED_LIB_DIR\contacthandling.dll
 
 // Log Handling
-file=ABI_DIR\BUILD_DIR\loghandling.dll      SHARED_LIB_DIR\loghandling.dll
+file=ABI_DIR\BUILD_DIR\loghandling.dll          SHARED_LIB_DIR\loghandling.dll
 
 // Service Handling
-file=ABI_DIR\BUILD_DIR\peservicehandling.dll      SHARED_LIB_DIR\peservicehandling.dll
+file=ABI_DIR\BUILD_DIR\peservicehandling.dll    SHARED_LIB_DIR\peservicehandling.dll
 
 // Dial Service
-file=ABI_DIR\BUILD_DIR\phoneservices.dll      SHARED_LIB_DIR\phoneservices.dll
+file=ABI_DIR\BUILD_DIR\phoneservices.dll        SHARED_LIB_DIR\phoneservices.dll
 
 data=DATAZ_\private\1000A86C\backup_registration.xml  private\1000A86C\backup_registration.xml
 
@@ -56,6 +56,8 @@
 data=ZSYSTEM\install\loghandling_stub.sis       System\Install\loghandling_stub.sis
 data=ZSYSTEM\install\phonemodel_stub.sis        System\Install\phonemodel_stub.sis
 data=ZSYSTEM\install\servicehandling_stub.sis   System\Install\servicehandling_stub.sis
+data=ZSYSTEM\install\phoneservices_stub.sis     System\Install\phoneservices_stub.sis
+data=ZSYSTEM\install\engineinfo_stub.sis        System\Install\engineinfo_stub.sis
 
 #endif // PHONEENGINE_IBY
 
--- a/phoneengine/phonemodel/src/cpemessagehandler.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/phonemodel/src/cpemessagehandler.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -2485,81 +2485,6 @@
         }
     }
 
-// -----------------------------------------------------------------------------
-// CPEMessageHandler::HandleSwitchToVideoOrVoice 
-// This method handle EPEMessageSwitchToVideoOrVoice message. If current call id
-// is Data then call will be switched to Voice call and the other way around. 
-// Method set current phonenumber to dataStore and get call parameter and call 
-// hangUp to current call. 
-// When hangUp is completed (EPEMessageIdle was sent) sequence will be continue 
-// from ContinueSwitchToCall method.
-// -----------------------------------------------------------------------------
-//
-TInt CPEMessageHandler::HandleSwitchToVideoOrVoice( const TInt aCallId )
-    {
-    // First get the current phone number and then end voice call
-    // or video call.
-    TInt err( ECCPErrorNone );
-    
-    TEFLOGSTRING2( KTAINT, 
-        "PE CPEMessageHandler::HandleSwitchToVideoOrVoice, aCallId : %d", aCallId );
-    // if out of memory case then phonenumber is already datastore.
-    if( aCallId != KPECallIdNotUsed )
-        {
-        if ( iDataStore.CallDirection( aCallId ) == RMobileCall::EMobileOriginated )
-            {
-            iDataStore.SetSwitchToNumberCommand( iDataStore.WholeOutgoingPhoneNumber( aCallId ) );  
-            // Clear phonenumber to prevent using the wrong number in MO video call.
-            iDataStore.SetPhoneNumber( KNullDesC() );
-            }
-        else
-            {
-            iDataStore.SetSwitchToNumberCommand( iDataStore.RemotePhoneNumber( aCallId ) );
-            // Remote phone number must be stored as the phone number in case of low-memory situation where 
-            // an MO voice call can be initiated after failing to answer an MT video call.
-            iDataStore.SetPhoneNumber( iDataStore.RemotePhoneNumber( aCallId ) );
-            }
-
-        err = HandleReleaseCall();
-        }
-
-    return err;
-    }
-    
-// -----------------------------------------------------------------------------
-// CPEMessageHandler::ContinueSwitchToCall
-// Metdod calls dial to multimedia call or voice call.
-// -----------------------------------------------------------------------------
-//
-TInt CPEMessageHandler::ContinueSwitchToCall( const TInt aCallId )  
-    {
-    TEFLOGSTRING2( KTAINT, 
-        "PE CPEMessageHandler::ContinueSwitchToCall, aCallId : %d", aCallId );
-    TInt callId;
-    TInt errorCode( ECCPErrorNone );
-  
-    TPEPhoneNumber phoneNumber = iDataStore.SwitchToNumberCommand();
-    TEFLOGSTRING2( KTAINT, 
-        "PE CPEMessageHandler::ContinueSwitchToCall, phoneNumber : %S", 
-        &phoneNumber );
-
-    // Check is current call voice or video
-    if ( CallIdCheck::IsVoice( aCallId ) )
-        {
-        // Create new video call to same phonenumber
-        iDataStore.SetCallTypeCommand( EPECallTypeVideo );
-        errorCode = iCallHandling.DialMultimedia( phoneNumber, callId );
-        }
-    else if ( CallIdCheck::IsVideo( aCallId ) )
-        {
-        // Create new voice call to same phonenumber
-        iDataStore.SetCallTypeCommand( EPECallTypeCSVoice );
-        errorCode = iCallHandling.DialCall( phoneNumber, callId );
-        }
-    TEFLOGSTRING2( KTAINT, 
-        "PE CPEMessageHandler::ContinueSwitchToCall(), error : %d", errorCode );    
-    return errorCode;    
-    }
 
 // -----------------------------------------------------------------------------
 // CPEMessageHandler::RemovePreAndPostFix
--- a/phoneengine/phonemodel/src/cpephonemodel.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/phonemodel/src/cpephonemodel.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -326,9 +326,7 @@
         case CPEPhoneModelIF::EPEMessageSwapConference:
             return MESSAGE("EPEMessageSwapConference");
         case CPEPhoneModelIF::EPEMessageTransfer:
-            return MESSAGE("EPEMessageTransfer");
-        case CPEPhoneModelIF::EPEMessageSwitchToVideoOrVoice:
-            return MESSAGE("EPEMessageSwitchToVideoOrVoice");   
+            return MESSAGE("EPEMessageTransfer");           
 
         // Contact messages                       11400 - 11599
 
@@ -797,11 +795,7 @@
             break;
         case CPEPhoneModelIF::EPEMessageSetALSLine:
             iCallHandling->SetActiveLine();
-            break;     
-        case CPEPhoneModelIF::EPEMessageSwitchToVideoOrVoice:
-            iEngineInfo->SetIsSwitchToOperationOngoing( ETrue );
-            errorCode = iMessageHandler->HandleSwitchToVideoOrVoice( iEngineInfo->CallId() );
-            break; 
+            break;
         case MPEPhoneModel::EPEMessageSatCallRequestCompleted: 
             iMessageHandler->HandleSatCallRequestCompleted();
             break;
@@ -1006,8 +1000,7 @@
             message = MEngineMonitor::EPEMessageDisconnecting;
             }
         else if ( message == MEngineMonitor::EPEMessageConnectingWithInband )
-            {
-            iEngineInfo->SetIsSwitchToOperationOngoing( EFalse );
+            {            
             message = MEngineMonitor::EPEMessageConnecting;
             }
         #ifdef TEF_LOGGING_ENABLED
@@ -1047,10 +1040,7 @@
             break;
 
         case MEngineMonitor::EPEMessageIncoming:
-            TRAP( errorCode, iMessageHandler->HandleIncomingCallL( aCallId ) );
-            // Since it is possible that incoming call interrupts switch to operation
-            // we need to reset this value.
-            iEngineInfo->SetIsSwitchToOperationOngoing( EFalse );
+            TRAP( errorCode, iMessageHandler->HandleIncomingCallL( aCallId ) );            
             break;
 
         case MEngineMonitor::EPEMessageAnswering:
@@ -1068,10 +1058,7 @@
                 
             break;
 
-        case MEngineMonitor::EPEMessageConnected:
-            // Switch to status needs to be set false here because some networks
-            // do not use connecting state.
-            iEngineInfo->SetIsSwitchToOperationOngoing( EFalse );
+        case MEngineMonitor::EPEMessageConnected:            
             iEngineInfo->SetResumeHeldCall( ETrue, aCallId );
             if ( CallIdCheck::IsVoice( aCallId ))
                 {
@@ -1103,26 +1090,18 @@
                 // Video call : for video call logging and duration
                 errorCode = iMessageHandler->HandleVideoCallIdle( aCallId );
                 }
-            if ( errorCode == ECCPErrorNone && iEngineInfo->IsSwitchToOperationOngoing() )
-                {
-                errorCode = iMessageHandler->ContinueSwitchToCall( aCallId );
-                }
-            
+                        
             iEngineInfo->SetOutgoingCallBarringActivated( EFalse );
             break;
 
         case MEngineMonitor::EPEMessageRemoteBusy:
             if ( CallIdCheck::IsVoice( aCallId ))
-                {                
-                // Set video/voice boolean to false because error occured.
-                iEngineInfo->SetIsSwitchToOperationOngoing( EFalse );
+                {
                 iMessageHandler->HandleCallHandlingError( aCallId, ETrue );                
                 }
             break;
 
-        case MEngineMonitor::EPEMessageCallHandlingError:
-            // Set video/voice boolean to false because error occured.
-            iEngineInfo->SetIsSwitchToOperationOngoing( EFalse );
+        case MEngineMonitor::EPEMessageCallHandlingError:            
             iMessageHandler->HandleCallHandlingError( aCallId, EFalse );            
             break;
                 
@@ -1172,14 +1151,12 @@
             break;
 
         // MO call connecting.
-        case MEngineMonitor::EPEMessageConnecting:
-            iEngineInfo->SetIsSwitchToOperationOngoing( EFalse );
+        case MEngineMonitor::EPEMessageConnecting:            
             iEngineInfo->SetInbandTone( ECCPRemoteAlerting );
             iAudioData->PlayInbandTone();
             break;   
         /*        
-        case MEngineMonitor::EPEMessageInitiatedEmergencyCall:
-            iEngineInfo->SetIsSwitchToOperationOngoing( EFalse );
+        case MEngineMonitor::EPEMessageInitiatedEmergencyCall:            
             if ( iCallStackCutter )
                 {
                 delete iCallStackCutter;
@@ -1234,8 +1211,7 @@
     switch ( aMessage )
         {
         case MEngineMonitor::EPEMessageInitiatedEmergencyCall:
-            {
-            iEngineInfo->SetIsSwitchToOperationOngoing( EFalse );  
+            {              
             sendingDelayed = ETrue;            
             }
             break;
--- a/phoneengine/phonemodel/tsrc/ut_penetworkhandler/ut_penetworkhandler.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/phonemodel/tsrc/ut_penetworkhandler/ut_penetworkhandler.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -43,3 +43,6 @@
 
 SOURCES += ../../src/penetworkhandler.cpp \
            ./unit_tests.cpp
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneengine/phoneservices/inc/dialservice.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/phoneservices/inc/dialservice.h	Mon Oct 04 00:16:48 2010 +0300
@@ -16,7 +16,7 @@
 *
 *            Example usage:
 *            QString service("phoneui");
-*            QString interface(""com.nokia.symbian.ICallDial");
+*            QString interface("com.nokia.symbian.ICallDial");
 *            QString operation("dial(QString)"); // choose appropriate operation
 *            XQApplicationManager appManager;
 *            QScopedPointer<XQAiwRequest> request(appManager.create(service, interface, operation, false));
@@ -31,8 +31,6 @@
 *            if (request->send(retValue)) {
 *               //error
 *            }
-*
-*            Note:
 *            
 */
 
--- a/phoneengine/phoneservices/phoneservices.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/phoneservices/phoneservices.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -24,7 +24,7 @@
     TARGET.CAPABILITY = ALL -TCB
     TARGET.EPOCALLOWDLLDATA =1
     DEFINES += BUILD_PHONESERVICES
-    
+    VERSION = 10.0
     INCLUDEPATH += ../../inc \
                    ../phonemodel/inc
     INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
@@ -51,4 +51,7 @@
 headers.sources = $$PHONESERVICES_API_HEADERS
 headers.path = |../../inc
 # This is for new exporting system coming in garden
-for(header, headers.sources):BLD_INF_RULES.prj_exports += "$$header $$headers.path/$$basename(header)"       
\ No newline at end of file
+for(header, headers.sources):BLD_INF_RULES.prj_exports += "$$header $$headers.path/$$basename(header)"       
+
+BLD_INF_RULES.prj_exports += \
+ "./rom/phoneservices_stub.sis /epoc32/data/z/system/install/phoneservices_stub.sis"
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/rom/phoneservices_stub.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,29 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: For packing phone contact finder stub.
+;
+; Languages
+&EN
+
+; Header
+#{"phoneservices"}, (0x20029F88), 1, 0, 0, TYPE=SA
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+;Files
+""-"z:\sys\bin\phoneservices.dll"
Binary file phoneengine/phoneservices/rom/phoneservices_stub.sis has changed
--- a/phoneengine/phoneservices/tsrc/urischemeservicetestapp/urischemeservicetestapp.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/phoneservices/tsrc/urischemeservicetestapp/urischemeservicetestapp.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -37,3 +37,6 @@
     
     LIBS += -lphoneservices -lxqservice -lxqserviceutil    
 } 
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneengine/phoneservices/tsrc/ut_ctiurischemeparser/ut_ctiurischemeparser.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/phoneservices/tsrc/ut_ctiurischemeparser/ut_ctiurischemeparser.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -44,3 +44,6 @@
     
     LIBS += -lmocklib -lsymbianmock
 }
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneengine/phoneservices/tsrc/ut_dialservice/unit_tests.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/phoneservices/tsrc/ut_dialservice/unit_tests.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -16,23 +16,32 @@
 */
 
 #include <QtTest/QtTest>
-
-//#include <hbglobal_p.h>
 #include <featmgr.h>
 #include <settingsinternalcrkeys.h>
 #include <xqsettingsmanager.h>
+#include <e32capability.h>
+
+#include <csmcmockcontext.h>
+#include <smcdefaultvalue.h>
+#include <msmcmockspecbuilder.h>
+#include <smcobjecttotypemapper.h>
+#include <mockservice.h>
+
 #include "dialservice.h"
+#include "qtestmains60.h"
 
 bool m_featureManagerReturnValue;
 int m_featureManagerRequestedFeatureSupport;
 
+typedef QSet<int> IntegerSet;
+
 TBool FeatureManager::FeatureSupported(TInt aFeature)
 {
     m_featureManagerRequestedFeatureSupport = aFeature;
     return m_featureManagerReturnValue;
 }
 
-class TestDialService : public QObject, public MPECallControlIF, public MPECallSettersIF
+class TestDialService : public QObject, public MPECallControlIF, public MPECallSettersIF, public MockService
 {
     Q_OBJECT
 public:
@@ -66,10 +75,8 @@
     void testDialVoip2();
     void testDialVoipService();
     void testDialVoipService2();
-//    void testExecuteKeySequence ();
-//    void testPlayDTMFTone ();
-//    void testStopDTMFPlay ();
-
+    void testDialNoCaps();
+    
 private:
     DialService *m_DialService; // class under test
     bool m_setPhoneNumberCalled;
@@ -86,6 +93,7 @@
     bool m_setServiceIdCalled;
     int m_serviceId;
     ushort keyValue;
+    XQRequestInfo m_XQRequestInfoMock;
 };
 
 TestDialService::TestDialService ()
@@ -106,6 +114,13 @@
 
 void TestDialService::init ()
 {
+    initialize();
+    IntegerSet caps;
+    caps.insert(ECapabilityNetworkServices);
+    caps.insert(ECapabilityNetworkControl);
+    SmcDefaultValue<IntegerSet>::SetL(caps);
+    SmcDefaultValue<XQRequestInfo>::SetL(m_XQRequestInfoMock);
+       
     m_setPhoneNumberCalled = false;
     m_setCallTypeCommandCalled = false;
     m_handleDialCallCalled = false;
@@ -123,6 +138,9 @@
 
 void TestDialService::cleanup ()
 {
+    SmcDefaultValue<IntegerSet>::Reset();
+    SmcDefaultValue<XQRequestInfo>::Reset();
+    reset();
     delete m_DialService;
 }
 
@@ -174,6 +192,8 @@
     return KErrNone;
 }
 
+// Test cases
+
 void TestDialService::testDial()
 {
     m_DialService->dial(QString("0501234567"));
@@ -303,29 +323,39 @@
     QVERIFY (m_clientCall == false);
 }
 
-/*
-void TestDialService::testExecuteKeySequence()
-{
-    m_DialService->executeKeySequence(QString("*#0000#"));
-    QString keySequence((QChar*)m_phoneNumber.Ptr(), m_phoneNumber.Length());
-    QVERIFY (m_setPhoneNumberCalled == true);
-    QCOMPARE (keySequence, QString("*#0000#"));
-}
+void TestDialService::testDialNoCaps()
+    {
+    QSet<int> caps;
+    caps.insert(ECapabilityNetworkControl);
+    expect( "XQRequestInfo::clientCapabilities" ).
+        returns(caps).
+        times(4);
+    int ret = m_DialService->dial(QString("0501234567"));
+    QVERIFY (ret == KErrPermissionDenied);
+    ret = m_DialService->dial(QString("0501234567"), 3127);
+    QVERIFY (ret == KErrPermissionDenied);
+    ret = m_DialService->dialVideo(QString("0501234567"));
+    QVERIFY (ret == KErrPermissionDenied);
+    ret = m_DialService->dialVideo(QString("0501234567"), 3127);
+    QVERIFY (ret == KErrPermissionDenied);
 
-void TestDialService::testPlayDTMFTone()
-{
-    QChar six('6');
-    m_DialService->playDTMFTone(six);
-    QVERIFY (m_setKeyCodeCalled == true);
-    QCOMPARE (keyValue, six.unicode());
-    QVERIFY (m_handlePlayDTMFLCalled == true);
-}
+    reset();
+    QSet<int> caps2;
+    caps2.insert(ECapabilityNetworkServices);
+    expect( "XQRequestInfo::clientCapabilities" ).
+        returns(caps2).
+        times(4);
+    ret = m_DialService->dialVoip(QString("0501234567"));
+    QVERIFY (ret == KErrPermissionDenied);
+    ret = m_DialService->dialVoip(QString("0501234567"), 3127);
+    QVERIFY (ret == KErrPermissionDenied);
+    ret = m_DialService->dialVoipService(QString("0501234567"), 3);
+    QVERIFY (ret == KErrPermissionDenied);
+    ret = m_DialService->dialVoipService(QString("0501234567"), 3, 3127);
+    QVERIFY (ret == KErrPermissionDenied);
+    
+    QVERIFY( verify() );
+    }
 
-void TestDialService::testStopDTMFPlay()
-{
-    m_DialService->stopDTMFPlay();
-    QVERIFY (m_handleEndDTMFCalled == true);
-}
-*/
-QTEST_MAIN(TestDialService)
+QTEST_MAIN_S60(TestDialService)
 #include "unit_tests.moc"
--- a/phoneengine/phoneservices/tsrc/ut_dialservice/ut_dialservice.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/phoneservices/tsrc/ut_dialservice/ut_dialservice.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -20,24 +20,22 @@
 TARGET.UID3 = 0xE31F4ECE
 DEPENDPATH += .
 INCLUDEPATH += .
-CONFIG += hb
-CONFIG += qtestlib
+CONFIG += hb qtestlib
+QT -= gui
 
 symbian {
-
-    INCLUDEPATH += \epoc32\include\platform \
-                   \epoc32\include\platform\mw \
-                   \epoc32\include\mw \
+    INCLUDEPATH += /epoc32/include/platform \
+                   /epoc32/include/platform/mw \
+                   /epoc32/include/mw \
                    ../../../phoneuiutils/inc \
                    ../../../phoneuicontrol/inc \
                    ../../../phoneuiqtviewadapter/src \
-                   ../../../../inc
+                   ../../../../inc \
+                   ../../../../tsrc/common
 
-    LIBS += -lxqservice \
-            -lxqserviceutil \
-            -lphoneuicontrol \
-            -lfeatmgr \
-            -lxqsettingsmanager
+LIBS +=     -lxqsettingsmanager \
+            -lsymbianmock \
+            -lmocklib
 
     TARGET.CAPABILITY = ALL -TCB
 }
@@ -46,3 +44,12 @@
 HEADERS += ../../inc/dialservice.h
 SOURCES += unit_tests.cpp
 SOURCES += ../../src/dialservice.cpp
+
+# Mocks
+SOURCES += ../../tsrc/shared/mock_xqrequestinfo.cpp
+HEADERS += /epoc32/include/mw/xqserviceprovider.h
+# make mock_xqserviceprovider.cpp build
+DEFINES += XQ_BUILD_XQSERVICE_LIB DEFINES XQ_BUILD_XQSERVICEUTIL_LIB
+SOURCES += ../../tsrc/shared/mock_xqserviceprovider.cpp
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneengine/phoneservices/tsrc/ut_dtmfservice/unit_tests.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/phoneservices/tsrc/ut_dtmfservice/unit_tests.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -16,11 +16,17 @@
 */
 
 #include <QtTest/QtTest>
-
-//#include <hbglobal_p.h>
+#include <csmcmockcontext.h>
+#include <smcdefaultvalue.h>
+#include <msmcmockspecbuilder.h>
+#include <smcobjecttotypemapper.h>
+#include <mockservice.h>
 #include "dtmfservice.h"
+#include "qtestmains60.h"
 
-class TestDTMFService : public QObject, public MPECallControlIF, public MPECallSettersIF
+typedef QSet<int> IntegerSet;
+
+class TestDTMFService : public QObject, public MPECallControlIF, public MPECallSettersIF, public MockService
 {
     Q_OBJECT
 public:
@@ -46,6 +52,7 @@
 private slots:
     void testPlayDTMFTone ();
     void testStopDTMFPlay ();
+    void testPlayDTMFTone_nocaps();
 
 private:
     DTMFService *m_dtmfService; // class under test
@@ -62,6 +69,7 @@
     bool m_setKeyCodeCalled;
     bool m_handlePlayDtmfLeave;
     ushort keyValue;
+    XQRequestInfo m_XQRequestInfoMock;
 };
 
 TestDTMFService::TestDTMFService ()
@@ -82,6 +90,13 @@
 
 void TestDTMFService::init ()
 {
+    initialize();
+    IntegerSet caps;
+    caps.insert(ECapabilityNetworkServices);
+    caps.insert(ECapabilityNetworkControl);
+    SmcDefaultValue<IntegerSet>::SetL(caps);
+    SmcDefaultValue<XQRequestInfo>::SetL(m_XQRequestInfoMock);
+
     m_setPhoneNumberCalled = false;
     m_setCallTypeCommandCalled = false;
     m_handleDialCallCalled = false;
@@ -98,6 +113,9 @@
 
 void TestDTMFService::cleanup ()
 {
+    SmcDefaultValue<IntegerSet>::Reset();
+    SmcDefaultValue<XQRequestInfo>::Reset();
+    reset();
     delete m_dtmfService;
 }
 
@@ -151,6 +169,8 @@
     return KErrNone;
 }
 
+// Test cases
+
 void TestDTMFService::testPlayDTMFTone()
 {
     QChar six('6');
@@ -172,5 +192,22 @@
     QVERIFY (m_handleEndDTMFCalled == true);
 }
 
-QTEST_MAIN(TestDTMFService)
+void TestDTMFService::testPlayDTMFTone_nocaps()
+{
+    QSet<int> caps;
+    expect( "XQRequestInfo::clientCapabilities" ).
+        returns(caps).
+        times(2);
+    QChar six('6');
+    int ret = m_dtmfService->playDTMFTone(six);
+    QVERIFY (ret == KErrPermissionDenied);
+    ret = m_dtmfService->stopDTMFPlay();
+    QVERIFY (ret == KErrPermissionDenied);
+    
+    QVERIFY( verify() );
+}
+
+
+QTEST_MAIN_S60(TestDTMFService)
 #include "unit_tests.moc"
+
--- a/phoneengine/phoneservices/tsrc/ut_dtmfservice/ut_dtmfservice.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/phoneservices/tsrc/ut_dtmfservice/ut_dtmfservice.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -25,17 +25,18 @@
 
 symbian {
 
-    INCLUDEPATH += \epoc32\include\platform \
-                   \epoc32\include\platform\mw \
-                   \epoc32\include\mw \
+    INCLUDEPATH += /epoc32/include/platform \
+                   /epoc32/include/platform/mw \
+                   /epoc32/include/mw \
                    ../../../phoneuiutils/inc \
                    ../../../phoneuicontrol/inc \
                    ../../../phoneuiqtviewadapter/src \
-                   ../../../../inc
+                   ../../../../inc \
+                   ../../../../tsrc/common
 
-    LIBS += -lxqservice \
-            -lxqserviceutil \
-            -lphoneuicontrol
+    LIBS += -lphoneuicontrol \
+            -lsymbianmock \
+            -lmocklib
 
     TARGET.CAPABILITY = ALL -TCB
 }
@@ -44,3 +45,12 @@
 HEADERS += ../../inc/dtmfservice.h
 SOURCES += unit_tests.cpp
 SOURCES += ../../src/dtmfservice.cpp
+
+# Mocks
+SOURCES += ../../tsrc/shared/mock_xqrequestinfo.cpp
+HEADERS += /epoc32/include/mw/xqserviceprovider.h
+# make mock_xqserviceprovider.cpp build
+DEFINES += XQ_BUILD_XQSERVICE_LIB DEFINES XQ_BUILD_XQSERVICEUTIL_LIB
+SOURCES += ../../tsrc/shared/mock_xqserviceprovider.cpp
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneengine/phoneservices/tsrc/ut_phoneservices/ut_phoneservices.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/phoneservices/tsrc/ut_phoneservices/ut_phoneservices.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -47,3 +47,6 @@
 HEADERS += ../../inc/urischemehandlerservice.h
 SOURCES += ../../src/phoneservices.cpp
 SOURCES += unit_tests.cpp
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneengine/phoneservices/tsrc/ut_telurischemeparser/ut_telurischemeparser.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/phoneservices/tsrc/ut_telurischemeparser/ut_telurischemeparser.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -43,3 +43,6 @@
     
     LIBS += -lmocklib -lsymbianmock
 }
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneengine/phoneservices/tsrc/ut_urischemehandlerservice/ut_urischemehandlerservice.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/phoneservices/tsrc/ut_urischemehandlerservice/ut_urischemehandlerservice.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -53,3 +53,6 @@
     
     LIBS += -lmocklib -lsymbianmock# -lxqservice
 }
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneengine/servicehandling/data/servicehandling_stub.pkg	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +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: For packing servicehandling stub.
-;
-; servicehandling_stub.pkg
-
-; Languages
-&EN
-
-; Header
-#{"servicehandling"},(0x200194FD),1,0,0,TYPE=SA
-
-;Localised Vendor name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-; Target
-
-""-"z:\sys\bin\peservicehandling.dll"
\ No newline at end of file
Binary file phoneengine/servicehandling/data/servicehandling_stub.sis has changed
--- a/phoneengine/servicehandling/group/bld.inf	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/servicehandling/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -26,7 +26,7 @@
 ../inc/mpeservicehandling.h            |../../inc/mpeservicehandling.h
 
 // SIS stubs
-../data/servicehandling_stub.sis       /epoc32/data/z/system/install/servicehandling_stub.sis
+../rom/servicehandling_stub.sis       /epoc32/data/z/system/install/servicehandling_stub.sis
 
 PRJ_MMPFILES
 peservicehandling.mmp
--- a/phoneengine/servicehandling/group/peservicehandling.mmp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/servicehandling/group/peservicehandling.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -25,6 +25,7 @@
 
 CAPABILITY              CAP_GENERAL_DLL
 VENDORID                VID_DEFAULT
+VERSION                 10.0
 
 SOURCEPATH              ../src
 SOURCE                  cpeservicehandling.cpp
@@ -42,3 +43,6 @@
 // <-- QT PHONE END -->
 LIBRARY                 flogger.lib     // for logging
 
+
+
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/servicehandling/rom/servicehandling_stub.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,32 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: For packing servicehandling stub.
+;
+; servicehandling_stub.pkg
+
+; Languages
+&EN
+
+; Header
+#{"servicehandling"},(0x200194FD),1,0,0,TYPE=SA
+
+;Localised Vendor name
+%{"Nokia"}
+
+;Unique Vendor name
+:"Nokia"
+
+; Target
+
+""-"z:\sys\bin\peservicehandling.dll"
\ No newline at end of file
Binary file phoneengine/servicehandling/rom/servicehandling_stub.sis has changed
--- a/phoneplugins/csplugin/data/csplugin_stub.pkg	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +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: For packing csplugin stub.
-;
-; csplugin_stub.pkg
-
-; Languages
-&EN
-
-; Header
-#{"csplugin"},(0x102828E3),1,0,0,TYPE=SA
-
-;Localised Vendor name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-; Target
-
-""-"z:\sys\bin\csplugin.dll"
-""-"z:\resource\plugins\csplugin.rsc" 
\ No newline at end of file
Binary file phoneplugins/csplugin/data/csplugin_stub.sis has changed
--- a/phoneplugins/csplugin/group/bld.inf	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneplugins/csplugin/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -24,7 +24,7 @@
 
 // Specify the source file followed by its destination here
 PRJ_EXPORTS
-../data/csplugin_stub.sis       /epoc32/data/z/system/install/csplugin_stub.sis
+../rom/csplugin_stub.sis       /epoc32/data/z/system/install/csplugin_stub.sis
 
 // IBY files
 #if defined(CORE_MW_LAYER_IBY_EXPORT_PATH)
--- a/phoneplugins/csplugin/group/csplugin.mmp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneplugins/csplugin/group/csplugin.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -31,6 +31,7 @@
 
 CAPABILITY              CAP_ECOM_PLUGIN NetworkControl NetworkServices ReadDeviceData MultimediaDD
 VENDORID                VID_DEFAULT
+VERSION                 10.0
 
 #ifndef WINSCW 
 EpocAllowDllData
@@ -123,3 +124,6 @@
 LIBRARY                 libglib.lib
 
 DEBUGLIBRARY            flogger.lib
+
+
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/rom/csplugin_stub.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,33 @@
+;
+; 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: For packing csplugin stub.
+;
+; csplugin_stub.pkg
+
+; Languages
+&EN
+
+; Header
+#{"csplugin"},(0x102828E3),1,0,0,TYPE=SA
+
+;Localised Vendor name
+%{"Nokia"}
+
+;Unique Vendor name
+:"Nokia"
+
+; Target
+
+""-"z:\sys\bin\csplugin.dll"
+""-"z:\resource\plugins\csplugin.rsc" 
\ No newline at end of file
Binary file phoneplugins/csplugin/rom/csplugin_stub.sis has changed
--- a/phoneplugins/csplugin/tsrc/automaticanswertest/automaticanswertest.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/automaticanswertest.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -28,3 +28,6 @@
            etelincomingcallmonitor.cpp
 FORMS += 
 RESOURCES += 
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneplugins/dialerwidgetplugin/dialerwidgetplugin.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneplugins/dialerwidgetplugin/dialerwidgetplugin.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -8,6 +8,7 @@
 # Nokia Corporation - initial contribution.
 # Contributors:
 # Description:
+
 TEMPLATE = lib
 CONFIG += plugin \
     hb \
@@ -19,7 +20,6 @@
 symbian:PLUGIN_SUBDIR = /private/20022F35/import/widgetregistry/20022F44
 TARGET_DIR = /private/20022F35/import/widgetregistry/20022F7E  
 
-LIBS += -lhswidgetmodel
 DEPENDPATH += ./inc \
     ./src
 INCLUDEPATH += ./inc \
@@ -27,12 +27,12 @@
 symbian: { 
     LIBS += -lxqservice \
         -lxqserviceutil \
-        -lxqsettingsmanager \
-        -llogsengine
+        -lxqsettingsmanager
     TARGET.UID3 = 0x20022F44
     TARGET.EPOCALLOWDLLDATA = 1
     TARGET.CAPABILITY = ALL \
         -TCB
+    VERSION = 10.0
     INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
     
     BLD_INF_RULES.prj_exports +=  \
@@ -61,4 +61,9 @@
 plugin:!isEmpty(PLUGIN_SUBDIR):DESTDIR = $$OUTPUT_DIR/$$PLUGIN_SUBDIR
 include(dialerwidgetplugin.pri)
 exportResources(./resource/*.manifest, $$PLUGIN_SUBDIR)
-RESOURCES += dialerwidgetpluging.qrc
+RESOURCES += dialerwidgetplugin.qrc
+
+BLD_INF_RULES.prj_exports += \
+ "./rom/dialerwidgetplugin_stub.sis /epoc32/data/z/system/install/dialerwidgetplugin_stub.sis"
+
+symbian:MMP_RULES += SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/dialerwidgetplugin/dialerwidgetplugin.qrc	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,6 @@
+<RCC>
+    <qresource prefix="/">
+        <file>resource/dialerwidget.widgetml</file>
+        <file>resource/dialerwidget.css</file>
+    </qresource>
+</RCC>
--- a/phoneplugins/dialerwidgetplugin/dialerwidgetpluging.qrc	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-<RCC>
-    <qresource prefix="/data">
-    	<file>resource/dialerwidget.widgetml</file>
-    	<file>resource/dialerwidget.css</file>
-    </qresource>
-</RCC>
--- a/phoneplugins/dialerwidgetplugin/inc/dialerwidget.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneplugins/dialerwidgetplugin/inc/dialerwidget.h	Mon Oct 04 00:16:48 2010 +0300
@@ -18,8 +18,7 @@
 #ifndef DIALERWIDGET_H
 #define DIALERWIDGET_H
 
-#include <hswidget.h>
-
+#include <hbwidget.h>
 
 #ifndef HOMESCREEN_TEST
     #define HOMESCREEN_TEST_CLASS(aClassName)
@@ -38,13 +37,18 @@
 class HbTextItem;
 class HbTouchArea;
 
-class DialerWidget : public HsWidget
+class DialerWidget : public HbWidget
 {
     Q_OBJECT
+    Q_PROPERTY(int badgeTextLenght READ badgeTextLenght)
+    Q_PROPERTY(QString layoutName READ layoutName)
 
 public:
     DialerWidget(QGraphicsItem* parent = 0, Qt::WindowFlags flags = 0);
     ~DialerWidget();
+
+    int badgeTextLenght() const;
+    QString layoutName() const;
     
 public slots:
     void startDialer();
@@ -57,26 +61,21 @@
     
     // from engine
     void onEngineException(const int& exc);
-    
     void onMissedCallsCountChange(const int& count);
     
 signals:
     void error();
 
 protected:
-    void mousePressEvent(QGraphicsSceneMouseEvent *event);
-    void handleMouseMoveEvent(QGraphicsSceneMouseEvent *event);
-    void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
-    bool sceneEvent(QEvent *event);
-    StartResult onStart();
-    StopResult onStop();
-    SuspendResult onSuspend();
-    ResumeResult onResume();
-    
+    void gestureEvent(QGestureEvent *event);
+    QRectF boundingRect() const;
+    QPainterPath shape() const;
+
 private:    
     void createPrimitives();
     void setBackgroundToNormal();
-    void setBackgroundToPressed();    
+    void setBackgroundToPressed();
+    void setLayout(const QString& layoutName);
     
 private:
     
@@ -85,6 +84,7 @@
     HbTextItem          *m_text;
     HbTouchArea         *m_touchArea;
     DialerWidgetEngine  *m_engine;
+    QString              m_layoutName;
     
     HOMESCREEN_TEST_FRIEND_CLASS(TestDialerWidgetPlugin)
 };
--- a/phoneplugins/dialerwidgetplugin/resource/dialerwidget.css	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneplugins/dialerwidgetplugin/resource/dialerwidget.css	Mon Oct 04 00:16:48 2010 +0300
@@ -1,44 +1,41 @@
-DialerWidget {
-	layout: default
+
+DialerWidget[layoutName="normal"] {
+	layout: layout-1;	
+	fixed-width: 12.0un;
+	fixed-height: 12.0un;
+}
+
+DialerWidget[layoutName="missed_call"] {
+	layout: layout-2;	
+	fixed-width: 12.75un;
+	fixed-height: 12.75un;
 }
 
 DialerWidget::background {
-	top: -6un;
-	right: 6un;
-	left: -6un;
-	preferred-width: 24un;
-	preferred-height: 24un;
-	zvalue: 0;
+  border-width: 0.0un;
+  zvalue: 0;
 }
 
 DialerWidget::badgeBackground {
-	left: -1.5un;
-  right: 1.5un;
-  top: -1.5un;
-  bottom: 1.5un;
-  preferred-width: 3.0un;
-  preferred-height: 3.0un;
-  zvalue: 1;
+	border-width: 0.0un;
+	fixed-width: 3.5un;
+	fixed-height: 3.5un;
+	zvalue: 1;
+}
+
+DialerWidget::touchArea {
+	zvalue: 1000;
 }
 
-DialerWidget::text {
-  left: -1.5un;
-  right: 1.5un;
-  top: -1.5un;
-  bottom: 1.5un;
-  fixed-width: 3.0un;
-  text-align: center center;
-	text-height: var(hb-param-text-height-tiny);
-	text-line-count-max: 1;
-	color: var(qtc_list_item_title_normal);
-	zvalue: 2;
+DialerWidget::badgeText {
+	color: var(qtc_view_normal);
+	text-align: center;
+	text-height: 2.8un;
+	font-variant: primary;
+	zvalue: 2;	
 }
 
-DialerWidget::touch_area {
-	left: -6.0un;
-	top: -6.0un;
-	preferred-width: 12un;
-	preferred-height: 12un;
-	zvalue: 3;
+DialerWidget::badgeText[badgeTextLenght="2"]{
+	text-height: 2.0un;
 }
 
--- a/phoneplugins/dialerwidgetplugin/resource/dialerwidget.widgetml	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneplugins/dialerwidgetplugin/resource/dialerwidget.widgetml	Mon Oct 04 00:16:48 2010 +0300
@@ -1,21 +1,45 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<hbwidget type="DialerWidget" version="0.1">
-    <layout name="default" type="mesh">
-    		<meshitem dst="" dstEdge="TOP" src="background" srcEdge="TOP"/>
-    		<meshitem dst="" dstEdge="RIGHT" src="background" srcEdge="RIGHT"/>
-        <meshitem dst="badgeBackground" dstEdge="RIGHT" src="background" srcEdge="LEFT"/>
-        <meshitem dst="" dstEdge="LEFT" src="text" srcEdge="LEFT"/>
-        <meshitem dst="" dstEdge="TOP" src="text" srcEdge="TOP"/>
-        <meshitem dst="" dstEdge="LEFT" src="touch_area" srcEdge="LEFT"/>
-        <meshitem dst="" dstEdge="RIGHT" src="touch_area" srcEdge="RIGHT"/>
-        <meshitem dst="background" dstEdge="BOTTOM" src="touch_area" srcEdge="TOP"/>
-    </layout>
-    <metadata>
-        <items>
-            <item name="background" type="HbWidget"/>
-            <item name="badgeBackground" type="HbWidget"/>
-            <item name="text" text="0" type="HbTextItem"/>
-            <item name="touch_area" type="HbTouchArea"/>
-        </items>
-    </metadata>
-</hbwidget>
+<hbwidget version="0.1" type="HsShortcutWidget">
+  
+  <layout name="layout-1" type="mesh">    
+  
+    <meshitem src="background" srcEdge="TOP" dst="" dstEdge="TOP"/>
+    <meshitem src="background" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
+    <meshitem src="background" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+    <meshitem src="background" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>    
+    
+    <meshitem src="badgeBackground" srcEdge="TOP" dst="" dstEdge="TOP"/>
+    <meshitem src="badgeBackground" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+    
+    <meshitem src="badgeText" srcEdge="CENTERV" dst="badgeBackground" dstEdge="CENTERV" spacing="0.10un"/>
+    <meshitem src="badgeText" srcEdge="LEFT" dst="badgeBackground" dstEdge="LEFT"/>
+    <meshitem src="badgeText" srcEdge="RIGHT" dst="badgeBackground" dstEdge="RIGHT"/>
+    
+    <meshitem src="touchArea" srcEdge="TOP" dst="" dstEdge="TOP"/>
+    <meshitem src="touchArea" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
+    <meshitem src="touchArea" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+    <meshitem src="touchArea" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>    
+    
+  </layout>  
+  
+  <layout name="layout-2" type="mesh">    
+  
+    <meshitem src="background" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-0.75un"/>
+    <meshitem src="background" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" />
+    <meshitem src="background" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+    <meshitem src="background" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="0.75un"/>    
+    
+    <meshitem src="badgeBackground" srcEdge="TOP" dst="" dstEdge="TOP"/>
+    <meshitem src="badgeBackground" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+    
+    <meshitem src="badgeText" srcEdge="CENTERV" dst="badgeBackground" dstEdge="CENTERV" spacing="0.10un"/>
+    <meshitem src="badgeText" srcEdge="LEFT" dst="badgeBackground" dstEdge="LEFT"/>
+    <meshitem src="badgeText" srcEdge="RIGHT" dst="badgeBackground" dstEdge="RIGHT"/>
+    
+    <meshitem src="touchArea" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-0.75un"/>
+    <meshitem src="touchArea" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
+    <meshitem src="touchArea" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+    <meshitem src="touchArea" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="0.75un"/>    
+    
+  </layout>  
+  
+</hbwidget>
\ No newline at end of file
Binary file phoneplugins/dialerwidgetplugin/resource/qtg_fr_shortcut_badge_bg_c.png has changed
Binary file phoneplugins/dialerwidgetplugin/resource/qtg_fr_shortcut_badge_bg_l.png has changed
Binary file phoneplugins/dialerwidgetplugin/resource/qtg_fr_shortcut_badge_bg_r.png has changed
--- a/phoneplugins/dialerwidgetplugin/resource/qtg_graf_hs_dialer.svg	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="81px" version="1.1" viewBox="0 0 81 81" width="81px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
-<path d="M81,75c0,3.3-2.699,6-6,6H6c-3.3,0-6-2.7-6-6V6c0-3.3,2.7-6,6-6h69c3.301,0,6,2.7,6,6  V75z" fill="url(#SVGID_1_)" fill-opacity="0.92" stroke-opacity="0.92"/>
-<path d="M75,0.5c3.033,0,5.5,2.467,5.5,5.5v69c0,3.033-2.467,5.5-5.5,5.5H6c-3.033,0-5.5-2.467-5.5-5.5V6  c0-3.033,2.467-5.5,5.5-5.5H75 M75,0H6C2.7,0,0,2.7,0,6v69c0,3.3,2.7,6,6,6h69c3.301,0,6-2.7,6-6V6C81,2.7,78.301,0,75,0L75,0z" fill="#999999"/>
-<g>
-<g>
-<path d="M28.548,20.202c0,1.813-1.471,3.284-3.284,3.284h-7.116c-1.813,0-3.284-1.471-3.284-3.284V16.37    c0-1.814,1.471-3.284,3.284-3.284h7.116c1.813,0,3.284,1.47,3.284,3.284V20.202z" fill="#3C3C3C"/>
-<path d="M47.343,20.202c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.815,0-3.284-1.471-3.284-3.284V16.37    c0-1.814,1.469-3.284,3.284-3.284h7.115c1.814,0,3.285,1.47,3.285,3.284V20.202z" fill="#3C3C3C"/>
-<path d="M66.136,20.202c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.813,0-3.283-1.471-3.283-3.284V16.37    c0-1.814,1.471-3.284,3.283-3.284h7.115c1.814,0,3.285,1.47,3.285,3.284V20.202z" fill="#3C3C3C"/>
-<path d="M28.548,35.255c0,1.813-1.471,3.284-3.284,3.284h-7.116c-1.813,0-3.284-1.471-3.284-3.284v-3.831    c0-1.815,1.471-3.284,3.284-3.284h7.116c1.813,0,3.284,1.469,3.284,3.284V35.255z" fill="#3C3C3C"/>
-<path d="M47.343,35.255c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.815,0-3.284-1.471-3.284-3.284v-3.831    c0-1.815,1.469-3.284,3.284-3.284h7.115c1.814,0,3.285,1.469,3.285,3.284V35.255z" fill="#3C3C3C"/>
-<path d="M66.136,35.255c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.813,0-3.283-1.471-3.283-3.284v-3.831    c0-1.815,1.471-3.284,3.283-3.284h7.115c1.814,0,3.285,1.469,3.285,3.284V35.255z" fill="#3C3C3C"/>
-<path d="M28.548,50.034c0,1.813-1.471,3.284-3.284,3.284h-7.116c-1.813,0-3.284-1.471-3.284-3.284v-3.831    c0-1.815,1.471-3.284,3.284-3.284h7.116c1.813,0,3.284,1.469,3.284,3.284V50.034z" fill="#3C3C3C"/>
-<path d="M47.343,50.034c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.815,0-3.284-1.471-3.284-3.284v-3.831    c0-1.815,1.469-3.284,3.284-3.284h7.115c1.814,0,3.285,1.469,3.285,3.284V50.034z" fill="#3C3C3C"/>
-<path d="M47.343,64.63c0,1.815-1.471,3.284-3.285,3.284h-7.115c-1.815,0-3.284-1.469-3.284-3.284v-3.831    c0-1.813,1.469-3.284,3.284-3.284h7.115c1.814,0,3.285,1.471,3.285,3.284V64.63z" fill="#3C3C3C"/>
-<path d="M66.136,50.034c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.813,0-3.283-1.471-3.283-3.284v-3.831    c0-1.815,1.471-3.284,3.283-3.284h7.115c1.814,0,3.285,1.469,3.285,3.284V50.034z" fill="#3C3C3C"/>
-</g>
-</g>
-<rect fill="none" height="81" width="81"/>
-<defs>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="40.5005" x2="40.5005" y1="81.3467" y2="41.859">
-<stop offset="0" style="stop-color:#F2F2F2"/>
-<stop offset="1" style="stop-color:#FFFFFF"/>
-</linearGradient>
-</defs>
-</svg>
--- a/phoneplugins/dialerwidgetplugin/resource/qtg_graf_hs_dialer_pressed.svg	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="81px" version="1.1" viewBox="0 0 81 81" width="81px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
-<path d="M81,75c0,3.3-2.699,6-6,6H6c-3.3,0-6-2.7-6-6V6c0-3.3,2.7-6,6-6h69c3.301,0,6,2.7,6,6V75z" fill="url(#SVGID_1_)"/>
-<path d="M75,0.5c3.033,0,5.5,2.467,5.5,5.5v69c0,3.033-2.467,5.5-5.5,5.5H6  c-3.033,0-5.5-2.467-5.5-5.5V6c0-3.033,2.467-5.5,5.5-5.5H75 M75,0H6C2.7,0,0,2.7,0,6v69c0,3.3,2.7,6,6,6h69c3.301,0,6-2.7,6-6V6  C81,2.7,78.301,0,75,0L75,0z" display="none" fill="#999999"/>
-<g>
-<g>
-<path d="M28.548,20.202c0,1.813-1.471,3.284-3.284,3.284h-7.116c-1.813,0-3.284-1.471-3.284-3.284V16.37    c0-1.814,1.471-3.284,3.284-3.284h7.116c1.813,0,3.284,1.47,3.284,3.284V20.202z" fill="#FFFFFF"/>
-<path d="M47.343,20.202c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.815,0-3.284-1.471-3.284-3.284V16.37    c0-1.814,1.469-3.284,3.284-3.284h7.115c1.814,0,3.285,1.47,3.285,3.284V20.202z" fill="#FFFFFF"/>
-<path d="M66.136,20.202c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.813,0-3.283-1.471-3.283-3.284V16.37    c0-1.814,1.471-3.284,3.283-3.284h7.115c1.814,0,3.285,1.47,3.285,3.284V20.202z" fill="#FFFFFF"/>
-<path d="M28.548,35.255c0,1.813-1.471,3.284-3.284,3.284h-7.116c-1.813,0-3.284-1.471-3.284-3.284v-3.831    c0-1.815,1.471-3.284,3.284-3.284h7.116c1.813,0,3.284,1.469,3.284,3.284V35.255z" fill="#FFFFFF"/>
-<path d="M47.343,35.255c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.815,0-3.284-1.471-3.284-3.284v-3.831    c0-1.815,1.469-3.284,3.284-3.284h7.115c1.814,0,3.285,1.469,3.285,3.284V35.255z" fill="#FFFFFF"/>
-<path d="M66.136,35.255c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.813,0-3.283-1.471-3.283-3.284v-3.831    c0-1.815,1.471-3.284,3.283-3.284h7.115c1.814,0,3.285,1.469,3.285,3.284V35.255z" fill="#FFFFFF"/>
-<path d="M28.548,50.034c0,1.813-1.471,3.284-3.284,3.284h-7.116c-1.813,0-3.284-1.471-3.284-3.284v-3.831    c0-1.815,1.471-3.284,3.284-3.284h7.116c1.813,0,3.284,1.469,3.284,3.284V50.034z" fill="#FFFFFF"/>
-<path d="M47.343,50.034c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.815,0-3.284-1.471-3.284-3.284v-3.831    c0-1.815,1.469-3.284,3.284-3.284h7.115c1.814,0,3.285,1.469,3.285,3.284V50.034z" fill="#FFFFFF"/>
-<path d="M47.343,64.63c0,1.815-1.471,3.284-3.285,3.284h-7.115c-1.815,0-3.284-1.469-3.284-3.284v-3.831    c0-1.813,1.469-3.284,3.284-3.284h7.115c1.814,0,3.285,1.471,3.285,3.284V64.63z" fill="#FFFFFF"/>
-<path d="M66.136,50.034c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.813,0-3.283-1.471-3.283-3.284v-3.831    c0-1.815,1.471-3.284,3.283-3.284h7.115c1.814,0,3.285,1.469,3.285,3.284V50.034z" fill="#FFFFFF"/>
-</g>
-</g>
-<rect fill="none" height="81" width="81"/>
-<defs>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="40.4995" x2="40.4995" y1="79.9482" y2="102.8848">
-<stop offset="0" style="stop-color:#8CE0FF"/>
-<stop offset="0.2432" style="stop-color:#83DEFD"/>
-<stop offset="0.6383" style="stop-color:#6BD8F7"/>
-<stop offset="1" style="stop-color:#4FD1F0"/>
-</linearGradient>
-</defs>
-</svg>
--- a/phoneplugins/dialerwidgetplugin/rom/dialerwidgetplugin.iby	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneplugins/dialerwidgetplugin/rom/dialerwidgetplugin.iby	Mon Oct 04 00:16:48 2010 +0300
@@ -18,9 +18,10 @@
 #ifndef __DIALERWIDETPLUGIN_IBY__
 #define __DIALERWIDETPLUGIN_IBY__
 
-file=ABI_DIR\BUILD_DIR\dialerwidgetplugin.dll                                        	SHARED_LIB_DIR\dialerwidgetplugin.dll
-data=ZPRIVATE\20022f35\import\widgetregistry\20022F44\dialerwidgetplugin.qtplugin    	private\20022f35\import\widgetregistry\20022F44\dialerwidgetplugin.qtplugin
-data=ZPRIVATE\20022f35\import\widgetregistry\20022F44\dialerwidgetplugin.manifest    	private\20022f35\import\widgetregistry\20022F44\dialerwidgetplugin.manifest
-data=ZPRIVATE\20022f35\import\widgetregistry\20022F44\dialerwidgetplugin.xml          private\20022f35\import\widgetregistry\20022F44\dialerwidgetplugin.xml
+file=ABI_DIR\BUILD_DIR\dialerwidgetplugin.dll                                       SHARED_LIB_DIR\dialerwidgetplugin.dll
+data=ZPRIVATE\20022f35\import\widgetregistry\20022F44\dialerwidgetplugin.qtplugin   private\20022f35\import\widgetregistry\20022F44\dialerwidgetplugin.qtplugin
+data=ZPRIVATE\20022f35\import\widgetregistry\20022F44\dialerwidgetplugin.manifest   private\20022f35\import\widgetregistry\20022F44\dialerwidgetplugin.manifest
+data=ZPRIVATE\20022f35\import\widgetregistry\20022F44\dialerwidgetplugin.xml        private\20022f35\import\widgetregistry\20022F44\dialerwidgetplugin.xml
+data=ZSYSTEM\install\dialerwidgetplugin_stub.sis                                    System\Install\dialerwidgetplugin_stub.sis
 
 #endif //__DIALERWIDETPLUGIN_IBY__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/dialerwidgetplugin/rom/dialerwidgetplugin_stub.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,33 @@
+;
+; 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: For packing phone contact finder stub.
+;
+; Languages
+&EN
+
+
+; SIS header: name, uid, version
+#{"dialerwidgetplugin"},(0x20022F44),1,0,0
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+"" - "z:\private\20022F35\import\widgetregistry\20022F44\dialerwidgetplugin.xml"
+"" - "z:\private\20022F35\import\widgetregistry\20022F44\dialerwidgetplugin.manifest"
+"" - "z:\sys\bin\dialerwidgetplugin.dll"
+"" - "z:\private\20022F35\import\widgetregistry\20022F44\dialerwidgetplugin.qtplugin"
+
Binary file phoneplugins/dialerwidgetplugin/rom/dialerwidgetplugin_stub.sis has changed
--- a/phoneplugins/dialerwidgetplugin/src/dialerwidget.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneplugins/dialerwidgetplugin/src/dialerwidget.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -25,27 +25,33 @@
 #include <HbTextItem>
 #include <HbTouchArea>
 #include <HbInstantFeedback>
-#include "dialerwidgetengine.h"
+#include <HbTapGesture>
+
 #include "dialerwidget.h"
-#include "qtphonelog.h"
 
 #ifdef Q_OS_SYMBIAN
-#include "qtphonelog.h"
-#include <xqappmgr.h>
-#include <xqservicerequest.h>
-#include <xqpublishandsubscribeutils.h>
-#include <xqrequestinfo.h>
-#include <xqaiwdecl.h>
+    #include "dialerwidgetengine.h"
+    #include "qtphonelog.h"
+    #include <xqappmgr.h>
+    #include <xqservicerequest.h>
+    #include <xqpublishandsubscribeutils.h>
+    #include <xqrequestinfo.h>
+    #include <xqaiwdecl.h>
+#else
+    #define PHONE_TRACE
 #endif
 
-namespace
-{
-    const char KDialerWidgetIconNormal[] = "qtg_graf_hs_dialer_normal";
-    const char KDialerWidgetIconPressed[] = "qtg_graf_hs_dialer_pressed";
-    const char KMissedCallShortcutBadge[] = "qtg_fr_shortcut_badge_bg";
-    const char KDialerWidgetWidgetml[] = ":/data/resource/dialerwidget.widgetml";
-    const char KDialerWidgetCss[] = ":/data/resource/dialerwidget.css";
-}
+const QLatin1String KDialerWidgetIconNormal("qtg_graf_hs_dialer_normal");
+const QLatin1String KDialerWidgetIconPressed("qtg_graf_hs_dialer_pressed");
+const QLatin1String KDialerWidgetMissedCallBadge("qtg_fr_shortcut_badge_bg");
+const QLatin1String KDialerWidgetWidgetml(":/resource/dialerwidget.widgetml");
+const QLatin1String KDialerWidgetCss(":/resource/dialerwidget.css");
+const QLatin1String KDialerWidgetNormalLayout("normal");
+const QLatin1String KDialerWidgetMissedCallLayout("missed_call");
+const int KDialerWidgetMaxBadgeTextLenght = 2; // displayable
+// update corresponding values also in css side
+const qreal KDialerWidgetNormalSize = 12.0; // unit
+const qreal KDialerWidgetMissedCallSize = 12.75; // unit
 
 /*!
     \class DialerWidget
@@ -59,11 +65,20 @@
     Constructs dialer widget with given \a parent and given window \a flags.
 */
 DialerWidget::DialerWidget(QGraphicsItem *parent, Qt::WindowFlags flags)
-  : HsWidget(parent, flags),
-    m_background(0), m_badgeBackground(0), m_text(0), m_touchArea(0),
+  : HbWidget(parent, flags),
+    m_background(0),
+    m_badgeBackground(0),
+    m_text(0),
+    m_touchArea(0),
     m_engine(0)
 {   
-    PHONE_TRACE 
+    PHONE_TRACE
+    createPrimitives();
+
+    HbStyleLoader::registerFilePath(KDialerWidgetWidgetml);
+    HbStyleLoader::registerFilePath(KDialerWidgetCss);
+
+    setLayout(KDialerWidgetNormalLayout);
 }
 
 /*!
@@ -71,6 +86,24 @@
 */
 DialerWidget::~DialerWidget()
 {
+    HbStyleLoader::unregisterFilePath(KDialerWidgetWidgetml);
+    HbStyleLoader::unregisterFilePath(KDialerWidgetCss);
+}
+
+/*!
+    Lenght of badge text.
+*/
+int DialerWidget::badgeTextLenght() const
+{
+    return m_text->text().length();
+}
+
+/*!
+    Layout name.
+*/
+QString DialerWidget::layoutName() const
+{
+    return m_layoutName;
 }
 
 /*!
@@ -82,14 +115,12 @@
 {
     PHONE_TRACE
 #ifdef Q_OS_SYMBIAN
-    PHONE_DEBUG("DialerWidget::startDialer");
 
     QList<QVariant> args;
     QString service;
     QString interface;
     QString operation;
 
-    PHONE_DEBUG("open Dialer");
     service = "logs";
     interface = XQI_LOGS_VIEW;
     operation = XQOP_LOGS_SHOW;
@@ -106,6 +137,7 @@
         return;
     }
     request->setArguments(args);
+    request->setSynchronous(false);
     bool ret = request->send();
     PHONE_TRACE2("request sent successfully:", ret);
 #endif
@@ -115,27 +147,26 @@
 void DialerWidget::onInitialize()
 {
     PHONE_TRACE
+#ifdef Q_OS_SYMBIAN
     QT_TRY{
-        // basic ui
-        createPrimitives();
-        Q_ASSERT(HbStyleLoader::registerFilePath(KDialerWidgetWidgetml));
-        Q_ASSERT(HbStyleLoader::registerFilePath(KDialerWidgetCss));
         // Engine construction is 2 phased 
         m_engine = new DialerWidgetEngine();
         connect(m_engine, SIGNAL( exceptionOccured(const int&) )
                 ,this, SLOT( onEngineException(const int&) ) );
         
+        connect( m_engine, SIGNAL(missedCallsCountChanged(const int&)),
+                        this, SLOT(onMissedCallsCountChange(const int&)));
+        
         if(!m_engine->initialize()){
             //engine construction failed. Give up.
             emit error();
             return;
             }
-        connect( m_engine, SIGNAL(missedCallsCountChanged(const int&)),
-                this, SLOT(onMissedCallsCountChange(const int&)));
-    }
+        }
     QT_CATCH(...){
         emit error();
     }
+#endif
 }
 
 /*!
@@ -146,7 +177,6 @@
 void DialerWidget::onShow()
 {
     PHONE_TRACE
-    updatePrimitives();
 }
 
 /*!
@@ -159,11 +189,14 @@
     PHONE_TRACE
 }
 
+/*!
+    \fn void DialerWidget::onUninitialize()
+
+    Uninitializes the widget
+*/
 void DialerWidget::onUninitialize()
 {
     PHONE_TRACE
-    HbStyleLoader::unregisterFilePath(KDialerWidgetWidgetml);
-    HbStyleLoader::unregisterFilePath(KDialerWidgetCss);
 }
 
 void DialerWidget::onEngineException(const int& exc)
@@ -174,113 +207,104 @@
 
 void DialerWidget::onMissedCallsCountChange(const int& count)
 {
-    m_text->setText( QLocale::system().toString(count));
-    if ( count ){
-        m_text->setVisible(true);
+    if (count){
+        QString newText = QLocale::system().toString(count);
+
+        if (newText.length()>KDialerWidgetMaxBadgeTextLenght) {
+            newText = QLatin1String("*");
+        }
+
+        bool doRepolish = (m_text->text().length() != newText.length());
+
         m_badgeBackground->setVisible(true);
-    } else {
-        m_text->setVisible(false);
-        m_badgeBackground->setVisible(false);
-    }
-}
+
+        m_text->setText(newText);
 
-void DialerWidget::mousePressEvent(QGraphicsSceneMouseEvent *event)
-{
-    PHONE_TRACE;
-    Q_UNUSED(event)
-    setBackgroundToPressed();
-}
+        m_text->setVisible(true);
+
+        if (doRepolish) {
+            repolish();
+        }
 
-void DialerWidget::handleMouseMoveEvent(QGraphicsSceneMouseEvent *event)
-{
-    if (contains(event->pos())) {
-        setBackgroundToPressed();
+        setLayout(KDialerWidgetMissedCallLayout);
     } else {
-        setBackgroundToNormal();
+        m_badgeBackground->setVisible(false);
+
+        m_text->setVisible(false);
+
+        setLayout(KDialerWidgetNormalLayout);
     }
 }
 
-void DialerWidget::mouseReleaseEvent(QGraphicsSceneMouseEvent* event)
+void DialerWidget::gestureEvent(QGestureEvent *event)
 {
-    PHONE_TRACE;
-    Q_UNUSED(event);
-    HbInstantFeedback::play(HbFeedback::Basic);
-    setBackgroundToNormal();
-    startDialer();    
+    HbTapGesture *gesture = qobject_cast<HbTapGesture *>(event->gesture(Qt::TapGesture));
+    if (gesture) {
+        switch (gesture->state()) {
+            case Qt::GestureStarted:
+                setBackgroundToPressed();
+                break;            
+            case Qt::GestureCanceled:
+                setBackgroundToNormal();
+                break;
+            case Qt::GestureFinished:
+                setBackgroundToNormal();
+                if (gesture->tapStyleHint() == HbTapGesture::Tap) {
+                    HbInstantFeedback::play(HbFeedback::Basic);
+                    startDialer();
+                }
+                break;
+            default:
+                break;
+        }
+    }
 }
 
-bool DialerWidget::sceneEvent(QEvent *event)
+QRectF DialerWidget::boundingRect() const
 {
-    if (event->type() == QEvent::UngrabMouse) {
-        setBackgroundToNormal();
-    }
-
-    return HsWidget::sceneEvent(event);;
+    return childrenBoundingRect();
 }
 
-HsWidget::StartResult DialerWidget::onStart()
-{
-    return StartResultRunning;
-}
-HsWidget::StopResult DialerWidget::onStop()
+QPainterPath DialerWidget::shape() const
 {
-    return StopResultFinished;
-}
-HsWidget::SuspendResult DialerWidget::onSuspend()
-{
-    return SuspendResultSuspended;
-}
-HsWidget::ResumeResult DialerWidget::onResume()
-{
-    return ResumeResultRunning;
+    QPainterPath path;
+    path.addRect(boundingRect());
+    return path;
 }
 
 void DialerWidget::createPrimitives()
 {   
-    setPreferredSize(100,100);
     // Background
     if (!m_background) {
         HbFrameDrawer *drawer = new HbFrameDrawer(
             KDialerWidgetIconNormal, HbFrameDrawer::OnePiece);
         m_background = new HbFrameItem(drawer, this);
         style()->setItemName(m_background, QLatin1String("background"));
-        m_background->moveBy(0,10);
-        m_background->resize(81,81);
     }
     
     // Badge background
     if (!m_badgeBackground) {
         HbFrameDrawer *badgedrawer = new HbFrameDrawer(
-            KMissedCallShortcutBadge, HbFrameDrawer::ThreePiecesHorizontal);
+            KDialerWidgetMissedCallBadge, HbFrameDrawer::ThreePiecesHorizontal);
         m_badgeBackground = new HbFrameItem(badgedrawer, this);
-        style()->setItemName(m_background, QLatin1String("badgeBackground"));
-        m_badgeBackground->resize(20,20);
-        m_badgeBackground->moveBy(70,0);
-        m_badgeBackground->setVisible(true);
+        style()->setItemName(m_badgeBackground, QLatin1String("badgeBackground"));
         m_badgeBackground->setVisible( false );
     }
 
     // Text
     if (!m_text) {
         m_text = new HbTextItem(this);
-        style()->setItemName(m_text, QLatin1String("text"));
-        m_text->resize(20,20);
-        m_text->moveBy(76,0);
-        m_text->setVisible(true);
-        HbFontSpec *textFont = new HbFontSpec(HbFontSpec::Primary);
-        textFont->setTextHeight(3*HbDeviceProfile::current().unitValue());
-        m_text->setFontSpec(*textFont);
-        m_text->setText("0");
-        m_text->setVisible( false);
+        style()->setItemName(m_text, QLatin1String("badgeText"));
+        m_text->setVisible(false);
     }
 
-    // Touch Area
+    // Touch area
     if (!m_touchArea) {
         m_touchArea = new HbTouchArea(this);
-        m_touchArea->installEventFilter(this);
-        style()->setItemName(m_touchArea, QLatin1String("touch_area"));
-        m_touchArea->moveBy(0,10);
-        m_touchArea->resize(81,81);
+        m_touchArea->setFlag(QGraphicsItem::ItemIsFocusable);
+        style()->setItemName(m_touchArea, QLatin1String("touchArea"));
+        setFiltersChildEvents(true);
+        m_touchArea->grabGesture(Qt::TapGesture);
     }
 }
 
@@ -300,3 +324,25 @@
     }
 }
 
+void DialerWidget::setLayout(const QString& layoutName)
+{
+    if (layoutName==m_layoutName) {
+        return;
+    }
+
+    qreal unit = HbDeviceProfile::profile(this).unitValue();
+
+    prepareGeometryChange();
+
+    if (layoutName==KDialerWidgetMissedCallLayout) {
+        resize(KDialerWidgetMissedCallSize*unit,
+               KDialerWidgetMissedCallSize*unit);
+    } else {
+        resize(KDialerWidgetNormalSize*unit,
+               KDialerWidgetNormalSize*unit);
+    }
+
+    m_layoutName = layoutName;
+
+    repolish();
+}
--- a/phoneplugins/dialerwidgetplugin/src/dialerwidgetengine.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneplugins/dialerwidgetplugin/src/dialerwidgetengine.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -40,6 +40,11 @@
     XQSettingsKey settingsKey( XQSettingsKey::TargetCentralRepository,
                 KCRUidLogs.iUid, KLogsNewMissedCalls );
     
+    m_missedCalls = m_settingsManager->readItemValue(settingsKey).toInt();
+    if ( m_missedCalls > 0){
+        emit missedCallsCountChanged(m_missedCalls);
+    }
+    
     if ( !connect( m_settingsManager,
                 SIGNAL( valueChanged(const XQSettingsKey & ,const QVariant &)),
                     this, SLOT(valueChanged(XQSettingsKey,
--- a/phoneplugins/infowidgetplugin/infowidgetplugin.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneplugins/infowidgetplugin/infowidgetplugin.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -41,6 +41,7 @@
     TARGET.EPOCALLOWDLLDATA = 1
     TARGET.CAPABILITY = ALL \
         -TCB
+    VERSION = 10.0
     deploy.path = c:
     
     DEPLOYMENT += exportheaders  
@@ -71,3 +72,8 @@
 include(infowidgetplugin.pri)
 
 exportResources(./resource/*.manifest, $$PLUGIN_SUBDIR)
+
+BLD_INF_RULES.prj_exports += \
+ "./rom/infowidgetplugin_stub.sis /epoc32/data/z/system/install/infowidgetplugin_stub.sis"
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneplugins/infowidgetplugin/rom/infowidgetplugin.iby	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneplugins/infowidgetplugin/rom/infowidgetplugin.iby	Mon Oct 04 00:16:48 2010 +0300
@@ -18,10 +18,10 @@
 #ifndef __INFOWIDGETPLUGIN_IBY__
 #define __INFOWIDGETPLUGIN_IBY__
 
-file=ABI_DIR\BUILD_DIR\infowidgetplugin.dll                                               SHARED_LIB_DIR\infowidgetplugin.dll
-data=ZPRIVATE\20022f35\import\widgetregistry\20029F28\infowidgetplugin.qtplugin           private\20022f35\import\widgetregistry\20029F28\infowidgetplugin.qtplugin
-data=ZPRIVATE\20022f35\import\widgetregistry\20029F28\infowidgetplugin.manifest           private\20022f35\import\widgetregistry\20029F28\infowidgetplugin.manifest
-data=ZPRIVATE\20022f35\import\widgetregistry\20029F28\infowidgetplugin.xml                private\20022f35\import\widgetregistry\20029F28\infowidgetplugin.xml
-
+file=ABI_DIR\BUILD_DIR\infowidgetplugin.dll                                     SHARED_LIB_DIR\infowidgetplugin.dll
+data=ZPRIVATE\20022f35\import\widgetregistry\20029F28\infowidgetplugin.qtplugin private\20022f35\import\widgetregistry\20029F28\infowidgetplugin.qtplugin
+data=ZPRIVATE\20022f35\import\widgetregistry\20029F28\infowidgetplugin.manifest private\20022f35\import\widgetregistry\20029F28\infowidgetplugin.manifest
+data=ZPRIVATE\20022f35\import\widgetregistry\20029F28\infowidgetplugin.xml      private\20022f35\import\widgetregistry\20029F28\infowidgetplugin.xml
+data=ZSYSTEM\install\infowidgetplugin_stub.sis                                  System\Install\infowidgetplugin_stub.sis
 
 #endif //__INFOWIDGETPLUGIN_IBY__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/rom/infowidgetplugin_stub.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,31 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: For packing phone contact finder stub.
+;
+; Languages
+&EN
+
+
+; SIS header: name, uid, version
+#{"infowidgetplugin"},(0x20029F28),1,0,0
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+"" - "z:\sys\bin\infowidgetplugin.dll"
+"" - "z:\private\20022F35\import\widgetregistry\20029F28\infowidgetplugin.qtplugin"
+
Binary file phoneplugins/infowidgetplugin/rom/infowidgetplugin_stub.sis has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/infowidgettest/resource/infowidget.docml	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.1">
+    <widget name="id:content" type="HbWidget">
+        <widget name="id:container" type="HbWidget">
+                <widget name="id:spnIcon" type="HbLabel">
+                    <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                    <icon iconName="qtg_large_network" name="icon"/>
+                    <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                    <sizehint height="var(hb-param-graphic-size-primary-small)" type="FIXED" width="var(hb-param-graphic-size-primary-small)"/>
+                    <contentsmargins bottom="0un" left="0un" right="var(hb-param-margin-gene-middle-horizontal)" top="0un"/>
+                </widget>
+                <widget name="id:mcnIcon" type="HbLabel">
+                    <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                    <icon iconName="qtg_large_cellinfo" name="icon"/>
+                    <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                    <sizehint height="var(hb-param-graphic-size-primary-small)" type="FIXED" width="var(hb-param-graphic-size-primary-small)"/>
+                    <contentsmargins bottom="0un" left="0un" right="var(hb-param-margin-gene-middle-horizontal)" top="0un"/>
+                </widget>
+                <widget name="id:satTextIcon" type="HbLabel">
+                    <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                    <icon iconName="qtg_large_sat" name="icon"/>
+                    <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                    <sizehint height="var(hb-param-graphic-size-primary-small)" type="FIXED" width="var(hb-param-graphic-size-primary-small)"/>
+                    <contentsmargins bottom="0un" left="0un" right="var(hb-param-margin-gene-middle-horizontal)" top="0un"/>
+                </widget>
+                <widget name="id:spnMarqueeItem" type="HbMarqueeItem">
+                    <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                    <sizehint height="var(hb-param-graphic-size-primary-small)" type="FIXED" width="24un"/>
+                    <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+                    <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
+                    <string name="colorId" value="tc_hs_list_item_title"/>
+                </widget>
+                <widget name="id:mcnMarqueeItem" type="HbMarqueeItem">
+                    <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                    <sizehint height="var(hb-param-graphic-size-primary-small)" type="FIXED" width="24un"/>
+                    <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
+                    <string name="colorId" value="tc_hs_list_item_title"/>
+                </widget>
+                <widget name="id:satMarqueeItem" type="HbMarqueeItem">
+                    <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                    <sizehint height="var(hb-param-graphic-size-primary-small)" type="FIXED" width="24un"/>
+                    <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
+                    <string name="colorId" value="tc_hs_list_item_title"/>
+                </widget>
+                <enums name="layoutDirection" value="LeftToRight"/>
+                <real name="z" value="0"/>
+                <contentsmargins bottom="var(hb-param-margin-gene-middle-vertical)" left="var(hb-param-margin-gene-middle-horizontal)" right="var(hb-param-margin-gene-middle-horizontal)" top="var(hb-param-margin-gene-center-align)"/>
+                <layout spacing="0un" type="grid">
+                    <contentsmargins bottom="var(hb-param-margin-gene-middle-vertical)" left="var(hb-param-margin-gene-middle-horizontal)" right="var(hb-param-margin-gene-middle-horizontal)" top="var(hb-param-margin-gene-middle-vertical)"/>
+                    <griditem column="0" itemname="id:satTextIcon" row="2"/>
+                    <griditem column="1" itemname="id:satMarqueeItem" row="2"/>
+                    <griditem column="0" itemname="id:spnIcon" row="0"/>
+                    <griditem column="1" itemname="id:mcnMarqueeItem" row="1"/>
+                    <griditem column="0" itemname="id:mcnIcon" row="1"/>
+                    <griditem column="1" itemname="id:spnMarqueeItem" row="0"/>
+                </layout>
+        </widget>
+        <sizepolicy horizontalPolicy="Preferred" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+        <sizehint height="5.75un" type="MINIMUM" width="32un"/>
+        <sizehint height="25un" type="MAXIMUM" width="32un"/>
+        <layout type="anchor">
+            <anchoritem dst="id:container" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+            <anchoritem dst="id:container" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+            <anchoritem dst="id:container" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+            <anchoritem dst="id:container" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+        </layout>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD-3.2-inch_portrait" unit="un">
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/infowidgettest/resource/settingsdialog.docml	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.1">
+    <object name="sd:okAction" type="HbAction">
+        <string locid="txt_common_button_ok" name="text" value="Ok"/>
+    </object>
+    <object name="sd:cancelAction" type="HbAction">
+        <string locid="txt_common_button_cancel" name="text" value="Cancel"/>
+    </object>
+    <widget name="sd:settingsDialog" type="HbDialog">
+        <integer name="timeout" value="-1"/>
+        <widget name="sd:settingsDialog_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+            <string locid="txt_operator_widget_title_select_info" name="plainText" value="Select info"/>
+        </widget>
+        <widget name="sd:settingsContainer" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="sd:spnCheckBox" type="HbCheckBox">
+                <string locid="txt_operatorwidget_list_spn" name="text"/>
+                <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
+            </widget>
+            <widget name="sd:mcnCheckBox" type="HbCheckBox">
+                <string locid="txt_operatorwidget_list_cell_information" name="text"/>
+                <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
+            </widget>
+            <widget name="sd:satTextCheckBox" type="HbCheckBox">
+                <string locid="txt_operatorwidget_list_sat_idle_mode_text" name="text"/>
+                <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
+            </widget>
+            <layout orientation="Vertical" spacing="0un" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-middle-vertical)" left="0un" right="0un" top="0un"/>
+                <linearitem itemname="sd:spnCheckBox"/>
+                <linearitem itemname="sd:mcnCheckBox"/>
+                <linearitem itemname="sd:satTextCheckBox" spacing="0un"/>
+            </layout>
+        </widget>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD-3.2-inch_landscape" unit="un">
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/stubs/stub_cnwsession.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,40 @@
+/* 
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <cnwsession.h>
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CNWSession::CNWSession
+// -----------------------------------------------------------------------------
+//
+CNWSession::CNWSession(  )
+    {
+    
+    }
+
+// -----------------------------------------------------------------------------
+// CNWSession::~CNWSession
+// -----------------------------------------------------------------------------
+//
+CNWSession::~CNWSession(  )
+    {
+    
+    }
+
+// End of File. 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/stubs/stub_networkhandlingproxy.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  This file contains the stub implementation of the class NetworkHandlingProxy.
+*
+*/
+
+#include <networkhandlingproxy.h>
+#include <nwhandlingengine.h> 
+#include <cnwsession.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+CNWSession* CreateL( MNWMessageObserver&, TNWInfo& )
+    {
+    }
--- a/phoneplugins/infowidgetplugin/tsrc/ut_infowidget/ut_infowidget.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidget/ut_infowidget.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -65,3 +65,5 @@
 SOURCES += ../mocks/mock_hbframedrawer.cpp
 SOURCES += ../mocks/mock_hbframeitem.cpp
 SOURCES += ../mocks/mock_rsatservice.cpp
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetengine/ut_infowidgetengine.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetengine/ut_infowidgetengine.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -57,3 +57,6 @@
            ../mocks/mock_infowidgetsathandler.cpp \
            ../mocks/mock_rsatservice.cpp 
            
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetlayoutmanager/ut_infowidgetlayoutmanager.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetlayoutmanager/ut_infowidgetlayoutmanager.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -46,3 +46,6 @@
 SOURCES += ../mocks/mock_hbinstance.cpp
 #SOURCES += ../mocks/mock_qfontmetrics.cpp
 RESOURCES = ../../infowidgetplugin.qrc
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetlinehandler/ut_infowidgetlinehandler.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetlinehandler/ut_infowidgetlinehandler.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -45,3 +45,6 @@
 
 # mocks needed for testing
 #SOURCES += ../mocks/mock_networkhandlingproxy.cpp
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetnetworkhandler/ut_infowidgetnetworkhandler.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetnetworkhandler/ut_infowidgetnetworkhandler.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -53,3 +53,6 @@
            /epoc32/include/platform/mw/xqsettingsmanager.h
 SOURCES += ../mocks/mock_xqsettingskey.cpp
 SOURCES += ../mocks/mock_xqsettingsmanager.cpp
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetplugin/ut_infowidgetplugin.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetplugin/ut_infowidgetplugin.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -48,4 +48,6 @@
 HEADERS += ../../infowidget/inc/infowidget.h
 SOURCES += ../mocks/mock_infowidget.cpp
 SOURCES += ../mocks/mock_qserviceplugininterface.cpp
-SOURCES += ../mocks/mock_qserviceinterfacedescriptor.cpp
\ No newline at end of file
+SOURCES += ../mocks/mock_qserviceinterfacedescriptor.cpp
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetpreferences/ut_infowidgetpreferences.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetpreferences/ut_infowidgetpreferences.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -44,3 +44,6 @@
 # code to be tested
 HEADERS += ../../infowidget/inc/infowidgetpreferences.h
 SOURCES += ../../infowidget/src/infowidgetpreferences.cpp
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetsathandler/ut_infowidgetsathandler.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetsathandler/ut_infowidgetsathandler.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -46,4 +46,6 @@
 # mocks needed for testing
 SOURCES += ../mocks/mock_rsatservice.cpp  \
            ../mocks/mock_RSatSession.cpp  \
-           ../mocks/mock_infowidgetsathandler_p.cpp
\ No newline at end of file
+           ../mocks/mock_infowidgetsathandler_p.cpp
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetsathandlerprivate/ut_infowidgetsathandlerprivate.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetsathandlerprivate/ut_infowidgetsathandlerprivate.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -49,3 +49,6 @@
 SOURCES += ../mocks/mock_rsatservice.cpp  \
            ../mocks/mock_RSatSession.cpp  \
            ../mocks/mock_infowidgetsathandler.cpp
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneplugins/phoneindicatorplugin/phoneindicatorplugin.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneplugins/phoneindicatorplugin/phoneindicatorplugin.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -44,7 +44,8 @@
     TARGET.EPOCALLOWDLLDATA = 1
     TARGET.CAPABILITY = ALL -TCB
     TARGET.UID3 = 0x2002E6B1
-
+    VERSION = 10.0
+    
     pluginstub.sources = phoneindicatorplugin.dll
     pluginstub.path = /resource/plugins/indicators
     DEPLOYMENT += pluginstub
@@ -59,6 +60,10 @@
         c:/hb/include/hbtools
 }
 
+BLD_INF_RULES.prj_exports += \
+ "./rom/phoneindicatorplugin_stub.sis /epoc32/data/z/system/install/phoneindicatorplugin_stub.sis"
+
+
 OUTPUT_DIR = $$PWD/bin
 SOURCE_DIR = $$PWD/inc
 OBJECTS_DIR = $$OUTPUT_DIR/tmp/$$TARGET
@@ -73,3 +78,6 @@
 include(phoneindicatorplugin.pri)
 
 
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneplugins/phoneindicatorplugin/rom/phoneindicatorplugin.iby	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneplugins/phoneindicatorplugin/rom/phoneindicatorplugin.iby	Mon Oct 04 00:16:48 2010 +0300
@@ -20,6 +20,8 @@
  
 #include <data_caging_paths_for_iby.hrh>
 
-file=ABI_DIR\UREL\phoneindicatorplugin.dll               SHARED_LIB_DIR\phoneindicatorplugin.dll 
+file=ABI_DIR\UREL\phoneindicatorplugin.dll                                      SHARED_LIB_DIR\phoneindicatorplugin.dll 
 data=\epoc32\data\z\resource\plugins\indicators\phoneindicatorplugin.qtplugin   \resource\plugins\indicators\phoneindicatorplugin.qtplugin
+data=ZSYSTEM\install\phoneindicatorplugin_stub.sis                              System\Install\phoneindicatorplugin_stub.sis
+
 #endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/phoneindicatorplugin/rom/phoneindicatorplugin_stub.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,31 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: For packing phone contact finder stub.
+;
+; Languages
+&EN
+
+
+; SIS header: name, uid, version
+#{"phoneindicatorplugin"},(0x2002E6B1),1,0,0
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+"" - "z:\sys\bin\phoneindicatorplugin.dll"
+"" - "z:\resource\plugins\indicators\phoneindicatorplugin.qtplugin"
+
Binary file phoneplugins/phoneindicatorplugin/rom/phoneindicatorplugin_stub.sis has changed
--- a/phonesettings/cpphonesettingsplugins/barringplugin/barringplugin.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phonesettings/cpphonesettingsplugins/barringplugin/barringplugin.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -36,10 +36,13 @@
 # Input
 HEADERS += inc/cpbarringplugin.h inc/cpbarringplugingroup.h
 SOURCES += src/cpbarringplugin.cpp src/cpbarringplugingroup.cpp
-		   
+
 
 include(../cpplugincommon.pri)
 
 symbian: {
     TARGET.UID3 = 0X20029F27
+    VERSION = 10.0
 }
+
+BLD_INF_RULES.prj_exports += "./rom/cpbarringplugin_stub.sis /epoc32/data/z/system/install/cpbarringplugin_stub.sis"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/barringplugin/rom/cpbarringplugin_stub.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,33 @@
+;
+; 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: For packing phoneuicontrol component.
+;
+; Languages
+&EN
+
+
+
+; SIS header: name, uid, version
+#{"cpbarringplugin"},(0X20029F27),1,0,0
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+ 
+
+"" - "z:\sys\bin\cpbarringplugin.dll"
+"" - "z:\resource\qt\plugins\controlpanel\cpbarringplugin.qtplugin"
+
Binary file phonesettings/cpphonesettingsplugins/barringplugin/rom/cpbarringplugin_stub.sis has changed
--- a/phonesettings/cpphonesettingsplugins/barringplugin/src/cpbarringplugingroup.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phonesettings/cpphonesettingsplugins/barringplugin/src/cpbarringplugingroup.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -24,6 +24,7 @@
 #include <psetwrapper.h>
 #include <psetcallbarringwrapper.h>
 #include <psuinotes.h>
+#include <nwdefs.h>
 #include "cpbarringplugingroup.h"
 #include "cpplugincommon.h"
 #include "cppluginlogging.h"
@@ -517,12 +518,14 @@
         QVariant checkState = m_clickedBarringItem->contentWidgetData("checkState");
         if (Qt::Checked == checkState.toInt()) {
             m_barringWrapper->enableBarring(
+                EAllTeleAndBearer,
                 ServiceGroupVoice,
                 qvariant_cast<PSetCallBarringWrapper::BarringType>(
                     m_clickedBarringItem->contentWidgetData("barringType")),
                 barringPassword);
         } else {
             m_barringWrapper->disableBarring(
+                EAllTeleAndBearer,
                 ServiceGroupVoice,
                 qvariant_cast<PSetCallBarringWrapper::BarringType>(
                     m_clickedBarringItem->contentWidgetData("barringType")),
--- a/phonesettings/cpphonesettingsplugins/barringplugin/tsrc/ut_barringplugingroup/ut_barringplugingroup.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phonesettings/cpphonesettingsplugins/barringplugin/tsrc/ut_barringplugingroup/ut_barringplugingroup.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -19,6 +19,7 @@
 #include <HbCheckBox>
 #include <psetwrapper.h>
 #include <psuinotes.h>
+#include <nwdefs.h>
 #include "ut_barringplugingroup.h"
 #include "qtestmains60.h"
 #include "cpitemdatahelper.h"
@@ -717,7 +718,7 @@
     EXPECT(PsUiNotes, showPasswordQueryDialog)
         .willOnce(invoke(setCurrentPasswordParams));
     EXPECT(PSetCallBarringWrapper, enableBarring)
-        .with(ServiceGroupVoice, 
+        .with(EAllTeleAndBearer, ServiceGroupVoice, 
             PSetCallBarringWrapper::BarringTypeAllOutgoing, KCurrentPassword);
     EXPECT(PsUiNotes, showGlobalProgressNote);
     
@@ -734,7 +735,7 @@
     EXPECT(PsUiNotes, showPasswordQueryDialog)
         .willOnce(invoke(setCurrentPasswordParams));
     EXPECT(PSetCallBarringWrapper, disableBarring)
-        .with(ServiceGroupVoice, 
+        .with(EAllTeleAndBearer, ServiceGroupVoice, 
             PSetCallBarringWrapper::BarringTypeAllOutgoing, KCurrentPassword);
     EXPECT(PsUiNotes, showGlobalProgressNote);
     
--- a/phonesettings/cpphonesettingsplugins/barringplugin/tsrc/ut_barringplugingroup/ut_barringplugingroup.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phonesettings/cpphonesettingsplugins/barringplugin/tsrc/ut_barringplugingroup/ut_barringplugingroup.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -74,3 +74,6 @@
 SOURCES += ../../../tsrc/mocks/mock_cpitemdatahelper.cpp
 SOURCES += ../../../tsrc/mocks/mock_hbcheckbox.cpp
 SOURCES += ../../../tsrc/mocks/mock_qtranslator.cpp
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phonesettings/cpphonesettingsplugins/barringplugin/tsrc/ut_cpbarringplugin/ut_cpbarringplugin.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phonesettings/cpphonesettingsplugins/barringplugin/tsrc/ut_cpbarringplugin/ut_cpbarringplugin.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -51,3 +51,6 @@
 
 # mocks needed for testing
 SOURCES += ../../../tsrc/mocks/mock_cpbarringplugingroup.cpp
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phonesettings/cpphonesettingsplugins/callsplugin/callsplugin.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phonesettings/cpphonesettingsplugins/callsplugin/callsplugin.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -44,7 +44,10 @@
 
 symbian: {
     TARGET.UID3 = 0X20029F26
+    VERSION = 10.0
     LIBS += -lxqsysinfo \
         -lxqsettingsmanager
 }
 
+BLD_INF_RULES.prj_exports += "./rom/cpcallsplugin_stub.sis /epoc32/data/z/system/install/cpcallsplugin_stub.sis"
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/callsplugin/rom/cpcallsplugin_stub.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,32 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: For packing phoneuicontrol component.
+;
+; Languages
+&EN
+
+
+
+; SIS header: name, uid, version
+#{"cpcallsplugin"},(0X20029F26),1,0,0
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+"" - "z:\sys\bin\cpcallsplugin.dll"
+"" - "z:\resource\qt\plugins\controlpanel\cpcallsplugin.qtplugin"
+
Binary file phonesettings/cpphonesettingsplugins/callsplugin/rom/cpcallsplugin_stub.sis has changed
--- a/phonesettings/cpphonesettingsplugins/callsplugin/src/cpcallsplugingroup.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phonesettings/cpphonesettingsplugins/callsplugin/src/cpcallsplugingroup.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -256,9 +256,9 @@
     
     QStringList ownVideoSelections;
     ownVideoSelections
-        <<hbTrId("txt_phone_setlabel_own_video_in_val_show_automatic")
         <<hbTrId("txt_phone_setlabel_own_video_in_val_ask_first")
-        <<hbTrId("txt_phone_setlabel_own_video_in_val_dont_show");
+        <<hbTrId("txt_phone_setlabel_own_video_in_val_dont_show")
+        <<hbTrId("txt_phone_setlabel_own_video_in_val_show_automatic");
 
     m_OwnVideoInReceivedCall->setContentWidgetData(
         "items", QVariant(ownVideoSelections));
--- a/phonesettings/cpphonesettingsplugins/callsplugin/tsrc/ut_callsplugin/ut_callsplugin.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phonesettings/cpphonesettingsplugins/callsplugin/tsrc/ut_callsplugin/ut_callsplugin.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -50,3 +50,6 @@
 
 # mocks needed for testing
 SOURCES += ../../../tsrc/mocks/mock_cpcallsplugingroup.cpp \
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phonesettings/cpphonesettingsplugins/callsplugin/tsrc/ut_callsplugingroup/ut_callsplugingroup.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phonesettings/cpphonesettingsplugins/callsplugin/tsrc/ut_callsplugingroup/ut_callsplugingroup.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -69,3 +69,5 @@
            ../../../tsrc/mocks/mock_psetnetworkwrapper.cpp \
            ../../../tsrc/mocks/mock_psetwrapper.cpp \
            ../../../tsrc/mocks/mock_sssettingswrapper.cpp
+
+symbian:MMP_RULES += SMPSAFE
--- a/phonesettings/cpphonesettingsplugins/cpnetworkplugin/cpnetworkplugin.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/cpnetworkplugin.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -39,4 +39,7 @@
 
 symbian: { 
     TARGET.UID3 = 0X20029F24
+    VERSION = 10.0
 }
+
+BLD_INF_RULES.prj_exports += "./rom/cpnetworkplugin_stub.sis /epoc32/data/z/system/install/cpnetworkplugin_stub.sis"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/rom/cpnetworkplugin_stub.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,32 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: For packing phoneuicontrol component.
+;
+; Languages
+&EN
+
+
+
+; SIS header: name, uid, version
+#{"cpnetworkplugin"},(0X20029F24),1,0,0
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+"" - "z:\sys\bin\cpnetworkplugin.dll"
+"" - "z:\resource\qt\plugins\controlpanel\cpnetworkplugin.qtplugin"
+
Binary file phonesettings/cpphonesettingsplugins/cpnetworkplugin/rom/cpnetworkplugin_stub.sis has changed
--- a/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginform.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginform.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -293,7 +293,7 @@
         m_psetNetworkWrapper->getNetworkAccessMode();
         emit showGlobalNote(
             m_activeNoteId, 
-            emit hbTrId("Off-line, not allowed"), 
+            emit hbTrId("txt_phone_info_offline_not_allowed"), 
             HbMessageBox::MessageTypeWarning);
     } else if(m_cpSettingsWrapper->isOngoingCall()) {
         // ongoing call.
@@ -544,16 +544,16 @@
     QString text;
     switch(error) {
         case PSetNetworkWrapper::ErrCauseCallActive:
-            text = hbTrId("txt_cp_info_active_calls_must_be_disconnected_befo");
+            text = hbTrId("txt_phone_info_active_calls_must_be_disconnected_befo");
             break;
         case PSetNetworkWrapper::ErrNoNetworkService:
-            text = hbTrId("txt_cp_info_no_operators_found");
+            text = hbTrId("txt_phone_info_no_operators_found");
             break;
         case PSetNetworkWrapper::ErrOfflineOpNotAllowed:
-            text = hbTrId("Off-line, not allowed");
+            text = hbTrId("txt_phone_info_offline_not_allowed");
             break;
         case PSetNetworkWrapper::ErrNoNetworkAccess:
-            text = hbTrId("txt_cp_info_no_access_to_selected_operators_netwo");
+            text = hbTrId("txt_phone_info_no_access_to_operators_network");
             break;
         default:
             break;
@@ -605,7 +605,7 @@
         QObject::connect(
             PsUiNotes::instance(), SIGNAL(progressNoteCanceled()),
             this, SLOT(userCancel()));
-        emit showGlobalProgressNote(m_activeProgressNoteId, hbTrId("txt_cp_info_updating"));
+        emit showGlobalProgressNote(m_activeProgressNoteId, hbTrId("txt_phone_info_updating_operator_list"));
     } else {
         QObject::disconnect(
             PsUiNotes::instance(), SIGNAL(progressNoteCanceled()),
@@ -654,13 +654,14 @@
     QString text;
     switch (status){
         case PSetNetworkWrapper::RegisteredOnHomeNetwork:
-            text = hbTrId("Home network selected");
+            text = hbTrId("txt_phone_dpopinfo_home_network_selected");
             break;
-        case PSetNetworkWrapper::RegisteredRoaming: {
-            text = hbTrId("Selected network: ");
-            text.append(networkName(currentInfo));
-        }
-            break; 
+        case PSetNetworkWrapper::RegisteredRoaming:
+            text = hbTrId("txt_phone_dpopinfo_selected_network_l").arg(networkName(currentInfo));
+            break;
+        default:
+            text = hbTrId("txt_phone_info_result_unknown");
+            break;
     }
 
     emit showNotificationDialog(text);
@@ -677,7 +678,7 @@
     DPRINT << ": IN";
     
     QScopedPointer<HbDialog> dialog(
-        createDialog(hbTrId("txt_cp_title_select_operator")));
+        createDialog(hbTrId("txt_phone_title_select_operator")));
     HbListWidget *list = new HbListWidget(dialog.data());
     //then insert found networks
     int itemsCount = m_networkInfoList->count();
--- a/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cellulardatasettings/ut_cellulardatasettings.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cellulardatasettings/ut_cellulardatasettings.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -48,3 +48,6 @@
 
 # mocks needed for testing
 SOURCES += ../../../tsrc/mocks/mock_cmmanager.cpp
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkplugin/ut_cpnetworkplugin.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkplugin/ut_cpnetworkplugin.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -59,3 +59,6 @@
 SOURCES += ../../../tsrc/mocks/mock_hbview.cpp
 SOURCES += ../../../tsrc/mocks/mock_cpnetworkstatus.cpp
 
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginform/ut_cpnetworkpluginform.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginform/ut_cpnetworkpluginform.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -71,4 +71,6 @@
            ../../../tsrc/mocks/mock_cellulardatasettings.cpp
            
 SOURCES += ../../src/cpnetworkpluginform.cpp 
-           
\ No newline at end of file
+           
+
+symbian:MMP_RULES += SMPSAFE
--- a/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginview/ut_cpnetworkpluginview.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginview/ut_cpnetworkpluginview.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -48,4 +48,6 @@
 SOURCES += ../../../tsrc/mocks/mock_cpnetworkpluginform.cpp
 SOURCES += ../../../tsrc/mocks/mock_cpbasesettingview.cpp
 SOURCES += ../../../tsrc/mocks/mock_hbview.cpp
-   
\ No newline at end of file
+   
+
+symbian:MMP_RULES += SMPSAFE
--- a/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkstatus/ut_cpnetworkstatus.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkstatus/ut_cpnetworkstatus.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -54,3 +54,5 @@
            ../../../tsrc/mocks/mock_hbicon.cpp \
            ../../../tsrc/mocks/mock_cpsettingformentryitemdata.cpp \
            ../../../tsrc/mocks/mock_qsysteminfo.cpp
+
+symbian:MMP_RULES += SMPSAFE
--- a/phonesettings/cpphonesettingsplugins/cptelephonyutils/cptelephonyutils.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/cptelephonyutils.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -54,7 +54,7 @@
     TARGET.EPOCALLOWDLLDATA = 1 
     TARGET.CAPABILITY = CAP_GENERAL_DLL
     TARGET.UID3 = 0X20029F1F
-
+    VERSION = 10.0
     defFiles = \
     "$${LITERAL_HASH}ifdef WINS" \
         "DEFFILE bwins/cptelephonyutils.def" \
@@ -73,3 +73,5 @@
     DESTDIR = c:\hb\lib
     DLLDESTDIR = c:\hb\bin
 }
+
+BLD_INF_RULES.prj_exports += "./rom/cptelephonyutils_stub.sis /epoc32/data/z/system/install/cptelephonyutils_stub.sis"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/rom/cptelephonyutils_stub.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,31 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: For packing phoneuicontrol component.
+;
+; Languages
+&EN
+
+
+
+; SIS header: name, uid, version
+#{"cptelephonyutils"},(0X20029F1F),1,0,0
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+"" - "z:\sys\bin\cptelephonyutils.dll"
+
Binary file phonesettings/cpphonesettingsplugins/cptelephonyutils/rom/cptelephonyutils_stub.sis has changed
--- a/phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpphonelocalisation/ut_cpphonelocalisation.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpphonelocalisation/ut_cpphonelocalisation.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -44,3 +44,6 @@
 
 # mocks needed for testing
 SOURCES += ../../../tsrc/mocks/mock_qtranslator.cpp 
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpplugincommon/ut_cpplugincommon.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpplugincommon/ut_cpplugincommon.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -57,3 +57,6 @@
            ../../../tsrc/mocks/mock_xqsettingsmanager.cpp \
            ../../../tsrc/mocks/mock_xqsysinfo.cpp \
            ../../../tsrc/mocks/mock_qsysteminfo.cpp
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phonesettings/cpphonesettingsplugins/divertplugin/divertplugin.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/divertplugin.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -49,6 +49,7 @@
     TARGET.UID3 = 0X20029F25
     LIBS += -lxqsysinfo \
         -lxqsettingsmanager
+    VERSION = 10.0
 }
 
-
+BLD_INF_RULES.prj_exports += "./rom/cpdivertplugin_stub.sis /epoc32/data/z/system/install/cpdivertplugin_stub.sis"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/rom/cpdivertplugin_stub.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,32 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: For packing phoneuicontrol component.
+;
+; Languages
+&EN
+
+
+
+; SIS header: name, uid, version
+#{"cpdivertplugin"},(0X20029F25),1,0,0
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+"" - "z:\sys\bin\cpdivertplugin.dll"
+"" - "z:\resource\qt\plugins\controlpanel\cpdivertplugin.qtplugin"
+
Binary file phonesettings/cpphonesettingsplugins/divertplugin/rom/cpdivertplugin_stub.sis has changed
--- a/phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertplugingroup.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertplugingroup.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -345,14 +345,17 @@
     CpDivertRequestQueueItem i;
     i.request = request;
     i.item = &item;
-    m_divertRequestQueue.enqueue(i);
-
-    if (m_divertRequestQueue.count() == 1) {
-        // Process if first item was added, process other later
-		disableDivertItems();
-        processDivertingRequestQueue();
+    
+    if(!m_divertRequestQueue.contains(i)){
+        m_divertRequestQueue.enqueue(i);
+    
+        if (m_divertRequestQueue.count() == 1) {
+            // Process if first item was added, process other later
+		    disableDivertItems();
+            processDivertingRequestQueue();
+        }
     }
-
+    
     DPRINT << ": OUT";
 }
 
@@ -682,6 +685,9 @@
         event = DeactivateDivert;
     }
     
+    m_serviceGroup = 
+            qvariant_cast<PsServiceGroup>(item.property("serviceGroup"));
+        
     addToDivertingRequestQueue(event, item);
     DPRINT << ": OUT";
 }
@@ -890,39 +896,50 @@
     DPRINT << ": IN";
     
     // all calls divert activation deactivates automatically other diverts
-    QVariant itemState = m_DataItemVoiceAllCalls->contentWidgetData("checkState");
-    if ((itemState.isValid()) && 
-        (itemState.toInt() == Qt::Checked) &&
-        (m_DataItemVoiceAllCalls->contentWidgetData("text") != "")) {
-        deactivateDependentDivertOption(m_DataItemVoiceIfBusy);
-        deactivateDependentDivertOption(m_DataItemVoiceIfNotAnswered);
-        deactivateDependentDivertOption(m_DataItemVoiceIfOutOfReach);
-    } else {
-        // Must query data for diverts depending on all calls divert, because 
-        // data may have been lost for registered diverts, which were 
-        // automatically deactivated due to the activation of all calls divert.
-        activateDependentDivertOption(m_DataItemVoiceIfBusy, fetchFromNetwork);
-        activateDependentDivertOption(m_DataItemVoiceIfNotAnswered, fetchFromNetwork);
-        activateDependentDivertOption(m_DataItemVoiceIfOutOfReach, fetchFromNetwork);
+    QVariant itemState = 
+        m_DataItemVoiceAllCalls->contentWidgetData("checkState");
+    if(ServiceGroupVoice & m_serviceGroup){   
+        if ((itemState.isValid()) && 
+            (itemState.toInt() == Qt::Checked) &&
+                (m_DataItemVoiceAllCalls->contentWidgetData("text") != "")) {
+            deactivateDependentDivertOption(m_DataItemVoiceIfBusy);
+            deactivateDependentDivertOption(m_DataItemVoiceIfNotAnswered);
+            deactivateDependentDivertOption(m_DataItemVoiceIfOutOfReach);
+        } else {
+            // Must query data for diverts depending on all calls divert,  
+            // because data may have been lost for registered diverts,  
+            // which were automatically deactivated due to the activation 
+            // of all calls divert.
+            activateDependentDivertOption(
+                    m_DataItemVoiceIfBusy, fetchFromNetwork);
+            activateDependentDivertOption(
+                    m_DataItemVoiceIfNotAnswered, fetchFromNetwork);
+            activateDependentDivertOption(
+                    m_DataItemVoiceIfOutOfReach, fetchFromNetwork);
+        }
     }
-    
-    // all calls divert activation deactivates automatically other diverts
-    itemState = m_DataItemVideoAllCalls->contentWidgetData("checkState");
-    if ((itemState.isValid()) && 
-        (itemState.toInt() == Qt::Checked) &&
-        (m_DataItemVideoAllCalls->contentWidgetData("text") != "")) {
-        deactivateDependentDivertOption(m_DataItemVideoIfBusy);
-        deactivateDependentDivertOption(m_DataItemVideoIfNotAnswered);
-        deactivateDependentDivertOption(m_DataItemVideoIfOutOfReach);
-    } else {
-        // Must query data for diverts depending on all calls divert, because 
-        // data may have been lost for registered diverts, which were 
-        // automatically deactivated due to the activation of all calls divert.
-        activateDependentDivertOption(m_DataItemVideoIfBusy, fetchFromNetwork);
-        activateDependentDivertOption(m_DataItemVideoIfNotAnswered, fetchFromNetwork);
-        activateDependentDivertOption(m_DataItemVideoIfOutOfReach, fetchFromNetwork);
+    if (ServiceGroupData & m_serviceGroup){
+        // all calls divert activation deactivates automatically other diverts
+        itemState = m_DataItemVideoAllCalls->contentWidgetData("checkState");
+        if ((itemState.isValid()) && 
+            (itemState.toInt() == Qt::Checked) &&
+            (m_DataItemVideoAllCalls->contentWidgetData("text") != "")) {
+            deactivateDependentDivertOption(m_DataItemVideoIfBusy);
+            deactivateDependentDivertOption(m_DataItemVideoIfNotAnswered);
+            deactivateDependentDivertOption(m_DataItemVideoIfOutOfReach);
+        } else {
+            // Must query data for diverts depending on all calls divert,  
+            // because data may have been lost for registered diverts,  
+            // which were automatically deactivated due to the activation 
+            // of all calls divert.
+            activateDependentDivertOption(
+                    m_DataItemVideoIfBusy, fetchFromNetwork);
+            activateDependentDivertOption(
+                    m_DataItemVideoIfNotAnswered, fetchFromNetwork);
+            activateDependentDivertOption(
+                    m_DataItemVideoIfOutOfReach, fetchFromNetwork);
+        }
     }
-    
     // update not available divert option
     updateNotAvailableDivertOption();
     
--- a/phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertplugingroup.h	Fri Sep 17 08:29:19 2010 +0300
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertplugingroup.h	Mon Oct 04 00:16:48 2010 +0300
@@ -60,6 +60,11 @@
     public:
         DivertRequest request;
         CpDivertItemData *item;
+        
+        bool operator==(const CpDivertRequestQueueItem& aItem) const{
+            return (this->item == aItem.item) &
+                    (this->request == aItem.request);
+        }
     };
 
     
@@ -246,7 +251,9 @@
     CpItemDataHelper &m_helper;
 
     int m_timerId;
-
+    
+    PsServiceGroup m_serviceGroup;
+    
     CpDivertQuery *m_activateDivertPopUp;
 };
 
--- a/phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertquery.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertquery.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -23,6 +23,7 @@
 
 // CONSTANTS 
 const QString KOtherNumber("otherNumber");
+const int KPhoneNumberLength = 100; //from psetconstants.h
 
 CpDivertQuery::CpDivertQuery(PSetCallDivertingWrapper &callDivertingWrapper) :
     m_callDivertingWrapper(callDivertingWrapper),
@@ -224,7 +225,8 @@
     QScopedPointer<HbDialog> dialog(createDialog(heading));
 
     HbLineEdit *editor = new HbLineEdit(dialog.data());
-    editor->setInputMethodHints(Qt::ImhDialableCharactersOnly);    
+    editor->setInputMethodHints(Qt::ImhDialableCharactersOnly);
+    editor->setMaxLength(KPhoneNumberLength);
     //Ownership is transferred
     dialog->setContentWidget(editor);
     
--- a/phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertplugin/ut_cpdivertplugin.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertplugin/ut_cpdivertplugin.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -67,3 +67,6 @@
            ../../../tsrc/mocks/mock_cpplugincommon.cpp \
            ../../../tsrc/mocks/mock_psuinotes.cpp \
            ../../../tsrc/mocks/mock_psetwrapper.cpp 
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phonesettings/cpphonesettingsplugins/rom/cpphonesettingsplugins.iby	Fri Sep 17 08:29:19 2010 +0300
+++ b/phonesettings/cpphonesettingsplugins/rom/cpphonesettingsplugins.iby	Mon Oct 04 00:16:48 2010 +0300
@@ -34,5 +34,12 @@
 data=DATAZ_/resource/qt/plugins/controlpanel/cpdivertplugin.qtplugin             resource/qt/plugins/controlpanel/cpdivertplugin.qtplugin
 data=DATAZ_/resource/qt/plugins/controlpanel/cpbarringplugin.qtplugin            resource/qt/plugins/controlpanel/cpbarringplugin.qtplugin
 
+// SIS stubs
+data=ZSYSTEM\install\cpbarringplugin_stub.sis           System\Install\cpbarringplugin_stub.sis
+data=ZSYSTEM\install\cpcallsplugin_stub.sis             System\Install\cpcallsplugin_stub.sis
+data=ZSYSTEM\install\cpnetworkplugin_stub.sis           System\Install\cpnetworkplugin_stub.sis
+data=ZSYSTEM\install\cptelephonyutils_stub.sis          System\Install\cptelephonyutils_stub.sis
+data=ZSYSTEM\install\cpdivertplugin_stub.sis            System\Install\cpdivertplugin_stub.sis
+data=ZSYSTEM\install\cptelephonyplugin_stub.sis         System\Install\cptelephonyplugin_stub.sis
 
 #endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/telephonyplugin/rom/cptelephonyplugin_stub.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,32 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: For packing phoneuicontrol component.
+;
+; Languages
+&EN
+
+
+
+; SIS header: name, uid, version
+#{"cptelephonyplugin"},(0X20029F23),1,0,0
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+"" - "z:\sys\bin\cptelephonyplugin.dll"
+"" - "z:\resource\qt\plugins\controlpanel\cptelephonyplugin.qtplugin"
+
Binary file phonesettings/cpphonesettingsplugins/telephonyplugin/rom/cptelephonyplugin_stub.sis has changed
--- a/phonesettings/cpphonesettingsplugins/telephonyplugin/telephonyplugin.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phonesettings/cpphonesettingsplugins/telephonyplugin/telephonyplugin.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -32,10 +32,10 @@
 
 
 # Input
-HEADERS += src/cptelephonyplugin.h  \
-			src/cptelephonypluginview.h
+HEADERS += src/cptelephonyplugin.h \
+           src/cptelephonypluginview.h
 SOURCES += src/cptelephonyplugin.cpp \
-		   src/cptelephonypluginview.cpp
+           src/cptelephonypluginview.cpp
 
 include(../cpplugincommon.pri)
 
@@ -44,8 +44,7 @@
         -lxqsettingsmanager
         
     TARGET.UID3 = 0X20029F23
+    VERSION = 10.0
 }
 
-
-
-
+BLD_INF_RULES.prj_exports += "./rom/cptelephonyplugin_stub.sis /epoc32/data/z/system/install/cptelephonyplugin_stub.sis"
--- a/phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonyplugin/ut_cptelephonyplugin.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonyplugin/ut_cptelephonyplugin.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -48,3 +48,6 @@
 
 # mocks needed for testing
 SOURCES += ../../../tsrc/mocks/mock_cptelephonypluginview.cpp
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonypluginview/ut_cptelephonypluginview.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonypluginview/ut_cptelephonypluginview.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -53,3 +53,5 @@
 SOURCES += ../../../tsrc/mocks/mock_cpbasesettingview.cpp
 SOURCES += ../../../tsrc/mocks/mock_cpitemdatahelper.cpp
 SOURCES += ../../../tsrc/mocks/mock_cpsettingformitemdata.cpp
+
+symbian:MMP_RULES += SMPSAFE
\ No newline at end of file
--- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetcallbarringwrapper.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetcallbarringwrapper.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -73,11 +73,14 @@
 // -----------------------------------------------------------------------------
 //
 void PSetCallBarringWrapper::enableBarring(
+    int basicServiceGroup,
     PsServiceGroup serviceGroup,
     BarringType barringType,
     QString barringPassword)
     {
-    SMC_MOCK_METHOD3( void, int/*PsServiceGroup*/, static_cast<int>(serviceGroup), 
+    SMC_MOCK_METHOD4( void, 
+        int, basicServiceGroup, 
+        int/*PsServiceGroup*/, static_cast<int>(serviceGroup), 
         BarringType, barringType, QString, barringPassword )
     }
 
@@ -87,11 +90,14 @@
 // -----------------------------------------------------------------------------
 //
 void PSetCallBarringWrapper::disableBarring(
+    int basicServiceGroup,
     PsServiceGroup serviceGroup,
     BarringType barringType,
     QString barringPassword)
     {
-    SMC_MOCK_METHOD3( void, int/*PsServiceGroup*/, static_cast<int>(serviceGroup), 
+    SMC_MOCK_METHOD4( void, 
+        int, basicServiceGroup, 
+        int/*PsServiceGroup*/, static_cast<int>(serviceGroup), 
         BarringType, barringType, QString, barringPassword )
     }
 
--- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/ut_mockintegrity.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/ut_mockintegrity.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -65,3 +65,7 @@
            /epoc32/include/mw/qsysteminfo.h
 
 SOURCES += *.cpp
+
+  
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneuis/TelephonyDeviceMode/group/TelephonyDeviceMode.mmp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneuis/TelephonyDeviceMode/group/TelephonyDeviceMode.mmp	Mon Oct 04 00:16:48 2010 +0300
@@ -25,6 +25,7 @@
 TARGET          telephonydevicemode.dll
 TARGETTYPE      DLL
 UID             0x1000008d 0x1020299B
+VERSION         10.0
 
 SOURCEPATH      ../src
 SOURCE          cteldmhandlerimpl.cpp
@@ -43,3 +44,6 @@
 LIBRARY         telephonyaudiorouting.lib
 LIBRARY         centralrepository.lib
 // End of File
+
+
+SMPSAFE
--- a/phoneuis/TelephonyDeviceMode/group/bld.inf	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneuis/TelephonyDeviceMode/group/bld.inf	Mon Oct 04 00:16:48 2010 +0300
@@ -21,11 +21,10 @@
 DEFAULT
 
 PRJ_EXPORTS
-
-telephonydevicemode_stub.sis   /epoc32/data/z/system/install/telephonydevicemode_stub.sis
+../rom/telephonydevicemode_stub.sis     /epoc32/data/z/system/install/telephonydevicemode_stub.sis
 
 // IBY files
-../rom/telephonydevicemode.iby      CORE_APP_LAYER_IBY_EXPORT_PATH(telephonydevicemode.iby)
+../rom/telephonydevicemode.iby          CORE_APP_LAYER_IBY_EXPORT_PATH(telephonydevicemode.iby)
  
 PRJ_MMPFILES
 ../group/telephonydevicemode.mmp
--- a/phoneuis/TelephonyDeviceMode/group/telephonydevicemode.pkg	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +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: Packing for telephony device mode.
-;
-; Languages
-&EN
-
-; Header
-#{"TelephonyDeviceMode"}, (0x1020299B), 10, 1, 0, TYPE=SA
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Files
-"\epoc32\RELEASE\armv5\UREL\TelephonyDeviceMode.dll"-"z:\sys\bin\TelephonyDeviceMode.dll"
Binary file phoneuis/TelephonyDeviceMode/group/telephonydevicemode_stub.SIS has changed
--- a/phoneuis/TelephonyDeviceMode/group/telephonydevicemode_stub.pkg	Fri Sep 17 08:29:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +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: Packing of telephony device mode.
-;
-; Languages
-&EN
-
-; Header
-#{"TelephonyDeviceMode"}, (0x1020299B), 1, 0, 0, TYPE=SA
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Files
-""-"z:\sys\bin\TelephonyDeviceMode.dll"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/TelephonyDeviceMode/rom/telephonydevicemode.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,29 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: Packing for telephony device mode.
+;
+; Languages
+&EN
+
+; Header
+#{"TelephonyDeviceMode"}, (0x1020299B), 10, 1, 0, TYPE=SA
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+;Files
+"\epoc32\RELEASE\armv5\UREL\TelephonyDeviceMode.dll"-"z:\sys\bin\TelephonyDeviceMode.dll"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/TelephonyDeviceMode/rom/telephonydevicemode_stub.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,29 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: Packing of telephony device mode.
+;
+; Languages
+&EN
+
+; Header
+#{"TelephonyDeviceMode"}, (0x1020299B), 1, 0, 0, TYPE=SA
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+;Files
+""-"z:\sys\bin\TelephonyDeviceMode.dll"
Binary file phoneuis/TelephonyDeviceMode/rom/telephonydevicemode_stub.sis has changed
--- a/phoneuis/bubblemanager2/bubblecore/bubblecore.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneuis/bubblemanager2/bubblecore/bubblecore.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -25,6 +25,7 @@
     TARGET.EPOCALLOWDLLDATA = 1
     TARGET.CAPABILITY = ALL -TCB
     TARGET.UID3 = 0x100058FF
+    VERSION = 10.0
     
     defFiles = \
     "$${LITERAL_HASH}ifdef WINS" \
@@ -35,6 +36,9 @@
     MMP_RULES += defFiles
 
     LIBS += -lthumbnailmanagerqt
+    
+    BLD_INF_RULES.prj_exports += \
+    "./rom/bubblecore_stub.sis /epoc32/data/z/system/install/bubblecore_stub.sis"
 }
 else:win32 { 
     # Put it to Hb/lib because it is in path
@@ -50,3 +54,6 @@
 include(src/bubblecore.pri)
 include(xml/bubbledocml.pri)
 RESOURCES += bubblecore.qrc
+
+
+symbian:MMP_RULES += SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/rom/bubblecore_stub.pkg	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,28 @@
+;
+; 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: For packing phoneuicontrol component.
+;
+; Languages
+&EN
+
+; SIS header: name, uid, version
+#{"bubblemanager2"},(0x100058FF),1,0,0,TYPE=SA
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+"" - "z:\sys\bin\bubblemanager2.dll"
Binary file phoneuis/bubblemanager2/bubblecore/rom/bubblecore_stub.sis has changed
--- a/phoneuis/bubblemanager2/bubblecore/src/bubbleconferencehandler.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleconferencehandler.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -190,8 +190,7 @@
 {
     Q_UNUSED(previous);
 
-    if (current.isValid()) {
-        Q_ASSERT( mHeader != 0 );
+    if (current.isValid() && mHeader!=0) {
         // need to cast constness away
         BubbleConferenceHeader& mutableHeader =
             const_cast<BubbleConferenceHeader&>(*mHeader);
--- a/phoneuis/bubblemanager2/bubblecore/src/bubbleparticipantlistitem.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleparticipantlistitem.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -183,6 +183,10 @@
         itemView()->scrollTo(
             modelIndex(),
             HbAbstractItemView::EnsureVisible);
+
+        // group handles tap gesture, not propagate to list,
+        // current index must be updated here
+        itemView()->setCurrentIndex(modelIndex());
     }
 }
 
--- a/phoneuis/bubblemanager2/rom/bubblemanager.iby	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneuis/bubblemanager2/rom/bubblemanager.iby	Mon Oct 04 00:16:48 2010 +0300
@@ -21,6 +21,7 @@
 
 #include <data_caging_paths_for_iby.hrh>
 
-file=ABI_DIR/BUILD_DIR/bubblemanager2.dll       SHARED_LIB_DIR/bubblemanager2.dll
+file=ABI_DIR/BUILD_DIR/bubblemanager2.dll   SHARED_LIB_DIR/bubblemanager2.dll
+data=ZSYSTEM\install\bubblecore_stub.sis    System\Install\bubblecore_stub.sis
 
 #endif // __BUBBLEMANAGER_IBY__
--- a/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletest2.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletest2.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -40,3 +40,6 @@
 # Libraries
 unix:!symbian LIBS += -L../../bubblecore
 LIBS += -lbubblemanager2
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneuis/bubblemanager2/tsrc/unit/loctest/loctest.cpp	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneuis/bubblemanager2/tsrc/unit/loctest/loctest.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -116,6 +116,10 @@
 
     testLabel(bubbleId,"txt_phone_other_calling");
 
+    testLabel(bubbleId,"txt_phone_other_calling_video_call");
+
+    testLabel(bubbleId,"txt_phone_other_calling_1_call");
+
     testLabel(bubbleId,"txt_phone_other_attempting");
 
     // Second line texts, no indicators -> full width
@@ -215,6 +219,10 @@
 
     testLabel(bubbleId,"txt_phone_other_calling");
 
+    testLabel(bubbleId,"txt_phone_other_calling_video_call");
+
+    testLabel(bubbleId,"txt_phone_other_calling_1_call");
+
     bubbleManager->startChanges();
     bubbleManager->setState( bubbleId, BubbleManager::Active );
     bubbleManager->endChanges();
--- a/phoneuis/bubblemanager2/tsrc/unit/loctest/loctest.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneuis/bubblemanager2/tsrc/unit/loctest/loctest.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -33,3 +33,6 @@
 # 
 unix:!symbian: LIBS += -L../../../bubblecore
 LIBS += -lbubblemanager2
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneuis/bubblemanager2/tsrc/unit/mt_bubblemanager2/mt_bubblemanager2.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneuis/bubblemanager2/tsrc/unit/mt_bubblemanager2/mt_bubblemanager2.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -33,3 +33,6 @@
 # 
 unix:!symbian: LIBS += -L../../../bubblecore
 LIBS += -lbubblemanager2
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneuis/bubblemanager2/tsrc/unit/ut_bubblebutton/ut_bubblebutton.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubblebutton/ut_bubblebutton.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -34,3 +34,6 @@
 SOURCES += ut_bubblebutton.cpp \
            ../../../bubblecore/src/bubblebutton.cpp
 
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleconferenceheader/ut_bubbleconferenceheader.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleconferenceheader/ut_bubbleconferenceheader.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -32,3 +32,6 @@
            ../../../bubblecore/src/bubbleheader.cpp \
            ../../../bubblecore/src/bubbleconferenceheader.cpp
 
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneuis/bubblemanager2/tsrc/unit/ut_bubblecontainerwidget/ut_bubblecontainerwidget.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubblecontainerwidget/ut_bubblecontainerwidget.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -33,3 +33,6 @@
            ../../../bubblecore/src/bubblecontainerwidget.cpp
 
 
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleeffecthandler/ut_bubbleeffecthandler.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleeffecthandler/ut_bubbleeffecthandler.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -34,3 +34,6 @@
 RESOURCES += ut_bubbleeffecthandler.qrc
 
 
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheader/ut_bubbleheader.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheader/ut_bubbleheader.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -31,3 +31,6 @@
 SOURCES += ut_bubbleheader.cpp \
            ../../../bubblecore/src/bubbleheader.cpp
 
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheadingwidget/ut_bubbleheadingwidget.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheadingwidget/ut_bubbleheadingwidget.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -38,3 +38,6 @@
            ../../../bubblecore/src/bubblebutton.cpp
 
 RESOURCES += ut_bubbleheadingwidget.qrc
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagemanager/ut_bubbleimagemanager.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagemanager/ut_bubbleimagemanager.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -49,3 +49,6 @@
 
 RESOURCES += ut_bubbleimagemanager.qrc
 
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagewidget/ut_bubbleimagewidget.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagewidget/ut_bubbleimagewidget.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -39,3 +39,6 @@
 
 RESOURCES += ut_bubbleimagewidget.qrc
 
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleparticipantlistitem/ut_bubbleparticipantlistitem.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleparticipantlistitem/ut_bubbleparticipantlistitem.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -38,3 +38,6 @@
            ../../../bubblecore/src/bubbleconferenceheader.cpp \
            ../../../bubblecore/src/bubblebutton.cpp
 
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneuis/bubblemanager2/tsrc/unit/ut_bubblepartlistmodel/ut_bubblepartlistmodel.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubblepartlistmodel/ut_bubblepartlistmodel.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -33,3 +33,6 @@
            ../../../bubblecore/src/bubbleparticipantlistmodel.cpp
 
 
+
+
+symbian:MMP_RULES += SMPSAFE
--- a/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleutils/ut_bubbleutils.pro	Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleutils/ut_bubbleutils.pro	Mon Oct 04 00:16:48 2010 +0300
@@ -36,3 +36,6 @@
            ../../../bubblecore/src/bubblebutton.cpp
 
 
+
+
+symbian:MMP_RULES += SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tsrc/common/phonetest.pri	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,8 @@
+######################################################################
+# Phone unit test qmake project include 
+######################################################################
+
+runtest_target.target = runtest
+runtest_target.commands = call "$${EPOCROOT}epoc32/release/winscw/udeb/$${TARGET}.exe" -dtextshell --
+QMAKE_EXTRA_TARGETS += runtest_target
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tsrc/common/qtestmains60.h	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,40 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef QTESTMAINS60
+#define QTESTMAINS60
+
+#define QTEST_MAIN_S60(TestObject) \
+int main(int argc, char *argv[]) \
+{ \
+char *new_argv[3]; \
+QCoreApplication app(argc, argv); \
+\
+QString str = "C:\\data\\" + QFileInfo(QCoreApplication::applicationFilePath()).baseName() + ".log"; \
+QByteArray   bytes  = str.toAscii(); \
+\
+char arg1[] = "-o"; \
+\
+new_argv[0] = argv[0]; \
+new_argv[1] = arg1; \
+new_argv[2] = bytes.data(); \
+\
+TestObject tc; \
+return QTest::qExec(&tc, 3, new_argv); \
+}
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tsrc/mocks/orbit/mock_hbaction.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,169 @@
+/* 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <QDebug>
+#include <smcmockclassincludes.h>
+#include <hbaction.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// HbAction::HbAction
+// -----------------------------------------------------------------------------
+//
+HbAction::HbAction( 
+        const QString & text,
+        QObject * parent )
+    : QAction( parent ), d_ptr(NULL)
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAction::HbAction
+// -----------------------------------------------------------------------------
+//
+HbAction::HbAction( 
+        const HbIcon & icon,
+        const QString & text,
+        QObject * parent )
+    : QAction( parent ), d_ptr(NULL)
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAction::HbAction
+// -----------------------------------------------------------------------------
+//
+HbAction::HbAction( 
+        Hb::NavigationAction action,
+        QObject * parent )
+    : QAction( parent ), d_ptr(NULL)
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAction::~HbAction
+// -----------------------------------------------------------------------------
+//
+HbAction::~HbAction(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAction::setIcon
+// -----------------------------------------------------------------------------
+//
+void HbAction::setIcon( 
+        const HbIcon & icon )
+    {
+ //   SMC_MOCK_METHOD1( void, const HbIcon &, icon )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAction::icon
+// -----------------------------------------------------------------------------
+//
+HbIcon HbAction::icon(  ) const
+    {
+ //   SMC_MOCK_METHOD0( HbIcon )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAction::setMenu
+// -----------------------------------------------------------------------------
+//
+void HbAction::setMenu( 
+        HbMenu * menu )
+    {
+ //   SMC_MOCK_METHOD1( void, HbMenu *, menu )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAction::menu
+// -----------------------------------------------------------------------------
+//
+HbMenu * HbAction::menu(  ) const
+    {
+ //   SMC_MOCK_METHOD0( HbMenu * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAction::setToolBarExtension
+// -----------------------------------------------------------------------------
+//
+void HbAction::setToolBarExtension( 
+        HbToolBarExtension * extension )
+    {
+//    SMC_MOCK_METHOD1( void, HbToolBarExtension *, extension )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAction::toolBarExtension
+// -----------------------------------------------------------------------------
+//
+HbToolBarExtension * HbAction::toolBarExtension(  ) const
+    {
+//    SMC_MOCK_METHOD0( HbToolBarExtension * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAction::setCommandRole
+// -----------------------------------------------------------------------------
+//
+void HbAction::setCommandRole( 
+        HbAction::CommandRole commandRole )
+    {
+ //   SMC_MOCK_METHOD1( void, CommandRole, commandRole )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAction::commandRole
+// -----------------------------------------------------------------------------
+//
+HbAction::CommandRole HbAction::commandRole(  ) const
+    {
+ //   SMC_MOCK_METHOD0( CommandRole )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAction::HbAction
+// -----------------------------------------------------------------------------
+//
+HbAction::HbAction( 
+        HbActionPrivate & dd,
+        QObject * parent )
+    : QAction( parent ), d_ptr(NULL)
+    {
+    
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tsrc/mocks/orbit/mock_hbicon.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,389 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <QDebug>
+#include <smcmockclassincludes.h>
+#include <hbicon.h>
+
+class HbIconPrivate
+{
+public:
+    HbIconPrivate(){};
+    ~HbIconPrivate(){};
+    
+    QAtomicInt ref;
+};
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// HbIcon::HbIcon
+// -----------------------------------------------------------------------------
+//
+HbIcon::HbIcon(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::HbIcon
+// -----------------------------------------------------------------------------
+//
+HbIcon::HbIcon( 
+        const QString & /*iconName*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::HbIcon
+// -----------------------------------------------------------------------------
+//
+HbIcon::HbIcon( 
+        const QIcon & /*icon*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::HbIcon
+// -----------------------------------------------------------------------------
+//
+HbIcon::HbIcon( 
+        const HbIcon & /*other*/ )
+    {
+    
+    }
+
+// -----------------------------------------------------------------------------
+// HbIcon::~HbIcon
+// -----------------------------------------------------------------------------
+//
+HbIcon::~HbIcon(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::isNull
+// -----------------------------------------------------------------------------
+//
+bool HbIcon::isNull(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::isBadged
+// -----------------------------------------------------------------------------
+//
+bool HbIcon::isBadged(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::clear
+// -----------------------------------------------------------------------------
+//
+void HbIcon::clear(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::pixmap
+// -----------------------------------------------------------------------------
+//
+QPixmap HbIcon::pixmap(  )
+    {
+//    SMC_MOCK_METHOD0( QPixmap )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::setColor
+// -----------------------------------------------------------------------------
+//
+void HbIcon::setColor( 
+        const QColor & /*color*/ )
+    {
+//    SMC_MOCK_METHOD1( void, const QColor &, color )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::color
+// -----------------------------------------------------------------------------
+//
+QColor HbIcon::color(  ) const
+    {
+//    SMC_MOCK_METHOD0( QColor )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::iconName
+// -----------------------------------------------------------------------------
+//
+QString HbIcon::iconName(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::setIconName
+// -----------------------------------------------------------------------------
+//
+void HbIcon::setIconName( 
+        const QString & iconName )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, iconName )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::iconName
+// -----------------------------------------------------------------------------
+//
+QString HbIcon::iconName( 
+        QIcon::Mode /*mode*/,
+        QIcon::State /*state*/ ) const
+    {
+//    SMC_MOCK_METHOD2( QString, QIcon::Mode, mode, 
+//        QIcon::State, state )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::setIconName
+// -----------------------------------------------------------------------------
+//
+void HbIcon::setIconName( 
+        const QString & /*iconName*/,
+        QIcon::Mode /*mode*/,
+        QIcon::State /*state*/ )
+    {
+//    SMC_MOCK_METHOD3( void, const QString &, iconName, 
+//        QIcon::Mode, mode, 
+//        QIcon::State, state )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::defaultSize
+// -----------------------------------------------------------------------------
+//
+QSizeF HbIcon::defaultSize(  ) const
+    {
+//    SMC_MOCK_METHOD0( QSizeF )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::size
+// -----------------------------------------------------------------------------
+//
+QSizeF HbIcon::size(  ) const
+    {
+//    SMC_MOCK_METHOD0( QSizeF )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::setSize
+// -----------------------------------------------------------------------------
+//
+void HbIcon::setSize( 
+        const QSizeF & /*size*/ )
+    {
+//    SMC_MOCK_METHOD1( void, const QSizeF &, size )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::setHeight
+// -----------------------------------------------------------------------------
+//
+void HbIcon::setHeight( 
+        qreal /*height*/ )
+    {
+//    SMC_MOCK_METHOD1( void, qreal, height )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::setWidth
+// -----------------------------------------------------------------------------
+//
+void HbIcon::setWidth( 
+        qreal /*width*/ )
+    {
+//    SMC_MOCK_METHOD1( void, qreal, width )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::width
+// -----------------------------------------------------------------------------
+//
+qreal HbIcon::width(  ) const
+    {
+//    SMC_MOCK_METHOD0( qreal )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::height
+// -----------------------------------------------------------------------------
+//
+qreal HbIcon::height(  ) const
+    {
+//    SMC_MOCK_METHOD0( qreal )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::mirroringMode
+// -----------------------------------------------------------------------------
+//
+HbIcon::MirroringMode HbIcon::mirroringMode(  ) const
+    {
+    SMC_MOCK_METHOD0( MirroringMode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::setMirroringMode
+// -----------------------------------------------------------------------------
+//
+void HbIcon::setMirroringMode( 
+        HbIcon::MirroringMode /*mode*/ )
+    {
+//    SMC_MOCK_METHOD1( void, MirroringMode, mode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::flags
+// -----------------------------------------------------------------------------
+//
+HbIcon::Flags HbIcon::flags(  ) const
+    {
+    //SMC_MOCK_METHOD0( Flags )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::setFlags
+// -----------------------------------------------------------------------------
+//
+void HbIcon::setFlags( 
+        Flags /*flags*/ )
+    {
+//    SMC_MOCK_METHOD1( void, Flags, flags )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::paint
+// -----------------------------------------------------------------------------
+//
+void HbIcon::paint( 
+        QPainter * /*painter*/,
+        const QRectF & /*rect*/,
+        Qt::AspectRatioMode /*aspectRatioMode*/,
+        Qt::Alignment /*alignment*/,
+        QIcon::Mode /*mode*/,
+        QIcon::State /*state*/ ) const
+    {
+/*    SMC_MOCK_METHOD6( void, QPainter *, painter, 
+        const QRectF &, rect, 
+        Qt::AspectRatioMode, aspectRatioMode, 
+        Qt::Alignment, alignment, 
+        QIcon::Mode, mode, 
+        QIcon::State, state )*/
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::QVariant
+// -----------------------------------------------------------------------------
+//
+/*
+operator HbIcon::QVariant(  ) const
+    {
+    SMC_MOCK_METHOD0( operator )
+    }
+*/
+
+// -----------------------------------------------------------------------------
+// HbIcon::qicon
+// -----------------------------------------------------------------------------
+//
+QIcon & HbIcon::qicon(  ) const
+    {
+ //   SMC_MOCK_METHOD0( QIcon & )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::addBadge
+// -----------------------------------------------------------------------------
+//
+bool HbIcon::addBadge( 
+        Qt::Alignment alignment,
+        const HbIcon & badge,
+        int z,
+        Qt::AspectRatioMode aspectRatio)
+    {
+   /*
+    SMC_MOCK_METHOD3( bool, Qt::Alignment, alignment, 
+        const HbIcon &, badge, 
+        int, z )
+        */
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::removeBadge
+// -----------------------------------------------------------------------------
+//
+bool HbIcon::removeBadge( 
+        const HbIcon & badge )
+    {
+   // SMC_MOCK_METHOD1( bool, const HbIcon &, badge )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::removeAllBadges
+// -----------------------------------------------------------------------------
+//
+void HbIcon::removeAllBadges(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tsrc/mocks/phoneuiqtviewadapter/mock_phonebubblewrapper.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,381 @@
+/** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <QDebug>
+#include <QMap>
+#include <smcmockclassincludes.h>
+#include "phonebubblewrapper.h"
+
+typedef QMap <int , int > QMappi;
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// PhoneBubbleWrapper::PhoneBubbleWrapper
+// -----------------------------------------------------------------------------
+//
+PhoneBubbleWrapper::PhoneBubbleWrapper( 
+        BubbleManagerIF & bubble,
+        QObject * parent )
+    :
+    QObject(parent),
+    m_bubbleManager(bubble)
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneBubbleWrapper::~PhoneBubbleWrapper
+// -----------------------------------------------------------------------------
+//
+PhoneBubbleWrapper::~PhoneBubbleWrapper(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneBubbleWrapper::updateCallState
+// -----------------------------------------------------------------------------
+//
+void PhoneBubbleWrapper::updateCallState( 
+        int callId,
+        int newState )
+    {
+    SMC_MOCK_METHOD2( void, int, callId, 
+        int, newState )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneBubbleWrapper::callId
+// -----------------------------------------------------------------------------
+//
+int PhoneBubbleWrapper::callId( 
+        int state )
+    {
+    SMC_MOCK_METHOD1( int, int, state )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneBubbleWrapper::createCallHeader
+// -----------------------------------------------------------------------------
+//
+int PhoneBubbleWrapper::createCallHeader( 
+        int callId )
+    {
+    SMC_MOCK_METHOD1( int, int, callId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneBubbleWrapper::removeCallHeader
+// -----------------------------------------------------------------------------
+//
+void PhoneBubbleWrapper::removeCallHeader( 
+        int callId )
+    {
+    SMC_MOCK_METHOD1( void, int, callId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneBubbleWrapper::setState
+// -----------------------------------------------------------------------------
+//
+void PhoneBubbleWrapper::setState( 
+        int callId,
+        int bubble,
+        int callState )
+    {
+    SMC_MOCK_METHOD3( void, int, callId, 
+        int, bubble, 
+        int, callState )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneBubbleWrapper::setLabel
+// -----------------------------------------------------------------------------
+//
+void PhoneBubbleWrapper::setLabel( 
+        int bubble,
+        const TDesC & text )
+    {
+    SMC_MOCK_METHOD2( void, int, bubble, 
+        const TDesC &, text )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneBubbleWrapper::setCli
+// -----------------------------------------------------------------------------
+//
+void PhoneBubbleWrapper::setCli( 
+        int bubble,
+        const TDesC & cliText,
+        Qt::TextElideMode elide )
+    {
+    SMC_MOCK_METHOD3( void, int, bubble, 
+        const TDesC &, cliText, 
+        Qt::TextElideMode, elide )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneBubbleWrapper::setSecondaryCli
+// -----------------------------------------------------------------------------
+//
+void PhoneBubbleWrapper::setSecondaryCli( 
+        int bubble,
+        const TDesC & cliText,
+        Qt::TextElideMode elide )
+    {
+    SMC_MOCK_METHOD3( void, int, bubble, 
+        const TDesC &, cliText, 
+        Qt::TextElideMode, elide )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneBubbleWrapper::setCallType
+// -----------------------------------------------------------------------------
+//
+void PhoneBubbleWrapper::setCallType( 
+        int bubble,
+        int callType )
+    {
+    SMC_MOCK_METHOD2( void, int, bubble, 
+        int, callType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneBubbleWrapper::bubbleManager
+// -----------------------------------------------------------------------------
+//
+BubbleManagerIF & PhoneBubbleWrapper::bubbleManager(  )
+    {
+    return m_bubbleManager;
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneBubbleWrapper::bubbleId
+// -----------------------------------------------------------------------------
+//
+int PhoneBubbleWrapper::bubbleId( 
+        int callId )
+    {
+    SMC_MOCK_METHOD1( int, int, callId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneBubbleWrapper::setDivert
+// -----------------------------------------------------------------------------
+//
+void PhoneBubbleWrapper::setDivert( 
+        int bubble,
+        bool enabled )
+    {
+    SMC_MOCK_METHOD2( void, int, bubble, 
+        bool, enabled )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneBubbleWrapper::setCiphering
+// -----------------------------------------------------------------------------
+//
+void PhoneBubbleWrapper::setCiphering( 
+        int bubble,
+        bool indicatorAllowed,
+        bool enabled )
+    {
+    SMC_MOCK_METHOD3( void, int, bubble, 
+        bool, indicatorAllowed, 
+        bool, enabled )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneBubbleWrapper::activeCallCount
+// -----------------------------------------------------------------------------
+//
+int PhoneBubbleWrapper::activeCallCount(  )
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneBubbleWrapper::callStates
+// -----------------------------------------------------------------------------
+//
+QMap <int , int > PhoneBubbleWrapper::callStates(  ) const
+    {
+    SMC_MOCK_METHOD0( QMappi )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneBubbleWrapper::bubbles
+// -----------------------------------------------------------------------------
+//
+QMap <int , int > PhoneBubbleWrapper::bubbles(  ) const
+    {
+    SMC_MOCK_METHOD0( QMappi )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneBubbleWrapper::createConferenceBubble
+// -----------------------------------------------------------------------------
+//
+int PhoneBubbleWrapper::createConferenceBubble( 
+        int callId,
+        int callState,
+        const TDesC & labelText,
+        const TDesC & cliText )
+    {
+    SMC_MOCK_METHOD4( int, int, callId, 
+        int, callState, 
+        const TDesC &, labelText, 
+        const TDesC &, cliText )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneBubbleWrapper::setConferenceCallId
+// -----------------------------------------------------------------------------
+//
+void PhoneBubbleWrapper::setConferenceCallId( 
+        int callId )
+    {
+    SMC_MOCK_METHOD1( void, int, callId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneBubbleWrapper::conferenceCallList
+// -----------------------------------------------------------------------------
+//
+QList <int > PhoneBubbleWrapper::conferenceCallList(  ) const
+    {
+    SMC_MOCK_METHOD0( QList <int > )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneBubbleWrapper::removeConferenceCallId
+// -----------------------------------------------------------------------------
+//
+void PhoneBubbleWrapper::removeConferenceCallId( 
+        int callId )
+    {
+    SMC_MOCK_METHOD1( void, int, callId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneBubbleWrapper::conferenceCallId
+// -----------------------------------------------------------------------------
+//
+bool PhoneBubbleWrapper::conferenceCallId( 
+        int callId ) const
+    {
+    SMC_MOCK_METHOD1( bool, int, callId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneBubbleWrapper::removeCallFromConference
+// -----------------------------------------------------------------------------
+//
+void PhoneBubbleWrapper::removeCallFromConference( 
+        int callId )
+    {
+    SMC_MOCK_METHOD1( void, int, callId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneBubbleWrapper::removeConferenceBubble
+// -----------------------------------------------------------------------------
+//
+void PhoneBubbleWrapper::removeConferenceBubble(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneBubbleWrapper::callIdByBubbleId
+// -----------------------------------------------------------------------------
+//
+int PhoneBubbleWrapper::callIdByBubbleId( 
+        int bubbleId )
+    {
+    SMC_MOCK_METHOD1( int, int, bubbleId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneBubbleWrapper::addToConferenceBubble
+// -----------------------------------------------------------------------------
+//
+void PhoneBubbleWrapper::addToConferenceBubble(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneBubbleWrapper::setServiceId
+// -----------------------------------------------------------------------------
+//
+void PhoneBubbleWrapper::setServiceId( 
+        int callId,
+        int serviceId )
+    {
+    SMC_MOCK_METHOD2( void, int, callId, 
+        int, serviceId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneBubbleWrapper::serviceIdByCallId
+// -----------------------------------------------------------------------------
+//
+int PhoneBubbleWrapper::serviceIdByCallId( 
+        int callId ) const
+    {
+    SMC_MOCK_METHOD1( int, int, callId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneBubbleWrapper::serviceIds
+// -----------------------------------------------------------------------------
+//
+QMap <int , int > PhoneBubbleWrapper::serviceIds(  ) const
+    {
+    SMC_MOCK_METHOD0( QMappi )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tsrc/mocks/phoneuiqtviewadapter/mock_phonecallheadermanager.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,197 @@
+/** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <QDebug>
+#include <smcmockclassincludes.h>
+#include "phonecallheadermanager.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderManager::PhoneCallHeaderManager
+// -----------------------------------------------------------------------------
+//
+PhoneCallHeaderManager::PhoneCallHeaderManager( 
+        PhoneBubbleWrapper & m_bubbleWrapper,
+        PhoneUIQtViewIF & view,
+        QObject * parent )
+    //:
+    //QObject( /*m_bubbleWrapper, view, parent*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderManager::~PhoneCallHeaderManager
+// -----------------------------------------------------------------------------
+//
+PhoneCallHeaderManager::~PhoneCallHeaderManager(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderManager::setEngineInfo
+// -----------------------------------------------------------------------------
+//
+void PhoneCallHeaderManager::setEngineInfo( 
+        MPEEngineInfo * engineInfo )
+    {
+    SMC_MOCK_METHOD1( void, MPEEngineInfo *, engineInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderManager::createCallHeader
+// -----------------------------------------------------------------------------
+//
+void PhoneCallHeaderManager::createCallHeader( 
+        int callId )
+    {
+    SMC_MOCK_METHOD1( void, int, callId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderManager::createEmergencyCallHeader
+// -----------------------------------------------------------------------------
+//
+void PhoneCallHeaderManager::createEmergencyCallHeader( 
+        int callId )
+    {
+    SMC_MOCK_METHOD1( void, int, callId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderManager::updateCallHeaderState
+// -----------------------------------------------------------------------------
+//
+void PhoneCallHeaderManager::updateCallHeaderState( 
+        int callId )
+    {
+    SMC_MOCK_METHOD1( void, int, callId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderManager::updateCallHeaderRemoteInfo
+// -----------------------------------------------------------------------------
+//
+void PhoneCallHeaderManager::updateCallHeaderRemoteInfo( 
+        int callId )
+    {
+    SMC_MOCK_METHOD1( void, int, callId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderManager::updateCallHeaderRemoteInfoAndLabel
+// -----------------------------------------------------------------------------
+//
+void PhoneCallHeaderManager::updateCallHeaderRemoteInfoAndLabel( 
+        int callId )
+    {
+    SMC_MOCK_METHOD1( void, int, callId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderManager::handleCipheringInfoChange
+// -----------------------------------------------------------------------------
+//
+void PhoneCallHeaderManager::handleCipheringInfoChange( 
+        int callId )
+    {
+    SMC_MOCK_METHOD1( void, int, callId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderManager::createConferenceBubble
+// -----------------------------------------------------------------------------
+//
+void PhoneCallHeaderManager::createConferenceBubble( 
+        int callId )
+    {
+    SMC_MOCK_METHOD1( void, int, callId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderManager::removeConferenceBubble
+// -----------------------------------------------------------------------------
+//
+void PhoneCallHeaderManager::removeConferenceBubble(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderManager::removeCallFromConference
+// -----------------------------------------------------------------------------
+//
+void PhoneCallHeaderManager::removeCallFromConference( 
+        int callId )
+    {
+    SMC_MOCK_METHOD1( void, int, callId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderManager::setPrivateFromConference
+// -----------------------------------------------------------------------------
+//
+void PhoneCallHeaderManager::setPrivateFromConference( 
+        int callId )
+    {
+    SMC_MOCK_METHOD1( void, int, callId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderManager::setExpandedConferenceCallHeader
+// -----------------------------------------------------------------------------
+//
+void PhoneCallHeaderManager::setExpandedConferenceCallHeader(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderManager::removeAllCallHeaders
+// -----------------------------------------------------------------------------
+//
+void PhoneCallHeaderManager::removeAllCallHeaders(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderManager::isVideoCall
+// -----------------------------------------------------------------------------
+//
+bool PhoneCallHeaderManager::isVideoCall( 
+        int callId ) const
+    {
+    SMC_MOCK_METHOD1( bool, int, callId )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tsrc/mocks/phoneuiqtviewadapter/mock_phonecallheaderutil.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,218 @@
+/** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <QDebug>
+#include <smcmockclassincludes.h>
+#include "phonecallheaderutil.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderUtil::PhoneCallHeaderUtil
+// -----------------------------------------------------------------------------
+//
+PhoneCallHeaderUtil::PhoneCallHeaderUtil( 
+        MPEEngineInfo & engineInfo )
+    : m_engineInfo(engineInfo)
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderUtil::~PhoneCallHeaderUtil
+// -----------------------------------------------------------------------------
+//
+PhoneCallHeaderUtil::~PhoneCallHeaderUtil(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderUtil::SetIncomingCallHeaderParams
+// -----------------------------------------------------------------------------
+//
+void PhoneCallHeaderUtil::SetIncomingCallHeaderParams( 
+        const TInt aCallId,
+        const TBool aWaitingCall,
+        const TBool aVideoCall,
+        TPhoneCmdParamCallHeaderData * aCallHeaderData )
+    {
+    SMC_MOCK_METHOD4( void, const TInt, aCallId, 
+        const TBool, aWaitingCall, 
+        const TBool, aVideoCall, 
+        TPhoneCmdParamCallHeaderData *, aCallHeaderData )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderUtil::SetOutgoingCallHeaderParams
+// -----------------------------------------------------------------------------
+//
+void PhoneCallHeaderUtil::SetOutgoingCallHeaderParams( 
+        const TInt aCallId,
+        TPhoneCmdParamCallHeaderData * aCallHeaderData )
+    {
+    SMC_MOCK_METHOD2( void, const TInt, aCallId, 
+        TPhoneCmdParamCallHeaderData *, aCallHeaderData )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderUtil::UpdateCallHeaderInfo
+// -----------------------------------------------------------------------------
+//
+void PhoneCallHeaderUtil::UpdateCallHeaderInfo( 
+        const TInt aCallId,
+        const TBool aWaitingCall,
+        const TBool aVideoCall,
+        TPhoneCmdParamCallHeaderData * aCallHeaderData )
+    {
+    SMC_MOCK_METHOD4( void, const TInt, aCallId, 
+        const TBool, aWaitingCall, 
+        const TBool, aVideoCall, 
+        TPhoneCmdParamCallHeaderData *, aCallHeaderData )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderUtil::SetCallHeaderType
+// -----------------------------------------------------------------------------
+//
+void PhoneCallHeaderUtil::SetCallHeaderType( 
+        TInt aCallHeaderType )
+    {
+    SMC_MOCK_METHOD1( void, TInt, aCallHeaderType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderUtil::CallHeaderType
+// -----------------------------------------------------------------------------
+//
+TInt PhoneCallHeaderUtil::CallHeaderType(  ) const
+    {
+    SMC_MOCK_METHOD0( TInt )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderUtil::SetDivertIndication
+// -----------------------------------------------------------------------------
+//
+void PhoneCallHeaderUtil::SetDivertIndication( 
+        const TBool aDivertIndication )
+    {
+    SMC_MOCK_METHOD1( void, const TBool, aDivertIndication )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderUtil::GetRemoteInfoData
+// -----------------------------------------------------------------------------
+//
+TBool PhoneCallHeaderUtil::GetRemoteInfoData( 
+        const TInt aCallId,
+        TDes & aData ) const
+    {
+    SMC_MOCK_METHOD2( TBool, const TInt, aCallId, 
+        TDes &, aData )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderUtil::SetCallHeaderTexts
+// -----------------------------------------------------------------------------
+//
+void PhoneCallHeaderUtil::SetCallHeaderTexts( 
+        const TInt aCallId,
+        const TBool aWaitingCall,
+        const TBool aVideoCall,
+        TPhoneCmdParamCallHeaderData * aCallHeaderData )
+    {
+    SMC_MOCK_METHOD4( void, const TInt, aCallId, 
+        const TBool, aWaitingCall, 
+        const TBool, aVideoCall, 
+        TPhoneCmdParamCallHeaderData *, aCallHeaderData )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderUtil::LabelText
+// -----------------------------------------------------------------------------
+//
+const TDesC & PhoneCallHeaderUtil::LabelText( 
+        TInt aCallId )
+    {
+    SMC_MOCK_METHOD1( const TDesC &, TInt, aCallId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderUtil::EmergencyHeaderText
+// -----------------------------------------------------------------------------
+//
+const TDesC & PhoneCallHeaderUtil::EmergencyHeaderText(  )
+    {
+    SMC_MOCK_METHOD0( const TDesC & )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderUtil::AttemptingEmergencyText
+// -----------------------------------------------------------------------------
+//
+const TDesC & PhoneCallHeaderUtil::AttemptingEmergencyText(  )
+    {
+    SMC_MOCK_METHOD0( const TDesC & )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderUtil::CallState
+// -----------------------------------------------------------------------------
+//
+TInt PhoneCallHeaderUtil::CallState( 
+        TInt aCallId ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TInt, aCallId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderUtil::LoadResource
+// -----------------------------------------------------------------------------
+//
+void PhoneCallHeaderUtil::LoadResource( 
+        TDes & aData,
+        const TInt aResource ) const
+    {
+    SMC_MOCK_METHOD2( void, TDes &, aData, 
+        const TInt, aResource )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneCallHeaderUtil::LoadResource
+// -----------------------------------------------------------------------------
+//
+HBufC * PhoneCallHeaderUtil::LoadResource( 
+        const TInt aResource ) const
+    {
+    SMC_MOCK_METHOD1( HBufC *, const TInt, aResource )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tsrc/mocks/phoneuiqtviewadapter/mock_phoneuiqtviewadapter.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,232 @@
+/** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <QDebug>
+#include <smcmockclassincludes.h>
+
+#include "phoneuiqtviewadapter.h"
+#include "phoneuiqtviewif.h"
+#include "tphonecmdparaminteger.h"
+#include "tphonecmdparamboolean.h"
+#include "tphonecmdparamaudioavailability.h"
+#include "tphonecmdparamaudiooutput.h"
+#include "tphonecmdparamcallstatedata.h"
+#include "tphonecmdparamcallheaderdata.h"
+#include "tphonecmdparamemergencycallheaderdata.h"
+#include "tphonecmdparamstring.h"
+#include "tphonecmdparamkeycapture.h"
+#include "cphonepubsubproxy.h"
+
+#include <mpeengineinfo.h>
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// PhoneUIQtViewAdapter::PhoneUIQtViewAdapter
+// -----------------------------------------------------------------------------
+//
+PhoneUIQtViewAdapter::PhoneUIQtViewAdapter( 
+        PhoneUIQtViewIF & view,
+        QObject * parent ) : QObject(parent), m_view(view)
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneUIQtViewAdapter::~PhoneUIQtViewAdapter
+// -----------------------------------------------------------------------------
+//
+PhoneUIQtViewAdapter::~PhoneUIQtViewAdapter(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneUIQtViewAdapter::ExecuteCommandL
+// -----------------------------------------------------------------------------
+//
+void PhoneUIQtViewAdapter::ExecuteCommandL( 
+        TPhoneViewCommandId aCmdId )
+    {
+    SMC_MOCK_METHOD1( void, TPhoneViewCommandId, aCmdId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneUIQtViewAdapter::ExecuteCommandL
+// -----------------------------------------------------------------------------
+//
+void PhoneUIQtViewAdapter::ExecuteCommandL( 
+        TPhoneViewCommandId aCmdId,
+        TInt aCallId )
+    {
+    SMC_MOCK_METHOD2( void, TPhoneViewCommandId, aCmdId, 
+        TInt, aCallId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneUIQtViewAdapter::ExecuteCommandL
+// -----------------------------------------------------------------------------
+//
+void PhoneUIQtViewAdapter::ExecuteCommandL( 
+        TPhoneViewCommandId aCmdId,
+        TPhoneCommandParam * aCommandParam )
+    {
+    SMC_MOCK_METHOD2( void, TPhoneViewCommandId, aCmdId, 
+        TPhoneCommandParam *, aCommandParam )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneUIQtViewAdapter::ExecuteCommandL
+// -----------------------------------------------------------------------------
+//
+void PhoneUIQtViewAdapter::ExecuteCommandL( 
+        TPhoneViewCommandId aCmdId,
+        TInt aCallId,
+        TPhoneCommandParam * aCommandParam )
+    {
+    SMC_MOCK_METHOD3( void, TPhoneViewCommandId, aCmdId, 
+        TInt, aCallId, 
+        TPhoneCommandParam *, aCommandParam )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneUIQtViewAdapter::ExecuteCommandL
+// -----------------------------------------------------------------------------
+//
+void PhoneUIQtViewAdapter::ExecuteCommandL( 
+        TPhoneViewCommandId aCmdId,
+        TInt aCallId,
+        TDesC & aMessage )
+    {
+    SMC_MOCK_METHOD3( void, TPhoneViewCommandId, aCmdId, 
+        TInt, aCallId, 
+        TDesC &, aMessage )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneUIQtViewAdapter::HandleCommandL
+// -----------------------------------------------------------------------------
+//
+TPhoneViewResponseId PhoneUIQtViewAdapter::HandleCommandL( 
+        TPhoneViewCommandId aCmdId )
+    {
+    SMC_MOCK_METHOD1( TPhoneViewResponseId, TPhoneViewCommandId, aCmdId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneUIQtViewAdapter::HandleCommandL
+// -----------------------------------------------------------------------------
+//
+TPhoneViewResponseId PhoneUIQtViewAdapter::HandleCommandL( 
+        TPhoneViewCommandId aCmdId,
+        TPhoneCommandParam * aCommandParam )
+    {
+    SMC_MOCK_METHOD2( TPhoneViewResponseId, TPhoneViewCommandId, aCmdId, 
+        TPhoneCommandParam *, aCommandParam )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneUIQtViewAdapter::ExecuteCommand
+// -----------------------------------------------------------------------------
+//
+void PhoneUIQtViewAdapter::ExecuteCommand( 
+        TPhoneViewCommandId aCmdId )
+    {
+    SMC_MOCK_METHOD1( void, TPhoneViewCommandId, aCmdId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneUIQtViewAdapter::ExecuteCommand
+// -----------------------------------------------------------------------------
+//
+void PhoneUIQtViewAdapter::ExecuteCommand( 
+        TPhoneViewCommandId aCmdId,
+        TPhoneCommandParam * aCommandParam )
+    {
+    SMC_MOCK_METHOD2( void, TPhoneViewCommandId, aCmdId, 
+        TPhoneCommandParam *, aCommandParam )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneUIQtViewAdapter::FetchContent
+// -----------------------------------------------------------------------------
+//
+const TDesC & PhoneUIQtViewAdapter::FetchContent(  )
+    {
+    SMC_MOCK_METHOD0( const TDesC & )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneUIQtViewAdapter::noteController
+// -----------------------------------------------------------------------------
+//
+PhoneNoteController * PhoneUIQtViewAdapter::noteController(  ) const
+    {
+    SMC_MOCK_METHOD0( PhoneNoteController * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneUIQtViewAdapter::setEngineInfo
+// -----------------------------------------------------------------------------
+//
+void PhoneUIQtViewAdapter::setEngineInfo( 
+        MPEEngineInfo * engineInfo )
+    {
+    SMC_MOCK_METHOD1( void, MPEEngineInfo *, engineInfo )
+    }
+
+void PhoneUIQtViewAdapter::dialpadClosed()
+{
+
+}
+
+void PhoneUIQtViewAdapter::keyReleased(QKeyEvent *event)
+{
+
+}
+
+void PhoneUIQtViewAdapter::handleWindowActivated()
+{
+
+}
+
+void PhoneUIQtViewAdapter::handleWindowDeactivated()
+{
+
+}
+
+void PhoneUIQtViewAdapter::onFocusLost()
+{
+
+}
+
+void PhoneUIQtViewAdapter::onFocusGained()
+{
+
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tsrc/mocks/phoneuiview2/mock_phoneaction.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,146 @@
+/** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <QDebug>
+#include <smcmockclassincludes.h>
+#include "phoneaction.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// PhoneAction::PhoneAction
+// -----------------------------------------------------------------------------
+//
+PhoneAction::PhoneAction(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneAction::~PhoneAction
+// -----------------------------------------------------------------------------
+//
+PhoneAction::~PhoneAction(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneAction::setText
+// -----------------------------------------------------------------------------
+//
+void PhoneAction::setText( 
+        QString text )
+    {
+    SMC_MOCK_METHOD1( void, QString, text )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneAction::text
+// -----------------------------------------------------------------------------
+//
+QString PhoneAction::text(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneAction::setCommand
+// -----------------------------------------------------------------------------
+//
+void PhoneAction::setCommand( 
+        int command )
+    {
+    SMC_MOCK_METHOD1( void, int, command )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneAction::command
+// -----------------------------------------------------------------------------
+//
+int PhoneAction::command(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneAction::icon
+// -----------------------------------------------------------------------------
+//
+HbIcon PhoneAction::icon(  ) const
+    {
+    SMC_MOCK_METHOD0( HbIcon )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneAction::setIcon
+// -----------------------------------------------------------------------------
+//
+void PhoneAction::setIcon( 
+        HbIcon icon )
+    {
+    SMC_MOCK_METHOD1( void, HbIcon, icon )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneAction::setDisabled
+// -----------------------------------------------------------------------------
+//
+void PhoneAction::setDisabled( 
+        bool disabled )
+    {
+    SMC_MOCK_METHOD1( void, bool, disabled )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneAction::isDisabled
+// -----------------------------------------------------------------------------
+//
+bool PhoneAction::isDisabled(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneAction::setActionRole
+// -----------------------------------------------------------------------------
+//
+void PhoneAction::setActionRole( 
+        ActionRole role )
+    {
+    SMC_MOCK_METHOD1( void, ActionRole, role )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PhoneAction::actionRole
+// -----------------------------------------------------------------------------
+//
+PhoneAction::ActionRole PhoneAction::actionRole(  ) const
+    {
+    SMC_MOCK_METHOD0( ActionRole )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tsrc/stubs/stubs.cpp	Mon Oct 04 00:16:48 2010 +0300
@@ -0,0 +1,47 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Symbian Foundation License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+    
+#include "cphonemediatorfactory.h"
+
+CPhoneMediatorFactory* CPhoneMediatorFactory::Instance()
+    {
+    
+    }
+    
+CPhoneMediatorSender* CPhoneMediatorFactory::Sender()
+    {
+
+    }
+
+#include "cphonemediatorsender.h"
+    
+TInt CPhoneMediatorSender::IssueCommand( 
+    const TUid /*aDomain*/, 
+    const TUid /*aCategory*/, 
+    const TInt /*aCommandId*/,
+    const TVersion /*aVersion*/, 
+    const TDesC8& /*aData*/,
+    MPhoneShutdownCommand* /*aShutdownCommand*/ )
+    {
+    
+    }
+    
+void CPhoneMediatorSender::SendEvent( const TPhoneViewCommandId aCommandId, 
+    const TInt aCallId, TPhoneCommandParam& aCommandParam ) const
+    {
+    
+    }